{"version":3,"file":"main.de45e4c415d2c453.js","mappings":"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Ma,WAAW,GAAG,OAAO3+B,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA;AACA;AACA;;AACA,MAAM4+B,cAAN,CAAqB;EACjB3nC,WAAW,CAAC4nC,SAAD,EAAYC,OAAZ,EAAqBpnB,KAArB,EAA4BiE,KAA5B,EAAmC;IAC1C,KAAKkjB,SAAL,GAAiBA,SAAjB;IACA,KAAKC,OAAL,GAAeA,OAAf;IACA,KAAKpnB,KAAL,GAAaA,KAAb;IACA,KAAKiE,KAAL,GAAaA,KAAb;EACH;;EACQ,IAAL5D,KAAK,GAAG;IACR,OAAO,KAAKL,KAAL,KAAe,CAAtB;EACH;;EACO,IAAJQ,IAAI,GAAG;IACP,OAAO,KAAKR,KAAL,KAAe,KAAKiE,KAAL,GAAa,CAAnC;EACH;;EACO,IAAJojB,IAAI,GAAG;IACP,OAAO,KAAKrnB,KAAL,GAAa,CAAb,KAAmB,CAA1B;EACH;;EACM,IAAHsnB,GAAG,GAAG;IACN,OAAO,CAAC,KAAKD,IAAb;EACH;;AAlBgB;AAoBrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,OAAN,CAAc;EACVhoC,WAAW,CAACioC,cAAD,EAAiBC,SAAjB,EAA4BC,QAA5B,EAAsC;IAC7C,KAAKF,cAAL,GAAsBA,cAAtB;IACA,KAAKC,SAAL,GAAiBA,SAAjB;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E7H,sDAAc0oC;IAAtB,CAAhC,EAA0D;MAAE7gC,IAAI,EAAE7H,0DAAkB2kC;IAA1B,CAA1D,CAAP;EAAiG,CAN3I,EAM6J;IAAE8B,OAAO,EAAE,CAAC;MACzJ5+B,IAAI,EAAE2E,gDAAKA;IAD8I,CAAD,CAAX;IAE7I26B,YAAY,EAAE,CAAC;MACft/B,IAAI,EAAE2E,gDAAKA;IADI,CAAD,CAF+H;IAI7Ig7B,aAAa,EAAE,CAAC;MAChB3/B,IAAI,EAAE2E,gDAAKA;IADK,CAAD;EAJ8H,CAN7J;AAAA;;AAaA,SAAS47B,eAAT,CAAyBF,IAAzB,EAA+BnE,MAA/B,EAAuC;EACnCmE,IAAI,CAACjxB,OAAL,CAAauvB,SAAb,GAAyBzC,MAAM,CAACle,IAAhC;AACH;;AACD,SAAS6hB,WAAT,CAAqB7/B,IAArB,EAA2B;EACvB,OAAOA,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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kCb,WAAlC,EAA+C;EAC3C,MAAMc,mBAAmB,GAAG,CAAC,EAAE,CAACd,WAAD,IAAgBA,WAAW,CAACX,kBAA9B,CAA7B;;EACA,IAAI,CAACyB,mBAAL,EAA0B;IACtB,MAAM,IAAI1lB,KAAJ,CAAW,GAAEylB,QAAS,yCAAwCvhB,4DAAU,CAAC0gB,WAAD,CAAc,IAAtF,CAAN;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMe,UAAN,CAAiB;EACb/qC,WAAW,CAACmmC,iBAAD,EAAoB6E,YAApB,EAAkC;IACzC,KAAK7E,iBAAL,GAAyBA,iBAAzB;IACA,KAAK6E,YAAL,GAAoBA,YAApB;IACA,KAAKC,QAAL,GAAgB,KAAhB;EACH;;EACD90B,MAAM,GAAG;IACL,KAAK80B,QAAL,GAAgB,IAAhB;;IACA,KAAK9E,iBAAL,CAAuBkD,kBAAvB,CAA0C,KAAK2B,YAA/C;EACH;;EACD/D,OAAO,GAAG;IACN,KAAKgE,QAAL,GAAgB,KAAhB;;IACA,KAAK9E,iBAAL,CAAuBQ,KAAvB;EACH;;EACDuE,YAAY,CAACC,OAAD,EAAU;IAClB,IAAIA,OAAO,IAAI,CAAC,KAAKF,QAArB,EAA+B;MAC3B,KAAK90B,MAAL;IACH,CAFD,MAGK,IAAI,CAACg1B,OAAD,IAAY,KAAKF,QAArB,EAA+B;MAChC,KAAKhE,OAAL;IACH;EACJ;;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,MAAMmE,QAAN,CAAe;EACXprC,WAAW,GAAG;IACV,KAAKqrC,YAAL,GAAoB,KAApB;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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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMynB,QAAN,CAAe;EACXpwC,WAAW,CAACmwB,MAAD,EAASkgB,eAAT,EAA0B;IACjC,KAAKlgB,MAAL,GAAcA,MAAd;IACA,KAAKkgB,eAAL,GAAuBA,eAAvB;EACH;;EACDd,SAAS,CAACt7B,KAAD,EAAQwgB,MAAM,GAAG,YAAjB,EAA+Ba,QAA/B,EAAyCnF,MAAzC,EAAiD;IACtD,IAAIlc,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA3B,IAAiCA,KAAK,KAAKA,KAA/C,EACI,OAAO,IAAP;;IACJ,IAAI;MACA,OAAOohB,UAAU,CAACphB,KAAD,EAAQwgB,MAAR,EAAgBtE,MAAM,IAAI,KAAKA,MAA/B,EAAuCmF,QAAQ,IAAI,KAAK+a,eAAjB,IAAoCv9B,SAA3E,CAAjB;IACH,CAFD,CAGA,OAAOzG,KAAP,EAAc;MACV,MAAMkiC,wBAAwB,CAAC6B,QAAD,EAAW/jC,KAAK,CAACia,OAAjB,CAA9B;IACH;EACJ;;AAdU;;AAgBf8pB,QAAQ,CAAC3nC,IAAT;EAAA,iBAAqG2nC,QAArG,EA92ImGhvC,+DA82InG,CAA+H+nB,oDAA/H,OA92ImG/nB,+DA82InG,CAAqJ+uC,0BAArJ;AAAA;;AACAC,QAAQ,CAACR,KAAT,kBA/2ImGxuC,0DA+2InG;EAAA;EAAA,MAAmGgvC,QAAnG;EAAA;EAAA;AAAA;;AACA;EAAA,mDAh3ImGhvC,+DAg3InG,CAA2FgvC,QAA3F,EAAiH,CAAC;IACtGnnC,IAAI,EAAE8gB,+CADgG;IAEtGnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,MADP;MAECqsC,IAAI,EAAE,IAFP;MAGC5J,UAAU,EAAE;IAHb,CAAD;EAFgG,CAAD,CAAjH,EAO4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE6E,iDADwD;QAE9DlD,IAAI,EAAE,CAACue,oDAAD;MAFwD,CAAD;IAA/B,CAAD,EAG3B;MAAElgB,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAClC9J,IAAI,EAAE6E,iDAD4B;QAElClD,IAAI,EAAE,CAACulC,0BAAD;MAF4B,CAAD,EAGlC;QACClnC,IAAI,EAAE4f,mDAAQA;MADf,CAHkC;IAA/B,CAH2B,CAAP;EAQlB,CAfxB;AAAA;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMynB,qBAAqB,GAAG,IAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,cAAN,CAAqB;EACjBvwC,WAAW,CAAC4sC,aAAD,EAAgB;IACvB,KAAKA,aAAL,GAAqBA,aAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI2C,SAAS,CAACt7B,KAAD,EAAQu8B,SAAR,EAAmBrgB,MAAnB,EAA2B;IAChC,IAAIlc,KAAK,IAAI,IAAb,EACI,OAAO,EAAP;;IACJ,IAAI,OAAOu8B,SAAP,KAAqB,QAArB,IAAiCA,SAAS,KAAK,IAAnD,EAAyD;MACrD,MAAMjC,wBAAwB,CAACgC,cAAD,EAAiBC,SAAjB,CAA9B;IACH;;IACD,MAAMliC,GAAG,GAAGy0B,iBAAiB,CAAC9uB,KAAD,EAAQsE,MAAM,CAAC+C,IAAP,CAAYk1B,SAAZ,CAAR,EAAgC,KAAK5D,aAArC,EAAoDzc,MAApD,CAA7B;IACA,OAAOqgB,SAAS,CAACliC,GAAD,CAAT,CAAe/F,OAAf,CAAuB+nC,qBAAvB,EAA8Cr8B,KAAK,CAACwS,QAAN,EAA9C,CAAP;EACH;;AAnBgB;;AAqBrB8pB,cAAc,CAAC9nC,IAAf;EAAA,iBAA2G8nC,cAA3G,EA56ImGnvC,+DA46InG,CAA2IwhC,cAA3I;AAAA;;AACA2N,cAAc,CAACX,KAAf,kBA76ImGxuC,0DA66InG;EAAA;EAAA,MAAyGmvC,cAAzG;EAAA;EAAA;AAAA;;AACA;EAAA,mDA96ImGnvC,+DA86InG,CAA2FmvC,cAA3F,EAAuH,CAAC;IAC5GtnC,IAAI,EAAE8gB,+CADsG;IAE5Gnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,YADP;MAECqsC,IAAI,EAAE,IAFP;MAGC5J,UAAU,EAAE;IAHb,CAAD;EAFsG,CAAD,CAAvH,EAO4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAE25B;IAAR,CAAD,CAAP;EAAoC,CAP9E;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6N,cAAN,CAAqB;EACjB;AACJ;AACA;AACA;AACA;EACIlB,SAAS,CAACt7B,KAAD,EAAQy8B,OAAR,EAAiB;IACtB,IAAIz8B,KAAK,IAAI,IAAb,EACI,OAAO,EAAP;;IACJ,IAAI,OAAOy8B,OAAP,KAAmB,QAAnB,IAA+B,OAAOz8B,KAAP,KAAiB,QAApD,EAA8D;MAC1D,MAAMs6B,wBAAwB,CAACkC,cAAD,EAAiBC,OAAjB,CAA9B;IACH;;IACD,IAAIA,OAAO,CAACC,cAAR,CAAuB18B,KAAvB,CAAJ,EAAmC;MAC/B,OAAOy8B,OAAO,CAACz8B,KAAD,CAAd;IACH;;IACD,IAAIy8B,OAAO,CAACC,cAAR,CAAuB,OAAvB,CAAJ,EAAqC;MACjC,OAAOD,OAAO,CAAC,OAAD,CAAd;IACH;;IACD,OAAO,EAAP;EACH;;AAnBgB;;AAqBrBD,cAAc,CAAChoC,IAAf;EAAA,iBAA2GgoC,cAA3G;AAAA;;AACAA,cAAc,CAACb,KAAf,kBAr+ImGxuC,0DAq+InG;EAAA;EAAA,MAAyGqvC,cAAzG;EAAA;EAAA;AAAA;;AACA;EAAA,mDAt+ImGrvC,+DAs+InG,CAA2FqvC,cAA3F,EAAuH,CAAC;IAC5GxnC,IAAI,EAAE8gB,+CADsG;IAE5Gnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,YADP;MAECqsC,IAAI,EAAE,IAFP;MAGC5J,UAAU,EAAE;IAHb,CAAD;EAFsG,CAAD,CAAvH;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2K,QAAN,CAAe;EACX;AACJ;AACA;EACIrB,SAAS,CAACt7B,KAAD,EAAQ;IACb,OAAOw0B,IAAI,CAACC,SAAL,CAAez0B,KAAf,EAAsB,IAAtB,EAA4B,CAA5B,CAAP;EACH;;AANU;;AAQf28B,QAAQ,CAACnoC,IAAT;EAAA,iBAAqGmoC,QAArG;AAAA;;AACAA,QAAQ,CAAChB,KAAT,kBA9gJmGxuC,0DA8gJnG;EAAA;EAAA,MAAmGwvC,QAAnG;EAAA;EAAA;AAAA;;AACA;EAAA,mDA/gJmGxvC,+DA+gJnG,CAA2FwvC,QAA3F,EAAiH,CAAC;IACtG3nC,IAAI,EAAE8gB,+CADgG;IAEtGnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,MADP;MAECqsC,IAAI,EAAE,KAFP;MAGC5J,UAAU,EAAE;IAHb,CAAD;EAFgG,CAAD,CAAjH;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4K,gBAAT,CAA0BviC,GAA1B,EAA+B2F,KAA/B,EAAsC;EAClC,OAAO;IAAE3F,GAAG,EAAEA,GAAP;IAAY2F,KAAK,EAAEA;EAAnB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM68B,YAAN,CAAmB;EACf9wC,WAAW,CAAC+wC,OAAD,EAAU;IACjB,KAAKA,OAAL,GAAeA,OAAf;IACA,KAAKC,SAAL,GAAiB,EAAjB;IACA,KAAKC,SAAL,GAAiBC,iBAAjB;EACH;;EACD3B,SAAS,CAAC3yB,KAAD,EAAQq0B,SAAS,GAAGC,iBAApB,EAAuC;IAC5C,IAAI,CAACt0B,KAAD,IAAW,EAAEA,KAAK,YAAYu0B,GAAnB,KAA2B,OAAOv0B,KAAP,KAAiB,QAA3D,EAAsE;MAClE,OAAO,IAAP;IACH;;IACD,IAAI,CAAC,KAAKw0B,MAAV,EAAkB;MACd;MACA,KAAKA,MAAL,GAAc,KAAKL,OAAL,CAAav/B,IAAb,CAAkBoL,KAAlB,EAAyBzG,MAAzB,EAAd;IACH;;IACD,MAAMk7B,aAAa,GAAG,KAAKD,MAAL,CAAYtV,IAAZ,CAAiBlf,KAAjB,CAAtB;IACA,MAAM00B,gBAAgB,GAAGL,SAAS,KAAK,KAAKA,SAA5C;;IACA,IAAII,aAAJ,EAAmB;MACf,KAAKL,SAAL,GAAiB,EAAjB;MACAK,aAAa,CAACE,WAAd,CAA2BC,CAAD,IAAO;QAC7B,KAAKR,SAAL,CAAe7kC,IAAf,CAAoB0kC,gBAAgB,CAACW,CAAC,CAACljC,GAAH,EAAQkjC,CAAC,CAACnM,YAAV,CAApC;MACH,CAFD;IAGH;;IACD,IAAIgM,aAAa,IAAIC,gBAArB,EAAuC;MACnC,KAAKN,SAAL,CAAeS,IAAf,CAAoBR,SAApB;MACA,KAAKA,SAAL,GAAiBA,SAAjB;IACH;;IACD,OAAO,KAAKD,SAAZ;EACH;;AA3Bc;;AA6BnBF,YAAY,CAACroC,IAAb;EAAA,iBAAyGqoC,YAAzG,EAnlJmG1vC,+DAmlJnG,CAAuIA,0DAAvI;AAAA;;AACA0vC,YAAY,CAAClB,KAAb,kBAplJmGxuC,0DAolJnG;EAAA;EAAA,MAAuG0vC,YAAvG;EAAA;EAAA;AAAA;;AACA;EAAA,mDArlJmG1vC,+DAqlJnG,CAA2F0vC,YAA3F,EAAqH,CAAC;IAC1G7nC,IAAI,EAAE8gB,+CADoG;IAE1Gnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,UADP;MAECqsC,IAAI,EAAE,KAFP;MAGC5J,UAAU,EAAE;IAHb,CAAD;EAFoG,CAAD,CAArH,EAO4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAE7H,0DAAkB4kC;IAA1B,CAAD,CAAP;EAAwC,CAPlF;AAAA;;AAQA,SAASkL,iBAAT,CAA2BQ,SAA3B,EAAsCC,SAAtC,EAAiD;EAC7C,MAAM1vB,CAAC,GAAGyvB,SAAS,CAACpjC,GAApB;EACA,MAAM4T,CAAC,GAAGyvB,SAAS,CAACrjC,GAApB,CAF6C,CAG7C;;EACA,IAAI2T,CAAC,KAAKC,CAAV,EACI,OAAO,CAAP,CALyC,CAM7C;;EACA,IAAID,CAAC,KAAKnP,SAAV,EACI,OAAO,CAAP;EACJ,IAAIoP,CAAC,KAAKpP,SAAV,EACI,OAAO,CAAC,CAAR,CAVyC,CAW7C;;EACA,IAAImP,CAAC,KAAK,IAAV,EACI,OAAO,CAAP;EACJ,IAAIC,CAAC,KAAK,IAAV,EACI,OAAO,CAAC,CAAR;;EACJ,IAAI,OAAOD,CAAP,IAAY,QAAZ,IAAwB,OAAOC,CAAP,IAAY,QAAxC,EAAkD;IAC9C,OAAOD,CAAC,GAAGC,CAAJ,GAAQ,CAAC,CAAT,GAAa,CAApB;EACH;;EACD,IAAI,OAAOD,CAAP,IAAY,QAAZ,IAAwB,OAAOC,CAAP,IAAY,QAAxC,EAAkD;IAC9C,OAAOD,CAAC,GAAGC,CAAX;EACH;;EACD,IAAI,OAAOD,CAAP,IAAY,SAAZ,IAAyB,OAAOC,CAAP,IAAY,SAAzC,EAAoD;IAChD,OAAOD,CAAC,GAAGC,CAAJ,GAAQ,CAAC,CAAT,GAAa,CAApB;EACH,CAxB4C,CAyB7C;;;EACA,MAAM0vB,OAAO,GAAG1hC,MAAM,CAAC+R,CAAD,CAAtB;EACA,MAAM4vB,OAAO,GAAG3hC,MAAM,CAACgS,CAAD,CAAtB;EACA,OAAO0vB,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;EACd9xC,WAAW,CAAC+xC,OAAD,EAAU;IACjB,KAAKA,OAAL,GAAeA,OAAf;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIxC,SAAS,CAACt7B,KAAD,EAAQ0qB,UAAR,EAAoBxO,MAApB,EAA4B;IACjC,IAAI,CAAC6hB,OAAO,CAAC/9B,KAAD,CAAZ,EACI,OAAO,IAAP;IACJkc,MAAM,GAAGA,MAAM,IAAI,KAAK4hB,OAAxB;;IACA,IAAI;MACA,MAAMla,GAAG,GAAGoa,WAAW,CAACh+B,KAAD,CAAvB;MACA,OAAOitB,YAAY,CAACrJ,GAAD,EAAM1H,MAAN,EAAcwO,UAAd,CAAnB;IACH,CAHD,CAIA,OAAOtyB,KAAP,EAAc;MACV,MAAMkiC,wBAAwB,CAACuD,WAAD,EAAczlC,KAAK,CAACia,OAApB,CAA9B;IACH;EACJ;;AAtBa;;AAwBlBwrB,WAAW,CAACrpC,IAAZ;EAAA,iBAAwGqpC,WAAxG,EA1tJmG1wC,+DA0tJnG,CAAqI+nB,oDAArI;AAAA;;AACA2oB,WAAW,CAAClC,KAAZ,kBA3tJmGxuC,0DA2tJnG;EAAA;EAAA,MAAsG0wC,WAAtG;EAAA;EAAA;AAAA;;AACA;EAAA,mDA5tJmG1wC,+DA4tJnG,CAA2F0wC,WAA3F,EAAoH,CAAC;IACzG7oC,IAAI,EAAE8gB,+CADmG;IAEzGnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,QADP;MAECyiC,UAAU,EAAE;IAFb,CAAD;EAFmG,CAAD,CAApH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE6E,iDADwD;QAE9DlD,IAAI,EAAE,CAACue,oDAAD;MAFwD,CAAD;IAA/B,CAAD,CAAP;EAGlB,CATxB;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+oB,WAAN,CAAkB;EACdlyC,WAAW,CAAC+xC,OAAD,EAAU;IACjB,KAAKA,OAAL,GAAeA,OAAf;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIxC,SAAS,CAACt7B,KAAD,EAAQ0qB,UAAR,EAAoBxO,MAApB,EAA4B;IACjC,IAAI,CAAC6hB,OAAO,CAAC/9B,KAAD,CAAZ,EACI,OAAO,IAAP;IACJkc,MAAM,GAAGA,MAAM,IAAI,KAAK4hB,OAAxB;;IACA,IAAI;MACA,MAAMla,GAAG,GAAGoa,WAAW,CAACh+B,KAAD,CAAvB;MACA,OAAO6sB,aAAa,CAACjJ,GAAD,EAAM1H,MAAN,EAAcwO,UAAd,CAApB;IACH,CAHD,CAIA,OAAOtyB,KAAP,EAAc;MACV,MAAMkiC,wBAAwB,CAAC2D,WAAD,EAAc7lC,KAAK,CAACia,OAApB,CAA9B;IACH;EACJ;;AA/Ba;;AAiClB4rB,WAAW,CAACzpC,IAAZ;EAAA,iBAAwGypC,WAAxG,EA3xJmG9wC,+DA2xJnG,CAAqI+nB,oDAArI;AAAA;;AACA+oB,WAAW,CAACtC,KAAZ,kBA5xJmGxuC,0DA4xJnG;EAAA;EAAA,MAAsG8wC,WAAtG;EAAA;EAAA;AAAA;;AACA;EAAA,mDA7xJmG9wC,+DA6xJnG,CAA2F8wC,WAA3F,EAAoH,CAAC;IACzGjpC,IAAI,EAAE8gB,+CADmG;IAEzGnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,SADP;MAECyiC,UAAU,EAAE;IAFb,CAAD;EAFmG,CAAD,CAApH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE6E,iDADwD;QAE9DlD,IAAI,EAAE,CAACue,oDAAD;MAFwD,CAAD;IAA/B,CAAD,CAAP;EAGlB,CATxB;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgpB,YAAN,CAAmB;EACfnyC,WAAW,CAAC+xC,OAAD,EAAUK,oBAAoB,GAAG,KAAjC,EAAwC;IAC/C,KAAKL,OAAL,GAAeA,OAAf;IACA,KAAKK,oBAAL,GAA4BA,oBAA5B;EACH;EACD;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;;;EACI7C,SAAS,CAACt7B,KAAD,EAAQ0sB,YAAY,GAAG,KAAKyR,oBAA5B,EAAkD/kC,OAAO,GAAG,QAA5D,EAAsEsxB,UAAtE,EAAkFxO,MAAlF,EAA0F;IAC/F,IAAI,CAAC6hB,OAAO,CAAC/9B,KAAD,CAAZ,EACI,OAAO,IAAP;IACJkc,MAAM,GAAGA,MAAM,IAAI,KAAK4hB,OAAxB;;IACA,IAAI,OAAO1kC,OAAP,KAAmB,SAAvB,EAAkC;MAC9B,IAAI,CAAC,OAAOtE,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD1B,OAAnD,IAA8DA,OAAO,CAACmhC,IAA1E,EAAgF;QAC5EnhC,OAAO,CAACmhC,IAAR,CAAc,0MAAd;MACH;;MACDn7B,OAAO,GAAGA,OAAO,GAAG,QAAH,GAAc,MAA/B;IACH;;IACD,IAAIqnB,QAAQ,GAAGiM,YAAY,IAAI,KAAKyR,oBAApC;;IACA,IAAI/kC,OAAO,KAAK,MAAhB,EAAwB;MACpB,IAAIA,OAAO,KAAK,QAAZ,IAAwBA,OAAO,KAAK,eAAxC,EAAyD;QACrDqnB,QAAQ,GAAGH,iBAAiB,CAACG,QAAD,EAAWrnB,OAAO,KAAK,QAAZ,GAAuB,MAAvB,GAAgC,QAA3C,EAAqD8iB,MAArD,CAA5B;MACH,CAFD,MAGK;QACDuE,QAAQ,GAAGrnB,OAAX;MACH;IACJ;;IACD,IAAI;MACA,MAAMwqB,GAAG,GAAGoa,WAAW,CAACh+B,KAAD,CAAvB;MACA,OAAOysB,cAAc,CAAC7I,GAAD,EAAM1H,MAAN,EAAcuE,QAAd,EAAwBiM,YAAxB,EAAsChC,UAAtC,CAArB;IACH,CAHD,CAIA,OAAOtyB,KAAP,EAAc;MACV,MAAMkiC,wBAAwB,CAAC4D,YAAD,EAAe9lC,KAAK,CAACia,OAArB,CAA9B;IACH;EACJ;;AAhEc;;AAkEnB6rB,YAAY,CAAC1pC,IAAb;EAAA,iBAAyG0pC,YAAzG,EAj5JmG/wC,+DAi5JnG,CAAuI+nB,oDAAvI,OAj5JmG/nB,+DAi5JnG,CAA6J4oB,gEAA7J;AAAA;;AACAmoB,YAAY,CAACvC,KAAb,kBAl5JmGxuC,0DAk5JnG;EAAA;EAAA,MAAuG+wC,YAAvG;EAAA;EAAA;AAAA;;AACA;EAAA,mDAn5JmG/wC,+DAm5JnG,CAA2F+wC,YAA3F,EAAqH,CAAC;IAC1GlpC,IAAI,EAAE8gB,+CADoG;IAE1Gnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,UADP;MAECyiC,UAAU,EAAE;IAFb,CAAD;EAFoG,CAAD,CAArH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE6E,iDADwD;QAE9DlD,IAAI,EAAE,CAACue,oDAAD;MAFwD,CAAD;IAA/B,CAAD,EAG3B;MAAElgB,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAClC9J,IAAI,EAAE6E,iDAD4B;QAElClD,IAAI,EAAE,CAACof,gEAAD;MAF4B,CAAD;IAA/B,CAH2B,CAAP;EAMlB,CAZxB;AAAA;;AAaA,SAASgoB,OAAT,CAAiB/9B,KAAjB,EAAwB;EACpB,OAAO,EAAEA,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA3B,IAAiCA,KAAK,KAAKA,KAA7C,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAASg+B,WAAT,CAAqBh+B,KAArB,EAA4B;EACxB;EACA,IAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACxF,KAAK,CAAC6C,MAAM,CAAC2C,KAAD,CAAN,GAAgBmpB,UAAU,CAACnpB,KAAD,CAA3B,CAAvC,EAA4E;IACxE,OAAO3C,MAAM,CAAC2C,KAAD,CAAb;EACH;;EACD,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3B,MAAM,IAAImR,KAAJ,CAAW,GAAEnR,KAAM,kBAAnB,CAAN;EACH;;EACD,OAAOA,KAAP;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,MAAMo+B,SAAN,CAAgB;EACZ9C,SAAS,CAACt7B,KAAD,EAAQ4Y,KAAR,EAAeC,GAAf,EAAoB;IACzB,IAAI7Y,KAAK,IAAI,IAAb,EACI,OAAO,IAAP;;IACJ,IAAI,CAAC,KAAKq+B,QAAL,CAAcr+B,KAAd,CAAL,EAA2B;MACvB,MAAMs6B,wBAAwB,CAAC8D,SAAD,EAAYp+B,KAAZ,CAA9B;IACH;;IACD,OAAOA,KAAK,CAAC6H,KAAN,CAAY+Q,KAAZ,EAAmBC,GAAnB,CAAP;EACH;;EACDwlB,QAAQ,CAACtmC,GAAD,EAAM;IACV,OAAO,OAAOA,GAAP,KAAe,QAAf,IAA2B6K,KAAK,CAACoC,OAAN,CAAcjN,GAAd,CAAlC;EACH;;AAXW;;AAahBqmC,SAAS,CAAC5pC,IAAV;EAAA,iBAAsG4pC,SAAtG;AAAA;;AACAA,SAAS,CAACzC,KAAV,kBAz+JmGxuC,0DAy+JnG;EAAA;EAAA,MAAoGixC,SAApG;EAAA;EAAA;AAAA;;AACA;EAAA,mDA1+JmGjxC,+DA0+JnG,CAA2FixC,SAA3F,EAAkH,CAAC;IACvGppC,IAAI,EAAE8gB,+CADiG;IAEvGnf,IAAI,EAAE,CAAC;MACCpH,IAAI,EAAE,OADP;MAECqsC,IAAI,EAAE,KAFP;MAGC5J,UAAU,EAAE;IAHb,CAAD;EAFiG,CAAD,CAAlH;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMsM,YAAY,GAAG,CACjBxD,SADiB,EAEjBmB,aAFiB,EAGjBJ,aAHiB,EAIjBc,QAJiB,EAKjByB,SALiB,EAMjBP,WANiB,EAOjBI,WAPiB,EAQjBlC,aARiB,EASjBmC,YATiB,EAUjB/B,QAViB,EAWjBG,cAXiB,EAYjBE,cAZiB,EAajBK,YAbiB,CAArB;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM0B,YAAN,CAAmB;;AAEnBA,YAAY,CAAC/pC,IAAb;EAAA,iBAAyG+pC,YAAzG;AAAA;;AACAA,YAAY,CAACxnC,IAAb,kBAjiKmG5J,8DAiiKnG;EAAA,MAA0GoxC;AAA1G;AACAA,YAAY,CAACtnC,IAAb,kBAliKmG9J,8DAkiKnG;;AACA;EAAA,mDAniKmGA,+DAmiKnG,CAA2FoxC,YAA3F,EAAqH,CAAC;IAC1GvpC,IAAI,EAAEzE,mDADoG;IAE1GoG,IAAI,EAAE,CAAC;MACCS,OAAO,EAAE,CAACijC,iBAAD,EAAoBiE,YAApB,CADV;MAECjnC,OAAO,EAAE,CAACgjC,iBAAD,EAAoBiE,YAApB;IAFV,CAAD;EAFoG,CAAD,CAArH;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,mBAAmB,GAAG,SAA5B;AACA,MAAMC,kBAAkB,GAAG,QAA3B;AACA,MAAMC,sBAAsB,GAAG,kBAA/B;AACA,MAAMC,qBAAqB,GAAG,iBAA9B;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2BC,UAA3B,EAAuC;EACnC,OAAOA,UAAU,KAAKL,mBAAtB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASM,gBAAT,CAA0BD,UAA1B,EAAsC;EAClC,OAAOA,UAAU,KAAKJ,kBAAtB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASM,mBAAT,CAA6BF,UAA7B,EAAyC;EACrC,OAAOA,UAAU,KAAKH,sBAAtB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASM,kBAAT,CAA4BH,UAA5B,EAAwC;EACpC,OAAOA,UAAU,KAAKF,qBAAtB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMM,OAAO,GAAG,IAAIjpB,kDAAJ,CAAY,QAAZ,CAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMkpB,gBAAN,CAAuB,GAEvB;AACA;;AACA;;;AACAA,gBAAgB,CAACvqC,KAAjB,GAAyBC,oEAAkB,CAAC;EACxCC,KAAK,EAAEqqC,gBADiC;EAExC9uC,UAAU,EAAE,MAF4B;EAGxCD,OAAO,EAAE,MAAM,IAAIgvC,uBAAJ,CAA4BvgC,0DAAQ,CAAC9E,QAAD,CAApC,EAAgDhI,MAAhD;AAHyB,CAAD,CAA3C;AAKA;AACA;AACA;;AACA,MAAMqtC,uBAAN,CAA8B;EAC1BpzC,WAAW,CAACO,QAAD,EAAWwF,MAAX,EAAmB;IAC1B,KAAKxF,QAAL,GAAgBA,QAAhB;IACA,KAAKwF,MAAL,GAAcA,MAAd;;IACA,KAAKyyB,MAAL,GAAc,MAAM,CAAC,CAAD,EAAI,CAAJ,CAApB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI6a,SAAS,CAAC7a,MAAD,EAAS;IACd,IAAI3hB,KAAK,CAACoC,OAAN,CAAcuf,MAAd,CAAJ,EAA2B;MACvB,KAAKA,MAAL,GAAc,MAAMA,MAApB;IACH,CAFD,MAGK;MACD,KAAKA,MAAL,GAAcA,MAAd;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACI8a,iBAAiB,GAAG;IAChB,IAAI,KAAKC,iBAAL,EAAJ,EAA8B;MAC1B,OAAO,CAAC,KAAKxtC,MAAL,CAAYytC,WAAb,EAA0B,KAAKztC,MAAL,CAAY0tC,WAAtC,CAAP;IACH,CAFD,MAGK;MACD,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAP;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACIC,gBAAgB,CAACC,QAAD,EAAW;IACvB,IAAI,KAAKJ,iBAAL,EAAJ,EAA8B;MAC1B,KAAKxtC,MAAL,CAAY6tC,QAAZ,CAAqBD,QAAQ,CAAC,CAAD,CAA7B,EAAkCA,QAAQ,CAAC,CAAD,CAA1C;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIE,cAAc,CAACC,MAAD,EAAS;IACnB,IAAI,CAAC,KAAKP,iBAAL,EAAL,EAA+B;MAC3B;IACH;;IACD,MAAMQ,UAAU,GAAGC,sBAAsB,CAAC,KAAKzzC,QAAN,EAAgBuzC,MAAhB,CAAzC;;IACA,IAAIC,UAAJ,EAAgB;MACZ,KAAKE,eAAL,CAAqBF,UAArB,EADY,CAEZ;MACA;MACA;MACA;MACA;MACA;;MACAA,UAAU,CAACG,KAAX;IACH;EACJ;EACD;AACJ;AACA;;;EACIC,2BAA2B,CAACC,iBAAD,EAAoB;IAC3C,IAAI,KAAKC,wBAAL,EAAJ,EAAqC;MACjC,MAAM7oB,OAAO,GAAG,KAAKzlB,MAAL,CAAYylB,OAA5B;;MACA,IAAIA,OAAO,IAAIA,OAAO,CAAC4oB,iBAAvB,EAA0C;QACtC5oB,OAAO,CAAC4oB,iBAAR,GAA4BA,iBAA5B;MACH;IACJ;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIH,eAAe,CAACK,EAAD,EAAK;IAChB,MAAMC,IAAI,GAAGD,EAAE,CAACE,qBAAH,EAAb;IACA,MAAMC,IAAI,GAAGF,IAAI,CAACE,IAAL,GAAY,KAAK1uC,MAAL,CAAYytC,WAArC;IACA,MAAMkB,GAAG,GAAGH,IAAI,CAACG,GAAL,GAAW,KAAK3uC,MAAL,CAAY0tC,WAAnC;IACA,MAAMjb,MAAM,GAAG,KAAKA,MAAL,EAAf;IACA,KAAKzyB,MAAL,CAAY6tC,QAAZ,CAAqBa,IAAI,GAAGjc,MAAM,CAAC,CAAD,CAAlC,EAAuCkc,GAAG,GAAGlc,MAAM,CAAC,CAAD,CAAnD;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI6b,wBAAwB,GAAG;IACvB,IAAI;MACA,IAAI,CAAC,KAAKd,iBAAL,EAAL,EAA+B;QAC3B,OAAO,KAAP;MACH,CAHD,CAIA;;;MACA,MAAMoB,2BAA2B,GAAGC,4BAA4B,CAAC,KAAK7uC,MAAL,CAAYylB,OAAb,CAA5B,IAChCopB,4BAA4B,CAACr8B,MAAM,CAACsO,cAAP,CAAsB,KAAK9gB,MAAL,CAAYylB,OAAlC,CAAD,CADhC,CALA,CAOA;MACA;;MACA,OAAO,CAAC,CAACmpB,2BAAF,IACH,CAAC,EAAEA,2BAA2B,CAACE,QAA5B,IAAwCF,2BAA2B,CAACG,GAAtE,CADL;IAEH,CAXD,CAYA,MAAM;MACF,OAAO,KAAP;IACH;EACJ;;EACDvB,iBAAiB,GAAG;IAChB,IAAI;MACA,OAAO,CAAC,CAAC,KAAKxtC,MAAP,IAAiB,CAAC,CAAC,KAAKA,MAAL,CAAY6tC,QAA/B,IAA2C,iBAAiB,KAAK7tC,MAAxE;IACH,CAFD,CAGA,MAAM;MACF,OAAO,KAAP;IACH;EACJ;;AA5HyB;;AA8H9B,SAAS6uC,4BAAT,CAAsC5oC,GAAtC,EAA2C;EACvC,OAAOuM,MAAM,CAACw8B,wBAAP,CAAgC/oC,GAAhC,EAAqC,mBAArC,CAAP;AACH;;AACD,SAASgoC,sBAAT,CAAgCzzC,QAAhC,EAA0CuzC,MAA1C,EAAkD;EAC9C,MAAMkB,cAAc,GAAGz0C,QAAQ,CAAC00C,cAAT,CAAwBnB,MAAxB,KAAmCvzC,QAAQ,CAAC20C,iBAAT,CAA2BpB,MAA3B,EAAmC,CAAnC,CAA1D;;EACA,IAAIkB,cAAJ,EAAoB;IAChB,OAAOA,cAAP;EACH,CAJ6C,CAK9C;EACA;;;EACA,IAAI,OAAOz0C,QAAQ,CAAC40C,gBAAhB,KAAqC,UAArC,IAAmD50C,QAAQ,CAACD,IAA5D,KACCC,QAAQ,CAACD,IAAT,CAAc80C,gBAAd,IAAkC70C,QAAQ,CAACD,IAAT,CAAc+0C,YADjD,CAAJ,EACoE;IAChE,MAAMC,UAAU,GAAG/0C,QAAQ,CAAC40C,gBAAT,CAA0B50C,QAAQ,CAACD,IAAnC,EAAyCi1C,UAAU,CAACC,YAApD,CAAnB;IACA,IAAIC,WAAW,GAAGH,UAAU,CAACG,WAA7B;;IACA,OAAOA,WAAP,EAAoB;MAChB,MAAMC,UAAU,GAAGD,WAAW,CAACC,UAA/B;;MACA,IAAIA,UAAJ,EAAgB;QACZ;QACA;QACA,MAAM/uC,MAAM,GAAG+uC,UAAU,CAACT,cAAX,CAA0BnB,MAA1B,KAAqC4B,UAAU,CAACC,aAAX,CAA0B,UAAS7B,MAAO,IAA1C,CAApD;;QACA,IAAIntC,MAAJ,EAAY;UACR,OAAOA,MAAP;QACH;MACJ;;MACD8uC,WAAW,GAAGH,UAAU,CAACM,QAAX,EAAd;IACH;EACJ;;EACD,OAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,MAAMC,oBAAN,CAA2B;EACvB;AACJ;AACA;EACIxC,SAAS,CAAC7a,MAAD,EAAS,CAAG;EACrB;AACJ;AACA;;;EACI8a,iBAAiB,GAAG;IAChB,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAP;EACH;EACD;AACJ;AACA;;;EACII,gBAAgB,CAACC,QAAD,EAAW,CAAG;EAC9B;AACJ;AACA;;;EACIE,cAAc,CAACiC,MAAD,EAAS,CAAG;EAC1B;AACJ;AACA;;;EACI3B,2BAA2B,CAACC,iBAAD,EAAoB,CAAG;;AAtB3B;AAyB3B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2B,UAAN,CAAiB;AAGjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,MAAT,CAAgBt1C,GAAhB,EAAqBu1C,GAArB,EAA0B;EACtB;EACA,OAAOC,aAAa,CAACx1C,GAAD,CAAb,GAAqB,IAAIy1C,GAAJ,CAAQz1C,GAAR,CAArB,GAAoC,IAAIy1C,GAAJ,CAAQz1C,GAAR,EAAau1C,GAAG,CAACpyC,QAAJ,CAAaK,IAA1B,CAA3C;AACH,EACD;;;AACA,SAASgyC,aAAT,CAAuBx1C,GAAvB,EAA4B;EACxB,OAAO,eAAeqC,IAAf,CAAoBrC,GAApB,CAAP;AACH,EACD;AACA;;;AACA,SAAS01C,eAAT,CAAyB/1C,GAAzB,EAA8B;EAC1B,OAAO61C,aAAa,CAAC71C,GAAD,CAAb,GAAsB,IAAI81C,GAAJ,CAAQ91C,GAAR,CAAD,CAAeyD,QAApC,GAA+CzD,GAAtD;AACH;;AACD,SAASg2C,WAAT,CAAqBpoB,IAArB,EAA2B;EACvB,MAAMqoB,QAAQ,GAAG,OAAOroB,IAAP,KAAgB,QAAjC;;EACA,IAAI,CAACqoB,QAAD,IAAaroB,IAAI,CAAC8J,IAAL,OAAgB,EAAjC,EAAqC;IACjC,OAAO,KAAP;EACH,CAJsB,CAKvB;;;EACA,IAAI;IACA,MAAM13B,GAAG,GAAG,IAAI81C,GAAJ,CAAQloB,IAAR,CAAZ;IACA,OAAO,IAAP;EACH,CAHD,CAIA,MAAM;IACF,OAAO,KAAP;EACH;AACJ;;AACD,SAASsoB,aAAT,CAAuBtoB,IAAvB,EAA6B;EACzB,OAAOA,IAAI,CAACjB,QAAL,CAAc,GAAd,IAAqBiB,IAAI,CAACnS,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,CAArB,GAAyCmS,IAAhD;AACH;;AACD,SAASuoB,YAAT,CAAsB91C,GAAtB,EAA2B;EACvB,OAAOA,GAAG,CAACusB,UAAJ,CAAe,GAAf,IAAsBvsB,GAAG,CAACob,KAAJ,CAAU,CAAV,CAAtB,GAAqCpb,GAA5C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+1C,eAAe,GAAIxhC,MAAD,IAAYA,MAAM,CAACvU,GAA3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg2C,YAAY,GAAG,IAAI/tB,yDAAJ,CAAmB,aAAnB,EAAkC;EACnDtkB,UAAU,EAAE,MADuC;EAEnDD,OAAO,EAAE,MAAMqyC;AAFoC,CAAlC,CAArB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,iBAAT,CAA2BC,UAA3B,EAAuCC,WAAvC,EAAoD;EAChD,OAAO,SAASC,kBAAT,CAA4B7oB,IAA5B,EAAkC;IACrC,IAAI,CAACooB,WAAW,CAACpoB,IAAD,CAAhB,EAAwB;MACpB8oB,qBAAqB,CAAC9oB,IAAD,EAAO4oB,WAAW,IAAI,EAAtB,CAArB;IACH,CAHoC,CAIrC;IACA;;;IACA5oB,IAAI,GAAGsoB,aAAa,CAACtoB,IAAD,CAApB;;IACA,MAAM+oB,QAAQ,GAAI/hC,MAAD,IAAY;MACzB,IAAIihC,aAAa,CAACjhC,MAAM,CAACvU,GAAR,CAAjB,EAA+B;QAC3B;QACA;QACA;QACA;QACA;QACAu2C,+BAA+B,CAAChpB,IAAD,EAAOhZ,MAAM,CAACvU,GAAd,CAA/B;MACH;;MACD,OAAOk2C,UAAU,CAAC3oB,IAAD,EAAO,EAAE,GAAGhZ,MAAL;QAAavU,GAAG,EAAE81C,YAAY,CAACvhC,MAAM,CAACvU,GAAR;MAA9B,CAAP,CAAjB;IACH,CAVD;;IAWA,MAAMw2C,SAAS,GAAG,CAAC;MAAEC,OAAO,EAAET,YAAX;MAAyBU,QAAQ,EAAEJ;IAAnC,CAAD,CAAlB;IACA,OAAOE,SAAP;EACH,CApBD;AAqBH;;AACD,SAASH,qBAAT,CAA+B9oB,IAA/B,EAAqC4oB,WAArC,EAAkD;EAC9C,MAAM,IAAIptB,2DAAJ,CAAkB;EAAK;EAAvB,EAAwE1gB,SAAS,IAClF,gDAA+CklB,IAAK,OAArD,GACK,kEAAiE4oB,WAAW,CAACnwB,IAAZ,CAAiB,MAAjB,CAAyB,EAF7F,CAAN;AAGH;;AACD,SAASuwB,+BAAT,CAAyChpB,IAAzC,EAA+C5tB,GAA/C,EAAoD;EAChD,MAAM,IAAIopB,2DAAJ,CAAkB;EAAK;EAAvB,EAAwE1gB,SAAS,IAClF,kFAAiF1I,GAAI,IAAtF,GACK,6DADL,GAEK,iDAFL,GAGK,oEAHL,GAIK,iCAAgC4tB,IAAK,MALxC,CAAN;AAMH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMopB,uBAAuB,GAAGV,iBAAiB,CAACW,mBAAD,EAAsBvuC,SAAS,GAAG,CAAC,uDAAD,CAAH,GAA+D+J,SAA9F,CAAjD;;AACA,SAASwkC,mBAAT,CAA6BrpB,IAA7B,EAAmChZ,MAAnC,EAA2C;EACvC,IAAIqY,MAAM,GAAI,aAAd;;EACA,IAAIrY,MAAM,CAAC9H,KAAX,EAAkB;IACdmgB,MAAM,IAAK,UAASrY,MAAM,CAAC9H,KAAM,EAAjC;EACH,CAJsC,CAKvC;EACA;;;EACA,OAAQ,GAAE8gB,IAAK,kBAAiBX,MAAO,IAAGrY,MAAM,CAACvU,GAAI,EAArD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAM62C,oBAAoB,GAAG;EACzB/zC,IAAI,EAAE,YADmB;EAEzBg0C,OAAO,EAAEC;AAFgB,CAA7B;AAIA,MAAMC,uBAAuB,GAAG,yCAAhC;AACA;AACA;AACA;;AACA,SAASD,eAAT,CAAyBp3C,GAAzB,EAA8B;EAC1B,OAAOq3C,uBAAuB,CAAC30C,IAAxB,CAA6B1C,GAA7B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs3C,uBAAuB,GAAGhB,iBAAiB,CAACiB,mBAAD,EAAsB7uC,SAAS,GAC5E,CACI,mCADJ,EACyC,+BADzC,EAEI,8BAFJ,CAD4E,GAK5E+J,SAL6C,CAAjD;;AAMA,SAAS8kC,mBAAT,CAA6B3pB,IAA7B,EAAmChZ,MAAnC,EAA2C;EACvC;EACA;EACA;EACA;EACA,IAAIqY,MAAM,GAAI,eAAd,CALuC,CAKT;;EAC9B,IAAIrY,MAAM,CAAC9H,KAAX,EAAkB;IACdmgB,MAAM,IAAK,MAAKrY,MAAM,CAAC9H,KAAM,EAA7B;EACH;;EACD,OAAQ,GAAE8gB,IAAK,iBAAgBX,MAAO,IAAGrY,MAAM,CAACvU,GAAI,EAApD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMm3C,kBAAkB,GAAG;EACvBr0C,IAAI,EAAE,UADiB;EAEvBg0C,OAAO,EAAEM;AAFc,CAA3B;AAIA,MAAMC,sBAAsB,GAAG,sCAA/B;AACA;AACA;AACA;;AACA,SAASD,aAAT,CAAuBz3C,GAAvB,EAA4B;EACxB,OAAO03C,sBAAsB,CAACh1C,IAAvB,CAA4B1C,GAA5B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM23C,qBAAqB,GAAGrB,iBAAiB,CAACsB,iBAAD,EAAoBlvC,SAAS,GAAG,CAAC,+BAAD,EAAkC,8BAAlC,CAAH,GAAuE+J,SAApG,CAA/C;;AACA,SAASmlC,iBAAT,CAA2BhqB,IAA3B,EAAiChZ,MAAjC,EAAyC;EACrC;EACA;EACA,IAAIqY,MAAM,GAAI,WAAd,CAHqC,CAGX;;EAC1B,IAAIrY,MAAM,CAAC9H,KAAX,EAAkB;IACdmgB,MAAM,IAAK,MAAKrY,MAAM,CAAC9H,KAAM,EAA7B;EACH;;EACD,OAAQ,GAAE8gB,IAAK,IAAGX,MAAO,IAAGrY,MAAM,CAACvU,GAAI,EAAvC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMw3C,eAAe,GAAG;EACpB10C,IAAI,EAAE,OADc;EAEpBg0C,OAAO,EAAEW;AAFW,CAAxB;AAIA,MAAMC,kBAAkB,GAAG,oCAA3B;AACA;AACA;AACA;;AACA,SAASD,UAAT,CAAoB93C,GAApB,EAAyB;EACrB,OAAO+3C,kBAAkB,CAACr1C,IAAnB,CAAwB1C,GAAxB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg4C,kBAAkB,GAAG1B,iBAAiB,CAAC2B,cAAD,EAAiBvvC,SAAS,GAAG,CAAC,6BAAD,CAAH,GAAqC+J,SAA/D,CAA5C;;AACA,SAASwlC,cAAT,CAAwBrqB,IAAxB,EAA8BhZ,MAA9B,EAAsC;EAClC,MAAM5U,GAAG,GAAG,IAAI81C,GAAJ,CAAS,GAAEloB,IAAK,IAAGhZ,MAAM,CAACvU,GAAI,EAA9B,CAAZ,CADkC,CAElC;;EACAL,GAAG,CAACk4C,YAAJ,CAAiBzD,GAAjB,CAAqB,MAArB,EAA6B,QAA7B;;EACA,IAAI7/B,MAAM,CAAC9H,KAAX,EAAkB;IACd9M,GAAG,CAACk4C,YAAJ,CAAiBzD,GAAjB,CAAqB,GAArB,EAA0B7/B,MAAM,CAAC9H,KAAP,CAAasZ,QAAb,EAA1B;EACH;;EACD,OAAOpmB,GAAG,CAAC6D,IAAX;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs0C,mBAAT,CAA6BC,KAA7B,EAAoCC,YAAY,GAAG,IAAnD,EAAyD;EACrD,MAAMC,SAAS,GAAGD,YAAY,GAAI,oDAAmDD,KAAM,OAA7D,GAAsE,EAApG;EACA,OAAQ,kCAAiCE,SAAU,mBAAnD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,aAAT,CAAuBC,SAAvB,EAAkC;EAC9B,IAAI,CAAC9vC,SAAL,EAAgB;IACZ,MAAM,IAAI0gB,2DAAJ,CAAkB;IAAK;IAAvB,EAAuF,gCAA+BovB,SAAU,qBAA1C,GACvF,uEADC,CAAN;EAEH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;EACnB94C,WAAW,GAAG;IACV;IACA,KAAK+4C,MAAL,GAAc,IAAI5H,GAAJ,EAAd,CAFU,CAGV;;IACA,KAAK6H,aAAL,GAAqB,IAAItT,GAAJ,EAArB;IACA,KAAK3/B,MAAL,GAAc,IAAd;IACA,KAAKW,QAAL,GAAgB,IAAhB;IACAkyC,aAAa,CAAC,aAAD,CAAb;IACA,MAAM3C,GAAG,GAAGrtB,qDAAM,CAAC7a,QAAD,CAAN,CAAiBo+B,WAA7B;;IACA,IAAI,OAAO8J,GAAP,KAAe,WAAf,IAA8B,OAAOgD,mBAAP,KAA+B,WAAjE,EAA8E;MAC1E,KAAKlzC,MAAL,GAAckwC,GAAd;MACA,KAAKvvC,QAAL,GAAgB,KAAKwyC,uBAAL,EAAhB;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACIA,uBAAuB,GAAG;IACtB,MAAMxyC,QAAQ,GAAG,IAAIuyC,mBAAJ,CAAyBE,SAAD,IAAe;MACpD,MAAMC,OAAO,GAAGD,SAAS,CAACE,UAAV,EAAhB;MACA,IAAID,OAAO,CAACjxC,MAAR,KAAmB,CAAvB,EACI,OAHgD,CAIpD;MACA;MACA;MACA;;MACA,MAAMmxC,UAAU,GAAGF,OAAO,CAACA,OAAO,CAACjxC,MAAR,GAAiB,CAAlB,CAA1B,CARoD,CASpD;MACA;;MACA,MAAMoxC,MAAM,GAAGD,UAAU,CAACE,OAAX,EAAoB94C,GAApB,IAA2B,EAA1C,CAXoD,CAYpD;;MACA,IAAI64C,MAAM,CAACtsB,UAAP,CAAkB,OAAlB,KAA8BssB,MAAM,CAACtsB,UAAP,CAAkB,OAAlB,CAAlC,EACI;MACJ,MAAMwsB,QAAQ,GAAG,KAAKV,MAAL,CAAYtR,GAAZ,CAAgB8R,MAAhB,CAAjB;;MACA,IAAIE,QAAQ,IAAI,CAAC,KAAKT,aAAL,CAAmBU,GAAnB,CAAuBH,MAAvB,CAAjB,EAAiD;QAC7C,KAAKP,aAAL,CAAmBvjC,GAAnB,CAAuB8jC,MAAvB;QACAI,yBAAyB,CAACJ,MAAD,CAAzB;MACH;IACJ,CApBgB,CAAjB;IAqBA7yC,QAAQ,CAACkzC,OAAT,CAAiB;MAAE3wC,IAAI,EAAE,0BAAR;MAAoC4wC,QAAQ,EAAE;IAA9C,CAAjB;IACA,OAAOnzC,QAAP;EACH;;EACDozC,aAAa,CAACC,YAAD,EAAeC,aAAf,EAA8B;IACvC,IAAI,CAAC,KAAKtzC,QAAV,EACI;IACJ,KAAKqyC,MAAL,CAAYjE,GAAZ,CAAgBkB,MAAM,CAAC+D,YAAD,EAAe,KAAKh0C,MAApB,CAAN,CAAkC7B,IAAlD,EAAwD81C,aAAxD;EACH;;EACDC,eAAe,CAACF,YAAD,EAAe;IAC1B,IAAI,CAAC,KAAKrzC,QAAV,EACI;IACJ,KAAKqyC,MAAL,CAAYmB,MAAZ,CAAmBlE,MAAM,CAAC+D,YAAD,EAAe,KAAKh0C,MAApB,CAAN,CAAkC7B,IAArD;EACH;;EACD4pB,WAAW,GAAG;IACV,IAAI,CAAC,KAAKpnB,QAAV,EACI;IACJ,KAAKA,QAAL,CAAcyzC,UAAd;IACA,KAAKpB,MAAL,CAAYpS,KAAZ;IACA,KAAKqS,aAAL,CAAmBrS,KAAnB;EACH;;AA5DkB;;AA8DvBmS,gBAAgB,CAACrwC,IAAjB;EAAA,iBAA6GqwC,gBAA7G;AAAA;;AACAA,gBAAgB,CAAClwC,KAAjB,kBApsLmGxH,gEAosLnG;EAAA,OAAiH03C,gBAAjH;EAAA,SAAiHA,gBAAjH;EAAA,YAA+I;AAA/I;;AACA;EAAA,mDArsLmG13C,+DAqsLnG,CAA2F03C,gBAA3F,EAAyH,CAAC;IAC9G7vC,IAAI,EAAE3E,qDADwG;IAE9GsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAFwG,CAAD,CAAzH,EAG4B,YAAY;IAAE,OAAO,EAAP;EAAY,CAHtD;AAAA;;AAIA,SAASs1C,yBAAT,CAAmClB,KAAnC,EAA0C;EACtC,MAAM2B,gBAAgB,GAAG5B,mBAAmB,CAACC,KAAD,CAA5C;EACApxC,OAAO,CAACmhC,IAAR,CAAate,qEAAmB,CAAC;EAAK;EAAN,EAAwD,GAAEkwB,gBAAiB,oDAApB,GAClF,qEADkF,GAElF,iDAFkF,GAGlF,4CAH2B,CAAhC;AAIH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,mCAAmC,GAAG,IAAI3U,GAAJ,CAAQ,CAAC,WAAD,EAAc,WAAd,EAA2B,SAA3B,CAAR,CAA5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4U,0BAA0B,GAAG,IAAI3xB,yDAAJ,CAAmB,4BAAnB,CAAnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4xB,qBAAN,CAA4B;EACxBv6C,WAAW,GAAG;IACV,KAAKO,QAAL,GAAgBqoB,qDAAM,CAAC7a,QAAD,CAAtB;IACA;AACR;AACA;AACA;;IACQ,KAAKysC,eAAL,GAAuB,IAAvB;IACA;AACR;AACA;;IACQ,KAAKC,WAAL,GAAmB,IAAI/U,GAAJ,EAAnB;IACA,KAAK3/B,MAAL,GAAc,IAAd;IACA,KAAK20C,SAAL,GAAiB,IAAIhV,GAAJ,CAAQ2U,mCAAR,CAAjB;IACAzB,aAAa,CAAC,yBAAD,CAAb;IACA,MAAM3C,GAAG,GAAG,KAAK11C,QAAL,CAAc4rC,WAA1B;;IACA,IAAI,OAAO8J,GAAP,KAAe,WAAnB,EAAgC;MAC5B,KAAKlwC,MAAL,GAAckwC,GAAd;IACH;;IACD,MAAMyE,SAAS,GAAG9xB,qDAAM,CAAC0xB,0BAAD,EAA6B;MAAEK,QAAQ,EAAE;IAAZ,CAA7B,CAAxB;;IACA,IAAID,SAAJ,EAAe;MACX,KAAKE,iBAAL,CAAuBF,SAAvB;IACH;EACJ;;EACDE,iBAAiB,CAACC,OAAD,EAAU;IACvB,IAAIhkC,KAAK,CAACoC,OAAN,CAAc4hC,OAAd,CAAJ,EAA4B;MACxBC,WAAW,CAACD,OAAD,EAAUhtB,MAAM,IAAI;QAC3B,KAAK6sB,SAAL,CAAejlC,GAAf,CAAmB2gC,eAAe,CAACvoB,MAAD,CAAlC;MACH,CAFU,CAAX;IAGH,CAJD,MAKK;MACD,KAAK6sB,SAAL,CAAejlC,GAAf,CAAmB2gC,eAAe,CAACyE,OAAD,CAAlC;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIE,gBAAgB,CAAChB,YAAD,EAAeC,aAAf,EAA8B;IAC1C,IAAI,CAAC,KAAKj0C,MAAV,EACI;IACJ,MAAMi1C,MAAM,GAAGhF,MAAM,CAAC+D,YAAD,EAAe,KAAKh0C,MAApB,CAArB;IACA,IAAI,KAAK20C,SAAL,CAAehB,GAAf,CAAmBsB,MAAM,CAACl3C,QAA1B,KAAuC,KAAK22C,WAAL,CAAiBf,GAAjB,CAAqBsB,MAAM,CAACntB,MAA5B,CAA3C,EACI,OALsC,CAM1C;;IACA,KAAK4sB,WAAL,CAAiBhlC,GAAjB,CAAqBulC,MAAM,CAACntB,MAA5B;;IACA,IAAI,CAAC,KAAK2sB,eAAV,EAA2B;MACvB;MACA;MACA;MACA;MACA,KAAKA,eAAL,GAAuB,KAAKS,oBAAL,EAAvB;IACH;;IACD,IAAI,CAAC,KAAKT,eAAL,CAAqBd,GAArB,CAAyBsB,MAAM,CAACntB,MAAhC,CAAL,EAA8C;MAC1CxmB,OAAO,CAACmhC,IAAR,CAAate,qEAAmB,CAAC;MAAK;MAAN,EAAmE,GAAEsuB,mBAAmB,CAACwB,aAAD,CAAgB,+CAAtC,GAC7F,sFAD6F,GAE7F,kFAF6F,GAG7F,4CAH6F,GAI7F,kCAAiCgB,MAAM,CAACntB,MAAO,IAJpB,CAAhC;IAKH;EACJ;;EACDotB,oBAAoB,GAAG;IACnB,MAAMC,cAAc,GAAG,IAAIxV,GAAJ,EAAvB;IACA,MAAM76B,QAAQ,GAAG,sBAAjB;IACA,MAAMswC,KAAK,GAAGtkC,KAAK,CAACC,IAAN,CAAW,KAAKvW,QAAL,CAAc66C,gBAAd,CAA+BvwC,QAA/B,CAAX,CAAd;;IACA,KAAK,IAAIwwC,IAAT,IAAiBF,KAAjB,EAAwB;MACpB,MAAM96C,GAAG,GAAG21C,MAAM,CAACqF,IAAI,CAACn3C,IAAN,EAAY,KAAK6B,MAAjB,CAAlB;MACAm1C,cAAc,CAACzlC,GAAf,CAAmBpV,GAAG,CAACwtB,MAAvB;IACH;;IACD,OAAOqtB,cAAP;EACH;;EACDptB,WAAW,GAAG;IACV,KAAK0sB,eAAL,EAAsB7T,KAAtB;IACA,KAAK8T,WAAL,CAAiB9T,KAAjB;EACH;;AA7EuB;;AA+E5B4T,qBAAqB,CAAC9xC,IAAtB;EAAA,iBAAkH8xC,qBAAlH;AAAA;;AACAA,qBAAqB,CAAC3xC,KAAtB,kBAp0LmGxH,gEAo0LnG;EAAA,OAAsHm5C,qBAAtH;EAAA,SAAsHA,qBAAtH;EAAA,YAAyJ;AAAzJ;;AACA;EAAA,mDAr0LmGn5C,+DAq0LnG,CAA2Fm5C,qBAA3F,EAA8H,CAAC;IACnHtxC,IAAI,EAAE3E,qDAD6G;IAEnHsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAF6G,CAAD,CAA9H,EAG4B,YAAY;IAAE,OAAO,EAAP;EAAY,CAHtD;AAAA;AAIA;AACA;AACA;AACA;;;AACA,SAASy2C,WAAT,CAAqBl+B,KAArB,EAA4B5E,EAA5B,EAAgC;EAC5B,KAAK,IAAI/D,KAAT,IAAkB2I,KAAlB,EAAyB;IACrB/F,KAAK,CAACoC,OAAN,CAAchF,KAAd,IAAuB6mC,WAAW,CAAC7mC,KAAD,EAAQ+D,EAAR,CAAlC,GAAgDA,EAAE,CAAC/D,KAAD,CAAlD;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqnC,8BAA8B,GAAG,CAAvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,gBAAgB,GAAG,IAAI5yB,yDAAJ,CAAmB,+BAAnB,EAAoD;EAAEtkB,UAAU,EAAE,MAAd;EAAsBD,OAAO,EAAE,MAAM,IAAIshC,GAAJ;AAArC,CAApD,CAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM8V,kBAAN,CAAyB;EACrBx7C,WAAW,GAAG;IACV,KAAKy7C,eAAL,GAAuB7yB,qDAAM,CAAC2yB,gBAAD,CAA7B;IACA,KAAKh7C,QAAL,GAAgBqoB,qDAAM,CAAC7a,QAAD,CAAtB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI2tC,oBAAoB,CAACC,QAAD,EAAWj7C,GAAX,EAAgBk7C,MAAhB,EAAwBC,KAAxB,EAA+B;IAC/C,IAAI9yC,SAAJ,EAAe;MACX,IAAI,KAAK0yC,eAAL,CAAqBljB,IAArB,IAA6B+iB,8BAAjC,EAAiE;QAC7D,MAAM,IAAI7xB,2DAAJ,CAAkB;QAAK;QAAvB,EAAyE1gB,SAAS,IACnF,iEAAD,GACK,GAAEuyC,8BAA+B,mCADtC,GAEK,mEAFL,GAGK,8EAJH,CAAN;MAKH;IACJ;;IACD,IAAI,KAAKG,eAAL,CAAqB/B,GAArB,CAAyBh5C,GAAzB,CAAJ,EAAmC;MAC/B;IACH;;IACD,KAAK+6C,eAAL,CAAqBhmC,GAArB,CAAyB/U,GAAzB;IACA,MAAMo7C,OAAO,GAAGH,QAAQ,CAACl7C,aAAT,CAAuB,MAAvB,CAAhB;IACAk7C,QAAQ,CAAC1uC,YAAT,CAAsB6uC,OAAtB,EAA+B,IAA/B,EAAqC,OAArC;IACAH,QAAQ,CAAC1uC,YAAT,CAAsB6uC,OAAtB,EAA+B,MAA/B,EAAuCp7C,GAAvC;IACAi7C,QAAQ,CAAC1uC,YAAT,CAAsB6uC,OAAtB,EAA+B,KAA/B,EAAsC,SAAtC;IACAH,QAAQ,CAAC1uC,YAAT,CAAsB6uC,OAAtB,EAA+B,eAA/B,EAAgD,MAAhD;;IACA,IAAID,KAAJ,EAAW;MACPF,QAAQ,CAAC1uC,YAAT,CAAsB6uC,OAAtB,EAA+B,YAA/B,EAA6CD,KAA7C;IACH;;IACD,IAAID,MAAJ,EAAY;MACRD,QAAQ,CAAC1uC,YAAT,CAAsB6uC,OAAtB,EAA+B,aAA/B,EAA8CF,MAA9C;IACH;;IACDD,QAAQ,CAAC76C,WAAT,CAAqB,KAAKP,QAAL,CAAcsM,IAAnC,EAAyCivC,OAAzC;EACH;;AA/CoB;;AAiDzBN,kBAAkB,CAAC/yC,IAAnB;EAAA,iBAA+G+yC,kBAA/G;AAAA;;AACAA,kBAAkB,CAAC5yC,KAAnB,kBA36LmGxH,gEA26LnG;EAAA,OAAmHo6C,kBAAnH;EAAA,SAAmHA,kBAAnH;EAAA,YAAmJ;AAAnJ;;AACA;EAAA,mDA56LmGp6C,+DA46LnG,CAA2Fo6C,kBAA3F,EAA2H,CAAC;IAChHvyC,IAAI,EAAE3E,qDAD0G;IAEhHsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAF0G,CAAD,CAA3H;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM03C,8BAA8B,GAAG,EAAvC;AACA;AACA;AACA;AACA;;AACA,MAAMC,6BAA6B,GAAG,2BAAtC;AACA;AACA;AACA;AACA;;AACA,MAAMC,+BAA+B,GAAG,mCAAxC;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,2BAA2B,GAAG,CAApC;AACA;AACA;AACA;AACA;;AACA,MAAMC,8BAA8B,GAAG,CAAvC;AACA;AACA;AACA;;AACA,MAAMC,0BAA0B,GAAG,CAAC,CAAD,EAAI,CAAJ,CAAnC;AACA;AACA;AACA;;AACA,MAAMC,0BAA0B,GAAG,GAAnC;AACA;AACA;AACA;;AACA,MAAMC,sBAAsB,GAAG,EAA/B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,yBAAyB,GAAG,IAAlC;AACA;AACA;AACA;AACA;;AACA,MAAMC,wBAAwB,GAAG,IAAjC;AACA,MAAMC,yBAAyB,GAAG,IAAlC;AACA;;AACA,MAAMC,gBAAgB,GAAG,CAACxE,eAAD,EAAkBL,kBAAlB,EAAsCN,oBAAtC,CAAzB;AACA,MAAMoF,aAAa,GAAG;EAClBC,WAAW,EAAE,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,EAAoC,GAApC,EAAyC,GAAzC,EAA8C,GAA9C,EAAmD,IAAnD,EAAyD,IAAzD,EAA+D,IAA/D,EAAqE,IAArE,EAA2E,IAA3E;AADK,CAAtB;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG,IAAIl0B,yDAAJ,CAAmB,aAAnB,EAAkC;EAAEtkB,UAAU,EAAE,MAAd;EAAsBD,OAAO,EAAE,MAAMu4C;AAArC,CAAlC,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMG,gBA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E,6BAAT,CAAuClV,GAAvC,EAA4CkT,WAA5C,EAAyD;EACrD,IAAIlT,GAAG,CAACsU,QAAJ,IAAgBpB,WAAW,KAAKtG,eAApC,EAAqD;IACjDpvC,OAAO,CAACmhC,IAAR,CAAate,qEAAmB,CAAC;IAAK;IAAN,EAAwD,GAAEsuB,mBAAmB,CAAC3O,GAAG,CAAC4O,KAAL,CAAY,6CAAlC,GAClF,sEADkF,GAElF,4EAFkF,GAGlF,oFAH2B,CAAhC;EAIH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASuG,iCAAT,CAA2CnV,GAA3C,EAAgDkT,WAAhD,EAA6D;EACzD,IAAIlT,GAAG,CAACoW,YAAJ,IAAoBlD,WAAW,KAAKtG,eAAxC,EAAyD;IACrDpvC,OAAO,CAACmhC,IAAR,CAAate,qEAAmB,CAAC;IAAK;IAAN,EAAwD,GAAEsuB,mBAAmB,CAAC3O,GAAG,CAAC4O,KAAL,CAAY,iDAAlC,GAClF,sEADkF,GAElF,2FAFkF,GAGlF,+FAH2B,CAAhC;EAIH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACp2NA;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,MAAM8L,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;EACd;EACAzkD,WAAW,CAAC0kD,OAAD,EAAU;IACjB;AACR;AACA;AACA;IACQ,KAAK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I,CAAC6pC,UAAW,EAA3G;IACH;;IACD,KAAK98C,KAAL,GAAaiT,IAAI,CAACjT,KAAL,IAAc,IAA3B;EACH;;AAnB4C;AAsBjD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq9C,OAAT,CAAiBtmC,OAAjB,EAA0B9iB,IAA1B,EAAgC;EAC5B,OAAO;IACHA,IADG;IAEHokD,OAAO,EAAEthC,OAAO,CAACshC,OAFd;IAGHrsC,OAAO,EAAE+K,OAAO,CAAC/K,OAHd;IAIHuhC,OAAO,EAAEx2B,OAAO,CAACw2B,OAJd;IAKHtsB,MAAM,EAAElK,OAAO,CAACkK,MALb;IAMH86B,cAAc,EAAEhlC,OAAO,CAACglC,cANrB;IAOHE,YAAY,EAAEllC,OAAO,CAACklC,YAPnB;IAQHD,eAAe,EAAEjlC,OAAO,CAACilC;EARtB,CAAP;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,MAAMsB,UAAN,CAAiB;EACb3pD,WAAW,CAAC6lB,OAAD,EAAU;IACjB,KAAKA,OAAL,GAAeA,OAAf;EACH;EACD;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;;;EACI+jC,OAAO,CAAC9oC,KAAD,EAAQzgB,GAAR,EAAa+iB,OAAO,GAAG,EAAvB,EAA2B;IAC9B,IAAIymC,GAAJ,CAD8B,CAE9B;;IACA,IAAI/oC,KAAK,YAAYmnC,WAArB,EAAkC;MAC9B;MACA;MACA4B,GAAG,GAAG/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M,iBAAxB;AACH;;AACD,SAASG,kBAAT,GAA8B;EAC1B,OAAOV,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;EACxBX,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;EACzBZ,gBAAgB,CAACG,eAAjB,GAAmC,KAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASU,QAAT,GAAoB;EAChB,OAAOb,gBAAgB,CAACC,MAAjB,CAAwBnF,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAASgG,QAAT,GAAoB;EAChB,OAAOd,gBAAgB,CAACC,MAAjB,CAAwB5M,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0N,aAAT,CAAuBC,aAAvB,EAAsC;EAClChB,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GAAuCD,aAAvC;EACA,OAAOA,aAAa,CAAClI,OAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoI,WAAT,CAAqBjwD,KAArB,EAA4B;EACxB+uD,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GAAuC,IAAvC;EACA,OAAOhwD,KAAP;AACH;;AACD,SAASkwD,eAAT,GAA2B;EACvB,IAAIC,YAAY,GAAGC,4BAA4B,EAA/C;;EACA,OAAOD,YAAY,KAAK,IAAjB,IAAyBA,YAAY,CAACn7D,IAAb,KAAsB;EAAG;EAAzD,EAAsF;IAClFm7D,YAAY,GAAGA,YAAY,CAAClrD,MAA5B;EACH;;EACD,OAAOkrD,YAAP;AACH;;AACD,SAASC,4BAAT,GAAwC;EACpC,OAAOrB,gBAAgB,CAACC,MAAjB,CAAwBmB,YAA/B;AACH;;AA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AAqB,GACpB1C,WAAW,CAACjL,mBAAD,CAAX,IAAoC;IAAG;IADxC,GAEA,CAACiL,WAAW,CAACjM,KAAD,CAAX,GAAqB;IAAE;IAAxB,MAAiEiO,SAFrE,EAEgF;MAC5EhC,WAAW,CAACjM,KAAD,CAAX,IAAsB;MAAK;MAA3B;MACA4F,QAAQ,CAAC;MAAE;MAAH,EAA2C8I,SAA3C,EAAsDH,IAAtD,CAAR;;MACA,IAAI;QACAA,IAAI,CAACr0D,IAAL,CAAUw0D,SAAV;MACH,CAFD,SAGQ;QACJ9I,QAAQ,CAAC;QAAE;QAAH,EAAyC8I,SAAzC,EAAoDH,IAApD,CAAR;MACH;IACJ;EACJ,CAfD,MAgBK;IACD3I,QAAQ,CAAC;IAAE;IAAH,EAA2C8I,SAA3C,EAAsDH,IAAtD,CAAR;;IACA,IAAI;MACAA,IAAI,CAACr0D,IAAL,CAAUw0D,SAAV;IACH,CAFD,SAGQ;MACJ9I,QAAQ,CAAC;MAAE;MAAH,EAAyC8I,SAAzC,EAAoDH,IAApD,CAAR;IACH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMK,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;EACtBrqE,WAAW;EACX;AACJ;AACA;EACIoE,OAJW;EAKX;AACJ;AACA;EACI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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,MAAMrrD,cAAN,CAAqB;EACjB;AACJ;AACA;AACA;AACA;AACA;EACI3oB,WAAW,CAACi0E,KAAD,EAAQ7wD,OAAR,EAAiB;IACxB,KAAK6wD,KAAL,GAAaA,KAAb;IACA;;IACA,KAAKjB,cAAL,GAAsB,gBAAtB;IACA,KAAKpqE,KAAL,GAAakK,SAAb;;IACA,IAAI,OAAOsQ,OAAP,IAAkB,QAAtB,EAAgC;MAC5B,CAAC,OAAOra,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACI+pD,cAAc,CAAC1vC,OAAD,EAAU,CAAV,EAAa,0CAAb,CADlB,CAD4B,CAG5B;MACA;;MACA,KAAKg1C,iBAAL,GAAyBh1C,OAAzB;IACH,CAND,MAOK,IAAIA,OAAO,KAAKtQ,SAAhB,EAA2B;MAC5B,KAAKlK,KAAL,GAAaC,kBAAkB,CAAC;QAC5BC,KAAK,EAAE,IADqB;QAE5BzE,UAAU,EAAE+e,OAAO,CAAC/e,UAAR,IAAsB,MAFN;QAG5BD,OAAO,EAAEgf,OAAO,CAAChf;MAHW,CAAD,CAA/B;IAKH;EACJ;EACD;AACJ;AACA;;;EACa,IAALsrD,KAAK,GAAG;IACR,OAAO,IAAP;EACH;;EACDjpC,QAAQ,GAAG;IACP,OAAQ,kBAAiB,KAAKwtD,KAAM,EAApC;EACH;;AAnCgB;AAsCrB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,4BAA4B,GAAG,IAAIvrD,cAAJ,CAAmB,2BAAnB,CAArC,EACA;AACA;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uC;EACnC,OAAOgwE,OAAO,CAACn1C,GAAR,CAAY76B,EAAZ,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuwE,mCAAT,CAA6CC,eAA7C,EAA8D;EAC1DP,0BAA0B,GAAG,CAACO,eAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,sBAAsB,GAAG;EAC3B75E,IAAI,EAAE;AADqB,CAA/B;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM85E,gBAAgB,GAAG;EACrB95E,IAAI,EAAE;AADe,CAAzB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI+5E,gCAAgC,GAAG,KAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,4BAAT,CAAsCC,WAAtC,EAAmD;EAC/CF,gCAAgC,GAAGE,WAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASC,4BAAT,GAAwC;EACpC,OAAOH,gCAAP;AACH;;AACD,IAAII,iCAAiC,GAAG,KAAxC;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,6BAAT,CAAuCH,WAAvC,EAAoD;EAChDE,iCAAiC,GAAGF,WAApC;AACH;AACD;AACA;AACA;;;AACA,SAASI,6BAAT,GAAyC;EACrC,OAAOF,iCAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,sBAAT,CAAgCtkC,OAAhC,EAAyCskB,KAAzC,EAAgDigB,OAAhD,EAAyDnkB,OAAzD,EAAkEokB,aAAlE,EAAiF;EAC7E;EACA;EACA;EACA;EACA,IAAIpkB,OAAO,KAAK,IAAhB,EACI,OANyE,CAO7E;;EACA,IAAI,CAACokB,aAAD,IAAkBD,OAAO,KAAK,IAAlC,EAAwC;IACpC;IACA;IACA;IACA,MAAME,SAAS,GACf;IACA;IACC,OAAOC,kBAAP,KAA8B,WAA9B,IAA6CA,k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ACA;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;EACrB;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;EACkB,OAAPp7F,OAAO,CAACwvC,SAAD,EAAY;IACtB,OAAO+qD,0BAA0B,CAAC/qD,SAAD,CAAjC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EAC2B,OAAhB6rD,gBAAgB,CAAC7rD,SAAD,EAAYh+B,MAAZ,EAAoB;IACvC,MAAM8pF,2BAA2B,GAAGF,kBAAkB,CAACp7F,OAAnB,CAA2BwvC,SAA3B,CAApC;IACA,OAAO4rD,kBAAkB,CAACG,qBAAnB,CAAyCD,2BAAzC,EAAsE9pF,MAAtE,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACgC,OAArB+pF,qBAAqB,CAAC/rD,SAAD,EAAYh+B,MAAZ,EAAoB;IAC5C,OAAO,IAAIgqF,mBAAJ,CAAwBhsD,SAAxB,EAAmCh+B,MAAnC,CAAP;EACH;;AAzFoB;;AA2FzB,MAAMgqF,mBAAN,CAA0B;EACtB;AACJ;AACA;EACIljG,WAAW,CAACmjG,UAAD,EAAaC,OAAb,EAAsB;IAC7B;IACA,KAAKC,oBAAL,GAA4B,CAA5B;IACA,KAAKF,UAAL,GAAkBA,UAAlB;IACA,KAAKjqF,MAAL,GAAckqF,OAAO,IAAI,IAAzB;IACA,MAAME,GAAG,GAAGH,UAAU,CAACh7F,MAAvB;IACA,KAAKo7F,MAAL,GAAc,E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OAAT,CAAiB,IAAjB,CAAH,GAA4B,CAAC,CAAnD;;QACA,IAAIsa,KAAK,GAAG,CAAC,CAAb,EAAgB;UACZ1X,SAAS,IACL0pD,WAAW,CAAChyC,KAAD,EAAQvH,MAAM,CAAC/S,OAAP,CAAe,KAAKirE,MAApB,IAA8BhU,uBAAtC,EAA+D,6GAA/D,CADf;UAEA4oB,UAAU,CAAC9sE,MAAD,EAASuH,KAAT,CAAV;UACAm1D,eAAe,CAACohC,QAAD,EAAWv2F,KAAX,CAAf;QACH;MACJ;;MACD,KAAKq2F,wBAAL,GAAgC,KAAhC;IACH;;IACD1wB,YAAY,CAAC,KAAKhV,MAAL,CAAY7V,KAAZ,CAAD,EAAqB,KAAK6V,MAA1B,CAAZ;EACH;;EACDjW,SAAS,CAACx6C,QAAD,EAAW;IAChB8vF,uBAAuB,CAAC,KAAKr/B,MAAL,CAAY7V,KAAZ,CAAD,EAAqB,KAAK6V,MAA1B,EAAkC,IAAlC,EAAwCzwD,QAAxC,CAAvB;EACH;EACD;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;;;EACI+uB,YAAY,GAAG;IACX0lE,aAAa,CAAC,KAAKwB,mBAAL,IAA4B,KAAKxlC,MAAlC,CAAb;EACH;EACD;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;;;EACI6lC,MAAM,GAAG;IACL,KAAK7lC,MAAL,CAAY5V,KAAZ,KAAsB,CAAC;IAAG;IAA1B;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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ACrT,MAA3B,EAAmCG,CAAC,IAAI,CAAxC,EAA2C;QACvCi3G,sBAAsB,CAACpzG,IAAvB,CAA4BqP,MAAM,CAAClT,CAAD,CAAlC;MACH;;MACDotG,4BAA4B,CAACr/C,KAAK,CAAC9lC,IAAP,EAAa6lC,KAAb,EAAoB+c,QAApB,EAA8BlO,eAAe,KAAKs6C,sBAAsB,CAACp3G,MAA3C,GAAoD,CAAlF,EAAqF,GAAGo3G,sBAAxF,CAA5B;IACH;EACJ;;EACD,OAAOoE,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;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,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoM,sBAAT,CAAgCzvG,MAAhC,EAAwC;EACpC,MAAMsiD,KAAK,GAAG+F,QAAQ,EAAtB;EACA,MAAMg7C,iBAAiB,GAAGzB,cAAc,CAACt/C,KAAD,EAAQtiD,MAAR,CAAxC;EACAyrG,eAAe,CAACzwC,gBAAD,EAAmB4wC,iBAAnB,EAAsCvI,iBAAtC,EAAyD,IAAzD,CAAf;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,SAASqM,sBAAT,CAAgCpwB,MAAhC,EAAwCyiB,EAAxC,EAA4CC,MAA5C,EAAoD;EAChD,MAAM1/C,KAAK,GAAG+F,QAAQ,EAAtB;EACA,MAAMg7C,iBAAiB,GAAGvB,cAAc,CAACx/C,KAAD,EAAQg9B,MAAR,EAAgByiB,EAAhB,EAAoBC,MAApB,CAAxC;EACAwJ,UAAU,CAACnI,iBAAD,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,SAASsM,sBAAT,CAAgCrwB,MAAhC,EAAwCyiB,EAAxC,EAA4Cn8G,EAA5C,EAAgDs8G,EAAhD,EAAoDF,MAApD,EAA4D;EACxD,MAAM1/C,KAAK,GAAG+F,QAAQ,EAAtB;EACA,MAAMg7C,iBAAiB,GAAGpB,cAAc,CAAC3/C,KAAD,EAAQg9B,MAAR,EAAgByiB,EAAhB,EAAoBn8G,EAApB,EAAwBs8G,EAAxB,EAA4BF,MAA5B,CAAxC;EACAwJ,UAAU,CAACnI,iBAAD,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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QAAD,IAAcA,QAA3B,EAAqC1zB,SAArC,EAAgDA,SAAhD;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC7J,IAAD,EAAO8qE,IAAP,KAAgB02D,eAAe,CAACxhI,IAAD,EAAO8qE,IAAP,CAZD,CAA9B;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS18D,IAAT,CAAc,GAAGzM,IAAjB,EAAuB,CACnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMmmI,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,IAAIroH,cAAJ,CAAmB,yBAAnB,CAAxB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMsoH,qBAAN,CAA4B;EACxBjxI,WAAW,CAACkxI,QAAD,EAAW;IAClB,KAAKA,QAAL,GAAgBA,QAAhB;IACA,KAAKxpI,OAAL,GAAe2P,IAAf;IACA,KAAKtB,MAAL,GAAcsB,IAAd;IACA,KAAK85H,WAAL,GAAmB,KAAnB;IACA,KAAKzyH,IAAL,GAAY,KAAZ;IACA,KAAK0yH,WAAL,GAAmB,IAAI3pI,OAAJ,CAAY,CAAC8qB,GAAD,EAAM8+G,GAAN,KAAc;MACzC,KAAK3pI,OAAL,GAAe6qB,GAAf;MACA,KAAKxc,MAAL,GAAcs7H,GAAd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B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiuI,eAAT,GAA2B;EACvB,IAAI,OAAO/lB,iBAAP,KAA6B,WAA7B,IAA4CA,iBAA5C,IACA,OAAOC,IAAP,KAAgB,WADhB,IAC+BA,IAAI,CAAC+lB,MAAL,KAAgB,IADnD,EACyD;IACrD;IACA;IACA;IACA,OAAO/lB,IAAI,CAAC+lB,MAAZ;EACH,CAND,MAOK;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,OAAQ,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAAS,CAACriH,MAA/C,IAA0Dy9F,iBAAjE;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMzkG,SAAS,GAAG,IAAIR,cAAJ,CAAmB,UAAnB,EAA+B;EAC7CtkB,UAAU,EAAE,MADiC;EAE7CD,OAAO,EAAE,MAAMwkB,MAAM,CAACO,SAAD,EAAYqrC,WAAW,CAAC3rC,QAAZ,GAAuB2rC,WAAW,CAAC6R,QAA/C,CAAN,IAAkEisE,eAAe;AAFnD,CAA/B,CAAlB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMtoH,qBAAqB,GAAG,IAAIrB,cAAJ,CAAmB,qBAAnB,EAA0C;EACpEtkB,UAAU,EAAE,MADwD;EAEpED,OAAO,EAAE,MAAMypH;AAFqD,CAA1C,CAA9B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4kB,YAAY,GAAG,IAAI9pH,cAAJ,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ACA,IAAI,OAAOw+E,IAAP,KAAgB,WAAhB,IAA+BE,2BAA/B,IAA8DC,0BAAlE,EAA8F;IAC1F;IACA;IACA,MAAMC,8BAA8B,GAAGF,2BAA2B,CAACF,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAlE;;IACA,IAAID,8BAAJ,EAAoC;MAChCF,2BAA2B,GAAGE,8BAA9B;IACH;;IACD,MAAME,6BAA6B,GAAGH,0BAA0B,CAACH,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAhE;;IACA,IAAIC,6BAAJ,EAAmC;MAC/BH,0BAA0B,GAAGG,6BAA7B;IACH;EACJ;;EACD,OAAO;IAAEJ,2BAAF;IAA+BC;EAA/B,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM9pH,MAAN,CAAa;EACTvqB,WAAW,CAAC;IAAEy0I,oBAAoB,GAAG,KAAzB;IAAgCC,kCAAkC,GAAG,KAArE;IAA4EC,gCAAgC,GAAG;EAA/G,CAAD,EAAyH;IAChI,KAAKC,oBAAL,GAA4B,KAA5B;IACA,KAAKC,oBAAL,GAA4B,KAA5B;IACA;AACR;AACA;;IACQ,KAAKC,QAAL,GAAgB,IAAhB;IACA;AACR;AACA;;IACQ,KAAKC,UAAL,GAAkB,IAAIjsH,YAAJ,CAAiB,KAAjB,CAAlB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKksH,gBAAL,GAAwB,IAAIlsH,YAAJ,CAAiB,KAAjB,CAAxB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKmsH,QAAL,GAAgB,IAAInsH,YAAJ,CAAiB,KAAjB,CAAhB;IACA;AACR;AACA;;IACQ,KAAKrJ,OAAL,GAAe,IAAIqJ,YAAJ,CAAiB,KAAjB,CAAf;;IACA,IAAI,OAAOorH,IAAP,IAAe,WAAnB,EAAgC;MAC5B,MAAM,IAAIrjF,YAAJ,CAAiB;MAAI;MAArB,EAA4D9nD,SAAS,IAAK,gDAA1E,CAAN;IACH;;IACDmrI,IAAI,CAACgB,iBAAL;IACA,MAAMr/E,IAAI,GAAG,IAAb;IACAA,IAAI,CAACs/E,QAAL,GAAgB,CAAhB;IACAt/E,IAAI,CAACu/E,MAAL,GAAcv/E,IAAI,CAACw/E,MAAL,GAAcnB,IAAI,CAACtzE,OAAjC;;IACA,IAAIszE,IAAI,CAAC,2BAAD,CAAR,EAAuC;MACnC,MAAMoB,yBAAyB,GAAGpB,IAAI,CAAC,2BAAD,CAAtC;MACAr+E,IAAI,CAACw/E,MAAL,GAAcx/E,IAAI,CAACw/E,MAAL,CAAYE,IAAZ,CAAiB,IAAID,yBAAJ,CAA8B,SAA9B,CAAjB,CAAd;IACH;;IACD,IAAIpB,IAAI,CAAC,sBAAD,CAAR,EAAkC;MAC9Br+E,IAAI,CAACw/E,MAAL,GAAcx/E,IAAI,CAACw/E,MAAL,CAAYE,IAAZ,CAAiB,IAAIrB,IAAI,CAAC,sBAAD,CAAR,EAAjB,CAAd;IACH;;IACD,IAAIO,oBAAoB,IAAIP,IAAI,CAAC,wBAAD,CAAhC,EAA4D;MACxDr+E,IAAI,CAACw/E,MAAL,GAAcx/E,IAAI,CAACw/E,MAAL,CAAYE,IAAZ,CAAiBrB,IAAI,CAAC,wBAAD,CAArB,CAAd;IACH,CA3C+H,CA4ChI;IACA;;;IACAr+E,IAAI,CAAC6+E,kCAAL,GACI,CAACC,gCAAD,IAAqCD,kCADzC;IAEA7+E,IAAI,CAAC8+E,gCAAL,GAAwCA,gCAAxC;IACA9+E,IAAI,CAAC2/E,2BAAL,GAAmC,CAAC,CAApC;IACA3/E,IAAI,CAACu+E,2BAAL,GAAmCD,8BAA8B,GAAGC,2BAApE;IACAqB,gCAAgC,CAAC5/E,IAAD,CAAhC;EACH;;EACqB,OAAf6/E,eAAe,GAAG;IACrB;IACA,OAAO,OAAOxB,IAAP,KAAgB,WAAhB,IAA+BA,IAAI,CAACtzE,OAAL,CAAan5B,GAAb,CAAiB,eAAjB,MAAsC,IAA5E;EACH;;EACyB,OAAnBkuG,mBAAmB,GAAG;IACzB,IAAI,CAACprH,MAAM,CAACmrH,eAAP,EAAL,EAA+B;MAC3B,MAAM,IAAI7kF,YAAJ,CAAiB;MAAI;MAArB,EAAmE9nD,SAAS,IAAI,gDAAhF,CAAN;IACH;EACJ;;EAC4B,OAAtB6sI,sBAAsB,GAAG;IAC5B,IAAIrrH,MAAM,CAACmrH,eAAP,EAAJ,EAA8B;MAC1B,MAAM,IAAI7kF,YAAJ,CAAiB;MAAI;MAArB,EAAmE9nD,SAAS,IAAI,gDAAhF,CAAN;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI8sI,GAAG,CAAC79H,EAAD,EAAK89H,SAAL,EAAgBC,SAAhB,EAA2B;IAC1B,OAAO,KAAKV,MAAL,CAAYQ,GAAZ,CAAgB79H,EAAhB,EAAoB89H,SAApB,EAA+BC,SAA/B,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIC,OAAO,CAACh+H,EAAD,EAAK89H,SAAL,EAAgBC,SAAhB,EAA2BvyI,IAA3B,EAAiC;IACpC,MAAMm3B,IAAI,GAAG,KAAK06G,MAAlB;IACA,MAAMY,IAAI,GAAGt7G,IAAI,CAACu7G,iBAAL,CAAuB,kBAAkB1yI,IAAzC,EAA+CwU,EAA/C,EAAmDm+H,aAAnD,EAAkE9+H,IAAlE,EAAwEA,IAAxE,CAAb;;IACA,IAAI;MACA,OAAOsjB,IAAI,CAACq7G,OAAL,CAAaC,IAAb,EAAmBH,SAAnB,EAA8BC,SAA9B,CAAP;IACH,CAFD,SAGQ;MACJp7G,IAAI,CAACy7G,UAAL,CAAgBH,IAAhB;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACII,UAAU,CAACr+H,EAAD,EAAK89H,SAAL,EAAgBC,SAAhB,EAA2B;IACjC,OAAO,KAAKV,MAAL,CAAYgB,UAAZ,CAAuBr+H,EAAvB,EAA2B89H,SAA3B,EAAsCC,SAAtC,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI32F,iBAAiB,CAACpnC,EAAD,EAAK;IAClB,OAAO,KAAKo9H,MAAL,CAAYS,GAAZ,CAAgB79H,EAAhB,CAAP;EACH;;AA/HQ;;AAiIb,MAAMm+H,aAAa,GAAG,EAAtB;;AACA,SAASG,WAAT,CAAqB37G,IAArB,EAA2B;EACvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAIA,IAAI,CAACw6G,QAAL,IAAiB,CAAjB,IAAsB,CAACx6G,IAAI,CAACk6G,oBAA5B,IAAoD,CAACl6G,IAAI,CAACm6G,QAA9D,EAAwE;IACpE,IAAI;MACAn6G,IAAI,CAACw6G,QAAL;MACAx6G,IAAI,CAACq6G,gBAAL,CAAsBlmH,IAAtB,CAA2B,IAA3B;IACH,CAHD,SAIQ;MACJ6L,IAAI,CAACw6G,QAAL;;MACA,IAAI,CAACx6G,IAAI,CAACk6G,oBAAV,EAAgC;QAC5B,IAAI;UACAl6G,IAAI,CAACykB,iBAAL,CAAuB,MAAMzkB,IAAI,CAACs6G,QAAL,CAAcnmH,IAAd,CAAmB,IAAnB,CAA7B;QACH,CAFD,SAGQ;UACJ6L,IAAI,CAACm6G,QAAL,GAAgB,IAAhB;QACH;MACJ;IACJ;EACJ;AACJ;;AACD,SAASyB,6BAAT,CAAuC57G,IAAvC,EAA6C;EACzC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,IAAIA,IAAI,CAAC67G,oBAAL,IAA6B77G,IAAI,CAAC66G,2BAAL,KAAqC,CAAC,CAAvE,EAA0E;IACtE;EACH;;EACD76G,IAAI,CAAC66G,2BAAL,GAAmC76G,IAAI,CAACy5G,2BAAL,CAAiC1+H,IAAjC,CAAsCggD,OAAtC,EAA+C,MAAM;IACpF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,CAAC/6B,IAAI,CAAC87G,gBAAV,EAA4B;MACxB97G,IAAI,CAAC87G,gBAAL,GAAwBvC,IAAI,CAACwC,IAAL,CAAUR,iBAAV,CAA4B,kBAA5B,EAAgD,MAAM;QAC1Ev7G,IAAI,CAAC66G,2BAAL,GAAmC,CAAC,CAApC;QACAmB,qBAAqB,CAACh8G,IAAD,CAArB;QACAA,IAAI,CAAC67G,oBAAL,GAA4B,IAA5B;QACAF,WAAW,CAAC37G,IAAD,CAAX;QACAA,IAAI,CAAC67G,oBAAL,GAA4B,KAA5B;MACH,CANuB,EAMrB1jI,SANqB,EAMV,MAAM,CAAG,CANC,EAMC,MAAM,CAAG,CANV,CAAxB;IAOH;;IACD6nB,IAAI,CAAC87G,gBAAL,CAAsBG,MAAtB;EACH,CApBkC,CAAnC;EAqBAD,qBAAqB,CAACh8G,IAAD,CAArB;AACH;;AACD,SAAS86G,gCAAT,CAA0C96G,IAA1C,EAAgD;EAC5C,MAAMk8G,qCAAqC,GAAG,MAAM;IAChDN,6BAA6B,CAAC57G,IAAD,CAA7B;EACH,CAFD;;EAGAA,IAAI,CAAC06G,MAAL,GAAc16G,IAAI,CAAC06G,MAAL,CAAYE,IAAZ,CAAiB;IAC3B/xI,IAAI,EAAE,SADqB;IAE3BszI,UAAU,EAAE;MAAE,iBAAiB;IAAnB,CAFe;IAG3BC,YAAY,EAAE,CAAChxH,QAAD,EAAW66C,OAAX,EAAoB9sB,MAApB,EAA4BmiG,IAA5B,EAAkCH,SAAlC,EAA6CC,SAA7C,KAA2D;MACrE,IAAI;QACAiB,OAAO,CAACr8G,IAAD,CAAP;QACA,OAAO5U,QAAQ,CAACkxH,UAAT,CAAoBnjG,MAApB,EAA4BmiG,IAA5B,EAAkCH,SAAlC,EAA6CC,SAA7C,CAAP;MACH,CAHD,SAIQ;QACJ,IAAKp7G,IAAI,CAAC+5G,kCAAL,IAA2CuB,IAAI,CAAChtI,IAAL,KAAc,WAA1D,IACA0xB,IAAI,CAACg6G,gCADT,EAC2C;UACvCkC,qCAAqC;QACxC;;QACDK,OAAO,CAACv8G,IAAD,CAAP;MACH;IACJ,CAf0B;IAgB3Bw8G,QAAQ,EAAE,CAACpxH,QAAD,EAAW66C,OAAX,EAAoB9sB,MAApB,EAA4BnzB,QAA5B,EAAsCm1H,SAAtC,EAAiDC,SAAjD,EAA4DzgI,MAA5D,KAAuE;MAC7E,IAAI;QACA0hI,OAAO,CAACr8G,IAAD,CAAP;QACA,OAAO5U,QAAQ,CAAC6wH,MAAT,CAAgB9iG,MAAhB,EAAwBnzB,QAAxB,EAAkCm1H,SAAlC,EAA6CC,SAA7C,EAAwDzgI,MAAxD,CAAP;MACH,CAHD,SAIQ;QACJ,IAAIqlB,IAAI,CAACg6G,gCAAT,EAA2C;UACvCkC,qCAAqC;QACxC;;QACDK,OAAO,CAACv8G,IAAD,CAAP;MACH;IACJ,CA3B0B;IA4B3By8G,SAAS,EAAE,CAACrxH,QAAD,EAAW66C,OAAX,EAAoB9sB,MAApB,EAA4BujG,YAA5B,KAA6C;MACpDtxH,QAAQ,CAACuxH,OAAT,CAAiBxjG,MAAjB,EAAyBujG,YAAzB;;MACA,IAAIz2E,OAAO,KAAK9sB,MAAhB,EAAwB;QACpB;QACA;QACA,IAAIujG,YAAY,CAACE,MAAb,IAAuB,WAA3B,EAAwC;UACpC58G,IAAI,CAAC68G,qBAAL,GAA6BH,YAAY,CAACI,SAA1C;UACAd,qBAAqB,CAACh8G,IAAD,CAArB;UACA27G,WAAW,CAAC37G,IAAD,CAAX;QACH,CAJD,MAKK,IAAI08G,YAAY,CAACE,MAAb,IAAuB,WAA3B,EAAwC;UACzC58G,IAAI,CAACi6G,oBAAL,GAA4ByC,YAAY,CAACK,SAAzC;QACH;MACJ;IACJ,CA1C0B;IA2C3BC,aAAa,EAAE,CAAC5xH,QAAD,EAAW66C,OAAX,EAAoB9sB,MAApB,EAA4BznC,KAA5B,KAAsC;MACjD0Z,QAAQ,CAACwzE,WAAT,CAAqBzlD,MAArB,EAA6BznC,KAA7B;MACAsuB,IAAI,CAACykB,iBAAL,CAAuB,MAAMzkB,IAAI,CAAClb,OAAL,CAAaqP,IAAb,CAAkBziB,KAAlB,CAA7B;MACA,OAAO,KAAP;IACH;EA/C0B,CAAjB,CAAd;AAiDH;;AACD,SAASsqI,qBAAT,CAA+Bh8G,IAA/B,EAAqC;EACjC,IAAIA,IAAI,CAAC68G,qBAAL,IACC,CAAC78G,IAAI,CAAC+5G,kCAAL,IAA2C/5G,IAAI,CAACg6G,gCAAjD,KACGh6G,IAAI,CAAC66G,2BAAL,KAAqC,CAAC,CAF9C,EAEkD;IAC9C76G,IAAI,CAACk6G,oBAAL,GAA4B,IAA5B;EACH,CAJD,MAKK;IACDl6G,IAAI,CAACk6G,oBAAL,GAA4B,KAA5B;EACH;AACJ;;AACD,SAASmC,OAAT,CAAiBr8G,IAAjB,EAAuB;EACnBA,IAAI,CAACw6G,QAAL;;EACA,IAAIx6G,IAAI,CAACm6G,QAAT,EAAmB;IACfn6G,IAAI,CAACm6G,QAAL,GAAgB,KAAhB;IACAn6G,IAAI,CAACo6G,UAAL,CAAgBjmH,IAAhB,CAAqB,IAArB;EACH;AACJ;;AACD,SAASooH,OAAT,CAAiBv8G,IAAjB,EAAuB;EACnBA,IAAI,CAACw6G,QAAL;EACAmB,WAAW,CAAC37G,IAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAMi9G,UAAN,CAAiB;EACb53I,WAAW,GAAG;IACV,KAAK60I,oBAAL,GAA4B,KAA5B;IACA,KAAKD,oBAAL,GAA4B,KAA5B;IACA,KAAKE,QAAL,GAAgB,IAAhB;IACA,KAAKC,UAAL,GAAkB,IAAIjsH,YAAJ,EAAlB;IACA,KAAKksH,gBAAL,GAAwB,IAAIlsH,YAAJ,EAAxB;IACA,KAAKmsH,QAAL,GAAgB,IAAInsH,YAAJ,EAAhB;IACA,KAAKrJ,OAAL,GAAe,IAAIqJ,YAAJ,EAAf;EACH;;EACD+sH,GAAG,CAAC79H,EAAD,EAAK89H,SAAL,EAAgBC,SAAhB,EAA2B;IAC1B,OAAO/9H,EAAE,CAACs7D,KAAH,CAASwiE,SAAT,EAAoBC,SAApB,CAAP;EACH;;EACDM,UAAU,CAACr+H,EAAD,EAAK89H,SAAL,EAAgBC,SAAhB,EAA2B;IACjC,OAAO/9H,EAAE,CAACs7D,KAAH,CAASwiE,SAAT,EAAoBC,SAApB,CAAP;EACH;;EACD32F,iBAAiB,CAACpnC,EAAD,EAAK;IAClB,OAAOA,EAAE,EAAT;EACH;;EACDg+H,OAAO,CAACh+H,EAAD,EAAK89H,SAAL,EAAgBC,SAAhB,EAA2BvyI,IAA3B,EAAiC;IACpC,OAAOwU,EAAE,CAACs7D,KAAH,CAASwiE,SAAT,EAAoBC,SAApB,CAAP;EACH;;AArBY;AAwBjB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8B,WAAW,GAAG,IAAIlvH,cAAJ,CAAmB,EAAnB,CAApB;AACA;AACA;AACA;;AACA,MAAMmvH,kBAAkB,GAAG,IAAInvH,cAAJ,CAAmB,EAAnB,CAA3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMovH,WAAN,CAAkB;EACd/3I,WAAW,CAACg4I,OAAD,EAAUpkC,QAAV,EAAoBqkC,iBAApB,EAAuC;IAC9C,KAAKD,OAAL,GAAeA,OAAf;IACA,KAAKpkC,QAAL,GAAgBA,QAAhB;IACA,KAAKskC,aAAL,GAAqB,CAArB;IACA,KAAKC,aAAL,GAAqB,IAArB;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAKC,QAAL,GAAgB,KAAhB;IACA,KAAKC,UAAL,GAAkB,EAAlB;IACA,KAAKC,gBAAL,GAAwB,IAAxB,CAb8C,CAc9C;IACA;;IACA,IAAI,CAACC,kBAAL,EAAyB;MACrBC,oBAAoB,CAACP,iBAAD,CAApB;MACAA,iBAAiB,CAACQ,WAAlB,CAA8B7kC,QAA9B;IACH;;IACD,KAAK8kC,mBAAL;;IACAV,OAAO,CAACnC,GAAR,CAAY,MAAM;MACd,KAAKyC,gBAAL,GACI,OAAOpE,IAAP,IAAe,WAAf,GAA6B,IAA7B,GAAoCA,IAAI,CAACtzE,OAAL,CAAan5B,GAAb,CAAiB,kBAAjB,CADxC;IAEH,CAHD;EAIH;;EACDixG,mBAAmB,GAAG;IAClB,KAAKV,OAAL,CAAajD,UAAb,CAAwB/yI,SAAxB,CAAkC;MAC9BC,IAAI,EAAE,MAAM;QACR,KAAKm2I,QAAL,GAAgB,IAAhB;QACA,KAAKD,aAAL,GAAqB,KAArB;MACH;IAJ6B,CAAlC;;IAMA,KAAKH,OAAL,CAAa54F,iBAAb,CAA+B,MAAM;MACjC,KAAK44F,OAAL,CAAa/C,QAAb,CAAsBjzI,SAAtB,CAAgC;QAC5BC,IAAI,EAAE,MAAM;UACRsoB,MAAM,CAACqrH,sBAAP;UACA3B,iBAAiB,CAAC,MAAM;YACpB,KAAKkE,aAAL,GAAqB,IAArB;;YACA,KAAKQ,oBAAL;UACH,CAHgB,CAAjB;QAIH;MAP2B,CAAhC;IASH,CAVD;EAWH;EACD;AACJ;AACA;AACA;;;EACIC,2BAA2B,GAAG;IAC1B,KAAKV,aAAL,IAAsB,CAAtB;IACA,KAAKE,QAAL,GAAgB,IAAhB;IACA,OAAO,KAAKF,aAAZ;EACH;EACD;AACJ;AACA;AACA;;;EACIW,2BAA2B,GAAG;IAC1B,KAAKX,aAAL,IAAsB,CAAtB;;IACA,IAAI,KAAKA,aAAL,GAAqB,CAAzB,EAA4B;MACxB,MAAM,IAAI9yH,KAAJ,CAAU,mCAAV,CAAN;IACH;;IACD,KAAKuzH,oBAAL;;IACA,OAAO,KAAKT,aAAZ;EACH;EACD;AACJ;AACA;;;EACIpD,QAAQ,GAAG;IACP,OAAO,KAAKqD,aAAL,IAAsB,KAAKD,aAAL,KAAuB,CAA7C,IAAkD,CAAC,KAAKF,OAAL,CAAapD,oBAAvE;EACH;;EACD+D,oBAAoB,GAAG;IACnB,IAAI,KAAK7D,QAAL,EAAJ,EAAqB;MACjB;MACAb,iBAAiB,CAAC,MAAM;QACpB,OAAO,KAAKoE,UAAL,CAAgBlwI,MAAhB,KAA2B,CAAlC,EAAqC;UACjC,IAAIqf,EAAE,GAAG,KAAK6wH,UAAL,CAAgBzxH,GAAhB,EAAT;;UACAZ,YAAY,CAACwB,EAAE,CAACsxH,SAAJ,CAAZ;UACAtxH,EAAE,CAACuxH,MAAH,CAAU,KAAKX,QAAf;QACH;;QACD,KAAKA,QAAL,GAAgB,KAAhB;MACH,CAPgB,CAAjB;IAQH,CAVD,MAWK;MACD;MACA,IAAIY,OAAO,GAAG,KAAKC,eAAL,EAAd;MACA,KAAKZ,UAAL,GAAkB,KAAKA,UAAL,CAAgB93H,MAAhB,CAAwBiH,EAAD,IAAQ;QAC7C,IAAIA,EAAE,CAAC0xH,QAAH,IAAe1xH,EAAE,CAAC0xH,QAAH,CAAYF,OAAZ,CAAnB,EAAyC;UACrChzH,YAAY,CAACwB,EAAE,CAACsxH,SAAJ,CAAZ;UACA,OAAO,KAAP;QACH;;QACD,OAAO,IAAP;MACH,CANiB,CAAlB;MAOA,KAAKV,QAAL,GAAgB,IAAhB;IACH;EACJ;;EACDa,eAAe,GAAG;IACd,IAAI,CAAC,KAAKX,gBAAV,EAA4B;MACxB,OAAO,EAAP;IACH,CAHa,CAId;;;IACA,OAAO,KAAKA,gBAAL,CAAsBa,UAAtB,CAAiCj4H,GAAjC,CAAsCvY,CAAD,IAAO;MAC/C,OAAO;QACH2M,MAAM,EAAE3M,CAAC,CAAC2M,MADP;QAEH;QACA;QACA8jI,gBAAgB,EAAEzwI,CAAC,CAACywI,gBAJjB;QAKH7oH,IAAI,EAAE5nB,CAAC,CAAC4nB;MALL,CAAP;IAOH,CARM,CAAP;EASH;;EACD8oH,WAAW,CAAC7xH,EAAD,EAAK1B,OAAL,EAAcozH,QAAd,EAAwB;IAC/B,IAAIJ,SAAS,GAAG,CAAC,CAAjB;;IACA,IAAIhzH,OAAO,IAAIA,OAAO,GAAG,CAAzB,EAA4B;MACxBgzH,SAAS,GAAGp2I,UAAU,CAAC,MAAM;QACzB,KAAK21I,UAAL,GAAkB,KAAKA,UAAL,CAAgB93H,MAAhB,CAAwBiH,EAAD,IAAQA,EAAE,CAACsxH,SAAH,KAAiBA,SAAhD,CAAlB;QACAtxH,EAAE,CAAC,KAAK4wH,QAAN,EAAgB,KAAKa,eAAL,EAAhB,CAAF;MACH,CAHqB,EAGnBnzH,OAHmB,CAAtB;IAIH;;IACD,KAAKuyH,UAAL,CAAgBlsI,IAAhB,CAAqB;MAAE4sI,MAAM,EAAEvxH,EAAV;MAAcsxH,SAAS,EAAEA,SAAzB;MAAoCI,QAAQ,EAAEA;IAA9C,CAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACII,UAAU,CAACP,MAAD,EAASjzH,OAAT,EAAkBozH,QAAlB,EAA4B;IAClC,IAAIA,QAAQ,IAAI,CAAC,KAAKZ,gBAAtB,EAAwC;MACpC,MAAM,IAAIlzH,KAAJ,CAAU,uEACZ,0DADE,CAAN;IAEH,CAJiC,CAKlC;;;IACA,KAAKi0H,WAAL,CAAiBN,MAAjB,EAAyBjzH,OAAzB,EAAkCozH,QAAlC;;IACA,KAAKP,oBAAL;EACH;EACD;AACJ;AACA;AACA;;;EACIY,sBAAsB,GAAG;IACrB,OAAO,KAAKrB,aAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIsB,mBAAmB,CAAC1wI,KAAD,EAAQ;IACvB,KAAK8qG,QAAL,CAAc4lC,mBAAd,CAAkC1wI,KAAlC,EAAyC,IAAzC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI2wI,qBAAqB,CAAC3wI,KAAD,EAAQ;IACzB,KAAK8qG,QAAL,CAAc6lC,qBAAd,CAAoC3wI,KAApC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI4wI,aAAa,CAACC,KAAD,EAAQloF,QAAR,EAAkBmoF,UAAlB,EAA8B;IACvC;IACA,OAAO,EAAP;EACH;;AAlLa;;AAoLlB7B,WAAW,CAACtvI,IAAZ,GAAmB,SAASoxI,mBAAT,CAA6BlxI,CAA7B,EAAgC;EAAE,OAAO,KAAKA,CAAC,IAAIovI,WAAV,EAAuBllI,QAAQ,CAAC0X,MAAD,CAA/B,EAAyC1X,QAAQ,CAACinI,mBAAD,CAAjD,EAAwEjnI,QAAQ,CAACilI,kBAAD,CAAhF,CAAP;AAA+G,CAApK;;AACAC,WAAW,CAACnvI,KAAZ,GAAoB,aAAcC,kBAAkB,CAAC;EAAEC,KAAK,EAAEivI,WAAT;EAAsB3zI,OAAO,EAAE2zI,WAAW,CAACtvI;AAA3C,CAAD,CAApD;;AACA,CAAC,YAAY;EAAE,CAAC,OAAOM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD82H,gBAAgB,CAACkY,WAAD,EAAc,CAAC;IACzF9uI,IAAI,EAAE3E;EADmF,CAAD,CAAd,EAE1E,YAAY;IAAE,OAAO,CAAC;MAAE2E,IAAI,EAAEshB;IAAR,CAAD,EAAmB;MAAEthB,IAAI,EAAE6wI;IAAR,CAAnB,EAAkD;MAAE7wI,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC/F9J,IAAI,EAAE6E,MADyF;QAE/FlD,IAAI,EAAE,CAACktI,kBAAD;MAFyF,CAAD;IAA/B,CAAlD,CAAP;EAGF,CAL8D,EAK5D,IAL4D,CAAnE;AAKe,CAL9B;AAMA;AACA;AACA;AACA;;;AACA,MAAMgC,mBAAN,CAA0B;EACtB95I,WAAW,GAAG;IACV;IACA,KAAK+5I,aAAL,GAAqB,IAAI5oG,GAAJ,EAArB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIqoG,mBAAmB,CAAC1wI,KAAD,EAAQkxI,WAAR,EAAqB;IACpC,KAAKD,aAAL,CAAmBjlG,GAAnB,CAAuBhsC,KAAvB,EAA8BkxI,WAA9B;EACH;EACD;AACJ;AACA;AACA;;;EACIP,qBAAqB,CAAC3wI,KAAD,EAAQ;IACzB,KAAKixI,aAAL,CAAmB7/F,MAAnB,CAA0BpxC,KAA1B;EACH;EACD;AACJ;AACA;;;EACImxI,yBAAyB,GAAG;IACxB,KAAKF,aAAL,CAAmBpzG,KAAnB;EACH;EACD;AACJ;AACA;AACA;;;EACIuzG,cAAc,CAACC,IAAD,EAAO;IACjB,OAAO,KAAKJ,aAAL,CAAmBtyG,GAAnB,CAAuB0yG,IAAvB,KAAgC,IAAvC;EACH;EACD;AACJ;AACA;;;EACIC,mBAAmB,GAAG;IAClB,OAAOvjI,KAAK,CAACC,IAAN,CAAW,KAAKijI,aAAL,CAAmBv+H,MAAnB,EAAX,CAAP;EACH;EACD;AACJ;AACA;;;EACI6+H,kBAAkB,GAAG;IACjB,OAAOxjI,KAAK,CAACC,IAAN,CAAW,KAAKijI,aAAL,CAAmBz+H,IAAnB,EAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIg/H,qBAAqB,CAACH,IAAD,EAAOI,eAAe,GAAG,IAAzB,EAA+B;IAChD,OAAOhC,kBAAkB,EAAE+B,qBAApB,CAA0C,IAA1C,EAAgDH,IAAhD,EAAsDI,eAAtD,KAA0E,IAAjF;EACH;;AArDqB;;AAuD1BT,mBAAmB,CAACrxI,IAApB,GAA2B,SAAS+xI,2BAAT,CAAqC7xI,CAArC,EAAwC;EAAE,OAAO,KAAKA,CAAC,IAAImxI,mBAAV,GAAP;AAA0C,CAA/G;;AACAA,mBAAmB,CAAClxI,KAApB,GAA4B,aAAcC,kBAAkB,CAAC;EAAEC,KAAK,EAAEgxI,mBAAT;EAA8B11I,OAAO,EAAE01I,mBAAmB,CAACrxI,IAA3D;EAAiEpE,UAAU,EAAE;AAA7E,CAAD,CAA5D;;AACA,CAAC,YAAY;EAAE,CAAC,OAAO0E,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD82H,gBAAgB,CAACia,mBAAD,EAAsB,CAAC;IACjG7wI,IAAI,EAAE3E,UAD2F;IAEjGsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAF2F,CAAD,CAAtB,EAG1E,IAH0E,EAGpE,IAHoE,CAAnE;AAGO,CAHtB;AAIA;AACA;AACA;AACA;;;AACA,SAASm0I,oBAAT,CAA8BiC,MAA9B,EAAsC;EAClClC,kBAAkB,GAAGkC,MAArB;AACH;;AACD,IAAIlC,kBAAJ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAImC,iBAAiB,GAAG,IAAxB;AACA;AACA;AACA;AACA;;AACA,MAAMC,wBAAwB,GAAG,IAAIhyH,cAAJ,CAAmB,oBAAnB,CAAjC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMiyH,0BAA0B,GAAG,IAAIjyH,cAAJ,CAAmB,0BAAnB,CAAnC;AACA,MAAM+e,WAAW,GAAG,OAAO3+B,SAAP,KAAqB,WAArB,IAAoCA,SAAxD;;AACA,SAAS8xI,sBAAT,CAAgCh0G,QAAhC,EAA0CzjB,OAA1C,EAAmDg6G,UAAnD,EAA+D;EAC3Dr0H,SAAS,IAAIu1D,kBAAkB,CAAC8+D,UAAD,CAA/B;EACA,MAAM0d,aAAa,GAAG,IAAI3d,eAAJ,CAAoBC,UAApB,CAAtB,CAF2D,CAG3D;;EACA,IAAI,OAAO7xH,SAAP,KAAqB,WAArB,IAAoC,CAACA,SAAzC,EAAoD;IAChD,OAAO9D,OAAO,CAACC,OAAR,CAAgBozI,aAAhB,CAAP;EACH;;EACD,MAAMC,eAAe,GAAGl0G,QAAQ,CAACY,GAAT,CAAa+rG,gBAAb,EAA+B,EAA/B,EAAmCv3H,MAAnC,CAA0CmH,OAA1C,CAAxB,CAP2D,CAQ3D;EACA;EACA;;EACAsmH,aAAa,CAAC;IACVC,oBAAoB,EAAEqR,YAAY,CAACD,eAAe,CAAC75H,GAAhB,CAAoBuyC,IAAI,IAAIA,IAAI,CAACk2E,oBAAjC,CAAD,CADxB;IAEVC,mBAAmB,EAAEoR,YAAY,CAACD,eAAe,CAAC75H,GAAhB,CAAoBuyC,IAAI,IAAIA,IAAI,CAACm2E,mBAAjC,CAAD;EAFvB,CAAD,CAAb;;EAIA,IAAIjtD,uCAAuC,EAA3C,EAA+C;IAC3C,OAAOl1E,OAAO,CAACC,OAAR,CAAgBozI,aAAhB,CAAP;EACH;;EACD,MAAMG,iBAAiB,GAAGC,YAAY,CAACH,eAAe,CAAC75H,GAAhB,CAAoB66F,CAAC,IAAIA,CAAC,CAAC7kE,SAA3B,CAAD,CAAtC,CAlB2D,CAmB3D;EACA;EACA;EACA;;;EACA,IAAI+jG,iBAAiB,CAAC9yI,MAAlB,KAA6B,CAAjC,EAAoC;IAChC,OAAOV,OAAO,CAACC,OAAR,CAAgBozI,aAAhB,CAAP;EACH;;EACD,MAAMx8C,QAAQ,GAAGxpB,iBAAiB,CAAC;IAC/BG,KAAK,EAAE;IAAE;IADsB;IAE/BvgE,IAAI,EAAE,UAFyB;IAG/BzL,IAAI,EAAEm0H;EAHyB,CAAD,CAAlC;EAKA,MAAM+d,gBAAgB,GAAG9wH,QAAQ,CAAClU,MAAT,CAAgB;IAAE+gC,SAAS,EAAE+jG;EAAb,CAAhB,CAAzB;EACA,MAAMG,cAAc,GAAGD,gBAAgB,CAAC1zG,GAAjB,CAAqB62D,QAAQ,CAAC+8C,cAA9B,CAAvB,CAhC2D,CAiC3D;EACA;;EACA,OAAOpgE,yBAAyB,CAAC56E,GAAG,IAAIoH,OAAO,CAACC,OAAR,CAAgB0zI,cAAc,CAAC3zG,GAAf,CAAmBpnC,GAAnB,CAAhB,CAAR,CAAzB,CACF4d,IADE,CACG,MAAM68H,aADT,CAAP;AAEH;;AACD,SAASQ,yBAAT,GAAqC;EACjCvyI,SAAS,IAAI8qI,2BAA2B,EAAxC;AACH;;AACD,SAASz7B,eAAT,CAAyBmjC,EAAzB,EAA6B;EACzB,OAAOA,EAAE,CAACnjC,eAAV;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAMojC,YAAN,CAAmB;EACfx7I,WAAW,CAACwD,IAAD,EAAOsF,KAAP,EAAc;IACrB,KAAKtF,IAAL,GAAYA,IAAZ;IACA,KAAKsF,KAAL,GAAaA,KAAb;EACH;;AAJc;AAMnB;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2yI,cAAT,CAAwB50G,QAAxB,EAAkC;EAC9B,IAAI6zG,iBAAiB,IAAI,CAACA,iBAAiB,CAACjzG,GAAlB,CAAsBkzG,wBAAtB,EAAgD,KAAhD,CAA1B,EAAkF;IAC9E,MAAM,IAAI9pF,YAAJ,CAAiB;IAAI;IAArB,EAAgE9nD,SAAS,IAC3E,+EADE,CAAN;EAEH;;EACDuyI,yBAAyB;EACzBZ,iBAAiB,GAAG7zG,QAApB;EACA,MAAM5jC,QAAQ,GAAG4jC,QAAQ,CAACY,GAAT,CAAai0G,WAAb,CAAjB;EACAC,uBAAuB,CAAC90G,QAAD,CAAvB;EACA,OAAO5jC,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS24I,6BAAT,CAAuC1kG,SAAS,GAAG,EAAnD,EAAuD;EACnD;EACA;EACA,IAAIwjG,iBAAJ,EACI,OAAOA,iBAAP,CAJ+C,CAKnD;;EACA,MAAM7zG,QAAQ,GAAGg1G,sBAAsB,CAAC3kG,SAAD,CAAvC;EACAwjG,iBAAiB,GAAG7zG,QAApB;EACAy0G,yBAAyB;EACzBK,uBAAuB,CAAC90G,QAAD,CAAvB;EACA,OAAOA,QAAP;AACH;;AACD,SAAS80G,uBAAT,CAAiC90G,QAAjC,EAA2C;EACvC,MAAMi1G,KAAK,GAAGj1G,QAAQ,CAACY,GAAT,CAAauqG,oBAAb,EAAmC,IAAnC,CAAd;;EACA,IAAI8J,KAAJ,EAAW;IACPA,KAAK,CAAC/0I,OAAN,CAAeuY,IAAD,IAAUA,IAAI,EAA5B;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy8H,yBAAT,CAAmC9mI,MAAnC,EAA2C;EACvC,MAAM;IAAE0sE,aAAF;IAAiBq6D,YAAjB;IAA+BC;EAA/B,IAAqDhnI,MAA3D;;EACA,IAAIyyB,WAAW,IAAIi6C,aAAa,KAAK7uE,SAArC,EAAgD;IAC5CqnF,6BAA6B,CAACxY,aAAD,CAA7B;EACH;;EACD,MAAMu6D,gBAAgB,GAAGN,6BAA6B,CAACK,iBAAD,CAAtD;EACA,MAAM98F,MAAM,GAAGg9F,SAAS,CAAC,SAAD,EAAYC,gBAAgB,EAA5B,CAAxB;EACA,OAAOj9F,MAAM,CAAC02F,GAAP,CAAW,MAAM;IACpB;IACA;IACA,MAAMwG,eAAe,GAAG,CACpB;MAAEllG,OAAO,EAAE5sB,MAAX;MAAmB6sB,QAAQ,EAAE+H;IAA7B,CADoB,EAEpB,IAAI68F,YAAY,IAAI,EAApB,CAFoB,CAEK;IAFL,CAAxB;IAIA,MAAMM,WAAW,GAAGhf,yBAAyB,CAAC+e,eAAD,EAAkBH,gBAAlB,EAAoC,sBAApC,CAA7C;IACA,MAAMK,gBAAgB,GAAGD,WAAW,CAAC70G,GAAZ,CAAgB4xD,YAAhB,EAA8B,IAA9B,CAAzB;;IACA,IAAI3xD,WAAW,IAAI,CAAC60G,gBAApB,EAAsC;MAClC,MAAM,IAAI1rF,YAAJ,CAAiB;MAAI;MAArB,EAAqE,2DAArE,CAAN;IACH;;IACD,IAAI2rF,mBAAJ;IACAr9F,MAAM,CAACC,iBAAP,CAAyB,MAAM;MAC3Bo9F,mBAAmB,GAAGr9F,MAAM,CAAC1/B,OAAP,CAAezd,SAAf,CAAyB;QAC3CC,IAAI,EAAGoK,KAAD,IAAW;UACbkwI,gBAAgB,CAAChjD,WAAjB,CAA6BltF,KAA7B;QACH;MAH0C,CAAzB,CAAtB;IAKH,CAND,EAboB,CAoBpB;IACA;;IACA,MAAMowI,eAAe,GAAG,MAAMH,WAAW,CAACr1G,OAAZ,EAA9B;;IACA,MAAMy1G,0BAA0B,GAAGR,gBAAgB,CAACz0G,GAAjB,CAAqBmzG,0BAArB,CAAnC;IACA8B,0BAA0B,CAACjnI,GAA3B,CAA+BgnI,eAA/B;IACAH,WAAW,CAACnhF,SAAZ,CAAsB,MAAM;MACxBqhF,mBAAmB,CAACxmI,WAApB;MACA0mI,0BAA0B,CAACxiG,MAA3B,CAAkCuiG,eAAlC;IACH,CAHD;IAIA,OAAOE,4BAA4B,CAACJ,gBAAD,EAAmBp9F,MAAnB,EAA2B,MAAM;MAChE,MAAMy9F,UAAU,GAAGN,WAAW,CAAC70G,GAAZ,CAAgBwpG,qBAAhB,CAAnB;MACA2L,UAAU,CAACtL,eAAX;MACA,OAAOsL,UAAU,CAACxL,WAAX,CAAuBnzH,IAAvB,CAA4B,MAAM;QACrC,MAAM0Y,QAAQ,GAAG2lH,WAAW,CAAC70G,GAAZ,CAAgBte,SAAhB,EAA2BykG,iBAA3B,CAAjB;QACAO,WAAW,CAACx3F,QAAQ,IAAIi3F,iBAAb,CAAX;QACA,MAAMpW,MAAM,GAAG8kC,WAAW,CAAC70G,GAAZ,CAAgBo1G,cAAhB,CAAf;;QACA,IAAIl7D,aAAa,KAAK7uE,SAAtB,EAAiC;UAC7B0kG,MAAM,CAACj9C,SAAP,CAAiBonB,aAAjB;QACH;;QACD,OAAO61B,MAAP;MACH,CARM,CAAP;IASH,CAZkC,CAAnC;EAaH,CA1CM,CAAP;AA2CH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASslC,qBAAT,CAA+BC,qBAA/B,EAAsDv5I,IAAtD,EAA4D0zC,SAAS,GAAG,EAAxE,EAA4E;EACxE,MAAM8lG,IAAI,GAAI,aAAYx5I,IAAK,EAA/B;EACA,MAAMqoE,MAAM,GAAG,IAAIljD,cAAJ,CAAmBq0H,IAAnB,CAAf;EACA,OAAO,CAACC,cAAc,GAAG,EAAlB,KAAyB;IAC5B,IAAIh6I,QAAQ,GAAGi6I,WAAW,EAA1B;;IACA,IAAI,CAACj6I,QAAD,IAAaA,QAAQ,CAAC4jC,QAAT,CAAkBY,GAAlB,CAAsBkzG,wBAAtB,EAAgD,KAAhD,CAAjB,EAAyE;MACrE,MAAMsB,iBAAiB,GAAG,CACtB,GAAG/kG,SADmB,EAEtB,GAAG+lG,cAFmB,EAGtB;QAAE9lG,OAAO,EAAE00B,MAAX;QAAmBz0B,QAAQ,EAAE;MAA7B,CAHsB,CAA1B;;MAKA,IAAI2lG,qBAAJ,EAA2B;QACvBA,qBAAqB,CAACd,iBAAD,CAArB;MACH,CAFD,MAGK;QACDR,cAAc,CAACI,sBAAsB,CAACI,iBAAD,EAAoBe,IAApB,CAAvB,CAAd;MACH;IACJ;;IACD,OAAOG,cAAc,CAACtxE,MAAD,CAArB;EACH,CAhBD;AAiBH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASsxE,cAAT,CAAwBC,aAAxB,EAAuC;EACnC,MAAMn6I,QAAQ,GAAGi6I,WAAW,EAA5B;;EACA,IAAI,CAACj6I,QAAL,EAAe;IACX,MAAM,IAAI4tD,YAAJ,CAAiB;IAAI;IAArB,EAAgE9nD,SAAS,IAAI,qBAA7E,CAAN;EACH;;EACD,IAAI,CAAC,OAAOA,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACA,CAAC9F,QAAQ,CAAC4jC,QAAT,CAAkBY,GAAlB,CAAsB21G,aAAtB,EAAqC,IAArC,CADL,EACiD;IAC7C,MAAM,IAAIvsF,YAAJ,CAAiB;IAAI;IAArB,EAAgE,sFAAhE,CAAN;EACH;;EACD,OAAO5tD,QAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS44I,sBAAT,CAAgC3kG,SAAS,GAAG,EAA5C,EAAgD1zC,IAAhD,EAAsD;EAClD,OAAO6mB,QAAQ,CAAClU,MAAT,CAAgB;IACnB3S,IADmB;IAEnB0zC,SAAS,EAAE,CACP;MAAEC,OAAO,EAAEi+C,cAAX;MAA2Bh+C,QAAQ,EAAE;IAArC,CADO,EAEP;MAAED,OAAO,EAAEyjG,0BAAX;MAAuCxjG,QAAQ,EAAE,IAAI1R,GAAJ,CAAQ,CAAC,MAAMg1G,iBAAiB,GAAG,IAA3B,CAAR;IAAjD,CAFO,EAGP,GAAGxjG,SAHI;EAFQ,CAAhB,CAAP;AAQH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmmG,eAAT,GAA2B;EACvBH,WAAW,IAAIj2G,OAAf;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASi2G,WAAT,GAAuB;EACnB,OAAOxC,iBAAiB,EAAEjzG,GAAnB,CAAuBi0G,WAAvB,KAAuC,IAA9C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMA,WAAN,CAAkB;EACd;EACA17I,WAAW,CAACy9H,SAAD,EAAY;IACnB,KAAKA,SAAL,GAAiBA,SAAjB;IACA,KAAK6f,QAAL,GAAgB,EAAhB;IACA,KAAKC,iBAAL,GAAyB,EAAzB;IACA,KAAKxnD,UAAL,GAAkB,KAAlB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIynD,sBAAsB,CAAC1C,aAAD,EAAgB13H,OAAhB,EAAyB;IAC3C;IACA;IACA;IACA;IACA,MAAM+7B,MAAM,GAAGg9F,SAAS,CAAC/4H,OAAO,EAAE+7B,MAAV,EAAkBi9F,gBAAgB,CAACh5H,OAAD,CAAlC,CAAxB;IACA,MAAM8zB,SAAS,GAAG,CAAC;MAAEC,OAAO,EAAE5sB,MAAX;MAAmB6sB,QAAQ,EAAE+H;IAA7B,CAAD,CAAlB,CAN2C,CAO3C;IACA;IACA;IACA;;IACA,OAAOA,MAAM,CAAC02F,GAAP,CAAW,MAAM;MACpB,MAAM4H,cAAc,GAAGpzH,QAAQ,CAAClU,MAAT,CAAgB;QAAE+gC,SAAS,EAAEA,SAAb;QAAwBh+B,MAAM,EAAE,KAAK2tB,QAArC;QAA+CrjC,IAAI,EAAEs3I,aAAa,CAAC1d,UAAd,CAAyB55H;MAA9E,CAAhB,CAAvB;MACA,MAAMk6I,SAAS,GAAG5C,aAAa,CAAC3kI,MAAd,CAAqBsnI,cAArB,CAAlB;MACA,MAAMlB,gBAAgB,GAAGmB,SAAS,CAAC72G,QAAV,CAAmBY,GAAnB,CAAuB4xD,YAAvB,EAAqC,IAArC,CAAzB;;MACA,IAAI,CAACkjD,gBAAL,EAAuB;QACnB,MAAM,IAAI1rF,YAAJ,CAAiB;QAAI;QAArB,EAAqE9nD,SAAS,IAAI,+DAAlF,CAAN;MACH;;MACDo2C,MAAM,CAACC,iBAAP,CAAyB,MAAM;QAC3B,MAAMjrC,YAAY,GAAGgrC,MAAM,CAAC1/B,OAAP,CAAezd,SAAf,CAAyB;UAC1CC,IAAI,EAAGoK,KAAD,IAAW;YACbkwI,gBAAgB,CAAChjD,WAAjB,CAA6BltF,KAA7B;UACH;QAHyC,CAAzB,CAArB;QAKAqxI,SAAS,CAACviF,SAAV,CAAoB,MAAM;UACtBhiD,MAAM,CAAC,KAAKmkI,QAAN,EAAgBI,SAAhB,CAAN;UACAvpI,YAAY,CAAC6B,WAAb;QACH,CAHD;MAIH,CAVD;MAWA,OAAO2mI,4BAA4B,CAACJ,gBAAD,EAAmBp9F,MAAnB,EAA2B,MAAM;QAChE,MAAMy9F,UAAU,GAAGc,SAAS,CAAC72G,QAAV,CAAmBY,GAAnB,CAAuBwpG,qBAAvB,CAAnB;QACA2L,UAAU,CAACtL,eAAX;QACA,OAAOsL,UAAU,CAACxL,WAAX,CAAuBnzH,IAAvB,CAA4B,MAAM;UACrC;UACA,MAAM0Y,QAAQ,GAAG+mH,SAAS,CAAC72G,QAAV,CAAmBY,GAAnB,CAAuBte,SAAvB,EAAkCykG,iBAAlC,CAAjB;UACAO,WAAW,CAACx3F,QAAQ,IAAIi3F,iBAAb,CAAX;;UACA,KAAK+vB,kBAAL,CAAwBD,SAAxB;;UACA,OAAOA,SAAP;QACH,CANM,CAAP;MAOH,CAVkC,CAAnC;IAWH,CA7BM,CAAP;EA8BH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIE,eAAe,CAACxgB,UAAD,EAAa2d,eAAe,GAAG,EAA/B,EAAmC;IAC9C,MAAM33H,OAAO,GAAGy6H,cAAc,CAAC,EAAD,EAAK9C,eAAL,CAA9B;IACA,OAAOF,sBAAsB,CAAC,KAAKh0G,QAAN,EAAgBzjB,OAAhB,EAAyBg6G,UAAzB,CAAtB,CACFn/G,IADE,CACG68H,aAAa,IAAI,KAAK0C,sBAAL,CAA4B1C,aAA5B,EAA2C13H,OAA3C,CADpB,CAAP;EAEH;;EACDu6H,kBAAkB,CAACD,SAAD,EAAY;IAC1B,MAAMlmC,MAAM,GAAGkmC,SAAS,CAAC72G,QAAV,CAAmBY,GAAnB,CAAuBo1G,cAAvB,CAAf;;IACA,IAAIa,SAAS,CAAC1gB,oBAAV,CAA+B70H,MAA/B,GAAwC,CAA5C,EAA+C;MAC3Cu1I,SAAS,CAAC1gB,oBAAV,CAA+Bj2H,OAA/B,CAAuC21H,CAAC,IAAIllB,MAAM,CAACj9C,SAAP,CAAiBmiE,CAAjB,CAA5C;IACH,CAFD,MAGK,IAAIghB,SAAS,CAACt2H,QAAV,CAAmB02H,aAAvB,EAAsC;MACvCJ,SAAS,CAACt2H,QAAV,CAAmB02H,aAAnB,CAAiCtmC,MAAjC;IACH,CAFI,MAGA;MACD,MAAM,IAAI3mD,YAAJ,CAAiB;MAAI;MAArB,EAA4E9nD,SAAS,IACtF,cAAa2/B,SAAS,CAACg1G,SAAS,CAACt2H,QAAV,CAAmBpnB,WAApB,CAAiC,qBAAxD,GACK,yFADL,GAEK,6BAHH,CAAN;IAIH;;IACD,KAAKs9I,QAAL,CAAcnxI,IAAd,CAAmBuxI,SAAnB;EACH;EACD;AACJ;AACA;;;EACIviF,SAAS,CAACx6C,QAAD,EAAW;IAChB,KAAK48H,iBAAL,CAAuBpxI,IAAvB,CAA4BwU,QAA5B;EACH;EACD;AACJ;AACA;AACA;;;EACgB,IAARkmB,QAAQ,GAAG;IACX,OAAO,KAAK42F,SAAZ;EACH;EACD;AACJ;AACA;AACA;;;EACIx2F,OAAO,GAAG;IACN,IAAI,KAAK8uD,UAAT,EAAqB;MACjB,MAAM,IAAIllC,YAAJ,CAAiB;MAAI;MAArB,EAAwE9nD,SAAS,IAAI,0CAArF,CAAN;IACH;;IACD,KAAKu0I,QAAL,CAAcxhI,KAAd,GAAsB/U,OAAtB,CAA8Bg3I,MAAM,IAAIA,MAAM,CAAC92G,OAAP,EAAxC;;IACA,KAAKs2G,iBAAL,CAAuBx2I,OAAvB,CAA+B4/E,QAAQ,IAAIA,QAAQ,EAAnD;;IACA,MAAMq3D,gBAAgB,GAAG,KAAKvgB,SAAL,CAAeh2F,GAAf,CAAmBmzG,0BAAnB,EAA+C,IAA/C,CAAzB;;IACA,IAAIoD,gBAAJ,EAAsB;MAClBA,gBAAgB,CAACj3I,OAAjB,CAAyB4/E,QAAQ,IAAIA,QAAQ,EAA7C;MACAq3D,gBAAgB,CAACr3G,KAAjB;IACH;;IACD,KAAKovD,UAAL,GAAkB,IAAlB;EACH;EACD;AACJ;AACA;;;EACiB,IAATK,SAAS,GAAG;IACZ,OAAO,KAAKL,UAAZ;EACH;;AAhIa;;AAkIlB2lD,WAAW,CAACjzI,IAAZ,GAAmB,SAASw1I,mBAAT,CAA6Bt1I,CAA7B,EAAgC;EAAE,OAAO,KAAKA,CAAC,IAAI+yI,WAAV,EAAuB7oI,QAAQ,CAACwX,QAAD,CAA/B,CAAP;AAAoD,CAAzG;;AACAqxH,WAAW,CAAC9yI,KAAZ,GAAoB,aAAcC,kBAAkB,CAAC;EAAEC,KAAK,EAAE4yI,WAAT;EAAsBt3I,OAAO,EAAEs3I,WAAW,CAACjzI,IAA3C;EAAiDpE,UAAU,EAAE;AAA7D,CAAD,CAApD;;AACA,CAAC,YAAY;EAAE,CAAC,OAAO0E,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD82H,gBAAgB,CAAC6b,WAAD,EAAc,CAAC;IACzFzyI,IAAI,EAAE3E,UADmF;IAEzFsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAFmF,CAAD,CAAd,EAG1E,YAAY;IAAE,OAAO,CAAC;MAAE4E,IAAI,EAAEohB;IAAR,CAAD,CAAP;EAA8B,CAH8B,EAG5B,IAH4B,CAAnE;AAG+C,CAH9D,KAIA;AACA;AACA;;;AACA,SAAS+xH,gBAAT,CAA0Bh5H,OAA1B,EAAmC;EAC/B,OAAO;IACHqxH,oBAAoB,EAAE,OAAO1rI,SAAP,KAAqB,WAArB,GAAmC,KAAnC,GAA2C,CAAC,CAACA,SADhE;IAEH2rI,kCAAkC,EAAE,CAAC,EAAEtxH,OAAO,IAAIA,OAAO,CAAC86H,qBAArB,CAAD,IAAgD,KAFjF;IAGHvJ,gCAAgC,EAAE,CAAC,EAAEvxH,OAAO,IAAIA,OAAO,CAAC+6H,mBAArB,CAAD,IAA8C;EAH7E,CAAP;AAKH;;AACD,SAAShC,SAAT,CAAmBiC,WAAnB,EAAgCh7H,OAAhC,EAAyC;EACrC,IAAI+7B,MAAJ;;EACA,IAAIi/F,WAAW,KAAK,MAApB,EAA4B;IACxBj/F,MAAM,GAAG,IAAIy4F,UAAJ,EAAT;EACH,CAFD,MAGK;IACDz4F,MAAM,GAAG,CAACi/F,WAAW,KAAK,SAAhB,GAA4BtrI,SAA5B,GAAwCsrI,WAAzC,KAAyD,IAAI7zH,MAAJ,CAAWnH,OAAX,CAAlE;EACH;;EACD,OAAO+7B,MAAP;AACH;;AACD,SAASw9F,4BAAT,CAAsC1mC,YAAtC,EAAoD92D,MAApD,EAA4Dx+B,QAA5D,EAAsE;EAClE,IAAI;IACA,MAAMha,MAAM,GAAGga,QAAQ,EAAvB;;IACA,IAAI3D,SAAS,CAACrW,MAAD,CAAb,EAAuB;MACnB,OAAOA,MAAM,CAAC0X,KAAP,CAAchQ,CAAD,IAAO;QACvB8wC,MAAM,CAACC,iBAAP,CAAyB,MAAM62D,YAAY,CAAC1c,WAAb,CAAyBlrF,CAAzB,CAA/B,EADuB,CAEvB;;QACA,MAAMA,CAAN;MACH,CAJM,CAAP;IAKH;;IACD,OAAO1H,MAAP;EACH,CAVD,CAWA,OAAO0H,CAAP,EAAU;IACN8wC,MAAM,CAACC,iBAAP,CAAyB,MAAM62D,YAAY,CAAC1c,WAAb,CAAyBlrF,CAAzB,CAA/B,EADM,CAEN;;IACA,MAAMA,CAAN;EACH;AACJ;;AACD,SAASwvI,cAAT,CAAwB7xE,GAAxB,EAA6Bw3B,IAA7B,EAAmC;EAC/B,IAAI3sF,KAAK,CAACoC,OAAN,CAAcuqF,IAAd,CAAJ,EAAyB;IACrBx3B,GAAG,GAAGw3B,IAAI,CAACj8E,MAAL,CAAYs2H,cAAZ,EAA4B7xE,GAA5B,CAAN;EACH,CAFD,MAGK;IACDA,GAAG,GAAG,EAAE,GAAGA,GAAL;MAAU,GAAGw3B;IAAb,CAAN;EACH;;EACD,OAAOx3B,GAAP;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6wE,cAAN,CAAqB;EACjB;EACA78I,WAAW,CAACq+I,KAAD,EAAQ5gB,SAAR,EAAmB6gB,iBAAnB,EAAsC;IAC7C,KAAKD,KAAL,GAAaA,KAAb;IACA,KAAK5gB,SAAL,GAAiBA,SAAjB;IACA,KAAK6gB,iBAAL,GAAyBA,iBAAzB;IACA;;IACA,KAAKC,mBAAL,GAA2B,EAA3B;IACA,KAAKC,MAAL,GAAc,EAAd;IACA,KAAKC,YAAL,GAAoB,KAApB;IACA,KAAKC,OAAL,GAAe,IAAf;IACA,KAAK3oD,UAAL,GAAkB,KAAlB;IACA,KAAKwnD,iBAAL,GAAyB,EAAzB;IACA;AACR;AACA;AACA;;IACQ,KAAKoB,cAAL,GAAsB,EAAtB;IACA;AACR;AACA;;IACQ,KAAKp9D,UAAL,GAAkB,EAAlB;IACA,KAAKq9D,6BAAL,GAAqC,KAAKP,KAAL,CAAWrJ,gBAAX,CAA4BhzI,SAA5B,CAAsC;MACvEC,IAAI,EAAE,MAAM;QACR,KAAKo8I,KAAL,CAAWxI,GAAX,CAAe,MAAM;UACjB,KAAKgJ,IAAL;QACH,CAFD;MAGH;IALsE,CAAtC,CAArC;IAOA,MAAMC,iBAAiB,GAAG,IAAIp6I,4CAAJ,CAAgBgC,QAAD,IAAc;MACnD,KAAKg4I,OAAL,GAAe,KAAKL,KAAL,CAAWvJ,QAAX,IAAuB,CAAC,KAAKuJ,KAAL,CAAWzJ,oBAAnC,IACX,CAAC,KAAKyJ,KAAL,CAAWxJ,oBADhB;;MAEA,KAAKwJ,KAAL,CAAWj/F,iBAAX,CAA6B,MAAM;QAC/B14C,QAAQ,CAACzE,IAAT,CAAc,KAAKy8I,OAAnB;QACAh4I,QAAQ,CAACa,QAAT;MACH,CAHD;IAIH,CAPyB,CAA1B;IAQA,MAAMutI,QAAQ,GAAG,IAAIpwI,4CAAJ,CAAgBgC,QAAD,IAAc;MAC1C;MACA;MACA,IAAIq4I,SAAJ;;MACA,KAAKV,KAAL,CAAWj/F,iBAAX,CAA6B,MAAM;QAC/B2/F,SAAS,GAAG,KAAKV,KAAL,CAAWpJ,QAAX,CAAoBjzI,SAApB,CAA8B,MAAM;UAC5CuoB,MAAM,CAACqrH,sBAAP,GAD4C,CAE5C;UACA;;UACA3B,iBAAiB,CAAC,MAAM;YACpB,IAAI,CAAC,KAAKyK,OAAN,IAAiB,CAAC,KAAKL,KAAL,CAAWzJ,oBAA7B,IACA,CAAC,KAAKyJ,KAAL,CAAWxJ,oBADhB,EACsC;cAClC,KAAK6J,OAAL,GAAe,IAAf;cACAh4I,QAAQ,CAACzE,IAAT,CAAc,IAAd;YACH;UACJ,CANgB,CAAjB;QAOH,CAXW,CAAZ;MAYH,CAbD;;MAcA,MAAM+8I,WAAW,GAAG,KAAKX,KAAL,CAAWtJ,UAAX,CAAsB/yI,SAAtB,CAAgC,MAAM;QACtDuoB,MAAM,CAACorH,mBAAP;;QACA,IAAI,KAAK+I,OAAT,EAAkB;UACd,KAAKA,OAAL,GAAe,KAAf;;UACA,KAAKL,KAAL,CAAWj/F,iBAAX,CAA6B,MAAM;YAC/B14C,QAAQ,CAACzE,IAAT,CAAc,KAAd;UACH,CAFD;QAGH;MACJ,CARmB,CAApB;;MASA,OAAO,MAAM;QACT88I,SAAS,CAAC/oI,WAAV;QACAgpI,WAAW,CAAChpI,WAAZ;MACH,CAHD;IAIH,CA/BgB,CAAjB;IAgCA,KAAK8+H,QAAL,GACIhlF,2CAAO,CAACgvF,iBAAD,EAAoBhK,QAAQ,CAAC/yI,IAAT,CAAcohB,qDAAK,EAAnB,CAApB,CADX;EAEH;EACD;AACJ;AACA;;;EACiB,IAATizE,SAAS,GAAG;IACZ,OAAO,KAAKL,UAAZ;EACH;EACD;AACJ;AACA;;;EACgB,IAARlvD,QAAQ,GAAG;IACX,OAAO,KAAK42F,SAAZ;EACH;EACD;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;;;EACIljE,SAAS,CAAC0kF,kBAAD,EAAqB5mC,kBAArB,EAAyC;IAC9C3wE,WAAW,IAAI,KAAKw3G,eAAL,EAAf;IACA,MAAMna,kBAAkB,GAAGka,kBAAkB,YAAYpnD,kBAAzD;;IACA,MAAM+kD,UAAU,GAAG,KAAKnf,SAAL,CAAeh2F,GAAf,CAAmBwpG,qBAAnB,CAAnB;;IACA,IAAI,CAAC2L,UAAU,CAACl+H,IAAhB,EAAsB;MAClB,MAAMunB,UAAU,GAAG,CAAC8+F,kBAAD,IAAuB3pE,YAAY,CAAC6jF,kBAAD,CAAtD;MACA,MAAMp2G,YAAY,GAAG,4EAChB5C,UAAU,GAAG,EAAH,GACP,yEAFa,CAArB;MAGA,MAAM,IAAI4qB,YAAJ,CAAiB;MAAI;MAArB,EAA8EnpB,WAAW,IAAImB,YAA7F,CAAN;IACH;;IACD,IAAIm8F,gBAAJ;;IACA,IAAID,kBAAJ,EAAwB;MACpBC,gBAAgB,GAAGia,kBAAnB;IACH,CAFD,MAGK;MACD,MAAME,QAAQ,GAAG,KAAK1hB,SAAL,CAAeh2F,GAAf,CAAmB0wD,0BAAnB,CAAjB;;MACA6sC,gBAAgB,GAAGma,QAAQ,CAACjnD,uBAAT,CAAiC+mD,kBAAjC,CAAnB;IACH;;IACD,KAAKN,cAAL,CAAoBxyI,IAApB,CAAyB64H,gBAAgB,CAAC7sB,aAA1C,EAnB8C,CAoB9C;;IACA,MAAM3xE,QAAQ,GAAG4xE,eAAe,CAAC4sB,gBAAD,CAAf,GAAoClyH,SAApC,GAAgD,KAAK2qH,SAAL,CAAeh2F,GAAf,CAAmBo1F,aAAnB,CAAjE;IACA,MAAMuiB,cAAc,GAAG/mC,kBAAkB,IAAI2sB,gBAAgB,CAACn6H,QAA9D;IACA,MAAMw0I,OAAO,GAAGra,gBAAgB,CAAC7uH,MAAjB,CAAwBkU,QAAQ,CAAC+tE,IAAjC,EAAuC,EAAvC,EAA2CgnD,cAA3C,EAA2D54G,QAA3D,CAAhB;IACA,MAAMX,aAAa,GAAGw5G,OAAO,CAACx7I,QAAR,CAAiBgiC,aAAvC;IACA,MAAMm0G,WAAW,GAAGqF,OAAO,CAACx4G,QAAR,CAAiBY,GAAjB,CAAqBowG,WAArB,EAAkC,IAAlC,CAApB;IACAmC,WAAW,EAAER,mBAAb,CAAiC3zG,aAAjC;IACAw5G,OAAO,CAAClkF,SAAR,CAAkB,MAAM;MACpB,KAAK6qB,UAAL,CAAgBq5D,OAAO,CAACh9E,QAAxB;MACAlpD,MAAM,CAAC,KAAKooE,UAAN,EAAkB89D,OAAlB,CAAN;MACArF,WAAW,EAAEP,qBAAb,CAAmC5zG,aAAnC;IACH,CAJD;;IAKA,KAAKy5G,cAAL,CAAoBD,OAApB;;IACA,IAAI,OAAOt2I,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;MAC/C,MAAMuwF,QAAQ,GAAG,KAAKmkC,SAAL,CAAeh2F,GAAf,CAAmB2qG,OAAnB,CAAjB;;MACA94C,QAAQ,CAAChyF,GAAT,CAAc,0FAAd;IACH;;IACD,OAAO+3I,OAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIR,IAAI,GAAG;IACHn3G,WAAW,IAAI,KAAKw3G,eAAL,EAAf;;IACA,IAAI,KAAKT,YAAT,EAAuB;MACnB,MAAM,IAAI5tF,YAAJ,CAAiB;MAAI;MAArB,EAA4E9nD,SAAS,IAAI,2CAAzF,CAAN;IACH;;IACD,IAAI;MACA,KAAK01I,YAAL,GAAoB,IAApB;;MACA,KAAK,IAAIn1G,IAAT,IAAiB,KAAKk1G,MAAtB,EAA8B;QAC1Bl1G,IAAI,CAAC6tE,aAAL;MACH;;MACD,IAAI,OAAOpuG,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;QAC/C,KAAK,IAAIugC,IAAT,IAAiB,KAAKk1G,MAAtB,EAA8B;UAC1Bl1G,IAAI,CAAC8tE,cAAL;QACH;MACJ;IACJ,CAVD,CAWA,OAAO/oG,CAAP,EAAU;MACN;MACA,KAAKgwI,KAAL,CAAWj/F,iBAAX,CAA6B,MAAM,KAAKk/F,iBAAL,CAAuB/kD,WAAvB,CAAmClrF,CAAnC,CAAnC;IACH,CAdD,SAeQ;MACJ,KAAKowI,YAAL,GAAoB,KAApB;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;;;EACIc,UAAU,CAAC71G,OAAD,EAAU;IAChBhC,WAAW,IAAI,KAAKw3G,eAAL,EAAf;IACA,MAAM51G,IAAI,GAAGI,OAAb;;IACA,KAAK80G,MAAL,CAAYryI,IAAZ,CAAiBm9B,IAAjB;;IACAA,IAAI,CAACiuE,cAAL,CAAoB,IAApB;EACH;EACD;AACJ;AACA;;;EACIvxB,UAAU,CAACt8C,OAAD,EAAU;IAChBhC,WAAW,IAAI,KAAKw3G,eAAL,EAAf;IACA,MAAM51G,IAAI,GAAGI,OAAb;IACAvwB,MAAM,CAAC,KAAKqlI,MAAN,EAAcl1G,IAAd,CAAN;IACAA,IAAI,CAACguE,gBAAL;EACH;;EACDgoC,cAAc,CAACpa,YAAD,EAAe;IACzB,KAAKqa,UAAL,CAAgBra,YAAY,CAAC7iE,QAA7B;IACA,KAAKw8E,IAAL;IACA,KAAKt9D,UAAL,CAAgBp1E,IAAhB,CAAqB+4H,YAArB,EAHyB,CAIzB;;IACA,MAAMhG,SAAS,GAAG,KAAKzB,SAAL,CAAeh2F,GAAf,CAAmBwqG,sBAAnB,EAA2C,EAA3C,EAA+Ch2H,MAA/C,CAAsD,KAAKsiI,mBAA3D,CAAlB;;IACArf,SAAS,CAACn4H,OAAV,CAAmB4/E,QAAD,IAAcA,QAAQ,CAACu+C,YAAD,CAAxC;EACH;EACD;;;EACAp3G,WAAW,GAAG;IACV,IAAI,KAAKioE,UAAT,EACI;;IACJ,IAAI;MACA;MACA,KAAKwnD,iBAAL,CAAuBx2I,OAAvB,CAA+B4/E,QAAQ,IAAIA,QAAQ,EAAnD,EAFA,CAGA;;;MACA,KAAK63D,MAAL,CAAY1iI,KAAZ,GAAoB/U,OAApB,CAA6BuiC,IAAD,IAAUA,IAAI,CAACrC,OAAL,EAAtC;;MACA,KAAK23G,6BAAL,CAAmC5oI,WAAnC;IACH,CAND,SAOQ;MACJ;MACA,KAAK+/E,UAAL,GAAkB,IAAlB,CAFI,CAGJ;;MACA,KAAKyoD,MAAL,GAAc,EAAd;MACA,KAAKD,mBAAL,GAA2B,EAA3B;MACA,KAAKhB,iBAAL,GAAyB,EAAzB;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIpiF,SAAS,CAACx6C,QAAD,EAAW;IAChB+mB,WAAW,IAAI,KAAKw3G,eAAL,EAAf;;IACA,KAAK3B,iBAAL,CAAuBpxI,IAAvB,CAA4BwU,QAA5B;;IACA,OAAO,MAAMxH,MAAM,CAAC,KAAKokI,iBAAN,EAAyB58H,QAAzB,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIsmB,OAAO,GAAG;IACN,IAAI,KAAK8uD,UAAT,EAAqB;MACjB,MAAM,IAAIllC,YAAJ,CAAiB;MAAI;MAArB,EAA+E9nD,SAAS,IAAI,mEAA5F,CAAN;IACH;;IACD,MAAM89B,QAAQ,GAAG,KAAK42F,SAAtB,CAJM,CAKN;;IACA,IAAI52F,QAAQ,CAACI,OAAT,IAAoB,CAACJ,QAAQ,CAACuvD,SAAlC,EAA6C;MACzC;MACA;MACAvvD,QAAQ,CAACI,OAAT;IACH;EACJ;EACD;AACJ;AACA;;;EACiB,IAATu4G,SAAS,GAAG;IACZ,OAAO,KAAKhB,MAAL,CAAYr2I,MAAnB;EACH;;EACD+2I,eAAe,GAAG;IACd,IAAIx3G,WAAW,IAAI,KAAKquD,UAAxB,EAAoC;MAChC1uF,OAAO,CAACmhC,IAAR,CAAasoB,kBAAkB,CAAC;MAAI;MAAL,EAA+D,mEAA/D,CAA/B;IACH;EACJ;;AA1RgB;;AA4RrB+rF,cAAc,CAACp0I,IAAf,GAAsB,SAASg3I,sBAAT,CAAgC92I,CAAhC,EAAmC;EAAE,OAAO,KAAKA,CAAC,IAAIk0I,cAAV,EAA0BhqI,QAAQ,CAAC0X,MAAD,CAAlC,EAA4C1X,QAAQ,CAAC4iF,mBAAD,CAApD,EAA2E5iF,QAAQ,CAACwmF,YAAD,CAAnF,CAAP;AAA4G,CAAvK;;AACAwjD,cAAc,CAACj0I,KAAf,GAAuB,aAAcC,kBAAkB,CAAC;EAAEC,KAAK,EAAE+zI,cAAT;EAAyBz4I,OAAO,EAAEy4I,cAAc,CAACp0I,IAAjD;EAAuDpE,UAAU,EAAE;AAAnE,CAAD,CAAvD;;AACA,CAAC,YAAY;EAAE,CAAC,OAAO0E,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD82H,gBAAgB,CAACgd,cAAD,EAAiB,CAAC;IAC5F5zI,IAAI,EAAE3E,UADsF;IAE5FsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAFsF,CAAD,CAAjB,EAG1E,YAAY;IAAE,OAAO,CAAC;MAAE4E,IAAI,EAAEshB;IAAR,CAAD,EAAmB;MAAEthB,IAAI,EAAEwsF;IAAR,CAAnB,EAAkD;MAAExsF,IAAI,EAAEowF;IAAR,CAAlD,CAAP;EAAmF,CAHvB,EAGyB,IAHzB,CAAnE;AAGoG,CAHnH;;AAIA,SAASlgF,MAAT,CAAgBqtC,IAAhB,EAAsBlS,EAAtB,EAA0B;EACtB,MAAM7zB,KAAK,GAAG+lC,IAAI,CAACrgD,OAAL,CAAamuC,EAAb,CAAd;;EACA,IAAI7zB,KAAK,GAAG,CAAC,CAAb,EAAgB;IACZ+lC,IAAI,CAACt/B,MAAL,CAAYzG,KAAZ,EAAmB,CAAnB;EACH;AACJ;;AACD,SAASu6H,YAAT,CAAsBpwI,IAAtB,EAA4B;EACxB,KAAK,IAAItC,CAAC,GAAGsC,IAAI,CAACzC,MAAL,GAAc,CAA3B,EAA8BG,CAAC,IAAI,CAAnC,EAAsCA,CAAC,EAAvC,EAA2C;IACvC,IAAIsC,IAAI,CAACtC,CAAD,CAAJ,KAAYwK,SAAhB,EAA2B;MACvB,OAAOlI,IAAI,CAACtC,CAAD,CAAX;IACH;EACJ;;EACD,OAAOwK,SAAP;AACH;;AACD,SAASooI,YAAT,CAAsBvlH,KAAtB,EAA6B;EACzB,MAAMhvB,MAAM,GAAG,EAAf;EACAgvB,KAAK,CAAC5uB,OAAN,CAAe8uB,IAAD,IAAUA,IAAI,IAAIlvB,MAAM,CAACwF,IAAP,CAAY,GAAG0pB,IAAf,CAAhC;EACA,OAAOlvB,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI+4I,QAAQ,GAAG,IAAf;AACA,IAAIC,cAAc,GAAG,KAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,SAAT,GAAqB;EACjBD,cAAc,GAAG,IAAjB;EACA,OAAOD,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,cAAT,GAA0B;EACtB,IAAIF,cAAJ,EAAoB;IAChB,MAAM,IAAIv6H,KAAJ,CAAU,+CAAV,CAAN;EACH,CAHqB,CAItB;EACA;;;EACA,IAAI,OAAOrc,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;IAC/C2sD,OAAO,CAAC,WAAD,CAAP,GAAuB,KAAvB;EACH;;EACDgqF,QAAQ,GAAG,KAAX;AACH;AAED;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;AACA;AACA;;;AACA,SAASI,gBAAT,CAA0BlzI,EAA1B,EAA8B;EAC1B,MAAM3D,IAAI,GAAGi0E,yBAAyB,CAACtwE,EAAD,CAAtC;EACA,IAAI,CAAC3D,IAAL,EACI,MAAM82I,aAAa,CAACnzI,EAAD,CAAnB;EACJ,OAAO,IAAIuwH,eAAJ,CAAoBl0H,IAApB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+2I,eAAT,CAAyBpzI,EAAzB,EAA6B;EACzB,MAAM3D,IAAI,GAAGi0E,yBAAyB,CAACtwE,EAAD,CAAtC;EACA,IAAI,CAAC3D,IAAL,EACI,MAAM82I,aAAa,CAACnzI,EAAD,CAAnB;EACJ,OAAO3D,IAAP;AACH;;AACD,SAAS82I,aAAT,CAAuBnzI,EAAvB,EAA2B;EACvB,OAAO,IAAIwY,KAAJ,CAAW,qBAAoBxY,EAAG,SAAlC,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+iC,iBAAN,CAAwB;AAExB;AACA;AACA;AACA;;;AACAA,iBAAiB,CAACyoB,iBAAlB,GAAsC6nF,uBAAtC;AACA;;AACA,SAASA,uBAAT,CAAiCpyG,KAAjC,EAAwC;EACpC,OAAOqyG,aAAa,CAAC/7E,eAAe,EAAhB,EAAoBN,QAAQ,EAA5B,EAAgC,CAACh2B,KAAK,GAAG;EAAG;EAAZ,MAAmD;EAAG;EAAtF,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqyG,aAAT,CAAuB9pF,KAAvB,EAA8B0H,KAA9B,EAAqCqiF,MAArC,EAA6C;EACzC,IAAI1iF,eAAe,CAACrH,KAAD,CAAf,IAA0B,CAAC+pF,MAA/B,EAAuC;IACnC;IACA;IACA,MAAM1+D,aAAa,GAAGtf,wBAAwB,CAAC/L,KAAK,CAAC31C,KAAP,EAAcq9C,KAAd,CAA9C,CAHmC,CAGiC;;IACpE,OAAO,IAAI64C,SAAJ,CAAcl1B,aAAd,EAA6BA,aAA7B,CAAP;EACH,CALD,MAMK,IAAIrrB,KAAK,CAACntD,IAAN,IAAc;EAAE;EAAF,EAA6B;EAAG;EAAhC,EAA+D;EAAG;EAAhF,CAAJ,EAA0G;IAC3G;IACA;IACA,MAAMm3I,iBAAiB,GAAGtiF,KAAK,CAACxB,0BAAD,CAA/B,CAH2G,CAG9C;;IAC7D,OAAO,IAAIq6C,SAAJ,CAAcypC,iBAAd,EAAiCtiF,KAAjC,CAAP;EACH;;EACD,OAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuiF,OAAN,SAAsB1wG,iBAAtB,CAAwC;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2wG,eAAN,SAA8BD,OAA9B,CAAsC;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIE,6BAA6B,GAAG,EAApC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,MAAMC,kBAAN,CAAyB;EACrBxgJ,WAAW,CAACwD,IAAD,EAAOmd,QAAP,EAAiB;IACxB,KAAKnd,IAAL,GAAYA,IAAZ;IACA,KAAKmd,QAAL,GAAgBA,QAAhB;EACH;;AAJoB;AAMzB;AACA;AACA;;;AACA,SAAS8/H,gBAAT,CA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;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,SAASzkG,eAAT,CAAyBs0C,SAAzB,EAAoCr4D,OAApC,EAA6C;EACzCra,SAAS,IAAIqxF,kBAAkB,CAAC3e,SAAD,CAA/B;EACA,MAAMyD,YAAY,GAAG7kB,eAAe,CAACohB,SAAD,CAApC;EACA,MAAMovE,eAAe,GAAGznI,OAAO,CAACynI,eAAR,IAA2Br1D,eAAe,EAAlE;EACA,MAAMpxF,OAAO,GAAG,IAAIuzG,gBAAJ,CAAqBz4B,YAArB,CAAhB;EACA,OAAO96E,OAAO,CAAC+R,MAAR,CAAe00I,eAAf,EAAgCznI,OAAO,CAACikB,gBAAxC,EAA0DjkB,OAAO,CAAC1Q,WAAlE,EAA+E0Q,OAAO,CAACk1F,mBAAvF,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwyC,oBAAT,CAA8BrvE,SAA9B,EAAyC;EACrC,MAAMyD,YAAY,GAAG7kB,eAAe,CAACohB,SAAD,CAApC;EACA,IAAI,CAACyD,YAAL,EACI,OAAO,IAAP;EACJ,MAAM96E,OAAO,GAAG,IAAIuzG,gBAAJ,CAAqBz4B,YAArB,CAAhB;EACA,OAAO;IACH,IAAIr0E,QAAJ,GAAe;MACX,OAAOzG,OAAO,CAACyG,QAAf;IACH,CAHE;;IAIH,IAAI5B,IAAJ,GAAW;MACP,OAAO7E,OAAO,CAAC+zG,aAAf;IACH,CANE;;IAOH,IAAIhpG,MAAJ,GAAa;MACT,OAAO/K,OAAO,CAAC+K,MAAf;IACH,CATE;;IAUH,IAAI0pD,OAAJ,GAAc;MACV,OAAOz0D,OAAO,CAACy0D,OAAf;IACH,CAZE;;IAaH,IAAIJ,kBAAJ,GAAyB;MACrB,OAAOr0D,OAAO,CAACq0D,kBAAf;IACH,CAfE;;IAgBH,IAAI2C,YAAJ,GAAmB;MACf,OAAO8jB,YAAY,CAACj5C,UAApB;IACH;;EAlBE,CAAP;AAoBH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI,OAAOl9B,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;EAC/C;EACA;EACA;EACA2sD,OAAO,CAAC88E,SAAR,GAAoB98E,OAAO,CAAC88E,SAAR,IAAqB,YAAY;IACjD,MAAM,IAAIptH,KAAJ,CAAU,+EACZ,iFADY,GAEZ,+DAFY,GAGZ,gGAHY,GAIZ,uFAJE,CAAN;EAKH,CAND;AAOH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtm6BA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM6qI,wBAAN,SAAuCrsG,2DAAvC,CAAmD;EAC/C5jD,WAAW,GAAG;IACV,MAAM,GAAGwT,SAAT;IACA,KAAK08I,iBAAL,GAAyB,IAAzB;EACH;;AAJ8C;AAOnD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMC,iBAAN,SAAgCF,wBAAhC,CAAyD;EACnC,OAAXG,WAAW,GAAG;IACjBhsG,sEAAkB,CAAC,IAAI+rG,iBAAJ,EAAD,CAAlB;EACH;;EACDE,WAAW,CAAC/7G,EAAD,EAAKg8G,GAAL,EAAU3pE,QAAV,EAAoB;IAC3BryC,EAAE,CAAC3sC,gBAAH,CAAoB2oJ,GAApB,EAAyB3pE,QAAzB,EAAmC,KAAnC,EAD2B,CAE3B;IACA;;IACA,OAAO,MAAM;MACTryC,EAAE,CAACtuC,mBAAH,CAAuBsqJ,GAAvB,EAA4B3pE,QAA5B,EAAsC,KAAtC;IACH,CAFD;EAGH;;EACD4pE,aAAa,CAACj8G,EAAD,EAAKg8G,GAAL,EAAU;IACnBh8G,EAAE,CAACi8G,aAAH,CAAiBD,GAAjB;EACH;;EACDn3I,MAAM,CAACkyC,IAAD,EAAO;IACT,IAAIA,IAAI,CAACG,UAAT,EAAqB;MACjBH,IAAI,CAACG,UAAL,CAAgBC,WAAhB,CAA4BJ,IAA5B;IACH;EACJ;;EACD5qD,aAAa,CAACs9E,OAAD,EAAUtxE,GAAV,EAAe;IACxBA,GAAG,GAAGA,GAAG,IAAI,KAAK+jJ,kBAAL,EAAb;IACA,OAAO/jJ,GAAG,CAAChM,aAAJ,CAAkBs9E,OAAlB,CAAP;EACH;;EACD0yE,kBAAkB,GAAG;IACjB,OAAOlwJ,QAAQ,CAACsrD,cAAT,CAAwBC,kBAAxB,CAA2C,WAA3C,CAAP;EACH;;EACD0kG,kBAAkB,GAAG;IACjB,OAAOjwJ,QAAP;EACH;;EACDmwJ,aAAa,CAACrlG,IAAD,EAAO;IAChB,OAAOA,IAAI,CAACszB,QAAL,KAAkBvrB,IAAI,CAACu7B,YAA9B;EACH;;EACDgiE,YAAY,CAACtlG,IAAD,EAAO;IACf,OAAOA,IAAI,YAAYulG,gBAAvB;EACH;EACD;;;EACAhlI,oBAAoB,CAACnf,GAAD,EAAMqnC,MAAN,EAAc;IAC9B,IAAIA,MAAM,KAAK,QAAf,EAAyB;MACrB,OAAO/tC,MAAP;IACH;;IACD,IAAI+tC,MAAM,KAAK,UAAf,EAA2B;MACvB,OAAOrnC,GAAP;IACH;;IACD,IAAIqnC,MAAM,KAAK,MAAf,EAAuB;MACnB,OAAOrnC,GAAG,CAACnM,IAAX;IACH;;IACD,OAAO,IAAP;EACH;;EACDorB,WAAW,CAACjf,GAAD,EAAM;IACb,MAAMvI,IAAI,GAAG2sJ,kBAAkB,EAA/B;IACA,OAAO3sJ,IAAI,IAAI,IAAR,GAAe,IAAf,GAAsB4sJ,YAAY,CAAC5sJ,IAAD,CAAzC;EACH;;EACD6sJ,gBAAgB,GAAG;IACfC,WAAW,GAAG,IAAd;EACH;;EACDC,YAAY,GAAG;IACX,OAAOlrJ,MAAM,CAAC/C,SAAP,CAAiBkuJ,SAAxB;EACH;;EACDC,SAAS,CAAC3tJ,IAAD,EAAO;IACZ,OAAO2gD,qEAAiB,CAAC5jD,QAAQ,CAACwH,MAAV,EAAkBvE,IAAlB,CAAxB;EACH;;AA7DoD;;AA+DzD,IAAIwtJ,WAAW,GAAG,IAAlB;;AACA,SAASH,kBAAT,GAA8B;EAC1BG,WAAW,GAAGA,WAAW,IAAIzwJ,QAAQ,CAACo1C,aAAT,CAAuB,MAAvB,CAA7B;EACA,OAAOq7G,WAAW,GAAGA,WAAW,CAACI,YAAZ,CAAyB,MAAzB,CAAH,GAAsC,IAAxD;AACH,EACD;;;AACA,IAAIC,cAAJ;;AACA,SAASP,YAAT,CAAsBzwJ,GAAtB,EAA2B;EACvBgxJ,cAAc,GAAGA,cAAc,IAAI9wJ,QAAQ,CAACE,aAAT,CAAuB,GAAvB,CAAnC;EACA4wJ,cAAc,CAACpkJ,YAAf,CAA4B,MAA5B,EAAoC5M,GAApC;EACA,MAAMixJ,QAAQ,GAAGD,cAAc,CAACrlI,QAAhC;EACA,OAAOslI,QAAQ,CAAC1/I,MAAT,CAAgB,CAAhB,MAAuB,GAAvB,GAA6B0/I,QAA7B,GAAyC,IAAGA,QAAS,EAA5D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMC,aAAa,GAAG,IAAI5oI,yDAAJ,CAAmB,eAAnB,CAAtB;;AACA,SAAS6oI,qBAAT,CAA+BC,YAA/B,EAA6ClxJ,QAA7C,EAAuDsmC,QAAvD,EAAiE;EAC7D,OAAO,MAAM;IACT;IACA;IACAA,QAAQ,CAACY,GAAT,CAAawpG,gEAAb,EAAoCG,WAApC,CAAgDnzH,IAAhD,CAAqD,MAAM;MACvD,MAAMyzI,GAAG,GAAGxtG,2DAAO,EAAnB;MACA,MAAMuV,MAAM,GAAGl5D,QAAQ,CAAC66C,gBAAT,CAA2B,wBAAuBq2G,YAAa,IAA/D,CAAf;;MACA,KAAK,IAAInpJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmxD,MAAM,CAACtxD,MAA3B,EAAmCG,CAAC,EAApC,EAAwC;QACpCopJ,GAAG,CAACv4I,MAAJ,CAAWsgD,MAAM,CAACnxD,CAAD,CAAjB;MACH;IACJ,CAND;EAOH,CAVD;AAWH;;AACD,MAAMqpJ,2BAA2B,GAAG,CAChC;EACIx6G,OAAO,EAAE65F,0DADb;EAEI9lH,UAAU,EAAEsmI,qBAFhB;EAGI1uH,IAAI,EAAE,CAACyuH,aAAD,EAAgBxjJ,qDAAhB,EAA0Bsc,mDAA1B,CAHV;EAIIqlC,KAAK,EAAE;AAJX,CADgC,CAApC;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMkiG,qBAAN,CAA4B;EACxBnZ,WAAW,CAAC7kC,QAAD,EAAW;IAClB26C,2EAAA,GAAmC,CAACpU,IAAD,EAAOI,eAAe,GAAG,IAAzB,KAAkC;MACjE,MAAMP,WAAW,GAAGpmC,QAAQ,CAAC0mC,qBAAT,CAA+BH,IAA/B,EAAqCI,eAArC,CAApB;;MACA,IAAIP,WAAW,IAAI,IAAnB,EAAyB;QACrB,MAAM,IAAI50H,KAAJ,CAAU,yCAAV,CAAN;MACH;;MACD,OAAO40H,WAAP;IACH,CAND;;IAOAuU,gFAAA,GAAwC,MAAM36C,QAAQ,CAACwmC,mBAAT,EAA9C;;IACAmU,+EAAA,GAAuC,MAAM36C,QAAQ,CAACymC,kBAAT,EAA7C;;IACA,MAAMwX,aAAa,GAAG,CAAClxI;IAAS;IAAV,KAAgC;MAClD,MAAMmxI,aAAa,GAAGvD,gFAAA,EAAtB;MACA,IAAI7pI,KAAK,GAAGotI,aAAa,CAAC3pJ,MAA1B;MACA,IAAI4pJ,OAAO,GAAG,KAAd;;MACA,MAAMC,SAAS,GAAG,UAAUC;MAAS;MAAnB,EAAsC;QACpDF,OAAO,GAAGA,OAAO,IAAIE,QAArB;QACAvtI,KAAK;;QACL,IAAIA,KAAK,IAAI,CAAb,EAAgB;UACZ/D,QAAQ,CAACoxI,OAAD,CAAR;QACH;MACJ,CAND;;MAOAD,aAAa,CAAC/qJ,OAAd,CAAsB,UAAUizI;MAAY;MAAtB,EAAyC;QAC3DA,WAAW,CAACV,UAAZ,CAAuB0Y,SAAvB;MACH,CAFD;IAGH,CAdD;;IAeA,IAAI,CAACzD,0EAAL,EAAsC;MAClCA,0EAAA,GAAkC,EAAlC;IACH;;IACDA,+EAAA,CAAqCsD,aAArC;EACH;;EACDvX,qBAAqB,CAAC1mC,QAAD,EAAWumC,IAAX,EAAiBI,eAAjB,EAAkC;IACnD,IAAIJ,IAAI,IAAI,IAAZ,EAAkB;MACd,OAAO,IAAP;IACH;;IACD,MAAMxxI,CAAC,GAAGirG,QAAQ,CAACsmC,cAAT,CAAwBC,IAAxB,CAAV;;IACA,IAAIxxI,CAAC,IAAI,IAAT,EAAe;MACX,OAAOA,CAAP;IACH,CAFD,MAGK,IAAI,CAAC4xI,eAAL,EAAsB;MACvB,OAAO,IAAP;IACH;;IACD,IAAIr2F,2DAAO,GAAGysG,YAAV,CAAuBxW,IAAvB,CAAJ,EAAkC;MAC9B,OAAO,KAAKG,qBAAL,CAA2B1mC,QAA3B,EAAqCumC,IAAI,CAACv5F,IAA1C,EAAgD,IAAhD,CAAP;IACH;;IACD,OAAO,KAAK05F,qBAAL,CAA2B1mC,QAA3B,EAAqCumC,IAAI,CAACgI,aAA1C,EAAyD,IAAzD,CAAP;EACH;;AA9CuB;AAiD5B;AACA;AACA;;;AACA,MAAM+P,UAAN,CAAiB;EACbzlG,KAAK,GAAG;IACJ,OAAO,IAAI0lG,cAAJ,EAAP;EACH;;AAHY;;AAKjBD,UAAU,CAACzpJ,IAAX;EAAA,iBAAuGypJ,UAAvG;AAAA;;AACAA,UAAU,CAACtpJ,KAAX,kBAD6FxH,gEAC7F;EAAA,OAA2G8wJ,UAA3G;EAAA,SAA2GA,UAA3G;AAAA;;AACA;EAAA,mDAF6F9wJ,+DAE7F,CAA2F8wJ,UAA3F,EAAmH,CAAC;IACxGjpJ,IAAI,EAAE3E,qDAAUA;EADwF,CAAD,CAAnH;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8tJ,qBAAqB,GAAG,IAAIzpI,yDAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM0pI,YAAN,CAAmB;EACf;AACJ;AACA;EACIryJ,WAAW,CAACsyJ,OAAD,EAAUjU,KAAV,EAAiB;IACxB,KAAKA,KAAL,GAAaA,KAAb;IACA,KAAKkU,kBAAL,GAA0B,IAAIphH,GAAJ,EAA1B;IACAmhH,OAAO,CAACvrJ,OAAR,CAAgBo6B,CAAC,IAAIA,CAAC,CAACqxH,OAAF,GAAY,IAAjC;IACA,KAAKC,QAAL,GAAgBH,OAAO,CAACx2I,KAAR,GAAgB+gB,OAAhB,EAAhB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIl1B,gBAAgB,CAAC6xC,OAAD,EAAUonE,SAAV,EAAqB/6F,OAArB,EAA8B;IAC1C,MAAM6sI,MAAM,GAAG,KAAKC,cAAL,CAAoB/xC,SAApB,CAAf;;IACA,OAAO8xC,MAAM,CAAC/qJ,gBAAP,CAAwB6xC,OAAxB,EAAiConE,SAAjC,EAA4C/6F,OAA5C,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI+sI,sBAAsB,CAAC9+G,MAAD,EAAS8sE,SAAT,EAAoB/6F,OAApB,EAA6B;IAC/C,MAAM6sI,MAAM,GAAG,KAAKC,cAAL,CAAoB/xC,SAApB,CAAf;;IACA,OAAO8xC,MAAM,CAACE,sBAAP,CAA8B9+G,MAA9B,EAAsC8sE,SAAtC,EAAiD/6F,OAAjD,CAAP;EACH;EACD;AACJ;AACA;;;EACIgtI,OAAO,GAAG;IACN,OAAO,KAAKxU,KAAZ;EACH;EACD;;;EACAsU,cAAc,CAAC/xC,SAAD,EAAY;IACtB,MAAM8xC,MAAM,GAAG,KAAKH,kBAAL,CAAwB9qH,GAAxB,CAA4Bm5E,SAA5B,CAAf;;IACA,IAAI8xC,MAAJ,EAAY;MACR,OAAOA,MAAP;IACH;;IACD,MAAMJ,OAAO,GAAG,KAAKG,QAArB;;IACA,KAAK,IAAInqJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgqJ,OAAO,CAACnqJ,MAA5B,EAAoCG,CAAC,EAArC,EAAyC;MACrC,MAAMoqJ,MAAM,GAAGJ,OAAO,CAAChqJ,CAAD,CAAtB;;MACA,IAAIoqJ,MAAM,CAACpgH,QAAP,CAAgBsuE,SAAhB,CAAJ,EAAgC;QAC5B,KAAK2xC,kBAAL,CAAwBz9G,GAAxB,CAA4B8rE,SAA5B,EAAuC8xC,MAAvC;;QACA,OAAOA,MAAP;MACH;IACJ;;IACD,MAAM,IAAIttI,KAAJ,CAAW,2CAA0Cw7F,SAAU,EAA/D,CAAN;EACH;;AA1Dc;;AA4DnByxC,YAAY,CAAC5pJ,IAAb;EAAA,iBAAyG4pJ,YAAzG,EArF6FjxJ,sDAqF7F,CAAuIgxJ,qBAAvI,GArF6FhxJ,sDAqF7F,CAAyKA,iDAAzK;AAAA;;AACAixJ,YAAY,CAACzpJ,KAAb,kBAtF6FxH,gEAsF7F;EAAA,OAA6GixJ,YAA7G;EAAA,SAA6GA,YAA7G;AAAA;;AACA;EAAA,mDAvF6FjxJ,+DAuF7F,CAA2FixJ,YAA3F,EAAqH,CAAC;IAC1GppJ,IAAI,EAAE3E,qDAAUA;EAD0F,CAAD,CAArH,EAE4B,YAAY;IAAE,OAAO,CAAC;MAAE2E,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE6E,iDADwD;QAE9DlD,IAAI,EAAE,CAACwnJ,qBAAD;MAFwD,CAAD;IAA/B,CAAD,EAG3B;MAAEnpJ,IAAI,EAAE7H,iDAASmpB;IAAjB,CAH2B,CAAP;EAGG,CAL7C;AAAA;;AAMA,MAAMuoI,kBAAN,CAAyB;EACrB9yJ,WAAW,CAACqrB,IAAD,EAAO;IACd,KAAKA,IAAL,GAAYA,IAAZ;EACH;;EACDunI,sBAAsB,CAACp5G,OAAD,EAAUonE,SAAV,EAAqB/6F,OAArB,EAA8B;IAChD,MAAMiuB,MAAM,GAAGoQ,2DAAO,GAAGt4B,oBAAV,CAA+B,KAAKP,IAApC,EAA0CmuB,OAA1C,CAAf;;IACA,IAAI,CAAC1F,MAAL,EAAa;MACT,MAAM,IAAI1uB,KAAJ,CAAW,4BAA2B0uB,MAAO,cAAa8sE,SAAU,EAApE,CAAN;IACH;;IACD,OAAO,KAAKj5G,gBAAL,CAAsBmsC,MAAtB,EAA8B8sE,SAA9B,EAAyC/6F,OAAzC,CAAP;EACH;;AAVoB;AAazB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMktI,gBAAN,CAAuB;EACnB/yJ,WAAW,GAAG;IACV;IACA,KAAKgzJ,UAAL,GAAkB,IAAIttH,GAAJ,EAAlB;EACH;;EACDutH,SAAS,CAACx5F,MAAD,EAAS;IACd,MAAMy5F,SAAS,GAAG,IAAIxtH,GAAJ,EAAlB;IACA+zB,MAAM,CAAC1yD,OAAP,CAAemG,KAAK,IAAI;MACpB,IAAI,CAAC,KAAK8lJ,UAAL,CAAgBt5G,GAAhB,CAAoBxsC,KAApB,CAAL,EAAiC;QAC7B,KAAK8lJ,UAAL,CAAgBv9I,GAAhB,CAAoBvI,KAApB;;QACAgmJ,SAAS,CAACz9I,GAAV,CAAcvI,KAAd;MACH;IACJ,CALD;IAMA,KAAKimJ,aAAL,CAAmBD,SAAnB;EACH;;EACDC,aAAa,CAACD,SAAD,EAAY,CAAG;;EAC5BE,YAAY,GAAG;IACX,OAAOv8I,KAAK,CAACC,IAAN,CAAW,KAAKk8I,UAAhB,CAAP;EACH;;AAlBkB;;AAoBvBD,gBAAgB,CAACtqJ,IAAjB;EAAA,iBAA6GsqJ,gBAA7G;AAAA;;AACAA,gBAAgB,CAACnqJ,KAAjB,kBAtI6FxH,gEAsI7F;EAAA,OAAiH2xJ,gBAAjH;EAAA,SAAiHA,gBAAjH;AAAA;;AACA;EAAA,mDAvI6F3xJ,+DAuI7F,CAA2F2xJ,gBAA3F,EAAyH,CAAC;IAC9G9pJ,IAAI,EAAE3E,qDAAUA;EAD8F,CAAD,CAAzH;AAAA;;AAGA,MAAM+uJ,mBAAN,SAAkCN,gBAAlC,CAAmD;EAC/C/yJ,WAAW,CAACqrB,IAAD,EAAO;IACd;IACA,KAAKA,IAAL,GAAYA,IAAZ,CAFc,CAGd;;IACA,KAAKioI,UAAL,GAAkB,IAAIniH,GAAJ,EAAlB;;IACA,KAAKmiH,UAAL,CAAgBx+G,GAAhB,CAAoBzpB,IAAI,CAACxe,IAAzB,EAA+B,EAA/B;EACH;;EACD0mJ,gBAAgB,CAAC95F,MAAD,EAAS7Y,IAAT,EAAe4yG,UAAf,EAA2B;IACvC/5F,MAAM,CAAC1yD,OAAP,CAAgBmG,KAAD,IAAW;MACtB,MAAMumJ,OAAO,GAAG,KAAKpoI,IAAL,CAAU5qB,aAAV,CAAwB,OAAxB,CAAhB;;MACAgzJ,OAAO,CAAC7oD,WAAR,GAAsB19F,KAAtB;MACAsmJ,UAAU,CAACrnJ,IAAX,CAAgBy0C,IAAI,CAAC9/C,WAAL,CAAiB2yJ,OAAjB,CAAhB;IACH,CAJD;EAKH;;EACDC,OAAO,CAACC,QAAD,EAAW;IACd,MAAMH,UAAU,GAAG,EAAnB;;IACA,KAAKD,gBAAL,CAAsB,KAAKP,UAA3B,EAAuCW,QAAvC,EAAiDH,UAAjD;;IACA,KAAKF,UAAL,CAAgBx+G,GAAhB,CAAoB6+G,QAApB,EAA8BH,UAA9B;EACH;;EACDI,UAAU,CAACD,QAAD,EAAW;IACjB,MAAMH,UAAU,GAAG,KAAKF,UAAL,CAAgB7rH,GAAhB,CAAoBksH,QAApB,CAAnB;;IACA,IAAIH,UAAJ,EAAgB;MACZA,UAAU,CAACzsJ,OAAX,CAAmBinC,WAAnB;IACH;;IACD,KAAKslH,UAAL,CAAgBp5G,MAAhB,CAAuBy5G,QAAvB;EACH;;EACDR,aAAa,CAACD,SAAD,EAAY;IACrB,KAAKI,UAAL,CAAgBvsJ,OAAhB,CAAwB,CAACysJ,UAAD,EAAaG,QAAb,KAA0B;MAC9C,KAAKJ,gBAAL,CAAsBL,SAAtB,EAAiCS,QAAjC,EAA2CH,UAA3C;IACH,CAFD;EAGH;;EACD1lI,WAAW,GAAG;IACV,KAAKwlI,UAAL,CAAgBvsJ,OAAhB,CAAwBysJ,UAAU,IAAIA,UAAU,CAACzsJ,OAAX,CAAmBinC,WAAnB,CAAtC;EACH;;AAlC8C;;AAoCnDqlH,mBAAmB,CAAC5qJ,IAApB;EAAA,iBAAgH4qJ,mBAAhH,EA9K6FjyJ,sDA8K7F,CAAqJ2M,qDAArJ;AAAA;;AACAslJ,mBAAmB,CAACzqJ,KAApB,kBA/K6FxH,gEA+K7F;EAAA,OAAoHiyJ,mBAApH;EAAA,SAAoHA,mBAApH;AAAA;;AACA;EAAA,mDAhL6FjyJ,+DAgL7F,CAA2FiyJ,mBAA3F,EAA4H,CAAC;IACjHpqJ,IAAI,EAAE3E,qDAAUA;EADiG,CAAD,CAA5H,EAE4B,YAAY;IAAE,OAAO,CAAC;MAAE2E,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE6E,iDADwD;QAE9DlD,IAAI,EAAE,CAACmD,qDAAD;MAFwD,CAAD;IAA/B,CAAD,CAAP;EAGlB,CALxB;AAAA;;AAMA,SAASigC,WAAT,CAAqB6lH,SAArB,EAAgC;EAC5B3vG,2DAAO,GAAG/qC,MAAV,CAAiB06I,SAAjB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,cAAc,GAAG;EACnB,OAAO,4BADY;EAEnB,SAAS,8BAFU;EAGnB,SAAS,8BAHU;EAInB,OAAO,sCAJY;EAKnB,SAAS,+BALU;EAMnB,QAAQ;AANW,CAAvB;AAQA,MAAMC,eAAe,GAAG,SAAxB;AACA,MAAMC,aAAa,GAAG,OAAOjrJ,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA5D;AACA,MAAMkrJ,kBAAkB,GAAG,QAA3B;AACA,MAAMC,SAAS,GAAI,WAAUD,kBAAmB,EAAhD;AACA,MAAME,YAAY,GAAI,cAAaF,kBAAmB,EAAtD;;AACA,SAASG,oBAAT,CAA8BC,gBAA9B,EAAgD;EAC5C,OAAOF,YAAY,CAAC5rJ,OAAb,CAAqBwrJ,eAArB,EAAsCM,gBAAtC,CAAP;AACH;;AACD,SAASC,iBAAT,CAA2BD,gBAA3B,EAA6C;EACzC,OAAOH,SAAS,CAAC3rJ,OAAV,CAAkBwrJ,eAAlB,EAAmCM,gBAAnC,CAAP;AACH;;AACD,SAASE,aAAT,CAAuBC,MAAvB,EAA+B/6F,MAA/B,EAAuC3lB,MAAvC,EAA+C;EAC3C,KAAK,IAAIxrC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmxD,MAAM,CAACtxD,MAA3B,EAAmCG,CAAC,EAApC,EAAwC;IACpC,IAAI4E,KAAK,GAAGusD,MAAM,CAACnxD,CAAD,CAAlB;;IACA,IAAIuO,KAAK,CAACoC,OAAN,CAAc/L,KAAd,CAAJ,EAA0B;MACtBqnJ,aAAa,CAACC,MAAD,EAAStnJ,KAAT,EAAgB4mC,MAAhB,CAAb;IACH,CAFD,MAGK;MACD5mC,KAAK,GAAGA,KAAK,CAAC3E,OAAN,CAAcwrJ,eAAd,EAA+BS,MAA/B,CAAR;MACA1gH,MAAM,CAAC3nC,IAAP,CAAYe,KAAZ;IACH;EACJ;;EACD,OAAO4mC,MAAP;AACH;;AACD,SAAS2gH,sBAAT,CAAgCC,YAAhC,EAA8C;EAC1C;EACA;EACA;EACA;EACA,OAAQnoJ,KAAD,IAAW;IACd;IACA;IACA;IACA;IACA,IAAIA,KAAK,KAAK,cAAd,EAA8B;MAC1B,OAAOmoJ,YAAP;IACH;;IACD,MAAMC,oBAAoB,GAAGD,YAAY,CAACnoJ,KAAD,CAAzC;;IACA,IAAIooJ,oBAAoB,KAAK,KAA7B,EAAoC;MAChC;MACApoJ,KAAK,CAACoC,cAAN;MACApC,KAAK,CAAC81G,WAAN,GAAoB,KAApB;IACH;;IACD,OAAOvvG,SAAP;EACH,CAfD;AAgBH;;AACD,IAAI8hJ,mCAAmC,GAAG,KAA1C;;AACA,MAAMC,mBAAN,CAA0B;EACtB70J,WAAW,CAAC80J,YAAD,EAAeC,gBAAf,EAAiCC,KAAjC,EAAwC;IAC/C,KAAKF,YAAL,GAAoBA,YAApB;IACA,KAAKC,gBAAL,GAAwBA,gBAAxB;IACA,KAAKC,KAAL,GAAaA,KAAb;IACA,KAAKC,gBAAL,GAAwB,IAAI9jH,GAAJ,EAAxB;IACA,KAAK+jH,eAAL,GAAuB,IAAIC,mBAAJ,CAAwBL,YAAxB,CAAvB;EACH;;EACD3gD,cAAc,CAAC36D,OAAD,EAAUvwC,IAAV,EAAgB;IAC1B,IAAI,CAACuwC,OAAD,IAAY,CAACvwC,IAAjB,EAAuB;MACnB,OAAO,KAAKisJ,eAAZ;IACH;;IACD,QAAQjsJ,IAAI,CAACyB,aAAb;MACI,KAAK+qD,qEAAL;QAAiC;UAC7B,IAAI9Z,QAAQ,GAAG,KAAKs5G,gBAAL,CAAsBxtH,GAAtB,CAA0Bx+B,IAAI,CAAC2D,EAA/B,CAAf;;UACA,IAAI,CAAC+uC,QAAL,EAAe;YACXA,QAAQ,GAAG,IAAIy5G,iCAAJ,CAAsC,KAAKN,YAA3C,EAAyD,KAAKC,gBAA9D,EAAgF9rJ,IAAhF,EAAsF,KAAK+rJ,KAA3F,CAAX;YACA,KAAKC,gBAAL,CAAsBngH,GAAtB,CAA0B7rC,IAAI,CAAC2D,EAA/B,EAAmC+uC,QAAnC;UACH;;UACDA,QAAQ,CAAC05G,WAAT,CAAqB77G,OAArB;UACA,OAAOmC,QAAP;QACH;MACD;MACA;;MACA,KAAK,CAAL;MACA,KAAK8Z,sEAAL;QACI;QACA,IAAI,CAAC,OAAO1sD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACA;QACA;QACA;QACA,CAAC6rJ,mCAJD,IAIwC3rJ,IAAI,CAACyB,aAAL,KAAuB,CAJnE,EAIsE;UAClEkqJ,mCAAmC,GAAG,IAAtC;UACAvtJ,OAAO,CAACmhC,IAAR,CAAa,oIAAb;QACH;;QACD,OAAO,IAAI8sH,iBAAJ,CAAsB,KAAKR,YAA3B,EAAyC,KAAKC,gBAA9C,EAAgEv7G,OAAhE,EAAyEvwC,IAAzE,CAAP;;MACJ;QAAS;UACL,IAAI,CAAC,KAAKgsJ,gBAAL,CAAsBv7G,GAAtB,CAA0BzwC,IAAI,CAAC2D,EAA/B,CAAL,EAAyC;YACrC,MAAM6sD,MAAM,GAAG86F,aAAa,CAACtrJ,IAAI,CAAC2D,EAAN,EAAU3D,IAAI,CAACwwD,MAAf,EAAuB,EAAvB,CAA5B;YACA,KAAKs7F,gBAAL,CAAsB9B,SAAtB,CAAgCx5F,MAAhC;YACA,KAAKw7F,gBAAL,CAAsBngH,GAAtB,CAA0B7rC,IAAI,CAAC2D,EAA/B,EAAmC,KAAKsoJ,eAAxC;UACH;;UACD,OAAO,KAAKA,eAAZ;QACH;IA/BL;EAiCH;;EACD3/C,KAAK,GAAG,CAAG;;EACXzoF,GAAG,GAAG,CAAG;;AA/Ca;;AAiD1B+nI,mBAAmB,CAACpsJ,IAApB;EAAA,iBAAgHosJ,mBAAhH,EAzS6FzzJ,sDAyS7F,CAAqJixJ,YAArJ,GAzS6FjxJ,sDAyS7F,CAA8KiyJ,mBAA9K,GAzS6FjyJ,sDAyS7F,CAA8MuwI,iDAA9M;AAAA;;AACAkjB,mBAAmB,CAACjsJ,KAApB,kBA1S6FxH,gEA0S7F;EAAA,OAAoHyzJ,mBAApH;EAAA,SAAoHA,mBAApH;AAAA;;AACA;EAAA,mDA3S6FzzJ,+DA2S7F,CAA2FyzJ,mBAA3F,EAA4H,CAAC;IACjH5rJ,IAAI,EAAE3E,qDAAUA;EADiG,CAAD,CAA5H,EAE4B,YAAY;IAAE,OAAO,CAAC;MAAE2E,IAAI,EAAEopJ;IAAR,CAAD,EAAyB;MAAEppJ,IAAI,EAAEoqJ;IAAR,CAAzB,EAAwD;MAAEpqJ,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QACrH9J,IAAI,EAAE6E,iDAD+G;QAErHlD,IAAI,EAAE,CAAC+mI,iDAAD;MAF+G,CAAD;IAA/B,CAAxD,CAAP;EAGlB,CALxB;AAAA;;AAMA,MAAMwjB,mBAAN,CAA0B;EACtBn1J,WAAW,CAAC80J,YAAD,EAAe;IACtB,KAAKA,YAAL,GAAoBA,YAApB;IACA,KAAKvkI,IAAL,GAAYhY,MAAM,CAACpC,MAAP,CAAc,IAAd,CAAZ;IACA,KAAK6tE,WAAL,GAAmB,IAAnB;EACH;;EACD/8C,OAAO,GAAG,CAAG;;EACbxmC,aAAa,CAAC+C,IAAD,EAAOm+D,SAAP,EAAkB;IAC3B,IAAIA,SAAJ,EAAe;MACX;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,OAAOphE,QAAQ,CAACg1J,eAAT,CAAyBzB,cAAc,CAACnyF,SAAD,CAAd,IAA6BA,SAAtD,EAAiEn+D,IAAjE,CAAP;IACH;;IACD,OAAOjD,QAAQ,CAACE,aAAT,CAAuB+C,IAAvB,CAAP;EACH;;EACD+gF,aAAa,CAACtwE,KAAD,EAAQ;IACjB,OAAO1T,QAAQ,CAACgkF,aAAT,CAAuBtwE,KAAvB,CAAP;EACH;;EACDkwE,UAAU,CAAClwE,KAAD,EAAQ;IACd,OAAO1T,QAAQ,CAAC2jF,cAAT,CAAwBjwE,KAAxB,CAAP;EACH;;EACDnT,WAAW,CAACoY,MAAD,EAASs8I,QAAT,EAAmB;IAC1B,MAAMC,YAAY,GAAGluE,cAAc,CAACruE,MAAD,CAAd,GAAyBA,MAAM,CAACsuE,OAAhC,GAA0CtuE,MAA/D;IACAu8I,YAAY,CAAC30J,WAAb,CAAyB00J,QAAzB;EACH;;EACD1oJ,YAAY,CAACoM,MAAD,EAASs8I,QAAT,EAAmBE,QAAnB,EAA6B;IACrC,IAAIx8I,MAAJ,EAAY;MACR,MAAMu8I,YAAY,GAAGluE,cAAc,CAACruE,MAAD,CAAd,GAAyBA,MAAM,CAACsuE,OAAhC,GAA0CtuE,MAA/D;MACAu8I,YAAY,CAAC3oJ,YAAb,CAA0B0oJ,QAA1B,EAAoCE,QAApC;IACH;EACJ;;EACDjqG,WAAW,CAACvyC,MAAD,EAASy8I,QAAT,EAAmB;IAC1B,IAAIz8I,MAAJ,EAAY;MACRA,MAAM,CAACuyC,WAAP,CAAmBkqG,QAAnB;IACH;EACJ;;EACDnlD,iBAAiB,CAAC4uC,cAAD,EAAiB9uC,eAAjB,EAAkC;IAC/C,IAAIh8D,EAAE,GAAG,OAAO8qG,cAAP,KAA0B,QAA1B,GAAqC7+I,QAAQ,CAACo1C,aAAT,CAAuBypG,cAAvB,CAArC,GACLA,cADJ;;IAEA,IAAI,CAAC9qG,EAAL,EAAS;MACL,MAAM,IAAIlvB,KAAJ,CAAW,iBAAgBg6H,cAAe,8BAA1C,CAAN;IACH;;IACD,IAAI,CAAC9uC,eAAL,EAAsB;MAClBh8D,EAAE,CAACs2D,WAAH,GAAiB,EAAjB;IACH;;IACD,OAAOt2D,EAAP;EACH;;EACDkX,UAAU,CAACH,IAAD,EAAO;IACb,OAAOA,IAAI,CAACG,UAAZ;EACH;;EACDm8B,WAAW,CAACt8B,IAAD,EAAO;IACd,OAAOA,IAAI,CAACs8B,WAAZ;EACH;;EACD16E,YAAY,CAACqnC,EAAD,EAAK9wC,IAAL,EAAWyQ,KAAX,EAAkB0tD,SAAlB,EAA6B;IACrC,IAAIA,SAAJ,EAAe;MACXn+D,IAAI,GAAGm+D,SAAS,GAAG,GAAZ,GAAkBn+D,IAAzB;MACA,MAAMoyJ,YAAY,GAAG9B,cAAc,CAACnyF,SAAD,CAAnC;;MACA,IAAIi0F,YAAJ,EAAkB;QACdthH,EAAE,CAACuhH,cAAH,CAAkBD,YAAlB,EAAgCpyJ,IAAhC,EAAsCyQ,KAAtC;MACH,CAFD,MAGK;QACDqgC,EAAE,CAACrnC,YAAH,CAAgBzJ,IAAhB,EAAsByQ,KAAtB;MACH;IACJ,CATD,MAUK;MACDqgC,EAAE,CAACrnC,YAAH,CAAgBzJ,IAAhB,EAAsByQ,KAAtB;IACH;EACJ;;EACDs2E,eAAe,CAACj2C,EAAD,EAAK9wC,IAAL,EAAWm+D,SAAX,EAAsB;IACjC,IAAIA,SAAJ,EAAe;MACX,MAAMi0F,YAAY,GAAG9B,cAAc,CAACnyF,SAAD,CAAnC;;MACA,IAAIi0F,YAAJ,EAAkB;QACdthH,EAAE,CAACwhH,iBAAH,CAAqBF,YAArB,EAAmCpyJ,IAAnC;MACH,CAFD,MAGK;QACD8wC,EAAE,CAACi2C,eAAH,CAAoB,GAAE5oB,SAAU,IAAGn+D,IAAK,EAAxC;MACH;IACJ,CARD,MASK;MACD8wC,EAAE,CAACi2C,eAAH,CAAmB/mF,IAAnB;IACH;EACJ;;EACDoiC,QAAQ,CAAC0O,EAAD,EAAK9wC,IAAL,EAAW;IACf8wC,EAAE,CAACyhH,SAAH,CAAatgJ,GAAb,CAAiBjS,IAAjB;EACH;;EACDsiC,WAAW,CAACwO,EAAD,EAAK9wC,IAAL,EAAW;IAClB8wC,EAAE,CAACyhH,SAAH,CAAa58I,MAAb,CAAoB3V,IAApB;EACH;;EACDuqC,QAAQ,CAACuG,EAAD,EAAKpnC,KAAL,EAAY+G,KAAZ,EAAmB45B,KAAnB,EAA0B;IAC9B,IAAIA,KAAK,IAAIjkB,uEAAA,GAA+BA,wEAAnC,CAAT,EAA4E;MACxE0qB,EAAE,CAACpnC,KAAH,CAASy+D,WAAT,CAAqBz+D,KAArB,EAA4B+G,KAA5B,EAAmC45B,KAAK,GAAGjkB,wEAAR,GAAwC,WAAxC,GAAsD,EAAzF;IACH,CAFD,MAGK;MACD0qB,EAAE,CAACpnC,KAAH,CAASA,KAAT,IAAkB+G,KAAlB;IACH;EACJ;;EACD+5B,WAAW,CAACsG,EAAD,EAAKpnC,KAAL,EAAY2gC,KAAZ,EAAmB;IAC1B,IAAIA,KAAK,GAAGjkB,uEAAZ,EAA0C;MACtC0qB,EAAE,CAACpnC,KAAH,CAAS8oJ,cAAT,CAAwB9oJ,KAAxB;IACH,CAFD,MAGK;MACD;MACA;MACAonC,EAAE,CAACpnC,KAAH,CAASA,KAAT,IAAkB,EAAlB;IACH;EACJ;;EACDy+D,WAAW,CAACr3B,EAAD,EAAK9wC,IAAL,EAAWyQ,KAAX,EAAkB;IACzB+/I,aAAa,IAAIiC,oBAAoB,CAACzyJ,IAAD,EAAO,UAAP,CAArC;IACA8wC,EAAE,CAAC9wC,IAAD,CAAF,GAAWyQ,KAAX;EACH;;EACDowE,QAAQ,CAACh5B,IAAD,EAAOp3C,KAAP,EAAc;IAClBo3C,IAAI,CAACglC,SAAL,GAAiBp8E,KAAjB;EACH;;EACD+tC,MAAM,CAAClO,MAAD,EAASvnC,KAAT,EAAgBoU,QAAhB,EAA0B;IAC5BqzI,aAAa,IAAIiC,oBAAoB,CAAC1pJ,KAAD,EAAQ,UAAR,CAArC;;IACA,IAAI,OAAOunC,MAAP,KAAkB,QAAtB,EAAgC;MAC5B,OAAO,KAAKghH,YAAL,CAAkBlC,sBAAlB,CAAyC9+G,MAAzC,EAAiDvnC,KAAjD,EAAwDkoJ,sBAAsB,CAAC9zI,QAAD,CAA9E,CAAP;IACH;;IACD,OAAO,KAAKm0I,YAAL,CAAkBntJ,gBAAlB,CAAmCmsC,MAAnC,EAA2CvnC,KAA3C,EAAkDkoJ,sBAAsB,CAAC9zI,QAAD,CAAxE,CAAP;EACH;;AA9HqB;;AAgI1B,MAAMu1I,WAAW,GAAG,CAAC,MAAM,IAAIpqF,UAAJ,CAAe,CAAf,CAAP,GAApB;;AACA,SAASmqF,oBAAT,CAA8BzyJ,IAA9B,EAAoC2yJ,QAApC,EAA8C;EAC1C,IAAI3yJ,IAAI,CAACsoE,UAAL,CAAgB,CAAhB,MAAuBoqF,WAA3B,EAAwC;IACpC,MAAM,IAAI9wI,KAAJ,CAAW,wBAAuB+wI,QAAS,IAAG3yJ,IAAK;AACjE;AACA,qEAAqEA,IAAK,gIAF5D,CAAN;EAGH;AACJ;;AACD,SAAS+jF,cAAT,CAAwBl8B,IAAxB,EAA8B;EAC1B,OAAOA,IAAI,CAAC0yB,OAAL,KAAiB,UAAjB,IAA+B1yB,IAAI,CAACm8B,OAAL,KAAiB10E,SAAvD;AACH;;AACD,MAAMsiJ,iCAAN,SAAgDD,mBAAhD,CAAoE;EAChEn1J,WAAW,CAAC80J,YAAD,EAAeC,gBAAf,EAAiCt5E,SAAjC,EAA4Cu5E,KAA5C,EAAmD;IAC1D,MAAMF,YAAN;IACA,KAAKr5E,SAAL,GAAiBA,SAAjB;IACA,MAAMhiB,MAAM,GAAG86F,aAAa,CAACS,KAAK,GAAG,GAAR,GAAcv5E,SAAS,CAAC7uE,EAAzB,EAA6B6uE,SAAS,CAAChiB,MAAvC,EAA+C,EAA/C,CAA5B;IACAs7F,gBAAgB,CAAC9B,SAAjB,CAA2Bx5F,MAA3B;IACA,KAAK28F,WAAL,GAAmBhC,oBAAoB,CAACY,KAAK,GAAG,GAAR,GAAcv5E,SAAS,CAAC7uE,EAAzB,CAAvC;IACA,KAAKypJ,QAAL,GAAgB/B,iBAAiB,CAACU,KAAK,GAAG,GAAR,GAAcv5E,SAAS,CAAC7uE,EAAzB,CAAjC;EACH;;EACDyoJ,WAAW,CAAC77G,OAAD,EAAU;IACjB,MAAMvsC,YAAN,CAAmBusC,OAAnB,EAA4B,KAAK68G,QAAjC,EAA2C,EAA3C;EACH;;EACD51J,aAAa,CAACyY,MAAD,EAAS1V,IAAT,EAAe;IACxB,MAAM8wC,EAAE,GAAG,MAAM7zC,aAAN,CAAoByY,MAApB,EAA4B1V,IAA5B,CAAX;IACA,MAAMyJ,YAAN,CAAmBqnC,EAAnB,EAAuB,KAAK8hH,WAA5B,EAAyC,EAAzC;IACA,OAAO9hH,EAAP;EACH;;AAhB+D;;AAkBpE,MAAMghH,iBAAN,SAAgCH,mBAAhC,CAAoD;EAChDn1J,WAAW,CAAC80J,YAAD,EAAeC,gBAAf,EAAiCuB,MAAjC,EAAyC76E,SAAzC,EAAoD;IAC3D,MAAMq5E,YAAN;IACA,KAAKC,gBAAL,GAAwBA,gBAAxB;IACA,KAAKuB,MAAL,GAAcA,MAAd;IACA,KAAK5gH,UAAL,GAAkB4gH,MAAM,CAACjhH,YAAP,CAAoB;MAAEyvB,IAAI,EAAE;IAAR,CAApB,CAAlB;IACA,KAAKiwF,gBAAL,CAAsBrB,OAAtB,CAA8B,KAAKh+G,UAAnC;IACA,MAAM+jB,MAAM,GAAG86F,aAAa,CAAC94E,SAAS,CAAC7uE,EAAX,EAAe6uE,SAAS,CAAChiB,MAAzB,EAAiC,EAAjC,CAA5B;;IACA,KAAK,IAAInxD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmxD,MAAM,CAACtxD,MAA3B,EAAmCG,CAAC,EAApC,EAAwC;MACpC,MAAMmrJ,OAAO,GAAGlzJ,QAAQ,CAACE,aAAT,CAAuB,OAAvB,CAAhB;MACAgzJ,OAAO,CAAC7oD,WAAR,GAAsBnxC,MAAM,CAACnxD,CAAD,CAA5B;MACA,KAAKotC,UAAL,CAAgB50C,WAAhB,CAA4B2yJ,OAA5B;IACH;EACJ;;EACD8C,gBAAgB,CAAClrG,IAAD,EAAO;IACnB,OAAOA,IAAI,KAAK,KAAKirG,MAAd,GAAuB,KAAK5gH,UAA5B,GAAyC2V,IAAhD;EACH;;EACDpkB,OAAO,GAAG;IACN,KAAK8tH,gBAAL,CAAsBnB,UAAtB,CAAiC,KAAKl+G,UAAtC;EACH;;EACD50C,WAAW,CAACoY,MAAD,EAASs8I,QAAT,EAAmB;IAC1B,OAAO,MAAM10J,WAAN,CAAkB,KAAKy1J,gBAAL,CAAsBr9I,MAAtB,CAAlB,EAAiDs8I,QAAjD,CAAP;EACH;;EACD1oJ,YAAY,CAACoM,MAAD,EAASs8I,QAAT,EAAmBE,QAAnB,EAA6B;IACrC,OAAO,MAAM5oJ,YAAN,CAAmB,KAAKypJ,gBAAL,CAAsBr9I,MAAtB,CAAnB,EAAkDs8I,QAAlD,EAA4DE,QAA5D,CAAP;EACH;;EACDjqG,WAAW,CAACvyC,MAAD,EAASy8I,QAAT,EAAmB;IAC1B,OAAO,MAAMlqG,WAAN,CAAkB,KAAK8qG,gBAAL,CAAsBr9I,MAAtB,CAAlB,EAAiDy8I,QAAjD,CAAP;EACH;;EACDnqG,UAAU,CAACH,IAAD,EAAO;IACb,OAAO,KAAKkrG,gBAAL,CAAsB,MAAM/qG,UAAN,CAAiB,KAAK+qG,gBAAL,CAAsBlrG,IAAtB,CAAjB,CAAtB,CAAP;EACH;;AA/B+C;AAkCpD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmrG,eAAN,SAA8B1D,kBAA9B,CAAiD;EAC7C9yJ,WAAW,CAACyM,GAAD,EAAM;IACb,MAAMA,GAAN;EACH,CAH4C,CAI7C;EACA;;;EACA6lC,QAAQ,CAACsuE,SAAD,EAAY;IAChB,OAAO,IAAP;EACH;;EACDj5G,gBAAgB,CAAC6xC,OAAD,EAAUonE,SAAV,EAAqB/6F,OAArB,EAA8B;IAC1C2zB,OAAO,CAAC7xC,gBAAR,CAAyBi5G,SAAzB,EAAoC/6F,OAApC,EAA6C,KAA7C;IACA,OAAO,MAAM,KAAK7f,mBAAL,CAAyBwzC,OAAzB,EAAkConE,SAAlC,EAA6C/6F,OAA7C,CAAb;EACH;;EACD7f,mBAAmB,CAAC8tC,MAAD,EAAS8sE,SAAT,EAAoBjgG,QAApB,EAA8B;IAC7C,OAAOmzB,MAAM,CAAC9tC,mBAAP,CAA2B46G,SAA3B,EAAsCjgG,QAAtC,CAAP;EACH;;AAf4C;;AAiBjD61I,eAAe,CAAC/tJ,IAAhB;EAAA,iBAA4G+tJ,eAA5G,EAxgB6Fp1J,sDAwgB7F,CAA6I2M,qDAA7I;AAAA;;AACAyoJ,eAAe,CAAC5tJ,KAAhB,kBAzgB6FxH,gEAygB7F;EAAA,OAAgHo1J,eAAhH;EAAA,SAAgHA,eAAhH;AAAA;;AACA;EAAA,mDA1gB6Fp1J,+DA0gB7F,CAA2Fo1J,eAA3F,EAAwH,CAAC;IAC7GvtJ,IAAI,EAAE3E,qDAAUA;EAD6F,CAAD,CAAxH,EAE4B,YAAY;IAAE,OAAO,CAAC;MAAE2E,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE6E,iDADwD;QAE9DlD,IAAI,EAAE,CAACmD,qDAAD;MAFwD,CAAD;IAA/B,CAAD,CAAP;EAGlB,CALxB;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAM0oJ,aAAa,GAAG,CAAC,KAAD,EAAQ,SAAR,EAAmB,MAAnB,EAA2B,OAA3B,CAAtB,EACA;AACA;;AACA,MAAMC,OAAO,GAAG;EACZ,MAAM,WADM;EAEZ,MAAM,KAFM;EAGZ,QAAQ,QAHI;EAIZ,QAAQ,QAJI;EAKZ,OAAO,QALK;EAMZ,OAAO,QANK;EAOZ,QAAQ,WAPI;EAQZ,SAAS,YARG;EASZ,MAAM,SATM;EAUZ,QAAQ,WAVI;EAWZ,QAAQ,aAXI;EAYZ,UAAU,YAZE;EAaZ,OAAO;AAbK,CAAhB;AAeA;AACA;AACA;;AACA,MAAMC,oBAAoB,GAAG;EACzB,OAAQpqJ,KAAD,IAAWA,KAAK,CAACqqJ,MADC;EAEzB,WAAYrqJ,KAAD,IAAWA,KAAK,CAACsqJ,OAFH;EAGzB,QAAStqJ,KAAD,IAAWA,KAAK,CAACuqJ,OAHA;EAIzB,SAAUvqJ,KAAD,IAAWA,KAAK,CAACwqJ;AAJD,CAA7B;AAMA;AACA;AACA;AACA;;AACA,MAAMC,eAAN,SAA8BlE,kBAA9B,CAAiD;EAC7C;AACJ;AACA;AACA;EACI9yJ,WAAW,CAACyM,GAAD,EAAM;IACb,MAAMA,GAAN;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACI6lC,QAAQ,CAACsuE,SAAD,EAAY;IAChB,OAAOo2C,eAAe,CAACC,cAAhB,CAA+Br2C,SAA/B,KAA6C,IAApD;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIj5G,gBAAgB,CAAC6xC,OAAD,EAAUonE,SAAV,EAAqB/6F,OAArB,EAA8B;IAC1C,MAAMqxI,WAAW,GAAGF,eAAe,CAACC,cAAhB,CAA+Br2C,SAA/B,CAApB;IACA,MAAMu2C,cAAc,GAAGH,eAAe,CAACI,aAAhB,CAA8BF,WAAW,CAAC,SAAD,CAAzC,EAAsDrxI,OAAtD,EAA+D,KAAK2sI,OAAL,CAAaK,OAAb,EAA/D,CAAvB;IACA,OAAO,KAAKL,OAAL,CAAaK,OAAb,GAAuBzzG,iBAAvB,CAAyC,MAAM;MAClD,OAAO8E,2DAAO,GAAGmsG,WAAV,CAAsB72G,OAAtB,EAA+B09G,WAAW,CAAC,cAAD,CAA1C,EAA4DC,cAA5D,CAAP;IACH,CAFM,CAAP;EAGH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACyB,OAAdF,cAAc,CAACr2C,SAAD,EAAY;IAC7B,MAAMjrF,KAAK,GAAGirF,SAAS,CAACzwG,WAAV,GAAwBrJ,KAAxB,CAA8B,GAA9B,CAAd;IACA,MAAMuwJ,YAAY,GAAG1hI,KAAK,CAAC5e,KAAN,EAArB;;IACA,IAAK4e,KAAK,CAACxtB,MAAN,KAAiB,CAAlB,IAAwB,EAAEkvJ,YAAY,KAAK,SAAjB,IAA8BA,YAAY,KAAK,OAAjD,CAA5B,EAAuF;MACnF,OAAO,IAAP;IACH;;IACD,MAAM/oJ,GAAG,GAAG0oJ,eAAe,CAACM,aAAhB,CAA8B3hI,KAAK,CAAC/O,GAAN,EAA9B,CAAZ;;IACA,IAAI2wI,OAAO,GAAG,EAAd;IACA,IAAIC,MAAM,GAAG7hI,KAAK,CAACxvB,OAAN,CAAc,MAAd,CAAb;;IACA,IAAIqxJ,MAAM,GAAG,CAAC,CAAd,EAAiB;MACb7hI,KAAK,CAACzO,MAAN,CAAaswI,MAAb,EAAqB,CAArB;MACAD,OAAO,GAAG,OAAV;IACH;;IACDd,aAAa,CAAC1vJ,OAAd,CAAsB0wJ,YAAY,IAAI;MAClC,MAAMh3I,KAAK,GAAGkV,KAAK,CAACxvB,OAAN,CAAcsxJ,YAAd,CAAd;;MACA,IAAIh3I,KAAK,GAAG,CAAC,CAAb,EAAgB;QACZkV,KAAK,CAACzO,MAAN,CAAazG,KAAb,EAAoB,CAApB;QACA82I,OAAO,IAAIE,YAAY,GAAG,GAA1B;MACH;IACJ,CAND;IAOAF,OAAO,IAAIjpJ,GAAX;;IACA,IAAIqnB,KAAK,CAACxtB,MAAN,IAAgB,CAAhB,IAAqBmG,GAAG,CAACnG,MAAJ,KAAe,CAAxC,EAA2C;MACvC;MACA,OAAO,IAAP;IACH,CAxB4B,CAyB7B;IACA;IACA;;;IACA,MAAMxB,MAAM,GAAG,EAAf;IACAA,MAAM,CAAC,cAAD,CAAN,GAAyB0wJ,YAAzB;IACA1wJ,MAAM,CAAC,SAAD,CAAN,GAAoB4wJ,OAApB;IACA,OAAO5wJ,MAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACgC,OAArB+wJ,qBAAqB,CAACnrJ,KAAD,EAAQorJ,WAAR,EAAqB;IAC7C,IAAIC,OAAO,GAAGlB,OAAO,CAACnqJ,KAAK,CAAC+B,GAAP,CAAP,IAAsB/B,KAAK,CAAC+B,GAA1C;IACA,IAAIA,GAAG,GAAG,EAAV;;IACA,IAAIqpJ,WAAW,CAACxxJ,OAAZ,CAAoB,OAApB,IAA+B,CAAC,CAApC,EAAuC;MACnCyxJ,OAAO,GAAGrrJ,KAAK,CAACioB,IAAhB;MACAlmB,GAAG,GAAG,OAAN;IACH,CAN4C,CAO7C;;;IACA,IAAIspJ,OAAO,IAAI,IAAX,IAAmB,CAACA,OAAxB,EACI,OAAO,KAAP;IACJA,OAAO,GAAGA,OAAO,CAACznJ,WAAR,EAAV;;IACA,IAAIynJ,OAAO,KAAK,GAAhB,EAAqB;MACjBA,OAAO,GAAG,OAAV,CADiB,CACE;IACtB,CAFD,MAGK,IAAIA,OAAO,KAAK,GAAhB,EAAqB;MACtBA,OAAO,GAAG,KAAV,CADsB,CACL;IACpB;;IACDnB,aAAa,CAAC1vJ,OAAd,CAAsB0wJ,YAAY,IAAI;MAClC,IAAIA,YAAY,KAAKG,OAArB,EAA8B;QAC1B,MAAMC,cAAc,GAAGlB,oBAAoB,CAACc,YAAD,CAA3C;;QACA,IAAII,cAAc,CAACtrJ,KAAD,CAAlB,EAA2B;UACvB+B,GAAG,IAAImpJ,YAAY,GAAG,GAAtB;QACH;MACJ;IACJ,CAPD;IAQAnpJ,GAAG,IAAIspJ,OAAP;IACA,OAAOtpJ,GAAG,KAAKqpJ,WAAf;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACwB,OAAbP,aAAa,CAACG,OAAD,EAAU1xI,OAAV,EAAmB8U,IAAnB,EAAyB;IACzC,OAAQpuB,KAAD,IAAW;MACd,IAAIyqJ,eAAe,CAACU,qBAAhB,CAAsCnrJ,KAAtC,EAA6CgrJ,OAA7C,CAAJ,EAA2D;QACvD58H,IAAI,CAAC07G,UAAL,CAAgB,MAAMxwH,OAAO,CAACtZ,KAAD,CAA7B;MACH;IACJ,CAJD;EAKH;EACD;;;EACoB,OAAb+qJ,aAAa,CAACQ,OAAD,EAAU;IAC1B;IACA,QAAQA,OAAR;MACI,KAAK,KAAL;QACI,OAAO,QAAP;;MACJ;QACI,OAAOA,OAAP;IAJR;EAMH;;AAtI4C;;AAwIjDd,eAAe,CAACvuJ,IAAhB;EAAA,iBAA4GuuJ,eAA5G,EAlsB6F51J,sDAksB7F,CAA6I2M,qDAA7I;AAAA;;AACAipJ,eAAe,CAACpuJ,KAAhB,kBAnsB6FxH,gEAmsB7F;EAAA,OAAgH41J,eAAhH;EAAA,SAAgHA,eAAhH;AAAA;;AACA;EAAA,mDApsB6F51J,+DAosB7F,CAA2F41J,eAA3F,EAAwH,CAAC;IAC7G/tJ,IAAI,EAAE3E,qDAAUA;EAD6F,CAAD,CAAxH,EAE4B,YAAY;IAAE,OAAO,CAAC;MAAE2E,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE6E,iDADwD;QAE9DlD,IAAI,EAAE,CAACmD,qDAAD;MAFwD,CAAD;IAA/B,CAAD,CAAP;EAGlB,CALxB;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM25B,WAAW,GAAG,OAAO3+B,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASgvJ,oBAAT,CAA8Bp2E,aAA9B,EAA6Cv+D,OAA7C,EAAsD;EAClD,OAAOqrI,4EAA0B,CAAC;IAAE9sE,aAAF;IAAiB,GAAGq2E,qBAAqB,CAAC50I,OAAD;EAAzC,CAAD,CAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS60I,iBAAT,CAA2B70I,OAA3B,EAAoC;EAChC,OAAOqrI,4EAA0B,CAACuJ,qBAAqB,CAAC50I,OAAD,CAAtB,CAAjC;AACH;;AACD,SAAS40I,qBAAT,CAA+B50I,OAA/B,EAAwC;EACpC,OAAO;IACH44H,YAAY,EAAE,CACV,GAAGkc,wBADO,EAEV,IAAI90I,OAAO,EAAE8zB,SAAT,IAAsB,EAA1B,CAFU,CADX;IAKH+kG,iBAAiB,EAAEkc;EALhB,CAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,+BAAT,GAA2C;EACvC;EACA;EACA,OAAO,CAAC,GAAGC,qBAAJ,CAAP;AACH;;AACD,SAASC,cAAT,GAA0B;EACtBnI,iBAAiB,CAACC,WAAlB;AACH;;AACD,SAASn6C,YAAT,GAAwB;EACpB,OAAO,IAAI5c,uDAAJ,EAAP;AACH;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J,CAAkB;MAAK;MAAvB,EAA+Dm5J,aAAa,IAAK,+BAA8BvZ,GAAI,qBAAoB/gK,CAAE,EAAzI,CAAN;IACH;EACJ;AACJ;;AACD,SAASw9K,4BAAT,CAAsCxwK,MAAtC,EAA8C;EAC1C,OAAOA,MAAM,KAAK,YAAlB;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,MAAM4zK,UAAN,CAAiB;EACblpL,WAAW,CAACmhL,MAAD,EAASphB,KAAT,EAAgBopB,iBAAhB,EAAmCxtI,QAAnC,EAA6CrH,EAA7C,EAAiD;IACxD,KAAK6sI,MAAL,GAAcA,MAAd;IACA,KAAKphB,KAAL,GAAaA,KAAb;IACA,KAAKopB,iBAAL,GAAyBA,iBAAzB;IACA,KAAKxtI,QAAL,GAAgBA,QAAhB;IACA,KAAKrH,EAAL,GAAUA,EAAV;IACA,KAAK80I,iBAAL,GAAyB,KAAzB;IACA,KAAKC,mBAAL,GAA2B,KAA3B;IACA,KAAKC,WAAL,GAAmB,KAAnB;IACA,KAAK/iB,QAAL,GAAgB,IAAhB;IACA;;IACA,KAAKgjB,SAAL,GAAiB,IAAIj2K,0CAAJ,EAAjB;IACA,KAAKk2K,0BAAL,CAAgC,GAAhC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACwB,IAAhBrB,gBAAgB,CAACA,gBAAD,EAAmB;IACnC,KAAKiB,iBAAL,GAAyBj8B,kEAAgB,CAACg7B,gBAAD,CAAzC;EACH;;EACmB,IAAhBA,gBAAgB,GAAG;IACnB,OAAO,KAAKiB,iBAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EAC0B,IAAlBlD,kBAAkB,CAACA,kBAAD,EAAqB;IACvC,KAAKmD,mBAAL,GAA2Bl8B,kEAAgB,CAAC+4B,kBAAD,CAA3C;EACH;;EACqB,IAAlBA,kBAAkB,GAAG;IACrB,OAAO,KAAKmD,mBAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACkB,IAAV9C,UAAU,CAACA,UAAD,EAAa;IACvB,KAAK+C,WAAL,GAAmBn8B,kEAAgB,CAACo5B,UAAD,CAAnC;EACH;;EACa,IAAVA,UAAU,GAAG;IACb,OAAO,KAAK+C,WAAZ;EACH;EACD;AACJ;AACA;AACA;;;EACIE,0BAA0B,CAACC,WAAD,EAAc;IACpC,IAAI,KAAKN,iBAAL,IAA0B;IAAK;IAAnC,EAAsE;MAClE;IACH;;IACD,MAAMxtI,QAAQ,GAAG,KAAKA,QAAtB;IACA,MAAM9V,aAAa,GAAG,KAAKyO,EAAL,CAAQzO,aAA9B;;IACA,IAAI4jJ,WAAW,KAAK,IAApB,EAA0B;MACtB9tI,QAAQ,CAAC1uC,YAAT,CAAsB44B,aAAtB,EAAqC,UAArC,EAAiD4jJ,WAAjD;IACH,CAFD,MAGK;MACD9tI,QAAQ,CAAC4uC,eAAT,CAAyB1kD,aAAzB,EAAwC,UAAxC;IACH;EACJ;EACD;;;EACAQ,WAAW,CAACpB,OAAD,EAAU;IACjB;IACA;IACA,KAAKskJ,SAAL,CAAetnL,IAAf,CAAoB,IAApB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACkB,IAAVynL,UAAU,CAACnjB,QAAD,EAAW;IACrB,IAAIA,QAAQ,IAAI,IAAhB,EAAsB;MAClB,KAAKA,QAAL,GAAgB1vJ,KAAK,CAACoC,OAAN,CAAcstJ,QAAd,IAA0BA,QAA1B,GAAqC,CAACA,QAAD,CAArD;MACA,KAAKijB,0BAAL,CAAgC,GAAhC;IACH,CAHD,MAIK;MACD,KAAKjjB,QAAL,GAAgB,IAAhB;MACA,KAAKijB,0BAAL,CAAgC,IAAhC;IACH;EACJ;EACD;;;EACAG,OAAO,GAAG;IACN,IAAI,KAAKhiB,OAAL,KAAiB,IAArB,EAA2B;MACvB,OAAO,IAAP;IACH;;IACD,MAAMod,MAAM,GAAG;MACXmB,kBAAkB,EAAE,KAAKA,kBADd;MAEXK,UAAU,EAAE,KAAKA,UAFN;MAGXrjK,KAAK,EAAE,KAAKA;IAHD,CAAf;IAKA,KAAKi+J,MAAL,CAAYyG,aAAZ,CAA0B,KAAKjgB,OAA/B,EAAwCod,MAAxC;IACA,OAAO,IAAP;EACH;;EACU,IAAPpd,OAAO,GAAG;IACV,IAAI,KAAKpB,QAAL,KAAkB,IAAtB,EAA4B;MACxB,OAAO,IAAP;IACH;;IACD,OAAO,KAAK4a,MAAL,CAAYzZ,aAAZ,CAA0B,KAAKnB,QAA/B,EAAyC;MAC5C;MACA;MACAD,UAAU,EAAE,KAAKA,UAAL,KAAoBxzJ,SAApB,GAAgC,KAAKwzJ,UAArC,GAAkD,KAAKvG,KAHvB;MAI5C5xI,WAAW,EAAE,KAAKA,WAJ0B;MAK5C2zI,QAAQ,EAAE,KAAKA,QAL6B;MAM5ComB,mBAAmB,EAAE,KAAKA,mBANkB;MAO5CC,gBAAgB,EAAE,KAAKA;IAPqB,CAAzC,CAAP;EASH;;AArHY;;AAuHjBe,UAAU,CAACzgL,IAAX;EAAA,iBAAuGygL,UAAvG,EA9vKgG9nL,+DA8vKhG,CAAmIqiL,MAAnI,GA9vKgGriL,+DA8vKhG,CAAsJmsK,cAAtJ,GA9vKgGnsK,+DA8vKhG,CAAiL,UAAjL,GA9vKgGA,+DA8vKhG,CAAyNA,oDAAzN,GA9vKgGA,+DA8vKhG,CAAkPA,qDAAlP;AAAA;;AACA8nL,UAAU,CAACr6K,IAAX,kBA/vKgGzN,+DA+vKhG;EAAA,MAA2F8nL,UAA3F;EAAA;EAAA;IAAA;MA/vKgG9nL,wDA+vKhG;QAAA,OAA2F,aAA3F;MAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;EAAA,WA/vKgGA,kEA+vKhG;AAAA;;AACA;EAAA,mDAhwKgGA,+DAgwKhG,CAA2F8nL,UAA3F,EAAmH,CAAC;IACxGjgL,IAAI,EAAE0E,oDADkG;IAExG/C,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE,+BADX;MAECo7B,UAAU,EAAE;IAFb,CAAD;EAFkG,CAAD,CAAnH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAEw6K;IAAR,CAAD,EAAmB;MAAEx6K,IAAI,EAAEskK;IAAR,CAAnB,EAA6C;MAAEtkK,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC1G9J,IAAI,EAAE0gB,oDADoG;QAE1G/e,IAAI,EAAE,CAAC,UAAD;MAFoG,CAAD;IAA/B,CAA7C,EAG3B;MAAE3B,IAAI,EAAE7H,oDAAY+oB;IAApB,CAH2B,EAGH;MAAElhB,IAAI,EAAE7H,qDAAagpB;IAArB,CAHG,CAAP;EAG+B,CATzE,EAS2F;IAAE+D,WAAW,EAAE,CAAC;MAC3FllB,IAAI,EAAE2E,gDAAKA;IADgF,CAAD,CAAf;IAE3Ek0J,QAAQ,EAAE,CAAC;MACX74J,IAAI,EAAE2E,gDAAKA;IADA,CAAD,CAFiE;IAI3Es6K,mBAAmB,EAAE,CAAC;MACtBj/K,IAAI,EAAE2E,gDAAKA;IADW,CAAD,CAJsD;IAM3EsV,KAAK,EAAE,CAAC;MACRja,IAAI,EAAE2E,gDAAKA;IADH,CAAD,CANoE;IAQ3E04J,UAAU,EAAE,CAAC;MACbr9J,IAAI,EAAE2E,gDAAKA;IADE,CAAD,CAR+D;IAU3Eu6K,gBAAgB,EAAE,CAAC;MACnBl/K,IAAI,EAAE2E,gDAAKA;IADQ,CAAD,CAVyD;IAY3Es4K,kBAAkB,EAAE,CAAC;MACrBj9K,IAAI,EAAE2E,gDAAKA;IADU,CAAD,CAZuD;IAc3E24K,UAAU,EAAE,CAAC;MACbt9K,IAAI,EAAE2E,gDAAKA;IADE,CAAD,CAd+D;IAgB3E87K,UAAU,EAAE,CAAC;MACbzgL,IAAI,EAAE2E,gDAAKA;IADE,CAAD,CAhB+D;IAkB3E+7K,OAAO,EAAE,CAAC;MACV1gL,IAAI,EAAE4E,uDADI;MAEVjD,IAAI,EAAE,CAAC,OAAD;IAFI,CAAD;EAlBkE,CAT3F;AAAA;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg/K,kBAAN,CAAyB;EACrB5pL,WAAW,CAACmhL,MAAD,EAASphB,KAAT,EAAgBxxI,gBAAhB,EAAkC;IACzC,KAAK4yJ,MAAL,GAAcA,MAAd;IACA,KAAKphB,KAAL,GAAaA,KAAb;IACA,KAAKxxI,gBAAL,GAAwBA,gBAAxB;IACA,KAAK66J,iBAAL,GAAyB,KAAzB;IACA,KAAKC,mBAAL,GAA2B,KAA3B;IACA,KAAKC,WAAL,GAAmB,KAAnB;IACA,KAAK/iB,QAAL,GAAgB,IAAhB,CAPyC,CAQzC;IACA;IACA;;IACA,KAAKriK,IAAL,GAAY,IAAZ;IACA;;IACA,KAAKqlL,SAAL,GAAiB,IAAIj2K,0CAAJ,EAAjB;IACA,KAAKa,YAAL,GAAoBgtK,MAAM,CAACpkB,MAAP,CAAc/6J,SAAd,CAAyBqQ,CAAD,IAAO;MAC/C,IAAIA,CAAC,YAAY44J,aAAjB,EAAgC;QAC5B,KAAK4e,sBAAL;MACH;IACJ,CAJmB,CAApB;EAKH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACwB,IAAhB1B,gBAAgB,CAACA,gBAAD,EAAmB;IACnC,KAAKiB,iBAAL,GAAyBj8B,kEAAgB,CAACg7B,gBAAD,CAAzC;EACH;;EACmB,IAAhBA,gBAAgB,GAAG;IACnB,OAAO,KAAKiB,iBAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EAC0B,IAAlBlD,kBAAkB,CAACA,kBAAD,EAAqB;IACvC,KAAKmD,mBAAL,GAA2Bl8B,kEAAgB,CAAC+4B,kBAAD,CAA3C;EACH;;EACqB,IAAlBA,kBAAkB,GAAG;IACrB,OAAO,KAAKmD,mBAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACkB,IAAV9C,UAAU,CAACA,UAAD,EAAa;IACvB,KAAK+C,WAAL,GAAmBn8B,kEAAgB,CAACo5B,UAAD,CAAnC;EACH;;EACa,IAAVA,UAAU,GAAG;IACb,OAAO,KAAK+C,WAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACkB,IAAVI,UAAU,CAACnjB,QAAD,EAAW;IACrB,IAAIA,QAAQ,IAAI,IAAhB,EAAsB;MAClB,KAAKA,QAAL,GAAgB1vJ,KAAK,CAACoC,OAAN,CAAcstJ,QAAd,IAA0BA,QAA1B,GAAqC,CAACA,QAAD,CAArD;IACH,CAFD,MAGK;MACD,KAAKA,QAAL,GAAgB,IAAhB;IACH;EACJ;EACD;;;EACAlgI,WAAW,CAACpB,OAAD,EAAU;IACjB,KAAK4kJ,sBAAL;IACA,KAAKN,SAAL,CAAetnL,IAAf,CAAoB,IAApB;EACH;EACD;;;EACA6rB,WAAW,GAAG;IACV,KAAK3Z,YAAL,CAAkB6B,WAAlB;EACH;EACD;;;EACA2zK,OAAO,CAACG,MAAD,EAASjzB,OAAT,EAAkBE,QAAlB,EAA4BH,MAA5B,EAAoCE,OAApC,EAA6C;IAChD,IAAIgzB,MAAM,KAAK,CAAX,IAAgBjzB,OAAhB,IAA2BE,QAA3B,IAAuCH,MAAvC,IAAiDE,OAArD,EAA8D;MAC1D,OAAO,IAAP;IACH;;IACD,IAAI,OAAO,KAAKhjH,MAAZ,KAAuB,QAAvB,IAAmC,KAAKA,MAAL,IAAe,OAAlD,IAA6D,KAAK6zH,OAAL,KAAiB,IAAlF,EAAwF;MACpF,OAAO,IAAP;IACH;;IACD,MAAMod,MAAM,GAAG;MACXmB,kBAAkB,EAAE,KAAKA,kBADd;MAEXK,UAAU,EAAE,KAAKA,UAFN;MAGXrjK,KAAK,EAAE,KAAKA;IAHD,CAAf;IAKA,KAAKi+J,MAAL,CAAYyG,aAAZ,CAA0B,KAAKjgB,OAA/B,EAAwCod,MAAxC;IACA,OAAO,KAAP;EACH;;EACD8E,sBAAsB,GAAG;IACrB,KAAK3lL,IAAL,GAAY,KAAKyjK,OAAL,KAAiB,IAAjB,GACR,KAAKp5I,gBAAL,CAAsBR,kBAAtB,CAAyC,KAAKozJ,MAAL,CAAY6E,YAAZ,CAAyB,KAAKre,OAA9B,CAAzC,CADQ,GAER,IAFJ;EAGH;;EACU,IAAPA,OAAO,GAAG;IACV,IAAI,KAAKpB,QAAL,KAAkB,IAAtB,EAA4B;MACxB,OAAO,IAAP;IACH;;IACD,OAAO,KAAK4a,MAAL,CAAYzZ,aAAZ,CAA0B,KAAKnB,QAA/B,EAAyC;MAC5C;MACA;MACAD,UAAU,EAAE,KAAKA,UAAL,KAAoBxzJ,SAApB,GAAgC,KAAKwzJ,UAArC,GAAkD,KAAKvG,KAHvB;MAI5C5xI,WAAW,EAAE,KAAKA,WAJ0B;MAK5C2zI,QAAQ,EAAE,KAAKA,QAL6B;MAM5ComB,mBAAmB,EAAE,KAAKA,mBANkB;MAO5CC,gBAAgB,EAAE,KAAKA;IAPqB,CAAzC,CAAP;EASH;;AAnHoB;;AAqHzByB,kBAAkB,CAACnhL,IAAnB;EAAA,iBAA+GmhL,kBAA/G,EA/5KgGxoL,+DA+5KhG,CAAmJqiL,MAAnJ,GA/5KgGriL,+DA+5KhG,CAAsKmsK,cAAtK,GA/5KgGnsK,+DA+5KhG,CAAiM68G,8DAAjM;AAAA;;AACA2rE,kBAAkB,CAAC/6K,IAAnB,kBAh6KgGzN,+DAg6KhG;EAAA,MAAmGwoL,kBAAnG;EAAA;EAAA;EAAA;IAAA;MAh6KgGxoL,wDAg6KhG;QAAA,OAAmG,0FAAnG;MAAA;IAAA;;IAAA;MAh6KgGA,yDAg6KhG,yCAh6KgGA,2DAg6KhG;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;EAAA,WAh6KgGA,kEAg6KhG;AAAA;;AACA;EAAA,mDAj6KgGA,+DAi6KhG,CAA2FwoL,kBAA3F,EAA2H,CAAC;IAChH3gL,IAAI,EAAE0E,oDAD0G;IAEhH/C,IAAI,EAAE,CAAC;MAAEC,QAAQ,EAAE,gCAAZ;MAA8Co7B,UAAU,EAAE;IAA1D,CAAD;EAF0G,CAAD,CAA3H,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAEw6K;IAAR,CAAD,EAAmB;MAAEx6K,IAAI,EAAEskK;IAAR,CAAnB,EAA6C;MAAEtkK,IAAI,EAAEg1G,8DAAmB1wF;IAA3B,CAA7C,CAAP;EAAqF,CAH/H,EAGiJ;IAAEumB,MAAM,EAAE,CAAC;MAC5I7qC,IAAI,EAAE4nI,sDADsI;MAE5IjmI,IAAI,EAAE,CAAC,aAAD;IAFsI,CAAD,EAG5I;MACC3B,IAAI,EAAE2E,gDAAKA;IADZ,CAH4I,CAAV;IAKjIugB,WAAW,EAAE,CAAC;MACdllB,IAAI,EAAE2E,gDAAKA;IADG,CAAD,CALoH;IAOjIk0J,QAAQ,EAAE,CAAC;MACX74J,IAAI,EAAE2E,gDAAKA;IADA,CAAD,CAPuH;IASjIs6K,mBAAmB,EAAE,CAAC;MACtBj/K,IAAI,EAAE2E,gDAAKA;IADW,CAAD,CAT4G;IAWjIsV,KAAK,EAAE,CAAC;MACRja,IAAI,EAAE2E,gDAAKA;IADH,CAAD,CAX0H;IAajI04J,UAAU,EAAE,CAAC;MACbr9J,IAAI,EAAE2E,gDAAKA;IADE,CAAD,CAbqH;IAejI1J,IAAI,EAAE,CAAC;MACP+E,IAAI,EAAE4nI,sDADC;MAEPjmI,IAAI,EAAE,CAAC,WAAD;IAFC,CAAD,CAf2H;IAkBjIu9K,gBAAgB,EAAE,CAAC;MACnBl/K,IAAI,EAAE2E,gDAAKA;IADQ,CAAD,CAlB+G;IAoBjIs4K,kBAAkB,EAAE,CAAC;MACrBj9K,IAAI,EAAE2E,gDAAKA;IADU,CAAD,CApB6G;IAsBjI24K,UAAU,EAAE,CAAC;MACbt9K,IAAI,EAAE2E,gDAAKA;IADE,CAAD,CAtBqH;IAwBjI87K,UAAU,EAAE,CAAC;MACbzgL,IAAI,EAAE2E,gDAAKA;IADE,CAAD,CAxBqH;IA0BjI+7K,OAAO,EAAE,CAAC;MACV1gL,IAAI,EAAE4E,uDADI;MAEVjD,IAAI,EAAE,CAAC,OAAD,EACF,CAAC,eAAD,EAAkB,gBAAlB,EAAoC,iBAApC,EAAuD,eAAvD,EAAwE,gBAAxE,CADE;IAFI,CAAD;EA1BwH,CAHjJ;AAAA;AAmCA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/K,gBAAN,CAAuB;EACnB/pL,WAAW,CAACmhL,MAAD,EAAS3nI,OAAT,EAAkBmC,QAAlB,EAA4BquI,GAA5B,EAAiC3uI,IAAjC,EAAuC4uI,YAAvC,EAAqD;IAC5D,KAAK9I,MAAL,GAAcA,MAAd;IACA,KAAK3nI,OAAL,GAAeA,OAAf;IACA,KAAKmC,QAAL,GAAgBA,QAAhB;IACA,KAAKquI,GAAL,GAAWA,GAAX;IACA,KAAK3uI,IAAL,GAAYA,IAAZ;IACA,KAAK4uI,YAAL,GAAoBA,YAApB;IACA,KAAKt7G,OAAL,GAAe,EAAf;IACA,KAAK1pE,QAAL,GAAgB,KAAhB;IACA;AACR;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAKilL,uBAAL,GAA+B;MAAEC,KAAK,EAAE;IAAT,CAA/B;IACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAKC,cAAL,GAAsB,IAAIthK,uDAAJ,EAAtB;IACA,KAAKuhK,wBAAL,GAAgClJ,MAAM,CAACpkB,MAAP,CAAc/6J,SAAd,CAAyBqQ,CAAD,IAAO;MAC3D,IAAIA,CAAC,YAAY44J,aAAjB,EAAgC;QAC5B,KAAK1lH,MAAL;MACH;IACJ,CAJ+B,CAAhC;EAKH;EACD;;;EACAqjB,kBAAkB,GAAG;IACjB;IACA1pD,wCAAE,CAAC,KAAKi8B,KAAL,CAAWlW,OAAZ,EAAqB,KAAKqlJ,cAAL,CAAoBrlJ,OAAzC,EAAkD/lB,wCAAE,CAAC,IAAD,CAApD,CAAF,CAA8Dnd,IAA9D,CAAmE8c,yDAAQ,EAA3E,EAA+E7c,SAA/E,CAAyF03D,CAAC,IAAI;MAC1F,KAAKnU,MAAL;MACA,KAAKglI,4BAAL;IACH,CAHD;EAIH;;EACDA,4BAA4B,GAAG;IAC3B,KAAKC,4BAAL,EAAmCx0K,WAAnC;IACA,MAAMy0K,cAAc,GAAG,CAAC,GAAG,KAAKtvI,KAAL,CAAWmoF,OAAX,EAAJ,EAA0B,GAAG,KAAKgnD,cAAL,CAAoBhnD,OAApB,EAA7B,EAA4D,KAAKjoF,IAAjE,EAAuE,KAAK4uI,YAA5E,EAClB1pK,MADkB,CACV86B,IAAD,IAAU,CAAC,CAACA,IADD,EAElBn6B,GAFkB,CAEdm6B,IAAI,IAAIA,IAAI,CAACkuI,SAFC,CAAvB;IAGA,KAAKiB,4BAAL,GAAoC1zK,0CAAI,CAAC2zK,cAAD,CAAJ,CAAqB1oL,IAArB,CAA0B8c,yDAAQ,EAAlC,EAAsC7c,SAAtC,CAAgDq5C,IAAI,IAAI;MACxF,IAAI,KAAKp2C,QAAL,KAAkB,KAAKylL,YAAL,CAAkB,KAAKvJ,MAAvB,EAA+B9lI,IAA/B,CAAtB,EAA4D;QACxD,KAAKkK,MAAL;MACH;IACJ,CAJmC,CAApC;EAKH;;EACmB,IAAhBolI,gBAAgB,CAACp6J,IAAD,EAAO;IACvB,MAAMo+C,OAAO,GAAG93D,KAAK,CAACoC,OAAN,CAAcsX,IAAd,IAAsBA,IAAtB,GAA6BA,IAAI,CAACzpB,KAAL,CAAW,GAAX,CAA7C;IACA,KAAK6nE,OAAL,GAAeA,OAAO,CAACpuD,MAAR,CAAelY,CAAC,IAAI,CAAC,CAACA,CAAtB,CAAf;EACH;EACD;;;EACAg+B,WAAW,CAACpB,OAAD,EAAU;IACjB,KAAKsgB,MAAL;EACH;EACD;;;EACAz3B,WAAW,GAAG;IACV,KAAKu8J,wBAAL,CAA8Br0K,WAA9B;IACA,KAAKw0K,4BAAL,EAAmCx0K,WAAnC;EACH;;EACDuvC,MAAM,GAAG;IACL,IAAI,CAAC,KAAKpK,KAAN,IAAe,CAAC,KAAKmvI,cAArB,IAAuC,CAAC,KAAKnJ,MAAL,CAAY6C,SAAxD,EACI;IACJv8K,OAAO,CAACC,OAAR,GAAkBuW,IAAlB,CAAuB,MAAM;MACzB,MAAM2sK,cAAc,GAAG,KAAKA,cAAL,EAAvB;;MACA,IAAI,KAAK3lL,QAAL,KAAkB2lL,cAAtB,EAAsC;QAClC,KAAK3lL,QAAL,GAAgB2lL,cAAhB;QACA,KAAKZ,GAAL,CAASt6I,YAAT;QACA,KAAKi/B,OAAL,CAAa5nE,OAAb,CAAsBsB,CAAD,IAAO;UACxB,IAAIuiL,cAAJ,EAAoB;YAChB,KAAKjvI,QAAL,CAAc/V,QAAd,CAAuB,KAAK4T,OAAL,CAAa3T,aAApC,EAAmDx9B,CAAnD;UACH,CAFD,MAGK;YACD,KAAKszC,QAAL,CAAc7V,WAAd,CAA0B,KAAK0T,OAAL,CAAa3T,aAAvC,EAAsDx9B,CAAtD;UACH;QACJ,CAPD;;QAQA,IAAIuiL,cAAc,IAAI,KAAKC,qBAAL,KAA+B/3K,SAArD,EAAgE;UAC5D,KAAK6oC,QAAL,CAAc1uC,YAAd,CAA2B,KAAKusC,OAAL,CAAa3T,aAAxC,EAAuD,cAAvD,EAAuE,KAAKglJ,qBAAL,CAA2BpkK,QAA3B,EAAvE;QACH,CAFD,MAGK;UACD,KAAKk1B,QAAL,CAAc4uC,eAAd,CAA8B,KAAK/wC,OAAL,CAAa3T,aAA3C,EAA0D,cAA1D;QACH,CAhBiC,CAiBlC;;;QACA,KAAKukJ,cAAL,CAAoBt7J,IAApB,CAAyB87J,cAAzB;MACH;IACJ,CAtBD;EAuBH;;EACDF,YAAY,CAACvJ,MAAD,EAAS;IACjB,MAAM/9J,OAAO,GAAG0nK,oBAAoB,CAAC,KAAKZ,uBAAN,CAApB,GACZ,KAAKA,uBADO,GAEZ;IACC,KAAKA,uBAAL,CAA6BC,KAA7B,IAAsC,KAH3C;IAIA,OAAQ9uI,IAAD,IAAUA,IAAI,CAACssH,OAAL,GAAewZ,MAAM,CAACl8K,QAAP,CAAgBo2C,IAAI,CAACssH,OAArB,EAA8BvkJ,OAA9B,CAAf,GAAwD,KAAzE;EACH;;EACDwnK,cAAc,GAAG;IACb,MAAMG,eAAe,GAAG,KAAKL,YAAL,CAAkB,KAAKvJ,MAAvB,CAAxB;IACA,OAAO,KAAK9lI,IAAL,IAAa0vI,eAAe,CAAC,KAAK1vI,IAAN,CAA5B,IACH,KAAK4uI,YAAL,IAAqBc,eAAe,CAAC,KAAKd,YAAN,CADjC,IAEH,KAAK9uI,KAAL,CAAWunD,IAAX,CAAgBqoF,eAAhB,CAFG,IAEiC,KAAKT,cAAL,CAAoB5nF,IAApB,CAAyBqoF,eAAzB,CAFxC;EAGH;;AAhHkB;;AAkHvBhB,gBAAgB,CAACthL,IAAjB;EAAA,iBAA6GshL,gBAA7G,EAloLgG3oL,+DAkoLhG,CAA+IqiL,MAA/I,GAloLgGriL,+DAkoLhG,CAAkKA,qDAAlK,GAloLgGA,+DAkoLhG,CAA4LA,oDAA5L,GAloLgGA,+DAkoLhG,CAAqNA,4DAArN,GAloLgGA,+DAkoLhG,CAAsP8nL,UAAtP,MAloLgG9nL,+DAkoLhG,CAA6RwoL,kBAA7R;AAAA;;AACAG,gBAAgB,CAACl7K,IAAjB,kBAnoLgGzN,+DAmoLhG;EAAA,MAAiG2oL,gBAAjG;EAAA;EAAA;IAAA;MAnoLgG3oL,4DAmoLhG,WAA0Z8nL,UAA1Z;MAnoLgG9nL,4DAmoLhG,WAAwewoL,kBAAxe;IAAA;;IAAA;MAAA;;MAnoLgGxoL,4DAmoLhG,MAnoLgGA,yDAmoLhG;MAnoLgGA,4DAmoLhG,MAnoLgGA,yDAmoLhG;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;EAAA;EAAA,WAnoLgGA,kEAmoLhG;AAAA;;AACA;EAAA,mDApoLgGA,+DAooLhG,CAA2F2oL,gBAA3F,EAAyH,CAAC;IAC9G9gL,IAAI,EAAE0E,oDADwG;IAE9G/C,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE,oBADX;MAECiuD,QAAQ,EAAE,kBAFX;MAGC7yB,UAAU,EAAE;IAHb,CAAD;EAFwG,CAAD,CAAzH,EAO4B,YAAY;IAAE,OAAO,CAAC;MAAEh9B,IAAI,EAAEw6K;IAAR,CAAD,EAAmB;MAAEx6K,IAAI,EAAE7H,qDAAagpB;IAArB,CAAnB,EAA4C;MAAEnhB,IAAI,EAAE7H,oDAAY+oB;IAApB,CAA5C,EAAoE;MAAElhB,IAAI,EAAE7H,4DAAoBuuC;IAA5B,CAApE,EAAoG;MAAE1mC,IAAI,EAAEigL,UAAR;MAAoBn2K,UAAU,EAAE,CAAC;QAClK9J,IAAI,EAAE4f,mDAAQA;MADoJ,CAAD;IAAhC,CAApG,EAE3B;MAAE5f,IAAI,EAAE2gL,kBAAR;MAA4B72K,UAAU,EAAE,CAAC;QAC3C9J,IAAI,EAAE4f,mDAAQA;MAD6B,CAAD;IAAxC,CAF2B,CAAP;EAIlB,CAXxB,EAW0C;IAAEsyB,KAAK,EAAE,CAAC;MACpClyC,IAAI,EAAEorE,0DAD8B;MAEpCzpE,IAAI,EAAE,CAACs+K,UAAD,EAAa;QAAE30G,WAAW,EAAE;MAAf,CAAb;IAF8B,CAAD,CAAT;IAG1B+1G,cAAc,EAAE,CAAC;MACjBrhL,IAAI,EAAEorE,0DADW;MAEjBzpE,IAAI,EAAE,CAACg/K,kBAAD,EAAqB;QAAEr1G,WAAW,EAAE;MAAf,CAArB;IAFW,CAAD,CAHU;IAM1B21G,uBAAuB,EAAE,CAAC;MAC1BjhL,IAAI,EAAE2E,gDAAKA;IADe,CAAD,CANC;IAQ1Bi9K,qBAAqB,EAAE,CAAC;MACxB5hL,IAAI,EAAE2E,gDAAKA;IADa,CAAD,CARG;IAU1Bw8K,cAAc,EAAE,CAAC;MACjBnhL,IAAI,EAAE2nI,iDAAMA;IADK,CAAD,CAVU;IAY1B+5C,gBAAgB,EAAE,CAAC;MACnB1hL,IAAI,EAAE2E,gDAAKA;IADQ,CAAD;EAZQ,CAX1C;AAAA;AA0BA;AACA;AACA;;;AACA,SAASk9K,oBAAT,CAA8B1nK,OAA9B,EAAuC;EACnC,OAAO,CAAC,CAACA,OAAO,CAACw+I,KAAjB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMopB,kBAAN,CAAyB;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,iBAAN,CAAwB;EACpBnvI,OAAO,CAACikH,KAAD,EAAQ/nJ,EAAR,EAAY;IACf,OAAOA,EAAE,GAAGjW,IAAL,CAAU+d,2DAAU,CAAC,MAAMZ,wCAAE,CAAC,IAAD,CAAT,CAApB,CAAP;EACH;;AAHmB;;AAKxB+rK,iBAAiB,CAACxiL,IAAlB;EAAA,iBAA8GwiL,iBAA9G;AAAA;;AACAA,iBAAiB,CAACriL,KAAlB,kBAtsLgGxH,gEAssLhG;EAAA,OAAkH6pL,iBAAlH;EAAA,SAAkHA,iBAAlH;EAAA,YAAiJ;AAAjJ;;AACA;EAAA,mDAvsLgG7pL,+DAusLhG,CAA2F6pL,iBAA3F,EAA0H,CAAC;IAC/GhiL,IAAI,EAAE3E,qDADyG;IAE/GsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAFyG,CAAD,CAA1H;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6mL,YAAN,CAAmB;EACfpvI,OAAO,CAACikH,KAAD,EAAQ/nJ,EAAR,EAAY;IACf,OAAOkH,wCAAE,CAAC,IAAD,CAAT;EACH;;AAHc;;AAKnBgsK,YAAY,CAACziL,IAAb;EAAA,iBAAyGyiL,YAAzG;AAAA;;AACAA,YAAY,CAACtiL,KAAb,kBA1tLgGxH,gEA0tLhG;EAAA,OAA6G8pL,YAA7G;EAAA,SAA6GA,YAA7G;EAAA,YAAuI;AAAvI;;AACA;EAAA,mDA3tLgG9pL,+DA2tLhG,CAA2F8pL,YAA3F,EAAqH,CAAC;IAC1GjiL,IAAI,EAAE3E,qDADoG;IAE1GsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAFoG,CAAD,CAArH;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8mL,eAAN,CAAsB;EAClBnrL,WAAW,CAACmhL,MAAD,EAAS7iF,QAAT,EAAmBz3D,QAAnB,EAA6BukJ,kBAA7B,EAAiD3nI,MAAjD,EAAyD;IAChE,KAAK09H,MAAL,GAAcA,MAAd;IACA,KAAKt6I,QAAL,GAAgBA,QAAhB;IACA,KAAKukJ,kBAAL,GAA0BA,kBAA1B;IACA,KAAK3nI,MAAL,GAAcA,MAAd;EACH;;EACD4nI,eAAe,GAAG;IACd,KAAKl3K,YAAL,GACI,KAAKgtK,MAAL,CAAYpkB,MAAZ,CACKh7J,IADL,CACUwe,uDAAM,CAAElS,CAAD,IAAOA,CAAC,YAAY48J,aAArB,CADhB,EACqD9qJ,0DAAS,CAAC,MAAM,KAAK27B,OAAL,EAAP,CAD9D,EAEK95C,SAFL,CAEe,MAAM,CAAG,CAFxB,CADJ;EAIH;;EACD85C,OAAO,GAAG;IACN,OAAO,KAAKwvI,aAAL,CAAmB,KAAKzkJ,QAAxB,EAAkC,KAAKs6I,MAAL,CAAYlsK,MAA9C,CAAP;EACH;EACD;;;EACA6Y,WAAW,GAAG;IACV,IAAI,KAAK3Z,YAAT,EAAuB;MACnB,KAAKA,YAAL,CAAkB6B,WAAlB;IACH;EACJ;;EACDs1K,aAAa,CAACzkJ,QAAD,EAAW4sI,MAAX,EAAmB;IAC5B,MAAMlhJ,GAAG,GAAG,EAAZ;;IACA,KAAK,MAAMwtI,KAAX,IAAoB0T,MAApB,EAA4B;MACxB,IAAI1T,KAAK,CAAC7oH,SAAN,IAAmB,CAAC6oH,KAAK,CAACtiC,SAA9B,EAAyC;QACrCsiC,KAAK,CAACtiC,SAAN,GACIH,wEAAyB,CAACyiC,KAAK,CAAC7oH,SAAP,EAAkBrQ,QAAlB,EAA6B,UAASk5H,KAAK,CAAC9xI,IAAK,EAAjD,CAD7B;MAEH;;MACD,MAAMs9J,uBAAuB,GAAGxrB,KAAK,CAACtiC,SAAN,IAAmB52F,QAAnD;MACA,MAAM2kJ,mBAAmB,GAAGzrB,KAAK,CAACwS,eAAN,IAAyBgZ,uBAArD,CANwB,CAOxB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MACA,IAAKxrB,KAAK,CAACoT,YAAN,IAAsB,CAACpT,KAAK,CAACsS,aAA7B,IAA8CtS,KAAK,CAAC2W,OAAN,KAAkB5jK,SAAjE,IACCitJ,KAAK,CAACmT,aAAN,IAAuB,CAACnT,KAAK,CAAC0S,gBADnC,EACsD;QAClDlgJ,GAAG,CAACpmB,IAAJ,CAAS,KAAKs/K,aAAL,CAAmBF,uBAAnB,EAA4CxrB,KAA5C,CAAT;MACH,CAHD,MAIK,IAAIA,KAAK,CAAC7zD,QAAN,IAAkB6zD,KAAK,CAACsS,aAA5B,EAA2C;QAC5C9/I,GAAG,CAACpmB,IAAJ,CAAS,KAAKm/K,aAAL,CAAmBE,mBAAnB,EAAyCzrB,KAAK,CAAC7zD,QAAN,IAAkB6zD,KAAK,CAACsS,aAAjE,CAAT;MACH;IACJ;;IACD,OAAOv7J,0CAAI,CAACyb,GAAD,CAAJ,CAAUxwB,IAAV,CAAe8c,yDAAQ,EAAvB,CAAP;EACH;;EACD4sK,aAAa,CAAC5kJ,QAAD,EAAWk5H,KAAX,EAAkB;IAC3B,OAAO,KAAKqrB,kBAAL,CAAwBtvI,OAAxB,CAAgCikH,KAAhC,EAAuC,MAAM;MAChD,IAAI2rB,eAAJ;;MACA,IAAI3rB,KAAK,CAACoT,YAAN,IAAsBpT,KAAK,CAAC2W,OAAN,KAAkB5jK,SAA5C,EAAuD;QACnD44K,eAAe,GAAG,KAAKjoI,MAAL,CAAY0vH,YAAZ,CAAyBtsI,QAAzB,EAAmCk5H,KAAnC,CAAlB;MACH,CAFD,MAGK;QACD2rB,eAAe,GAAGxsK,wCAAE,CAAC,IAAD,CAApB;MACH;;MACD,MAAMysK,sBAAsB,GAAGD,eAAe,CAAC3pL,IAAhB,CAAqBme,yDAAQ,CAAEjL,MAAD,IAAY;QACrE,IAAIA,MAAM,KAAK,IAAf,EAAqB;UACjB,OAAOiK,wCAAE,CAAC,KAAK,CAAN,CAAT;QACH;;QACD6gJ,KAAK,CAACsS,aAAN,GAAsBp9J,MAAM,CAACw+J,MAA7B;QACA1T,KAAK,CAACwS,eAAN,GAAwBt9J,MAAM,CAAC4xB,QAA/B,CALqE,CAMrE;QACA;;QACA,OAAO,KAAKykJ,aAAL,CAAmBr2K,MAAM,CAAC4xB,QAAP,IAAmBA,QAAtC,EAAgD5xB,MAAM,CAACw+J,MAAvD,CAAP;MACH,CAT2D,CAA7B,CAA/B;;MAUA,IAAI1T,KAAK,CAACmT,aAAN,IAAuB,CAACnT,KAAK,CAAC0S,gBAAlC,EAAoD;QAChD,MAAMmZ,cAAc,GAAG,KAAKnoI,MAAL,CAAYyvH,aAAZ,CAA0BnT,KAA1B,CAAvB;QACA,OAAOjpJ,0CAAI,CAAC,CAAC60K,sBAAD,EAAyBC,cAAzB,CAAD,CAAJ,CAA+C7pL,IAA/C,CAAoD8c,yDAAQ,EAA5D,CAAP;MACH,CAHD,MAIK;QACD,OAAO8sK,sBAAP;MACH;IACJ,CAzBM,CAAP;EA0BH;;AA5EiB;;AA8EtBR,eAAe,CAAC1iL,IAAhB;EAAA,iBAA4G0iL,eAA5G,EAzzLgG/pL,sDAyzLhG,CAA6IqiL,MAA7I,GAzzLgGriL,sDAyzLhG,CAAgKA,mDAAhK,GAzzLgGA,sDAyzLhG,CAAwLA,8DAAxL,GAzzLgGA,sDAyzLhG,CAA2N4pL,kBAA3N,GAzzLgG5pL,sDAyzLhG,CAA0PwgL,kBAA1P;AAAA;;AACAuJ,eAAe,CAACviL,KAAhB,kBA1zLgGxH,gEA0zLhG;EAAA,OAAgH+pL,eAAhH;EAAA,SAAgHA,eAAhH;EAAA,YAA6I;AAA7I;;AACA;EAAA,mDA3zLgG/pL,+DA2zLhG,CAA2F+pL,eAA3F,EAAwH,CAAC;IAC7GliL,IAAI,EAAE3E,qDADuG;IAE7GsG,IAAI,EAAE,CAAC;MAAEvG,UAAU,EAAE;IAAd,CAAD;EAFuG,CAAD,CAAxH,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAE4E,IAAI,EAAEw6K;IAAR,CAAD,EAAmB;MAAEx6K,IAAI,EAAE7H,mDAAW0xI;IAAnB,CAAnB,EAA0C;MAAE7pI,IAAI,EAAE7H,8DAAsBq0F;IAA9B,CAA1C,EAA4E;MAAExsF,IAAI,EAAE+hL;IAAR,CAA5E,EAA0G;MAAE/hL,IAAI,EAAE24K;IAAR,CAA1G,CAAP;EAAiJ,CAH3L;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMiK,eAAe,GAAG,IAAIljK,yDAAJ,CAAmB,EAAnB,CAAxB;;AACA,MAAMmjK,cAAN,CAAqB;EACjB9rL,WAAW,CAACmhL,MAAD;EACX;EAAwB4K,gBADb,EAC+B3oK,OAAO,GAAG,EADzC,EAC6C;IACpD,KAAK+9J,MAAL,GAAcA,MAAd;IACA,KAAK4K,gBAAL,GAAwBA,gBAAxB;IACA,KAAK3oK,OAAL,GAAeA,OAAf;IACA,KAAK4oK,MAAL,GAAc,CAAd;IACA,KAAKC,UAAL,GAAkB,YAAlB;IACA,KAAKC,UAAL,GAAkB,CAAlB;IACA,KAAKjrH,KAAL,GAAa,EAAb,CAPoD,CAQpD;;IACA79C,OAAO,CAAC+oK,yBAAR,GAAoC/oK,OAAO,CAAC+oK,yBAAR,IAAqC,UAAzE;IACA/oK,OAAO,CAACgpK,eAAR,GAA0BhpK,OAAO,CAACgpK,eAAR,IAA2B,UAArD;EACH;;EACD9sK,IAAI,GAAG;IACH;IACA;IACA;IACA,IAAI,KAAK8D,OAAL,CAAa+oK,yBAAb,KAA2C,UAA/C,EAA2D;MACvD,KAAKJ,gBAAL,CAAsB53I,2BAAtB,CAAkD,QAAlD;IACH;;IACD,KAAKk2I,wBAAL,GAAgC,KAAKgC,kBAAL,EAAhC;IACA,KAAKC,wBAAL,GAAgC,KAAKC,mBAAL,EAAhC;EACH;;EACDF,kBAAkB,GAAG;IACjB,OAAO,KAAKlL,MAAL,CAAYpkB,MAAZ,CAAmB/6J,SAAnB,CAA6BqM,CAAC,IAAI;MACrC,IAAIA,CAAC,YAAYy8J,eAAjB,EAAkC;QAC9B;QACA,KAAK7pG,KAAL,CAAW,KAAK+qH,MAAhB,IAA0B,KAAKD,gBAAL,CAAsBz4I,iBAAtB,EAA1B;QACA,KAAK24I,UAAL,GAAkB59K,CAAC,CAAC08J,iBAApB;QACA,KAAKmhB,UAAL,GAAkB79K,CAAC,CAAC28J,aAAF,GAAkB38J,CAAC,CAAC28J,aAAF,CAAgB6Y,YAAlC,GAAiD,CAAnE;MACH,CALD,MAMK,IAAIx1K,CAAC,YAAY48J,aAAjB,EAAgC;QACjC,KAAK+gB,MAAL,GAAc39K,CAAC,CAACzB,EAAhB;QACA,KAAK4/K,mBAAL,CAAyBn+K,CAAzB,EAA4B,KAAK8yK,MAAL,CAAY4G,QAAZ,CAAqB15K,CAAC,CAAC68J,iBAAvB,EAA0CpJ,QAAtE;MACH;IACJ,CAXM,CAAP;EAYH;;EACDyqB,mBAAmB,GAAG;IAClB,OAAO,KAAKpL,MAAL,CAAYpkB,MAAZ,CAAmB/6J,SAAnB,CAA6BqM,CAAC,IAAI;MACrC,IAAI,EAAEA,CAAC,YAAY69J,MAAf,CAAJ,EACI,OAFiC,CAGrC;;MACA,IAAI79J,CAAC,CAACslC,QAAN,EAAgB;QACZ,IAAI,KAAKvwB,OAAL,CAAa+oK,yBAAb,KAA2C,KAA/C,EAAsD;UAClD,KAAKJ,gBAAL,CAAsBr4I,gBAAtB,CAAuC,CAAC,CAAD,EAAI,CAAJ,CAAvC;QACH,CAFD,MAGK,IAAI,KAAKtwB,OAAL,CAAa+oK,yBAAb,KAA2C,SAA/C,EAA0D;UAC3D,KAAKJ,gBAAL,CAAsBr4I,gBAAtB,CAAuCrlC,CAAC,CAACslC,QAAzC;QACH,CANW,CAOZ;;MACH,CARD,MASK;QACD,IAAItlC,CAAC,CAACynC,MAAF,IAAY,KAAK1yB,OAAL,CAAagpK,eAAb,KAAiC,SAAjD,EAA4D;UACxD,KAAKL,gBAAL,CAAsBl4I,cAAtB,CAAqCxlC,CAAC,CAACynC,MAAvC;QACH,CAFD,MAGK,IAAI,KAAK1yB,OAAL,CAAa+oK,yBAAb,KAA2C,UAA/C,EAA2D;UAC5D,KAAKJ,gBAAL,CAAsBr4I,gBAAtB,CAAuC,CAAC,CAAD,EAAI,CAAJ,CAAvC;QACH;MACJ;IACJ,CArBM,CAAP;EAsBH;;EACD84I,mBAAmB,CAACrgB,WAAD,EAAcr2H,MAAd,EAAsB;IACrC,KAAKqrI,MAAL,CAAYiD,YAAZ,CAAyB,IAAIlY,MAAJ,CAAWC,WAAX,EAAwB,KAAK8f,UAAL,KAAoB,UAApB,GAAiC,KAAKhrH,KAAL,CAAW,KAAKirH,UAAhB,CAAjC,GAA+D,IAAvF,EAA6Fp2I,MAA7F,CAAzB;EACH;EACD;;;EACAhoB,WAAW,GAAG;IACV,IAAI,KAAKu8J,wBAAT,EAAmC;MAC/B,KAAKA,wBAAL,CAA8Br0K,WAA9B;IACH;;IACD,IAAI,KAAKs2K,wBAAT,EAAmC;MAC/B,KAAKA,wBAAL,CAA8Bt2K,WAA9B;IACH;EACJ;;AAzEgB;;AA2ErB81K,cAAc,CAACrjL,IAAf;EAn5LgGrH,8DAm5LhG;AAAA;;AACA0qL,cAAc,CAACljL,KAAf,kBAp5LgGxH,gEAo5LhG;EAAA,OAA+G0qL,cAA/G;EAAA,SAA+GA,cAA/G;AAAA;;AACA;EAAA,mDAr5LgG1qL,+DAq5LhG,CAA2F0qL,cAA3F,EAAuH,CAAC;IAC5G7iL,IAAI,EAAE3E,qDAAUA;EAD4F,CAAD,CAAvH,EAE4B,YAAY;IAAE,OAAO,CAAC;MAAE2E,IAAI,EAAEw6K;IAAR,CAAD,EAAmB;MAAEx6K,IAAI,EAAEg1G,8DAAmB9qE;IAA3B,CAAnB,EAAkD;MAAElqC,IAAI,EAAE6J;IAAR,CAAlD,CAAP;EAAgF,CAF1H;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkhJ,aAAa,GAAG,OAAOjrJ,SAAP,KAAqB,WAArB,IAAoCA,SAA1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS0jL,aAAT,CAAuBhZ,MAAvB,EAA+B,GAAGl6G,QAAlC,EAA4C;EACxC,OAAO,CACHmzH,aAAa,CAACjZ,MAAD,CADV,EACoB;IAAEt8H,OAAO,EAAEo2H,cAAX;IAA2BriJ,UAAU,EAAEyhK,SAAvC;IAAkD7pJ,IAAI,EAAE,CAAC2gJ,MAAD;EAAxD,CADpB,EAEH;IAAEtsI,OAAO,EAAE86F,iEAAX;IAAmCviF,KAAK,EAAE,IAA1C;IAAgDxkC,UAAU,EAAE0hK;EAA5D,CAFG,EAGHrzH,QAAQ,CAACr4C,GAAT,CAAa24C,OAAO,IAAIA,OAAO,CAAClI,UAAhC,CAHG,CAIH;EACA;EACA;EACA;EAPG,CAAP;AASH;;AACD,SAASg7H,SAAT,CAAmBxL,MAAnB,EAA2B;EACvB,OAAOA,MAAM,CAACuD,WAAP,CAAmBhuC,IAA1B;AACH;AACD;AACA;AACA;;;AACA,SAASm2C,aAAT,CAAuBn4K,IAAvB,EAA6BwiC,SAA7B,EAAwC;EACpC,OAAO;IAAE41I,KAAK,EAAEp4K,IAAT;IAAei9C,UAAU,EAAEza;EAA3B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw1I,aAAT,CAAuBjZ,MAAvB,EAA+B;EAC3B,OAAO,CACH;IAAEt8H,OAAO,EAAEwqI,MAAX;IAAmBjyH,KAAK,EAAE,IAA1B;IAAgCtY,QAAQ,EAAEq8H;EAA1C,CADG,CAAP;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,SAASsZ,qBAAT,CAA+B3pK,OAAO,GAAG,EAAzC,EAA6C;EACzC,MAAM8zB,SAAS,GAAG,CAAC;IACXC,OAAO,EAAE00I,eADE;IAEX3gK,UAAU,EAAE,MAAM;MACd,MAAMi2J,MAAM,GAAGv4J,qDAAM,CAAC66J,MAAD,CAArB;MACA,MAAMsI,gBAAgB,GAAGnjK,qDAAM,CAACuqB,8DAAD,CAA/B;MACA,OAAO,IAAI24I,cAAJ,CAAmB3K,MAAnB,EAA2B4K,gBAA3B,EAA6C3oK,OAA7C,CAAP;IACH;EANU,CAAD,CAAlB;EAQA,OAAOypK,aAAa,CAAC;EAAE;EAAH,EAAqD31I,SAArD,CAApB;AACH;;AACD,SAAS01I,oBAAT,GAAgC;EAC5B,MAAM/lJ,QAAQ,GAAGje,qDAAM,CAACyB,mDAAD,CAAvB;EACA,OAAQ2iK,wBAAD,IAA8B;IACjC,MAAMh+I,GAAG,GAAGnI,QAAQ,CAACY,GAAT,CAAao1G,yDAAb,CAAZ;;IACA,IAAImwC,wBAAwB,KAAKh+I,GAAG,CAACuyC,UAAJ,CAAe,CAAf,CAAjC,EAAoD;MAChD;IACH;;IACD,MAAM4/F,MAAM,GAAGt6I,QAAQ,CAACY,GAAT,CAAag8I,MAAb,CAAf;IACA,MAAMwJ,aAAa,GAAGpmJ,QAAQ,CAACY,GAAT,CAAaylJ,cAAb,CAAtB;;IACA,IAAIrmJ,QAAQ,CAACY,GAAT,CAAa0lJ,kBAAb,MAAqC;IAAE;IAA3C,EAAuF;MACnFhM,MAAM,CAACuG,iBAAP;IACH;;IACD7gJ,QAAQ,CAACY,GAAT,CAAa2lJ,gBAAb,EAA+B,IAA/B,EAAqC54H,+DAArC,GAA4D62H,eAA5D;IACAxkJ,QAAQ,CAACY,GAAT,CAAaokJ,eAAb,EAA8B,IAA9B,EAAoCr3H,+DAApC,GAA2Dl1C,IAA3D;IACA6hK,MAAM,CAACqG,sBAAP,CAA8Bx4I,GAAG,CAAC2vG,cAAJ,CAAmB,CAAnB,CAA9B;;IACA,IAAI,CAACsuC,aAAa,CAAC74K,MAAnB,EAA2B;MACvB64K,aAAa,CAAChrL,IAAd;MACAgrL,aAAa,CAACj3K,WAAd;IACH;EACJ,CAjBD;AAkBH;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAMk3K,cAAc,GAAG,IAAIvkK,yDAAJ,CAAmBqrI,aAAa,GAAG,0BAAH,GAAgC,EAAhE,EAAoE;EACvF5vJ,OAAO,EAAE,MAAM;IACX,OAAO,IAAIkP,0CAAJ,EAAP;EACH;AAHsF,CAApE,CAAvB;AAKA,MAAM65K,kBAAkB,GAAG,IAAIxkK,yDAAJ,CAAmBqrI,aAAa,GAAG,oBAAH,GAA0B,EAA1D,EAA8D;EAAE3vJ,UAAU,EAAE,MAAd;EAAsBD,OAAO,EAAE,MAAM;EAAE;;AAAvC,CAA9D,CAA3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASipL,oCAAT,GAAgD;EAC5C,MAAMn2I,SAAS,GAAG,CACd;IAAEC,OAAO,EAAEg2I,kBAAX;IAA+B/1I,QAAQ,EAAE;IAAE;;EAA3C,CADc,EAEd;IACID,OAAO,EAAE65F,0DADb;IAEIthF,KAAK,EAAE,IAFX;IAGI5sB,IAAI,EAAE,CAACzY,mDAAD,CAHV;IAIIa,UAAU,EAAG2b,QAAD,IAAc;MACtB,MAAMymJ,mBAAmB,GAAGzmJ,QAAQ,CAACY,GAAT,CAAarc,kEAAb,EAAmC3jB,OAAO,CAACC,OAAR,EAAnC,CAA5B;MACA,IAAI6lL,cAAc,GAAG,KAArB;MACA;AAChB;AACA;AACA;AACA;AACA;;MACgB,SAASC,mBAAT,CAA6BhqG,MAA7B,EAAqC;QACjC,MAAM29F,MAAM,GAAGt6I,QAAQ,CAACY,GAAT,CAAag8I,MAAb,CAAf;QACAtC,MAAM,CAACpkB,MAAP,CACKh7J,IADL,CACUwe,uDAAM,CAAElS,CAAD,IAAOA,CAAC,YAAY48J,aAAb,IAA8B58J,CAAC,YAAY88J,gBAA3C,IACpB98J,CAAC,YAAY+8J,eADD,CADhB,EAEmClqJ,mDAAG,CAAC7S,CAAC,IAAI;UACxC,IAAIA,CAAC,YAAY48J,aAAjB,EAAgC;YAC5B;YACA,OAAO,IAAP;UACH;;UACD,MAAMwiB,WAAW,GAAGp/K,CAAC,YAAY88J,gBAAb,GACf98J,CAAC,CAACmmB,IAAF,KAAW;UAAE;UAAb,GACGnmB,CAAC,CAACmmB,IAAF,KAAW;UAAE;UAFD,EAGhB,KAHJ;UAIA,OAAOi5J,WAAW,GAAG,IAAH,GAAU,KAA5B;QACH,CAVqC,CAFtC,EAYIltK,uDAAM,CAAE5Z,MAAD,IAAYA,MAAM,KAAK,IAAxB,CAZV,EAYyCrF,oDAAI,CAAC,CAAD,CAZ7C,EAaKU,SAbL,CAae,MAAM;UACjBwhF,MAAM;QACT,CAfD;MAgBH;;MACD,OAAO,MAAM;QACT,OAAO8pG,mBAAmB,CAACrvK,IAApB,CAAyB,MAAM;UAClC,OAAO,IAAIxW,OAAJ,CAAYC,OAAO,IAAI;YAC1B,MAAMy5K,MAAM,GAAGt6I,QAAQ,CAACY,GAAT,CAAag8I,MAAb,CAAf;YACA,MAAMwJ,aAAa,GAAGpmJ,QAAQ,CAACY,GAAT,CAAaylJ,cAAb,CAAtB;YACAM,mBAAmB,CAAC,MAAM;cACtB;cACA;cACA9lL,OAAO,CAAC,IAAD,CAAP;cACA6lL,cAAc,GAAG,IAAjB;YACH,CALkB,CAAnB;;YAMApM,MAAM,CAAC+C,kBAAP,GAA4B,MAAM;cAC9B;cACA;cACA;cACAx8K,OAAO,CAAC,IAAD,CAAP,CAJ8B,CAK9B;;cACA,IAAI,CAAC6lL,cAAL,EAAqB;gBACjB,OAAON,aAAa,CAAC74K,MAAd,GAAuB8K,wCAAE,CAAC,KAAK,CAAN,CAAzB,GAAoC+tK,aAA3C,CADiB,CAEjB;cACH,CAHD,MAIK;gBACD,OAAO/tK,wCAAE,CAAC,KAAK,CAAN,CAAT;cACH;YACJ,CAbD;;YAcAiiK,MAAM,CAACuG,iBAAP;UACH,CAxBM,CAAP;QAyBH,CA1BM,CAAP;MA2BH,CA5BD;IA6BH;EA7DL,CAFc,CAAlB;EAkEA,OAAOmF,aAAa,CAAC;EAAE;EAAH,EAAoE31I,SAApE,CAApB;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,SAASw2I,6BAAT,GAAyC;EACrC,MAAMx2I,SAAS,GAAG,CACd;IACIC,OAAO,EAAE65F,0DADb;IAEIthF,KAAK,EAAE,IAFX;IAGIxkC,UAAU,EAAE,MAAM;MACd,MAAMi2J,MAAM,GAAGv4J,qDAAM,CAAC66J,MAAD,CAArB;MACA,OAAO,MAAM;QACTtC,MAAM,CAACwG,2BAAP;MACH,CAFD;IAGH;EARL,CADc,EAWd;IAAExwI,OAAO,EAAEg2I,kBAAX;IAA+B/1I,QAAQ,EAAE;IAAE;;EAA3C,CAXc,CAAlB;EAaA,OAAOy1I,aAAa,CAAC;EAAE;EAAH,EAA6D31I,SAA7D,CAApB;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,SAASy2I,gBAAT,GAA4B;EACxB,IAAIz2I,SAAS,GAAG,EAAhB;;EACA,IAAI88G,aAAJ,EAAmB;IACf98G,SAAS,GAAG,CAAC;MACLC,OAAO,EAAEg8C,kEADJ;MAELzjC,KAAK,EAAE,IAFF;MAGLxkC,UAAU,EAAE,MAAM;QACd,MAAMi2J,MAAM,GAAGv4J,qDAAM,CAAC66J,MAAD,CAArB;QACA,OAAO,MAAMtC,MAAM,CAACpkB,MAAP,CAAc/6J,SAAd,CAAyBqM,CAAD,IAAO;UACxC;UACAhH,OAAO,CAACwiK,KAAR,GAAiB,iBAAgBx7J,CAAC,CAACrO,WAAF,CAAcwD,IAAK,EAApD;UACA6D,OAAO,CAACC,GAAR,CAAY8kK,cAAc,CAAC/9J,CAAD,CAA1B;UACAhH,OAAO,CAACC,GAAR,CAAY+G,CAAZ;UACAhH,OAAO,CAACumL,QAAR,KALwC,CAMxC;QACH,CAPY,CAAb;MAQH;IAbI,CAAD,CAAZ;EAeH,CAhBD,MAiBK;IACD12I,SAAS,GAAG,EAAZ;EACH;;EACD,OAAO21I,aAAa,CAAC;EAAE;EAAH,EAAgD31I,SAAhD,CAApB;AACH;;AACD,MAAMk2I,gBAAgB,GAAG,IAAIzkK,yDAAJ,CAAmBqrI,aAAa,GAAG,kBAAH,GAAwB,EAAxD,CAAzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS65B,cAAT,CAAwBzC,kBAAxB,EAA4C;EACxC,MAAMl0I,SAAS,GAAG,CACd;IAAEC,OAAO,EAAEi2I,gBAAX;IAA6B39H,WAAW,EAAE07H;EAA1C,CADc,EAEd;IAAEh0I,OAAO,EAAE6zI,kBAAX;IAA+Bv7H,WAAW,EAAE27H;EAA5C,CAFc,CAAlB;EAIA,OAAOyB,aAAa,CAAC;EAAE;EAAH,EAA8C31I,SAA9C,CAApB;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,SAAS42I,gBAAT,CAA0B1qK,OAA1B,EAAmC;EAC/B,MAAM8zB,SAAS,GAAG,CACd;IAAEC,OAAO,EAAEsqI,oBAAX;IAAiCrqI,QAAQ,EAAEh0B;EAA3C,CADc,CAAlB;EAGA,OAAOypK,aAAa,CAAC;EAAE;EAAH,EAAuD31I,SAAvD,CAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMxP,WAAW,GAAG,OAAO3+B,SAAP,KAAqB,WAArB,IAAoCA,SAAxD;AACA;AACA;AACA;;AACA,MAAMglL,iBAAiB,GAAG,CAACjd,YAAD,EAAeoY,UAAf,EAA2BU,kBAA3B,EAA+CG,gBAA/C,EAAiE9X,qBAAjE,CAA1B;AACA;AACA;AACA;;AACA,MAAM+b,oBAAoB,GAAG,IAAIrlK,yDAAJ,CAAmB+e,WAAW,GAAG,gCAAH,GAAsC,sBAApE,CAA7B,EACA;AACA;AACA;AACA;;AACA,MAAMumJ,gBAAgB,GAAG,CACrB3/J,sDADqB,EAErB;EAAE6oB,OAAO,EAAEisH,aAAX;EAA0B7zG,QAAQ,EAAE8zG;AAApC,CAFqB,EAGrB;EAAElsH,OAAO,EAAEssI,MAAX;EAAmBv4J,UAAU,EAAEm4J;AAA/B,CAHqB,EAIrBjT,sBAJqB,EAKrB;EAAEj5H,OAAO,EAAEo2H,cAAX;EAA2BriJ,UAAU,EAAEyhK,SAAvC;EAAkD7pJ,IAAI,EAAE,CAAC2gJ,MAAD;AAAxD,CALqB,EAMrB7B,kBANqB,CAAzB;;AAQA,SAASsM,kBAAT,GAA8B;EAC1B,OAAO,IAAI1yC,uDAAJ,CAAiB,QAAjB,EAA2BioC,MAA3B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0K,YAAN,CAAmB;EACfnuL,WAAW,CAACy2K,KAAD,EAAQ,CAAG;EACtB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACkB,OAAP2X,OAAO,CAAC3a,MAAD,EAASx+J,MAAT,EAAiB;IAC3B,OAAO;MACHuxB,QAAQ,EAAE2nJ,YADP;MAEHj3I,SAAS,EAAE,CACP+2I,gBADO,EAEPvmJ,WAAW,GAAIzyB,MAAM,EAAEo5K,aAAR,GAAwBV,gBAAgB,GAAGh8H,UAA3C,GAAwD,EAA5D,GAAkE,EAFtE,EAGP+6H,aAAa,CAACjZ,MAAD,CAHN,EAIP;QACIt8H,OAAO,EAAE62I,oBADb;QAEI9iK,UAAU,EAAEojK,mBAFhB;QAGIxrJ,IAAI,EAAE,CAAC,CAAC2gJ,MAAD,EAAS,IAAI56J,mDAAJ,EAAT,EAAyB,IAAIw9C,mDAAJ,EAAzB,CAAD;MAHV,CAJO,EASP;QAAElvB,OAAO,EAAEsqI,oBAAX;QAAiCrqI,QAAQ,EAAEniC,MAAM,GAAGA,MAAH,GAAY;MAA7D,CATO,EAUPA,MAAM,EAAEs5K,OAAR,GAAkBC,2BAA2B,EAA7C,GAAkDC,2BAA2B,EAVtE,EAWPC,qBAAqB,EAXd,EAYPz5K,MAAM,EAAEm2K,kBAAR,GAA6ByC,cAAc,CAAC54K,MAAM,CAACm2K,kBAAR,CAAd,CAA0Cz5H,UAAvE,GAAoF,EAZ7E,EAaP;QAAExa,OAAO,EAAEqkG,uDAAX;QAAyB9rF,KAAK,EAAE,IAAhC;QAAsCxkC,UAAU,EAAEgjK;MAAlD,CAbO,EAcPj5K,MAAM,EAAEyyK,iBAAR,GAA4BiH,wBAAwB,CAAC15K,MAAD,CAApD,GAA+D,EAdxD,EAeP25K,wBAAwB,EAfjB;IAFR,CAAP;EAoBH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACmB,OAARC,QAAQ,CAACpb,MAAD,EAAS;IACpB,OAAO;MAAEjtI,QAAQ,EAAE2nJ,YAAZ;MAA0Bj3I,SAAS,EAAE,CAACw1I,aAAa,CAACjZ,MAAD,CAAd;IAArC,CAAP;EACH;;AA5Dc;;AA8DnB0a,YAAY,CAAC1lL,IAAb;EAAA,iBAAyG0lL,YAAzG,EAt6MgG/sL,sDAs6MhG,CAAuI4sL,oBAAvI;AAAA;;AACAG,YAAY,CAACnjL,IAAb,kBAv6MgG5J,8DAu6MhG;EAAA,MAA0G+sL;AAA1G;AACAA,YAAY,CAACjjL,IAAb,kBAx6MgG9J,8DAw6MhG;EAAA,UAAkI6wK,qBAAlI;AAAA;;AACA;EAAA,mDAz6MgG7wK,+DAy6MhG,CAA2F+sL,YAA3F,EAAqH,CAAC;IAC1GllL,IAAI,EAAEzE,mDADoG;IAE1GoG,IAAI,EAAE,CAAC;MACCS,OAAO,EAAE0iL,iBADV;MAECziL,OAAO,EAAEyiL;IAFV,CAAD;EAFoG,CAAD,CAArH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAE9kL,IAAI,EAAE6J,SAAR;MAAmBC,UAAU,EAAE,CAAC;QAC9D9J,IAAI,EAAE4f,mDAAQA;MADgD,CAAD,EAE9D;QACC5f,IAAI,EAAE6E,iDADP;QAEClD,IAAI,EAAE,CAACojL,oBAAD;MAFP,CAF8D;IAA/B,CAAD,CAAP;EAKlB,CAXxB;AAAA;AAYA;AACA;AACA;AACA;;;AACA,SAASU,qBAAT,GAAiC;EAC7B,OAAO;IACHv3I,OAAO,EAAE00I,eADN;IAEH3gK,UAAU,EAAE,MAAM;MACd,MAAMi2J,MAAM,GAAGv4J,qDAAM,CAAC66J,MAAD,CAArB;MACA,MAAMsI,gBAAgB,GAAGnjK,qDAAM,CAACuqB,8DAAD,CAA/B;MACA,MAAMl+B,MAAM,GAAG2T,qDAAM,CAAC64J,oBAAD,CAArB;;MACA,IAAIxsK,MAAM,CAAC65K,YAAX,EAAyB;QACrB/C,gBAAgB,CAAC14I,SAAjB,CAA2Bp+B,MAAM,CAAC65K,YAAlC;MACH;;MACD,OAAO,IAAIhD,cAAJ,CAAmB3K,MAAnB,EAA2B4K,gBAA3B,EAA6C92K,MAA7C,CAAP;IACH;EAVE,CAAP;AAYH,EACD;AACA;;;AACA,SAASu5K,2BAAT,GAAuC;EACnC,OAAO;IAAEr3I,OAAO,EAAE5pB,8DAAX;IAA6BgiC,QAAQ,EAAElhC,kEAAoBA;EAA3D,CAAP;AACH,EACD;AACA;;;AACA,SAASogK,2BAAT,GAAuC;EACnC,OAAO;IAAEt3I,OAAO,EAAE5pB,8DAAX;IAA6BgiC,QAAQ,EAAE/hC,kEAAoBA;EAA3D,CAAP;AACH;;AACD,SAAS8gK,mBAAT,CAA6BnN,MAA7B,EAAqC;EACjC,IAAIz5I,WAAW,IAAIy5I,MAAnB,EAA2B;IACvB,MAAM,IAAI13J,2DAAJ,CAAkB;IAAK;IAAvB,EAAsE,4GAAD,GACtE,kEADC,CAAN;EAEH;;EACD,OAAO,SAAP;AACH,EACD;AACA;;;AACA,SAASklK,wBAAT,CAAkC15K,MAAlC,EAA0C;EACtC,OAAO,CACHA,MAAM,CAACyyK,iBAAP,KAA6B,UAA7B,GAA0CgG,6BAA6B,GAAG/7H,UAA1E,GAAuF,EADpF,EAEH18C,MAAM,CAACyyK,iBAAP,KAA6B,iBAA7B,GACI2F,oCAAoC,GAAG17H,UAD3C,GAEI,EAJD,CAAP;AAMH,EACD;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMo9H,kBAAkB,GAAG,IAAIpmK,yDAAJ,CAAmB+e,WAAW,GAAG,oBAAH,GAA0B,EAAxD,CAA3B;;AACA,SAASknJ,wBAAT,GAAoC;EAChC,OAAO,CACH;EACA;EACA;IAAEz3I,OAAO,EAAE43I,kBAAX;IAA+B7jK,UAAU,EAAE0hK;EAA3C,CAHG,EAIH;IAAEz1I,OAAO,EAAE86F,iEAAX;IAAmCviF,KAAK,EAAE,IAA1C;IAAgDD,WAAW,EAAEs/H;EAA7D,CAJG,CAAP;AAMH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAM77I,OAAO,GAAG,IAAIjpB,kDAAJ,CAAY,QAAZ,CAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/+NA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,gBAAgB,sCAAsC,kBAAkB;AACjF,wBAAwB;AACxB;AACA;;AAEO;AACP;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEO;AACP;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,2DAA2D,cAAc;AACzE;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;;AAEO;AACP,kCAAkC;AAClC;;AAEO;AACP,uBAAuB,uFAAuF;AAC9G;AACA;AACA,yGAAyG;AACzG;AACA,sCAAsC,QAAQ;AAC9C;AACA,gEAAgE;AAChE;AACA,8CAA8C,yFAAyF;AACvI,8DAA8D,2CAA2C;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,kBAAkB,yBAAyB;AAC3C;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA,4CAA4C,yEAAyE;AACrH;;AAEO;AACP;AACA;;AAEO;AACP,0BAA0B,+DAA+D,iBAAiB;AAC1G;AACA,kCAAkC,MAAM,+BAA+B,YAAY;AACnF,iCAAiC,MAAM,mCAAmC,YAAY;AACtF,8BAA8B;AAC9B;AACA,GAAG;AACH;;AAEO;AACP,YAAY,6BAA6B,0BAA0B,cAAc,qBAAqB;AACtG,2IAA2I,cAAc;AACzJ,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,iCAAiC,SAAS;AAC1C,iCAAiC,WAAW,UAAU;AACtD,wCAAwC,cAAc;AACtD;AACA,4GAA4G,OAAO;AACnH,+EAA+E,iBAAiB;AAChG,uDAAuD,gBAAgB,QAAQ;AAC/E,6CAA6C,gBAAgB,gBAAgB;AAC7E;AACA,gCAAgC;AAChC;AACA;AACA,QAAQ,YAAY,aAAa,SAAS,UAAU;AACpD,kCAAkC,SAAS;AAC3C;AACA;;AAEO;AACP;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAEM;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM;AACxB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACO;AACP,2BAA2B,sBAAsB;AACjD;AACA;AACA;;AAEA;AACO;AACP,gDAAgD,QAAQ;AACxD,uCAAuC,QAAQ;AAC/C,uDAAuD,QAAQ;AAC/D;AACA;AACA;;AAEO;AACP,2EAA2E,OAAO;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,wMAAwM,cAAc;AACtN,4BAA4B,sBAAsB;AAClD,wBAAwB,YAAY,sBAAsB,qCAAqC,2CAA2C,MAAM;AAChJ,0BAA0B,MAAM,iBAAiB,YAAY;AAC7D,qBAAqB;AACrB,4BAA4B;AAC5B,2BAA2B;AAC3B,0BAA0B;AAC1B;;AAEO;AACP;AACA,eAAe,6CAA6C,UAAU,sDAAsD,cAAc;AAC1I,wBAAwB,6BAA6B,oBAAoB,uCAAuC,kBAAkB;AAClI;;AAEO;AACP;AACA;AACA,yGAAyG,uFAAuF,cAAc;AAC9M,qBAAqB,8BAA8B,gDAAgD,wDAAwD;AAC3J,2CAA2C,sCAAsC,UAAU,mBAAmB,IAAI;AAClH;;AAEO;AACP,+BAA+B,uCAAuC,YAAY,KAAK,OAAO;AAC9F;AACA;;AAEA;AACA,wCAAwC,4BAA4B;AACpE,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,qDAAqD,cAAc;AACnE;AACA;AACA;;AAEO;AACP,2CAA2C;AAC3C;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,MAAM,oBAAoB,YAAY;AAC5E,qBAAqB,8CAA8C;AACnE;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF,SAAS,gBAAgB;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC","sources":["./src/app/app-configuration.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/application.constant.ts","./src/app/cuestionarios-salud/components/cuestionarios-salud.component.ts","./src/app/cuestionarios-salud/components/cuestionarios-salud.component.html","./src/app/cuestionarios-salud/cuestionarios-salud.module.ts","./src/app/cuestionarios-salud/cuestionarios-salud.routing.module.ts","./src/app/section-wise/models/date-option.model.ts","./src/app/shared/Utils/Utils.ts","./src/app/shared/constant/literal.constant.ts","./src/app/shared/progress/progress.component.ts","./src/app/shared/progress/progress.component.html","./src/app/shared/redirect-guard/redirect-before.ts","./src/app/shared/service/base/customized-http.service.ts","./src/app/shared/service/data/session-tracker.service.ts","./src/app/shared/service/data/start-up-config.service.ts","./src/app/shared/service/ui/app-state.service.ts","./src/app/shared/service/ui/start-up-config-ui.service.ts","./src/environments/environment.prod.ts","./src/main.ts","./node_modules/ras-cookie-bar/__ivy_ngcc__/fesm2015/ras-cookie-bar.js","./node_modules/ras-gtm/__ivy_ngcc__/fesm2015/ras-gtm.js","./node_modules/ras-util/__ivy_ngcc__/fesm2015/ras-util.js","./node_modules/rxjs/dist/esm/internal/AsyncSubject.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/publishLast.js","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/@angular/common/fesm2020/common.mjs","./node_modules/@angular/common/fesm2020/http.mjs","./node_modules/@angular/core/fesm2020/core.mjs","./node_modules/@angular/platform-browser/fesm2020/platform-browser.mjs","./node_modules/@angular/router/fesm2020/router.mjs","./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { DeferredConfigModel } from './shared/models/start-up-config/deferred-config';\r\nimport { UrlConfigModel } from './shared/models/start-up-config/initial-config.model';\r\nimport { CustomizedHttpService } from './shared/service/base/customized-http.service';\r\nimport { ApplicationConstant } from './application.constant';\r\nimport { AbTestConfigModel } from './shared/models/start-up-config/abtest-config-model';\r\n\r\n@Injectable()\r\nexport class AppConfigurationService {\r\n private deferredConfigModel: DeferredConfigModel;\r\n private _clientSignature = '';\r\n\r\n private readonly configUrlPath: string = 'StartUp/GenerateClientSignature';\r\n private readonly urlConfigurationPath: string = 'StartUp/GetURLConfiguration';\r\n private readonly abTestConfigPath: string = 'StartUp/GetAbTestConfig';\r\n\r\n constructor(private httpService: CustomizedHttpService) {}\r\n\r\n public loadConfigurationData(): Promise {\r\n return new Promise((resolve) => {\r\n this.httpService.get(`${this.configUrlPath}`).subscribe((result) => {\r\n this._clientSignature = result;\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n public loadURLConfigurationData(): Promise {\r\n return new Promise((resolve) => {\r\n this.httpService.get(`${this.urlConfigurationPath}`).subscribe((result) => {\r\n ApplicationConstant.urlConfig = result;\r\n resolve(result);\r\n });\r\n });\r\n }\r\n\r\n public loadABTestConfigurationData(): Promise {\r\n return new Promise((resolve) => {\r\n this.httpService.get(`${this.abTestConfigPath}`).subscribe((result) => {\r\n ApplicationConstant.abTestConfig = result;\r\n resolve(result);\r\n });\r\n });\r\n }\r\n\r\n public get getURLConfig(): UrlConfigModel {\r\n return ApplicationConstant.urlConfig;\r\n }\r\n\r\n public get getDefferedConfig(): DeferredConfigModel {\r\n return this.deferredConfigModel && this.getDefferedConfig;\r\n }\r\n\r\n public get clientSignature(): string {\r\n return this._clientSignature;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ProgressComponent } from './shared/progress/progress.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'seguros-de-salud/calcular', loadChildren: () => import('./customer-journey/customer-journey.module').then((mod) => mod.CustomerJourneyModule) },\r\n { path: 'datos-comparativa', loadChildren: () => import('./customer-journey/customer-journey.module').then((t) => t.CustomerJourneyModule) },\r\n { path: 'modifica-tus-datos', loadChildren: () => import('./section-wise/section-wise.module').then((t) => t.SectionWiseModule) },\r\n { path: 'modifica-tus-datos/:id', loadChildren: () => import('./section-wise/section-wise.module').then((t) => t.SectionWiseModule) },\r\n { path: 'email-landing', loadChildren: () => import('./email-landing/email-landing.module').then((t) => t.EmailLandingModule) },\r\n // Redirect all old email landings to the new email-landing module\r\n {\r\n path: 'email-quotes-landing.aspx',\r\n redirectTo: 'email-landing/quote'\r\n },\r\n {\r\n path: 'email-quotes-update.aspx',\r\n redirectTo: 'email-landing/update'\r\n },\r\n\r\n { path: 'progress', component: ProgressComponent, pathMatch: 'full' },\r\n\r\n { path: 'modifica-tus-datos.aspx', redirectTo: 'modifica-tus-datos', pathMatch: 'full' },\r\n { path: 'datos-comparativa.aspx', redirectTo: 'datos-comparativa/Q1', pathMatch: 'full' },\r\n { path: 'cuestionarios-salud', redirectTo: 'cuestionarios-salud.html' },\r\n { path: '', redirectTo: 'datos-comparativa/Q1', pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component } from '@angular/core';\r\nimport * as lookUpMasterDetails from '../assets/json/LookupMaster.json';\r\nimport { OnInit } from '@angular/core';\r\nimport { ApplicationConstant } from './application.constant';\r\nimport { AppStateService } from './shared/service/ui/app-state.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(private appStateService: AppStateService) {}\r\n\r\n public ngOnInit(): void {\r\n ApplicationConstant.lookMasterDetails = (lookUpMasterDetails as any).default;\r\n this.appStateService.initSessionTracker();\r\n this.appStateService.loadDeferredFile();\r\n }\r\n}\r\n","\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CookieBarService } from 'ras-cookie-bar';\r\nimport { RasGtmService } from 'ras-gtm';\r\nimport { ScriptLoaderService, StylesheetLoaderService } from 'ras-util';\r\nimport { AppConfigurationService } from './app-configuration.service';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { CuestionariosSaludModule } from './cuestionarios-salud/cuestionarios-salud.module';\r\nimport { literalConstant } from './shared/constant/literal.constant';\r\nimport { RedirectBeforeGuard } from './shared/redirect-guard/redirect-before';\r\nimport { AppStateService } from './shared/service/ui/app-state.service';\r\n\r\nexport function getBaseUrl() {\r\n return window.location.pathname.includes('seguros-de-salud/calcular') ? window.location.origin + '/seguros-de-salud/calcular/' : window.location.origin + '/';\r\n}\r\n\r\nexport function initializeSessionConfig(configService: AppConfigurationService) {\r\n configService.loadURLConfigurationData();\r\n return () => configService.loadConfigurationData();\r\n}\r\n\r\nexport function initializeAbTestConfig(configService: AppConfigurationService) {\r\n return () => configService.loadABTestConfigurationData();\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [BrowserModule, AppRoutingModule, HttpClientModule, CuestionariosSaludModule],\r\n providers: [\r\n { provide: literalConstant.API_URL, useFactory: getBaseUrl },\r\n AppConfigurationService,\r\n RedirectBeforeGuard,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeSessionConfig,\r\n deps: [AppConfigurationService],\r\n multi: true\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeAbTestConfig,\r\n deps: [AppConfigurationService],\r\n multi: true\r\n },\r\n DatePipe,\r\n // ui-state\r\n AppStateService,\r\n // util\r\n ScriptLoaderService,\r\n StylesheetLoaderService,\r\n\r\n // ng-module\r\n RasGtmService,\r\n CookieBarService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { LookUpMasterModel } from './shared/models/lookup-master/lookup-master.model';\r\nimport { LookUpResourceModel } from './section-wise/models/lookup-resource.model';\r\nimport { UrlConfigModel } from './shared/models/start-up-config/initial-config.model';\r\nimport { AbTestConfigModel } from './shared/models/start-up-config/abtest-config-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationConstant {\r\n public static isOwnLandingRedirected: boolean;\r\n public static isOwnLanding: boolean;\r\n public static lookMasterDetails: Array;\r\n public static lookupResourceDetails: Array;\r\n public static urlConfig: UrlConfigModel;\r\n public static abTestConfig: AbTestConfigModel;\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cuestionarios-salud',\r\n templateUrl: './cuestionarios-salud.component.html',\r\n styleUrls: ['./cuestionarios-salud.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CuestionariosSaludComponent implements OnInit {\r\n private title = 'Cuestionarios Salud - Rastreator.com™';\r\n public baseImageUrl: string;\r\n public baseDocUrl: string;\r\n\r\n constructor() {}\r\n\r\n public ngOnInit(): void {\r\n this.baseImageUrl = '/assets/img/logos/';\r\n this.baseDocUrl = '/assets/docs/';\r\n this.loadScript('/assets/js/cuestionarios-salud.js');\r\n }\r\n\r\n public loadScript(url: string): void {\r\n const body = document.body;\r\n const script = document.createElement('script');\r\n script.src = url;\r\n script.async = false;\r\n script.defer = true;\r\n script.title = this.title;\r\n body.appendChild(script);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Cuestionarios Salud

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Aseguradoras

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { CuestionariosSaludComponent } from './components/cuestionarios-salud.component';\r\nimport { CuestionariosSaludRoutingModule } from './cuestionarios-salud.routing.module';\r\n\r\n@NgModule({\r\n declarations: [CuestionariosSaludComponent],\r\n imports: [CommonModule, CuestionariosSaludRoutingModule],\r\n providers: [],\r\n exports: [CuestionariosSaludComponent]\r\n})\r\nexport class CuestionariosSaludModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { CuestionariosSaludComponent } from './components/cuestionarios-salud.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: 'cuestionarios-salud.html',\r\n component: CuestionariosSaludComponent\r\n },\r\n {\r\n path: 'cuestionarios-salud',\r\n component: CuestionariosSaludComponent\r\n },\r\n {\r\n path: '',\r\n component: CuestionariosSaludComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [[RouterModule.forChild(routes)]],\r\n exports: [RouterModule]\r\n})\r\nexport class CuestionariosSaludRoutingModule {}\r\n","export class DateOptionModel {\r\n day: number | null;\r\n month: number;\r\n year: number;\r\n}\r\n","import { DateOptionModel } from '../../section-wise/models/date-option.model';\r\n\r\nexport class Utils {\r\n public static readonly defaultDateFormat = 'MM/dd/yyyy';\r\n\r\n static getBaseRoute() {\r\n return window.location.pathname.includes('seguros-de-salud/calcular') ? '/seguros-de-salud/calcular' : '/datos-comparativa';\r\n }\r\n\r\n static getDateOption(dateObject: Date | string | null): DateOptionModel {\r\n const dateOption = new DateOptionModel();\r\n\r\n if (typeof dateObject === 'string') {\r\n dateObject = new Date(dateObject);\r\n }\r\n\r\n if (dateObject instanceof Date && !isNaN(dateObject.getTime())) {\r\n dateOption.day = dateObject.getDate();\r\n dateOption.month = dateObject.getMonth() + 1;\r\n dateOption.year = dateObject.getFullYear();\r\n }\r\n\r\n return dateOption;\r\n }\r\n\r\n static getDateString(selectedDate: DateOptionModel, format: string = Utils.defaultDateFormat): string {\r\n const { day, month, year } = selectedDate;\r\n\r\n if (day === null || month === null || year === null) {\r\n throw new Error('Invalid date option: day, month, and year must not be null');\r\n }\r\n\r\n const formattedDate = format\r\n .replace('dd', day.toString().padStart(2, '0'))\r\n .replace('MM', month.toString().padStart(2, '0'))\r\n .replace('yyyy', year.toString());\r\n\r\n return formattedDate;\r\n }\r\n\r\n static isNumber(evt: any): boolean {\r\n evt = evt ? evt : window.event;\r\n const charCode = evt.which ? evt.which : evt.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","export const literalConstant = {\r\n API_URL: 'API_URL',\r\n ABTEST_SUBMISSION_HEADER: 'AbTestConfig',\r\n};\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { take } from 'rxjs';\r\nimport { StartUpConfigUiService } from '../service/ui/start-up-config-ui.service';\r\n\r\n@Component({\r\n selector: 'app-progress',\r\n templateUrl: './progress.component.html'\r\n})\r\nexport class ProgressComponent implements OnInit {\r\n private counterSource: string | null;\r\n private cSig: string | null;\r\n private caid: string | null;\r\n utm_source: string | null;\r\n utm_campaign: string | null;\r\n returnCode: string | null;\r\n preloaderImageUrl: string;\r\n\r\n constructor(\r\n private startUpConfigUiService: StartUpConfigUiService,\r\n private route: ActivatedRoute,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.startUpConfigUiService\r\n .getPreloaderImageUrl()\r\n .pipe(take(1))\r\n .subscribe({\r\n next: (preloaderImageUrl) => {\r\n this.preloaderImageUrl = preloaderImageUrl;\r\n }\r\n });\r\n\r\n const queryParam = this.route.snapshot.queryParamMap;\r\n this.counterSource = queryParam.get('waitpagetype');\r\n this.cSig = queryParam.get('c-sig');\r\n this.caid = queryParam.get('actid');\r\n this.utm_source = queryParam.get('utm_source');\r\n this.utm_campaign = queryParam.get('utm_campaign');\r\n this.returnCode = queryParam.get('returncode');\r\n\r\n setTimeout(() => {\r\n this.redirectToQuotes();\r\n }, 1000);\r\n }\r\n\r\n private redirectToQuotes(): void {\r\n this.startUpConfigUiService.initialConfig$.pipe(take(1)).subscribe({\r\n next: (initialConfig) => {\r\n const cSigSegment = this.cSig ? this.counterSource ? this.counterSource.includes('?') ? `&c-sig=${this.cSig}` : `?c-sig=${this.cSig}` : `?c-sig=${this.cSig}` : '';\r\n const actidSegment = this.caid ? `&actid=${this.caid}` : '';\r\n const utmSourceSegment = this.utm_source ? `&utm_source=${this.utm_source}` : '';\r\n const utmCampaignSegment = this.utm_campaign ? `&utm_campaign=${this.utm_campaign}` : '';\r\n const returnCodeSegment = this.returnCode ? `&returncode=${this.returnCode}` : '';\r\n this.document.location.href = `${initialConfig.quotesStartUpUrl}resultados-comparativa/${\r\n this.counterSource ? this.counterSource : ''\r\n }${cSigSegment}${actidSegment}${utmSourceSegment}${utmCampaignSegment}${returnCodeSegment}`;\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n

\r\n \"Cargando\"\r\n

\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Params, Router } from '@angular/router';\r\nimport { AppConfigurationService } from '../../app-configuration.service';\r\nimport { Utils } from '../Utils/Utils';\r\n\r\n@Injectable()\r\nexport class RedirectBeforeGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private configurationService: AppConfigurationService\r\n ) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot) {\r\n const val: Params = route.queryParams;\r\n\r\n if (val && val['c-sig']) {\r\n return true;\r\n } else {\r\n const queryParams = { 'c-sig': this.configurationService.clientSignature };\r\n const params = { ...val, ...queryParams };\r\n this.router.navigate([Utils.getBaseRoute()], { queryParams: params, fragment: 'Q1' });\r\n return false;\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { literalConstant } from '../../constant/literal.constant';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomizedHttpService {\r\n private headers = new HttpHeaders({ 'Content-Type': 'application/json' });\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject(literalConstant.API_URL) private baseUrl: string\r\n ) {}\r\n\r\n private endPointFormater(endPoint: string, params: any[]): string {\r\n let value: string = this.baseUrl + endPoint;\r\n if (params && params.length > 0) {\r\n value = value + '/' + params.join('/');\r\n }\r\n return value;\r\n }\r\n\r\n public getByQuery(url: string, httpParams: HttpParams): Observable {\r\n return this.http.get(this.baseUrl + url, { params: httpParams, headers: this.headers }).pipe(map((resp) => resp as T));\r\n }\r\n\r\n public get(url: string, ...params: any[]): Observable {\r\n return this.http.get(this.endPointFormater(url, params), { headers: this.headers }).pipe(map((resp) => resp as T));\r\n }\r\n\r\n public getAll(url: string, ...params: any[]): Observable {\r\n return this.http.get(this.endPointFormater(url, params), { headers: this.headers }).pipe(map((resp) => resp as T[]));\r\n }\r\n\r\n public put(url: string, obj?: T, ...params: any[]): Observable {\r\n return this.http.put(this.endPointFormater(url, params), JSON.stringify(obj), { headers: this.headers }).pipe(map((resp) => resp as R));\r\n }\r\n\r\n public post(url: string, obj: Req, ...params: any[]): Observable {\r\n return this.http.post(this.endPointFormater(url, params), JSON.stringify(obj), { headers: this.headers }).pipe(map((resp) => resp as Resp));\r\n }\r\n\r\n public delete(url: string, ...params: any[]): Observable {\r\n return this.http.delete(this.endPointFormater(url, params), { headers: this.headers }).pipe(map((resp) => resp as R));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CustomizedHttpService } from '../base/customized-http.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionTrackerService {\r\n constructor(private httpService: CustomizedHttpService) {}\r\n\r\n public initSessionTracker(): Observable {\r\n return this.httpService.post('SessionTracker/InitSessionTracker', { XRefererFor: document.referrer });\r\n }\r\n\r\n public initMobileUserTracker(deviceType: string): Observable {\r\n return this.httpService.post('SessionTracker/AddMobileTracking', { deviceType: deviceType });\r\n }\r\n\r\n public validateCaptchaToken(token: string) {\r\n return this.httpService.post('tracker/validateCaptchaToken', { token: token });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DeferredConfigModel } from '../../models/start-up-config/deferred-config';\r\nimport { UrlConfigModel } from '../../models/start-up-config/initial-config.model';\r\nimport { SessionInfoModel } from '../../models/start-up-config/session-info-model';\r\nimport { CustomizedHttpService } from '../base/customized-http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StartUpConfigService {\r\n constructor(private httpService: CustomizedHttpService) {}\r\n\r\n getSessionConfig(): Observable {\r\n return this.httpService.get('Config/getSessionConfig');\r\n }\r\n\r\n getInitialConfig(): Observable {\r\n return this.httpService.get('Config/getInitialConfig');\r\n }\r\n\r\n getDeferredConfig(): Observable {\r\n return this.httpService.get('Config/getDeferredConfig');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ScriptLoaderService, StylesheetLoaderService } from 'ras-util';\r\nimport { forkJoin, take } from 'rxjs';\r\nimport { DeferredConfigModel } from '../../models/start-up-config/deferred-config';\r\nimport { UrlConfigModel } from '../../models/start-up-config/initial-config.model';\r\nimport { StartUpConfigUiService } from './start-up-config-ui.service';\r\nimport { SessionTrackerService } from '../data/session-tracker.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppStateService {\r\n private persistantStorage: Storage = sessionStorage;\r\n\r\n constructor(\r\n private startUpConfigUiService: StartUpConfigUiService,\r\n private scriptLoaderService: ScriptLoaderService,\r\n private styleLoaderService: StylesheetLoaderService,\r\n private sessionTrackerService: SessionTrackerService\r\n ) {}\r\n\r\n public initSessionTracker(): void {\r\n this.startUpConfigUiService.sessionInfo$.pipe(take(1)).subscribe({\r\n next: (sessionInfo) => {\r\n if (sessionInfo?.isNewRastreatorSession) {\r\n this.sessionTrackerService.initSessionTracker().pipe(take(1)).subscribe();\r\n }\r\n }\r\n });\r\n this.addMobileTracking();\r\n }\r\n\r\n public loadDeferredFile(): void {\r\n forkJoin([\r\n this.startUpConfigUiService.initialConfig$.pipe(take(1)),\r\n this.startUpConfigUiService.deferredConfig$.pipe(take(1))\r\n ]).subscribe(([initialConfig, deferredConfig]) => {\r\n // for performance purpose, loading additional scripts is delayed.\r\n setTimeout(() => {\r\n this.loadScripts(initialConfig, deferredConfig);\r\n this.loadStyles(initialConfig);\r\n }, 0);\r\n });\r\n }\r\n\r\n private addMobileTracking() {\r\n if (!this.persistantStorage.getItem('MobileTracking')) {\r\n if (/iPad|iPhone|iPod/.test(navigator.platform) || navigator.maxTouchPoints > 1) {\r\n this.persistantStorage.setItem('MobileTracking', 'MobileTrackingDevice');\r\n this.sessionTrackerService.initMobileUserTracker('MobileTrackingDevice').pipe(take(1)).subscribe();\r\n }\r\n }\r\n }\r\n\r\n // Load 3rd party scripts\r\n private loadScripts(urlConfig: UrlConfigModel, defferedConfig: DeferredConfigModel): void {\r\n this.scriptLoaderService\r\n .load({\r\n name: 'snap-engage',\r\n src: urlConfig?.snapEngageScriptUrl,\r\n deferred: true,\r\n asynchronous: true\r\n })\r\n .pipe(take(1))\r\n .subscribe();\r\n const isCookieBarVisible = (location.hostname.includes('seguros.es') || location.hostname.includes('segurostest.es')) ? true : (defferedConfig.isCookieBarVisible);\r\n if (isCookieBarVisible) {\r\n this.scriptLoaderService\r\n .load({\r\n name: 'cookie-consent',\r\n src: urlConfig?.cookieConsentScriptUrl,\r\n deferred: true,\r\n asynchronous: true\r\n })\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n this.startUpConfigUiService.loadConsentScript$.next(true);\r\n });\r\n }\r\n }\r\n\r\n private loadStyles(urlConfig: UrlConfigModel): void {\r\n this.styleLoaderService\r\n .load({\r\n name: 'cookie-consent',\r\n href: urlConfig?.cookieConsentStyleUrl\r\n })\r\n .pipe(take(1))\r\n .subscribe();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, map, Observable, publishLast, refCount, take } from 'rxjs';\r\nimport { DeferredConfigModel } from '../../models/start-up-config/deferred-config';\r\nimport { UrlConfigModel } from '../../models/start-up-config/initial-config.model';\r\nimport { SessionInfoModel } from '../../models/start-up-config/session-info-model';\r\nimport { StartUpConfigService } from '../data/start-up-config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StartUpConfigUiService {\r\n constructor(private startupConfig: StartUpConfigService) {}\r\n\r\n public loadConsentScript$: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n public sessionInfo$: Observable = this.startupConfig.getSessionConfig().pipe(take(1), publishLast(), refCount());\r\n\r\n public initialConfig$: Observable = this.startupConfig.getInitialConfig().pipe(take(1), publishLast(), refCount());\r\n\r\n public deferredConfig$: Observable = this.startupConfig.getDeferredConfig().pipe(take(1), publishLast(), refCount());\r\n\r\n public cmsUrl$: Observable = this.initialConfig$.pipe(map((initialConfig: any) => initialConfig.cmsUrl ?? ''));\r\n\r\n private sessionExpiryTriggeredFor: string[] = [];\r\n\r\n public sessionTrackingId$: Observable = this.sessionInfo$.pipe(map((sessionInfo: any) => (sessionInfo != null ? sessionInfo.sessionTrackingId : null)));\r\n\r\n public sessionExpiryPollingFrequency$: Observable = this.sessionInfo$.pipe(map((sessionInfo: any) => (sessionInfo != null ? sessionInfo.sessionExpiryPollingFrequency : null)));\r\n\r\n public hasSessionExpiryTriggeredFor(sessionTrackingId: string): boolean {\r\n return (\r\n this.sessionExpiryTriggeredFor.filter(function (x) {\r\n return x === sessionTrackingId;\r\n }).length > 0\r\n );\r\n }\r\n\r\n public addSessionExpiryTrigger(sessionTrackingId: string) {\r\n this.sessionExpiryTriggeredFor.push(sessionTrackingId);\r\n }\r\n\r\n public getPreloaderImageUrl(): Observable {\r\n return this.initialConfig$.pipe(map((x: any) => x.baseImageUrl + 'shared/waitimage.gif'));\r\n }\r\n\r\n public redirectToCms(): void {\r\n this.cmsUrl$.pipe(take(1)).subscribe({\r\n next: (cmsUrl: any) => {\r\n if (cmsUrl) {\r\n location.href = cmsUrl;\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","export const environment = {\r\n production: true\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { Injectable, Component, NgModule } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nimport * as ɵngcc0 from '@angular/core';\nclass CookieConsentModel {\r\n}\r\nif (false) {\r\n /** @type {?} */\r\n CookieConsentModel.prototype.IsGARefused;\r\n /** @type {?} */\r\n CookieConsentModel.prototype.IsThirdPartyRefused;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass CookieBarSettingsModel {\r\n constructor() {\r\n this.isActive = false;\r\n }\r\n ;\r\n}\r\nif (false) {\r\n /** @type {?} */\r\n CookieBarSettingsModel.prototype.isActive;\r\n /* Skipping unhandled member: ;*/\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass CookieBarService {\r\n constructor() {\r\n //To make sure that tryShow() works one and only one time only, even if called several times from client.\r\n this.isCookieBarProcessed = false;\r\n this.cookieBarCookieName = \"cookie_rst\";\r\n this.cookieBarCookieValue = \"1\";\r\n this.consentCookieName = \"CONSENT\";\r\n this.cookieBarSettingsSubject = new BehaviorSubject(null);\r\n this.cookieBarSettings$ = this.cookieBarSettingsSubject.asObservable();\r\n //depricated | cookie-bar is replaced with cookie consent\r\n this.hide = (/**\r\n * @return {?}\r\n */\r\n () => {\r\n if (!this.getCookieValue(this.cookieBarCookieName)) {\r\n this.setCookieBarCookie();\r\n }\r\n /** @type {?} */\r\n var settings = this.cookieBarSettingsSubject.getValue();\r\n settings.isActive = false;\r\n this.cookieBarSettingsSubject.next(settings);\r\n window.removeEventListener(\"click\", this.hide);\r\n return;\r\n });\r\n }\r\n /**\r\n * @private\r\n * @return {?}\r\n */\r\n get cookieBarCookieDomain() {\r\n return window.location.hostname.substr(window.location.hostname.indexOf(\".\"));\r\n }\r\n /**\r\n * @private\r\n * @return {?}\r\n */\r\n get cookieBarCookieExpirationTime() {\r\n /** @type {?} */\r\n let d = new Date();\r\n d.setTime(d.getTime() + 365 * 24 * 60 * 60 * 1000);\r\n return d;\r\n }\r\n /**\r\n * @return {?}\r\n */\r\n getCookieConsent() {\r\n return new Observable((/**\r\n * @param {?} observer\r\n * @return {?}\r\n */\r\n (observer) => {\r\n /** @type {?} */\r\n var result = (/** @type {?} */ ({ IsGARefused: false, IsThirdPartyRefused: false }));\r\n try {\r\n //cookie-consent value is pipe delimited. parse the same to javascript object.\r\n /** @type {?} */\r\n var parsePipeDelimited = (/**\r\n * @param {?} cookieValue\r\n * @return {?}\r\n */\r\n (cookieValue) => {\r\n /** @type {?} */\r\n var result = {};\r\n cookieValue.split('|').forEach((/**\r\n * @param {?} x\r\n * @return {?}\r\n */\r\n function (x) {\r\n /** @type {?} */\r\n var arr = x.split('=');\r\n arr[1] && (result[arr[0]] = arr[1]);\r\n }));\r\n return result;\r\n });\r\n /** @type {?} */\r\n var cookieConsentValue = this.getCookieValue(this.consentCookieName);\r\n if (cookieConsentValue != null && cookieConsentValue) {\r\n /** @type {?} */\r\n var cookieObject = parsePipeDelimited(cookieConsentValue);\r\n result.IsGARefused = cookieObject && cookieObject[\"ga\"] && cookieObject[\"ga\"] == \"false\";\r\n }\r\n }\r\n catch (err) {\r\n console.log(\"Error reading consent cookie.\" + err);\r\n }\r\n finally {\r\n observer.next(result);\r\n observer.complete();\r\n }\r\n }));\r\n }\r\n //depricated | cookie-bar is replaced with cookie consent\r\n /**\r\n * @return {?}\r\n */\r\n tryShowAsync() {\r\n return new Promise((/**\r\n * @param {?} resolve\r\n * @return {?}\r\n */\r\n resolve => {\r\n if (this.isCookieBarProcessed) {\r\n resolve(false);\r\n return;\r\n }\r\n else {\r\n this.isCookieBarProcessed = true;\r\n }\r\n /** @type {?} */\r\n var settings = new CookieBarSettingsModel();\r\n if (settings) {\r\n this.cookieBarSettingsSubject.next(settings);\r\n }\r\n if (this.getCookieValue(this.cookieBarCookieName)) {\r\n resolve(false);\r\n return;\r\n }\r\n else {\r\n settings.isActive = true;\r\n this.cookieBarSettingsSubject.next(settings);\r\n }\r\n window.addEventListener(\"click\", this.hide);\r\n resolve(true);\r\n return;\r\n }));\r\n }\r\n /**\r\n * @private\r\n * @return {?}\r\n */\r\n setCookieBarCookie() {\r\n /** @type {?} */\r\n let expires = this.cookieBarCookieExpirationTime.toUTCString();\r\n /** @type {?} */\r\n let domain = this.cookieBarCookieDomain;\r\n document.cookie = `${this.cookieBarCookieName}=${this.cookieBarCookieValue};expires=${expires};path=/;domain=${domain}`;\r\n }\r\n /**\r\n * @private\r\n * @param {?} cookieName\r\n * @return {?}\r\n */\r\n getCookieValue(cookieName) {\r\n /** @type {?} */\r\n let ca = document.cookie.split(';');\r\n /** @type {?} */\r\n let caLen = ca.length;\r\n /** @type {?} */\r\n let cookieNameVar = `${cookieName}=`;\r\n /** @type {?} */\r\n let c;\r\n for (let i = 0; i < caLen; i += 1) {\r\n c = ca[i].replace(/^\\s+/g, '');\r\n if (c.indexOf(cookieNameVar) == 0) {\r\n return c.substring(cookieNameVar.length, c.length);\r\n }\r\n }\r\n return null;\r\n }\r\n}\nCookieBarService.ɵfac = function CookieBarService_Factory(t) { return new (t || CookieBarService)(); };\nCookieBarService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: CookieBarService, factory: CookieBarService.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CookieBarService, [{\n type: Injectable\n }], function () { return []; }, null); })();\r\nif (false) {\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n CookieBarService.prototype.isCookieBarProcessed;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n CookieBarService.prototype.cookieBarCookieName;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n CookieBarService.prototype.cookieBarCookieValue;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n CookieBarService.prototype.consentCookieName;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n CookieBarService.prototype.cookieBarSettingsSubject;\r\n /** @type {?} */\r\n CookieBarService.prototype.cookieBarSettings$;\r\n /** @type {?} */\r\n CookieBarService.prototype.hide;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass CookieBarElementComponent {\r\n /**\r\n * @param {?} cookieBarService\r\n */\r\n constructor(cookieBarService) {\r\n this.cookieBarService = cookieBarService;\r\n this.settings = null;\r\n this.policyRelativeUrl = \"/politica-de-cookies.aspx\";\r\n }\r\n /**\r\n * @return {?}\r\n */\r\n ngOnInit() {\r\n this.cookieBarService.cookieBarSettings$.subscribe({\r\n next: (/**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n (v) => {\r\n this.settings = v;\r\n this.displayClass = this.settings && this.settings.isActive ? \"open\" : \"close\";\r\n })\r\n });\r\n }\r\n /**\r\n * @return {?}\r\n */\r\n hideCookieBar() {\r\n this.cookieBarService.hide();\r\n }\r\n}\nCookieBarElementComponent.ɵfac = function CookieBarElementComponent_Factory(t) { return new (t || CookieBarElementComponent)(ɵngcc0.ɵɵdirectiveInject(CookieBarService)); };\nCookieBarElementComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CookieBarElementComponent, selectors: [[\"cookie-bar-element\"]], decls: 13, vars: 4, consts: [[\"id\", \"cookies\"], [1, \"container\", \"flex-container\"], [1, \"col-xs-12\", \"text\"], [\"title\", \"Pol\\u00EDtica de Cookies - Rastreator.com\", \"target\", \"blank\", 3, \"href\"], [1, \"show-lg\"], [\"id\", \"btnCookiesAccept\", \"href\", \"javaScript:void(0)\", 1, \"link-cancel\", \"hidden-lg\", \"hidden-md\", \"cancel\", 3, \"click\"], [\"id\", \"btnCookiesClose\", 1, \"icon\", \"icon-cancel\", \"cancel\", 3, \"click\"]], template: function CookieBarElementComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"div\", 1)(2, \"div\", 2)(3, \"p\");\n ɵngcc0.ɵɵtext(4, \"\\u00A1Humano! En Rastreator.com utilizamos cookies propias y de terceros para personalizar tu experiencia ofreci\\u00E9ndote contenidos de tu inter\\u00E9s. Puedes tener m\\u00E1s detalles \");\n ɵngcc0.ɵɵelementStart(5, \"a\", 3);\n ɵngcc0.ɵɵtext(6, \"aqu\\u00ED\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(7, \".\");\n ɵngcc0.ɵɵelement(8, \"br\", 4);\n ɵngcc0.ɵɵtext(9, \"Entendemos que si sigues navegando, est\\u00E1s de acuerdo ;)\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(10, \"a\", 5);\n ɵngcc0.ɵɵlistener(\"click\", function CookieBarElementComponent_Template_a_click_10_listener() { return ctx.hideCookieBar(); });\n ɵngcc0.ɵɵtext(11, \"Aceptar\");\n ɵngcc0.ɵɵelementEnd()()();\n ɵngcc0.ɵɵelementStart(12, \"span\", 6);\n ɵngcc0.ɵɵlistener(\"click\", function CookieBarElementComponent_Template_span_click_12_listener() { return ctx.hideCookieBar(); });\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵclassMap(ctx.displayClass);\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵpropertyInterpolate(\"href\", ctx.policyRelativeUrl, ɵngcc0.ɵɵsanitizeUrl);\n } }, encapsulation: 2 });\r\n/** @nocollapse */\r\nCookieBarElementComponent.ctorParameters = () => [\r\n { type: CookieBarService }\r\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CookieBarElementComponent, [{\n type: Component,\n args: [{\n selector: 'cookie-bar-element',\n template: \"
\\r\\n\"\n }]\n }], function () { return [{ type: CookieBarService }]; }, null); })();\r\nif (false) {\r\n /** @type {?} */\r\n CookieBarElementComponent.prototype.settings;\r\n /** @type {?} */\r\n CookieBarElementComponent.prototype.displayClass;\r\n /** @type {?} */\r\n CookieBarElementComponent.prototype.policyRelativeUrl;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n CookieBarElementComponent.prototype.cookieBarService;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass CookieBarModule {\r\n}\nCookieBarModule.ɵfac = function CookieBarModule_Factory(t) { return new (t || CookieBarModule)(); };\nCookieBarModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CookieBarModule });\nCookieBarModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CookieBarModule, [{\n type: NgModule,\n args: [{\n declarations: [CookieBarElementComponent],\n imports: [],\n exports: [CookieBarElementComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CookieBarModule, { declarations: [CookieBarElementComponent], exports: [CookieBarElementComponent] }); })();\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\n\nexport { CookieBarElementComponent, CookieBarModule, CookieBarService, CookieConsentModel };\n\n","import { Injectable, NgModule } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nimport * as ɵngcc0 from '@angular/core';\nclass RasGtmService {\r\n constructor() {\r\n this.gtmId = \"GTM-NRC6WMJ\";\r\n this.gtmIdSeguros = \"GTM-PZ2PXB\";\r\n this.browserGlobals = {\r\n /**\r\n * @return {?}\r\n */\r\n windowRef() {\r\n return window;\r\n },\r\n /**\r\n * @return {?}\r\n */\r\n documentRef() {\r\n return document;\r\n }\r\n };\r\n this.pushOnDataLayer = (/**\r\n * @param {?} obj\r\n * @return {?}\r\n */\r\n (obj) => {\r\n return new Observable((/**\r\n * @param {?} observer\r\n * @return {?}\r\n */\r\n (observer) => {\r\n try {\r\n /** @type {?} */\r\n const dataLayer = this.getDataLayer();\r\n dataLayer.push(obj);\r\n observer.next(true);\r\n observer.complete();\r\n }\r\n catch (_a) {\r\n observer.next(false);\r\n observer.error();\r\n }\r\n }));\r\n });\r\n this.addGtmToDom = (/**\r\n * @return {?}\r\n */\r\n () => {\r\n return new Observable((/**\r\n * @param {?} observer\r\n * @return {?}\r\n */\r\n (observer) => {\r\n try {\r\n this.pushOnDataLayer({\r\n 'gtm.start': new Date().getTime(),\r\n event: 'gtm.js'\r\n }).subscribe({\r\n next: (/**\r\n * @return {?}\r\n */\r\n () => {\r\n this.addGtmToDomProcess();\r\n observer.next(true);\r\n observer.complete();\r\n })\r\n });\r\n }\r\n catch (_a) {\r\n observer.next(false);\r\n observer.error();\r\n }\r\n }));\r\n });\r\n }\r\n /**\r\n * @private\r\n * @return {?}\r\n */\r\n getDataLayer() {\r\n /** @type {?} */\r\n const window = this.browserGlobals.windowRef();\r\n window['dataLayer'] = window['dataLayer'] || [];\r\n return window['dataLayer'];\r\n }\r\n /**\r\n * @private\r\n * @return {?}\r\n */\r\n addGtmToDomProcess() {\r\n /** @type {?} */\r\n const doc = this.browserGlobals.documentRef();\r\n /** @type {?} */\r\n var gtmid = (location.hostname.includes('seguros.es') || location.hostname.includes('segurostest.es')) ? this.gtmIdSeguros : this.gtmId;\r\n /** @type {?} */\r\n const gtmScript = doc.createElement('script');\r\n gtmScript.id = 'GTMscript';\r\n gtmScript.async = true;\r\n gtmScript.src = '//www.googletagmanager.com/gtm.js?id=' + gtmid;\r\n doc.head.insertBefore(gtmScript, doc.head.firstChild);\r\n /** @type {?} */\r\n const ifrm = doc.createElement('iframe');\r\n ifrm.setAttribute('src', '//www.googletagmanager.com/ns.html?id=' + gtmid);\r\n ifrm.style.width = '0';\r\n ifrm.style.height = '0';\r\n ifrm.style.display = 'none';\r\n ifrm.style.visibility = 'hidden';\r\n /** @type {?} */\r\n const noscript = doc.createElement('noscript');\r\n noscript.id = 'GTMiframe';\r\n noscript.appendChild(ifrm);\r\n doc.body.insertBefore(noscript, doc.body.firstChild);\r\n }\r\n}\nRasGtmService.ɵfac = function RasGtmService_Factory(t) { return new (t || RasGtmService)(); };\nRasGtmService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: RasGtmService, factory: RasGtmService.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(RasGtmService, [{\n type: Injectable\n }], function () { return []; }, null); })();\r\nif (false) {\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n RasGtmService.prototype.gtmId;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n RasGtmService.prototype.gtmIdSeguros;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n RasGtmService.prototype.browserGlobals;\r\n /** @type {?} */\r\n RasGtmService.prototype.pushOnDataLayer;\r\n /** @type {?} */\r\n RasGtmService.prototype.addGtmToDom;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass RasGtmModule {\r\n}\nRasGtmModule.ɵfac = function RasGtmModule_Factory(t) { return new (t || RasGtmModule)(); };\nRasGtmModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: RasGtmModule });\nRasGtmModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(RasGtmModule, [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [],\n exports: []\n }]\n }], null, null); })();\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\n\nexport { RasGtmModule, RasGtmService };\n\n","import { Injectable, ɵɵdefineInjectable, Directive, Input, HostListener, NgModule, Inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { DOCUMENT } from '@angular/common';\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nimport * as ɵngcc0 from '@angular/core';\nclass UtilService {\r\n constructor() { }\r\n}\nUtilService.ɵfac = function UtilService_Factory(t) { return new (t || UtilService)(); };\nUtilService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: UtilService, factory: UtilService.ɵfac, providedIn: 'root' });\r\n/** @nocollapse */\r\nUtilService.ctorParameters = () => [];\r\n/** @nocollapse */ UtilService.ngInjectableDef = ɵɵdefineInjectable({ factory: function UtilService_Factory() { return new UtilService(); }, token: UtilService, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(UtilService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () { return []; }, null); })();\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass NumberInput {\r\n /**\r\n * @param {?} event\r\n * @return {?}\r\n */\r\n onKeyDown(event) {\r\n /** @type {?} */\r\n let e = (/** @type {?} */ (event));\r\n // Fallback for device not supporting KeyboardEvent.key [XCode Simulator, e.t.c]\r\n if (e != null && e.key == null && e.keyCode != null) {\r\n //numeric keycode\r\n if (e.keyCode >= 48 && e.keyCode <= 57) {\r\n return true;\r\n }\r\n }\r\n //Keys allowed for editing\r\n /** @type {?} */\r\n const allowedKeys = [\"Control\", \"Shift\", \"Tab\", \"Backspace\", \"Insert\", \"Delete\", \"Home\", \"End\", \"Escape\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\"];\r\n //Also check if key is not a NaN.\r\n if (allowedKeys.indexOf(e.key) > -1 || !isNaN(parseInt(e.key))) {\r\n return true;\r\n }\r\n else {\r\n e.preventDefault();\r\n }\r\n }\r\n}\nNumberInput.ɵfac = function NumberInput_Factory(t) { return new (t || NumberInput)(); };\nNumberInput.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NumberInput, selectors: [[\"\", \"numberInput\", \"\"]], hostBindings: function NumberInput_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"keydown\", function NumberInput_keydown_HostBindingHandler($event) { return ctx.onKeyDown($event); });\n } }, inputs: { numberInput: \"numberInput\" } });\r\nNumberInput.propDecorators = {\r\n numberInput: [{ type: Input }],\r\n onKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NumberInput, [{\n type: Directive,\n args: [{\n selector: '[numberInput]'\n }]\n }], null, { \n /**\n * @param {?} event\n * @return {?}\n */\n onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], numberInput: [{\n type: Input\n }] }); })();\r\nif (false) {\r\n /** @type {?} */\r\n NumberInput.prototype.numberInput;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass AlphaNumericInput {\r\n /**\r\n * @param {?} event\r\n * @return {?}\r\n */\r\n onKeyDown(event) {\r\n /** @type {?} */\r\n let e = (/** @type {?} */ (event));\r\n // Fallback for device not supporting KeyboardEvent.key [XCode Simulator, e.t.c]\r\n if (e != null && e.key == null && e.keyCode != null) {\r\n //numeric keycode\r\n if (e.keyCode >= 48 && e.keyCode <= 57) {\r\n return true;\r\n }\r\n //alphabet keycodes\r\n if (e.keyCode >= 65 && e.keyCode <= 90) {\r\n return true;\r\n }\r\n }\r\n //Keys allowed for editing\r\n /** @type {?} */\r\n const allowedKeys = [\"Control\", \"Shift\", \"Tab\", \"Backspace\", \"Insert\", \"Delete\", \"Home\", \"End\", \"Escape\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\"];\r\n //Also check if key is either alphabet OR !NaN\r\n if (allowedKeys.indexOf(e.key) > -1 || e.key.match(/[a-z]/i) || !isNaN(parseInt(e.key))) {\r\n return true;\r\n }\r\n else {\r\n e.preventDefault();\r\n }\r\n }\r\n}\nAlphaNumericInput.ɵfac = function AlphaNumericInput_Factory(t) { return new (t || AlphaNumericInput)(); };\nAlphaNumericInput.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: AlphaNumericInput, selectors: [[\"\", \"alphaNumericInput\", \"\"]], hostBindings: function AlphaNumericInput_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"keydown\", function AlphaNumericInput_keydown_HostBindingHandler($event) { return ctx.onKeyDown($event); });\n } }, inputs: { alphaNumericInput: \"alphaNumericInput\" } });\r\nAlphaNumericInput.propDecorators = {\r\n alphaNumericInput: [{ type: Input }],\r\n onKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AlphaNumericInput, [{\n type: Directive,\n args: [{\n selector: '[alphaNumericInput]'\n }]\n }], null, { \n /**\n * @param {?} event\n * @return {?}\n */\n onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], alphaNumericInput: [{\n type: Input\n }] }); })();\r\nif (false) {\r\n /** @type {?} */\r\n AlphaNumericInput.prototype.alphaNumericInput;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass UtilModule {\r\n}\nUtilModule.ɵfac = function UtilModule_Factory(t) { return new (t || UtilModule)(); };\nUtilModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: UtilModule });\nUtilModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(UtilModule, [{\n type: NgModule,\n args: [{\n declarations: [\n NumberInput,\n AlphaNumericInput\n ],\n imports: [],\n exports: [\n NumberInput,\n AlphaNumericInput\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(UtilModule, { declarations: [NumberInput, AlphaNumericInput], exports: [NumberInput, AlphaNumericInput] }); })();\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass EmailValidationService {\r\n /**\r\n * @param {?} email\r\n * @return {?}\r\n */\r\n isValid(email) {\r\n /** @type {?} */\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n}\nEmailValidationService.ɵfac = function EmailValidationService_Factory(t) { return new (t || EmailValidationService)(); };\nEmailValidationService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: EmailValidationService, factory: EmailValidationService.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(EmailValidationService, [{\n type: Injectable\n }], null, null); })();\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass PhoneValidationService {\r\n /**\r\n * @param {?} phone\r\n * @return {?}\r\n */\r\n isValid(phone) {\r\n if (!phone) {\r\n return false;\r\n }\r\n if (phone.length != 9) {\r\n return false;\r\n }\r\n if (isNaN(parseInt(phone))) {\r\n return false;\r\n }\r\n /** @type {?} */\r\n var firstDigit = parseInt(phone.substr(0, 1));\r\n if (firstDigit < 6 || firstDigit > 9) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\nPhoneValidationService.ɵfac = function PhoneValidationService_Factory(t) { return new (t || PhoneValidationService)(); };\nPhoneValidationService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: PhoneValidationService, factory: PhoneValidationService.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PhoneValidationService, [{\n type: Injectable\n }], null, null); })();\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass LanguageHelper {\r\n //Summary : determine wheather a character is alphabet.\r\n //works with Latin (English + Spanish), Greek, Armenian and Cyrillic scripts.\r\n //does not works with Chinese, Japanese, Arabic, Hebrew.\r\n //parameter : \"c\" - case in-sensitive character.\r\n /**\r\n * @param {?} c\r\n * @return {?}\r\n */\r\n static isAlphabet(c) {\r\n return c.toLowerCase() != c.toUpperCase();\r\n }\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass DniValidationService {\r\n constructor() {\r\n this.firstCharSubstituteArr = [{ char: 'X', sub: 0 }, { char: 'Y', sub: 1 }, { char: 'Z', sub: 2 }];\r\n this.dniValidationExpression = \"TRWAGMYFPDXBNJZSQVHLCKE\";\r\n }\r\n //Determine if DNI is Valid\r\n /**\r\n * @param {?} dni\r\n * @return {?}\r\n */\r\n isValidDni(dni) {\r\n //DNI Must be of Length 9.\r\n if (!dni || dni.length != 9) {\r\n return false;\r\n }\r\n //Work with Upper Case DNI, to remove case validation.\r\n dni = dni.toUpperCase();\r\n /** @type {?} */\r\n var lastCharacter = dni.substr(8, 1);\r\n if (!LanguageHelper.isAlphabet(lastCharacter)) {\r\n return false;\r\n }\r\n /** @type {?} */\r\n var firstCharacter = dni.substr(0, 1);\r\n /** @type {?} */\r\n var numericalPart;\r\n //Replace First Character (ifAlphabet) with its substitute numeric value.\r\n if (isNaN(Number(firstCharacter))) {\r\n /** @type {?} */\r\n var firstCharSubstitute = this.firstCharSubstituteArr.find((/**\r\n * @param {?} fcs\r\n * @return {?}\r\n */\r\n fcs => fcs.char == firstCharacter));\r\n if (!firstCharSubstitute) {\r\n return false;\r\n }\r\n numericalPart = firstCharSubstitute.sub + dni.substr(1, 7);\r\n }\r\n else {\r\n numericalPart = dni.substr(0, 8);\r\n }\r\n /** @type {?} */\r\n var numericalValue = Number(numericalPart);\r\n if (isNaN(numericalValue)) {\r\n return false;\r\n }\r\n /** @type {?} */\r\n var expectedFirstCharIndexInExpression = (numericalValue % 23);\r\n //The reminder of numeric value must be index of First character in DNI Expression.\r\n if (this.dniValidationExpression.charAt(expectedFirstCharIndexInExpression) != lastCharacter) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\nDniValidationService.ɵfac = function DniValidationService_Factory(t) { return new (t || DniValidationService)(); };\nDniValidationService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: DniValidationService, factory: DniValidationService.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DniValidationService, [{\n type: Injectable\n }], function () { return []; }, null); })();\r\nif (false) {\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n DniValidationService.prototype.firstCharSubstituteArr;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n DniValidationService.prototype.dniValidationExpression;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass ScriptItemModel {\r\n}\r\nif (false) {\r\n /** @type {?} */\r\n ScriptItemModel.prototype.name;\r\n /** @type {?} */\r\n ScriptItemModel.prototype.src;\r\n /** @type {?} */\r\n ScriptItemModel.prototype.loaded;\r\n /** @type {?} */\r\n ScriptItemModel.prototype.attachToHead;\r\n /** @type {?} */\r\n ScriptItemModel.prototype.deferred;\r\n /** @type {?} */\r\n ScriptItemModel.prototype.asynchronous;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass StylesheetItemModel {\r\n}\r\nif (false) {\r\n /** @type {?} */\r\n StylesheetItemModel.prototype.name;\r\n /** @type {?} */\r\n StylesheetItemModel.prototype.href;\r\n /** @type {?} */\r\n StylesheetItemModel.prototype.loaded;\r\n /** @type {?} */\r\n StylesheetItemModel.prototype.attachToHead;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass ScriptLoaderService {\r\n /**\r\n * @param {?} document\r\n */\r\n constructor(document) {\r\n this.document = document;\r\n this.scripts = [];\r\n }\r\n /**\r\n * @param {?} script\r\n * @return {?}\r\n */\r\n load(script) {\r\n return new Observable((/**\r\n * @param {?} observer\r\n * @return {?}\r\n */\r\n (observer) => {\r\n /** @type {?} */\r\n var existingScript = this.scripts.find((/**\r\n * @param {?} s\r\n * @return {?}\r\n */\r\n s => s.name == script.name));\r\n // Complete if already loaded\r\n if (existingScript && existingScript.loaded) {\r\n console.log('Already loaded...');\r\n observer.next(existingScript);\r\n observer.complete();\r\n }\r\n else {\r\n // Add the script\r\n this.scripts = [...this.scripts, script];\r\n // Load the script\r\n /** @type {?} */\r\n let scriptElement = this.document.createElement(\"script\");\r\n scriptElement.type = \"text/javascript\";\r\n scriptElement.src = script.src;\r\n scriptElement.defer = script.deferred;\r\n scriptElement.async = script.asynchronous;\r\n scriptElement.onload = (/**\r\n * @return {?}\r\n */\r\n () => {\r\n script.loaded = true;\r\n observer.next(script);\r\n observer.complete();\r\n });\r\n scriptElement.onerror = (/**\r\n * @param {?} error\r\n * @return {?}\r\n */\r\n (error) => {\r\n observer.error(`Couldn't load script ${script.src}\\nDetailed Error:\\n${error}`);\r\n });\r\n /** @type {?} */\r\n const attachToTagName = script.attachToHead ? 'head' : 'body';\r\n /** @type {?} */\r\n const hostElement = this.document.getElementsByTagName(attachToTagName);\r\n if (hostElement && hostElement.length && hostElement[0]) {\r\n hostElement[0].appendChild(scriptElement);\r\n }\r\n }\r\n }));\r\n }\r\n}\nScriptLoaderService.ɵfac = function ScriptLoaderService_Factory(t) { return new (t || ScriptLoaderService)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nScriptLoaderService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: ScriptLoaderService, factory: ScriptLoaderService.ɵfac });\r\n/** @nocollapse */\r\nScriptLoaderService.ctorParameters = () => [\r\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\r\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScriptLoaderService, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\r\nif (false) {\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n ScriptLoaderService.prototype.scripts;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n ScriptLoaderService.prototype.document;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\r\nclass StylesheetLoaderService {\r\n /**\r\n * @param {?} document\r\n */\r\n constructor(document) {\r\n this.document = document;\r\n this.stylesheet = [];\r\n }\r\n /**\r\n * @param {?} stylesheet\r\n * @return {?}\r\n */\r\n load(stylesheet) {\r\n return new Observable((/**\r\n * @param {?} observer\r\n * @return {?}\r\n */\r\n (observer) => {\r\n /** @type {?} */\r\n var existingStyle = this.stylesheet.find((/**\r\n * @param {?} s\r\n * @return {?}\r\n */\r\n s => s.name == stylesheet.name));\r\n // Complete if already loaded\r\n if (existingStyle && existingStyle.loaded) {\r\n console.log('Already loaded...');\r\n observer.next(existingStyle);\r\n observer.complete();\r\n }\r\n else {\r\n // Add the script\r\n this.stylesheet = [...this.stylesheet, stylesheet];\r\n // Load the script\r\n /** @type {?} */\r\n let styleElement = this.document.createElement(\"link\");\r\n styleElement.rel = \"stylesheet\";\r\n styleElement.type = \"text/css\";\r\n styleElement.href = stylesheet.href;\r\n styleElement.onload = (/**\r\n * @return {?}\r\n */\r\n () => {\r\n stylesheet.loaded = true;\r\n observer.next(stylesheet);\r\n observer.complete();\r\n });\r\n styleElement.onerror = (/**\r\n * @param {?} error\r\n * @return {?}\r\n */\r\n (error) => {\r\n observer.error(`Couldn't load stylesheet ${stylesheet.href}\\nDetailed Error:\\n${error}`);\r\n });\r\n /** @type {?} */\r\n const attachToTagName = stylesheet.attachToHead ? 'head' : 'body';\r\n /** @type {?} */\r\n const hostElement = this.document.getElementsByTagName(attachToTagName);\r\n if (hostElement && hostElement.length && hostElement[0]) {\r\n hostElement[0].appendChild(styleElement);\r\n }\r\n }\r\n }));\r\n }\r\n}\nStylesheetLoaderService.ɵfac = function StylesheetLoaderService_Factory(t) { return new (t || StylesheetLoaderService)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nStylesheetLoaderService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: StylesheetLoaderService, factory: StylesheetLoaderService.ɵfac });\r\n/** @nocollapse */\r\nStylesheetLoaderService.ctorParameters = () => [\r\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\r\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StylesheetLoaderService, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\r\nif (false) {\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n StylesheetLoaderService.prototype.stylesheet;\r\n /**\r\n * @type {?}\r\n * @private\r\n */\r\n StylesheetLoaderService.prototype.document;\r\n}\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\n\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\r\n */\n\nexport { AlphaNumericInput, DniValidationService, EmailValidationService, NumberInput, PhoneValidationService, ScriptItemModel, ScriptLoaderService, StylesheetItemModel, StylesheetLoaderService, UtilModule, UtilService };\n\n","import { Subject } from './Subject';\nexport class AsyncSubject extends Subject {\n constructor() {\n super(...arguments);\n this._value = null;\n this._hasValue = false;\n this._isComplete = false;\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, _hasValue, _value, thrownError, isStopped, _isComplete } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped || _isComplete) {\n _hasValue && subscriber.next(_value);\n subscriber.complete();\n }\n }\n next(value) {\n if (!this.isStopped) {\n this._value = value;\n this._hasValue = true;\n }\n }\n complete() {\n const { _hasValue, _value, _isComplete } = this;\n if (!_isComplete) {\n this._isComplete = true;\n _hasValue && super.next(_value);\n super.complete();\n }\n }\n}\n","import { Subject } from './Subject';\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 !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next((this._value = value));\n }\n}\n","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport class Observable {\n constructor(subscribe) {\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 subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n this._subscribe(subscriber)\n :\n this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\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 var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\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 var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { hasLift } from '../util/lift';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._subject = null;\n this._refCount = 0;\n this._connection = null;\n if (hasLift(source)) {\n this.lift = source.lift;\n }\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 _teardown() {\n this._refCount = 0;\n const { _connection } = this;\n this._subject = this._connection = null;\n _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n connection = this._connection = new Subscription();\n const subject = this.getSubject();\n connection.add(this.source.subscribe(createOperatorSubscriber(subject, undefined, () => {\n this._teardown();\n subject.complete();\n }, (err) => {\n this._teardown();\n subject.error(err);\n }, () => this._teardown())));\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}\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nimport { createObject } from '../util/createObject';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function combineLatest(...args) {\n const scheduler = popScheduler(args);\n const resultSelector = popResultSelector(args);\n const { args: observables, keys } = argsArgArrayOrObject(args);\n if (observables.length === 0) {\n return from([], scheduler);\n }\n const result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n (values) => createObject(keys, values)\n :\n identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\nexport function combineLatestInit(observables, scheduler, valueTransform = identity) {\n return (subscriber) => {\n maybeSchedule(scheduler, () => {\n const { length } = observables;\n const values = new Array(length);\n let active = length;\n let remainingFirstValues = length;\n for (let i = 0; i < length; i++) {\n maybeSchedule(scheduler, () => {\n const source = from(observables[i], scheduler);\n let hasFirstValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, () => {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n }\n }, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat(...args) {\n return concatAll()(from(args, popScheduler(args)));\n}\n","import { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\nexport function defer(observableFactory) {\n return new Observable((subscriber) => {\n innerFrom(observableFactory()).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 { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { innerFrom } from './innerFrom';\nimport { popResultSelector } from '../util/args';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { createObject } from '../util/createObject';\nexport function forkJoin(...args) {\n const resultSelector = popResultSelector(args);\n const { args: sources, keys } = argsArgArrayOrObject(args);\n const result = new Observable((subscriber) => {\n const { length } = sources;\n if (!length) {\n subscriber.complete();\n return;\n }\n const values = new Array(length);\n let remainingCompletions = length;\n let remainingEmissions = length;\n for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n let hasValue = false;\n innerFrom(sources[sourceIndex]).subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n }, () => remainingCompletions--, undefined, () => {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }));\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\n","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable((subscriber) => {\n for (const value of iterable) {\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge(...args) {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of(...args) {\n const scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from '../util/isFunction';\nexport function throwError(errorOrErrorFactory, scheduler) {\n const errorFactory = isFunction(errorOrErrorFactory) ? errorOrErrorFactory : () => errorOrErrorFactory;\n const init = (subscriber) => subscriber.error(errorFactory());\n return new Observable(scheduler ? (subscriber) => scheduler.schedule(init, 0, subscriber) : init);\n}\n","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate((source, subscriber) => {\n let innerSub = null;\n let syncUnsub = false;\n let handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, () => {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}\n","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate((source, subscriber) => {\n try {\n source.subscribe(subscriber);\n }\n finally {\n subscriber.add(callback);\n }\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 { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n","import { map } from './map';\nexport function mapTo(value) {\n return map(() => value);\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Infinity) {\n return mergeMap(identity, concurrent);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n const buffer = [];\n let active = 0;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));\n const doInnerSub = (value) => {\n expand && subscriber.next(value);\n active++;\n let innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, (innerValue) => {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, () => {\n innerComplete = true;\n }, undefined, () => {\n if (innerComplete) {\n try {\n active--;\n while (buffer.length && active < concurrent) {\n const bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, () => doInnerSub(bufferedValue));\n }\n else {\n doInnerSub(bufferedValue);\n }\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, () => {\n isComplete = true;\n checkComplete();\n }));\n return () => {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent = Infinity) {\n if (isFunction(resultSelector)) {\n return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(innerFrom(project(a, i))), concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));\n}\n","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, (value) => executeSchedule(subscriber, scheduler, () => subscriber.next(value), delay), () => executeSchedule(subscriber, scheduler, () => subscriber.complete(), delay), (err) => executeSchedule(subscriber, scheduler, () => subscriber.error(err), delay)));\n });\n}\n","import { AsyncSubject } from '../AsyncSubject';\nimport { ConnectableObservable } from '../observable/ConnectableObservable';\nexport function publishLast() {\n return (source) => {\n const subject = new AsyncSubject();\n return new ConnectableObservable(source, () => subject);\n };\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function refCount() {\n return operate((source, subscriber) => {\n let connection = null;\n source._refCount++;\n const refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, () => {\n if (!source || source._refCount <= 0 || 0 < --source._refCount) {\n connection = null;\n return;\n }\n const sharedConnection = source._connection;\n const conn = connection;\n connection = null;\n if (sharedConnection && (!conn || sharedConnection === conn)) {\n sharedConnection.unsubscribe();\n }\n subscriber.unsubscribe();\n });\n source.subscribe(refCounter);\n if (!refCounter.closed) {\n connection = source.connect();\n }\n });\n}\n","import { operate } from '../util/lift';\nimport { scanInternals } from './scanInternals';\nexport function scan(accumulator, seed) {\n return operate(scanInternals(accumulator, seed, arguments.length >= 2, true));\n}\n","import { createOperatorSubscriber } from './OperatorSubscriber';\nexport function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {\n return (source, subscriber) => {\n let hasState = hasSeed;\n let state = seed;\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const i = index++;\n state = hasState\n ?\n accumulator(state, value, i)\n :\n ((hasState = true), value);\n emitOnNext && subscriber.next(state);\n }, emitBeforeComplete &&\n (() => {\n hasState && subscriber.next(state);\n subscriber.complete();\n })));\n };\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options = {}) {\n const { connector = () => new Subject(), resetOnError = true, resetOnComplete = true, resetOnRefCountZero = true } = options;\n return (wrapperSource) => {\n let connection;\n let resetConnection;\n let subject;\n let refCount = 0;\n let hasCompleted = false;\n let hasErrored = false;\n const cancelReset = () => {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n const reset = () => {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n const resetAndUnsubscribe = () => {\n const conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate((source, subscriber) => {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n const dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(() => {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: (value) => dest.next(value),\n error: (err) => {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: () => {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on, ...args) {\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n const onSubscriber = new SafeSubscriber({\n next: () => {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return on(...args).subscribe(onSubscriber);\n}\n","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith(...values) {\n const scheduler = popScheduler(values);\n return operate((source, subscriber) => {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate((source, subscriber) => {\n let innerSubscriber = null;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n let innerIndex = 0;\n const outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), () => {\n innerSubscriber = null;\n checkComplete();\n })));\n }, () => {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n () => EMPTY\n : operate((source, subscriber) => {\n let seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeLast(count) {\n return count <= 0\n ? () => EMPTY\n : operate((source, subscriber) => {\n let buffer = [];\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n buffer.push(value);\n count < buffer.length && buffer.shift();\n }, () => {\n for (const value of buffer) {\n subscriber.next(value);\n }\n subscriber.complete();\n }, undefined, () => {\n buffer = null;\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const result = predicate(value, index++);\n (result || inclusive) && subscriber.next(value);\n !result && subscriber.complete();\n }));\n });\n}\n","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n const tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error, complete }\n : observerOrNext;\n return tapObserver\n ? operate((source, subscriber) => {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n let isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, () => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, (err) => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, () => {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, () => (hasValue ? subscriber.complete() : subscriber.error(errorFactory()))));\n });\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable((subscriber) => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable((subscriber) => {\n executeSchedule(subscriber, scheduler, () => {\n const iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, () => {\n iterator.next().then((result) => {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable((subscriber) => {\n let iterator;\n executeSchedule(subscriber, scheduler, () => {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, () => {\n let value;\n let done;\n try {\n ({ value, done } = iterator.next());\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 }\n }, 0, true);\n });\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\n","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n","import { createErrorClass } from './createErrorClass';\nexport const EmptyError = createErrorClass((_super) => function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n});\n","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n","const { isArray } = Array;\nconst { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (isArray(first)) {\n return { args: first, keys: null };\n }\n if (isPOJO(first)) {\n const keys = getKeys(first);\n return {\n args: keys.map((key) => first[key]),\n keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n","export function createObject(keys, values) {\n return keys.reduce((result, key, i) => ((result[key] = values[i]), result), {});\n}\n","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n","export function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {\n const scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n","export function identity(x) {\n return x;\n}\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n","import { __asyncGenerator, __await } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = yield __await(reader.read());\n if (done) {\n return yield __await(void 0);\n }\n yield yield __await(value);\n }\n }\n finally {\n reader.releaseLock();\n }\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n","import { map } from \"../operators/map\";\nconst { isArray } = Array;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn(...args) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(args => callOrApply(fn, args));\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 { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);\n}\n","/**\n * @license Angular v14.3.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, ɵɵinject, Inject, inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, Input, createNgModule, NgModuleRef, ɵRuntimeError, Host, Attribute, RendererStyleFlags2, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable, ɵformatRuntimeError, Renderer2, ElementRef, Injector, PLATFORM_ID, NgZone } 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: \"14.3.0\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", 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: \"14.3.0\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", 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: \"14.3.0\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]\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 may provide a {@link APP_BASE_HREF}\n * or add a `` element to the document to override the default.\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 this._baseHref = href ?? this._platformLocation.getBaseHrefFromDOM() ??\n inject(DOCUMENT).location?.origin ?? '';\n }\n /** @nodoc */\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 getState() {\n return this._platformLocation.getState();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", 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: \"14.3.0\", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PathLocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\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 /** @nodoc */\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 getState() {\n return this._platformLocation.getState();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", 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: \"14.3.0\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", 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(locationStrategy) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n /** @internal */\n this._urlChangeSubscription = null;\n this._locationStrategy = locationStrategy;\n const browserBaseHref = this._locationStrategy.getBaseHref();\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._locationStrategy.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 /** @nodoc */\n ngOnDestroy() {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeListeners = [];\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._locationStrategy.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._locationStrategy.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._locationStrategy.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._locationStrategy.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._locationStrategy.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._locationStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._locationStrategy.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._locationStrategy.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 * @returns A function that, when executed, unregisters a URL change listener.\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 return () => {\n const fnIndex = this._urlChangeListeners.indexOf(fn);\n this._urlChangeListeners.splice(fnIndex, 1);\n if (this._urlChangeListeners.length === 0) {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeSubscription = null;\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: \"14.3.0\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", 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 }]; } });\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy));\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, 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, \"₽\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"SLE\": [undefined, undefined, 2], \"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 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 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 /* ɵExtraLocaleDataIndex.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 /* ɵExtraLocaleDataIndex.ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ɵExtraLocaleDataIndex.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 /* ɵCurrencyIndex.SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* ɵCurrencyIndex.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 /* ɵCurrencyIndex.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 ? dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' :\n 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.slice(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substring(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 suppressed 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.substring(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.substring(0, pos).replace(/'/g, '');\n p.negSuf = negative.slice(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}\nNgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgLocalization, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: (locale) => new NgLocaleLocalization(locale),\n deps: [LOCALE_ID],\n }]\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: \"14.3.0\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", 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: \"14.3.0\", 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: \"14.0.0\", version: \"14.3.0\", type: NgClass, isStandalone: true, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgClass, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngClass]',\n standalone: true,\n }]\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 * * `ngComponentOutletNgModule`: Optional NgModule class reference to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * * `ngComponentOutletNgModuleFactory`: Deprecated config option that allows providing optional\n * NgModule factory to allow loading another module dynamically, then loading a component from that\n * module. Use `ngComponentOutletNgModule` instead.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized NgModule reference\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.ngComponentOutlet = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n const { _viewContainerRef: viewContainerRef, ngComponentOutletNgModule: ngModule, ngComponentOutletNgModuleFactory: ngModuleFactory, } = this;\n viewContainerRef.clear();\n this._componentRef = undefined;\n if (this.ngComponentOutlet) {\n const injector = this.ngComponentOutletInjector || viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModule'] || changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (ngModule) {\n this._moduleRef = createNgModule(ngModule, getParentInjector(injector));\n }\n else if (ngModuleFactory) {\n this._moduleRef = ngModuleFactory.create(getParentInjector(injector));\n }\n else {\n this._moduleRef = undefined;\n }\n }\n this._componentRef = viewContainerRef.createComponent(this.ngComponentOutlet, {\n index: viewContainerRef.length,\n injector,\n ngModuleRef: this._moduleRef,\n projectableNodes: this.ngComponentOutletContent,\n });\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.3.0\", type: NgComponentOutlet, isStandalone: true, selector: \"[ngComponentOutlet]\", inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModule: \"ngComponentOutletNgModule\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgComponentOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngComponentOutlet]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModule: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\n }] } });\n// Helper function that returns an Injector instance of a parent NgModule.\nfunction getParentInjector(injector) {\n const parentNgModule = injector.get(NgModuleRef);\n return parentNgModule.injector;\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 NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\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/structural-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 further discussion, see\n * [Structural Directives](guide/structural-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 (NG_DEV_MODE && 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 * @nodoc\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 if (NG_DEV_MODE) {\n try {\n // CAUTION: this logic is duplicated for production mode below, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch {\n let errorMessage = `Cannot find a differ supporting object '${value}' of type '` +\n `${getTypeName(value)}'. NgFor only supports binding to Iterables, such as Arrays.`;\n if (typeof value === 'object') {\n errorMessage += ' Did you mean to use the keyvalue pipe?';\n }\n throw new ɵRuntimeError(-2200 /* RuntimeErrorCode.NG_FOR_MISSING_DIFFER */, errorMessage);\n }\n }\n else {\n // CAUTION: this logic is duplicated for development mode above, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\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 viewContainer = this._viewContainer;\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 viewContainer.createEmbeddedView(this._template, new NgForOfContext(item.item, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n applyViewChange(view, item);\n }\n });\n for (let i = 0, ilen = viewContainer.length; i < ilen; i++) {\n const viewRef = viewContainer.get(i);\n const context = viewRef.context;\n context.index = i;\n context.count = ilen;\n context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = viewContainer.get(record.currentIndex);\n applyViewChange(viewRef, record);\n });\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: \"14.3.0\", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nNgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.3.0\", type: NgForOf, isStandalone: true, selector: \"[ngFor][ngForOf]\", inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngFor][ngForOf]',\n standalone: true,\n }]\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 }] } });\nfunction applyViewChange(view, record) {\n view.context.$implicit = record.item;\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](guide/structural-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: \"14.3.0\", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.3.0\", type: NgIf, isStandalone: true, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgIf, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngIf]',\n standalone: true,\n }]\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: \"14.3.0\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.3.0\", type: NgSwitch, isStandalone: true, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgSwitch, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitch]',\n standalone: true,\n }]\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 * @nodoc\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", 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: \"14.0.0\", version: \"14.3.0\", type: NgSwitchCase, isStandalone: true, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgSwitchCase, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitchCase]',\n standalone: true,\n }]\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: \"14.3.0\", 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: \"14.0.0\", version: \"14.3.0\", type: NgSwitchDefault, isStandalone: true, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgSwitchDefault, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitchDefault]',\n standalone: true,\n }]\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(2000 /* RuntimeErrorCode.PARENT_NG_SWITCH_NOT_FOUND */, `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: \"14.3.0\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.3.0\", type: NgPlural, isStandalone: true, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgPlural, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngPlural]',\n standalone: true,\n }]\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: \"14.3.0\", 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: \"14.0.0\", version: \"14.3.0\", type: NgPluralCase, isStandalone: true, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgPluralCase, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngPluralCase]',\n standalone: true,\n }]\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 const flags = name.indexOf('-') === -1 ? undefined : RendererStyleFlags2.DashCase;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, unit ? `${value}${unit}` : value, flags);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name, flags);\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: \"14.3.0\", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.3.0\", type: NgStyle, isStandalone: true, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgStyle, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngStyle]',\n standalone: true,\n }]\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 /** Injector to be used within the embedded view. */\n this.ngTemplateOutletInjector = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet'] || changes['ngTemplateOutletInjector']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n if (this.ngTemplateOutlet) {\n const { ngTemplateOutlet: template, ngTemplateOutletContext: context, ngTemplateOutletInjector: injector } = this;\n this._viewRef = viewContainerRef.createEmbeddedView(template, context, injector ? { injector } : undefined);\n }\n else {\n this._viewRef = null;\n }\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: \"14.3.0\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.3.0\", type: NgTemplateOutlet, isStandalone: true, selector: \"[ngTemplateOutlet]\", inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\", ngTemplateOutletInjector: \"ngTemplateOutletInjector\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgTemplateOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngTemplateOutlet]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\n }], ngTemplateOutletInjector: [{\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 new ɵRuntimeError(2100 /* RuntimeErrorCode.INVALID_PIPE_ARGUMENT */, ngDevMode && `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}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(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._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n // Assign `ref` into `this._ref` manually instead of declaring `_ref` in the constructor\n // parameter list, as the type of `this._ref` includes `null` unlike the type of `ref`.\n this._ref = ref;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n // Clear the `ChangeDetectorRef` and its association with the view data, to mitigate\n // potential memory leaks in Observables that could otherwise cause the view data to\n // be retained.\n // https://github.com/angular/angular/issues/17624\n this._ref = null;\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 // Note: `dispose` is only called if a subscription has been initialized before, indicating\n // that `this._strategy` is also available.\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 // Note: `this._ref` is only cleared in `ngOnDestroy` so is known to be available when a\n // value is being updated.\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: AsyncPipe, isStandalone: true, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: AsyncPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'async',\n pure: false,\n standalone: true,\n }]\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: \"14.3.0\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LowerCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'lowercase',\n standalone: true,\n }]\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.slice(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: TitleCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'titlecase',\n standalone: true,\n }]\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: \"14.3.0\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: UpperCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'uppercase',\n standalone: 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/**\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: \"14.3.0\", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });\nDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: DatePipe, isStandalone: true, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: DatePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'date',\n pure: true,\n standalone: true,\n }]\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 * https://unicode-org.github.io/icu/userguide/format_parse/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: \"14.3.0\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: I18nPluralPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'i18nPlural',\n pure: true,\n standalone: true,\n }]\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: \"14.3.0\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: I18nSelectPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'i18nSelect',\n pure: true,\n standalone: 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/**\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: \"14.3.0\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: JsonPipe, isStandalone: true, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JsonPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'json',\n pure: false,\n standalone: 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 */\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: \"14.3.0\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: KeyValuePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'keyvalue',\n pure: false,\n standalone: true,\n }]\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: \"14.3.0\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: DecimalPipe, isStandalone: true, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: DecimalPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'number',\n standalone: true,\n }]\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: \"14.3.0\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: PercentPipe, isStandalone: true, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PercentPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'percent',\n standalone: true,\n }]\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: \"14.3.0\", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });\nCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: CurrencyPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'currency',\n standalone: true,\n }]\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: \"14.3.0\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: SlicePipe, isStandalone: true, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: SlicePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'slice',\n pure: false,\n standalone: 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/**\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 * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: CommonModule, imports: [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: \"14.3.0\", ngImport: i0, type: CommonModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: CommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\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('14.3.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 * 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 //\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 elSelected.focus();\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 * 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// Converts a string that represents a URL into a URL class instance.\nfunction getUrl(src, win) {\n // Don't use a base URL is the URL is absolute.\n return isAbsoluteUrl(src) ? new URL(src) : new URL(src, win.location.href);\n}\n// Checks whether a URL is absolute (i.e. starts with `http://` or `https://`).\nfunction isAbsoluteUrl(src) {\n return /^https?:\\/\\//.test(src);\n}\n// Given a URL, extract the hostname part.\n// If a URL is a relative one - the URL is returned as is.\nfunction extractHostname(url) {\n return isAbsoluteUrl(url) ? (new URL(url)).hostname : url;\n}\nfunction isValidPath(path) {\n const isString = typeof path === 'string';\n if (!isString || path.trim() === '') {\n return false;\n }\n // Calling new URL() will throw if the path string is malformed\n try {\n const url = new URL(path);\n return true;\n }\n catch {\n return false;\n }\n}\nfunction normalizePath(path) {\n return path.endsWith('/') ? path.slice(0, -1) : path;\n}\nfunction normalizeSrc(src) {\n return src.startsWith('/') ? src.slice(1) : src;\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 * Noop image loader that does no transformation to the original src and just returns it as is.\n * This loader is used as a default one if more specific logic is not provided in an app config.\n *\n * @see `ImageLoader`\n * @see `NgOptimizedImage`\n */\nconst noopImageLoader = (config) => config.src;\n/**\n * Injection token that configures the image loader function.\n *\n * @see `ImageLoader`\n * @see `NgOptimizedImage`\n * @publicApi\n */\nconst IMAGE_LOADER = new InjectionToken('ImageLoader', {\n providedIn: 'root',\n factory: () => noopImageLoader,\n});\n/**\n * Internal helper function that makes it easier to introduce custom image loaders for the\n * `NgOptimizedImage` directive. It is enough to specify a URL builder function to obtain full DI\n * configuration for a given loader: a DI token corresponding to the actual loader function, plus DI\n * tokens managing preconnect check functionality.\n * @param buildUrlFn a function returning a full URL based on loader's configuration\n * @param exampleUrls example of full URLs for a given loader (used in error messages)\n * @returns a set of DI providers corresponding to the configured image loader\n */\nfunction createImageLoader(buildUrlFn, exampleUrls) {\n return function provideImageLoader(path) {\n if (!isValidPath(path)) {\n throwInvalidPathError(path, exampleUrls || []);\n }\n // The trailing / is stripped (if provided) to make URL construction (concatenation) easier in\n // the individual loader functions.\n path = normalizePath(path);\n const loaderFn = (config) => {\n if (isAbsoluteUrl(config.src)) {\n // Image loader functions expect an image file name (e.g. `my-image.png`)\n // or a relative path + a file name (e.g. `/a/b/c/my-image.png`) as an input,\n // so the final absolute URL can be constructed.\n // When an absolute URL is provided instead - the loader can not\n // build a final URL, thus the error is thrown to indicate that.\n throwUnexpectedAbsoluteUrlError(path, config.src);\n }\n return buildUrlFn(path, { ...config, src: normalizeSrc(config.src) });\n };\n const providers = [{ provide: IMAGE_LOADER, useValue: loaderFn }];\n return providers;\n };\n}\nfunction throwInvalidPathError(path, exampleUrls) {\n throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&\n `Image loader has detected an invalid path (\\`${path}\\`). ` +\n `To fix this, supply a path using one of the following formats: ${exampleUrls.join(' or ')}`);\n}\nfunction throwUnexpectedAbsoluteUrlError(path, url) {\n throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&\n `Image loader has detected a \\`\\` tag with an invalid \\`ngSrc\\` attribute: ${url}. ` +\n `This image loader expects \\`ngSrc\\` to be a relative URL - ` +\n `however the provided value is an absolute URL. ` +\n `To fix this, provide \\`ngSrc\\` as a path relative to the base URL ` +\n `configured for this loader (\\`${path}\\`).`);\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 * Function that generates an ImageLoader for [Cloudflare Image\n * Resizing](https://developers.cloudflare.com/images/image-resizing/) and turns it into an Angular\n * provider. Note: Cloudflare has multiple image products - this provider is specifically for\n * Cloudflare Image Resizing; it will not work with Cloudflare Images or Cloudflare Polish.\n *\n * @param path Your domain name, e.g. https://mysite.com\n * @returns Provider that provides an ImageLoader function\n *\n * @publicApi\n */\nconst provideCloudflareLoader = createImageLoader(createCloudflareUrl, ngDevMode ? ['https:///cdn-cgi/image//'] : undefined);\nfunction createCloudflareUrl(path, config) {\n let params = `format=auto`;\n if (config.width) {\n params += `,width=${config.width}`;\n }\n // Cloudflare image URLs format:\n // https://developers.cloudflare.com/images/image-resizing/url-format/\n return `${path}/cdn-cgi/image/${params}/${config.src}`;\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 * Name and URL tester for Cloudinary.\n */\nconst cloudinaryLoaderInfo = {\n name: 'Cloudinary',\n testUrl: isCloudinaryUrl\n};\nconst CLOUDINARY_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.cloudinary\\.com\\/.+/;\n/**\n * Tests whether a URL is from Cloudinary CDN.\n */\nfunction isCloudinaryUrl(url) {\n return CLOUDINARY_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Cloudinary and turns it into an Angular provider.\n *\n * @param path Base URL of your Cloudinary images\n * This URL should match one of the following formats:\n * https://res.cloudinary.com/mysite\n * https://mysite.cloudinary.com\n * https://subdomain.mysite.com\n * @returns Set of providers to configure the Cloudinary loader.\n *\n * @publicApi\n */\nconst provideCloudinaryLoader = createImageLoader(createCloudinaryUrl, ngDevMode ?\n [\n 'https://res.cloudinary.com/mysite', 'https://mysite.cloudinary.com',\n 'https://subdomain.mysite.com'\n ] :\n undefined);\nfunction createCloudinaryUrl(path, config) {\n // Cloudinary image URLformat:\n // https://cloudinary.com/documentation/image_transformations#transformation_url_structure\n // Example of a Cloudinary image URL:\n // https://res.cloudinary.com/mysite/image/upload/c_scale,f_auto,q_auto,w_600/marketing/tile-topics-m.png\n let params = `f_auto,q_auto`; // sets image format and quality to \"auto\"\n if (config.width) {\n params += `,w_${config.width}`;\n }\n return `${path}/image/upload/${params}/${config.src}`;\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 * Name and URL tester for ImageKit.\n */\nconst imageKitLoaderInfo = {\n name: 'ImageKit',\n testUrl: isImageKitUrl\n};\nconst IMAGE_KIT_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.imagekit\\.io\\/.+/;\n/**\n * Tests whether a URL is from ImageKit CDN.\n */\nfunction isImageKitUrl(url) {\n return IMAGE_KIT_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for ImageKit and turns it into an Angular provider.\n *\n * @param path Base URL of your ImageKit images\n * This URL should match one of the following formats:\n * https://ik.imagekit.io/myaccount\n * https://subdomain.mysite.com\n * @returns Set of providers to configure the ImageKit loader.\n *\n * @publicApi\n */\nconst provideImageKitLoader = createImageLoader(createImagekitUrl, ngDevMode ? ['https://ik.imagekit.io/mysite', 'https://subdomain.mysite.com'] : undefined);\nfunction createImagekitUrl(path, config) {\n // Example of an ImageKit image URL:\n // https://ik.imagekit.io/demo/tr:w-300,h-300/medium_cafe_B1iTdD0C.jpg\n let params = `tr:q-auto`; // applies the \"auto quality\" transformation\n if (config.width) {\n params += `,w-${config.width}`;\n }\n return `${path}/${params}/${config.src}`;\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 * Name and URL tester for Imgix.\n */\nconst imgixLoaderInfo = {\n name: 'Imgix',\n testUrl: isImgixUrl\n};\nconst IMGIX_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.imgix\\.net\\/.+/;\n/**\n * Tests whether a URL is from Imgix CDN.\n */\nfunction isImgixUrl(url) {\n return IMGIX_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Imgix and turns it into an Angular provider.\n *\n * @param path path to the desired Imgix origin,\n * e.g. https://somepath.imgix.net or https://images.mysite.com\n * @returns Set of providers to configure the Imgix loader.\n *\n * @publicApi\n */\nconst provideImgixLoader = createImageLoader(createImgixUrl, ngDevMode ? ['https://somepath.imgix.net/'] : undefined);\nfunction createImgixUrl(path, config) {\n const url = new URL(`${path}/${config.src}`);\n // This setting ensures the smallest allowable format is set.\n url.searchParams.set('auto', 'format');\n if (config.width) {\n url.searchParams.set('w', config.width.toString());\n }\n return url.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// Assembles directive details string, useful for error messages.\nfunction imgDirectiveDetails(ngSrc, includeNgSrc = true) {\n const ngSrcInfo = includeNgSrc ? `(activated on an element with the \\`ngSrc=\"${ngSrc}\"\\`) ` : '';\n return `The NgOptimizedImage directive ${ngSrcInfo}has detected that`;\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 * Asserts that the application is in development mode. Throws an error if the application is in\n * production mode. This assert can be used to make sure that there is no dev-mode code invoked in\n * the prod mode accidentally.\n */\nfunction assertDevMode(checkName) {\n if (!ngDevMode) {\n throw new ɵRuntimeError(2958 /* RuntimeErrorCode.UNEXPECTED_DEV_MODE_CHECK_IN_PROD_MODE */, `Unexpected invocation of the ${checkName} in the prod mode. ` +\n `Please make sure that the prod mode is enabled for production builds.`);\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 * Observer that detects whether an image with `NgOptimizedImage`\n * is treated as a Largest Contentful Paint (LCP) element. If so,\n * asserts that the image has the `priority` attribute.\n *\n * Note: this is a dev-mode only class and it does not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n *\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript.\n */\nclass LCPImageObserver {\n constructor() {\n // Map of full image URLs -> original `ngSrc` values.\n this.images = new Map();\n // Keep track of images for which `console.warn` was produced.\n this.alreadyWarned = new Set();\n this.window = null;\n this.observer = null;\n assertDevMode('LCP checker');\n const win = inject(DOCUMENT).defaultView;\n if (typeof win !== 'undefined' && typeof PerformanceObserver !== 'undefined') {\n this.window = win;\n this.observer = this.initPerformanceObserver();\n }\n }\n /**\n * Inits PerformanceObserver and subscribes to LCP events.\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript\n */\n initPerformanceObserver() {\n const observer = new PerformanceObserver((entryList) => {\n const entries = entryList.getEntries();\n if (entries.length === 0)\n return;\n // We use the latest entry produced by the `PerformanceObserver` as the best\n // signal on which element is actually an LCP one. As an example, the first image to load on\n // a page, by virtue of being the only thing on the page so far, is often a LCP candidate\n // and gets reported by PerformanceObserver, but isn't necessarily the LCP element.\n const lcpElement = entries[entries.length - 1];\n // Cast to `any` due to missing `element` on the `LargestContentfulPaint` type of entry.\n // See https://developer.mozilla.org/en-US/docs/Web/API/LargestContentfulPaint\n const imgSrc = lcpElement.element?.src ?? '';\n // Exclude `data:` and `blob:` URLs, since they are not supported by the directive.\n if (imgSrc.startsWith('data:') || imgSrc.startsWith('blob:'))\n return;\n const imgNgSrc = this.images.get(imgSrc);\n if (imgNgSrc && !this.alreadyWarned.has(imgSrc)) {\n this.alreadyWarned.add(imgSrc);\n logMissingPriorityWarning(imgSrc);\n }\n });\n observer.observe({ type: 'largest-contentful-paint', buffered: true });\n return observer;\n }\n registerImage(rewrittenSrc, originalNgSrc) {\n if (!this.observer)\n return;\n this.images.set(getUrl(rewrittenSrc, this.window).href, originalNgSrc);\n }\n unregisterImage(rewrittenSrc) {\n if (!this.observer)\n return;\n this.images.delete(getUrl(rewrittenSrc, this.window).href);\n }\n ngOnDestroy() {\n if (!this.observer)\n return;\n this.observer.disconnect();\n this.images.clear();\n this.alreadyWarned.clear();\n }\n}\nLCPImageObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: LCPImageObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\nfunction logMissingPriorityWarning(ngSrc) {\n const directiveDetails = imgDirectiveDetails(ngSrc);\n console.warn(ɵformatRuntimeError(2955 /* RuntimeErrorCode.LCP_IMG_MISSING_PRIORITY */, `${directiveDetails} this image is the Largest Contentful Paint (LCP) ` +\n `element but was not marked \"priority\". This image should be marked ` +\n `\"priority\" in order to prioritize its loading. ` +\n `To fix this, add the \"priority\" attribute.`));\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// Set of origins that are always excluded from the preconnect checks.\nconst INTERNAL_PRECONNECT_CHECK_BLOCKLIST = new Set(['localhost', '127.0.0.1', '0.0.0.0']);\n/**\n * Injection token to configure which origins should be excluded\n * from the preconnect checks. It can either be a single string or an array of strings\n * to represent a group of origins, for example:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST, useValue: 'https://your-domain.com'}\n * ```\n *\n * or:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST,\n * useValue: ['https://your-domain-1.com', 'https://your-domain-2.com']}\n * ```\n *\n * @publicApi\n */\nconst PRECONNECT_CHECK_BLOCKLIST = new InjectionToken('PRECONNECT_CHECK_BLOCKLIST');\n/**\n * Contains the logic to detect whether an image, marked with the \"priority\" attribute\n * has a corresponding `` tag in the `document.head`.\n *\n * Note: this is a dev-mode only class, which should not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n */\nclass PreconnectLinkChecker {\n constructor() {\n this.document = inject(DOCUMENT);\n /**\n * Set of tags found on this page.\n * The `null` value indicates that there was no DOM query operation performed.\n */\n this.preconnectLinks = null;\n /*\n * Keep track of all already seen origin URLs to avoid repeating the same check.\n */\n this.alreadySeen = new Set();\n this.window = null;\n this.blocklist = new Set(INTERNAL_PRECONNECT_CHECK_BLOCKLIST);\n assertDevMode('preconnect link checker');\n const win = this.document.defaultView;\n if (typeof win !== 'undefined') {\n this.window = win;\n }\n const blocklist = inject(PRECONNECT_CHECK_BLOCKLIST, { optional: true });\n if (blocklist) {\n this.populateBlocklist(blocklist);\n }\n }\n populateBlocklist(origins) {\n if (Array.isArray(origins)) {\n deepForEach(origins, origin => {\n this.blocklist.add(extractHostname(origin));\n });\n }\n else {\n this.blocklist.add(extractHostname(origins));\n }\n }\n /**\n * Checks that a preconnect resource hint exists in the head for the\n * given src.\n *\n * @param rewrittenSrc src formatted with loader\n * @param originalNgSrc ngSrc value\n */\n assertPreconnect(rewrittenSrc, originalNgSrc) {\n if (!this.window)\n return;\n const imgUrl = getUrl(rewrittenSrc, this.window);\n if (this.blocklist.has(imgUrl.hostname) || this.alreadySeen.has(imgUrl.origin))\n return;\n // Register this origin as seen, so we don't check it again later.\n this.alreadySeen.add(imgUrl.origin);\n if (!this.preconnectLinks) {\n // Note: we query for preconnect links only *once* and cache the results\n // for the entire lifespan of an application, since it's unlikely that the\n // list would change frequently. This allows to make sure there are no\n // performance implications of making extra DOM lookups for each image.\n this.preconnectLinks = this.queryPreconnectLinks();\n }\n if (!this.preconnectLinks.has(imgUrl.origin)) {\n console.warn(ɵformatRuntimeError(2956 /* RuntimeErrorCode.PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails(originalNgSrc)} there is no preconnect tag present for this ` +\n `image. Preconnecting to the origin(s) that serve priority images ensures that these ` +\n `images are delivered as soon as possible. To fix this, please add the following ` +\n `element into the of the document:\\n` +\n ` `));\n }\n }\n queryPreconnectLinks() {\n const preconnectUrls = new Set();\n const selector = 'link[rel=preconnect]';\n const links = Array.from(this.document.querySelectorAll(selector));\n for (let link of links) {\n const url = getUrl(link.href, this.window);\n preconnectUrls.add(url.origin);\n }\n return preconnectUrls;\n }\n ngOnDestroy() {\n this.preconnectLinks?.clear();\n this.alreadySeen.clear();\n }\n}\nPreconnectLinkChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PreconnectLinkChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\n/**\n * Invokes a callback for each element in the array. Also invokes a callback\n * recursively for each nested array.\n */\nfunction deepForEach(input, fn) {\n for (let value of input) {\n Array.isArray(value) ? deepForEach(value, fn) : fn(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 */\n/**\n * In SSR scenarios, a preload `` element is generated for priority images.\n * Having a large number of preload tags may negatively affect the performance,\n * so we warn developers (by throwing an error) if the number of preloaded images\n * is above a certain threshold. This const specifies this threshold.\n */\nconst DEFAULT_PRELOADED_IMAGES_LIMIT = 5;\n/**\n * Helps to keep track of priority images that already have a corresponding\n * preload tag (to avoid generating multiple preload tags with the same URL).\n *\n * This Set tracks the original src passed into the `ngSrc` input not the src after it has been\n * run through the specified `IMAGE_LOADER`.\n */\nconst PRELOADED_IMAGES = new InjectionToken('NG_OPTIMIZED_PRELOADED_IMAGES', { providedIn: 'root', factory: () => new Set() });\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 Contains the logic needed to track and add preload link tags to the `` tag. It\n * will also track what images have already had preload link tags added so as to not duplicate link\n * tags.\n *\n * In dev mode this service will validate that the number of preloaded images does not exceed the\n * configured default preloaded images limit: {@link DEFAULT_PRELOADED_IMAGES_LIMIT}.\n */\nclass PreloadLinkCreator {\n constructor() {\n this.preloadedImages = inject(PRELOADED_IMAGES);\n this.document = inject(DOCUMENT);\n }\n /**\n * @description Add a preload `` to the `` of the `index.html` that is served from the\n * server while using Angular Universal and SSR to kick off image loads for high priority images.\n *\n * The `sizes` (passed in from the user) and `srcset` (parsed and formatted from `ngSrcset`)\n * properties used to set the corresponding attributes, `imagesizes` and `imagesrcset`\n * respectively, on the preload `` tag so that the correctly sized image is preloaded from\n * the CDN.\n *\n * {@link https://web.dev/preload-responsive-images/#imagesrcset-and-imagesizes}\n *\n * @param renderer The `Renderer2` passed in from the directive\n * @param src The original src of the image that is set on the `ngSrc` input.\n * @param srcset The parsed and formatted srcset created from the `ngSrcset` input\n * @param sizes The value of the `sizes` attribute passed in to the `` tag\n */\n createPreloadLinkTag(renderer, src, srcset, sizes) {\n if (ngDevMode) {\n if (this.preloadedImages.size >= DEFAULT_PRELOADED_IMAGES_LIMIT) {\n throw new ɵRuntimeError(2961 /* RuntimeErrorCode.TOO_MANY_PRELOADED_IMAGES */, ngDevMode &&\n `The \\`NgOptimizedImage\\` directive has detected that more than ` +\n `${DEFAULT_PRELOADED_IMAGES_LIMIT} images were marked as priority. ` +\n `This might negatively affect an overall performance of the page. ` +\n `To fix this, remove the \"priority\" attribute from images with less priority.`);\n }\n }\n if (this.preloadedImages.has(src)) {\n return;\n }\n this.preloadedImages.add(src);\n const preload = renderer.createElement('link');\n renderer.setAttribute(preload, 'as', 'image');\n renderer.setAttribute(preload, 'href', src);\n renderer.setAttribute(preload, 'rel', 'preload');\n renderer.setAttribute(preload, 'fetchpriority', 'high');\n if (sizes) {\n renderer.setAttribute(preload, 'imageSizes', sizes);\n }\n if (srcset) {\n renderer.setAttribute(preload, 'imageSrcset', srcset);\n }\n renderer.appendChild(this.document.head, preload);\n }\n}\nPreloadLinkCreator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPreloadLinkCreator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: PreloadLinkCreator, 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 * When a Base64-encoded image is passed as an input to the `NgOptimizedImage` directive,\n * an error is thrown. The image content (as a string) might be very long, thus making\n * it hard to read an error message if the entire string is included. This const defines\n * the number of characters that should be included into the error message. The rest\n * of the content is truncated.\n */\nconst BASE64_IMG_MAX_LENGTH_IN_ERROR = 50;\n/**\n * RegExpr to determine whether a src in a srcset is using width descriptors.\n * Should match something like: \"100w, 200w\".\n */\nconst VALID_WIDTH_DESCRIPTOR_SRCSET = /^((\\s*\\d+w\\s*(,|$)){1,})$/;\n/**\n * RegExpr to determine whether a src in a srcset is using density descriptors.\n * Should match something like: \"1x, 2x, 50x\". Also supports decimals like \"1.5x, 1.50x\".\n */\nconst VALID_DENSITY_DESCRIPTOR_SRCSET = /^((\\s*\\d+(\\.\\d+)?x\\s*(,|$)){1,})$/;\n/**\n * Srcset values with a density descriptor higher than this value will actively\n * throw an error. Such densities are not permitted as they cause image sizes\n * to be unreasonably large and slow down LCP.\n */\nconst ABSOLUTE_SRCSET_DENSITY_CAP = 3;\n/**\n * Used only in error message text to communicate best practices, as we will\n * only throw based on the slightly more conservative ABSOLUTE_SRCSET_DENSITY_CAP.\n */\nconst RECOMMENDED_SRCSET_DENSITY_CAP = 2;\n/**\n * Used in generating automatic density-based srcsets\n */\nconst DENSITY_SRCSET_MULTIPLIERS = [1, 2];\n/**\n * Used to determine which breakpoints to use on full-width images\n */\nconst VIEWPORT_BREAKPOINT_CUTOFF = 640;\n/**\n * Used to determine whether two aspect ratios are similar in value.\n */\nconst ASPECT_RATIO_TOLERANCE = .1;\n/**\n * Used to determine whether the image has been requested at an overly\n * large size compared to the actual rendered image size (after taking\n * into account a typical device pixel ratio). In pixels.\n */\nconst OVERSIZED_IMAGE_TOLERANCE = 1000;\n/**\n * Used to limit automatic srcset generation of very large sources for\n * fixed-size images. In pixels.\n */\nconst FIXED_SRCSET_WIDTH_LIMIT = 1920;\nconst FIXED_SRCSET_HEIGHT_LIMIT = 1080;\n/** Info about built-in loaders we can test for. */\nconst BUILT_IN_LOADERS = [imgixLoaderInfo, imageKitLoaderInfo, cloudinaryLoaderInfo];\nconst defaultConfig = {\n breakpoints: [16, 32, 48, 64, 96, 128, 256, 384, 640, 750, 828, 1080, 1200, 1920, 2048, 3840],\n};\n/**\n * Injection token that configures the image optimized image functionality.\n *\n * @see `NgOptimizedImage`\n * @publicApi\n * @developerPreview\n */\nconst IMAGE_CONFIG = new InjectionToken('ImageConfig', { providedIn: 'root', factory: () => defaultConfig });\n/**\n * Directive that improves image loading performance by enforcing best practices.\n *\n * `NgOptimizedImage` ensures that the loading of the Largest Contentful Paint (LCP) image is\n * prioritized by:\n * - Automatically setting the `fetchpriority` attribute on the `` tag\n * - Lazy loading non-priority images by default\n * - Asserting that there is a corresponding preconnect link tag in the document head\n *\n * In addition, the directive:\n * - Generates appropriate asset URLs if a corresponding `ImageLoader` function is provided\n * - Automatically generates a srcset\n * - Requires that `width` and `height` are set\n * - Warns if `width` or `height` have been set incorrectly\n * - Warns if the image will be visually distorted when rendered\n *\n * @usageNotes\n * The `NgOptimizedImage` directive is marked as [standalone](guide/standalone-components) and can\n * be imported directly.\n *\n * Follow the steps below to enable and use the directive:\n * 1. Import it into the necessary NgModule or a standalone Component.\n * 2. Optionally provide an `ImageLoader` if you use an image hosting service.\n * 3. Update the necessary `` tags in templates and replace `src` attributes with `ngSrc`.\n * Using a `ngSrc` allows the directive to control when the `src` gets set, which triggers an image\n * download.\n *\n * Step 1: import the `NgOptimizedImage` directive.\n *\n * ```typescript\n * import { NgOptimizedImage } from '@angular/common';\n *\n * // Include it into the necessary NgModule\n * @NgModule({\n * imports: [NgOptimizedImage],\n * })\n * class AppModule {}\n *\n * // ... or a standalone Component\n * @Component({\n * standalone: true\n * imports: [NgOptimizedImage],\n * })\n * class MyStandaloneComponent {}\n * ```\n *\n * Step 2: configure a loader.\n *\n * To use the **default loader**: no additional code changes are necessary. The URL returned by the\n * generic loader will always match the value of \"src\". In other words, this loader applies no\n * transformations to the resource URL and the value of the `ngSrc` attribute will be used as is.\n *\n * To use an existing loader for a **third-party image service**: add the provider factory for your\n * chosen service to the `providers` array. In the example below, the Imgix loader is used:\n *\n * ```typescript\n * import {provideImgixLoader} from '@angular/common';\n *\n * // Call the function and add the result to the `providers` array:\n * providers: [\n * provideImgixLoader(\"https://my.base.url/\"),\n * ],\n * ```\n *\n * The `NgOptimizedImage` directive provides the following functions:\n * - `provideCloudflareLoader`\n * - `provideCloudinaryLoader`\n * - `provideImageKitLoader`\n * - `provideImgixLoader`\n *\n * If you use a different image provider, you can create a custom loader function as described\n * below.\n *\n * To use a **custom loader**: provide your loader function as a value for the `IMAGE_LOADER` DI\n * token.\n *\n * ```typescript\n * import {IMAGE_LOADER, ImageLoaderConfig} from '@angular/common';\n *\n * // Configure the loader using the `IMAGE_LOADER` token.\n * providers: [\n * {\n * provide: IMAGE_LOADER,\n * useValue: (config: ImageLoaderConfig) => {\n * return `https://example.com/${config.src}-${config.width}.jpg}`;\n * }\n * },\n * ],\n * ```\n *\n * Step 3: update `` tags in templates to use `ngSrc` instead of `src`.\n *\n * ```\n * \n * ```\n *\n * @publicApi\n */\nclass NgOptimizedImage {\n constructor() {\n this.imageLoader = inject(IMAGE_LOADER);\n this.config = processConfig(inject(IMAGE_CONFIG));\n this.renderer = inject(Renderer2);\n this.imgElement = inject(ElementRef).nativeElement;\n this.injector = inject(Injector);\n this.isServer = isPlatformServer(inject(PLATFORM_ID));\n this.preloadLinkChecker = inject(PreloadLinkCreator);\n // a LCP image observer - should be injected only in the dev mode\n this.lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;\n /**\n * Calculate the rewritten `src` once and store it.\n * This is needed to avoid repetitive calculations and make sure the directive cleanup in the\n * `ngOnDestroy` does not rely on the `IMAGE_LOADER` logic (which in turn can rely on some other\n * instance that might be already destroyed).\n */\n this._renderedSrc = null;\n this._priority = false;\n this._disableOptimizedSrcset = false;\n this._fill = false;\n }\n /**\n * For responsive images: the intrinsic width of the image in pixels.\n * For fixed size images: the desired rendered width of the image in pixels.\n */\n set width(value) {\n ngDevMode && assertGreaterThanZero(this, value, 'width');\n this._width = inputToInteger(value);\n }\n get width() {\n return this._width;\n }\n /**\n * For responsive images: the intrinsic height of the image in pixels.\n * For fixed size images: the desired rendered height of the image in pixels.* The intrinsic\n * height of the image in pixels.\n */\n set height(value) {\n ngDevMode && assertGreaterThanZero(this, value, 'height');\n this._height = inputToInteger(value);\n }\n get height() {\n return this._height;\n }\n /**\n * Indicates whether this image should have a high priority.\n */\n set priority(value) {\n this._priority = inputToBoolean(value);\n }\n get priority() {\n return this._priority;\n }\n /**\n * Disables automatic srcset generation for this image.\n */\n set disableOptimizedSrcset(value) {\n this._disableOptimizedSrcset = inputToBoolean(value);\n }\n get disableOptimizedSrcset() {\n return this._disableOptimizedSrcset;\n }\n /**\n * Sets the image to \"fill mode\", which eliminates the height/width requirement and adds\n * styles such that the image fills its containing element.\n *\n * @developerPreview\n */\n set fill(value) {\n this._fill = inputToBoolean(value);\n }\n get fill() {\n return this._fill;\n }\n /** @nodoc */\n ngOnInit() {\n if (ngDevMode) {\n assertNonEmptyInput(this, 'ngSrc', this.ngSrc);\n assertValidNgSrcset(this, this.ngSrcset);\n assertNoConflictingSrc(this);\n if (this.ngSrcset) {\n assertNoConflictingSrcset(this);\n }\n assertNotBase64Image(this);\n assertNotBlobUrl(this);\n if (this.fill) {\n assertEmptyWidthAndHeight(this);\n assertNonZeroRenderedHeight(this, this.imgElement, this.renderer);\n }\n else {\n assertNonEmptyWidthAndHeight(this);\n // Only check for distorted images when not in fill mode, where\n // images may be intentionally stretched, cropped or letterboxed.\n assertNoImageDistortion(this, this.imgElement, this.renderer);\n }\n assertValidLoadingInput(this);\n if (!this.ngSrcset) {\n assertNoComplexSizes(this);\n }\n assertNotMissingBuiltInLoader(this.ngSrc, this.imageLoader);\n assertNoNgSrcsetWithoutLoader(this, this.imageLoader);\n assertNoLoaderParamsWithoutLoader(this, this.imageLoader);\n if (this.priority) {\n const checker = this.injector.get(PreconnectLinkChecker);\n checker.assertPreconnect(this.getRewrittenSrc(), this.ngSrc);\n }\n else {\n // Monitor whether an image is an LCP element only in case\n // the `priority` attribute is missing. Otherwise, an image\n // has the necessary settings and no extra checks are required.\n if (this.lcpObserver !== null) {\n const ngZone = this.injector.get(NgZone);\n ngZone.runOutsideAngular(() => {\n this.lcpObserver.registerImage(this.getRewrittenSrc(), this.ngSrc);\n });\n }\n }\n }\n this.setHostAttributes();\n }\n setHostAttributes() {\n // Must set width/height explicitly in case they are bound (in which case they will\n // only be reflected and not found by the browser)\n if (this.fill) {\n if (!this.sizes) {\n this.sizes = '100vw';\n }\n }\n else {\n this.setHostAttribute('width', this.width.toString());\n this.setHostAttribute('height', this.height.toString());\n }\n this.setHostAttribute('loading', this.getLoadingBehavior());\n this.setHostAttribute('fetchpriority', this.getFetchPriority());\n // The `data-ng-img` attribute flags an image as using the directive, to allow\n // for analysis of the directive's performance.\n this.setHostAttribute('ng-img', 'true');\n // The `src` and `srcset` attributes should be set last since other attributes\n // could affect the image's loading behavior.\n const rewrittenSrc = this.getRewrittenSrc();\n this.setHostAttribute('src', rewrittenSrc);\n let rewrittenSrcset = undefined;\n if (this.sizes) {\n this.setHostAttribute('sizes', this.sizes);\n }\n if (this.ngSrcset) {\n rewrittenSrcset = this.getRewrittenSrcset();\n }\n else if (this.shouldGenerateAutomaticSrcset()) {\n rewrittenSrcset = this.getAutomaticSrcset();\n }\n if (rewrittenSrcset) {\n this.setHostAttribute('srcset', rewrittenSrcset);\n }\n if (this.isServer && this.priority) {\n this.preloadLinkChecker.createPreloadLinkTag(this.renderer, rewrittenSrc, rewrittenSrcset, this.sizes);\n }\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (ngDevMode) {\n assertNoPostInitInputChange(this, changes, [\n 'ngSrc',\n 'ngSrcset',\n 'width',\n 'height',\n 'priority',\n 'fill',\n 'loading',\n 'sizes',\n 'loaderParams',\n 'disableOptimizedSrcset',\n ]);\n }\n }\n callImageLoader(configWithoutCustomParams) {\n let augmentedConfig = configWithoutCustomParams;\n if (this.loaderParams) {\n augmentedConfig.loaderParams = this.loaderParams;\n }\n return this.imageLoader(augmentedConfig);\n }\n getLoadingBehavior() {\n if (!this.priority && this.loading !== undefined) {\n return this.loading;\n }\n return this.priority ? 'eager' : 'lazy';\n }\n getFetchPriority() {\n return this.priority ? 'high' : 'auto';\n }\n getRewrittenSrc() {\n // ImageLoaderConfig supports setting a width property. However, we're not setting width here\n // because if the developer uses rendered width instead of intrinsic width in the HTML width\n // attribute, the image requested may be too small for 2x+ screens.\n if (!this._renderedSrc) {\n const imgConfig = { src: this.ngSrc };\n // Cache calculated image src to reuse it later in the code.\n this._renderedSrc = this.callImageLoader(imgConfig);\n }\n return this._renderedSrc;\n }\n getRewrittenSrcset() {\n const widthSrcSet = VALID_WIDTH_DESCRIPTOR_SRCSET.test(this.ngSrcset);\n const finalSrcs = this.ngSrcset.split(',').filter(src => src !== '').map(srcStr => {\n srcStr = srcStr.trim();\n const width = widthSrcSet ? parseFloat(srcStr) : parseFloat(srcStr) * this.width;\n return `${this.callImageLoader({ src: this.ngSrc, width })} ${srcStr}`;\n });\n return finalSrcs.join(', ');\n }\n getAutomaticSrcset() {\n if (this.sizes) {\n return this.getResponsiveSrcset();\n }\n else {\n return this.getFixedSrcset();\n }\n }\n getResponsiveSrcset() {\n const { breakpoints } = this.config;\n let filteredBreakpoints = breakpoints;\n if (this.sizes?.trim() === '100vw') {\n // Since this is a full-screen-width image, our srcset only needs to include\n // breakpoints with full viewport widths.\n filteredBreakpoints = breakpoints.filter(bp => bp >= VIEWPORT_BREAKPOINT_CUTOFF);\n }\n const finalSrcs = filteredBreakpoints.map(bp => `${this.callImageLoader({ src: this.ngSrc, width: bp })} ${bp}w`);\n return finalSrcs.join(', ');\n }\n getFixedSrcset() {\n const finalSrcs = DENSITY_SRCSET_MULTIPLIERS.map(multiplier => {\n const imgUrl = this.callImageLoader({ src: this.ngSrc, width: this.width * multiplier });\n return `${imgUrl} ${multiplier}x`;\n });\n return finalSrcs.join(', ');\n }\n shouldGenerateAutomaticSrcset() {\n return !this._disableOptimizedSrcset && !this.srcset && this.imageLoader !== noopImageLoader &&\n !(this.width > FIXED_SRCSET_WIDTH_LIMIT || this.height > FIXED_SRCSET_HEIGHT_LIMIT);\n }\n /** @nodoc */\n ngOnDestroy() {\n if (ngDevMode) {\n if (!this.priority && this._renderedSrc !== null && this.lcpObserver !== null) {\n this.lcpObserver.unregisterImage(this._renderedSrc);\n }\n }\n }\n setHostAttribute(name, value) {\n this.renderer.setAttribute(this.imgElement, name, value);\n }\n}\nNgOptimizedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.3.0\", type: NgOptimizedImage, isStandalone: true, selector: \"img[ngSrc]\", inputs: { ngSrc: \"ngSrc\", ngSrcset: \"ngSrcset\", sizes: \"sizes\", width: \"width\", height: \"height\", loading: \"loading\", priority: \"priority\", loaderParams: \"loaderParams\", disableOptimizedSrcset: \"disableOptimizedSrcset\", fill: \"fill\", src: \"src\", srcset: \"srcset\" }, host: { properties: { \"style.position\": \"fill ? \\\"absolute\\\" : null\", \"style.width\": \"fill ? \\\"100%\\\" : null\", \"style.height\": \"fill ? \\\"100%\\\" : null\", \"style.inset\": \"fill ? \\\"0px\\\" : null\" } }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NgOptimizedImage, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n selector: 'img[ngSrc]',\n host: {\n '[style.position]': 'fill ? \"absolute\" : null',\n '[style.width]': 'fill ? \"100%\" : null',\n '[style.height]': 'fill ? \"100%\" : null',\n '[style.inset]': 'fill ? \"0px\" : null'\n }\n }]\n }], propDecorators: { ngSrc: [{\n type: Input\n }], ngSrcset: [{\n type: Input\n }], sizes: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], loading: [{\n type: Input\n }], priority: [{\n type: Input\n }], loaderParams: [{\n type: Input\n }], disableOptimizedSrcset: [{\n type: Input\n }], fill: [{\n type: Input\n }], src: [{\n type: Input\n }], srcset: [{\n type: Input\n }] } });\n/***** Helpers *****/\n/**\n * Convert input value to integer.\n */\nfunction inputToInteger(value) {\n return typeof value === 'string' ? parseInt(value, 10) : value;\n}\n/**\n * Convert input value to boolean.\n */\nfunction inputToBoolean(value) {\n return value != null && `${value}` !== 'false';\n}\n/**\n * Sorts provided config breakpoints and uses defaults.\n */\nfunction processConfig(config) {\n let sortedBreakpoints = {};\n if (config.breakpoints) {\n sortedBreakpoints.breakpoints = config.breakpoints.sort((a, b) => a - b);\n }\n return Object.assign({}, defaultConfig, config, sortedBreakpoints);\n}\n/***** Assert functions *****/\n/**\n * Verifies that there is no `src` set on a host element.\n */\nfunction assertNoConflictingSrc(dir) {\n if (dir.src) {\n throw new ɵRuntimeError(2950 /* RuntimeErrorCode.UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`src\\` and \\`ngSrc\\` have been set. ` +\n `Supplying both of these attributes breaks lazy loading. ` +\n `The NgOptimizedImage directive sets \\`src\\` itself based on the value of \\`ngSrc\\`. ` +\n `To fix this, please remove the \\`src\\` attribute.`);\n }\n}\n/**\n * Verifies that there is no `srcset` set on a host element.\n */\nfunction assertNoConflictingSrcset(dir) {\n if (dir.srcset) {\n throw new ɵRuntimeError(2951 /* RuntimeErrorCode.UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`srcset\\` and \\`ngSrcset\\` have been set. ` +\n `Supplying both of these attributes breaks lazy loading. ` +\n `The NgOptimizedImage directive sets \\`srcset\\` itself based on the value of ` +\n `\\`ngSrcset\\`. To fix this, please remove the \\`srcset\\` attribute.`);\n }\n}\n/**\n * Verifies that the `ngSrc` is not a Base64-encoded image.\n */\nfunction assertNotBase64Image(dir) {\n let ngSrc = dir.ngSrc.trim();\n if (ngSrc.startsWith('data:')) {\n if (ngSrc.length > BASE64_IMG_MAX_LENGTH_IN_ERROR) {\n ngSrc = ngSrc.substring(0, BASE64_IMG_MAX_LENGTH_IN_ERROR) + '...';\n }\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`ngSrc\\` is a Base64-encoded string ` +\n `(${ngSrc}). NgOptimizedImage does not support Base64-encoded strings. ` +\n `To fix this, disable the NgOptimizedImage directive for this element ` +\n `by removing \\`ngSrc\\` and using a standard \\`src\\` attribute instead.`);\n }\n}\n/**\n * Verifies that the 'sizes' only includes responsive values.\n */\nfunction assertNoComplexSizes(dir) {\n let sizes = dir.sizes;\n if (sizes?.match(/((\\)|,)\\s|^)\\d+px/)) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`sizes\\` was set to a string including ` +\n `pixel values. For automatic \\`srcset\\` generation, \\`sizes\\` must only include responsive ` +\n `values, such as \\`sizes=\"50vw\"\\` or \\`sizes=\"(min-width: 768px) 50vw, 100vw\"\\`. ` +\n `To fix this, modify the \\`sizes\\` attribute, or provide your own \\`ngSrcset\\` value directly.`);\n }\n}\n/**\n * Verifies that the `ngSrc` is not a Blob URL.\n */\nfunction assertNotBlobUrl(dir) {\n const ngSrc = dir.ngSrc.trim();\n if (ngSrc.startsWith('blob:')) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrc\\` was set to a blob URL (${ngSrc}). ` +\n `Blob URLs are not supported by the NgOptimizedImage directive. ` +\n `To fix this, disable the NgOptimizedImage directive for this element ` +\n `by removing \\`ngSrc\\` and using a regular \\`src\\` attribute instead.`);\n }\n}\n/**\n * Verifies that the input is set to a non-empty string.\n */\nfunction assertNonEmptyInput(dir, name, value) {\n const isString = typeof value === 'string';\n const isEmptyString = isString && value.trim() === '';\n if (!isString || isEmptyString) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${name}\\` has an invalid value ` +\n `(\\`${value}\\`). To fix this, change the value to a non-empty string.`);\n }\n}\n/**\n * Verifies that the `ngSrcset` is in a valid format, e.g. \"100w, 200w\" or \"1x, 2x\".\n */\nfunction assertValidNgSrcset(dir, value) {\n if (value == null)\n return;\n assertNonEmptyInput(dir, 'ngSrcset', value);\n const stringVal = value;\n const isValidWidthDescriptor = VALID_WIDTH_DESCRIPTOR_SRCSET.test(stringVal);\n const isValidDensityDescriptor = VALID_DENSITY_DESCRIPTOR_SRCSET.test(stringVal);\n if (isValidDensityDescriptor) {\n assertUnderDensityCap(dir, stringVal);\n }\n const isValidSrcset = isValidWidthDescriptor || isValidDensityDescriptor;\n if (!isValidSrcset) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrcset\\` has an invalid value (\\`${value}\\`). ` +\n `To fix this, supply \\`ngSrcset\\` using a comma-separated list of one or more width ` +\n `descriptors (e.g. \"100w, 200w\") or density descriptors (e.g. \"1x, 2x\").`);\n }\n}\nfunction assertUnderDensityCap(dir, value) {\n const underDensityCap = value.split(',').every(num => num === '' || parseFloat(num) <= ABSOLUTE_SRCSET_DENSITY_CAP);\n if (!underDensityCap) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`ngSrcset\\` contains an unsupported image density:` +\n `\\`${value}\\`. NgOptimizedImage generally recommends a max image density of ` +\n `${RECOMMENDED_SRCSET_DENSITY_CAP}x but supports image densities up to ` +\n `${ABSOLUTE_SRCSET_DENSITY_CAP}x. The human eye cannot distinguish between image densities ` +\n `greater than ${RECOMMENDED_SRCSET_DENSITY_CAP}x - which makes them unnecessary for ` +\n `most use cases. Images that will be pinch-zoomed are typically the primary use case for ` +\n `${ABSOLUTE_SRCSET_DENSITY_CAP}x images. Please remove the high density descriptor and try again.`);\n }\n}\n/**\n * Creates a `RuntimeError` instance to represent a situation when an input is set after\n * the directive has initialized.\n */\nfunction postInitInputChangeError(dir, inputName) {\n let reason;\n if (inputName === 'width' || inputName === 'height') {\n reason = `Changing \\`${inputName}\\` may result in different attribute value ` +\n `applied to the underlying image element and cause layout shifts on a page.`;\n }\n else {\n reason = `Changing the \\`${inputName}\\` would have no effect on the underlying ` +\n `image element, because the resource loading has already occurred.`;\n }\n return new ɵRuntimeError(2953 /* RuntimeErrorCode.UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` was updated after initialization. ` +\n `The NgOptimizedImage directive will not react to this input change. ${reason} ` +\n `To fix this, either switch \\`${inputName}\\` to a static value ` +\n `or wrap the image element in an *ngIf that is gated on the necessary value.`);\n}\n/**\n * Verify that none of the listed inputs has changed.\n */\nfunction assertNoPostInitInputChange(dir, changes, inputs) {\n inputs.forEach(input => {\n const isUpdated = changes.hasOwnProperty(input);\n if (isUpdated && !changes[input].isFirstChange()) {\n if (input === 'ngSrc') {\n // When the `ngSrc` input changes, we detect that only in the\n // `ngOnChanges` hook, thus the `ngSrc` is already set. We use\n // `ngSrc` in the error message, so we use a previous value, but\n // not the updated one in it.\n dir = { ngSrc: changes[input].previousValue };\n }\n throw postInitInputChangeError(dir, input);\n }\n });\n}\n/**\n * Verifies that a specified input is a number greater than 0.\n */\nfunction assertGreaterThanZero(dir, inputValue, inputName) {\n const validNumber = typeof inputValue === 'number' && inputValue > 0;\n const validString = typeof inputValue === 'string' && /^\\d+$/.test(inputValue.trim()) && parseInt(inputValue) > 0;\n if (!validNumber && !validString) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` has an invalid value ` +\n `(\\`${inputValue}\\`). To fix this, provide \\`${inputName}\\` ` +\n `as a number greater than 0.`);\n }\n}\n/**\n * Verifies that the rendered image is not visually distorted. Effectively this is checking:\n * - Whether the \"width\" and \"height\" attributes reflect the actual dimensions of the image.\n * - Whether image styling is \"correct\" (see below for a longer explanation).\n */\nfunction assertNoImageDistortion(dir, img, renderer) {\n const removeListenerFn = renderer.listen(img, 'load', () => {\n removeListenerFn();\n const renderedWidth = img.clientWidth;\n const renderedHeight = img.clientHeight;\n const renderedAspectRatio = renderedWidth / renderedHeight;\n const nonZeroRenderedDimensions = renderedWidth !== 0 && renderedHeight !== 0;\n const intrinsicWidth = img.naturalWidth;\n const intrinsicHeight = img.naturalHeight;\n const intrinsicAspectRatio = intrinsicWidth / intrinsicHeight;\n const suppliedWidth = dir.width;\n const suppliedHeight = dir.height;\n const suppliedAspectRatio = suppliedWidth / suppliedHeight;\n // Tolerance is used to account for the impact of subpixel rendering.\n // Due to subpixel rendering, the rendered, intrinsic, and supplied\n // aspect ratios of a correctly configured image may not exactly match.\n // For example, a `width=4030 height=3020` image might have a rendered\n // size of \"1062w, 796.48h\". (An aspect ratio of 1.334... vs. 1.333...)\n const inaccurateDimensions = Math.abs(suppliedAspectRatio - intrinsicAspectRatio) > ASPECT_RATIO_TOLERANCE;\n const stylingDistortion = nonZeroRenderedDimensions &&\n Math.abs(intrinsicAspectRatio - renderedAspectRatio) > ASPECT_RATIO_TOLERANCE;\n if (inaccurateDimensions) {\n console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the image does not match ` +\n `the aspect ratio indicated by the width and height attributes. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +\n `(aspect-ratio: ${intrinsicAspectRatio}). \\nSupplied width and height attributes: ` +\n `${suppliedWidth}w x ${suppliedHeight}h (aspect-ratio: ${suppliedAspectRatio}). ` +\n `\\nTo fix this, update the width and height attributes.`));\n }\n else if (stylingDistortion) {\n console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the rendered image ` +\n `does not match the image's intrinsic aspect ratio. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +\n `(aspect-ratio: ${intrinsicAspectRatio}). \\nRendered image size: ` +\n `${renderedWidth}w x ${renderedHeight}h (aspect-ratio: ` +\n `${renderedAspectRatio}). \\nThis issue can occur if \"width\" and \"height\" ` +\n `attributes are added to an image without updating the corresponding ` +\n `image styling. To fix this, adjust image styling. In most cases, ` +\n `adding \"height: auto\" or \"width: auto\" to the image styling will fix ` +\n `this issue.`));\n }\n else if (!dir.ngSrcset && nonZeroRenderedDimensions) {\n // If `ngSrcset` hasn't been set, sanity check the intrinsic size.\n const recommendedWidth = RECOMMENDED_SRCSET_DENSITY_CAP * renderedWidth;\n const recommendedHeight = RECOMMENDED_SRCSET_DENSITY_CAP * renderedHeight;\n const oversizedWidth = (intrinsicWidth - recommendedWidth) >= OVERSIZED_IMAGE_TOLERANCE;\n const oversizedHeight = (intrinsicHeight - recommendedHeight) >= OVERSIZED_IMAGE_TOLERANCE;\n if (oversizedWidth || oversizedHeight) {\n console.warn(ɵformatRuntimeError(2960 /* RuntimeErrorCode.OVERSIZED_IMAGE */, `${imgDirectiveDetails(dir.ngSrc)} the intrinsic image is significantly ` +\n `larger than necessary. ` +\n `\\nRendered image size: ${renderedWidth}w x ${renderedHeight}h. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h. ` +\n `\\nRecommended intrinsic image size: ${recommendedWidth}w x ${recommendedHeight}h. ` +\n `\\nNote: Recommended intrinsic image size is calculated assuming a maximum DPR of ` +\n `${RECOMMENDED_SRCSET_DENSITY_CAP}. To improve loading time, resize the image ` +\n `or consider using the \"ngSrcset\" and \"sizes\" attributes.`));\n }\n }\n });\n}\n/**\n * Verifies that a specified input is set.\n */\nfunction assertNonEmptyWidthAndHeight(dir) {\n let missingAttributes = [];\n if (dir.width === undefined)\n missingAttributes.push('width');\n if (dir.height === undefined)\n missingAttributes.push('height');\n if (missingAttributes.length > 0) {\n throw new ɵRuntimeError(2954 /* RuntimeErrorCode.REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails(dir.ngSrc)} these required attributes ` +\n `are missing: ${missingAttributes.map(attr => `\"${attr}\"`).join(', ')}. ` +\n `Including \"width\" and \"height\" attributes will prevent image-related layout shifts. ` +\n `To fix this, include \"width\" and \"height\" attributes on the image tag or turn on ` +\n `\"fill\" mode with the \\`fill\\` attribute.`);\n }\n}\n/**\n * Verifies that width and height are not set. Used in fill mode, where those attributes don't make\n * sense.\n */\nfunction assertEmptyWidthAndHeight(dir) {\n if (dir.width || dir.height) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the attributes \\`height\\` and/or \\`width\\` are present ` +\n `along with the \\`fill\\` attribute. Because \\`fill\\` mode causes an image to fill its containing ` +\n `element, the size attributes have no effect and should be removed.`);\n }\n}\n/**\n * Verifies that the rendered image has a nonzero height. If the image is in fill mode, provides\n * guidance that this can be caused by the containing element's CSS position property.\n */\nfunction assertNonZeroRenderedHeight(dir, img, renderer) {\n const removeListenerFn = renderer.listen(img, 'load', () => {\n removeListenerFn();\n const renderedHeight = img.clientHeight;\n if (dir.fill && renderedHeight === 0) {\n console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the height of the fill-mode image is zero. ` +\n `This is likely because the containing element does not have the CSS 'position' ` +\n `property set to one of the following: \"relative\", \"fixed\", or \"absolute\". ` +\n `To fix this problem, make sure the container element has the CSS 'position' ` +\n `property defined and the height of the element is not zero.`));\n }\n });\n}\n/**\n * Verifies that the `loading` attribute is set to a valid input &\n * is not used on priority images.\n */\nfunction assertValidLoadingInput(dir) {\n if (dir.loading && dir.priority) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` +\n `was used on an image that was marked \"priority\". ` +\n `Setting \\`loading\\` on priority images is not allowed ` +\n `because these images will always be eagerly loaded. ` +\n `To fix this, remove the “loading” attribute from the priority image.`);\n }\n const validInputs = ['auto', 'eager', 'lazy'];\n if (typeof dir.loading === 'string' && !validInputs.includes(dir.loading)) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` +\n `has an invalid value (\\`${dir.loading}\\`). ` +\n `To fix this, provide a valid value (\"lazy\", \"eager\", or \"auto\").`);\n }\n}\n/**\n * Warns if NOT using a loader (falling back to the generic loader) and\n * the image appears to be hosted on one of the image CDNs for which\n * we do have a built-in image loader. Suggests switching to the\n * built-in loader.\n *\n * @param ngSrc Value of the ngSrc attribute\n * @param imageLoader ImageLoader provided\n */\nfunction assertNotMissingBuiltInLoader(ngSrc, imageLoader) {\n if (imageLoader === noopImageLoader) {\n let builtInLoaderName = '';\n for (const loader of BUILT_IN_LOADERS) {\n if (loader.testUrl(ngSrc)) {\n builtInLoaderName = loader.name;\n break;\n }\n }\n if (builtInLoaderName) {\n console.warn(ɵformatRuntimeError(2962 /* RuntimeErrorCode.MISSING_BUILTIN_LOADER */, `NgOptimizedImage: It looks like your images may be hosted on the ` +\n `${builtInLoaderName} CDN, but your app is not using Angular's ` +\n `built-in loader for that CDN. We recommend switching to use ` +\n `the built-in by calling \\`provide${builtInLoaderName}Loader()\\` ` +\n `in your \\`providers\\` and passing it your instance's base URL. ` +\n `If you don't want to use the built-in loader, define a custom ` +\n `loader function using IMAGE_LOADER to silence this warning.`));\n }\n }\n}\n/**\n * Warns if ngSrcset is present and no loader is configured (i.e. the default one is being used).\n */\nfunction assertNoNgSrcsetWithoutLoader(dir, imageLoader) {\n if (dir.ngSrcset && imageLoader === noopImageLoader) {\n console.warn(ɵformatRuntimeError(2963 /* RuntimeErrorCode.MISSING_NECESSARY_LOADER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`ngSrcset\\` attribute is present but ` +\n `no image loader is configured (i.e. the default one is being used), ` +\n `which would result in the same image being used for all configured sizes. ` +\n `To fix this, provide a loader or remove the \\`ngSrcset\\` attribute from the image.`));\n }\n}\n/**\n * Warns if loaderParams is present and no loader is configured (i.e. the default one is being\n * used).\n */\nfunction assertNoLoaderParamsWithoutLoader(dir, imageLoader) {\n if (dir.loaderParams && imageLoader === noopImageLoader) {\n console.warn(ɵformatRuntimeError(2963 /* RuntimeErrorCode.MISSING_NECESSARY_LOADER */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loaderParams\\` attribute is present but ` +\n `no image loader is configured (i.e. the default one is being used), ` +\n `which means that the loaderParams data will not be consumed and will not affect the URL. ` +\n `To fix this, provide a custom loader or remove the \\`loaderParams\\` attribute from the image.`));\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// 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, IMAGE_LOADER, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf as NgFor, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgOptimizedImage, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PRECONNECT_CHECK_BLOCKLIST, 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, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, 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 v14.3.0\n * (c) 2010-2022 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 if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertValidHeaders(headers);\n }\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 override 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 * Verifies that the headers object has the right shape: the values\n * must be either strings or arrays. Throws an error if an invalid\n * header value is present.\n */\nfunction assertValidHeaders(headers) {\n for (const [key, value] of Object.entries(headers)) {\n if (typeof value !== 'string' && !Array.isArray(value)) {\n throw new Error(`Unexpected value of the \\`${key}\\` header provided. ` +\n `Expecting either a string or an array, but got: \\`${value}\\`.`);\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 * 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 '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 // convert the values to strings\n const values = Array.isArray(value) ? value.map(valueToString) : [valueToString(value)];\n this.map.set(key, values);\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 * Checks for existence of a given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns True if the token exists, false otherwise.\n */\n has(token) {\n return this.map.has(token);\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 /* HttpStatusCode.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: \"14.3.0\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", 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: \"14.3.0\", ngImport: i0, type: NoopInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: NoopInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", 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/**\n * When a pending