{"version":3,"file":"vendor.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,OAAN,CAAc;EACVv3B,WAAW,CAACw3B,cAAD,EAAiBC,SAAjB,EAA4BC,QAA5B,EAAsC;IAC7C,KAAKF,cAAL,GAAsBA,cAAtB;IACA,KAAKC,SAAL,GAAiBA,SAAjB;IACA,KAAKC,QAAL,GAAgBA,QAAhB;IACA,KAAKC,QAAL,GAAgB,IAAhB;IACA,KAAKC,aAAL,GAAqB,IAArB;IACA,KAAKC,OAAL,GAAe,IAAf;EACH;EACD;AACJ;AACA;AACA;;;EACe,IAAPT,OAAO,CAACA,OAAD,EAAU;IACjB,KAAKO,QAAL,GAAgBP,OAAhB;IACA,KAAKQ,aAAL,GAAqB,IAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACoB,IAAZE,YAAY,CAACtxB,EAAD,EAAK;IACjB,IAAIwwB,WAAW,IAAIxwB,EAAE,IAAI,IAArB,IAA6B,OAAOA,EAAP,KAAc,UAA/C,EAA2D;MACvD;MACA,IAAInD,OAAO,IAAIA,OAAO,CAACC,IAAvB,EAA6B;QACzBD,OAAO,CAACC,IAAR,CAAc,4CAA2CxD,IAAI,CAACC,SAAL,CAAeyG,EAAf,CAAmB,IAA/D,GACR,oFADL;MAEH;IACJ;;IACD,KAAKuxB,UAAL,GAAkBvxB,EAAlB;EACH;;EACe,IAAZsxB,YAA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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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMogB,IAAN,CAAW;EACPp5B,WAAW,CAACw3B,cAAD,EAAiB6B,WAAjB,EAA8B;IACrC,KAAK7B,cAAL,GAAsBA,cAAtB;IACA,KAAKpxB,QAAL,GAAgB,IAAIkzB,WAAJ,EAAhB;IACA,KAAKC,gBAAL,GAAwB,IAAxB;IACA,KAAKC,gBAAL,GAAwB,IAAxB;IACA,KAAKC,YAAL,GAAoB,IAApB;IACA,KAAKC,YAAL,GAAoB,IAApB;IACA,KAAKH,gBAAL,GAAwBF,WAAxB;EACH;EACD;AACJ;AACA;;;EACY,IAAJM,IAAI,CAACC,SAAD,EAAY;IAChB,KAAKxzB,QAAL,CAAc+wB,SAAd,GAA0B,KAAK/wB,QAAL,CAAcuzB,IAAd,GAAqBC,SAA/C;;IACA,KAAKC,WAAL;EACH;EACD;AACJ;AACA;;;EACgB,IAARC,QAAQ,CAACT,WAAD,EAAc;IACtBU,cAAc,CAAC,UAAD,EAAaV,WAAb,CAAd;IACA,KAAKE,gBAAL,GAAwBF,WAAxB;IACA,KAAKI,YAAL,GAAoB,IAApB,CAHsB,CAGI;;IAC1B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CAAC;IAC3G1mB,IAAI,EAAEvB,+CADqG;IAE3GlM,IAAI,EAAE,CAAC;MACCqJ,IAAI,EAAE,WADP;MAEC2gB,UAAU,EAAE;IAFb,CAAD;EAFqG,CAAD,CAAtH;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMoK,0BAA0B,GAAG,IAAI3pB,yDAAJ,CAAmB,4BAAnB,CAAnC,EACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4pB,QAAN,CAAe;EACX5/B,WAAW,CAAC4e,MAAD,EAASihB,eAAT,EAA0B;IACjC,KAAKjhB,MAAL,GAAcA,MAAd;IACA,KAAKihB,eAAL,GAAuBA,eAAvB;EACH;;EACDhB,SAAS,CAACt+B,KAAD,E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AP;EAAY,CAHtD;AAAA;;AAIA,SAASoxB,yBAAT,CAAmCpE,KAAnC,EAA0C;EACtC,MAAM2E,gBAAgB,GAAG5E,mBAAmB,CAACC,KAAD,CAA5C;EACA5iC,OAAO,CAACC,IAAR,CAAawU,qEAAmB,CAAC;EAAK;EAAN,EAAwD,GAAE8yB,gBAAiB,oDAApB,GAClF,qEADkF,GAElF,iDAFkF,GAGlF,4CAH2B,CAAhC;AAIH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,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,sBAAsB,GAAG,EAA/B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,yBAAyB,GAAG,IAAlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,gBAAN,CAAuB;EACnBprC,WAAW,GAAG;IACV,KAAKqrC,WAAL,GAAmBj1B,qDAAM,CAAC+xB,YAAD,CAAzB;IACA,KAAKmD,QAAL,GAAgBl1B,qDAAM,CAAC2B,oDAAD,CAAtB;IACA,KAAKwzB,UAAL,GAAkBn1B,qDAAM,CAAC4B,qDAAD,CAAN,CAAmBkd,aAArC;IACA,KAAKiB,QAAL,GAAgB/f,qDAAM,CAAC6B,mDAAD,CAAtB,CAJU,CAKV;;IACA,KAAKuzB,WAAL,GAAmBvU,SAAS,GAAG,KAAKd,QAAL,CAAcY,GAAd,CAAkB0S,gBAAlB,CAAH,GAAyC,IAArE;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAKgC,YAAL,GAAoB,IAApB;IACA,KAAKC,SAAL,GAAiB,KAAjB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACc,IAANC,MAAM,CAACprC,KAAD,EAAQ;IACd,IAAI02B,SAAJ,EAAe;MACX,MAAM,IAAI9f,2DAAJ,CAAkB;MAAK;MAAvB,EAA8D,GAAE6uB,mBAAmB,CAACzlC,KAAD,EAAQ,KAAR,CAAe,qCAArC,GAC9D,+EAD8D,GAE9D,kEAF8D,GAG9D,gEAH8D,GAI9D,6BAJC,CAAN;IAKH;EACJ;EACD;AACJ;AACA;;;EACa,IAALye,KAAK,CAACze,KAAD,EAAQ;IACb02B,SAAS,IAAI2U,qBAAqB,CAAC,IAAD,EAAOrrC,KAAP,EAAc,OAAd,CAAlC;IACA,KAAKsrC,MAAL,GAAcC,cAAc,CAACvrC,KAAD,CAA5B;EACH;;EACQ,IAALye,KAAK,GAAG;IACR,OAAO,KAAK6sB,MAAZ;EACH;EACD;AACJ;AACA;;;EACc,IAANE,MAAM,CAACxrC,KAAD,EAAQ;IACd02B,SAAS,IAAI2U,qBAAqB,CAAC,IAAD,EAAOrrC,KAAP,EAAc,QAAd,CAAlC;IACA,KAAKyrC,OAAL,GAAeF,cAAc,CAACvrC,KAAD,CAA7B;EACH;;EACS,IAANwrC,MAAM,GAAG;IACT,OAAO,KAAKC,OAAZ;EACH;EACD;AACJ;AACA;;;EACgB,IAARC,QAAQ,CAAC1rC,KAAD,EAAQ;IAChB,KAAKmrC,SAAL,GAAiBQ,cAAc,CAAC3rC,KAAD,CAA/B;EACH;;EACW,IAAR0rC,QAAQ,GAAG;IACX,OAAO,KAAKP,SAAZ;EACH;;EACDS,QAAQ,GAAG;IACP,IAAIlV,SAAJ,EAAe;MACXmV,mBAAmB,CAAC,IAAD,EAAO,OAAP,EAAgB,KAAKnG,KAArB,CAAnB;MACAoG,mBAAmB,CAAC,IAAD,EAAO,KAAKC,QAAZ,CAAnB;MACAC,sBAAsB,CAAC,IAAD,CAAtB;MACAC,yBAAyB,CAAC,IAAD,CAAzB;MACAC,oBAAoB,CAAC,IAAD,CAApB;MACAC,gBAAgB,CAAC,IAAD,CAAhB;MACAC,4BAA4B,CAAC,IAAD,CAA5B;MACAC,uBAAuB,CAAC,IAAD,CAAvB;MACAC,uBAAuB,CAAC,IAAD,EAAO,KAAKtB,UAAZ,EAAwB,KAAKD,QAA7B,CAAvB;;MACA,IAAI,KAAKW,QAAT,EAAmB;QACf,MAAMa,OAAO,GAAG,KAAK3W,QAAL,CAAcY,GAAd,CAAkBiQ,qBAAlB,CAAhB;QACA8F,OAAO,CAACtF,gBAAR,CAAyB,KAAKuF,eAAL,EAAzB,EAAiD,KAAK9G,KAAtD;MACH,CAHD,MAIK;QACD;QACA;QACA;QACA,IAAI,KAAKuF,WAAL,KAAqB,IAAzB,EAA+B;UAC3B,MAAMwB,MAAM,GAAG,KAAK7W,QAAL,CAAcY,GAAd,CAAkB7e,iDAAlB,CAAf;UACA80B,MAAM,CAACC,iBAAP,CAAyB,MAAM;YAC3B,KAAKzB,WAAL,CAAiBhB,aAAjB,CAA+B,KAAKuC,eAAL,EAA/B,EAAuD,KAAK9G,KAA5D;UACH,CAFD;QAGH;MACJ;IACJ;;IACD,KAAKiH,iBAAL;EACH;;EACDA,iBAAiB,GAAG;IAChB;IACA;IACA,KAAKC,gBAAL,CAAsB,OAAtB,EAA+B,KAAKnuB,KAAL,CAAW7T,QAAX,EAA/B;IACA,KAAKgiC,gBAAL,CAAsB,QAAtB,EAAgC,KAAKpB,MAAL,CAAY5gC,QAAZ,EAAhC;IACA,KAAKgiC,gBAAL,CAAsB,SAAtB,EAAiC,KAAKC,kBAAL,EAAjC;IACA,KAAKD,gBAAL,CAAsB,eAAtB,EAAuC,KAAKE,gBAAL,EAAvC,EANgB,CAOhB;IACA;;IACA,KAAKF,gBAAL,CAAsB,KAAtB,EAA6B,KAAKJ,eAAL,EAA7B;;IACA,IAAI,KAAKT,QAAT,EAAmB;MACf,KAAKa,gBAAL,CAAsB,QAAtB,EAAgC,KAAKG,kBAAL,EAAhC;IACH;EACJ;;EACD3X,WAAW,CAACrB,OAAD,EAAU;IACjB,IAAI2C,SAAJ,EAAe;MACXsW,2BAA2B,CAAC,IAAD,EAAOjZ,OAAP,EAAgB,CAAC,OAAD,EAAU,UAAV,EAAsB,OAAtB,EAA+B,QAA/B,EAAyC,UAAzC,CAAhB,CAA3B;IACH;EACJ;;EACD8Y,kBAAkB,GAAG;IACjB,IAAI,CAAC,KAAKnB,QAAN,IAAkB,KAAKuB,OAAL,KAAiB7lC,SAAvC,EAAkD;MAC9C,OAAO,KAAK6lC,OAAZ;IACH;;IACD,OAAO,KAAKvB,QAAL,GAAgB,OAAhB,GAA0B,MAAjC;EACH;;EACDoB,gBAAgB,GAAG;IACf,OAAO,KAAKpB,QAAL,GAAgB,MAAhB,GAAyB,MAAhC;EACH;;EACDc,eAAe,GAAG;IACd;IACA;IACA;IACA,IAAI,CAAC,KAAKtB,YAAV,EAAwB;MACpB,MAAMgC,SAAS,GAAG;QAAEpH,GAAG,EAAE,KAAKJ;MAAZ,CAAlB,CADoB,CAEpB;;MACA,KAAKwF,YAAL,GAAoB,KAAKJ,WAAL,CAAiBoC,SAAjB,CAApB;IACH;;IACD,OAAO,KAAKhC,YAAZ;EACH;;EACD6B,kBAAkB,GAAG;IACjB,MAAMI,WAAW,GAAG5C,6BAA6B,CAAClf,IAA9B,CAAmC,KAAK0gB,QAAxC,CAApB;IACA,MAAMqB,SAAS,GAAG,KAAKrB,QAAL,CAAcxpB,KAAd,CAAoB,GAApB,EAAyBhV,MAAzB,CAAgCu4B,GAAG,IAAIA,GAAG,KAAK,EAA/C,EAAmDn7B,GAAnD,CAAuD0iC,MAAM,IAAI;MAC/EA,MAAM,GAAGA,MAAM,CAACnnB,IAAP,EAAT;MACA,MAAMzH,KAAK,GAAG0uB,WAAW,GAAGzhB,UAAU,CAAC2hB,MAAD,CAAb,GAAwB3hB,UAAU,CAAC2hB,MAAD,CAAV,GAAqB,KAAK5uB,KAA3E;MACA,OAAQ,GAAE,KAAKqsB,WAAL,CAAiB;QAAEhF,GAAG,EAAE,KAAKJ,KAAZ;QAAmBjnB;MAAnB,CAAjB,CAA6C,IAAG4uB,MAAO,EAAjE;IACH,CAJiB,CAAlB;IAKA,OAAOD,SAAS,CAAC34B,IAAV,CAAe,IAAf,CAAP;EACH;;EACDqH,WAAW,GAAG;IACV,IAAI4a,SAAJ,EAAe;MACX,IAAI,CAAC,KAAKgV,QAAN,IAAkB,KAAKR,YAAL,KAAsB,IAAxC,IAAgD,KAAKD,WAAL,KAAqB,IAAzE,EAA+E;QAC3E,KAAKA,WAAL,CAAiBf,eAAjB,CAAiC,KAAKgB,YAAtC;MACH;IACJ;EACJ;;EACD0B,gBAAgB,CAACv4B,IAAD,EAAOrU,KAAP,EAAc;IAC1B,KAAK+qC,QAAL,CAAcuC,YAAd,CAA2B,KAAKtC,UAAhC,EAA4C32B,IAA5C,EAAkDrU,KAAlD;EACH;;AAvJkB;;AAyJvB6qC,gBAAgB,CAACvyB,IAAjB;EAAA,iBAA6GuyB,gBAA7G;AAAA;;AACAA,gBAAgB,CAAC9V,IAAjB,kBA7mMmGvf,+DA6mMnG;EAAA,MAAiGq1B,gBAAjG;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;EAAA,WA7mMmGr1B,kEA6mMnG;AAAA;;AACA;EAAA,mDA9mMmGA,+DA8mMnG,CAA2Fq1B,gBAA3F,EAAyH,CAAC;IAC9GpyB,IAAI,EAAEjC,oDADwG;IAE9GxL,IAAI,EAAE,CAAC;MACCgqB,UAAU,EAAE,IADb;MAECzoB,QAAQ,EAAE;IAFX,CAAD;EAFwG,CAAD,CAAzH,QAM4B;IAAE6+B,MAAM,EAAE,CAAC;MACvB3yB,IAAI,EAAEhC,gDAAKA;IADY,CAAD,CAAV;IAEZivB,KAAK,EAAE,CAAC;MACRjtB,IAAI,EAAEhC,gDAAKA;IADH,CAAD,CAFK;IAIZs1B,QAAQ,EAAE,CAAC;MACXtzB,IAAI,EAAEhC,gDAAKA;IADA,CAAD,CAJE;IAMZgI,KAAK,EAAE,CAAC;MACRhG,IAAI,EAAEhC,gDAAKA;IADH,CAAD,CANK;IAQZ+0B,MAAM,EAAE,CAAC;MACT/yB,IAAI,EAAEhC,gDAAKA;IADF,CAAD,CARI;IAUZw2B,OAAO,EAAE,CAAC;MACVx0B,IAAI,EAAEhC,gDAAKA;IADD,CAAD,CAVG;IAYZi1B,QAAQ,EAAE,CAAC;MACXjzB,IAAI,EAAEhC,gDAAKA;IADA,CAAD,CAZE;IAcZqvB,GAAG,EAAE,CAAC;MACNrtB,IAAI,EAAEhC,gDAAKA;IADL,CAAD,CAdO;IAgBZ82B,MAAM,EAAE,CAAC;MACT90B,IAAI,EAAEhC,gDAAKA;IADF,CAAD;EAhBI,CAN5B;AAAA;AAyBA;;AACA;AACA;AACA;;;AACA,SAAS80B,cAAT,CAAwBvrC,KAAxB,EAA+B;EAC3B,OAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BqxB,QAAQ,CAACrxB,KAAD,EAAQ,EAAR,CAApC,GAAkDA,KAAzD;AACH;AACD;AACA;AACA;;;AACA,SAAS2rC,cAAT,CAAwB3rC,KAAxB,EAA+B;EAC3B,OAAOA,KAAK,IAAI,IAAT,IAAkB,GAAEA,KAAM,EAAT,KAAe,OAAvC;AACH;AACD;;AACA;AACA;AACA;;;AACA,SAASgsC,sBAAT,CAAgCtT,GAAhC,EAAqC;EACjC,IAAIA,GAAG,CAACoN,GAAR,EAAa;IACT,MAAM,IAAIlvB,2DAAJ,CAAkB;IAAK;IAAvB,EAAoE,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,6CAAlC,GACpE,0DADoE,GAEpE,sFAFoE,GAGpE,mDAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;;;AACA,SAASuG,yBAAT,CAAmCvT,GAAnC,EAAwC;EACpC,IAAIA,GAAG,CAAC6U,MAAR,EAAgB;IACZ,MAAM,IAAI32B,2DAAJ,CAAkB;IAAK;IAAvB,EAAuE,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,mDAAlC,GACvE,0DADuE,GAEvE,8EAFuE,GAGvE,oEAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;;;AACA,SAASwG,oBAAT,CAA8BxT,GAA9B,EAAmC;EAC/B,IAAIgN,KAAK,GAAGhN,GAAG,CAACgN,KAAJ,CAAUxf,IAAV,EAAZ;;EACA,IAAIwf,KAAK,CAACzqB,UAAN,CAAiB,OAAjB,CAAJ,EAA+B;IAC3B,IAAIyqB,KAAK,CAACtiC,MAAN,GAAeknC,8BAAnB,EAAmD;MAC/C5E,KAAK,GAAGA,KAAK,CAACxqB,SAAN,CAAgB,CAAhB,EAAmBovB,8BAAnB,IAAqD,KAA7D;IACH;;IACD,MAAM,IAAI1zB,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,EAAY,KAAZ,CAAmB,wCAAzC,GAC9D,IAAGA,KAAM,+DADqD,GAE9D,uEAF8D,GAG9D,uEAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;;;AACA,SAASyG,gBAAT,CAA0BzT,GAA1B,EAA+B;EAC3B,MAAMgN,KAAK,GAAGhN,GAAG,CAACgN,KAAJ,CAAUxf,IAAV,EAAd;;EACA,IAAIwf,KAAK,CAACzqB,UAAN,CAAiB,OAAjB,CAAJ,EAA+B;IAC3B,MAAM,IAAIrE,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,qCAAoCA,KAAM,KAA5E,GAC9D,iEAD8D,GAE9D,uEAF8D,GAG9D,sEAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;;;AACA,SAASmG,mBAAT,CAA6BnT,GAA7B,EAAkCrkB,IAAlC,EAAwCrU,KAAxC,EAA+C;EAC3C,MAAMomC,QAAQ,GAAG,OAAOpmC,KAAP,KAAiB,QAAlC;EACA,MAAMwtC,aAAa,GAAGpH,QAAQ,IAAIpmC,KAAK,CAACkmB,IAAN,OAAiB,EAAnD;;EACA,IAAI,CAACkgB,QAAD,IAAaoH,aAAjB,EAAgC;IAC5B,MAAM,IAAI52B,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,MAAKrxB,IAAK,0BAA5C,GAC9D,MAAKrU,KAAM,2DADV,CAAN;EAEH;AACJ;AACD;AACA;AACA;;;AACA,SAAS8rC,mBAAT,CAA6BpT,GAA7B,EAAkC14B,KAAlC,EAAyC;EACrC,IAAIA,KAAK,IAAI,IAAb,EACI;EACJ6rC,mBAAmB,CAACnT,GAAD,EAAM,UAAN,EAAkB14B,KAAlB,CAAnB;EACA,MAAMytC,SAAS,GAAGztC,KAAlB;EACA,MAAM0tC,sBAAsB,GAAGnD,6BAA6B,CAAClf,IAA9B,CAAmCoiB,SAAnC,CAA/B;EACA,MAAME,wBAAwB,GAAGnD,+BAA+B,CAACnf,IAAhC,CAAqCoiB,SAArC,CAAjC;;EACA,IAAIE,wBAAJ,EAA8B;IAC1BC,qBAAqB,CAAClV,GAAD,EAAM+U,SAAN,CAArB;EACH;;EACD,MAAMI,aAAa,GAAGH,sBAAsB,IAAIC,wBAAhD;;EACA,IAAI,CAACE,aAAL,EAAoB;IAChB,MAAM,IAAIj3B,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,yCAAwC1lC,KAAM,OAAhF,GAC9D,qFAD8D,GAE9D,yEAFC,CAAN;EAGH;AACJ;;AACD,SAAS4tC,qBAAT,CAA+BlV,GAA/B,EAAoC14B,KAApC,EAA2C;EACvC,MAAM8tC,eAAe,GAAG9tC,KAAK,CAACuiB,KAAN,CAAY,GAAZ,EAAiBiM,KAAjB,CAAuBxI,GAAG,IAAIA,GAAG,KAAK,EAAR,IAAc0F,UAAU,CAAC1F,GAAD,CAAV,IAAmBykB,2BAA/D,CAAxB;;EACA,IAAI,CAACqD,eAAL,EAAsB;IAClB,MAAM,IAAIl3B,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,0DAAlC,GAC9D,KAAI1lC,KAAM,mEADoD,GAE9D,GAAE0qC,8BAA+B,uCAF6B,GAG9D,GAAED,2BAA4B,8DAHgC,GAI9D,gBAAeC,8BAA+B,uCAJgB,GAK9D,0FAL8D,GAM9D,GAAED,2BAA4B,oEAN7B,CAAN;EAOH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASsD,wBAAT,CAAkCrV,GAAlC,EAAuCsV,SAAvC,EAAkD;EAC9C,OAAO,IAAIp3B,2DAAJ,CAAkB;EAAK;EAAvB,EAAwE,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,MAAKsI,SAAU,uCAAjD,GACzE,sEADyE,GAEzE,yBAAwBA,SAAU,8CAFuC,GAGzE,mDAHE,CAAP;AAIH;AACD;AACA;AACA;;;AACA,SAAShB,2BAAT,CAAqCtU,GAArC,EAA0C3E,OAA1C,EAAmDka,MAAnD,EAA2D;EACvDA,MAAM,CAACvwC,OAAP,CAAe0M,KAAK,IAAI;IACpB,MAAM8jC,SAAS,GAAGna,OAAO,CAAC6L,cAAR,CAAuBx1B,KAAvB,CAAlB;;IACA,IAAI8jC,SAAS,IAAI,CAACna,OAAO,CAAC3pB,KAAD,CAAP,CAAe+jC,aAAf,EAAlB,EAAkD;MAC9C,IAAI/jC,KAAK,KAAK,OAAd,EAAuB;QACnB;QACA;QACA;QACA;QACAsuB,GAAG,GAAG;UAAEgN,KAAK,EAAE3R,OAAO,CAAC3pB,KAAD,CAAP,CAAekqB;QAAxB,CAAN;MACH;;MACD,MAAMyZ,wBAAwB,CAACrV,GAAD,EAAMtuB,KAAN,CAA9B;IACH;EACJ,CAZD;AAaH;AACD;AACA;AACA;;;AACA,SAASihC,qBAAT,CAA+B3S,GAA/B,EAAoC0V,UAApC,EAAgDJ,SAAhD,EAA2D;EACvD,MAAMK,WAAW,GAAG,OAAOD,UAAP,KAAsB,QAAtB,IAAkCA,UAAU,GAAG,CAAnE;EACA,MAAME,WAAW,GAAG,OAAOF,UAAP,KAAsB,QAAtB,IAAkC,QAAQ/iB,IAAR,CAAa+iB,UAAU,CAACloB,IAAX,EAAb,CAAlC,IAAqEmL,QAAQ,CAAC+c,UAAD,CAAR,GAAuB,CAAhH;;EACA,IAAI,CAACC,WAAD,IAAgB,CAACC,WAArB,EAAkC;IAC9B,MAAM,IAAI13B,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,MAAKsI,SAAU,0BAAjD,GAC9D,MAAKI,UAAW,+BAA8BJ,SAAU,KADM,GAE9D,6BAFC,CAAN;EAGH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS1B,uBAAT,CAAiC5T,GAAjC,EAAsC6V,GAAtC,EAA2CxD,QAA3C,EAAqD;EACjD,MAAMyD,gBAAgB,GAAGzD,QAAQ,CAAC0D,MAAT,CAAgBF,GAAhB,EAAqB,MAArB,EAA6B,MAAM;IACxDC,gBAAgB,GADwC,CAExD;IACA;IACA;;IACA,MAAME,aAAa,GAAGhjB,UAAU,CAAC6iB,GAAG,CAACI,WAAL,CAAhC;IACA,MAAMC,cAAc,GAAGljB,UAAU,CAAC6iB,GAAG,CAACM,YAAL,CAAjC;IACA,MAAMC,mBAAmB,GAAGJ,aAAa,GAAGE,cAA5C;IACA,MAAMG,yBAAyB,GAAGL,aAAa,KAAK,CAAlB,IAAuBE,cAAc,KAAK,CAA5E;IACA,MAAMI,cAAc,GAAGtjB,UAAU,CAAC6iB,GAAG,CAACU,YAAL,CAAjC;IACA,MAAMC,eAAe,GAAGxjB,UAAU,CAAC6iB,GAAG,CAACY,aAAL,CAAlC;IACA,MAAMC,oBAAoB,GAAGJ,cAAc,GAAGE,eAA9C;IACA,MAAMG,aAAa,GAAG3W,GAAG,CAACja,KAA1B;IACA,MAAM6wB,cAAc,GAAG5W,GAAG,CAAC8S,MAA3B;IACA,MAAM+D,mBAAmB,GAAGF,aAAa,GAAGC,cAA5C,CAdwD,CAexD;IACA;IACA;IACA;IACA;;IACA,MAAME,oBAAoB,GAAGx7B,IAAI,CAACiV,GAAL,CAASsmB,mBAAmB,GAAGH,oBAA/B,IAAuDzE,sBAApF;IACA,MAAM8E,iBAAiB,GAAGV,yBAAyB,IAC/C/6B,IAAI,CAACiV,GAAL,CAASmmB,oBAAoB,GAAGN,mBAAhC,IAAuDnE,sBAD3D;;IAEA,IAAI6E,oBAAJ,EAA0B;MACtB1sC,OAAO,CAACC,IAAR,CAAawU,qEAAmB,CAAC;MAAK;MAAN,EAA6C,GAAEkuB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,gDAAlC,GACvE,iEADuE,GAEvE,2BAA0BsJ,cAAe,OAAME,eAAgB,IAFQ,GAGvE,kBAAiBE,oBAAqB,6CAHiC,GAIvE,GAAEC,aAAc,OAAMC,cAAe,oBAAmBC,mBAAoB,KAJL,GAKvE,wDAL2B,CAAhC;IAMH,CAPD,MAQK,IAAIE,iBAAJ,EAAuB;MACxB3sC,OAAO,CAACC,IAAR,CAAawU,qEAAmB,CAAC;MAAK;MAAN,EAA6C,GAAEkuB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,0CAAlC,GACvE,qDADuE,GAEvE,2BAA0BsJ,cAAe,OAAME,eAAgB,IAFQ,GAGvE,kBAAiBE,oBAAqB,4BAHiC,GAIvE,GAAEV,aAAc,OAAME,cAAe,mBAJkC,GAKvE,GAAEE,mBAAoB,oDALiD,GAMvE,sEANuE,GAOvE,mEAPuE,GAQvE,uEARuE,GASvE,aAT2B,CAAhC;IAUH,CAXI,MAYA,IAAI,CAACpW,GAAG,CAACqT,QAAL,IAAiBgD,yBAArB,EAAgD;MACjD;MACA,MAAMW,gBAAgB,GAAGhF,8BAA8B,GAAGgE,aAA1D;MACA,MAAMiB,iBAAiB,GAAGjF,8BAA8B,GAAGkE,cAA3D;MACA,MAAMgB,cAAc,GAAIZ,cAAc,GAAGU,gBAAlB,IAAuC9E,yBAA9D;MACA,MAAMiF,eAAe,GAAIX,eAAe,GAAGS,iBAAnB,IAAyC/E,yBAAjE;;MACA,IAAIgF,cAAc,IAAIC,eAAtB,EAAuC;QACnC/sC,OAAO,CAACC,IAAR,CAAawU,qEAAmB,CAAC;QAAK;QAAN,EAA+C,GAAEkuB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,wCAAlC,GACzE,yBADyE,GAEzE,0BAAyBgJ,aAAc,OAAME,cAAe,KAFa,GAGzE,2BAA0BI,cAAe,OAAME,eAAgB,KAHU,GAIzE,uCAAsCQ,gBAAiB,OAAMC,iBAAkB,KAJN,GAKzE,mFALyE,GAMzE,GAAEjF,8BAA+B,8CANwC,GAOzE,0DAP2B,CAAhC;MAQH;IACJ;EACJ,CA5DwB,CAAzB;AA6DH;AACD;AACA;AACA;;;AACA,SAAS0B,4BAAT,CAAsC1T,GAAtC,EAA2C;EACvC,IAAIoX,iBAAiB,GAAG,EAAxB;EACA,IAAIpX,GAAG,CAACja,KAAJ,KAAcrX,SAAlB,EACI0oC,iBAAiB,CAAChrC,IAAlB,CAAuB,OAAvB;EACJ,IAAI4zB,GAAG,CAAC8S,MAAJ,KAAepkC,SAAnB,EACI0oC,iBAAiB,CAAChrC,IAAlB,CAAuB,QAAvB;;EACJ,IAAIgrC,iBAAiB,CAAC1sC,MAAlB,GAA2B,CAA/B,EAAkC;IAC9B,MAAM,IAAIwT,2DAAJ,CAAkB;IAAK;IAAvB,EAAuE,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,6BAAlC,GACvE,gBAAeoK,iBAAiB,CAACnlC,GAAlB,CAAsBolC,IAAI,IAAK,IAAGA,IAAK,GAAvC,EAA2Ct7B,IAA3C,CAAgD,IAAhD,CAAsD,IADE,GAEvE,sFAFuE,GAGvE,wEAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAAS43B,uBAAT,CAAiC3T,GAAjC,EAAsC;EAClC,IAAIA,GAAG,CAACuU,OAAJ,IAAevU,GAAG,CAACgT,QAAvB,EAAiC;IAC7B,MAAM,IAAI90B,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,6BAAlC,GAC9D,mDAD8D,GAE9D,wDAF8D,GAG9D,sDAH8D,GAI9D,sEAJC,CAAN;EAKH;;EACD,MAAMsK,WAAW,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,CAApB;;EACA,IAAI,OAAOtX,GAAG,CAACuU,OAAX,KAAuB,QAAvB,IAAmC,CAAC+C,WAAW,CAACC,QAAZ,CAAqBvX,GAAG,CAACuU,OAAzB,CAAxC,EAA2E;IACvE,MAAM,IAAIr2B,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAE6uB,mBAAmB,CAAC/M,GAAG,CAACgN,KAAL,CAAY,6BAAlC,GAC9D,2BAA0BhN,GAAG,CAACuU,OAAQ,OADwB,GAE9D,kEAFC,CAAN;EAGH;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7/MA;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,MAAM+D,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;EACAzxC,WAAW,CAAC9C,OAAD,EAAU;IACjB;AACR;AACA;AACA;IACQ,KAAKw0C,eAAL,GAAuB,IAAI/Q,GAAJ,EAAvB;IACA;AACR;AACA;;IACQ,KAAKgR,UAAL,GAAkB,IAAlB;;IACA,IAAI,CAACz0C,OAAL,EAAc;MACV,KAAKA,OAAL,GAAe,IAAIyjC,GAAJ,EAAf;IACH,CAFD,MAGK,IAAI,OAAOzjC,OAAP,KAAmB,QAAvB,EAAiC;MAClC,KAAK00C,QAAL,GAAgB,MAAM;QAClB,KAAK10C,OAAL,GAAe,IAAIyjC,GAAJ,EAAf;QACAzjC,OAAO,CAAC4lB,KAAR,CAAc,IAAd,EAAoB7kB,OAApB,CAA4B4zC,IAAI,IAAI;UAChC,MAAMxwC,KAAK,GAAGwwC,IAAI,CAACrsC,OAAL,CAAa,GAAb,CAAd;;UACA,IAAInE,KAAK,GAAG,CAAZ,EAAe;YACX,MAAMuT,IAAI,GAAGi9B,IAAI,CAAC3sC,KAAL,CAAW,CAAX,EAAc7D,KAAd,CAAb;YACA,MAAMnD,GAAG,GAAG0W,IAAI,CAACyqB,WAAL,EAAZ;YACA,MAAM9+B,KAAK,GAAGsxC,IAAI,CAAC3sC,KAAL,CAAW7D,KAAK,GAAG,CAAnB,EAAsBolB,IAAtB,EAAd;YACA,KAAKqrB,sBAAL,CAA4Bl9B,IAA5B,EAAkC1W,GAAlC;;YACA,IAAI,KAAKhB,OAAL,CAAa0qC,GAAb,CAAiB1pC,GAAjB,CAAJ,EAA2B;cACvB,KAAKhB,OAAL,CAAa65B,GAAb,CAAiB74B,GAAjB,EAAsBmH,IAAtB,CAA2B9E,KAA3B;YACH,CAFD,MAGK;cACD,KAAKrD,OAAL,CAAa0nC,GAAb,CAAiB1mC,GAAjB,EAAsB,CAACqC,KAAD,CAAtB;YACH;UACJ;QACJ,CAdD;MAeH,CAjBD;IAkBH,CAnBI,MAoBA;MACD,KAAKqxC,QAAL,GAAgB,MAAM;QAClB,IAAI,OAAO3a,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;UAC/C8a,kBAAkB,CAAC70C,OAAD,CAAlB;QACH;;QACD,KAAKA,OAAL,GAAe,IAAIyjC,GAAJ,EAAf;QACA5iC,MAAM,CAACC,IAAP,CAAYd,OAAZ,EAAqBe,OAArB,CAA6B2W,IAAI,IAAI;UACjC,IAAI7K,MAAM,GAAG7M,OAAO,CAAC0X,IAAD,CAApB;UACA,MAAM1W,GAAG,GAAG0W,IAAI,CAACyqB,WAAL,EAAZ;;UACA,IAAI,OAAOt1B,MAAP,KAAkB,QAAtB,EAAgC;YAC5BA,MAAM,GAAG,CAACA,MAAD,CAAT;UACH;;UACD,IAAIA,MAAM,CAACpG,MAAP,GAAgB,CAApB,EAAuB;YACnB,KAAKzG,OAAL,CAAa0nC,GAAb,CAAiB1mC,GAAjB,EAAsB6L,MAAtB;YACA,KAAK+nC,sBAAL,CAA4Bl9B,IAA5B,EAAkC1W,GAAlC;UACH;QACJ,CAVD;MAWH,CAhBD;IAiBH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI0pC,GAAG,CAAChzB,IAAD,EAAO;IACN,KAAKvW,IAAL;IACA,OAAO,KAAKnB,OAAL,CAAa0qC,GAAb,CAAiBhzB,IAAI,CAACyqB,WAAL,EAAjB,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACItI,GAAG,CAACniB,IAAD,EAAO;IACN,KAAKvW,IAAL;IACA,MAAM0L,MAAM,GAAG,KAAK7M,OAAL,CAAa65B,GAAb,CAAiBniB,IAAI,CAACyqB,WAAL,EAAjB,CAAf;IACA,OAAOt1B,MAAM,IAAIA,MAAM,CAACpG,MAAP,GAAgB,CAA1B,GAA8BoG,MAAM,CAAC,CAAD,CAApC,GAA0C,IAAjD;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACI/L,IAAI,GAAG;IACH,KAAKK,IAAL;IACA,OAAOoN,KAAK,CAACjB,IAAN,CAAW,KAAKknC,eAAL,CAAqB3nC,MAArB,EAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIioC,MAAM,CAACp9B,IAAD,EAAO;IACT,KAAKvW,IAAL;IACA,OAAO,KAAKnB,OAAL,CAAa65B,GAAb,CAAiBniB,IAAI,CAACyqB,WAAL,EAAjB,KAAwC,IAA/C;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI//B,MAAM,CAACsV,IAAD,EAAOrU,KAAP,EAAc;IAChB,OAAO,KAAK0xC,KAAL,CAAW;MAAEr9B,IAAF;MAAQrU,KAAR;MAAe2xC,EAAE,EAAE;IAAnB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACItN,GAAG,CAAChwB,IAAD,EAAOrU,KAAP,EAAc;IACb,OAAO,KAAK0xC,KAAL,CAAW;MAAEr9B,IAAF;MAAQrU,KAAR;MAAe2xC,EAAE,EAAE;IAAnB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIxH,MAAM,CAAC91B,IAAD,EAAOrU,KAAP,EAAc;IAChB,OAAO,KAAK0xC,KAAL,CAAW;MAAEr9B,IAAF;MAAQrU,KAAR;MAAe2xC,EAAE,EAAE;IAAnB,CAAX,CAAP;EACH;;EACDJ,sBAAsB,CAACl9B,IAAD,EAAOu9B,MAAP,EAAe;IACjC,IAAI,CAAC,KAAKT,eAAL,CAAqB9J,GAArB,CAAyBuK,MAAzB,CAAL,EAAuC;MACnC,KAAKT,eAAL,CAAqB9M,GAArB,CAAyBuN,MAAzB,EAAiCv9B,IAAjC;IACH;EACJ;;EACDvW,IAAI,GAAG;IACH,IAAI,CAAC,CAAC,KAAKuzC,QAAX,EAAqB;MACjB,IAAI,KAAKA,QAAL,YAAyBH,WAA7B,EAA0C;QACtC,KAAKW,QAAL,CAAc,KAAKR,QAAnB;MACH,CAFD,MAGK;QACD,KAAKA,QAAL;MACH;;MACD,KAAKA,QAAL,GAAgB,IAAhB;;MACA,IAAI,CAAC,CAAC,KAAKD,UAAX,EAAuB;QACnB,KAAKA,UAAL,CAAgB1zC,OAAhB,CAAwBo0C,MAAM,IAAI,KAAKC,WAAL,CAAiBD,MAAjB,CAAlC;QACA,KAAKV,UAAL,GAAkB,IAAlB;MACH;IACJ;EACJ;;EACDS,QAAQ,CAACG,KAAD,EAAQ;IACZA,KAAK,CAACl0C,IAAN;IACAoN,KAAK,CAACjB,IAAN,CAAW+nC,KAAK,CAACr1C,OAAN,CAAcc,IAAd,EAAX,EAAiCC,OAAjC,CAAyCC,GAAG,IAAI;MAC5C,KAAKhB,OAAL,CAAa0nC,GAAb,CAAiB1mC,GAAjB,EAAsBq0C,KAAK,CAACr1C,OAAN,CAAc65B,GAAd,CAAkB74B,GAAlB,CAAtB;MACA,KAAKwzC,eAAL,CAAqB9M,GAArB,CAAyB1mC,GAAzB,EAA8Bq0C,KAAK,CAACb,eAAN,CAAsB3a,GAAtB,CAA0B74B,GAA1B,CAA9B;IACH,CAHD;EAIH;;EACD+zC,KAAK,CAACI,MAAD,EAAS;IACV,MAAMJ,KAAK,GAAG,IAAIR,WAAJ,EAAd;IACAQ,KAAK,CAACL,QAAN,GACK,CAAC,CAAC,KAAKA,QAAP,IAAmB,KAAKA,QAAL,YAAyBH,WAA7C,GAA4D,KAAKG,QAAjE,GAA4E,IADhF;IAEAK,KAAK,CAACN,UAAN,GAAmB,CAAC,KAAKA,UAAL,IAAmB,EAApB,EAAwBxqC,MAAxB,CAA+B,CAACkrC,MAAD,CAA/B,CAAnB;IACA,OAAOJ,KAAP;EACH;;EACDK,WAAW,CAACD,MAAD,EAAS;IAChB,MAAMn0C,GAAG,GAAGm0C,MAAM,CAACz9B,IAAP,CAAYyqB,WAAZ,EAAZ;;IACA,QAAQgT,MAAM,CAACH,EAAf;MACI,KAAK,GAAL;MACA,KAAK,GAAL;QACI,IAAI3xC,KAAK,GAAG8xC,MAAM,CAAC9xC,KAAnB;;QACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;UAC3BA,KAAK,GAAG,CAACA,KAAD,CAAR;QACH;;QACD,IAAIA,KAAK,CAACoD,MAAN,KAAiB,CAArB,EAAwB;UACpB;QACH;;QACD,KAAKmuC,sBAAL,CAA4BO,MAAM,CAACz9B,IAAnC,EAAyC1W,GAAzC;QACA,MAAMs0C,IAAI,GAAG,CAACH,MAAM,CAACH,EAAP,KAAc,GAAd,GAAoB,KAAKh1C,OAAL,CAAa65B,GAAb,CAAiB74B,GAAjB,CAApB,GAA4CyJ,SAA7C,KAA2D,EAAxE;QACA6qC,IAAI,CAACntC,IAAL,CAAU,GAAG9E,KAAb;QACA,KAAKrD,OAAL,CAAa0nC,GAAb,CAAiB1mC,GAAjB,EAAsBs0C,IAAtB;QACA;;MACJ,KAAK,GAAL;QACI,MAAMC,QAAQ,GAAGJ,MAAM,CAAC9xC,KAAxB;;QACA,IAAI,CAACkyC,QAAL,EAAe;UACX,KAAKv1C,OAAL,CAAawtC,MAAb,CAAoBxsC,GAApB;UACA,KAAKwzC,eAAL,CAAqBhH,MAArB,CAA4BxsC,GAA5B;QACH,CAHD,MAIK;UACD,IAAIw0C,QAAQ,GAAG,KAAKx1C,OAAL,CAAa65B,GAAb,CAAiB74B,GAAjB,CAAf;;UACA,IAAI,CAACw0C,QAAL,EAAe;YACX;UACH;;UACDA,QAAQ,GAAGA,QAAQ,CAAC5kC,MAAT,CAAgBvN,KAAK,IAAIkyC,QAAQ,CAACjtC,OAAT,CAAiBjF,KAAjB,MAA4B,CAAC,CAAtD,CAAX;;UACA,IAAImyC,QAAQ,CAAC/uC,MAAT,KAAoB,CAAxB,EAA2B;YACvB,KAAKzG,OAAL,CAAawtC,MAAb,CAAoBxsC,GAApB;YACA,KAAKwzC,eAAL,CAAqBhH,MAArB,CAA4BxsC,GAA5B;UACH,CAHD,MAIK;YACD,KAAKhB,OAAL,CAAa0nC,GAAb,CAAiB1mC,GAAjB,EAAsBw0C,QAAtB;UACH;QACJ;;QACD;IAnCR;EAqCH;EACD;AACJ;AACA;;;EACIz0C,OAAO,CAACuI,EAAD,EAAK;IACR,KAAKnI,IAAL;IACAoN,KAAK,CAACjB,IAAN,CAAW,KAAKknC,eAAL,CAAqB1zC,IAArB,EAAX,EACKC,OADL,CACaC,GAAG,IAAIsI,EAAE,CAAC,KAAKkrC,eAAL,CAAqB3a,GAArB,CAAyB74B,GAAzB,CAAD,EAAgC,KAAKhB,OAAL,CAAa65B,GAAb,CAAiB74B,GAAjB,CAAhC,CADtB;EAEH;;AAvNa;AAyNlB;AACA;AACA;AACA;AACA;;;AACA,SAAS6zC,kBAAT,CAA4B70C,OAA5B,EAAqC;EACjC,KAAK,MAAM,CAACgB,GAAD,EAAMqC,KAAN,CAAX,IAA2BxC,MAAM,CAACgsC,OAAP,CAAe7sC,OAAf,CAA3B,EAAoD;IAChD,IAAI,OAAOqD,KAAP,KAAiB,QAAjB,IAA6B,CAACkL,KAAK,CAAC/E,OAAN,CAAcnG,KAAd,CAAlC,EAAwD;MACpD,MAAM,IAAIwD,KAAJ,CAAW,6BAA4B7F,GAAI,sBAAjC,GACX,qDAAoDqC,KAAM,KADzD,CAAN;IAEH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMoyC,oBAAN,CAA2B;EACvB;AACJ;AACA;AACA;AACA;EACIC,SAAS,CAAC10C,GAAD,EAAM;IACX,OAAO20C,gBAAgB,CAAC30C,GAAD,CAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACI40C,WAAW,CAACvyC,KAAD,EAAQ;IACf,OAAOsyC,gBAAgB,CAACtyC,KAAD,CAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIwyC,SAAS,CAAC70C,GAAD,EAAM;IACX,OAAOg1B,kBAAkB,CAACh1B,GAAD,CAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACI80C,WAAW,CAACzyC,KAAD,EAAQ;IACf,OAAO2yB,kBAAkB,CAAC3yB,KAAD,CAAzB;EACH;;AAhCsB;;AAkC3B,SAAS0yC,WAAT,CAAqBC,SAArB,EAAgCC,KAAhC,EAAuC;EACnC,MAAMjoC,GAAG,GAAG,IAAIy1B,GAAJ,EAAZ;;EACA,IAAIuS,SAAS,CAACvvC,MAAV,GAAmB,CAAvB,EAA0B;IACtB;IACA;IACA;IACA,MAAMnE,MAAM,GAAG0zC,SAAS,CAACh1B,OAAV,CAAkB,KAAlB,EAAyB,EAAzB,EAA6B4E,KAA7B,CAAmC,GAAnC,CAAf;IACAtjB,MAAM,CAACvB,OAAP,CAAgBm1C,KAAD,IAAW;MACtB,MAAMC,KAAK,GAAGD,KAAK,CAAC5tC,OAAN,CAAc,GAAd,CAAd;MACA,MAAM,CAACtH,GAAD,EAAM6tB,GAAN,IAAasnB,KAAK,IAAI,CAAC,CAAV,GACf,CAACF,KAAK,CAACJ,SAAN,CAAgBK,KAAhB,CAAD,EAAyB,EAAzB,CADe,GAEf,CAACD,KAAK,CAACJ,SAAN,CAAgBK,KAAK,CAACluC,KAAN,CAAY,CAAZ,EAAemuC,KAAf,CAAhB,CAAD,EAAyCF,KAAK,CAACH,WAAN,CAAkBI,KAAK,CAACluC,KAAN,CAAYmuC,KAAK,GAAG,CAApB,CAAlB,CAAzC,CAFJ;MAGA,MAAMC,IAAI,GAAGpoC,GAAG,CAAC6rB,GAAJ,CAAQ74B,GAAR,KAAgB,EAA7B;MACAo1C,IAAI,CAACjuC,IAAL,CAAU0mB,GAAV;MACA7gB,GAAG,CAAC05B,GAAJ,CAAQ1mC,GAAR,EAAao1C,IAAb;IACH,CARD;EASH;;EACD,OAAOpoC,GAAP;AACH;AACD;AACA;AACA;;;AACA,MAAMqoC,uBAAuB,GAAG,iBAAhC;AACA,MAAMC,8BAA8B,GAAG;EACnC,MAAM,GAD6B;EAEnC,MAAM,GAF6B;EAGnC,MAAM,GAH6B;EAInC,MAAM,GAJ6B;EAKnC,MAAM,GAL6B;EAMnC,MAAM,GAN6B;EAOnC,MAAM,GAP6B;EAQnC,MAAM;AAR6B,CAAvC;;AAUA,SAASX,gBAAT,CAA0B9jC,CAA1B,EAA6B;EACzB,OAAO8jB,kBAAkB,CAAC9jB,CAAD,CAAlB,CAAsBmP,OAAtB,CAA8Bq1B,uBAA9B,EAAuD,CAAC9mB,CAAD,EAAIgnB,CAAJ;IAAA;;IAAA,gCAAUD,8BAA8B,CAACC,CAAD,CAAxC,yEAA+ChnB,CAA/C;EAAA,CAAvD,CAAP;AACH;;AACD,SAASinB,aAAT,CAAuBnzC,KAAvB,EAA8B;EAC1B,OAAQ,GAAEA,KAAM,EAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMozC,UAAN,CAAiB;EACb3zC,WAAW,CAACsL,OAAO,GAAG,EAAX,EAAe;IACtB,KAAKsoC,OAAL,GAAe,IAAf;IACA,KAAKC,SAAL,GAAiB,IAAjB;IACA,KAAKC,OAAL,GAAexoC,OAAO,CAACwoC,OAAR,IAAmB,IAAInB,oBAAJ,EAAlC;;IACA,IAAI,CAAC,CAACrnC,OAAO,CAACyoC,UAAd,EAA0B;MACtB,IAAI,CAAC,CAACzoC,OAAO,CAAC0oC,UAAd,EAA0B;QACtB,MAAM,IAAIjwC,KAAJ,CAAW,gDAAX,CAAN;MACH;;MACD,KAAKmH,GAAL,GAAW+nC,WAAW,CAAC3nC,OAAO,CAACyoC,UAAT,EAAqB,KAAKD,OAA1B,CAAtB;IACH,CALD,MAMK,IAAI,CAAC,CAACxoC,OAAO,CAAC0oC,UAAd,EAA0B;MAC3B,KAAK9oC,GAAL,GAAW,IAAIy1B,GAAJ,EAAX;MACA5iC,MAAM,CAACC,IAAP,CAAYsN,OAAO,CAAC0oC,UAApB,EAAgC/1C,OAAhC,CAAwCC,GAAG,IAAI;QAC3C,MAAMqC,KAAK,GAAG+K,OAAO,CAAC0oC,UAAR,CAAmB91C,GAAnB,CAAd,CAD2C,CAE3C;;QACA,MAAM6L,MAAM,GAAG0B,KAAK,CAAC/E,OAAN,CAAcnG,KAAd,IAAuBA,KAAK,CAAC2K,GAAN,CAAUwoC,aAAV,CAAvB,GAAkD,CAACA,aAAa,CAACnzC,KAAD,CAAd,CAAjE;QACA,KAAK2K,GAAL,CAAS05B,GAAT,CAAa1mC,GAAb,EAAkB6L,MAAlB;MACH,CALD;IAMH,CARI,MASA;MACD,KAAKmB,GAAL,GAAW,IAAX;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI08B,GAAG,CAACwL,KAAD,EAAQ;IACP,KAAK/0C,IAAL;IACA,OAAO,KAAK6M,GAAL,CAAS08B,GAAT,CAAawL,KAAb,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIrc,GAAG,CAACqc,KAAD,EAAQ;IACP,KAAK/0C,IAAL;IACA,MAAM2iB,GAAG,GAAG,KAAK9V,GAAL,CAAS6rB,GAAT,CAAaqc,KAAb,CAAZ;IACA,OAAO,CAAC,CAACpyB,GAAF,GAAQA,GAAG,CAAC,CAAD,CAAX,GAAiB,IAAxB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIgxB,MAAM,CAACoB,KAAD,EAAQ;IACV,KAAK/0C,IAAL;IACA,OAAO,KAAK6M,GAAL,CAAS6rB,GAAT,CAAaqc,KAAb,KAAuB,IAA9B;EACH;EACD;AACJ;AACA;AACA;;;EACIp1C,IAAI,GAAG;IACH,KAAKK,IAAL;IACA,OAAOoN,KAAK,CAACjB,IAAN,CAAW,KAAKU,GAAL,CAASlN,IAAT,EAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIsB,MAAM,CAAC8zC,KAAD,EAAQ7yC,KAAR,EAAe;IACjB,OAAO,KAAK0xC,KAAL,CAAW;MAAEmB,KAAF;MAAS7yC,KAAT;MAAgB2xC,EAAE,EAAE;IAApB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACI+B,SAAS,CAACz0C,MAAD,EAAS;IACd,MAAMo0C,OAAO,GAAG,EAAhB;IACA71C,MAAM,CAACC,IAAP,CAAYwB,MAAZ,EAAoBvB,OAApB,CAA4Bm1C,KAAK,IAAI;MACjC,MAAM7yC,KAAK,GAAGf,MAAM,CAAC4zC,KAAD,CAApB;;MACA,IAAI3nC,KAAK,CAAC/E,OAAN,CAAcnG,KAAd,CAAJ,EAA0B;QACtBA,KAAK,CAACtC,OAAN,CAAcqC,MAAM,IAAI;UACpBszC,OAAO,CAACvuC,IAAR,CAAa;YAAE+tC,KAAF;YAAS7yC,KAAK,EAAED,MAAhB;YAAwB4xC,EAAE,EAAE;UAA5B,CAAb;QACH,CAFD;MAGH,CAJD,MAKK;QACD0B,OAAO,CAACvuC,IAAR,CAAa;UAAE+tC,KAAF;UAAS7yC,KAAK,EAAEA,KAAhB;UAAuB2xC,EAAE,EAAE;QAA3B,CAAb;MACH;IACJ,CAVD;IAWA,OAAO,KAAKD,KAAL,CAAW2B,OAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIhP,GAAG,CAACwO,KAAD,EAAQ7yC,KAAR,EAAe;IACd,OAAO,KAAK0xC,KAAL,CAAW;MAAEmB,KAAF;MAAS7yC,KAAT;MAAgB2xC,EAAE,EAAE;IAApB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIxH,MAAM,CAAC0I,KAAD,EAAQ7yC,KAAR,EAAe;IACjB,OAAO,KAAK0xC,KAAL,CAAW;MAAEmB,KAAF;MAAS7yC,KAAT;MAAgB2xC,EAAE,EAAE;IAApB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACI/mC,QAAQ,GAAG;IACP,KAAK9M,IAAL;IACA,OAAO,KAAKL,IAAL,GACFkN,GADE,CACEhN,GAAG,IAAI;MACZ,MAAMg2C,IAAI,GAAG,KAAKJ,OAAL,CAAalB,SAAb,CAAuB10C,GAAvB,CAAb,CADY,CAEZ;MACA;MACA;;MACA,OAAO,KAAKgN,GAAL,CAAS6rB,GAAT,CAAa74B,GAAb,EAAkBgN,GAAlB,CAAsB3K,KAAK,IAAI2zC,IAAI,GAAG,GAAP,GAAa,KAAKJ,OAAL,CAAahB,WAAb,CAAyBvyC,KAAzB,CAA5C,EACFyU,IADE,CACG,GADH,CAAP;IAEH,CARM,EASH;IACA;IAVG,CAWFlH,MAXE,CAWKslC,KAAK,IAAIA,KAAK,KAAK,EAXxB,EAYFp+B,IAZE,CAYG,GAZH,CAAP;EAaH;;EACDi9B,KAAK,CAACI,MAAD,EAAS;IACV,MAAMJ,KAAK,GAAG,IAAI0B,UAAJ,CAAe;MAAEG,OAAO,EAAE,KAAKA;IAAhB,CAAf,CAAd;IACA7B,KAAK,CAAC4B,SAAN,GAAkB,KAAKA,SAAL,IAAkB,IAApC;IACA5B,KAAK,CAAC2B,OAAN,GAAgB,CAAC,KAAKA,OAAL,IAAgB,EAAjB,EAAqBzsC,MAArB,CAA4BkrC,MAA5B,CAAhB;IACA,OAAOJ,KAAP;EACH;;EACD5zC,IAAI,GAAG;IACH,IAAI,KAAK6M,GAAL,KAAa,IAAjB,EAAuB;MACnB,KAAKA,GAAL,GAAW,IAAIy1B,GAAJ,EAAX;IACH;;IACD,IAAI,KAAKkT,SAAL,KAAmB,IAAvB,EAA6B;MACzB,KAAKA,SAAL,CAAex1C,IAAf;MACA,KAAKw1C,SAAL,CAAe71C,IAAf,GAAsBC,OAAtB,CAA8BC,GAAG,IAAI,KAAKgN,GAAL,CAAS05B,GAAT,CAAa1mC,GAAb,EAAkB,KAAK21C,SAAL,CAAe3oC,GAAf,CAAmB6rB,GAAnB,CAAuB74B,GAAvB,CAAlB,CAArC;MACA,KAAK01C,OAAL,CAAa31C,OAAb,CAAqBo0C,MAAM,IAAI;QAC3B,QAAQA,MAAM,CAACH,EAAf;UACI,KAAK,GAAL;UACA,KAAK,GAAL;YACI,MAAMM,IAAI,GAAG,CAACH,MAAM,CAACH,EAAP,KAAc,GAAd,GAAoB,KAAKhnC,GAAL,CAAS6rB,GAAT,CAAasb,MAAM,CAACe,KAApB,CAApB,GAAiDzrC,SAAlD,KAAgE,EAA7E;YACA6qC,IAAI,CAACntC,IAAL,CAAUquC,aAAa,CAACrB,MAAM,CAAC9xC,KAAR,CAAvB;YACA,KAAK2K,GAAL,CAAS05B,GAAT,CAAayN,MAAM,CAACe,KAApB,EAA2BZ,IAA3B;YACA;;UACJ,KAAK,GAAL;YACI,IAAIH,MAAM,CAAC9xC,KAAP,KAAiBoH,SAArB,EAAgC;cAC5B,IAAI6qC,IAAI,GAAG,KAAKtnC,GAAL,CAAS6rB,GAAT,CAAasb,MAAM,CAACe,KAApB,KAA8B,EAAzC;cACA,MAAMlhC,GAAG,GAAGsgC,IAAI,CAAChtC,OAAL,CAAakuC,aAAa,CAACrB,MAAM,CAAC9xC,KAAR,CAA1B,CAAZ;;cACA,IAAI2R,GAAG,KAAK,CAAC,CAAb,EAAgB;gBACZsgC,IAAI,CAAC/sC,MAAL,CAAYyM,GAAZ,EAAiB,CAAjB;cACH;;cACD,IAAIsgC,IAAI,CAAC7uC,MAAL,GAAc,CAAlB,EAAqB;gBACjB,KAAKuH,GAAL,CAAS05B,GAAT,CAAayN,MAAM,CAACe,KAApB,EAA2BZ,IAA3B;cACH,CAFD,MAGK;gBACD,KAAKtnC,GAAL,CAASw/B,MAAT,CAAgB2H,MAAM,CAACe,KAAvB;cACH;YACJ,CAZD,MAaK;cACD,KAAKloC,GAAL,CAASw/B,MAAT,CAAgB2H,MAAM,CAACe,KAAvB;cACA;YACH;;QAxBT;MA0BH,CA3BD;MA4BA,KAAKS,SAAL,GAAiB,KAAKD,OAAL,GAAe,IAAhC;IACH;EACJ;;AA9KY;AAiLjB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMO,gBAAN,CAAuB;EACnBn0C,WAAW,CAAC0N,YAAD,EAAe;IACtB,KAAKA,YAAL,GAAoBA,YAApB;EACH;;AAHkB;AAKvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0mC,WAAN,CAAkB;EACdp0C,WAAW,GAAG;IACV,KAAKkL,GAAL,GAAW,IAAIy1B,GAAJ,EAAX;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIiE,GAAG,CAAC3B,KAAD,EAAQ1iC,KAAR,EAAe;IACd,KAAK2K,GAAL,CAAS05B,GAAT,CAAa3B,KAAb,EAAoB1iC,KAApB;IACA,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIw2B,GAAG,CAACkM,KAAD,EAAQ;IACP,IAAI,CAAC,KAAK/3B,GAAL,CAAS08B,GAAT,CAAa3E,KAAb,CAAL,EAA0B;MACtB,KAAK/3B,GAAL,CAAS05B,GAAT,CAAa3B,KAAb,EAAoBA,KAAK,CAACv1B,YAAN,EAApB;IACH;;IACD,OAAO,KAAKxC,GAAL,CAAS6rB,GAAT,CAAakM,KAAb,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIyH,MAAM,CAACzH,KAAD,EAAQ;IACV,KAAK/3B,GAAL,CAASw/B,MAAT,CAAgBzH,KAAhB;IACA,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI2E,GAAG,CAAC3E,KAAD,EAAQ;IACP,OAAO,KAAK/3B,GAAL,CAAS08B,GAAT,CAAa3E,KAAb,CAAP;EACH;EACD;AACJ;AACA;;;EACIjlC,IAAI,GAAG;IACH,OAAO,KAAKkN,GAAL,CAASlN,IAAT,EAAP;EACH;;AAvDa;AA0DlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASq2C,aAAT,CAAuBC,MAAvB,EAA+B;EAC3B,QAAQA,MAAR;IACI,KAAK,QAAL;IACA,KAAK,KAAL;IACA,KAAK,MAAL;IACA,KAAK,SAAL;IACA,KAAK,OAAL;MACI,OAAO,KAAP;;IACJ;MACI,OAAO,IAAP;EARR;AAUH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,aAAT,CAAuBh0C,KAAvB,EAA8B;EAC1B,OAAO,OAAOi0C,WAAP,KAAuB,WAAvB,IAAsCj0C,KAAK,YAAYi0C,WAA9D;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,MAAT,CAAgBl0C,KAAhB,EAAuB;EACnB,OAAO,OAAOm0C,IAAP,KAAgB,WAAhB,IAA+Bn0C,KAAK,YAAYm0C,IAAvD;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,UAAT,CAAoBp0C,KAApB,EAA2B;EACvB,OAAO,OAAOlB,QAAP,KAAoB,WAApB,IAAmCkB,KAAK,YAAYlB,QAA3D;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASu1C,iBAAT,CAA2Br0C,KAA3B,EAAkC;EAC9B,OAAO,OAAOs0C,eAAP,KAA2B,WAA3B,IAA0Ct0C,KAAK,YAAYs0C,eAAlE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;EACd90C,WAAW,CAACs0C,MAAD,EAASt3C,GAAT,EAAc+3C,KAAd,EAAqBC,MAArB,EAA6B;IACpC,KAAKh4C,GAAL,GAAWA,GAAX;IACA;AACR;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAKkoC,IAAL,GAAY,IAAZ;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAK+P,cAAL,GAAsB,KAAtB;IACA;AACR;AACA;;IACQ,KAAKC,eAAL,GAAuB,KAAvB;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAKC,YAAL,GAAoB,MAApB;IACA,KAAKb,MAAL,GAAcA,MAAM,CAAC7U,WAAP,EAAd,CA5BoC,CA6BpC;IACA;;IACA,IAAIn0B,OAAJ,CA/BoC,CAgCpC;IACA;;IACA,IAAI+oC,aAAa,CAAC,KAAKC,MAAN,CAAb,IAA8B,CAAC,CAACU,MAApC,EAA4C;MACxC;MACA,KAAK9P,IAAL,GAAa6P,KAAK,KAAKptC,SAAX,GAAwBotC,KAAxB,GAAgC,IAA5C;MACAzpC,OAAO,GAAG0pC,MAAV;IACH,CAJD,MAKK;MACD;MACA1pC,OAAO,GAAGypC,KAAV;IACH,CA1CmC,CA2CpC;;;IACA,IAAIzpC,OAAJ,EAAa;MACT;MACA,KAAK2pC,cAAL,GAAsB,CAAC,CAAC3pC,OAAO,CAAC2pC,cAAhC;MACA,KAAKC,eAAL,GAAuB,CAAC,CAAC5pC,OAAO,CAAC4pC,eAAjC,CAHS,CAIT;;MACA,IAAI,CAAC,CAAC5pC,OAAO,CAAC6pC,YAAd,EAA4B;QACxB,KAAKA,YAAL,GAAoB7pC,OAAO,CAAC6pC,YAA5B;MACH,CAPQ,CAQT;;;MACA,IAAI,CAAC,CAAC7pC,OAAO,CAACpO,OAAd,EAAuB;QACnB,KAAKA,OAAL,GAAeoO,OAAO,CAACpO,OAAvB;MACH;;MACD,IAAI,CAAC,CAACoO,OAAO,CAACpF,OAAd,EAAuB;QACnB,KAAKA,OAAL,GAAeoF,OAAO,CAACpF,OAAvB;MACH;;MACD,IAAI,CAAC,CAACoF,OAAO,CAAC9L,MAAd,EAAsB;QAClB,KAAKA,MAAL,GAAc8L,OAAO,CAAC9L,MAAtB;MACH;IACJ,CA9DmC,CA+DpC;;;IACA,IAAI,CAAC,KAAKtC,OAAV,EAAmB;MACf,KAAKA,OAAL,GAAe,IAAIu0C,WAAJ,EAAf;IACH,CAlEmC,CAmEpC;;;IACA,IAAI,CAAC,KAAKvrC,OAAV,EAAmB;MACf,KAAKA,OAAL,GAAe,IAAIkuC,WAAJ,EAAf;IACH,CAtEmC,CAuEpC;;;IACA,IAAI,CAAC,KAAK50C,MAAV,EAAkB;MACd,KAAKA,MAAL,GAAc,IAAIm0C,UAAJ,EAAd;MACA,KAAKyB,aAAL,GAAqBp4C,GAArB;IACH,CAHD,MAIK;MACD;MACA,MAAMwC,MAAM,GAAG,KAAKA,MAAL,CAAY2L,QAAZ,EAAf;;MACA,IAAI3L,MAAM,CAACmE,MAAP,KAAkB,CAAtB,EAAyB;QACrB;QACA,KAAKyxC,aAAL,GAAqBp4C,GAArB;MACH,CAHD,MAIK;QACD;QACA,MAAMq4C,IAAI,GAAGr4C,GAAG,CAACwI,OAAJ,CAAY,GAAZ,CAAb,CAFC,CAGD;QACA;QACA;QACA;QACA;QACA;QACA;;QACA,MAAM8vC,GAAG,GAAGD,IAAI,KAAK,CAAC,CAAV,GAAc,GAAd,GAAqBA,IAAI,GAAGr4C,GAAG,CAAC2G,MAAJ,GAAa,CAApB,GAAwB,GAAxB,GAA8B,EAA/D;QACA,KAAKyxC,aAAL,GAAqBp4C,GAAG,GAAGs4C,GAAN,GAAY91C,MAAjC;MACH;IACJ;EACJ;EACD;AACJ;AACA;AACA;;;EACI+1C,aAAa,GAAG;IACZ;IACA,IAAI,KAAKrQ,IAAL,KAAc,IAAlB,EAAwB;MACpB,OAAO,IAAP;IACH,CAJW,CAKZ;IACA;;;IACA,IAAIqP,aAAa,CAAC,KAAKrP,IAAN,CAAb,IAA4BuP,MAAM,CAAC,KAAKvP,IAAN,CAAlC,IAAiDyP,UAAU,CAAC,KAAKzP,IAAN,CAA3D,IACA0P,iBAAiB,CAAC,KAAK1P,IAAN,CADjB,IACgC,OAAO,KAAKA,IAAZ,KAAqB,QADzD,EACmE;MAC/D,OAAO,KAAKA,IAAZ;IACH,CAVW,CAWZ;;;IACA,IAAI,KAAKA,IAAL,YAAqByO,UAAzB,EAAqC;MACjC,OAAO,KAAKzO,IAAL,CAAU/5B,QAAV,EAAP;IACH,CAdW,CAeZ;;;IACA,IAAI,OAAO,KAAK+5B,IAAZ,KAAqB,QAArB,IAAiC,OAAO,KAAKA,IAAZ,KAAqB,SAAtD,IACAz5B,KAAK,CAAC/E,OAAN,CAAc,KAAKw+B,IAAnB,CADJ,EAC8B;MAC1B,OAAOplC,IAAI,CAACC,SAAL,CAAe,KAAKmlC,IAApB,CAAP;IACH,CAnBW,CAoBZ;;;IACA,OAAO,KAAKA,IAAL,CAAU/5B,QAAV,EAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIqqC,uBAAuB,GAAG;IACtB;IACA,IAAI,KAAKtQ,IAAL,KAAc,IAAlB,EAAwB;MACpB,OAAO,IAAP;IACH,CAJqB,CAKtB;;;IACA,IAAIyP,UAAU,CAAC,KAAKzP,IAAN,CAAd,EAA2B;MACvB,OAAO,IAAP;IACH,CARqB,CAStB;IACA;;;IACA,IAAIuP,MAAM,CAAC,KAAKvP,IAAN,CAAV,EAAuB;MACnB,OAAO,KAAKA,IAAL,CAAUlsB,IAAV,IAAkB,IAAzB;IACH,CAbqB,CActB;;;IACA,IAAIu7B,aAAa,CAAC,KAAKrP,IAAN,CAAjB,EAA8B;MAC1B,OAAO,IAAP;IACH,CAjBqB,CAkBtB;IACA;;;IACA,IAAI,OAAO,KAAKA,IAAZ,KAAqB,QAAzB,EAAmC;MAC/B,OAAO,YAAP;IACH,CAtBqB,CAuBtB;;;IACA,IAAI,KAAKA,IAAL,YAAqByO,UAAzB,EAAqC;MACjC,OAAO,iDAAP;IACH,CA1BqB,CA2BtB;;;IACA,IAAI,OAAO,KAAKzO,IAAZ,KAAqB,QAArB,IAAiC,OAAO,KAAKA,IAAZ,KAAqB,QAAtD,IACA,OAAO,KAAKA,IAAZ,KAAqB,SADzB,EACoC;MAChC,OAAO,kBAAP;IACH,CA/BqB,CAgCtB;;;IACA,OAAO,IAAP;EACH;;EACD+M,KAAK,CAACI,MAAM,GAAG,EAAV,EAAc;IAAA;;IACf;IACA;IACA,MAAMiC,MAAM,GAAGjC,MAAM,CAACiC,MAAP,IAAiB,KAAKA,MAArC;IACA,MAAMt3C,GAAG,GAAGq1C,MAAM,CAACr1C,GAAP,IAAc,KAAKA,GAA/B;IACA,MAAMm4C,YAAY,GAAG9C,MAAM,CAAC8C,YAAP,IAAuB,KAAKA,YAAjD,CALe,CAMf;IACA;IACA;IACA;;IACA,MAAMjQ,IAAI,GAAImN,MAAM,CAACnN,IAAP,KAAgBv9B,SAAjB,GAA8B0qC,MAAM,CAACnN,IAArC,GAA4C,KAAKA,IAA9D,CAVe,CAWf;IACA;;IACA,MAAMgQ,eAAe,GAAI7C,MAAM,CAAC6C,eAAP,KAA2BvtC,SAA5B,GAAyC0qC,MAAM,CAAC6C,eAAhD,GAAkE,KAAKA,eAA/F;IACA,MAAMD,cAAc,GAAI5C,MAAM,CAAC4C,cAAP,KAA0BttC,SAA3B,GAAwC0qC,MAAM,CAAC4C,cAA/C,GAAgE,KAAKA,cAA5F,CAde,CAef;IACA;;IACA,IAAI/3C,OAAO,GAAGm1C,MAAM,CAACn1C,OAAP,IAAkB,KAAKA,OAArC;IACA,IAAIsC,MAAM,GAAG6yC,MAAM,CAAC7yC,MAAP,IAAiB,KAAKA,MAAnC,CAlBe,CAmBf;;IACA,MAAM0G,OAAO,sBAAGmsC,MAAM,CAACnsC,OAAV,6DAAqB,KAAKA,OAAvC,CApBe,CAqBf;;IACA,IAAImsC,MAAM,CAACoD,UAAP,KAAsB9tC,SAA1B,EAAqC;MACjC;MACAzK,OAAO,GACHa,MAAM,CAACC,IAAP,CAAYq0C,MAAM,CAACoD,UAAnB,EACKjuC,MADL,CACY,CAACtK,OAAD,EAAU0X,IAAV,KAAmB1X,OAAO,CAAC0nC,GAAR,CAAYhwB,IAAZ,EAAkBy9B,MAAM,CAACoD,UAAP,CAAkB7gC,IAAlB,CAAlB,CAD/B,EAC2E1X,OAD3E,CADJ;IAGH,CA3Bc,CA4Bf;;;IACA,IAAIm1C,MAAM,CAACqD,SAAX,EAAsB;MAClB;MACAl2C,MAAM,GAAGzB,MAAM,CAACC,IAAP,CAAYq0C,MAAM,CAACqD,SAAnB,EACJluC,MADI,CACG,CAAChI,MAAD,EAAS4zC,KAAT,KAAmB5zC,MAAM,CAAColC,GAAP,CAAWwO,KAAX,EAAkBf,MAAM,CAACqD,SAAP,CAAiBtC,KAAjB,CAAlB,CADtB,EACkE5zC,MADlE,CAAT;IAEH,CAjCc,CAkCf;;;IACA,OAAO,IAAIs1C,WAAJ,CAAgBR,MAAhB,EAAwBt3C,GAAxB,EAA6BkoC,IAA7B,EAAmC;MACtC1lC,MADsC;MAEtCtC,OAFsC;MAGtCgJ,OAHsC;MAItC+uC,cAJsC;MAKtCE,YALsC;MAMtCD;IANsC,CAAnC,CAAP;EAQH;;AAlNa;AAqNlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIS,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;EACtB;AACJ;AACA;EACIA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,gBAAD,CAAb,GAAkC,CAAnC,CAAb,GAAqD,gBAArD;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,gBAAD,CAAb,GAAkC,CAAnC,CAAb,GAAqD,gBAArD;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,kBAAD,CAAb,GAAoC,CAArC,CAAb,GAAuD,kBAAvD;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,UAAD,CAAb,GAA4B,CAA7B,CAAb,GAA+C,UAA/C;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,CAzBD,EAyBGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAzBhB;AA0BA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;EACnB;AACJ;AACA;AACA;AACA;AACA;EACI51C,WAAW,CAAC3B,IAAD,EAAOw3C,aAAa,GAAG;EAAI;EAA3B,EAAoDC,iBAAiB,GAAG,IAAxE,EAA8E;IACrF;IACA;IACA,KAAK54C,OAAL,GAAemB,IAAI,CAACnB,OAAL,IAAgB,IAAIu0C,WAAJ,EAA/B;IACA,KAAK9zC,MAAL,GAAcU,IAAI,CAACV,MAAL,KAAgBgK,SAAhB,GAA4BtJ,IAAI,CAACV,MAAjC,GAA0Ck4C,aAAxD;IACA,KAAKE,UAAL,GAAkB13C,IAAI,CAAC03C,UAAL,IAAmBD,iBAArC;IACA,KAAK94C,GAAL,GAAWqB,IAAI,CAACrB,GAAL,IAAY,IAAvB,CANqF,CAOrF;;IACA,KAAKg5C,EAAL,GAAU,KAAKr4C,MAAL,IAAe,GAAf,IAAsB,KAAKA,MAAL,GAAc,GAA9C;EACH;;AAhBkB;AAkBvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs4C,kBAAN,SAAiCL,gBAAjC,CAAkD;EAC9C;AACJ;AACA;EACI51C,WAAW,CAAC3B,IAAI,GAAG,EAAR,EAAY;IACnB,MAAMA,IAAN;IACA,KAAK2a,IAAL,GAAY28B,aAAa,CAACO,cAA1B;EACH;EACD;AACJ;AACA;AACA;;;EACIjE,KAAK,CAACI,MAAM,GAAG,EAAV,EAAc;IACf;IACA;IACA,OAAO,IAAI4D,kBAAJ,CAAuB;MAC1B/4C,OAAO,EAAEm1C,MAAM,CAACn1C,OAAP,IAAkB,KAAKA,OADN;MAE1BS,MAAM,EAAE00C,MAAM,CAAC10C,MAAP,KAAkBgK,SAAlB,GAA8B0qC,MAAM,CAAC10C,MAArC,GAA8C,KAAKA,MAFjC;MAG1Bo4C,UAAU,EAAE1D,MAAM,CAAC0D,UAAP,IAAqB,KAAKA,UAHZ;MAI1B/4C,GAAG,EAAEq1C,MAAM,CAACr1C,GAAP,IAAc,KAAKA,GAAnB,IAA0B2K;IAJL,CAAvB,CAAP;EAMH;;AArB6C;AAuBlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwuC,YAAN,SAA2BP,gBAA3B,CAA4C;EACxC;AACJ;AACA;EACI51C,WAAW,CAAC3B,IAAI,GAAG,EAAR,EAAY;IACnB,MAAMA,IAAN;IACA,KAAK2a,IAAL,GAAY28B,aAAa,CAACS,QAA1B;IACA,KAAKlR,IAAL,GAAY7mC,IAAI,CAAC6mC,IAAL,KAAcv9B,SAAd,GAA0BtJ,IAAI,CAAC6mC,IAA/B,GAAsC,IAAlD;EACH;;EACD+M,KAAK,CAACI,MAAM,GAAG,EAAV,EAAc;IACf,OAAO,IAAI8D,YAAJ,CAAiB;MACpBjR,IAAI,EAAGmN,MAAM,CAACnN,IAAP,KAAgBv9B,SAAjB,GAA8B0qC,MAAM,CAACnN,IAArC,GAA4C,KAAKA,IADnC;MAEpBhoC,OAAO,EAAEm1C,MAAM,CAACn1C,OAAP,IAAkB,KAAKA,OAFZ;MAGpBS,MAAM,EAAG00C,MAAM,CAAC10C,MAAP,KAAkBgK,SAAnB,GAAgC0qC,MAAM,CAAC10C,MAAvC,GAAgD,KAAKA,MAHzC;MAIpBo4C,UAAU,EAAE1D,MAAM,CAAC0D,UAAP,IAAqB,KAAKA,UAJlB;MAKpB/4C,GAAG,EAAEq1C,MAAM,CAACr1C,GAAP,IAAc,KAAKA,GAAnB,IAA0B2K;IALX,CAAjB,CAAP;EAOH;;AAjBuC;AAmB5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0uC,iBAAN,SAAgCT,gBAAhC,CAAiD;EAC7C51C,WAAW,CAAC3B,IAAD,EAAO;IACd;IACA,MAAMA,IAAN,EAAY,CAAZ,EAAe,eAAf;IACA,KAAKuW,IAAL,GAAY,mBAAZ;IACA;AACR;AACA;;IACQ,KAAKohC,EAAL,GAAU,KAAV,CAPc,CAQd;IACA;IACA;;IACA,IAAI,KAAKr4C,MAAL,IAAe,GAAf,IAAsB,KAAKA,MAAL,GAAc,GAAxC,EAA6C;MACzC,KAAKgX,OAAL,GAAgB,mCAAkCtW,IAAI,CAACrB,GAAL,IAAY,eAAgB,EAA9E;IACH,CAFD,MAGK;MACD,KAAK2X,OAAL,GAAgB,6BAA4BtW,IAAI,CAACrB,GAAL,IAAY,eAAgB,KAAIqB,IAAI,CAACV,MAAO,IAAGU,IAAI,CAAC03C,UAAW,EAA3G;IACH;;IACD,KAAKt0C,KAAL,GAAapD,IAAI,CAACoD,KAAL,IAAc,IAA3B;EACH;;AAnB4C;AAsBjD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS60C,OAAT,CAAiBhrC,OAAjB,EAA0B45B,IAA1B,EAAgC;EAC5B,OAAO;IACHA,IADG;IAEHhoC,OAAO,EAAEoO,OAAO,CAACpO,OAFd;IAGHgJ,OAAO,EAAEoF,OAAO,CAACpF,OAHd;IAIHokC,OAAO,EAAEh/B,OAAO,CAACg/B,OAJd;IAKH9qC,MAAM,EAAE8L,OAAO,CAAC9L,MALb;IAMHy1C,cAAc,EAAE3pC,OAAO,CAAC2pC,cANrB;IAOHE,YAAY,EAAE7pC,OAAO,CAAC6pC,YAPnB;IAQHD,eAAe,EAAE5pC,OAAO,CAAC4pC;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,MAAMqB,UAAN,CAAiB;EACbv2C,WAAW,CAACwL,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;A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AA1C;AACH;;AACD,SAASmwD,oBAAT,GAAgC;EAC5B,OAAON,gBAAgB,CAACC,MAAjB,CAAwBM,iBAA/B;AACH;;AACD,SAASC,yBAAT,GAAqC;EACjCR,gBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASE,yBAAT,GAAqC;EACjCT,gBAAgB,CAACC,MAAjB,CAAwBM,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,CAAwBpF,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAASiG,QAAT,GAAoB;EAChB,OAAOd,gBAAgB,CAACC,MAAjB,CAAwB1N,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwO,aAAT,CAAuBC,aAAvB,EAAsC;EAClChB,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GAAuCD,aAAvC;EACA,OAAOA,aAAa,CAACnI,OAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqI,WAAT,CAAqB1xD,KAArB,EAA4B;EACxBwwD,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GAAuC,IAAvC;EACA,OAAOzxD,KAAP;AACH;;AACD,SAAS2xD,eAAT,GAA2B;EACvB,IAAIC,YAAY,GAAGC,4BAA4B,EAA/C;;EACA,OAAOD,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/B,MAAMsP,uBAAuB,CAACtP,SAAD,CAA7B;EACH;;AAH+B;AAKpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2P,0BAAN,CAAiC;;AAEjCA,0BAA0B,CAACC,IAA3B,GAAoC,eAAe,IAAIH,6BAAJ,EAAnD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,SAASI,gBAAT,GAA4B;EACxB,OAAOC,gBAAgB,CAACznB,eAAe,EAAhB,EAAoBN,QAAQ,EAA5B,CAAvB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+nB,gBAAT,CAA0Bt2B,KAA1B,EAAiCuI,KAAjC,EAAwC;EACpC,OAAO,IAAI5zC,UAAJ,CAAe83C,gBAAgB,CAACzM,KAAD,EAAQuI,KAAR,CAA/B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM5zC,UAAN,CAAiB;EACbhY,WAAW,CAACk1B,aAAD,EAAgB;IACvB,KAAKA,aAAL,GAAqBA,aAArB;EACH;;AAHY;AAKjB;AACA;AACA;AACA;;;AACAld,UAAU,CAACstC,iBAAX,GAA+Bo0B,gBAA/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,gBAAT,CAA0Br5E,KAA1B,EAAiC;EAC7B,OAAOA,KAAK,YAAYyX,UAAjB,GAA8BzX,KAAK,CAAC20B,aAApC,GAAoD30B,KAA3D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs5E,oBAAoB,GAAG,IAAI7jE,cAAJ,CAAmB,sBAAnB,CAA7B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM8jE,gBAAN,CAAuB;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM/hE,SAAN,CAAgB;AAEhB;AACA;AACA;AACA;;;AACAA,SAAS,CAACutC,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AFI,MAGA,IAAIA,aAAa,YAAYn7E,cAA7B,EAA6C;MAC9CitB,KAAK,GAAGkuD,aAAR;IACH;EACJ;;EACDluD,KAAK,GAAGwa,iBAAiB,CAACxa,KAAD,CAAzB;;EACA,IAAIA,KAAK,IAAI,IAAb,EAAmB;IACf,OAAOiuD,iBAAiB,CAACjuD,KAAD,EAAQmE,QAAR,EAAkBqoD,UAAlB,CAAxB;EACH,CAFD,MAGK;IACD,MAAMf,iBAAiB,CAACtoB,UAAD,EAAa5mE,MAAb,CAAvB;EACH;AACJ;;AACD,SAAS0xF,iBAAT,CAA2BjuD,KAA3B,EAAkCmE,QAAlC,EAA4CqoD,UAA5C,EAAwD;EACpD,OAAO,IAAID,oBAAJ,CAAyBP,aAAa,CAACl4D,GAAd,CAAkBkM,KAAlB,CAAzB,EAAmDmE,QAAnD,EAA6DqoD,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2B,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,OAAPj0F,OAAO,CAACwrC,SAAD,EAAY;IACtB,OAAO4nD,0BAA0B,CAAC5nD,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,OAAhB0oD,gBAAgB,CAAC1oD,SAAD,EAAY1nC,MAAZ,EAAoB;IACvC,MAAMqwF,2BAA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AACA;AACA;AACA;AACA;AACA;AACA;;;EACI0wB,YAAY,GAAG;IACX8kE,aAAa,CAAC,KAAKwB,mBAAL,IAA4B,KAAKlmC,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;;;EACIumC,MAAM,GAAG;IACL,KAAKvmC,MAAL,CAAY9V,KAAZ,KAAsB,CAAC;IAAG;IAA1B;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;AACA;AACA;AACA;;;EACIs8C,QAAQ,GAAG;IACP,KAAKxmC,MAAL,CAAY9V,KAAZ,KAAsB;IAAG;IAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIu8C,aAAa,GAAG;IACZ9B,qBAAqB,CAAC,KAAK3kC,MAAL,CAAY/V,KAAZ,CAAD,EAAqB,KAAK+V,MAA1B,EAAkC,KAAKl5D,OAAvC,CAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI4/F,cAAc,GAAG;IACb,IAAI7uE,SAAJ,EAAe;MACXitE,sBAAsB,CAAC,KAAK9kC,MAAL,CAAY/V,KAAZ,CAAD,EAAqB,KAAK+V,MAA1B,EAAkC,KAAKl5D,OAAvC,CAAtB;IAC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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,IAAIC,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+B/+C,KAA/B,EAAsCxQ,KAAtC,EAA6CwvD,qBAA7C,EAAoExxG,KAApE,EAA2EyxG,aAA3E,EAA0FC,cAA1F,EAA0G;EACtG97E,SAAS,IAAI61B,qBAAqB,CAAC+E,QAAQ,EAAT,CAAlC;EACA,IAAImhD,SAAS,GAAGD,cAAc,GAAG1vD,KAAK,CAACwzC,aAAT,GAAyBxzC,KAAK,CAACyzC,aAA7D;EACA,IAAImc,QAAQ,GAAG1f,oBAAoB,CAACyf,SAAD,CAAnC;EACA,IAAIE,QAAQ,GAAGtf,oBAAoB,CAACof,SAAD,CAAnC;EACAn/C,KAAK,CAACxyD,KAAD,CAAL,GAAewxG,qBAAf;EACA,IAAIM,sBAAsB,GAAG,KAA7B;EACA,IAAIC,WAAJ;;EACA,IAAI3nG,KAAK,CAAC/E,OAAN,CAAcmsG,qBAAd,CAAJ,EAA0C;IACtC;IACA,MAAMQ,mBAAmB,GAAGR,qBAA5B;IACAO,WAAW,GAAGC,mBAAmB,CAAC,CAAD,CAAjC,CAHsC,CAGA;IA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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,SAASC,WAAT,CAAqBlvC,IAArB,EAA2BnmE,KAA3B,EAAkC2rG,MAAlC,EAA0C;EACtC2J,oBAAoB,CAACnvC,IAAD,EAAOnmE,KAAP,EAAc2rG,MAAd,EAAsB,KAAtB,CAApB;EACA,OAAO0J,WAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,WAAT,CAAqBvsB,SAArB,EAAgChpF,KAAhC,EAAuC;EACnCs1G,oBAAoB,CAACtsB,SAAD,EAAYhpF,KAAZ,EAAmB,IAAnB,EAAyB,IAAzB,CAApB;EACA,OAAOu1G,WAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,UAAT,CAAoB5uD,MAApB,EAA4B;EACxB6uD,eAAe,CAACC,qBAAD,EAAwBC,iBAAxB,EAA2C/uD,MAA3C,EAAmD,KAAnD,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+uD,iBAAT,CAA2BxxC,aAA3B,EAA0C9mE,IAA1C,EAAgD;EAC5C,KAAK,IAAIuH,CAAC,GAAG2vG,UAAU,CAACl3G,IAAD,CAAvB,EAA+BuH,CAAC,IAAI,CAApC,EAAuCA,CAAC,GAAG4vG,cAAc,CAACn3G,IAAD,EAAOuH,CAAP,CAAzD,EAAoE;IAChE8wG,qBAAqB,CAACvxC,aAAD,EAAgB6vC,gBAAgB,CAAC32G,IAAD,CAAhC,EAAwC42G,kBAAkB,CAAC52G,IAAD,CAA1D,CAArB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu4G,UAAT,CAAoBx5C,OAA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AC,QAAD,EAAYw+D,mBAAD,KAA0B;EAAEA;AAAF,CAA1B,CAAX,CAAhC;AACA;AACA;AACA;AACA;;AACA,MAAME,WAAW,GAAG1+D,iBAAiB,CAAC,aAAD,EAAiB2+D,gBAAD,KAAuB;EAAEA;AAAF,CAAvB,CAAhB,CAArC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,YAAY,GAAG5+D,iBAAiB,CAAC,cAAD,EAAiB,CAACr2D,SAAD,EAAYE,IAAZ,MAAsB;EAAEF,SAAF;EAAaE;AAAb,CAAtB,CAAjB,CAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,MAAMoM,QAAQ,GAAGwoD,aAAa,CAAC,UAAD,EAAcrqC,QAAD,IAAcA,QAA3B,EAAqCnuB,SAArC,EAAgDA,SAAhD;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAACqR,IAAD,EAAO8oD,IAAP,KAAgB+3D,eAAe,CAAC7gH,IAAD,EAAO8oD,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,SAASpvD,IAAT,CAAc,GAAGnH,IAAjB,EAAuB,CACnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMg1H,gBAAgB,GAAG,IAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMlmG,SAAS,GAAG,IAAIX,cAAJ,CAAmB,UAAnB,EAA+B;EAC7CiD,UAAU,EAAE,MADiC;EAE7CiqB,OAAO,EAAE,MAAM9sB,MAAM,CAACO,SAAD,EAAY8qC,WAAW,CAACprC,QAAZ,GAAuBorC,WAAW,CAAC2S,QAA/C,CAAN,IAAkE0tE,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,MAAMpqH,qBAAqB,GAAG,IAAI1B,cAAJ,CAAmB,qBAAnB,EAA0C;EACpEiD,UAAU,EAAE,MADwD;EAEpEiqB,OAAO,EAAE,MAAM45E;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,MAAMmlB,YAAY,GAAG,IAAIjsH,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMksH,mBAAmB,GAAG,IAAIlsH,cAAJ,CAAmB,oBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAImsH,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;EACnCA,0BAA0B,CAACA,0BAA0B,CAAC,OAAD,CAA1B,GAAsC,CAAvC,CAA1B,GAAsE,OAAtE;EACAA,0BAA0B,CAACA,0BAA0B,CAAC,SAAD,CAA1B,GAAwC,CAAzC,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B,IAAI,CAACtqF,MAAL,CAAYkmI,cAAZ,EAA4B1zE,GAA5B,CAAN;EACH,CAFD,MAGK;IACDA,GAAG,GAAG,EAAE,GAAGA,GAAL;MAAU,GAAG83B;IAAb,CAAN;EACH;;EACD,OAAO93B,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,MAAM0yE,cAAN,CAAqB;EACjB;EACA1sI,WAAW,CAACkuI,KAAD,EAAQxhB,SAAR,EAAmByhB,iBAAnB,EAAsC;IAC7C,KAAKD,KAAL,GAAaA,KAAb;IACA,KAAKxhB,SAAL,GAAiBA,SAAjB;IACA,KAAKyhB,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,KAAKn3D,UAAL,GAAkB,KAAlB;IACA,KAAKg2D,iBAAL,GAAyB,EAAzB;IACA;AACR;AACA;AACA;;IACQ,KAAKoB,cAAL,GAAsB,EAAtB;IACA;AACR;AACA;;IACQ,KAAKtvD,UAAL,GAAkB,EAAlB;IACA,KAAKuvD,6BAAL,GAAqC,KAAKP,KAAL,CAAW1J,gBAAX,CAA4BniI,SAA5B,CAAsC;MACvExB,IAAI,EAAE,MAAM;QACR,KAAKqtI,KAAL,CAAW7I,GAAX,CAA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AACD,SAASojI,YAAT,CAAsB1mH,KAAtB,EAA6B;EACzB,MAAMja,MAAM,GAAG,EAAf;EACAia,KAAK,CAACpmB,OAAN,CAAesmB,IAAD,IAAUA,IAAI,IAAIna,MAAM,CAAC/E,IAAP,CAAY,GAAGkf,IAAf,CAAhC;EACA,OAAOna,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAImlI,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,IAAIzrI,KAAJ,CAAU,+CAAV,CAAN;EACH,CAHqB,CAItB;EACA;;;EACA,IAAI,OAAOkzB,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;IAC/C0rB,OAAO,CAAC,WAAD,CAAP,GAAuB,KAAvB;EACH;;EACD4sF,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,CAA0BzoF,EAA1B,EAA8B;EAC1B,MAAMluC,IAAI,GAAGuyD,yBAAyB,CAACrkB,EAAD,CAAtC;EACA,IAAI,CAACluC,IAAL,EACI,MAAM42H,aAAa,CAAC1oF,EAAD,CAAnB;EACJ,OAAO,IAAIklE,eAAJ,CAAoBpzG,IAApB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS62H,eAAT,CAAyB3oF,EAAzB,EAA6B;EACzB,MAAMluC,IAAI,GAAGuyD,yBAAyB,CAACrkB,EAAD,CAAtC;EACA,IAAI,CAACluC,IAAL,EACI,MAAM42H,aAAa,CAAC1oF,EAAD,CAAnB;EACJ,OAAOluC,IAAP;AACH;;AACD,SAAS42H,aAAT,CAAuB1oF,EAAvB,EAA2B;EACvB,OAAO,IAAInjD,KAAJ,CAAW,qBAAoBmjD,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,MAAMjoB,iBAAN,CAAwB;AAExB;AACA;AACA;AACA;;;AACAA,iBAAiB,CAACqmB,iBAAlB,GAAsCwqF,uBAAtC;AACA;;AACA,SAASA,uBAAT,CAAiC5yG,KAAjC,EAAwC;EACpC,OAAO6yG,aAAa,CAAC79E,eAAe,EAAhB,EAAoBN,QAAQ,EAA5B,EAAgC,CAAC10B,KAAK,GAAG;EAAG;EAAZ,MAAmD;EAAG;EAAtF,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6yG,aAAT,CAAuB1sF,KAAvB,EAA8BuI,KAA9B,EAAqCokF,MAArC,EAA6C;EACzC,IAAIzkF,eAAe,CAAClI,KAAD,CAAf,IAA0B,CAAC2sF,MAA/B,EAAuC;IACnC;IACA;IACA,MAAM5wD,aAAa,GAAGlvB,wBAAwB,CAAC7M,KAAK,CAAChiD,KAAP,EAAcuqD,KAAd,CAA9C,CAHmC,CAGiC;;IACpE,OAAO,IAAIy5C,SAAJ,CAAcjmB,aAAd,EAA6BA,aAA7B,CAAP;EACH,CALD,MAMK,IAAI/7B,KAAK,CAACrqC,IAAN,IAAc;EAAE;EAAF,EAA6B;EAAG;EAAhC,EAA+D;EAAG;EAAhF,CAAJ,EAA0G;IAC3G;IACA;IACA,MAAMi3H,iBAAiB,GAAGrkF,KAAK,CAACxB,0BAAD,CAA/B,CAH2G,CAG9C;;IAC7D,OAAO,IAAIi7C,SAAJ,CAAc4qC,iBAAd,EAAiCrkF,KAAjC,CAAP;EACH;;EACD,OAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMskF,OAAN,SAAsBjxG,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,MAAMkxG,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;EACrBrwI,WAAW,CAAC4U,IAAD,EAAOtG,QAAP,EAAiB;IACxB,KAAKsG,IAAL,GAAYA,IAAZ;IACA,KAAKtG,QAAL,GAAgBA,QAAhB;EACH;;AAJoB;AAMzB;AACA;AACA;;;AACA,SAASgiI,gBAAT,CAA0BC,QAA1B,EAAoC;EAChC,OAAOA,QAAQ,CAACrlI,GAAT,CAAck5B,EAAD,IAAQA,EAAE,CAAClP,aAAxB,CAAP;AACH;AACD;AACA;AACA;;;AACA,MAAMs7G,SAAN,CAAgB;EACZxwI,WAAW,CAACywI,UAAD,EAAa;IACpB,KAAKA,UAAL,GAAkBA,UAAlB;EACH;EACD;AACJ;AACA;;;EACc,IAANvvI,MAAM,GAAG;IACT,MAAMA,MAAM,GAAG,KAAKuvI,UAAL,CAAgBj4F,UAA/B;IACA,OAAOt3C,MAAM,GAAG,IAAIwvI,YAAJ,CAAiBxvI,MAAjB,CAAH,GAA8B,IAA3C;EACH;EACD;AACJ;AACA;;;EAC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AAP;EAAkL,CAN5N;AAAA;;AAOA,SAAS0wK,gBAAT,CAA0BliB,QAA1B,EAAoC;EAChC,KAAK,IAAIhxJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgxJ,QAAQ,CAACxyJ,MAA7B,EAAqCwB,CAAC,EAAtC,EAA0C;IACtC,MAAM8zJ,GAAG,GAAG9C,QAAQ,CAAChxJ,CAAD,CAApB;;IACA,IAAI8zJ,GAAG,IAAI,IAAX,EAAiB;MACb,MAAM,IAAI9hJ,2DAAJ,CAAkB;MAAK;MAAvB,EAA+Ds7J,aAAa,IAAK,+BAA8BxZ,GAAI,qBAAoB9zJ,CAAE,EAAzI,CAAN;IACH;EACJ;AACJ;;AACD,SAASywK,4BAAT,CAAsCnzK,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,MAAMw2K,UAAN,CAAiB;EACbj5K,WAAW,CAACgxK,MAAD,EAASrhB,KAAT,EAAgBupB,iBAAhB,EAAmC5tI,QAAnC,EAA6ClH,EAA7C,EAAiD;IACxD,KAAK4sI,MAAL,GAAcA,MAAd;IACA,KAAKrhB,KAAL,GAAaA,KAAb;IACA,KAAKupB,iBAAL,GAAyBA,iBAAzB;IACA,KAAK5tI,QAAL,GAAgBA,QAAhB;IACA,K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","sources":["./node_modules/@emailjs/browser/es/api/sendPost.js","./node_modules/@emailjs/browser/es/index.js","./node_modules/@emailjs/browser/es/methods/init/init.js","./node_modules/@emailjs/browser/es/methods/sendForm/sendForm.js","./node_modules/@emailjs/browser/es/methods/send/send.js","./node_modules/@emailjs/browser/es/models/EmailJSResponseStatus.js","./node_modules/@emailjs/browser/es/store/store.js","./node_modules/@emailjs/browser/es/utils/validateParams.js","./node_modules/rxjs/_esm2015/internal/BehaviorSubject.js","./node_modules/rxjs/_esm2015/internal/InnerSubscriber.js","./node_modules/rxjs/_esm2015/internal/Observable.js","./node_modules/rxjs/_esm2015/internal/Observer.js","./node_modules/rxjs/_esm2015/internal/OuterSubscriber.js","./node_modules/rxjs/_esm2015/internal/Subject.js","./node_modules/rxjs/_esm2015/internal/SubjectSubscription.js","./node_modules/rxjs/_esm2015/internal/Subscriber.js","./node_modules/rxjs/_esm2015/internal/Subscription.js","./node_modules/rxjs/_esm2015/internal/config.js","./node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js","./node_modules/rxjs/_esm2015/internal/observable/combineLatest.js","./node_modules/rxjs/_esm2015/internal/observable/concat.js","./node_modules/rxjs/_esm2015/internal/observable/defer.js","./node_modules/rxjs/_esm2015/internal/observable/empty.js","./node_modules/rxjs/_esm2015/internal/observable/from.js","./node_modules/rxjs/_esm2015/internal/observable/fromArray.js","./node_modules/rxjs/_esm2015/internal/observable/fromEvent.js","./node_modules/rxjs/_esm2015/internal/observable/merge.js","./node_modules/rxjs/_esm2015/internal/observable/of.js","./node_modules/rxjs/_esm2015/internal/observable/throwError.js","./node_modules/rxjs/_esm2015/internal/operators/catchError.js","./node_modules/rxjs/_esm2015/internal/operators/concatAll.js","./node_modules/rxjs/_esm2015/internal/operators/concatMap.js","./node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/_esm2015/internal/operators/filter.js","./node_modules/rxjs/_esm2015/internal/operators/finalize.js","./node_modules/rxjs/_esm2015/internal/operators/first.js","./node_modules/rxjs/_esm2015/internal/operators/last.js","./node_modules/rxjs/_esm2015/internal/operators/map.js","./node_modules/rxjs/_esm2015/internal/operators/mapTo.js","./node_modules/rxjs/_esm2015/internal/operators/mergeAll.js","./node_modules/rxjs/_esm2015/internal/operators/mergeMap.js","./node_modules/rxjs/_esm2015/internal/operators/multicast.js","./node_modules/rxjs/_esm2015/internal/operators/refCount.js","./node_modules/rxjs/_esm2015/internal/operators/scan.js","./node_modules/rxjs/_esm2015/internal/operators/share.js","./node_modules/rxjs/_esm2015/internal/operators/skip.js","./node_modules/rxjs/_esm2015/internal/operators/startWith.js","./node_modules/rxjs/_esm2015/internal/operators/switchMap.js","./node_modules/rxjs/_esm2015/internal/operators/take.js","./node_modules/rxjs/_esm2015/internal/operators/takeLast.js","./node_modules/rxjs/_esm2015/internal/operators/takeWhile.js","./node_modules/rxjs/_esm2015/internal/operators/tap.js","./node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/_esm2015/internal/scheduled/schedulePromise.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js","./node_modules/rxjs/_esm2015/internal/symbol/iterator.js","./node_modules/rxjs/_esm2015/internal/symbol/observable.js","./node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js","./node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js","./node_modules/rxjs/_esm2015/internal/util/EmptyError.js","./node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js","./node_modules/rxjs/_esm2015/internal/util/canReportError.js","./node_modules/rxjs/_esm2015/internal/util/hostReportError.js","./node_modules/rxjs/_esm2015/internal/util/identity.js","./node_modules/rxjs/_esm2015/internal/util/isArray.js","./node_modules/rxjs/_esm2015/internal/util/isArrayLike.js","./node_modules/rxjs/_esm2015/internal/util/isFunction.js","./node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js","./node_modules/rxjs/_esm2015/internal/util/isIterable.js","./node_modules/rxjs/_esm2015/internal/util/isObject.js","./node_modules/rxjs/_esm2015/internal/util/isPromise.js","./node_modules/rxjs/_esm2015/internal/util/isScheduler.js","./node_modules/rxjs/_esm2015/internal/util/noop.js","./node_modules/rxjs/_esm2015/internal/util/pipe.js","./node_modules/rxjs/_esm2015/internal/util/subscribeTo.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToIterable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToObservable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToPromise.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js","./node_modules/rxjs/_esm2015/internal/util/toSubscriber.js","./node_modules/@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/ngx-google-analytics/fesm2020/ngx-google-analytics.mjs","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["import { EmailJSResponseStatus } from '../models/EmailJSResponseStatus';\nimport { store } from '../store/store';\nexport const sendPost = (url, data, headers = {}) => {\n return new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n xhr.addEventListener('load', ({ target }) => {\n const responseStatus = new EmailJSResponseStatus(target);\n if (responseStatus.status === 200 || responseStatus.text === 'OK') {\n resolve(responseStatus);\n }\n else {\n reject(responseStatus);\n }\n });\n xhr.addEventListener('error', ({ target }) => {\n reject(new EmailJSResponseStatus(target));\n });\n xhr.open('POST', store._origin + url, true);\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key]);\n });\n xhr.send(data);\n });\n};\n","import { init } from './methods/init/init';\nimport { send } from './methods/send/send';\nimport { sendForm } from './methods/sendForm/sendForm';\nexport { init, send, sendForm };\nexport default {\n init,\n send,\n sendForm,\n};\n","import { store } from '../../store/store';\n/**\n * Initiation\n * @param {string} publicKey - set the EmailJS public key\n * @param {string} origin - set the EmailJS origin\n */\nexport const init = (publicKey, origin = 'https://api.emailjs.com') => {\n store._userID = publicKey;\n store._origin = origin;\n};\n","import { store } from '../../store/store';\nimport { validateParams } from '../../utils/validateParams';\nimport { sendPost } from '../../api/sendPost';\nconst findHTMLForm = (form) => {\n let currentForm;\n if (typeof form === 'string') {\n currentForm = document.querySelector(form);\n }\n else {\n currentForm = form;\n }\n if (!currentForm || currentForm.nodeName !== 'FORM') {\n throw 'The 3rd parameter is expected to be the HTML form element or the style selector of form';\n }\n return currentForm;\n};\n/**\n * Send a form the specific EmailJS service\n * @param {string} serviceID - the EmailJS service ID\n * @param {string} templateID - the EmailJS template ID\n * @param {string | HTMLFormElement} form - the form element or selector\n * @param {string} publicKey - the EmailJS public key\n * @returns {Promise}\n */\nexport const sendForm = (serviceID, templateID, form, publicKey) => {\n const uID = publicKey || store._userID;\n const currentForm = findHTMLForm(form);\n validateParams(uID, serviceID, templateID);\n const formData = new FormData(currentForm);\n formData.append('lib_version', '3.10.0');\n formData.append('service_id', serviceID);\n formData.append('template_id', templateID);\n formData.append('user_id', uID);\n return sendPost('/api/v1.0/email/send-form', formData);\n};\n","import { store } from '../../store/store';\nimport { validateParams } from '../../utils/validateParams';\nimport { sendPost } from '../../api/sendPost';\n/**\n * Send a template to the specific EmailJS service\n * @param {string} serviceID - the EmailJS service ID\n * @param {string} templateID - the EmailJS template ID\n * @param {object} templatePrams - the template params, what will be set to the EmailJS template\n * @param {string} publicKey - the EmailJS public key\n * @returns {Promise}\n */\nexport const send = (serviceID, templateID, templatePrams, publicKey) => {\n const uID = publicKey || store._userID;\n validateParams(uID, serviceID, templateID);\n const params = {\n lib_version: '3.10.0',\n user_id: uID,\n service_id: serviceID,\n template_id: templateID,\n template_params: templatePrams,\n };\n return sendPost('/api/v1.0/email/send', JSON.stringify(params), {\n 'Content-type': 'application/json',\n });\n};\n","export class EmailJSResponseStatus {\n constructor(httpResponse) {\n this.status = httpResponse ? httpResponse.status : 0;\n this.text = httpResponse ? httpResponse.responseText : 'Network Error';\n }\n}\n","export const store = {\n _origin: 'https://api.emailjs.com',\n};\n","export const validateParams = (publicKey, serviceID, templateID) => {\n if (!publicKey) {\n throw 'The public key is required. Visit https://dashboard.emailjs.com/admin/account';\n }\n if (!serviceID) {\n throw 'The service ID is required. Visit https://dashboard.emailjs.com/admin';\n }\n if (!templateID) {\n throw 'The template ID is required. Visit https://dashboard.emailjs.com/admin/templates';\n }\n return true;\n};\n","import { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n }\n getValue() {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n }\n next(value) {\n super.next(this._value = value);\n }\n}\n","import { Subscriber } from './Subscriber';\nexport class InnerSubscriber extends Subscriber {\n constructor(parent, outerValue, outerIndex) {\n super();\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n this.index = 0;\n }\n _next(value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n }\n _error(error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\n","import { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nexport class Observable {\n constructor(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const { operator } = this;\n const sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let subscription;\n subscription = this.subscribe((value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n }\n _subscribe(subscriber) {\n const { source } = this;\n return source && source.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => value = x, (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n","import { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport const empty = {\n closed: true,\n next(value) { },\n error(err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete() { }\n};\n","import { Subscriber } from './Subscriber';\nexport class OuterSubscriber extends Subscriber {\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyError(error, innerSub) {\n this.destination.error(error);\n }\n notifyComplete(innerSub) {\n this.destination.complete();\n }\n}\n","import { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nexport class SubjectSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n this.destination = destination;\n }\n}\nexport class Subject extends Observable {\n constructor() {\n super();\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n [rxSubscriberSymbol]() {\n return new SubjectSubscriber(this);\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n next(value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n }\n error(err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n }\n complete() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n }\n unsubscribe() {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n }\n _trySubscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return super._trySubscribe(subscriber);\n }\n }\n _subscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n const { destination } = this;\n if (destination && destination.next) {\n destination.next(value);\n }\n }\n error(err) {\n const { destination } = this;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n }\n complete() {\n const { destination } = this;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n }\n _subscribe(subscriber) {\n const { source } = this;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n }\n}\n","import { Subscription } from './Subscription';\nexport class SubjectSubscription extends Subscription {\n constructor(subject, subscriber) {\n super();\n this.subject = subject;\n this.subscriber = subscriber;\n this.closed = false;\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.closed = true;\n const subject = this.subject;\n const observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n const subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport class Subscriber extends Subscription {\n constructor(destinationOrNext, error, complete) {\n super();\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n this.destination = destinationOrNext;\n destinationOrNext.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n [rxSubscriberSymbol]() { return this; }\n static create(next, error, complete) {\n const subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n }\n next(value) {\n if (!this.isStopped) {\n this._next(value);\n }\n }\n error(err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n super.unsubscribe();\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.destination.complete();\n this.unsubscribe();\n }\n _unsubscribeAndRecycle() {\n const { _parentOrParents } = this;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(_parentSubscriber, observerOrNext, error, complete) {\n super();\n this._parentSubscriber = _parentSubscriber;\n let next;\n let context = this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n next(value) {\n if (!this.isStopped && this._next) {\n const { _parentSubscriber } = this;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n }\n error(err) {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n const { useDeprecatedSynchronousErrorHandling } = config;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n }\n complete() {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._complete) {\n const wrappedComplete = () => this._complete.call(this._context);\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n }\n __tryOrUnsub(fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n }\n __tryOrSetError(parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n }\n _unsubscribe() {\n const { _parentSubscriber } = this;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n }\n}\n","import { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nexport class Subscription {\n constructor(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n unsubscribe() {\n let errors;\n if (this.closed) {\n return;\n }\n let { _parentOrParents, _unsubscribe, _subscriptions } = this;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (let index = 0; index < _parentOrParents.length; ++index) {\n const parent = _parentOrParents[index];\n parent.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n let index = -1;\n let len = _subscriptions.length;\n while (++index < len) {\n const sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n add(teardown) {\n let subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n const tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n let { _parentOrParents } = subscription;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n const subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n }\n remove(subscription) {\n const subscriptions = this._subscriptions;\n if (subscriptions) {\n const subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n }\n}\nSubscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n}(new Subscription()));\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce((errs, err) => errs.concat((err instanceof UnsubscriptionError) ? err.errors : err), []);\n}\n","let _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport const config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n const error = new Error();\n console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n","import { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._refCount = 0;\n this._isComplete = false;\n }\n _subscribe(subscriber) {\n return this.getSubject().subscribe(subscriber);\n }\n getSubject() {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n }\n refCount() {\n return higherOrderRefCount()(this);\n }\n}\nexport const connectableObservableDescriptor = (() => {\n const connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nclass ConnectableSubscriber extends SubjectSubscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _error(err) {\n this._unsubscribe();\n super._error(err);\n }\n _complete() {\n this.connectable._isComplete = true;\n this._unsubscribe();\n super._complete();\n }\n _unsubscribe() {\n const connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n const connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n }\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nconst NONE = {};\nexport function combineLatest(...observables) {\n let resultSelector = null;\n let scheduler = null;\n if (isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nexport class CombineLatestOperator {\n constructor(resultSelector) {\n this.resultSelector = resultSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n }\n}\nexport class CombineLatestSubscriber extends OuterSubscriber {\n constructor(destination, resultSelector) {\n super(destination);\n this.resultSelector = resultSelector;\n this.active = 0;\n this.values = [];\n this.observables = [];\n }\n _next(observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n }\n _complete() {\n const observables = this.observables;\n const len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (let i = 0; i < len; i++) {\n const observable = observables[i];\n this.add(subscribeToResult(this, observable, observable, i));\n }\n }\n }\n notifyComplete(unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n const values = this.values;\n const oldVal = values[outerIndex];\n const toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n }\n _tryResultSelector(values) {\n let result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat(...observables) {\n return concatAll()(of(...observables));\n}\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(subscriber => {\n let input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n const source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable(subscriber => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(subscriber => scheduler.schedule(() => subscriber.complete()));\n}\n","import { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n","import { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nconst toString = (() => Object.prototype.toString)();\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n let unsubscribe;\n if (isEventTarget(sourceObj)) {\n const source = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = () => source.removeEventListener(eventName, handler, options);\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n const source = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = () => source.off(eventName, handler);\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n const source = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = () => source.removeListener(eventName, handler);\n }\n else if (sourceObj && sourceObj.length) {\n for (let i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n","import { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge(...observables) {\n let concurrent = Number.POSITIVE_INFINITY;\n let scheduler = null;\n let last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n","import { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of(...args) {\n let scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n","import { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(subscriber => subscriber.error(error));\n }\n else {\n return new Observable(subscriber => scheduler.schedule(dispatch, 0, { error, subscriber }));\n }\n}\nfunction dispatch({ error, subscriber }) {\n subscriber.error(error);\n}\n","import { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n const operator = new CatchOperator(selector);\n const caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nclass CatchOperator {\n constructor(selector) {\n this.selector = selector;\n }\n call(subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n }\n}\nclass CatchSubscriber extends OuterSubscriber {\n constructor(destination, selector, caught) {\n super(destination);\n this.selector = selector;\n this.caught = caught;\n }\n error(err) {\n if (!this.isStopped) {\n let result;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n super.error(err2);\n return;\n }\n this._unsubscribeAndRecycle();\n const innerSubscriber = new InnerSubscriber(this, undefined, undefined);\n this.add(innerSubscriber);\n const innerSubscription = subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n }\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n return mergeMap(project, resultSelector, 1);\n}\n","import { Subscriber } from '../Subscriber';\nexport function defaultIfEmpty(defaultValue = null) {\n return (source) => source.lift(new DefaultIfEmptyOperator(defaultValue));\n}\nclass DefaultIfEmptyOperator {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n call(subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n }\n}\nclass DefaultIfEmptySubscriber extends Subscriber {\n constructor(destination, defaultValue) {\n super(destination);\n this.defaultValue = defaultValue;\n this.isEmpty = true;\n }\n _next(value) {\n this.isEmpty = false;\n this.destination.next(value);\n }\n _complete() {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nclass FilterOperator {\n constructor(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n call(subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n }\n}\nclass FilterSubscriber extends Subscriber {\n constructor(destination, predicate, thisArg) {\n super(destination);\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.count = 0;\n }\n _next(value) {\n let result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nexport function finalize(callback) {\n return (source) => source.lift(new FinallyOperator(callback));\n}\nclass FinallyOperator {\n constructor(callback) {\n this.callback = callback;\n }\n call(subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n }\n}\nclass FinallySubscriber extends Subscriber {\n constructor(destination, callback) {\n super(destination);\n this.add(new Subscription(callback));\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nexport class MapOperator {\n constructor(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n call(subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n }\n}\nclass MapSubscriber extends Subscriber {\n constructor(destination, project, thisArg) {\n super(destination);\n this.project = project;\n this.count = 0;\n this.thisArg = thisArg || this;\n }\n _next(value) {\n let result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return (source) => source.lift(new MapToOperator(value));\n}\nclass MapToOperator {\n constructor(value) {\n this.value = value;\n }\n call(subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n }\n}\nclass MapToSubscriber extends Subscriber {\n constructor(destination, value) {\n super(destination);\n this.value = value;\n }\n _next(x) {\n this.destination.next(this.value);\n }\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Number.POSITIVE_INFINITY) {\n return mergeMap(identity, concurrent);\n}\n","import { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(mergeMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii))), concurrent));\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return (source) => source.lift(new MergeMapOperator(project, concurrent));\n}\nexport class MergeMapOperator {\n constructor(project, concurrent = Number.POSITIVE_INFINITY) {\n this.project = project;\n this.concurrent = concurrent;\n }\n call(observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n }\n}\nexport class MergeMapSubscriber extends OuterSubscriber {\n constructor(destination, project, concurrent = Number.POSITIVE_INFINITY) {\n super(destination);\n this.project = project;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n }\n _tryNext(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result, value, index);\n }\n _innerSub(ish, value, index) {\n const innerSubscriber = new InnerSubscriber(this, value, index);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = subscribeToResult(this, ish, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyComplete(innerSub) {\n const buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n }\n}\n","import { connectableObservableDescriptor } from '../observable/ConnectableObservable';\nexport function multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n let subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n const connectable = Object.create(source, connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nexport class MulticastOperator {\n constructor(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n call(subscriber, source) {\n const { selector } = this;\n const subject = this.subjectFactory();\n const subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function scan(accumulator, seed) {\n let hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nclass ScanOperator {\n constructor(accumulator, seed, hasSeed = false) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n call(subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n }\n}\nclass ScanSubscriber extends Subscriber {\n constructor(destination, accumulator, _seed, hasSeed) {\n super(destination);\n this.accumulator = accumulator;\n this._seed = _seed;\n this.hasSeed = hasSeed;\n this.index = 0;\n }\n get seed() {\n return this._seed;\n }\n set seed(value) {\n this.hasSeed = true;\n this._seed = value;\n }\n _next(value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n }\n _tryNext(value) {\n const index = this.index++;\n let result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n }\n}\n","import { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n return new Subject();\n}\nexport function share() {\n return (source) => refCount()(multicast(shareSubjectFactory)(source));\n}\n","import { Subscriber } from '../Subscriber';\nexport function skip(count) {\n return (source) => source.lift(new SkipOperator(count));\n}\nclass SkipOperator {\n constructor(total) {\n this.total = total;\n }\n call(subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n }\n}\nclass SkipSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n }\n}\n","import { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith(...array) {\n const scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return (source) => concat(array, source, scheduler);\n }\n else {\n return (source) => concat(array, source);\n }\n}\n","import { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(switchMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));\n }\n return (source) => source.lift(new SwitchMapOperator(project));\n}\nclass SwitchMapOperator {\n constructor(project) {\n this.project = project;\n }\n call(subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n }\n}\nclass SwitchMapSubscriber extends OuterSubscriber {\n constructor(destination, project) {\n super(destination);\n this.project = project;\n this.index = 0;\n }\n _next(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result, value, index);\n }\n _innerSub(result, value, index) {\n const innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n const innerSubscriber = new InnerSubscriber(this, value, index);\n const destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n }\n _complete() {\n const { innerSubscription } = this;\n if (!innerSubscription || innerSubscription.closed) {\n super._complete();\n }\n this.unsubscribe();\n }\n _unsubscribe() {\n this.innerSubscription = null;\n }\n notifyComplete(innerSub) {\n const destination = this.destination;\n destination.remove(innerSub);\n this.innerSubscription = null;\n if (this.isStopped) {\n super._complete();\n }\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nclass TakeOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n }\n}\nclass TakeSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(value) {\n const total = this.total;\n const count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nclass TakeLastOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n }\n}\nclass TakeLastSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.ring = new Array();\n this.count = 0;\n }\n _next(value) {\n const ring = this.ring;\n const total = this.total;\n const count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n const index = count % total;\n ring[index] = value;\n }\n }\n _complete() {\n const destination = this.destination;\n let count = this.count;\n if (count > 0) {\n const total = this.count >= this.total ? this.total : this.count;\n const ring = this.ring;\n for (let i = 0; i < total; i++) {\n const idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return (source) => source.lift(new TakeWhileOperator(predicate, inclusive));\n}\nclass TakeWhileOperator {\n constructor(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n call(subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n }\n}\nclass TakeWhileSubscriber extends Subscriber {\n constructor(destination, predicate, inclusive) {\n super(destination);\n this.predicate = predicate;\n this.inclusive = inclusive;\n this.index = 0;\n }\n _next(value) {\n const destination = this.destination;\n let result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n }\n nextOrComplete(value, predicateResult) {\n const destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nclass DoOperator {\n constructor(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n call(subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n }\n}\nclass TapSubscriber extends Subscriber {\n constructor(destination, observerOrNext, error, complete) {\n super(destination);\n this._tapNext = noop;\n this._tapError = noop;\n this._tapComplete = noop;\n this._tapError = error || noop;\n this._tapComplete = complete || noop;\n if (isFunction(observerOrNext)) {\n this._context = this;\n this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n this._context = observerOrNext;\n this._tapNext = observerOrNext.next || noop;\n this._tapError = observerOrNext.error || noop;\n this._tapComplete = observerOrNext.complete || noop;\n }\n }\n _next(value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n }\n _error(err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n }\n _complete() {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { Subscriber } from '../Subscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return (source) => {\n return source.lift(new ThrowIfEmptyOperator(errorFactory));\n };\n}\nclass ThrowIfEmptyOperator {\n constructor(errorFactory) {\n this.errorFactory = errorFactory;\n }\n call(subscriber, source) {\n return source.subscribe(new ThrowIfEmptySubscriber(subscriber, this.errorFactory));\n }\n}\nclass ThrowIfEmptySubscriber extends Subscriber {\n constructor(destination, errorFactory) {\n super(destination);\n this.errorFactory = errorFactory;\n this.hasValue = false;\n }\n _next(value) {\n this.hasValue = true;\n this.destination.next(value);\n }\n _complete() {\n if (!this.hasValue) {\n let err;\n try {\n err = this.errorFactory();\n }\n catch (e) {\n err = e;\n }\n this.destination.error(err);\n }\n else {\n return this.destination.complete();\n }\n }\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n let i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n const sub = new Subscription();\n let iterator;\n sub.add(() => {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(() => {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n let value;\n let done;\n try {\n const result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next(value) { sub.add(scheduler.schedule(() => subscriber.next(value))); },\n error(err) { sub.add(scheduler.schedule(() => subscriber.error(err))); },\n complete() { sub.add(scheduler.schedule(() => subscriber.complete())); },\n }));\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => input.then(value => {\n sub.add(scheduler.schedule(() => {\n subscriber.next(value);\n sub.add(scheduler.schedule(() => subscriber.complete()));\n }));\n }, err => {\n sub.add(scheduler.schedule(() => subscriber.error(err)));\n })));\n return sub;\n });\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\nexport const $$iterator = iterator;\n","export const observable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();\n","export const rxSubscriber = (() => typeof Symbol === 'function'\n ? Symbol('rxSubscriber')\n : '@@rxSubscriber_' + Math.random())();\nexport const $$rxSubscriber = rxSubscriber;\n","const ArgumentOutOfRangeErrorImpl = (() => {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport const ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n","const EmptyErrorImpl = (() => {\n function EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n }\n EmptyErrorImpl.prototype = Object.create(Error.prototype);\n return EmptyErrorImpl;\n})();\nexport const EmptyError = EmptyErrorImpl;\n","const ObjectUnsubscribedErrorImpl = (() => {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport const ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n","const UnsubscriptionErrorImpl = (() => {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}` : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport const UnsubscriptionError = UnsubscriptionErrorImpl;\n","import { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n const { closed, destination, isStopped } = observer;\n if (closed || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n","export function hostReportError(err) {\n setTimeout(() => { throw err; }, 0);\n}\n","export function identity(x) {\n return x;\n}\n","export const isArray = (() => Array.isArray || ((x) => x && typeof x.length === 'number'))();\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","export function isFunction(x) {\n return typeof x === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n","export function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n","export function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n","export function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n","export function noop() { }\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeTo = (result) => {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n const value = isObject(result) ? 'an invalid object' : `'${result}'`;\n const msg = `You provided ${value} where a stream was expected.`\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n","export const subscribeToArray = (array) => (subscriber) => {\n for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n};\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport const subscribeToIterable = (iterable) => (subscriber) => {\n const iterator = iterable[Symbol_iterator]();\n do {\n const item = iterator.next();\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(() => {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n};\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeToObservable = (obj) => (subscriber) => {\n const obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n};\n","import { hostReportError } from './hostReportError';\nexport const subscribeToPromise = (promise) => (subscriber) => {\n promise.then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, hostReportError);\n return subscriber;\n};\n","import { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n","import { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n","/**\n * @license Angular v14.2.9\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, 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.2.9\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", type: NgClass, isStandalone: true, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", 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.2.9\", type: NgForOf, isStandalone: true, selector: \"[ngFor][ngForOf]\", inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", type: NgIf, isStandalone: true, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.9\", type: NgSwitch, isStandalone: true, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", type: NgSwitchCase, isStandalone: true, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", type: NgSwitchDefault, isStandalone: true, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.9\", type: NgPlural, isStandalone: true, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", type: NgPluralCase, isStandalone: true, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", type: NgStyle, isStandalone: true, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: AsyncPipe, isStandalone: true, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", ngImport: i0, type: DatePipe, isStandalone: true, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: JsonPipe, isStandalone: true, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: DecimalPipe, isStandalone: true, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: PercentPipe, isStandalone: true, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", 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.2.9\", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.9\", ngImport: i0, type: SlicePipe, isStandalone: true, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: CommonModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9');\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/**\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// 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// 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// 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 * Multi-provider 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, multi: true, useValue: 'https://your-domain.com'}\n * ```\n *\n * or:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST, multi: true,\n * useValue: ['https://your-domain-1.com', 'https://your-domain-2.com']}\n * ```\n *\n * @publicApi\n * @developerPreview\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 throw new ɵRuntimeError(2957 /* RuntimeErrorCode.INVALID_PRECONNECT_CHECK_BLOCKLIST */, `The blocklist for the preconnect check was not provided as an array. ` +\n `Check that the \\`PRECONNECT_CHECK_BLOCKLIST\\` token is configured as a \\`multi: true\\` provider.`);\n }\n }\n /**\n * Checks that a preconnect resource hint exists in the head fo rthe\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.2.9\", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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 * 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 * @developerPreview\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, options = { ensurePreconnect: true }) {\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 if (ngDevMode && options.ensurePreconnect === false) {\n providers.push({ provide: PRECONNECT_CHECK_BLOCKLIST, useValue: [path], multi: true });\n }\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 * @param options An object with extra configuration:\n * - `ensurePreconnect`: boolean flag indicating whether the NgOptimizedImage directive\n * should verify that there is a corresponding ``\n * present in the document's ``.\n * @returns Provider that provides an ImageLoader function\n *\n * @publicApi\n * @developerPreview\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 * 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 * @param options An object with extra configuration:\n * - `ensurePreconnect`: boolean flag indicating whether the NgOptimizedImage directive\n * should verify that there is a corresponding ``\n * present in the document's ``.\n * @returns Set of providers to configure the Cloudinary loader.\n *\n * @publicApi\n * @developerPreview\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 * 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 * @param options An object with extra configuration:\n * - `ensurePreconnect`: boolean flag indicating whether the NgOptimizedImage directive\n * should verify that there is a corresponding ``\n * present in the document's ``.\n * @returns Set of providers to configure the ImageKit loader.\n *\n * @publicApi\n * @developerPreview\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 * 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 * @param options An object with extra configuration:\n * - `ensurePreconnect`: boolean flag indicating whether the NgOptimizedImage directive\n * should verify that there is a corresponding ``\n * present in the document's ``.\n * @returns Set of providers to configure the Imgix loader.\n *\n * @publicApi\n * @developerPreview\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/**\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.2.9\", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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/**\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 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 * 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 * - 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 * @developerPreview\n */\nclass NgOptimizedImage {\n constructor() {\n this.imageLoader = inject(IMAGE_LOADER);\n this.renderer = inject(Renderer2);\n this.imgElement = inject(ElementRef).nativeElement;\n this.injector = inject(Injector);\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 }\n /**\n * Previously, the `rawSrc` attribute was used to activate the directive.\n * The attribute was renamed to `ngSrc` and this input just produces an error,\n * suggesting to switch to `ngSrc` instead.\n *\n * This error should be removed in v15.\n *\n * @nodoc\n * @deprecated Use `ngSrc` instead.\n */\n set rawSrc(value) {\n if (ngDevMode) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(value, false)} the \\`rawSrc\\` attribute was used ` +\n `to activate the directive. Newer version of the directive uses the \\`ngSrc\\` ` +\n `attribute instead. Please replace \\`rawSrc\\` with \\`ngSrc\\` and ` +\n `\\`rawSrcset\\` with \\`ngSrcset\\` attributes in the template to ` +\n `enable image optimizations.`);\n }\n }\n /**\n * The intrinsic 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 * The intrinsic 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 ngOnInit() {\n if (ngDevMode) {\n assertNonEmptyInput(this, 'ngSrc', this.ngSrc);\n assertValidNgSrcset(this, this.ngSrcset);\n assertNoConflictingSrc(this);\n assertNoConflictingSrcset(this);\n assertNotBase64Image(this);\n assertNotBlobUrl(this);\n assertNonEmptyWidthAndHeight(this);\n assertValidLoadingInput(this);\n assertNoImageDistortion(this, this.imgElement, this.renderer);\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 this.setHostAttribute('width', this.width.toString());\n this.setHostAttribute('height', this.height.toString());\n this.setHostAttribute('loading', this.getLoadingBehavior());\n this.setHostAttribute('fetchpriority', this.getFetchPriority());\n // The `src` and `srcset` attributes should be set last since other attributes\n // could affect the image's loading behavior.\n this.setHostAttribute('src', this.getRewrittenSrc());\n if (this.ngSrcset) {\n this.setHostAttribute('srcset', this.getRewrittenSrcset());\n }\n }\n ngOnChanges(changes) {\n if (ngDevMode) {\n assertNoPostInitInputChange(this, changes, ['ngSrc', 'ngSrcset', 'width', 'height', 'priority']);\n }\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.imageLoader(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.imageLoader({ src: this.ngSrc, width })} ${srcStr}`;\n });\n return finalSrcs.join(', ');\n }\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.2.9\", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.9\", type: NgOptimizedImage, isStandalone: true, selector: \"img[ngSrc],img[rawSrc]\", inputs: { rawSrc: \"rawSrc\", ngSrc: \"ngSrc\", ngSrcset: \"ngSrcset\", width: \"width\", height: \"height\", loading: \"loading\", priority: \"priority\", src: \"src\", srcset: \"srcset\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: NgOptimizedImage, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n selector: 'img[ngSrc],img[rawSrc]',\n }]\n }], propDecorators: { rawSrc: [{\n type: Input\n }], ngSrc: [{\n type: Input\n }], ngSrcset: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], loading: [{\n type: Input\n }], priority: [{\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/***** 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 `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 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. ` +\n `To fix this, switch \\`${inputName}\\` a static value or wrap the image element ` +\n `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 // TODO: `clientWidth`, `clientHeight`, `naturalWidth` and `naturalHeight`\n // are typed as number, but we run `parseFloat` (which accepts strings only).\n // Verify whether `parseFloat` is needed in the cases below.\n const renderedWidth = parseFloat(img.clientWidth);\n const renderedHeight = parseFloat(img.clientHeight);\n const renderedAspectRatio = renderedWidth / renderedHeight;\n const nonZeroRenderedDimensions = renderedWidth !== 0 && renderedHeight !== 0;\n const intrinsicWidth = parseFloat(img.naturalWidth);\n const intrinsicHeight = parseFloat(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.`);\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/**\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.2.9\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.2.9\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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.2.9\", ngImport: i0, type: NoopInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.9\", ngImport: i0, type: NoopInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.9\", 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