{"version":3,"file":"vendor.js","mappings":"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;AACA;AACA,WAAW,gBAAgB,sCAAsC,kBAAkB;AACnF,0BAA0B;AAC1B;AACA;AACA;AACO;AACP;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACO;AACP,oCAAoC;AACpC;AACA;AACO;AACP;AACA;AACA;AACO;AACP,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACO;AACP,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACO;AACP,kDAAkD,QAAQ;AAC1D,yCAAyC,QAAQ;AACjD,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACO;AACP,6EAA6E,OAAO;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACO;AACP;AACA,iBAAiB,6CAA6C,UAAU,sDAAsD,cAAc;AAC5I,0BAA0B,6BAA6B,oBAAoB,gDAAgD,kBAAkB;AAC7I;AACA;AACO;AACP;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACA;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvPA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMK,gBAAN,CAAuB;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;AAGvB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS34E,OAAT,CAAiBtyB,IAAjB,EAAuBkrG,WAAvB,EAAoC;EAChC,OAAO;IAAE/wG,IAAI,EAAE;IAAE;IAAV;IAA+C6F,IAA/C;IAAqDkrG,WAArD;IAAkExyG,OAAO,EAAE;EAA3E,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyyG,OAAT,CAAiBC,OAAjB,EAA0BxwG,MAAM,GAAG,IAAnC,EAAyC;EACrC,OAAO;IAAET,IAAI,EAAE;IAAE;IAAV;IAA+CS,MAA/C;IAAuDwwG;EAAvD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,KAAT,CAAeC,KAAf,EAAsB5yG,OAAO,GAAG,IAAhC,EAAsC;EAClC,OAAO;IAAEyB,IAAI,EAAE;IAAE;IAAV;IAA6CmxG,KAA7C;IAAoD5yG;EAApD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6yG,QAAT,CAAkBD,KAAlB,EAAyB5yG,OAAO,GAAG,IAAnC,EAAyC;EACrC,OAAO;IAAEyB,IAAI,EAAE;IAAE;IAAV;IAAgDmxG,KAAhD;IAAuD5yG;EAAvD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuH,KAAT,CAAeqD,MAAf,EAAuB;EACnB,OAAO;IAAEnJ,IAAI,EAAE;IAAE;IAAV;IAA6CS,MAAM,EAAE0I,MAArD;IAA6DwkG,MAAM,EAAE;EAArE,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASlvE,KAAT,CAAe54B,IAAf,EAAqBpF,MAArB,EAA6BlC,OAA7B,EAAsC;EAClC,OAAO;IAAEyB,IAAI,EAAE;IAAE;IAAV;IAA6C6F,IAA7C;IAAmDpF,MAAnD;IAA2DlC;EAA3D,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8yG,SAAT,CAAmBF,KAAnB,EAA0B;EACtB,OAAO;IAAEnxG,IAAI,EAAE;IAAE;IAAV;IAAiDmxG;EAAjD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,UAAT,CAAoBC,eAApB,EAAqCJ,KAArC,EAA4C5yG,OAAO,GAAG,IAAtD,EAA4D;EACxD,OAAO;IAAEyB,IAAI,EAAE;IAAE;IAAV;IAAkDwxG,IAAI,EAAED,eAAxD;IAAyEE,SAAS,EAAEN,KAApF;IAA2F5yG;EAA3F,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkzG,SAAT,CAAmBN,KAAnB,EAA0B5yG,OAAO,GAAG,IAApC,EAA0C;EACtC,OAAO;IAAEyB,IAAI,EAAE;IAAE;IAAV;IAAiDyxG,SAAS,EAAEN,KAA5D;IAAmE5yG;EAAnE,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmzG,YAAT,CAAsBnzG,OAAO,GAAG,IAAhC,EAAsC;EAClC,OAAO;IAAEyB,IAAI,EAAE;IAAE;IAAV;IAAoDzB;EAApD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASozG,YAAT,CAAsBF,SAAtB,EAAiClzG,OAAO,GAAG,IAA3C,EAAiD;EAC7C,OAAO;IAAEyB,IAAI,EAAE;IAAG;IAAX;IAAmDyxG,SAAnD;IAA8DlzG;EAA9D,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqzG,KAAT,CAAe5wG,QAAf,EAAyBywG,SAAzB,EAAoClzG,OAAO,GAAG,IAA9C,EAAoD;EAChD,OAAO;IAAEyB,IAAI,EAAE;IAAG;IAAX;IAA8CgB,QAA9C;IAAwDywG,SAAxD;IAAmElzG;EAAnE,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASszG,OAAT,CAAiBZ,OAAjB,EAA0BQ,SAA1B,EAAqC;EACjC,OAAO;IAAEzxG,IAAI,EAAE;IAAG;IAAX;IAAgDixG,OAAhD;IAAyDQ;EAAzD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA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;IACT,OAAO,KAAK6nH,IAAL,CAAU9iH,GAAV,CAAc/E,OAAd,KAA0B,EAAjC;EACH;;EACDkzD,MAAM,CAAClzD,OAAD,EAAU8nH,YAAV,EAAwB;IAC1B,IAAIC,oBAAoB,GAAG,KAAKF,IAAL,CAAU9iH,GAAV,CAAc/E,OAAd,CAA3B;;IACA,IAAI,CAAC+nH,oBAAL,EAA2B;MACvB,KAAKF,IAAL,CAAUl4B,GAAV,CAAc3vF,OAAd,EAAuB+nH,oBAAoB,GAAG,EAA9C;IACH;;IACDA,oBAAoB,CAAC7kH,IAArB,CAA0B,GAAG4kH,YAA7B;EACH;;EACDvL,GAAG,CAACv8G,OAAD,EAAU;IACT,OAAO,KAAK6nH,IAAL,CAAUtL,GAAV,CAAcv8G,OAAd,CAAP;EACH;;EACDywD,KAAK,GAAG;IACJ,KAAKo3D,IAAL,CAAUp3D,KAAV;EACH;;AAnBuB;AAsB5B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu3D,yBAAyB,GAAG,CAAlC;AACA,MAAMC,WAAW,GAAG,QAApB;AACA,MAAMC,iBAAiB,GAAG,IAAI1iC,MAAJ,CAAWyiC,WAAX,EAAwB,GAAxB,CAA1B;AACA,MAAME,WAAW,GAAG,QAApB;AACA,MAAMC,iBAAiB,GAAG,IAAI5iC,MAAJ,CAAW2iC,WAAX,EAAwB,GAAxB,CAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,uBAAT,CAAiCxO,MAAjC,EAAyCyO,WAAzC,EAAsDzE,GAAt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F,UAAU,EAAE;IAAd,CAAD;EAFiH,CAAD,CAAlI;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM63D,uBAAuB,GAAG,IAAIrc,yDAAJ,CAAmB,eAAnB,CAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;;AACA,MAAMsd,YAAN,CAAmB;EACfziJ,WAAW,GAAG;IACV;IACA,KAAKy/D,IAAL,GAAY,QAAZ;IACA;;IACA,KAAKijF,UAAL,GAAkB,EAAlB;IACA;;IACA,KAAKC,WAAL,GAAmB,IAAnB;IACA;;IACA,KAAKC,aAAL,GAAqB,EAArB;IACA;;IACA,KAAKC,YAAL,GAAoB,KAApB;IACA;;IACA,KAAKn1I,KAAL,GAAa,EAAb;IACA;;IACA,KAAKuY,MAAL,GAAc,EAAd;IACA;;IACA,KAAKusC,IAAL,GAAY,IAAZ;IACA;;IACA,KAAKswF,eAAL,GAAuB,IAAvB;IACA;;IACA,KAAKC,cAAL,GAAsB,IAAtB;IACA;;IACA,KAAKxZ,SAAL,GAAiB,IAAjB;IACA;;IACA,KAAKyZ,SAAL,GAAiB,IAAjB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKC,SAAL,GAAiB,gBAAjB;IACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAKC,YAAL,GAAoB,IAApB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKC,iBAAL,GAAyB,IAAzB;IACA;AACR;AACA;AACA;;IACQ,KAAKC,cAAL,GAAsB,IAAtB;EACH;;AApDc;AAuDnB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sCAAT,GAAkD;EAC9C,MAA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,IAAI,EAAE7D,gDAAKA;IADwB,CAAD;EARmD,CANrG;AAAA,MAiBA;;;AACA,SAAS2yL,iBAAT,CAA2B/nC,QAA3B,EAAqC;EACjC,MAAMmoC,cAAc,GAAGnoC,QAAQ,CAAC7jJ,GAAT,CAAa+0K,sDAAb,CAAvB;EACA,OAAOiX,cAAc,CAACnoC,QAAtB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMlnC,WAAW,GAAG,OAAOh/G,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA;AACA;AACA;;AACA,MAAMsuL,cAAN,CAAqB;EACjBjxL,WAAW,CAACu/I,SAAD,EAAY2xC,OAAZ,EAAqBpkL,KAArB,EAA4Bo2E,KAA5B,EAAmC;IAC1C,KAAKq8D,SAAL,GAAiBA,SAAjB;IACA,KAAK2xC,OAAL,GAAeA,OAAf;IACA,KAAKpkL,KAAL,GAAaA,KAAb;IACA,KAAKo2E,KAAL,GAAaA,KAAb;EACH;;EACQ,IAALyhB,KAAK,GAAG;IACR,OAAO,KAAK73F,KAAL,KAAe,CAAtB;EACH;;EACO,IAAJq2E,IAAI,GAAG;IACP,OAAO,KAAKr2E,KAAL,KAAe,KAAKo2E,KAAL,GAAa,CAAnC;EACH;;EACO,IAAJ61F,IAAI,GAAG;IACP,OAAO,KAAKjsK,KAAL,GAAa,CAAb,KAAmB,CAA1B;EACH;;EACM,IAAHksK,GAAG,GAAG;IACN,OAAO,CAAC,KAAKD,IAAb;EACH;;AAlBgB;AAoBrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMoY,OAAN,CAAc;EACVnxL,WAAW,CAACoxL,cAAD,EAAiBla,SAAjB,EAA4BC,QAA5B,EAAsC;IAC7C,KAAKia,cAAL,GAAsBA,cAAtB;IACA,KAAKla,SAAL,GAAiBA,SAAjB;IACA,KAAKC,QAAL,GAAgBA,QAAhB;IACA,KAAKka,QAAL,GAAgB,IAAhB;IACA,KAAKC,aAAL,GAAqB,IAArB;IACA,KAAK7Z,OAAL,GAAe,IAAf;EACH;EACD;AACJ;AACA;AACA;;;EACe,IAAPyZ,OAAO,CAACA,OAAD,EAAU;IACjB,KAAKG,QAAL,GAAgBH,OAAhB;IACA,KAAKI,aAAL,GAAqB,IAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACoB,IAAZC,YAAY,CAAC5sG,EAAD,EAAK;IACjB,IAAIg9B,WAAW,IAAIh9B,EAAE,IAAI,IAArB,IAA6B,OAAOA,EAAP,KAAc,UAA/C,EAA2D;MACvD;MACA,IAAI3kD,OAAO,IAAIA,OAAO,CAACC,IAAvB,EAA6B;QACzBD,OAAO,CAACC,IAAR,CAAc,4CAA2CyjB,IAAI,CAACC,SAAL,CAAeghC,EAAf,CAAmB,IAA/D,GACR,oFADL;MAEH;IACJ;;IACD,KAAK6sG,UAAL,GAAkB7sG,EAAlB;EACH;;EACe,IAAZ4sG,YAAY,GAAG;IACf,OAAO,KAAKC,UAAZ;EACH;EACD;AACJ;AACA;AACA;;;EACqB,IAAbC,aAAa,CAACr4K,KAAD,EAAQ;IACrB;IACA;IACA;IACA,IAAIA,KAAJ,EAAW;MACP,KAAK89J,SAAL,GAAiB99J,KAAjB;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACIzY,SAAS,GAAG;IACR,IAAI,KAAK2wL,aAAT,EAAwB;MACpB,KAAKA,aAAL,GAAqB,KAArB,CADoB,CAEpB;;MACA,MAAMl4K,KAAK,GAAG,KAAKi4K,QAAnB;;MACA,IAAI,CAAC,KAAK5Z,OAAN,IAAiBr+J,KAArB,EAA4B;QACxB,IAAIuoG,WAAJ,EAAiB;UACb,IAAI;YACA;YACA;YACA,KAAK81D,OAAL,GAAe,KAAKN,QAAL,CAAcjwD,IAAd,CAAmB9tG,KAAnB,EAA0BwhC,MAA1B,CAAiC,KAAK22I,YAAtC,CAAf;UACH,CAJD,CAKA,MAAM;YACF,IAAInkI,YAAY,GAAI,2CAA0Ch0C,KAAM,aAAjD,GACd,GAAEs4K,WAAW,CAACt4K,KAAD,CAAQ,8DAD1B;;YAEA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;cAC3Bg0C,YAAY,IAAI,yCAAhB;YACH;;YACD,MAAM,IAAIkpD,2DAAJ,CAAkB,CAAC;YAAK;YAAxB,EAAsElpD,YAAtE,CAAN;UACH;QACJ,CAdD,MAeK;UACD;UACA;UACA,KAAKqqH,OAAL,GAAe,KAAKN,QAAL,CAAcjwD,IAAd,CAAmB9tG,KAAnB,EAA0BwhC,MAA1B,CAAiC,KAAK22I,YAAtC,CAAf;QACH;MACJ;IACJ;;IACD,IAAI,KAAK9Z,OAAT,EAAkB;MACd,MAAMhtC,OAAO,GAAG,KAAKgtC,OAAL,CAAazwI,IAAb,CAAkB,KAAKqqJ,QAAvB,CAAhB;;MACA,IAAI5mD,OAAJ,EACI,KAAK+tC,aAAL,CAAmB/tC,OAAnB;IACP;EACJ;;EACD+tC,aAAa,CAAC/tC,OAAD,EAAU;IACnB,MAAMqjC,aAAa,GAAG,KAAKsjB,cAA3B;IACA3mD,OAAO,CAAC2T,gBAAR,CAAyB,CAAC9qI,IAAD,EAAOgrI,qBAAP,EAA8BC,YAA9B,KAA+C;MACpE,IAAIjrI,IAAI,CAACmrI,aAAL,IAAsB,IAA1B,EAAgC;QAC5B;QACA;QACA;QACAqvB,aAAa,CAACnvB,kBAAd,CAAiC,KAAKu4B,SAAtC,EAAiD,IAAI+Z,cAAJ,CAAmB39K,IAAI,CAACA,IAAxB,EAA8B,KAAK+9K,QAAnC,EAA6C,CAAC,CAA9C,EAAiD,CAAC,CAAlD,CAAjD,EAAuG9yC,YAAY,KAAK,IAAjB,GAAwB1rI,SAAxB,GAAoC0rI,YAA3I;MACH,CALD,MAMK,IAAIA,YAAY,IAAI,IAApB,EAA0B;QAC3BuvB,aAAa,CAACrpK,MAAd,CAAqB65I,qBAAqB,KAAK,IAA1B,GAAiCzrI,SAAjC,GAA6CyrI,qBAAlE;MACH,CAFI,MAGA,IAAIA,qBAAqB,KAAK,IAA9B,EAAoC;QACrC,MAAMjkH,IAAI,GAAGyzI,aAAa,CAAC9oK,GAAd,CAAkBs5I,qBAAlB,CAAb;QACAwvB,aAAa,CAACjvB,IAAd,CAAmBxkH,IAAnB,EAAyBkkH,YAAzB;QACAozC,eAAe,CAACt3J,IAAD,EAAO/mB,IAAP,CAAf;MACH;IACJ,CAfD;;IAgBA,KAAK,IAAI1M,CAAC,GAAG,CAAR,EAAWgrL,IAAI,GAAG9jB,aAAa,CAACjnK,MAArC,EAA6CD,CAAC,GAAGgrL,IAAjD,EAAuDhrL,CAAC,EAAxD,EAA4D;MACxD,MAAMmnK,OAAO,GAAGD,aAAa,CAAC9oK,GAAd,CAAkB4B,CAAlB,CAAhB;MACA,MAAMrC,OAAO,GAAGwpK,OAAO,CAACxpK,OAAxB;MACAA,OAAO,CAACuI,KAAR,GAAgBlG,CAAhB;MACArC,OAAO,CAAC2+E,KAAR,GAAgB0uG,IAAhB;MACArtL,OAAO,CAAC2sL,OAAR,GAAkB,KAAKG,QAAvB;IACH;;IACD5mD,OAAO,CAACquC,qBAAR,CAA+Bz6B,MAAD,IAAY;MACtC,MAAM0vB,OAAO,GAAGD,aAAa,CAAC9oK,GAAd,CAAkBq5I,MAAM,CAACE,YAAzB,CAAhB;MACAozC,eAAe,CAAC5jB,OAAD,EAAU1vB,MAAV,CAAf;IACH,CAHD;EAIH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACiC,OAAtBwzC,sBAAsB,CAACz1C,GAAD,EAAM95I,GAAN,EAAW;IACpC,OAAO,IAAP;EACH;;AAxIS;;AA0Id6uL,OAAO,CAAC3vL,IAAR;EAAA,iBAAqG2vL,OAArG,EAhmGoG1wK,+DAgmGpG,CAA8HA,2DAA9H,GAhmGoGA,+DAgmGpG,CAA8JA,sDAA9J,GAhmGoGA,+DAgmGpG,CAAyLA,0DAAzL;AAAA;;AACA0wK,OAAO,CAAC7+C,IAAR,kBAjmGoG7xH,+DAimGpG;EAAA,MAAyF0wK,OAAzF;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;AAAA;;AACA;EAAA,mDAlmGoG1wK,+DAkmGpG,CAA4F0wK,OAA5F,EAAiH,CAAC;IACtGrvL,IAAI,EAAEojI,oDADgG;IAEtGriI,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE,kBADX;MAECotL,UAAU,EAAE;IAFb,CAAD;EAFgG,CAAD,CAAjH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEpuL,IAAI,EAAE2e,2DAAmB8nJ;IAA3B,CAAD,EAAgC;MAAEzmK,IAAI,EAAE2e,sDAAc4hI;IAAtB,CAAhC,EAA0D;MAAEvgJ,IAAI,EAAE2e,0DAAkBw4J;IAA1B,CAA1D,CAAP;EAAiG,CAN3I,EAM6J;IAAEiY,OAAO,EAAE,CAAC;MACzJpvL,IAAI,EAAE7D,gDAAKA;IAD8I,CAAD,CAAX;IAE7IszL,YAAY,EAAE,CAAC;MACfzvL,IAAI,EAAE7D,gDAAKA;IADI,CAAD,CAF+H;IAI7IwzL,aAAa,EAAE,CAAC;MAChB3vL,IAAI,EAAE7D,gDAAKA;IADK,CAAD;EAJ8H,CAN7J;AAAA;;AAaA,SAAS0zL,eAAT,CAAyBt3J,IAAzB,EAA+BgkH,MAA/B,EAAuC;EACnChkH,IAAI,CAAC91B,OAAL,CAAag7I,SAAb,GAAyBlB,MAAM,CAAC/qI,IAAhC;AACH;;AACD,SAASo+K,WAAT,CAAqB5vL,IAArB,EAA2B;EACvB,OAAOA,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAOA,IAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgwL,IAAN,CAAW;EACP9xL,WAAW,CAACoxL,cAAD,EAAiBxyC,WAAjB,EAA8B;IACrC,KAAKwyC,cAAL,GAAsBA,cAAtB;IACA,KAAKptJ,QAAL,GAAgB,IAAI+tJ,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,GAAwBpzC,WAAxB;EACH;EACD;AACJ;AACA;;;EACY,IAAJwzC,IAAI,CAACC,SAAD,EAAY;IAChB,KAAKruJ,QAAL,CAAcu7G,SAAd,GAA0B,KAAKv7G,QAAL,CAAcouJ,IAAd,GAAqBC,SAA/C;;IACA,KAAKC,WAAL;EACH;EACD;AACJ;AACA;;;EACgB,IAARC,QAAQ,CAAC3zC,WAAD,EAAc;IACtB4zC,cAAc,CAAC,UAAD,EAAa5zC,WAAb,CAAd;IACA,KAAKozC,gBAAL,GAAwBpzC,WAAxB;IACA,KAAKszC,YAAL,GAAoB,IAApB,CAHsB,CAGI;;IAC1B,KAAKI,WAAL;EACH;EACD;AACJ;AACA;;;EACgB,IAARG,QAAQ,CAAC7zC,WAAD,EAAc;IACtB4zC,cAAc,CAAC,UAAD,EAAa5zC,WAAb,CAAd;IACA,KAAKqzC,gBAAL,GAAwBrzC,WAAxB;IACA,KAAKuzC,YAAL,GAAoB,IAApB,CAHsB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AAA,MAAyG42K,aAAzG;EAAA;EAAA;AAAA;;AACA;EAAA,mDA3qIoG52K,+DA2qIpG,CAA4F42K,aAA5F,EAAuH,CAAC;IAC5Gv1L,IAAI,EAAEu4K,+CADsG;IAE5Gx3K,IAAI,EAAE,CAAC;MACC8E,IAAI,EAAE,WADP;MAECuoL,UAAU,EAAE;IAFb,CAAD;EAFsG,CAAD,CAAvH;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMoH,0BAA0B,GAAG,IAAInyD,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,MAAMoyD,QAAN,CAAe;EACXv3L,WAAW,CAAC4e,MAAD,EAAS44K,eAAT,EAA0B;IACj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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,MAAMC,gBAAN,CAAuB;EACnBngM,WAAW,GAAG;IACV,KAAKogM,WAAL,GAAmBt7D,qDAAM,CAAC64D,YAAD,CAAzB;IACA,KAAK5zG,QAAL,GAAgB+6C,qDAAM,CAAC/+C,oDAAD,CAAtB;IACA,KAAKs6G,UAAL,GAAkBv7D,qDAAM,CAAC9mI,qDAAD,CAAN,CAAmByC,aAArC;IACA,KAAKooJ,QAAL,GAAgB/jB,qDAAM,CAACsd,mDAAD,CAAtB,CAJU,CAKV;;IACA,KAAKk+C,WAAL,GAAmB39L,SAAS,GAAG,KAAKkmJ,QAAL,CAAc7jJ,GAAd,CAAkB65L,gBAAlB,CAAH,GAAyC,IAArE;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAK0B,YAAL,GAAoB,IAApB;IACA,KAAKC,SAAL,GAAiB,KAAjB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACc,IAANC,MAAM,CAACrnL,KAAD,EAAQ;IACd,IAAIzW,SAAJ,EAAe;MACX,MAAM,IAAI2zG,2DAAJ,CAAkB;MAAK;MAAvB,EAA8D,GAAEulF,mBAAmB,CAACziL,KAAD,EAAQ,KAAR,CAAe,qCAArC,GAC9D,+EAD8D,GAE9D,kEAF8D,GAG9D,gEAH8D,GAI9D,6BAJC,CAAN;IAKH;EACJ;EACD;AACJ;AACA;;;EACa,IAAL1L,KAAK,CAAC0L,KAAD,EAAQ;IACbzW,SAAS,IAAI+9L,qBAAqB,CAAC,IAAD,EAAO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A;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkiJ,OAAT,CAAiB3pM,OAAjB,EAA0BkK,IAA1B,EAAgC;EAC5B,OAAO;IACHA,IADG;IAEHi7L,OAAO,EAAEnlM,OAAO,CAACmlM,OAFd;IAGHjhM,OAAO,EAAElE,OAAO,CAACkE,OAHd;IAIHyyI,OAAO,EAAE32I,OAAO,CAAC22I,OAJd;IAKHjrF,MAAM,EAAE1rD,OAAO,CAAC0rD,MALb;IAMH48I,cAAc,EAAEtoM,OAAO,CAACsoM,cANrB;IAOHE,YAAY,EAAExoM,OAAO,CAACwoM,YAPnB;IAQHD,eAAe,EAAEvoM,OAAO,CAACuoM;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;EACbjqM,WAAW,CAAC0I,OAAD,EAAU;IACjB,KAAKA,OAAL,GAAeA,OAAf;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIkwC,OAAO,CAAC+rD,KAAD,EAAQt/F,GAAR,EAAahF,OAAO,GAAG,EAAvB,EAA2B;IAC9B,IAAI6pM,GAAJ,CAD8B,CAE9B;;IACA,IAAIvlG,KAAK,YAAY6jG,WAArB,EAAkC;MAC9B;MACA;MACA0B,GAAG,GAAGvlG,KAAN;IACH,CAJD,MAKK;MACD;MACA;MACA;MACA;MACA,IAAI6gG,OAAO,GAAG3yL,SAAd;;MACA,IAAIxS,OAAO,CAACmlM,OAAR,YAA2BD,WAA/B,EAA4C;QACxCC,OAAO,GAAGnlM,OAAO,CAACml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3L,KAAD,CAAX,IAAsB;MAAK;MAA3B;MACA0F,QAAQ,CAAC;MAAE;MAAH,EAA2CqI,SAA3C,EAAsDH,IAAtD,CAAR;;MACA,IAAI;QACAA,IAAI,CAACjoN,IAAL,CAAUooN,SAAV;MACH,CAFD,SAGQ;QACJrI,QAAQ,CAAC;QAAE;QAAH,EAAyCqI,SAAzC,EAAoDH,IAApD,CAAR;MACH;IACJ;EACJ,CAfD,MAgBK;IACDlI,QAAQ,CAAC;IAAE;IAAH,EAA2CqI,SAA3C,EAAsDH,IAAtD,CAAR;;IACA,IAAI;MACAA,IAAI,CAACjoN,IAAL,CAAUooN,SAAV;IACH,CAFD,SAGQ;MACJrI,QAAQ,CAAC;MAAE;MAAH,EAAyCqI,SAAzC,EAAoDH,IAApD,CAAR;IACH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMK,kBAAkB,GAAG,CAAC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,mBAAN,CAA0B;EACtB3nN,WAAW;EACX;AACJ;AACA;EACI0pF,OAJW;EAKX;AACJ;AACA;EACIk+H,cARW,EAQKC,oBARL,EAQ2B;IAClC,KAAKn+H,OAAL,GAAeA,OAAf;IACA;AACR;AACA;AACA;;IACQ,KAAKo+H,SAAL,GAAiB,KAAjB;IACAnlN,SAAS,IAAIwvM,aAAa,CAACzo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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,MAAMprF,cAAN,CAAqB;EACjB;AACJ;AACA;AACA;AACA;AACA;EACInlI,WAAW,CAACwwN,KAAD,EAAQnwN,OAAR,EAAiB;IACxB,KAAKmwN,KAAL,GAAaA,KAAb;IACA;;IACA,KAAKd,cAAL,GAAsB,gBAAtB;IACA,KAAKlmI,KAAL,GAAa32E,SAAb;;IACA,IAAI,OAAOxS,OAAP,IAAkB,QAAtB,EAAgC;MAC5B,CAAC,OAAOsC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACIqvM,cAAc,CAAC3xM,OAAD,EAAU,CAAV,EAAa,0CAAb,CADlB,CAD4B,CAG5B;MACA;;MACA,KAAKs2M,iBAAL,GAAyBt2M,OAAzB;IACH,CAND,MAOK,IAAIA,OAAO,KAAKwS,SAAhB,EAA2B;MAC5B,KAAK22E,KAAL,GAAaC,kBAAkB,CAAC;QAC5Bv+E,KAAK,EAAE,IADqB;QAE5By+E,UAAU,EAAEtpF,OAAO,CAACspF,UAAR,IAAsB,MAFN;QAG5BD,OAAO,EAAErpF,OAAO,CAACqpF;MAHW,CAAD,CAA/B;IAKH;EACJ;EACD;AACJ;AACA;;;EACa,IAALgyB,KAAK,GAAG;IACR,OAAO,IAAP;EACH;;EACD34B,QAAQ,GAAG;IACP,OAAQ,kBAAiB,KAAKytI,KAAM,EAApC;EACH;;AAnCgB;AAsCrB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAA4B,GAAG,IAAItrF,cAAJ,CAAmB,2BAAnB,CAArC,EACA;AACA;;AACA,MAAMurF,mCAAmC,GAAG,IAA5C;AACA;AACA;AACA;AA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;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMi8F,QAAQ,GAAG,IAAIj8F,cAAJ,CAAmB,UAAnB,EACjB;AACA;AACA,CAAC;AAAE;AAHc,CAAjB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMk8F,kBAAkB,GAAG,IAAIl8F,cAAJ,CAAmB,oBAAnB,CAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMm8F,YAAN,CAAmB;EACft8N,GAAG,CAACkG,KAAD,EAAQ6jK,aAAa,GAAGumD,kBAAxB,EAA4C;IAC3C,IAAIvmD,aAAa,KAAKumD,kBAAtB,EAA0C;MACtC,MAAMxtK,KAAK,GAAG,IAAIt6C,KAAJ,CAAW,sCAAqCm2C,SAAS,CAACz4C,KAAD,CAAQ,GAAjE,CAAd;MACA48C,KAAK,CAACngD,IAAN,GAAa,mBAAb;MACA,MAAMmgD,KAAN;IACH;;IACD,OAAOinH,aAAP;EACH;;AARc;AAWnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwyD,mBAAT,CAA6B,GAAG79L,OAAhC,EAAyC;EACrC,OAAO;IAAEmtK,UAAU,EAAE2wB,2BAA2B,CAAC,IAAD,EAAO99L,OAAP;EAAzC,CAAP;AACH;;AACD,SAAS89L,2BAAT,CAAqCC,qBAArC,EAA4D,GAAG/9L,OAA/D,EAAwE;EACpE,MAAMg+L,YAAY,GAAG,EAArB;EACA,MAAMC,KAAK,GAAG,IAAIloH,GAAJ,EAAd,CAFoE,CAE3C;;EACzB,IAAImoH,0BAAJ;EACA3kC,WAAW,CAACv5J,OAAD,EAAU0jB,MAAM,IAAI;IAC3B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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM2pF,qCAAqC,GAAG,EAA9C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,sBAAsB,GAAG;EAC3B9+N,IAAI,EAAE;AADqB,CAA/B;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM++N,gBAAgB,GAAG;EACrB/+N,IAAI,EAAE;AADe,CAAzB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIg/N,gCAAgC,GAAG,KAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,4BAAT,CAAsCC,WAAtC,EAAmD;EAC/CF,gCAAgC,GAAGE,WAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASC,4BAAT,GAAwC;EACpC,OAAOH,gCAAP;AACH;;AACD,IAAII,iCAAiC,GAAG,KAAxC;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,6BAAT,CAAuCH,WAAvC,EAAoD;EAChDE,iCAAiC,GAAGF,WAApC;AACH;AACD;AACA;AACA;;;AACA,SAASI,6BAAT,GAAyC;EACrC,OAAOF,iCAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,sBAAT,CAAgCjnO,OAAhC,EAAyC87M,KAAzC,EAAgD2iB,OAAhD,EAAyD5mB,OAAzD,EAAkEqvB,aAAlE,EAAiF;EAC7E;EACA;EACA;EACA;EACA,IAAIrvB,OAAO,KAAK,IAAhB,EACI,OANyE,CAO7E;;EACA,IAAI,CAACqvB,aAAD,IAAkBzI,OAAO,KAAK,IAAlC,EAAwC;IACpC;IACA;IACA;IACA,MAAM0I,SAAS,GACf;IACA;IACC,OAAOC,kBAAP,KAA8B,WAA9B,IAA6CA,kBAA7C,IACGpnO,OAAO,YAAYonO,kBADvB,IAEK,OAAOC,cAAP,KAA0B,WAA1B,IAAyC5I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AAM,CAAC0Z,OAAP,CAAe,KAAKqtM,MAApB,IAA8B3S,uBAAtC,EAA+D,6GAA/D,CADf;UAEAztC,UAAU,CAAC3mK,MAAD,EAAS6F,KAAT,CAAV;UACAmlN,eAAe,CAAC08B,QAAD,EAAW7hP,KAAX,CAAf;QACH;MACJ;;MACD,KAAK4hP,wBAAL,GAAgC,KAAhC;IACH;;IACD9d,YAAY,CAAC,KAAK5iB,MAAL,CAAYxU,KAAZ,CAAD,EAAqB,KAAKwU,MAA1B,CAAZ;EACH;;EACDp5G,SAAS,CAAClrG,QAAD,EAAW;IAChB8+O,uBAAuB,CAAC,KAAKx6B,MAAL,CAAYxU,KAAZ,CAAD,EAAqB,KAAKwU,MAA1B,EAAkC,IAAlC,EAAwCtkN,QAAxC,CAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIktK,YAAY,GAAG;IACXs2E,aAAa,CAAC,KAAKuB,mBAAL,IAA4B,KAAKzgC,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;;;EACIh1K,MAAM,GAAG;IACL,KAAKg1K,MAAL,CAAYvU,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;AAC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G2Q,gBAAgB,EAA9B;IACAmkC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAemH,KAAf,EAAsBt0M,QAAtB,EAAgC+tP,iBAAhC,EAAmDz5C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEulB,SAApE,EAA+E,KAA/E,CAAvB;;IACA,IAAI98N,SAAJ,EAAe;MACX,MAAMuzP,sBAAsB,GAAG,CAACp4J,MAAM,CAAC,CAAD,CAAP,CAA/B,CADW,CACiC;;MAC5C,KAAK,IAAIl3F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk3F,MAAM,CAACj3F,MAA3B,EAAmCD,CAAC,IAAI,CAAxC,EAA2C;QACvCsvP,sBAAsB,CAAC/yP,IAAvB,CAA4B26F,MAAM,CAACl3F,CAAD,CAAlC;MACH;;MACD4mP,4BAA4B,CAAC34C,KAAK,CAACriJ,IAAP,EAAaoiJ,KAAb,EAAoBntM,QAApB,EAA8Bs7M,eAAe,KAAKmzC,sBAAsB,CAACrvP,MAA3C,GAAoD,CAAlF,EAAqF,GAAGqvP,sBAAxF,CAA5B;IACH;EACJ;;EACD,OAAOqE,sBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC/Q,IAAD,EAAOsD,IAAP,KAAgB26Q,eAAe,CAACj+Q,IAAD,EAAOsD,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,SAAS+0F,IAAT,CAAc,GAAGt3F,IAAjB,EAAuB,CACnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMmjR,gBAAgB,GAAG,IAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,eAAe,GAAG,IAAI9gJ,cAAJ,CAAmB,yBAAnB,CAAxB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM+gJ,qBAAN,CAA4B;EACxBlmR,WAAW,CAACmmR,QAAD,EAAW;IAClB,KAAKA,QAAL,GAAgBA,QAAhB;IACA,KAAKtuL,OAAL,GAAesC,IAAf;IACA,KAAKrC,MAAL,GAAcqC,IAAd;IACA,KAAKisL,WAAL,GAAmB,KAAnB;IACA,KAAK5kL,IAAL,GAAY,KAAZ;IACA,KAAK6kL,WAAL,GAAmB,IAAIluL,OAAJ,CAAY,CAAC1jF,GAAD,EAAM6xQ,GAAN,KAAc;MACzC,KAAKzuL,OAAL,GAAepjF,GAAf;MACA,KAAKqjF,MAAL,GAAcwuL,GAAd;IACH,CAHkB,CAAnB;EAIH;EACD;;;EACAC,eAAe,GAAG;IA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A;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy9L,eAAT,GAA2B;EACvB,IAAI,OAAOlkB,iBAAP,KAA6B,WAA7B,IAA4CA,iBAA5C,IACA,OAAOC,IAAP,KAAgB,WADhB,IAC+BA,IAAI,CAACkkB,MAAL,KAAgB,IADnD,EACyD;IACrD;IACA;IACA;IACA,OAAOlkB,IAAI,CAACkkB,MAAZ;EACH,CAND,MAOK;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,OAAQ,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAAS,CAAC1oQ,MAA/C,IAA0DwlP,iBAAjE;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM1qF,SAAS,GAAG,IAAIv0C,cAAJ,CAAmB,UAAnB,EAA+B;EAC7Cx7C,UAAU,EAAE,MADiC;EAE7CD,OAAO,EAAE,MAAMo7C,MAAM,CAAC40C,SAAD,EAAYp3B,WAAW,CAACld,QAAZ,GAAuBkd,WAAW,CAACC,QAA/C,CAAN,IAAkE6kI,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,MAAM9sG,qBAAqB,GAAG,IAAIn1C,cAAJ,CAAmB,qBAAnB,EAA0C;EACpEx7C,UAAU,EAAE,MADwD;EAEpED,OAAO,EAAE,MAAM26K;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,MAAMkjB,YAAY,GAAG,IAAIpiJ,cAAJ,CAAmB,cAAnB,CAArB;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ACA,IAAI,OAAOw0E,IAAP,KAAgB,WAAhB,IAA+BE,2BAA/B,IAA8DC,0BAAlE,EAA8F;IAC1F;IACA;IACA,MAAMC,8BAA8B,GAAGF,2BAA2B,CAACF,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAlE;;IACA,IAAID,8BAAJ,EAAoC;MAChCF,2BAA2B,GAAGE,8BAA9B;IACH;;IACD,MAAME,6BAA6B,GAAGH,0BAA0B,CAACH,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAhE;;IACA,IAAIC,6BAAJ,EAAmC;MAC/BH,0BAA0B,GAAGG,6BAA7B;IACH;EACJ;;EACD,OAAO;IAAEJ,2BAAF;IAA+BC;EAA/B,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMpjM,MAAN,CAAa;EACT5lF,WAAW,CAAC;IAAEopR,oBAAoB,GAAG,KAAzB;IAAgCC,kCAAkC,GAAG,KAArE;IAA4EC,gCAAgC,GAAG;EAA/G,CAAD,EAAyH;IAChI,KAAKC,oBAAL,GAA4B,KAA5B;IACA,KAAKC,oBAAL,GAA4B,KAA5B;IACA;AACR;AACA;;IACQ,KAAKj4I,QAAL,GAAgB,IAAhB;IACA;AACR;AACA;;IACQ,KAAKk4I,UAAL,GAAkB,IAAI5jM,YAAJ,CAAiB,KAAjB,CAAlB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAK6jM,gBAAL,GAAwB,IAAI7jM,YAAJ,CAAiB,KAAjB,CAAxB;IACA;AACR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AAwB;AAExB;AACA;AACA;AACA;;;AACAA,iBAAiB,CAAC6/B,iBAAlB,GAAsC88E,uBAAtC;AACA;;AACA,SAASA,uBAAT,CAAiC/tM,KAAjC,EAAwC;EACpC,OAAOguM,aAAa,CAACxxE,eAAe,EAAhB,EAAoBN,QAAQ,EAA5B,EAAgC,CAACl8H,KAAK,GAAG;EAAG;EAAZ,MAAmD;EAAG;EAAtF,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASguM,aAAT,CAAuB9+E,KAAvB,EAA8BmH,KAA9B,EAAqC43E,MAArC,EAA6C;EACzC,IAAIj4E,eAAe,CAAC9G,KAAD,CAAf,IAA0B,CAAC++E,MAA/B,EAAuC;IACnC;IACA;IACA,MAAMvoD,aAAa,GAAGjrB,wBAAwB,CAACvL,KAAK,CAAC9nM,KAAP,EAAcivM,KAAd,CAA9C,CAHmC,CAGiC;;IACpE,OAAO,IAAIyyC,SAAJ,CAAcpjB,aAAd,EAA6BA,aAA7B,CAAP;EACH,CALD,MAMK,IAAIx2B,KAAK,CAAC9yM,IAAN,IAAc;EAAE;EAAF,EAA6B;EAAG;EAAhC,EAA+D;EAAG;EAAhF,CAAJ,EAA0G;IAC3G;IACA;IACA,MAAM8xR,iBAAiB,GAAG73E,KAAK,CAACxB,0BAAD,CAA/B,CAH2G,CAG9C;;IAC7D,OAAO,IAAIi0C,SAAJ,CAAcolC,iBAAd,EAAiC73E,KAAjC,CAAP;EACH;;EACD,OAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM83E,OAAN,SAAsB/8G,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;AAC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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM2/J,mBAAmB,GAAG,IAAI3/J,yDAAJ,CAAmB,mBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4/J,YAAY,GAAG,oMAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAN,CAAiB;EACb;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACc,OAAHx0R,GAAG,CAACA,GAAD,EAAM;IACZ,OAAOy0R,YAAY,CAACz0R,GAAD,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACc,OAAH0M,GAAG,CAACA,GAAD,EAAM;IACZ,OAAOgoR,YAAY,CAAChoR,GAAD,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACmB,OAARioR,QAAQ,CAACC,OAAD,EAAU;IACrB,OAAOC,iBAAiB,CAACD,OAAD,CAAxB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACuB,OAAZE,YAAY,CAACF,OAAD,EAAU;IACzB,OAAOG,qBAAqB,CAACH,OAAD,CAA5B;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;;;EACgB,OAALI,KAAK,CAACJ,OAAD,EAAU;IAClB,OAAOK,cAAc,CAACL,OAAD,CAArB;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;;;EACoB,OAATM,SAAS,CAACA,SAAD,EAAY;IACxB,OAAOC,kBAAkB,CAACD,SAAD,CAAzB;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;;;EACoB,OAATE,SAAS,CAACA,SAAD,EAAY;IACxB,OAAOC,kBAAkB,CAACD,SAAD,CAAzB;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;;;EACkB,OAAP57G,OAAO,CAACA,OAAD,EAAU;IACpB,OAAO87G,gBAAgB,CAAC97G,OAAD,CAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACwB,OAAb+7G,aAAa,CAACX,OAAD,EAAU;IAC1B,OAAOW,aAAa,CAACX,OAAD,CAApB;EACH;;EACa,OAAPY,OAAO,CAACC,UAAD,EAAa;IACvB,OAAOD,OAAO,CAACC,UAAD,CAAd;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACuB,OAAZC,YAAY,CAACD,UAA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+6E,EAAE,IAAIA,EAAE,EAAzC;;IACA,KAAKmjN,mBAAL,GAA2B,EAA3B;EACH;EACD;AACJ;AACA;AACA;;;EACIrgM,KAAK,CAACruF,KAAK,GAAGvG,SAAT,EAAoB;IACrB,IAAI,KAAKuyR,OAAT,EACI,KAAKA,OAAL,CAAa39L,KAAb,CAAmBruF,KAAnB;EACP;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;;;EACI+8E,QAAQ,CAAC0yM,SAAD,EAAYrrH,IAAZ,EAAkB;IACtB,OAAO,KAAK4nH,OAAL,GAAe,KAAKA,OAAL,CAAajvM,QAAb,CAAsB0yM,SAAtB,EAAiCrrH,IAAjC,CAAf,GAAwD,KAA/D;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;;;EACIsrH,QAAQ,CAACD,SAAD,EAAYrrH,IAAZ,EAAkB;IACtB,OAAO,KAAK4nH,OAAL,GAAe,KAAKA,OAAL,CAAa0D,QAAb,CAAsBD,SAAtB,EAAiCrrH,IAAjC,CAAf,GAAwD,IAA/D;EACH;;AApQ0B;AAuQ/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMurH,gBAAN,SAA+BlB,wBAA/B,CAAwD;EACpD;AACJ;AACA;AACA;EACqB,IAAbmB,aAAa,GAAG;IAChB,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;;;EACY,IAAJxrH,IAAI,GAAG;IACP,OAAO,IAAP;EACH;;AAdmD;AAiBxD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyrH,SAAN,SAAwBpB,wBAAxB,CAAiD;EAC7C7nS,WAAW,GAAG;IACV,MAAM,GAAG+a,SAAT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CJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI2F,kBAAkB,CAAC9G,UAAD,EAAa;IAC3B,KAAK6G,kBAAL,CAAwBrF,aAAa,CAACxB,UAAD,EAAa,KAAKqB,mBAAlB,CAArC;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;;;EACIM,gBAAgB,CAAC3B,UAAD,EAAa;IACzB,KAAK4G,aAAL,CAAmBjF,gBAAgB,CAAC3B,UAAD,EAAa,KAAKmB,cAAlB,CAAnC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI4F,qBAAqB,CAAC/G,UAAD,EAAa;IAC9B,KAAK6G,kBAAL,CAAwBlF,gBAAgB,CAAC3B,UAAD,EAAa,KAAKqB,mBAAlB,CAAxC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIE,YAAY,CAACf,SAAD,EAAY;IACpB,OAAOe,YAAY,CAAC,KAAKJ,cAAN,EAAsBX,SAAtB,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIwG,iBAAiB,CAACxG,SAAD,EAAY;IACzB,OAAOe,YAAY,CAAC,KAAKF,mBAAN,EAA2Bb,SAA3B,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIyG,eAAe,GAAG;IACd,KAAKzG,SAAL,GAAiB,IAAjB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI0G,oBAAoB,GAAG;IACnB,KAAKzE,cAAL,GAAsB,IAAtB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI0E,aAAa,CAAC16F,IAAI,GAAG,EAAR,EAAY;IACrB,KAAKw1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QAAtB;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;;;EACImB,kBAAkB,CAACT,QAAD,EAAW;IACzB,MAAMoC,WAAW,GAAG,KAAKpzD,OAAL,IAAgB,KAAKA,OAAL,CAAasH,KAAjD;IACA,OAAO,CAAC0pD,QAAD,IAAa,CAAC,CAACoC,WAAf,IAA8B,CAAC,KAAKpzD,OAAL,CAAagzD,iBAAb,EAAtC;EACH;EACD;;;EACAJ,KAAK,CAACtnS,IAAD,EAAO;IACR,OAAO,IAAP;EACH;;AA9yBiB;AAizBtB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+nS,SAAN,SAAwBvD,eAAxB,CAAwC;EACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACInsS,WAAW,CAACgsS,QAAD,EAAWR,eAAX,EAA4B9C,cAA5B,EAA4C;IACnD,MAAM6C,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAACjD,cAAD,EAAiB8C,eAAjB,CAA1D;IACA,KAAKQ,QAAL,GAAgBA,QAAhB;;IACA,KAAKkD,gBAAL;;IACA,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C7F,IAAI,EAAE7D,gDAD6B;MAEnC4E,IAAI,EAAE,CAAC,cAAD;IAF6B,CAAD;EAAR,CArB1C;AAAA;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgzS,oBAAoB,GAAG;EACzBn5J,OAAO,EAAEusJ,SADgB;EAEzBtsJ,WAAW,EAAEzpD,yDAAU,CAAC,MAAM4iN,OAAP;AAFE,CAA7B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMxqG,eAAe,GAAG,CAAC,MAAMnzG,OAAO,CAACN,OAAR,EAAP,GAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMi+M,OAAN,SAAsB7M,SAAtB,CAAgC;EAC5BjpS,WAAW,CAACiH,MAAD,EAASg/R,UAAT,EAAqB2F,eAArB,EAAsCsH,cAAtC,EAAsD/+H,kBAAtD,EAA0E;IACjF;IACA,KAAKA,kBAAL,GAA0BA,kBAA1B;IACA,KAAKixH,OAAL,GAAe,IAAIyP,WAAJ,EAAf;IACA;;IACA,KAAKkB,WAAL,GAAmB,KAAnB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAK98P,MAAL,GAAc,IAAI4sC,uDAAJ,EAAd;IACA,KAAKw2J,OAAL,GAAep1O,MAAf;;IACA,KAAKqhS,cAAL,CAAoBrC,UAApB;;IACA,KAAKuC,mBAAL,CAAyBoD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AAI,EAAE,CAAC;MACCY,YAAY,EAAEi5S,0BADf;MAEC/4S,OAAO,EAAE,CAACi5S,0BAAD,EAA6BF,0BAA7B;IAFV,CAAD;EAFoG,CAAD,CAArH;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMI,mBAAN,CAA0B;EACtB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACqB,OAAVC,UAAU,CAACrqG,IAAD,EAAO;IACpB,OAAO;MACH5nH,QAAQ,EAAEgyN,mBADP;MAEH/xN,SAAS,EAAE,CACP;QAAE2xD,OAAO,EAAEk7J,kCAAX;QAA+C9uJ,QAAQ,EAAE4pD,IAAI,CAACsqG;MAA9D,CADO;IAFR,CAAP;EAMH;;AAhBqB;;AAkB1BF,mBAAmB,CAACt7S,IAApB;EAAA,iBAAiHs7S,mBAAjH;AAAA;;AACAA,mBAAmB,CAACz5S,IAApB,kBA33M4God,8DA23M5G;EAAA,MAAkHq8R;AAAlH;AACAA,mBAAmB,CAACv5S,IAApB,kBA53M4Gkd,8DA43M5G;EAAA,UAAiJm8R,0BAAjJ;AAAA;;AACA;EAAA,mDA73M4Gn8R,+DA63M5G,CAA4Fq8R,mBAA5F,EAA6H,CAAC;IAClHh7S,IAAI,EAAE5D,mDAD4G;IAElH2E,IAAI,EAAE,CAAC;MACCY,YAAY,EAAE,CAACk5S,0BAAD,CADf;MAECh5S,OAAO,EAAE,CAACi5S,0BAAD,EAA6BD,0BAA7B;IAFV,CAAD;EAF4G,CAAD,CAA7H;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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,MAAMljB,WAAW,GAAG,OAAOh/G,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASq9T,oBAAT,CAA8B10F,aAA9B,EAA6CjrO,OAA7C,EAAsD;EAClD,OAAOwhS,4EAA0B,CAAC;IAAEv2D,aAAF;IAAiB,GAAG20F,qBAAqB,CAAC5/T,OAAD;EAAzC,CAAD,CAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6/T,iBAAT,CAA2B7/T,OAA3B,EAAoC;EAChC,OAAOwhS,4EAA0B,CAACo+B,qBAAqB,CAAC5/T,OAAD,CAAtB,CAAjC;AACH;;AACD,SAAS4/T,qBAAT,CAA+B5/T,OAA/B,EAAwC;EAAA;;EACpC,OAAO;IACHyvR,YAAY,EAAE,CACV,GAAGqwC,wBADO,EAEV,0BAAI9/T,OAAJ,aAAIA,OAAJ,uBAAIA,OAAO,CAAE0qF,SAAb,mEAA0B,EAA1B,CAFU,CADX;IAKHglM,iBAAiB,EAAEqwC;EALhB,CAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,+BAAT,GAA2C;EACvC;EACA;EACA,OAAO,CAAC,GAAGC,qBAAJ,CAAP;AACH;;AACD,SAASC,cAAT,GAA0B;EACtBjH,iBAAiB,CAACC,WAAlB;AACH;;AACD,SAASzrE,YAAT,GAAwB;EACpB,OAAO,IAAIllB,uDAAJ,EAAP;AACH;;AACD,SAASjhG,SAAT,GAAqB;EACjB;EACAk7J,8DAAY,CAAC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AK;MAAvB,EAA+DsyO,aAAa,IAAK,+BAA8B3Y,GAAI,qBAAoBrpU,CAAE,EAAzI,CAAN;IACH;EACJ;AACJ;;AACD,SAAS8kV,4BAAT,CAAsCtkS,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,MAAMynS,UAAN,CAAiB;EACb7uV,WAAW,CAACmnV,MAAD,EAASngB,KAAT,EAAgB8nB,iBAAhB,EAAmC/kQ,QAAnC,EAA6CvkF,EAA7C,EAAiD;IACxD,KAAK2hV,MAAL,GAAcA,MAAd;IACA,KAAKngB,KAAL,GAAaA,KAAb;IACA,KAAK8nB,iBAAL,GAAyBA,iBAAzB;IACA,KAAK/kQ,QAAL,GAAgBA,QAAhB;IACA,KAAKvkF,EAAL,GAAUA,EAAV;IACA,KAAKupV,iBAAL,GAAyB,KAAzB;IACA,KAAKC,mBAAL,GAA2B,KAA3B;IACA,KAAKC,WAAL,GAAmB,KAAnB;IACA,KAAK5hB,QAAL,GAAgB,IAAhB;IACA;;IACA,KAAK6hB,SAAL,GAAiB,IAAIv5P,0CAAJ,EAAjB;IACA,KAAKw5P,0BAAL,CAAgC,GAAhC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACwB,IAAhBrB,gBA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","sources":["./node_modules/@fullcalendar/angular/__ivy_ngcc__/fesm2015/fullcalendar-angular.js","./node_modules/@fullcalendar/common/main.js","./node_modules/@fullcalendar/common/vdom.js","./node_modules/@fullcalendar/core/main.js","./node_modules/@fullcalendar/core/vdom.js","./node_modules/@fullcalendar/daygrid/main.js","./node_modules/countdown/countdown.js","./node_modules/fast-deep-equal/index.js","./node_modules/ngx-youtube-player/__ivy_ngcc__/fesm2015/ngx-youtube-player.js","./node_modules/preact/compat/dist/compat.module.js","./node_modules/preact/dist/preact.module.js","./node_modules/preact/hooks/dist/hooks.module.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/observable/timer.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/pairwise.js","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","./node_modules/rxjs/dist/esm/internal/operators/skip.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isDate.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isObservable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/ts-md5/dist/esm/index.js","./node_modules/ts-md5/dist/esm/md5.js","./node_modules/ts-md5/dist/esm/md5_file_hasher.js","./node_modules/ts-md5/dist/esm/parallel_hasher.js","./node_modules/@fullcalendar/common/main.css","./node_modules/@fullcalendar/daygrid/main.css","./node_modules/tslib/tslib.es6.js","./node_modules/@angular/animations/fesm2020/animations.mjs","./node_modules/@angular/animations/fesm2020/browser.mjs","./node_modules/@angular/cdk/fesm2020/a11y.mjs","./node_modules/@angular/cdk/fesm2020/bidi.mjs","./node_modules/@angular/cdk/fesm2020/cdk.mjs","./node_modules/@angular/cdk/fesm2020/coercion.mjs","./node_modules/@angular/cdk/fesm2020/collections.mjs","./node_modules/@angular/cdk/fesm2020/dialog.mjs","./node_modules/@angular/cdk/fesm2020/keycodes.mjs","./node_modules/@angular/cdk/fesm2020/layout.mjs","./node_modules/@angular/cdk/fesm2020/observers.mjs","./node_modules/@angular/cdk/fesm2020/overlay.mjs","./node_modules/@angular/cdk/fesm2020/platform.mjs","./node_modules/@angular/cdk/fesm2020/portal.mjs","./node_modules/@angular/cdk/fesm2020/scrolling.mjs","./node_modules/@angular/common/fesm2020/common.mjs","./node_modules/@angular/common/fesm2020/http.mjs","./node_modules/@angular/common/locales/es.mjs","./node_modules/@angular/core/fesm2020/core.mjs","./node_modules/@angular/forms/fesm2020/forms.mjs","./node_modules/@angular/material/fesm2020/core.mjs","./node_modules/@angular/material/fesm2020/dialog.mjs","./node_modules/@angular/material/fesm2020/icon.mjs","./node_modules/@angular/platform-browser/fesm2020/animations.mjs","./node_modules/@angular/platform-browser/fesm2020/platform-browser.mjs","./node_modules/@angular/router/fesm2020/router.mjs","./node_modules/angular-google-tag-manager/fesm2020/angular-google-tag-manager.mjs","./node_modules/ngx-countdown/fesm2020/ngx-countdown.mjs","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["import deepEqual from 'fast-deep-equal';\nimport { Component, ViewEncapsulation, ElementRef, Input, NgModule } from '@angular/core';\nimport { Calendar, globalPlugins } from '@fullcalendar/core';\nimport * as ɵngcc0 from '@angular/core';\nexport * from '@fullcalendar/core';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n/*\nReally simple clone utility. Only copies plain arrays, objects, and Dates. Transfers everything else as-is.\nWanted to use a third-party lib, but none did exactly this.\n*/\nfunction deepCopy(input) {\n if (Array.isArray(input)) {\n return input.map(deepCopy);\n }\n else if (input instanceof Date) {\n return new Date(input.valueOf());\n }\n else if (typeof input === 'object' && input) { // non-null object\n return mapHash(input, deepCopy);\n }\n else { // everything else (null, function, etc)\n return input;\n }\n}\nfunction shallowCopy(val) {\n if (typeof val === 'object') {\n if (Array.isArray(val)) {\n val = Array.prototype.slice.call(val);\n }\n else if (val) { // non-null\n val = Object.assign({}, val);\n }\n }\n return val;\n}\nfunction mapHash(input, func) {\n const output = {};\n for (const key in input) {\n if (hasOwnProperty.call(input, key)) {\n output[key] = func(input[key], key);\n }\n }\n return output;\n}\n\nconst OPTION_IS_DEEP = {\n headerToolbar: true,\n footerToolbar: true,\n events: true,\n eventSources: true,\n resources: true\n};\n\nclass FullCalendarComponent {\n constructor(element) {\n this.element = element;\n this.optionSnapshot = {}; // for diffing only\n }\n ngAfterViewInit() {\n const { deepChangeDetection } = this;\n const options = this.options || {};\n // initialize snapshot\n this.optionSnapshot = mapHash(options, (optionVal, optionName) => ((deepChangeDetection && OPTION_IS_DEEP[optionName])\n ? deepCopy(optionVal)\n : optionVal));\n this.calendar = new Calendar(this.element.nativeElement, options);\n this.calendar.render();\n }\n /*\n allows us to manually detect complex input changes, internal mutations to certain options.\n called before ngOnChanges. called much more often than ngOnChanges.\n */\n ngDoCheck() {\n if (this.calendar) { // not the initial render\n const { deepChangeDetection, optionSnapshot } = this;\n const newOptions = this.options || {};\n const newProcessedOptions = {};\n let anyChanges = false;\n // detect adds and updates (and update snapshot)\n for (const optionName in newOptions) {\n if (newOptions.hasOwnProperty(optionName)) {\n let optionVal = newOptions[optionName];\n if (deepChangeDetection && OPTION_IS_DEEP[optionName]) {\n if (!deepEqual(optionSnapshot[optionName], optionVal)) {\n optionSnapshot[optionName] = deepCopy(optionVal);\n anyChanges = true;\n // trick FC into knowing about a nested change.\n // TODO: future versions won't need this.\n // can't use the previously-made deep copy because it blows away prototype-association.\n optionVal = shallowCopy(optionVal);\n }\n }\n else {\n if (optionSnapshot[optionName] !== optionVal) {\n optionSnapshot[optionName] = optionVal;\n anyChanges = true;\n }\n }\n newProcessedOptions[optionName] = optionVal;\n }\n }\n const oldOptionNames = Object.keys(optionSnapshot);\n // detect removals (and update snapshot)\n for (const optionName of oldOptionNames) {\n if (!(optionName in newOptions)) { // doesn't exist in new options?\n delete optionSnapshot[optionName];\n anyChanges = true;\n }\n }\n if (anyChanges) {\n this.calendar.pauseRendering();\n this.calendar.resetOptions(newProcessedOptions);\n }\n }\n }\n ngAfterContentChecked() {\n if (this.calendar) { // too defensive?\n this.calendar.resumeRendering();\n }\n }\n ngOnDestroy() {\n if (this.calendar) { // too defensive?\n this.calendar.destroy();\n this.calendar = null;\n }\n }\n getApi() {\n return this.calendar;\n }\n}\nFullCalendarComponent.ɵfac = function FullCalendarComponent_Factory(t) { return new (t || FullCalendarComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nFullCalendarComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: FullCalendarComponent, selectors: [[\"full-calendar\"]], inputs: { options: \"options\", deepChangeDetection: \"deepChangeDetection\" }, decls: 0, vars: 0, template: function FullCalendarComponent_Template(rf, ctx) { }, styles: [\"@charset \\\"UTF-8\\\";.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{vertical-align:top;padding:0}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;src:url(\\\"data:application/x-font-ttf;charset=utf-8;base64,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\\\") format(\\\"truetype\\\");font-weight:400;font-style:normal}.fc-icon{display:inline-block;width:1em;height:1em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:fcicons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:\\\"\\\\e900\\\"}.fc-icon-chevron-right:before{content:\\\"\\\\e901\\\"}.fc-icon-chevrons-left:before{content:\\\"\\\\e902\\\"}.fc-icon-chevrons-right:before{content:\\\"\\\\e903\\\"}.fc-icon-minus-square:before{content:\\\"\\\\e904\\\"}.fc-icon-plus-square:before{content:\\\"\\\\e905\\\"}.fc-icon-x:before{content:\\\"\\\\e906\\\"}.fc .fc-button{border-radius:0;overflow:visible;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button::-moz-focus-inner{padding:0;border-style:none}.fc .fc-button{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{outline:0;box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:hover{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1e2b37;background-color:var(--fc-button-hover-bg-color,#1e2b37);border-color:#1a252f;border-color:var(--fc-button-hover-border-color,#1a252f)}.fc .fc-button-primary:disabled{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1a252f;background-color:var(--fc-button-active-bg-color,#1a252f);border-color:#151e27;border-color:var(--fc-button-active-border-color,#151e27)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc .fc-button-group{position:relative;display:inline-flex;vertical-align:middle}.fc .fc-button-group>.fc-button{position:relative;flex:1 1 auto}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc .fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{position:absolute;top:0;right:0;left:0;bottom:0}.fc .fc-scroller-harness{position:relative;overflow:hidden;direction:ltr}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{width:100%;table-layout:fixed}.fc .fc-scrollgrid table{border-top-style:hidden;border-left-style:hidden;border-right-style:hidden}.fc .fc-scrollgrid{border-collapse:separate;border-right-width:0;border-bottom-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section>td,.fc .fc-scrollgrid-section table{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-top-width:0;border-left-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:#fff;background:var(--fc-page-bg-color,#fff);position:-webkit-sticky;position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:-webkit-sticky;position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{position:absolute;top:0;left:0;right:0;bottom:0}.fc .fc-non-business{background:hsla(0,0%,84.3%,.3);background:var(--fc-non-business-color,hsla(0,0%,84.3%,.3))}.fc .fc-bg-event{background:#8fdf82;background:var(--fc-bg-event-color,#8fdf82);opacity:.3;opacity:var(--fc-bg-event-opacity,.3)}.fc .fc-bg-event .fc-event-title{margin:.5em;font-size:.85em;font-size:var(--fc-small-font-size,.85em);font-style:italic}.fc .fc-highlight{background:rgba(188,232,241,.3);background:var(--fc-highlight-color,rgba(188,232,241,.3))}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{border-radius:4px;border-radius:calc(var(--fc-event-resizer-dot-total-width, 8px) / 2);border-width:1px;width:8px;width:var(--fc-event-resizer-dot-total-width,8px);height:8px;height:var(--fc-event-resizer-dot-total-width,8px);border:var(--fc-event-resizer-dot-border-width,1px) solid;border-color:inherit;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-event-selected .fc-event-resizer:before{content:\\\"\\\";position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{content:\\\"\\\";position:absolute;z-index:3;top:0;left:0;right:0;bottom:0}.fc-event-selected:after,.fc-event:focus:after{content:\\\"\\\";background:rgba(0,0,0,.25);background:var(--fc-event-selected-overlay-color,rgba(0,0,0,.25));position:absolute;z-index:1;top:-1px;left:-1px;right:-1px;bottom:-1px}.fc-h-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-h-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;vertical-align:top;left:0;right:0;max-width:100%;overflow:hidden}.fc-h-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{top:0;bottom:0;width:8px;width:var(--fc-event-resizer-thickness,8px)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:-4px;left:calc(-.5 * var(--fc-event-resizer-thickness, 8px))}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:-4px;right:calc(-.5 * var(--fc-event-resizer-thickness, 8px))}.fc-h-event.fc-event-selected .fc-event-resizer{top:50%;margin-top:-4px;margin-top:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:-4px;left:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:-4px;right:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc .fc-popover{position:absolute;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc .fc-popover-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-theme-standard .fc-popover{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd);background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-theme-standard .fc-popover-header{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}:root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{content:\\\"\\\";clear:both;display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-daygrid-day-frame{position:relative;min-height:100%}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{position:relative;z-index:4;padding:4px}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{position:absolute;left:0;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{position:relative;min-height:2em}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{position:absolute;top:0;left:0;right:0}.fc .fc-daygrid-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{z-index:6;margin-top:1px}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;padding:2px 3px 0}.fc .fc-daygrid-day-bottom:before{content:\\\"\\\";clear:both;display:table}.fc .fc-daygrid-more-link{position:relative;z-index:4;cursor:pointer}.fc .fc-daygrid-week-number{position:absolute;z-index:5;top:0;padding:2px;min-width:1.5em;text-align:center;background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));color:grey;color:var(--fc-neutral-text-color,grey)}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-week-number{left:0;border-radius:0 0 3px 0}.fc-direction-rtl .fc-daygrid-week-number{right:0;border-radius:0 0 0 3px}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{position:relative;white-space:nowrap;border-radius:3px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{display:flex;align-items:center;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden;font-weight:700}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-daygrid-event-dot{margin:0 4px;box-sizing:content-box;width:0;height:0;border:4px solid #3788d8;border:calc(var(--fc-daygrid-event-dot-width, 8px) / 2) solid var(--fc-event-border-color,#3788d8);border-radius:4px;border-radius:calc(var(--fc-daygrid-event-dot-width, 8px) / 2)}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}.fc-v-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-v-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff);height:100%}.fc-v-event .fc-event-main-frame{height:100%;display:flex;flex-direction:column}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{top:0;bottom:0;max-height:100%;overflow:hidden}.fc-v-event:not(.fc-event-start){border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event:not(.fc-event-end){border-bottom-width:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:8px;height:var(--fc-event-resizer-thickness,8px);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-thickness, 8px) / -2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-thickness, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:-4px;margin-left:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{position:relative;z-index:1;min-height:100%}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{height:1.5em;border-bottom:0}.fc .fc-timegrid-slot:empty:before{content:\\\"\\u00A0\\\"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.fc .fc-timegrid-axis-cushion{max-width:60px;flex-shrink:0}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-timegrid-col.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc-media-screen .fc-timegrid-cols{position:absolute;top:0;left:0;right:0;bottom:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{position:absolute;top:0;left:0;right:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{position:absolute;left:0;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{position:absolute;top:0;bottom:0;left:0;right:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px var(--fc-page-bg-color,#fff)}.fc-timegrid-event,.fc-timegrid-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);border-radius:3px}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{white-space:nowrap;font-size:.85em;font-size:var(--fc-small-font-size,.85em);margin-bottom:1px}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:\\\"\\u00A0-\\u00A0\\\"}.fc-timegrid-event-short .fc-event-title{font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timegrid-more-link{position:absolute;z-index:9999;color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);cursor:pointer;margin-bottom:1px}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{position:absolute;z-index:4;left:0;right:0;border:0 solid red;border-color:var(--fc-now-indicator-color,red);border-top:1px solid var(--fc-now-indicator-color,red)}.fc .fc-timegrid-now-indicator-arrow{position:absolute;z-index:4;margin-top:-5px;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}:root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-list-empty{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));height:100%;display:flex;justify-content:center;align-items:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{width:100%;border-style:hidden}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{position:-webkit-sticky;position:sticky;top:0;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc .fc-list-table thead{position:absolute;left:-10000px}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{content:\\\"\\\";clear:both;display:table}.fc-theme-standard .fc-list-day-cushion{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:#f5f5f5;background-color:var(--fc-list-event-hover-bg-color,#f5f5f5)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{display:inline-block;box-sizing:content-box;width:0;height:0;border:5px solid #3788d8;border:calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color,#3788d8);border-radius:5px;border-radius:calc(var(--fc-list-event-dot-width, 10px) / 2)}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}.fc-theme-bootstrap a:not([href]){color:inherit}.fc .fc-event,.fc .fc-scrollgrid table tr{-moz-column-break-inside:avoid;break-inside:avoid}.fc-media-print{display:block;max-width:100%}.fc-media-print .fc-bg-event,.fc-media-print .fc-non-business,.fc-media-print .fc-timegrid-axis-chunk,.fc-media-print .fc-timegrid-slots,.fc-media-print .fc-timeline-slots{display:none}.fc-media-print .fc-h-event,.fc-media-print .fc-toolbar button,.fc-media-print .fc-v-event{color:#000!important;background:#fff!important}.fc-media-print .fc-event,.fc-media-print .fc-event-main{color:#000!important}.fc-media-print .fc-timegrid-event{margin:.5em 0}.fc .fc-timeline-body{min-height:100%;position:relative;z-index:1}.fc .fc-timeline-slots{position:absolute;z-index:1;top:0;bottom:0}.fc .fc-timeline-slots>table{height:100%}.fc .fc-timeline-slot-minor{border-style:dotted}.fc .fc-timeline-slot-frame{display:flex;align-items:center;justify-content:center}.fc .fc-timeline-header-row-chrono .fc-timeline-slot-frame{justify-content:flex-start}.fc .fc-timeline-header-row:last-child .fc-timeline-slot-frame{overflow:hidden}.fc .fc-timeline-slot-cushion{padding:4px 5px;white-space:nowrap}.fc-direction-ltr .fc-timeline-slot{border-right:0!important}.fc-direction-rtl .fc-timeline-slot{border-left:0!important}.fc .fc-timeline-now-indicator-container{position:absolute;z-index:4;top:0;bottom:0;left:0;right:0;width:0}.fc .fc-timeline-now-indicator-arrow,.fc .fc-timeline-now-indicator-line{position:absolute;top:0;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc .fc-timeline-now-indicator-arrow{margin:0 -6px;border-width:6px 5px 0;border-left-color:transparent;border-right-color:transparent}.fc .fc-timeline-now-indicator-line{margin:0 -1px;bottom:0;border-width:0 0 0 1px}.fc .fc-timeline-events{position:relative;z-index:3;width:0}.fc .fc-timeline-event-harness,.fc .fc-timeline-more-link{position:absolute;top:0}.fc-timeline-event{z-index:1}.fc-timeline-event.fc-event-mirror{z-index:2}.fc-timeline-event{position:relative;display:flex;align-items:center;border-radius:0;padding:2px 1px;margin-bottom:1px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timeline-event .fc-event-main{flex-grow:1;flex-shrink:1;min-width:0}.fc-timeline-event .fc-event-time{font-weight:700}.fc-timeline-event .fc-event-time,.fc-timeline-event .fc-event-title{white-space:nowrap;padding:0 2px}.fc-direction-ltr .fc-timeline-event.fc-event-end,.fc-direction-ltr .fc-timeline-more-link{margin-right:1px}.fc-direction-rtl .fc-timeline-event.fc-event-end,.fc-direction-rtl .fc-timeline-more-link{margin-left:1px}.fc-timeline-overlap-disabled .fc-timeline-event{padding-top:5px;padding-bottom:5px;margin-bottom:0}.fc-timeline-event:not(.fc-event-end):after,.fc-timeline-event:not(.fc-event-start):before{content:\\\"\\\";flex-grow:0;flex-shrink:0;opacity:.5;width:0;height:0;margin:0 1px;border-color:transparent #000;border-style:solid;border-width:5px}.fc-direction-ltr .fc-timeline-event:not(.fc-event-start):before,.fc-direction-rtl .fc-timeline-event:not(.fc-event-end):after{border-left:0}.fc-direction-ltr .fc-timeline-event:not(.fc-event-end):after,.fc-direction-rtl .fc-timeline-event:not(.fc-event-start):before{border-right:0}.fc-timeline-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);padding:1px;cursor:pointer}.fc-timeline-more-link-inner{display:inline-block;left:0;right:0;padding:2px}.fc .fc-timeline-bg{position:absolute;z-index:2;top:0;bottom:0;width:0;left:0;right:0}.fc .fc-timeline-bg .fc-non-business{z-index:1}.fc .fc-timeline-bg .fc-bg-event{z-index:2}.fc .fc-timeline-bg .fc-highlight{z-index:3}.fc .fc-timeline-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-resource-timeline-divider{width:3px;cursor:col-resize}.fc .fc-resource-group{font-weight:inherit;text-align:inherit}.fc .fc-resource-timeline .fc-resource-group:not([rowspan]){background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc .fc-timeline-lane-frame{position:relative}.fc .fc-timeline-overlap-enabled .fc-timeline-lane-frame .fc-timeline-events{box-sizing:content-box;padding-bottom:10px}.fc-timeline-body-expandrows td.fc-timeline-lane{position:relative}.fc-timeline-body-expandrows .fc-timeline-lane-frame{position:static}.fc-datagrid-cell-frame-liquid{height:100%}.fc-liquid-hack .fc-datagrid-cell-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-datagrid-header .fc-datagrid-cell-frame{position:relative;display:flex;justify-content:flex-start;align-items:center}.fc .fc-datagrid-cell-resizer{position:absolute;z-index:1;top:0;bottom:0;width:5px;cursor:col-resize}.fc .fc-datagrid-cell-cushion{padding:8px;white-space:nowrap;overflow:hidden}.fc .fc-datagrid-expander{cursor:pointer;opacity:.65}.fc .fc-datagrid-expander .fc-icon{display:inline-block;width:1em}.fc .fc-datagrid-expander-placeholder{cursor:auto}.fc .fc-resource-timeline-flat .fc-datagrid-expander-placeholder{display:none}.fc-direction-ltr .fc-datagrid-cell-resizer{right:-3px}.fc-direction-rtl .fc-datagrid-cell-resizer{left:-3px}.fc-direction-ltr .fc-datagrid-expander{margin-right:3px}.fc-direction-rtl .fc-datagrid-expander{margin-left:3px}\"], encapsulation: 2 });\nFullCalendarComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nFullCalendarComponent.propDecorators = {\n options: [{ type: Input }],\n deepChangeDetection: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FullCalendarComponent, [{\n type: Component,\n args: [{ selector: 'full-calendar', template: '', encapsulation: ViewEncapsulation.None // the styles are root-level, not scoped within the component\n , styles: [\"@charset \\\"UTF-8\\\";.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{vertical-align:top;padding:0}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;src:url(\\\"data:application/x-font-ttf;charset=utf-8;base64,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\\\") format(\\\"truetype\\\");font-weight:400;font-style:normal}.fc-icon{display:inline-block;width:1em;height:1em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:fcicons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:\\\"\\\\e900\\\"}.fc-icon-chevron-right:before{content:\\\"\\\\e901\\\"}.fc-icon-chevrons-left:before{content:\\\"\\\\e902\\\"}.fc-icon-chevrons-right:before{content:\\\"\\\\e903\\\"}.fc-icon-minus-square:before{content:\\\"\\\\e904\\\"}.fc-icon-plus-square:before{content:\\\"\\\\e905\\\"}.fc-icon-x:before{content:\\\"\\\\e906\\\"}.fc .fc-button{border-radius:0;overflow:visible;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button::-moz-focus-inner{padding:0;border-style:none}.fc .fc-button{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{outline:0;box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:hover{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1e2b37;background-color:var(--fc-button-hover-bg-color,#1e2b37);border-color:#1a252f;border-color:var(--fc-button-hover-border-color,#1a252f)}.fc .fc-button-primary:disabled{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1a252f;background-color:var(--fc-button-active-bg-color,#1a252f);border-color:#151e27;border-color:var(--fc-button-active-border-color,#151e27)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc .fc-button-group{position:relative;display:inline-flex;vertical-align:middle}.fc .fc-button-group>.fc-button{position:relative;flex:1 1 auto}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc .fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{position:absolute;top:0;right:0;left:0;bottom:0}.fc .fc-scroller-harness{position:relative;overflow:hidden;direction:ltr}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{width:100%;table-layout:fixed}.fc .fc-scrollgrid table{border-top-style:hidden;border-left-style:hidden;border-right-style:hidden}.fc .fc-scrollgrid{border-collapse:separate;border-right-width:0;border-bottom-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section>td,.fc .fc-scrollgrid-section table{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-top-width:0;border-left-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:#fff;background:var(--fc-page-bg-color,#fff);position:-webkit-sticky;position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:-webkit-sticky;position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{position:absolute;top:0;left:0;right:0;bottom:0}.fc .fc-non-business{background:hsla(0,0%,84.3%,.3);background:var(--fc-non-business-color,hsla(0,0%,84.3%,.3))}.fc .fc-bg-event{background:#8fdf82;background:var(--fc-bg-event-color,#8fdf82);opacity:.3;opacity:var(--fc-bg-event-opacity,.3)}.fc .fc-bg-event .fc-event-title{margin:.5em;font-size:.85em;font-size:var(--fc-small-font-size,.85em);font-style:italic}.fc .fc-highlight{background:rgba(188,232,241,.3);background:var(--fc-highlight-color,rgba(188,232,241,.3))}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{border-radius:4px;border-radius:calc(var(--fc-event-resizer-dot-total-width, 8px) / 2);border-width:1px;width:8px;width:var(--fc-event-resizer-dot-total-width,8px);height:8px;height:var(--fc-event-resizer-dot-total-width,8px);border:var(--fc-event-resizer-dot-border-width,1px) solid;border-color:inherit;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-event-selected .fc-event-resizer:before{content:\\\"\\\";position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{content:\\\"\\\";position:absolute;z-index:3;top:0;left:0;right:0;bottom:0}.fc-event-selected:after,.fc-event:focus:after{content:\\\"\\\";background:rgba(0,0,0,.25);background:var(--fc-event-selected-overlay-color,rgba(0,0,0,.25));position:absolute;z-index:1;top:-1px;left:-1px;right:-1px;bottom:-1px}.fc-h-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-h-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;vertical-align:top;left:0;right:0;max-width:100%;overflow:hidden}.fc-h-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{top:0;bottom:0;width:8px;width:var(--fc-event-resizer-thickness,8px)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:-4px;left:calc(-.5 * var(--fc-event-resizer-thickness, 8px))}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:-4px;right:calc(-.5 * var(--fc-event-resizer-thickness, 8px))}.fc-h-event.fc-event-selected .fc-event-resizer{top:50%;margin-top:-4px;margin-top:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:-4px;left:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:-4px;right:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc .fc-popover{position:absolute;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc .fc-popover-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-theme-standard .fc-popover{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd);background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-theme-standard .fc-popover-header{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}:root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{content:\\\"\\\";clear:both;display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-daygrid-day-frame{position:relative;min-height:100%}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{position:relative;z-index:4;padding:4px}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{position:absolute;left:0;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{position:relative;min-height:2em}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{position:absolute;top:0;left:0;right:0}.fc .fc-daygrid-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{z-index:6;margin-top:1px}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;padding:2px 3px 0}.fc .fc-daygrid-day-bottom:before{content:\\\"\\\";clear:both;display:table}.fc .fc-daygrid-more-link{position:relative;z-index:4;cursor:pointer}.fc .fc-daygrid-week-number{position:absolute;z-index:5;top:0;padding:2px;min-width:1.5em;text-align:center;background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));color:grey;color:var(--fc-neutral-text-color,grey)}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-week-number{left:0;border-radius:0 0 3px 0}.fc-direction-rtl .fc-daygrid-week-number{right:0;border-radius:0 0 0 3px}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{position:relative;white-space:nowrap;border-radius:3px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{display:flex;align-items:center;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden;font-weight:700}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-daygrid-event-dot{margin:0 4px;box-sizing:content-box;width:0;height:0;border:4px solid #3788d8;border:calc(var(--fc-daygrid-event-dot-width, 8px) / 2) solid var(--fc-event-border-color,#3788d8);border-radius:4px;border-radius:calc(var(--fc-daygrid-event-dot-width, 8px) / 2)}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}.fc-v-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-v-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff);height:100%}.fc-v-event .fc-event-main-frame{height:100%;display:flex;flex-direction:column}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{top:0;bottom:0;max-height:100%;overflow:hidden}.fc-v-event:not(.fc-event-start){border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event:not(.fc-event-end){border-bottom-width:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:8px;height:var(--fc-event-resizer-thickness,8px);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-thickness, 8px) / -2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-thickness, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:-4px;margin-left:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{position:relative;z-index:1;min-height:100%}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{height:1.5em;border-bottom:0}.fc .fc-timegrid-slot:empty:before{content:\\\"\\u00A0\\\"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.fc .fc-timegrid-axis-cushion{max-width:60px;flex-shrink:0}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-timegrid-col.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc-media-screen .fc-timegrid-cols{position:absolute;top:0;left:0;right:0;bottom:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{position:absolute;top:0;left:0;right:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{position:absolute;left:0;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{position:absolute;top:0;bottom:0;left:0;right:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px var(--fc-page-bg-color,#fff)}.fc-timegrid-event,.fc-timegrid-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);border-radius:3px}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{white-space:nowrap;font-size:.85em;font-size:var(--fc-small-font-size,.85em);margin-bottom:1px}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:\\\"\\u00A0-\\u00A0\\\"}.fc-timegrid-event-short .fc-event-title{font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timegrid-more-link{position:absolute;z-index:9999;color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);cursor:pointer;margin-bottom:1px}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{position:absolute;z-index:4;left:0;right:0;border:0 solid red;border-color:var(--fc-now-indicator-color,red);border-top:1px solid var(--fc-now-indicator-color,red)}.fc .fc-timegrid-now-indicator-arrow{position:absolute;z-index:4;margin-top:-5px;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}:root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-list-empty{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));height:100%;display:flex;justify-content:center;align-items:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{width:100%;border-style:hidden}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{position:-webkit-sticky;position:sticky;top:0;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc .fc-list-table thead{position:absolute;left:-10000px}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{content:\\\"\\\";clear:both;display:table}.fc-theme-standard .fc-list-day-cushion{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:#f5f5f5;background-color:var(--fc-list-event-hover-bg-color,#f5f5f5)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{display:inline-block;box-sizing:content-box;width:0;height:0;border:5px solid #3788d8;border:calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color,#3788d8);border-radius:5px;border-radius:calc(var(--fc-list-event-dot-width, 10px) / 2)}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}.fc-theme-bootstrap a:not([href]){color:inherit}.fc .fc-event,.fc .fc-scrollgrid table tr{-moz-column-break-inside:avoid;break-inside:avoid}.fc-media-print{display:block;max-width:100%}.fc-media-print .fc-bg-event,.fc-media-print .fc-non-business,.fc-media-print .fc-timegrid-axis-chunk,.fc-media-print .fc-timegrid-slots,.fc-media-print .fc-timeline-slots{display:none}.fc-media-print .fc-h-event,.fc-media-print .fc-toolbar button,.fc-media-print .fc-v-event{color:#000!important;background:#fff!important}.fc-media-print .fc-event,.fc-media-print .fc-event-main{color:#000!important}.fc-media-print .fc-timegrid-event{margin:.5em 0}.fc .fc-timeline-body{min-height:100%;position:relative;z-index:1}.fc .fc-timeline-slots{position:absolute;z-index:1;top:0;bottom:0}.fc .fc-timeline-slots>table{height:100%}.fc .fc-timeline-slot-minor{border-style:dotted}.fc .fc-timeline-slot-frame{display:flex;align-items:center;justify-content:center}.fc .fc-timeline-header-row-chrono .fc-timeline-slot-frame{justify-content:flex-start}.fc .fc-timeline-header-row:last-child .fc-timeline-slot-frame{overflow:hidden}.fc .fc-timeline-slot-cushion{padding:4px 5px;white-space:nowrap}.fc-direction-ltr .fc-timeline-slot{border-right:0!important}.fc-direction-rtl .fc-timeline-slot{border-left:0!important}.fc .fc-timeline-now-indicator-container{position:absolute;z-index:4;top:0;bottom:0;left:0;right:0;width:0}.fc .fc-timeline-now-indicator-arrow,.fc .fc-timeline-now-indicator-line{position:absolute;top:0;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc .fc-timeline-now-indicator-arrow{margin:0 -6px;border-width:6px 5px 0;border-left-color:transparent;border-right-color:transparent}.fc .fc-timeline-now-indicator-line{margin:0 -1px;bottom:0;border-width:0 0 0 1px}.fc .fc-timeline-events{position:relative;z-index:3;width:0}.fc .fc-timeline-event-harness,.fc .fc-timeline-more-link{position:absolute;top:0}.fc-timeline-event{z-index:1}.fc-timeline-event.fc-event-mirror{z-index:2}.fc-timeline-event{position:relative;display:flex;align-items:center;border-radius:0;padding:2px 1px;margin-bottom:1px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timeline-event .fc-event-main{flex-grow:1;flex-shrink:1;min-width:0}.fc-timeline-event .fc-event-time{font-weight:700}.fc-timeline-event .fc-event-time,.fc-timeline-event .fc-event-title{white-space:nowrap;padding:0 2px}.fc-direction-ltr .fc-timeline-event.fc-event-end,.fc-direction-ltr .fc-timeline-more-link{margin-right:1px}.fc-direction-rtl .fc-timeline-event.fc-event-end,.fc-direction-rtl .fc-timeline-more-link{margin-left:1px}.fc-timeline-overlap-disabled .fc-timeline-event{padding-top:5px;padding-bottom:5px;margin-bottom:0}.fc-timeline-event:not(.fc-event-end):after,.fc-timeline-event:not(.fc-event-start):before{content:\\\"\\\";flex-grow:0;flex-shrink:0;opacity:.5;width:0;height:0;margin:0 1px;border-color:transparent #000;border-style:solid;border-width:5px}.fc-direction-ltr .fc-timeline-event:not(.fc-event-start):before,.fc-direction-rtl .fc-timeline-event:not(.fc-event-end):after{border-left:0}.fc-direction-ltr .fc-timeline-event:not(.fc-event-end):after,.fc-direction-rtl .fc-timeline-event:not(.fc-event-start):before{border-right:0}.fc-timeline-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);padding:1px;cursor:pointer}.fc-timeline-more-link-inner{display:inline-block;left:0;right:0;padding:2px}.fc .fc-timeline-bg{position:absolute;z-index:2;top:0;bottom:0;width:0;left:0;right:0}.fc .fc-timeline-bg .fc-non-business{z-index:1}.fc .fc-timeline-bg .fc-bg-event{z-index:2}.fc .fc-timeline-bg .fc-highlight{z-index:3}.fc .fc-timeline-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-resource-timeline-divider{width:3px;cursor:col-resize}.fc .fc-resource-group{font-weight:inherit;text-align:inherit}.fc .fc-resource-timeline .fc-resource-group:not([rowspan]){background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc .fc-timeline-lane-frame{position:relative}.fc .fc-timeline-overlap-enabled .fc-timeline-lane-frame .fc-timeline-events{box-sizing:content-box;padding-bottom:10px}.fc-timeline-body-expandrows td.fc-timeline-lane{position:relative}.fc-timeline-body-expandrows .fc-timeline-lane-frame{position:static}.fc-datagrid-cell-frame-liquid{height:100%}.fc-liquid-hack .fc-datagrid-cell-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-datagrid-header .fc-datagrid-cell-frame{position:relative;display:flex;justify-content:flex-start;align-items:center}.fc .fc-datagrid-cell-resizer{position:absolute;z-index:1;top:0;bottom:0;width:5px;cursor:col-resize}.fc .fc-datagrid-cell-cushion{padding:8px;white-space:nowrap;overflow:hidden}.fc .fc-datagrid-expander{cursor:pointer;opacity:.65}.fc .fc-datagrid-expander .fc-icon{display:inline-block;width:1em}.fc .fc-datagrid-expander-placeholder{cursor:auto}.fc .fc-resource-timeline-flat .fc-datagrid-expander-placeholder{display:none}.fc-direction-ltr .fc-datagrid-cell-resizer{right:-3px}.fc-direction-rtl .fc-datagrid-cell-resizer{left:-3px}.fc-direction-ltr .fc-datagrid-expander{margin-right:3px}.fc-direction-rtl .fc-datagrid-expander{margin-left:3px}\"] }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { options: [{\n type: Input\n }], deepChangeDetection: [{\n type: Input\n }] }); })();\n\nclass FullCalendarModule {\n static registerPlugins(plugins) {\n globalPlugins.push(...plugins);\n }\n}\nFullCalendarModule.ɵfac = function FullCalendarModule_Factory(t) { return new (t || FullCalendarModule)(); };\nFullCalendarModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: FullCalendarModule });\nFullCalendarModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FullCalendarModule, [{\n type: NgModule,\n args: [{\n declarations: [FullCalendarComponent],\n imports: [],\n exports: [FullCalendarComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(FullCalendarModule, { declarations: [FullCalendarComponent], exports: [FullCalendarComponent] }); })();\n\n/*\n * Public API Surface of fullcalendar\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FullCalendarComponent, FullCalendarModule };\n\n","/*!\nFullCalendar v5.11.3\nDocs & License: https://fullcalendar.io/\n(c) 2022 Adam Shaw\n*/\nimport './main.css';\n\nimport { __assign, __spreadArray, __extends } from 'tslib';\nimport { createContext, Component, createRef, createElement, Fragment, createPortal } from './vdom.js';\nexport * from './vdom.js';\n\n// no public types yet. when there are, export from:\n// import {} from './api-type-deps'\nvar EventSourceApi = /** @class */ (function () {\n function EventSourceApi(context, internalEventSource) {\n this.context = context;\n this.internalEventSource = internalEventSource;\n }\n EventSourceApi.prototype.remove = function () {\n this.context.dispatch({\n type: 'REMOVE_EVENT_SOURCE',\n sourceId: this.internalEventSource.sourceId,\n });\n };\n EventSourceApi.prototype.refetch = function () {\n this.context.dispatch({\n type: 'FETCH_EVENT_SOURCES',\n sourceIds: [this.internalEventSource.sourceId],\n isRefetch: true,\n });\n };\n Object.defineProperty(EventSourceApi.prototype, \"id\", {\n get: function () {\n return this.internalEventSource.publicId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventSourceApi.prototype, \"url\", {\n get: function () {\n return this.internalEventSource.meta.url;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventSourceApi.prototype, \"format\", {\n get: function () {\n return this.internalEventSource.meta.format; // TODO: bad. not guaranteed\n },\n enumerable: false,\n configurable: true\n });\n return EventSourceApi;\n}());\n\nfunction removeElement(el) {\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n}\n// Querying\n// ----------------------------------------------------------------------------------------------------------------\nfunction elementClosest(el, selector) {\n if (el.closest) {\n return el.closest(selector);\n // really bad fallback for IE\n // from https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n }\n if (!document.documentElement.contains(el)) {\n return null;\n }\n do {\n if (elementMatches(el, selector)) {\n return el;\n }\n el = (el.parentElement || el.parentNode);\n } while (el !== null && el.nodeType === 1);\n return null;\n}\nfunction elementMatches(el, selector) {\n var method = el.matches || el.matchesSelector || el.msMatchesSelector;\n return method.call(el, selector);\n}\n// accepts multiple subject els\n// returns a real array. good for methods like forEach\n// TODO: accept the document\nfunction findElements(container, selector) {\n var containers = container instanceof HTMLElement ? [container] : container;\n var allMatches = [];\n for (var i = 0; i < containers.length; i += 1) {\n var matches = containers[i].querySelectorAll(selector);\n for (var j = 0; j < matches.length; j += 1) {\n allMatches.push(matches[j]);\n }\n }\n return allMatches;\n}\n// accepts multiple subject els\n// only queries direct child elements // TODO: rename to findDirectChildren!\nfunction findDirectChildren(parent, selector) {\n var parents = parent instanceof HTMLElement ? [parent] : parent;\n var allMatches = [];\n for (var i = 0; i < parents.length; i += 1) {\n var childNodes = parents[i].children; // only ever elements\n for (var j = 0; j < childNodes.length; j += 1) {\n var childNode = childNodes[j];\n if (!selector || elementMatches(childNode, selector)) {\n allMatches.push(childNode);\n }\n }\n }\n return allMatches;\n}\n// Style\n// ----------------------------------------------------------------------------------------------------------------\nvar PIXEL_PROP_RE = /(top|left|right|bottom|width|height)$/i;\nfunction applyStyle(el, props) {\n for (var propName in props) {\n applyStyleProp(el, propName, props[propName]);\n }\n}\nfunction applyStyleProp(el, name, val) {\n if (val == null) {\n el.style[name] = '';\n }\n else if (typeof val === 'number' && PIXEL_PROP_RE.test(name)) {\n el.style[name] = val + \"px\";\n }\n else {\n el.style[name] = val;\n }\n}\n// Event Handling\n// ----------------------------------------------------------------------------------------------------------------\n// if intercepting bubbled events at the document/window/body level,\n// and want to see originating element (the 'target'), use this util instead\n// of `ev.target` because it goes within web-component boundaries.\nfunction getEventTargetViaRoot(ev) {\n var _a, _b;\n return (_b = (_a = ev.composedPath) === null || _a === void 0 ? void 0 : _a.call(ev)[0]) !== null && _b !== void 0 ? _b : ev.target;\n}\n// Shadow DOM consuderations\n// ----------------------------------------------------------------------------------------------------------------\nfunction getElRoot(el) {\n return el.getRootNode ? el.getRootNode() : document;\n}\n// Unique ID for DOM attribute\nvar guid$1 = 0;\nfunction getUniqueDomId() {\n guid$1 += 1;\n return 'fc-dom-' + guid$1;\n}\n\n// Stops a mouse/touch event from doing it's native browser action\nfunction preventDefault(ev) {\n ev.preventDefault();\n}\n// Event Delegation\n// ----------------------------------------------------------------------------------------------------------------\nfunction buildDelegationHandler(selector, handler) {\n return function (ev) {\n var matchedChild = elementClosest(ev.target, selector);\n if (matchedChild) {\n handler.call(matchedChild, ev, matchedChild);\n }\n };\n}\nfunction listenBySelector(container, eventType, selector, handler) {\n var attachedHandler = buildDelegationHandler(selector, handler);\n container.addEventListener(eventType, attachedHandler);\n return function () {\n container.removeEventListener(eventType, attachedHandler);\n };\n}\nfunction listenToHoverBySelector(container, selector, onMouseEnter, onMouseLeave) {\n var currentMatchedChild;\n return listenBySelector(container, 'mouseover', selector, function (mouseOverEv, matchedChild) {\n if (matchedChild !== currentMatchedChild) {\n currentMatchedChild = matchedChild;\n onMouseEnter(mouseOverEv, matchedChild);\n var realOnMouseLeave_1 = function (mouseLeaveEv) {\n currentMatchedChild = null;\n onMouseLeave(mouseLeaveEv, matchedChild);\n matchedChild.removeEventListener('mouseleave', realOnMouseLeave_1);\n };\n // listen to the next mouseleave, and then unattach\n matchedChild.addEventListener('mouseleave', realOnMouseLeave_1);\n }\n });\n}\n// Animation\n// ----------------------------------------------------------------------------------------------------------------\nvar transitionEventNames = [\n 'webkitTransitionEnd',\n 'otransitionend',\n 'oTransitionEnd',\n 'msTransitionEnd',\n 'transitionend',\n];\n// triggered only when the next single subsequent transition finishes\nfunction whenTransitionDone(el, callback) {\n var realCallback = function (ev) {\n callback(ev);\n transitionEventNames.forEach(function (eventName) {\n el.removeEventListener(eventName, realCallback);\n });\n };\n transitionEventNames.forEach(function (eventName) {\n el.addEventListener(eventName, realCallback); // cross-browser way to determine when the transition finishes\n });\n}\n// ARIA workarounds\n// ----------------------------------------------------------------------------------------------------------------\nfunction createAriaClickAttrs(handler) {\n return __assign({ onClick: handler }, createAriaKeyboardAttrs(handler));\n}\nfunction createAriaKeyboardAttrs(handler) {\n return {\n tabIndex: 0,\n onKeyDown: function (ev) {\n if (ev.key === 'Enter' || ev.key === ' ') {\n handler(ev);\n ev.preventDefault(); // if space, don't scroll down page\n }\n },\n };\n}\n\nvar guidNumber = 0;\nfunction guid() {\n guidNumber += 1;\n return String(guidNumber);\n}\n/* FullCalendar-specific DOM Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n// Make the mouse cursor express that an event is not allowed in the current area\nfunction disableCursor() {\n document.body.classList.add('fc-not-allowed');\n}\n// Returns the mouse cursor to its original look\nfunction enableCursor() {\n document.body.classList.remove('fc-not-allowed');\n}\n/* Selection\n----------------------------------------------------------------------------------------------------------------------*/\nfunction preventSelection(el) {\n el.classList.add('fc-unselectable');\n el.addEventListener('selectstart', preventDefault);\n}\nfunction allowSelection(el) {\n el.classList.remove('fc-unselectable');\n el.removeEventListener('selectstart', preventDefault);\n}\n/* Context Menu\n----------------------------------------------------------------------------------------------------------------------*/\nfunction preventContextMenu(el) {\n el.addEventListener('contextmenu', preventDefault);\n}\nfunction allowContextMenu(el) {\n el.removeEventListener('contextmenu', preventDefault);\n}\nfunction parseFieldSpecs(input) {\n var specs = [];\n var tokens = [];\n var i;\n var token;\n if (typeof input === 'string') {\n tokens = input.split(/\\s*,\\s*/);\n }\n else if (typeof input === 'function') {\n tokens = [input];\n }\n else if (Array.isArray(input)) {\n tokens = input;\n }\n for (i = 0; i < tokens.length; i += 1) {\n token = tokens[i];\n if (typeof token === 'string') {\n specs.push(token.charAt(0) === '-' ?\n { field: token.substring(1), order: -1 } :\n { field: token, order: 1 });\n }\n else if (typeof token === 'function') {\n specs.push({ func: token });\n }\n }\n return specs;\n}\nfunction compareByFieldSpecs(obj0, obj1, fieldSpecs) {\n var i;\n var cmp;\n for (i = 0; i < fieldSpecs.length; i += 1) {\n cmp = compareByFieldSpec(obj0, obj1, fieldSpecs[i]);\n if (cmp) {\n return cmp;\n }\n }\n return 0;\n}\nfunction compareByFieldSpec(obj0, obj1, fieldSpec) {\n if (fieldSpec.func) {\n return fieldSpec.func(obj0, obj1);\n }\n return flexibleCompare(obj0[fieldSpec.field], obj1[fieldSpec.field])\n * (fieldSpec.order || 1);\n}\nfunction flexibleCompare(a, b) {\n if (!a && !b) {\n return 0;\n }\n if (b == null) {\n return -1;\n }\n if (a == null) {\n return 1;\n }\n if (typeof a === 'string' || typeof b === 'string') {\n return String(a).localeCompare(String(b));\n }\n return a - b;\n}\n/* String Utilities\n----------------------------------------------------------------------------------------------------------------------*/\nfunction padStart(val, len) {\n var s = String(val);\n return '000'.substr(0, len - s.length) + s;\n}\nfunction formatWithOrdinals(formatter, args, fallbackText) {\n if (typeof formatter === 'function') {\n return formatter.apply(void 0, args);\n }\n if (typeof formatter === 'string') { // non-blank string\n return args.reduce(function (str, arg, index) { return (str.replace('$' + index, arg || '')); }, formatter);\n }\n return fallbackText;\n}\n/* Number Utilities\n----------------------------------------------------------------------------------------------------------------------*/\nfunction compareNumbers(a, b) {\n return a - b;\n}\nfunction isInt(n) {\n return n % 1 === 0;\n}\n/* FC-specific DOM dimension stuff\n----------------------------------------------------------------------------------------------------------------------*/\nfunction computeSmallestCellWidth(cellEl) {\n var allWidthEl = cellEl.querySelector('.fc-scrollgrid-shrink-frame');\n var contentWidthEl = cellEl.querySelector('.fc-scrollgrid-shrink-cushion');\n if (!allWidthEl) {\n throw new Error('needs fc-scrollgrid-shrink-frame className'); // TODO: use const\n }\n if (!contentWidthEl) {\n throw new Error('needs fc-scrollgrid-shrink-cushion className');\n }\n return cellEl.getBoundingClientRect().width - allWidthEl.getBoundingClientRect().width + // the cell padding+border\n contentWidthEl.getBoundingClientRect().width;\n}\n\nvar DAY_IDS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];\n// Adding\nfunction addWeeks(m, n) {\n var a = dateToUtcArray(m);\n a[2] += n * 7;\n return arrayToUtcDate(a);\n}\nfunction addDays(m, n) {\n var a = dateToUtcArray(m);\n a[2] += n;\n return arrayToUtcDate(a);\n}\nfunction addMs(m, n) {\n var a = dateToUtcArray(m);\n a[6] += n;\n return arrayToUtcDate(a);\n}\n// Diffing (all return floats)\n// TODO: why not use ranges?\nfunction diffWeeks(m0, m1) {\n return diffDays(m0, m1) / 7;\n}\nfunction diffDays(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60 * 24);\n}\nfunction diffHours(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60);\n}\nfunction diffMinutes(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60);\n}\nfunction diffSeconds(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / 1000;\n}\nfunction diffDayAndTime(m0, m1) {\n var m0day = startOfDay(m0);\n var m1day = startOfDay(m1);\n return {\n years: 0,\n months: 0,\n days: Math.round(diffDays(m0day, m1day)),\n milliseconds: (m1.valueOf() - m1day.valueOf()) - (m0.valueOf() - m0day.valueOf()),\n };\n}\n// Diffing Whole Units\nfunction diffWholeWeeks(m0, m1) {\n var d = diffWholeDays(m0, m1);\n if (d !== null && d % 7 === 0) {\n return d / 7;\n }\n return null;\n}\nfunction diffWholeDays(m0, m1) {\n if (timeAsMs(m0) === timeAsMs(m1)) {\n return Math.round(diffDays(m0, m1));\n }\n return null;\n}\n// Start-Of\nfunction startOfDay(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n ]);\n}\nfunction startOfHour(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n ]);\n}\nfunction startOfMinute(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n m.getUTCMinutes(),\n ]);\n}\nfunction startOfSecond(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n m.getUTCMinutes(),\n m.getUTCSeconds(),\n ]);\n}\n// Week Computation\nfunction weekOfYear(marker, dow, doy) {\n var y = marker.getUTCFullYear();\n var w = weekOfGivenYear(marker, y, dow, doy);\n if (w < 1) {\n return weekOfGivenYear(marker, y - 1, dow, doy);\n }\n var nextW = weekOfGivenYear(marker, y + 1, dow, doy);\n if (nextW >= 1) {\n return Math.min(w, nextW);\n }\n return w;\n}\nfunction weekOfGivenYear(marker, year, dow, doy) {\n var firstWeekStart = arrayToUtcDate([year, 0, 1 + firstWeekOffset(year, dow, doy)]);\n var dayStart = startOfDay(marker);\n var days = Math.round(diffDays(firstWeekStart, dayStart));\n return Math.floor(days / 7) + 1; // zero-indexed\n}\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n var fwd = 7 + dow - doy;\n // first-week day local weekday -- which local weekday is fwd\n var fwdlw = (7 + arrayToUtcDate([year, 0, fwd]).getUTCDay() - dow) % 7;\n return -fwdlw + fwd - 1;\n}\n// Array Conversion\nfunction dateToLocalArray(date) {\n return [\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n ];\n}\nfunction arrayToLocalDate(a) {\n return new Date(a[0], a[1] || 0, a[2] == null ? 1 : a[2], // day of month\n a[3] || 0, a[4] || 0, a[5] || 0);\n}\nfunction dateToUtcArray(date) {\n return [\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds(),\n ];\n}\nfunction arrayToUtcDate(a) {\n // according to web standards (and Safari), a month index is required.\n // massage if only given a year.\n if (a.length === 1) {\n a = a.concat([0]);\n }\n return new Date(Date.UTC.apply(Date, a));\n}\n// Other Utils\nfunction isValidDate(m) {\n return !isNaN(m.valueOf());\n}\nfunction timeAsMs(m) {\n return m.getUTCHours() * 1000 * 60 * 60 +\n m.getUTCMinutes() * 1000 * 60 +\n m.getUTCSeconds() * 1000 +\n m.getUTCMilliseconds();\n}\n\nfunction createEventInstance(defId, range, forcedStartTzo, forcedEndTzo) {\n return {\n instanceId: guid(),\n defId: defId,\n range: range,\n forcedStartTzo: forcedStartTzo == null ? null : forcedStartTzo,\n forcedEndTzo: forcedEndTzo == null ? null : forcedEndTzo,\n };\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n// Merges an array of objects into a single object.\n// The second argument allows for an array of property names who's object values will be merged together.\nfunction mergeProps(propObjs, complexPropsMap) {\n var dest = {};\n if (complexPropsMap) {\n for (var name_1 in complexPropsMap) {\n var complexObjs = [];\n // collect the trailing object values, stopping when a non-object is discovered\n for (var i = propObjs.length - 1; i >= 0; i -= 1) {\n var val = propObjs[i][name_1];\n if (typeof val === 'object' && val) { // non-null object\n complexObjs.unshift(val);\n }\n else if (val !== undefined) {\n dest[name_1] = val; // if there were no objects, this value will be used\n break;\n }\n }\n // if the trailing values were objects, use the merged value\n if (complexObjs.length) {\n dest[name_1] = mergeProps(complexObjs);\n }\n }\n }\n // copy values into the destination, going from last to first\n for (var i = propObjs.length - 1; i >= 0; i -= 1) {\n var props = propObjs[i];\n for (var name_2 in props) {\n if (!(name_2 in dest)) { // if already assigned by previous props or complex props, don't reassign\n dest[name_2] = props[name_2];\n }\n }\n }\n return dest;\n}\nfunction filterHash(hash, func) {\n var filtered = {};\n for (var key in hash) {\n if (func(hash[key], key)) {\n filtered[key] = hash[key];\n }\n }\n return filtered;\n}\nfunction mapHash(hash, func) {\n var newHash = {};\n for (var key in hash) {\n newHash[key] = func(hash[key], key);\n }\n return newHash;\n}\nfunction arrayToHash(a) {\n var hash = {};\n for (var _i = 0, a_1 = a; _i < a_1.length; _i++) {\n var item = a_1[_i];\n hash[item] = true;\n }\n return hash;\n}\nfunction buildHashFromArray(a, func) {\n var hash = {};\n for (var i = 0; i < a.length; i += 1) {\n var tuple = func(a[i], i);\n hash[tuple[0]] = tuple[1];\n }\n return hash;\n}\nfunction hashValuesToArray(obj) {\n var a = [];\n for (var key in obj) {\n a.push(obj[key]);\n }\n return a;\n}\nfunction isPropsEqual(obj0, obj1) {\n if (obj0 === obj1) {\n return true;\n }\n for (var key in obj0) {\n if (hasOwnProperty.call(obj0, key)) {\n if (!(key in obj1)) {\n return false;\n }\n }\n }\n for (var key in obj1) {\n if (hasOwnProperty.call(obj1, key)) {\n if (obj0[key] !== obj1[key]) {\n return false;\n }\n }\n }\n return true;\n}\nfunction getUnequalProps(obj0, obj1) {\n var keys = [];\n for (var key in obj0) {\n if (hasOwnProperty.call(obj0, key)) {\n if (!(key in obj1)) {\n keys.push(key);\n }\n }\n }\n for (var key in obj1) {\n if (hasOwnProperty.call(obj1, key)) {\n if (obj0[key] !== obj1[key]) {\n keys.push(key);\n }\n }\n }\n return keys;\n}\nfunction compareObjs(oldProps, newProps, equalityFuncs) {\n if (equalityFuncs === void 0) { equalityFuncs = {}; }\n if (oldProps === newProps) {\n return true;\n }\n for (var key in newProps) {\n if (key in oldProps && isObjValsEqual(oldProps[key], newProps[key], equalityFuncs[key])) ;\n else {\n return false;\n }\n }\n // check for props that were omitted in the new\n for (var key in oldProps) {\n if (!(key in newProps)) {\n return false;\n }\n }\n return true;\n}\n/*\nassumed \"true\" equality for handler names like \"onReceiveSomething\"\n*/\nfunction isObjValsEqual(val0, val1, comparator) {\n if (val0 === val1 || comparator === true) {\n return true;\n }\n if (comparator) {\n return comparator(val0, val1);\n }\n return false;\n}\nfunction collectFromHash(hash, startIndex, endIndex, step) {\n if (startIndex === void 0) { startIndex = 0; }\n if (step === void 0) { step = 1; }\n var res = [];\n if (endIndex == null) {\n endIndex = Object.keys(hash).length;\n }\n for (var i = startIndex; i < endIndex; i += step) {\n var val = hash[i];\n if (val !== undefined) { // will disregard undefined for sparse arrays\n res.push(val);\n }\n }\n return res;\n}\n\nfunction parseRecurring(refined, defaultAllDay, dateEnv, recurringTypes) {\n for (var i = 0; i < recurringTypes.length; i += 1) {\n var parsed = recurringTypes[i].parse(refined, dateEnv);\n if (parsed) {\n var allDay = refined.allDay;\n if (allDay == null) {\n allDay = defaultAllDay;\n if (allDay == null) {\n allDay = parsed.allDayGuess;\n if (allDay == null) {\n allDay = false;\n }\n }\n }\n return {\n allDay: allDay,\n duration: parsed.duration,\n typeData: parsed.typeData,\n typeId: i,\n };\n }\n }\n return null;\n}\nfunction expandRecurring(eventStore, framingRange, context) {\n var dateEnv = context.dateEnv, pluginHooks = context.pluginHooks, options = context.options;\n var defs = eventStore.defs, instances = eventStore.instances;\n // remove existing recurring instances\n // TODO: bad. always expand events as a second step\n instances = filterHash(instances, function (instance) { return !defs[instance.defId].recurringDef; });\n for (var defId in defs) {\n var def = defs[defId];\n if (def.recurringDef) {\n var duration = def.recurringDef.duration;\n if (!duration) {\n duration = def.allDay ?\n options.defaultAllDayEventDuration :\n options.defaultTimedEventDuration;\n }\n var starts = expandRecurringRanges(def, duration, framingRange, dateEnv, pluginHooks.recurringTypes);\n for (var _i = 0, starts_1 = starts; _i < starts_1.length; _i++) {\n var start = starts_1[_i];\n var instance = createEventInstance(defId, {\n start: start,\n end: dateEnv.add(start, duration),\n });\n instances[instance.instanceId] = instance;\n }\n }\n }\n return { defs: defs, instances: instances };\n}\n/*\nEvent MUST have a recurringDef\n*/\nfunction expandRecurringRanges(eventDef, duration, framingRange, dateEnv, recurringTypes) {\n var typeDef = recurringTypes[eventDef.recurringDef.typeId];\n var markers = typeDef.expand(eventDef.recurringDef.typeData, {\n start: dateEnv.subtract(framingRange.start, duration),\n end: framingRange.end,\n }, dateEnv);\n // the recurrence plugins don't guarantee that all-day events are start-of-day, so we have to\n if (eventDef.allDay) {\n markers = markers.map(startOfDay);\n }\n return markers;\n}\n\nvar INTERNAL_UNITS = ['years', 'months', 'days', 'milliseconds'];\nvar PARSE_RE = /^(-?)(?:(\\d+)\\.)?(\\d+):(\\d\\d)(?::(\\d\\d)(?:\\.(\\d\\d\\d))?)?/;\n// Parsing and Creation\nfunction createDuration(input, unit) {\n var _a;\n if (typeof input === 'string') {\n return parseString(input);\n }\n if (typeof input === 'object' && input) { // non-null object\n return parseObject(input);\n }\n if (typeof input === 'number') {\n return parseObject((_a = {}, _a[unit || 'milliseconds'] = input, _a));\n }\n return null;\n}\nfunction parseString(s) {\n var m = PARSE_RE.exec(s);\n if (m) {\n var sign = m[1] ? -1 : 1;\n return {\n years: 0,\n months: 0,\n days: sign * (m[2] ? parseInt(m[2], 10) : 0),\n milliseconds: sign * ((m[3] ? parseInt(m[3], 10) : 0) * 60 * 60 * 1000 + // hours\n (m[4] ? parseInt(m[4], 10) : 0) * 60 * 1000 + // minutes\n (m[5] ? parseInt(m[5], 10) : 0) * 1000 + // seconds\n (m[6] ? parseInt(m[6], 10) : 0) // ms\n ),\n };\n }\n return null;\n}\nfunction parseObject(obj) {\n var duration = {\n years: obj.years || obj.year || 0,\n months: obj.months || obj.month || 0,\n days: obj.days || obj.day || 0,\n milliseconds: (obj.hours || obj.hour || 0) * 60 * 60 * 1000 + // hours\n (obj.minutes || obj.minute || 0) * 60 * 1000 + // minutes\n (obj.seconds || obj.second || 0) * 1000 + // seconds\n (obj.milliseconds || obj.millisecond || obj.ms || 0), // ms\n };\n var weeks = obj.weeks || obj.week;\n if (weeks) {\n duration.days += weeks * 7;\n duration.specifiedWeeks = true;\n }\n return duration;\n}\n// Equality\nfunction durationsEqual(d0, d1) {\n return d0.years === d1.years &&\n d0.months === d1.months &&\n d0.days === d1.days &&\n d0.milliseconds === d1.milliseconds;\n}\nfunction asCleanDays(dur) {\n if (!dur.years && !dur.months && !dur.milliseconds) {\n return dur.days;\n }\n return 0;\n}\n// Simple Math\nfunction addDurations(d0, d1) {\n return {\n years: d0.years + d1.years,\n months: d0.months + d1.months,\n days: d0.days + d1.days,\n milliseconds: d0.milliseconds + d1.milliseconds,\n };\n}\nfunction subtractDurations(d1, d0) {\n return {\n years: d1.years - d0.years,\n months: d1.months - d0.months,\n days: d1.days - d0.days,\n milliseconds: d1.milliseconds - d0.milliseconds,\n };\n}\nfunction multiplyDuration(d, n) {\n return {\n years: d.years * n,\n months: d.months * n,\n days: d.days * n,\n milliseconds: d.milliseconds * n,\n };\n}\n// Conversions\n// \"Rough\" because they are based on average-case Gregorian months/years\nfunction asRoughYears(dur) {\n return asRoughDays(dur) / 365;\n}\nfunction asRoughMonths(dur) {\n return asRoughDays(dur) / 30;\n}\nfunction asRoughDays(dur) {\n return asRoughMs(dur) / 864e5;\n}\nfunction asRoughMinutes(dur) {\n return asRoughMs(dur) / (1000 * 60);\n}\nfunction asRoughSeconds(dur) {\n return asRoughMs(dur) / 1000;\n}\nfunction asRoughMs(dur) {\n return dur.years * (365 * 864e5) +\n dur.months * (30 * 864e5) +\n dur.days * 864e5 +\n dur.milliseconds;\n}\n// Advanced Math\nfunction wholeDivideDurations(numerator, denominator) {\n var res = null;\n for (var i = 0; i < INTERNAL_UNITS.length; i += 1) {\n var unit = INTERNAL_UNITS[i];\n if (denominator[unit]) {\n var localRes = numerator[unit] / denominator[unit];\n if (!isInt(localRes) || (res !== null && res !== localRes)) {\n return null;\n }\n res = localRes;\n }\n else if (numerator[unit]) {\n // needs to divide by something but can't!\n return null;\n }\n }\n return res;\n}\nfunction greatestDurationDenominator(dur) {\n var ms = dur.milliseconds;\n if (ms) {\n if (ms % 1000 !== 0) {\n return { unit: 'millisecond', value: ms };\n }\n if (ms % (1000 * 60) !== 0) {\n return { unit: 'second', value: ms / 1000 };\n }\n if (ms % (1000 * 60 * 60) !== 0) {\n return { unit: 'minute', value: ms / (1000 * 60) };\n }\n if (ms) {\n return { unit: 'hour', value: ms / (1000 * 60 * 60) };\n }\n }\n if (dur.days) {\n if (dur.specifiedWeeks && dur.days % 7 === 0) {\n return { unit: 'week', value: dur.days / 7 };\n }\n return { unit: 'day', value: dur.days };\n }\n if (dur.months) {\n return { unit: 'month', value: dur.months };\n }\n if (dur.years) {\n return { unit: 'year', value: dur.years };\n }\n return { unit: 'millisecond', value: 0 };\n}\n\n// timeZoneOffset is in minutes\nfunction buildIsoString(marker, timeZoneOffset, stripZeroTime) {\n if (stripZeroTime === void 0) { stripZeroTime = false; }\n var s = marker.toISOString();\n s = s.replace('.000', '');\n if (stripZeroTime) {\n s = s.replace('T00:00:00Z', '');\n }\n if (s.length > 10) { // time part wasn't stripped, can add timezone info\n if (timeZoneOffset == null) {\n s = s.replace('Z', '');\n }\n else if (timeZoneOffset !== 0) {\n s = s.replace('Z', formatTimeZoneOffset(timeZoneOffset, true));\n }\n // otherwise, its UTC-0 and we want to keep the Z\n }\n return s;\n}\n// formats the date, but with no time part\n// TODO: somehow merge with buildIsoString and stripZeroTime\n// TODO: rename. omit \"string\"\nfunction formatDayString(marker) {\n return marker.toISOString().replace(/T.*$/, '');\n}\n// TODO: use Date::toISOString and use everything after the T?\nfunction formatIsoTimeString(marker) {\n return padStart(marker.getUTCHours(), 2) + ':' +\n padStart(marker.getUTCMinutes(), 2) + ':' +\n padStart(marker.getUTCSeconds(), 2);\n}\nfunction formatTimeZoneOffset(minutes, doIso) {\n if (doIso === void 0) { doIso = false; }\n var sign = minutes < 0 ? '-' : '+';\n var abs = Math.abs(minutes);\n var hours = Math.floor(abs / 60);\n var mins = Math.round(abs % 60);\n if (doIso) {\n return sign + padStart(hours, 2) + \":\" + padStart(mins, 2);\n }\n return \"GMT\" + sign + hours + (mins ? \":\" + padStart(mins, 2) : '');\n}\n\n// TODO: new util arrayify?\nfunction removeExact(array, exactVal) {\n var removeCnt = 0;\n var i = 0;\n while (i < array.length) {\n if (array[i] === exactVal) {\n array.splice(i, 1);\n removeCnt += 1;\n }\n else {\n i += 1;\n }\n }\n return removeCnt;\n}\nfunction isArraysEqual(a0, a1, equalityFunc) {\n if (a0 === a1) {\n return true;\n }\n var len = a0.length;\n var i;\n if (len !== a1.length) { // not array? or not same length?\n return false;\n }\n for (i = 0; i < len; i += 1) {\n if (!(equalityFunc ? equalityFunc(a0[i], a1[i]) : a0[i] === a1[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoize(workerFunc, resEquality, teardownFunc) {\n var currentArgs;\n var currentRes;\n return function () {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (!currentArgs) {\n currentRes = workerFunc.apply(this, newArgs);\n }\n else if (!isArraysEqual(currentArgs, newArgs)) {\n if (teardownFunc) {\n teardownFunc(currentRes);\n }\n var res = workerFunc.apply(this, newArgs);\n if (!resEquality || !resEquality(res, currentRes)) {\n currentRes = res;\n }\n }\n currentArgs = newArgs;\n return currentRes;\n };\n}\nfunction memoizeObjArg(workerFunc, resEquality, teardownFunc) {\n var _this = this;\n var currentArg;\n var currentRes;\n return function (newArg) {\n if (!currentArg) {\n currentRes = workerFunc.call(_this, newArg);\n }\n else if (!isPropsEqual(currentArg, newArg)) {\n if (teardownFunc) {\n teardownFunc(currentRes);\n }\n var res = workerFunc.call(_this, newArg);\n if (!resEquality || !resEquality(res, currentRes)) {\n currentRes = res;\n }\n }\n currentArg = newArg;\n return currentRes;\n };\n}\nfunction memoizeArraylike(// used at all?\nworkerFunc, resEquality, teardownFunc) {\n var _this = this;\n var currentArgSets = [];\n var currentResults = [];\n return function (newArgSets) {\n var currentLen = currentArgSets.length;\n var newLen = newArgSets.length;\n var i = 0;\n for (; i < currentLen; i += 1) {\n if (!newArgSets[i]) { // one of the old sets no longer exists\n if (teardownFunc) {\n teardownFunc(currentResults[i]);\n }\n }\n else if (!isArraysEqual(currentArgSets[i], newArgSets[i])) {\n if (teardownFunc) {\n teardownFunc(currentResults[i]);\n }\n var res = workerFunc.apply(_this, newArgSets[i]);\n if (!resEquality || !resEquality(res, currentResults[i])) {\n currentResults[i] = res;\n }\n }\n }\n for (; i < newLen; i += 1) {\n currentResults[i] = workerFunc.apply(_this, newArgSets[i]);\n }\n currentArgSets = newArgSets;\n currentResults.splice(newLen); // remove excess\n return currentResults;\n };\n}\nfunction memoizeHashlike(workerFunc, resEquality, teardownFunc) {\n var _this = this;\n var currentArgHash = {};\n var currentResHash = {};\n return function (newArgHash) {\n var newResHash = {};\n for (var key in newArgHash) {\n if (!currentResHash[key]) {\n newResHash[key] = workerFunc.apply(_this, newArgHash[key]);\n }\n else if (!isArraysEqual(currentArgHash[key], newArgHash[key])) {\n if (teardownFunc) {\n teardownFunc(currentResHash[key]);\n }\n var res = workerFunc.apply(_this, newArgHash[key]);\n newResHash[key] = (resEquality && resEquality(res, currentResHash[key]))\n ? currentResHash[key]\n : res;\n }\n else {\n newResHash[key] = currentResHash[key];\n }\n }\n currentArgHash = newArgHash;\n currentResHash = newResHash;\n return newResHash;\n };\n}\n\nvar EXTENDED_SETTINGS_AND_SEVERITIES = {\n week: 3,\n separator: 0,\n omitZeroMinute: 0,\n meridiem: 0,\n omitCommas: 0,\n};\nvar STANDARD_DATE_PROP_SEVERITIES = {\n timeZoneName: 7,\n era: 6,\n year: 5,\n month: 4,\n day: 2,\n weekday: 2,\n hour: 1,\n minute: 1,\n second: 1,\n};\nvar MERIDIEM_RE = /\\s*([ap])\\.?m\\.?/i; // eats up leading spaces too\nvar COMMA_RE = /,/g; // we need re for globalness\nvar MULTI_SPACE_RE = /\\s+/g;\nvar LTR_RE = /\\u200e/g; // control character\nvar UTC_RE = /UTC|GMT/;\nvar NativeFormatter = /** @class */ (function () {\n function NativeFormatter(formatSettings) {\n var standardDateProps = {};\n var extendedSettings = {};\n var severity = 0;\n for (var name_1 in formatSettings) {\n if (name_1 in EXTENDED_SETTINGS_AND_SEVERITIES) {\n extendedSettings[name_1] = formatSettings[name_1];\n severity = Math.max(EXTENDED_SETTINGS_AND_SEVERITIES[name_1], severity);\n }\n else {\n standardDateProps[name_1] = formatSettings[name_1];\n if (name_1 in STANDARD_DATE_PROP_SEVERITIES) { // TODO: what about hour12? no severity\n severity = Math.max(STANDARD_DATE_PROP_SEVERITIES[name_1], severity);\n }\n }\n }\n this.standardDateProps = standardDateProps;\n this.extendedSettings = extendedSettings;\n this.severity = severity;\n this.buildFormattingFunc = memoize(buildFormattingFunc);\n }\n NativeFormatter.prototype.format = function (date, context) {\n return this.buildFormattingFunc(this.standardDateProps, this.extendedSettings, context)(date);\n };\n NativeFormatter.prototype.formatRange = function (start, end, context, betterDefaultSeparator) {\n var _a = this, standardDateProps = _a.standardDateProps, extendedSettings = _a.extendedSettings;\n var diffSeverity = computeMarkerDiffSeverity(start.marker, end.marker, context.calendarSystem);\n if (!diffSeverity) {\n return this.format(start, context);\n }\n var biggestUnitForPartial = diffSeverity;\n if (biggestUnitForPartial > 1 && // the two dates are different in a way that's larger scale than time\n (standardDateProps.year === 'numeric' || standardDateProps.year === '2-digit') &&\n (standardDateProps.month === 'numeric' || standardDateProps.month === '2-digit') &&\n (standardDateProps.day === 'numeric' || standardDateProps.day === '2-digit')) {\n biggestUnitForPartial = 1; // make it look like the dates are only different in terms of time\n }\n var full0 = this.format(start, context);\n var full1 = this.format(end, context);\n if (full0 === full1) {\n return full0;\n }\n var partialDateProps = computePartialFormattingOptions(standardDateProps, biggestUnitForPartial);\n var partialFormattingFunc = buildFormattingFunc(partialDateProps, extendedSettings, context);\n var partial0 = partialFormattingFunc(start);\n var partial1 = partialFormattingFunc(end);\n var insertion = findCommonInsertion(full0, partial0, full1, partial1);\n var separator = extendedSettings.separator || betterDefaultSeparator || context.defaultSeparator || '';\n if (insertion) {\n return insertion.before + partial0 + separator + partial1 + insertion.after;\n }\n return full0 + separator + full1;\n };\n NativeFormatter.prototype.getLargestUnit = function () {\n switch (this.severity) {\n case 7:\n case 6:\n case 5:\n return 'year';\n case 4:\n return 'month';\n case 3:\n return 'week';\n case 2:\n return 'day';\n default:\n return 'time'; // really?\n }\n };\n return NativeFormatter;\n}());\nfunction buildFormattingFunc(standardDateProps, extendedSettings, context) {\n var standardDatePropCnt = Object.keys(standardDateProps).length;\n if (standardDatePropCnt === 1 && standardDateProps.timeZoneName === 'short') {\n return function (date) { return (formatTimeZoneOffset(date.timeZoneOffset)); };\n }\n if (standardDatePropCnt === 0 && extendedSettings.week) {\n return function (date) { return (formatWeekNumber(context.computeWeekNumber(date.marker), context.weekText, context.weekTextLong, context.locale, extendedSettings.week)); };\n }\n return buildNativeFormattingFunc(standardDateProps, extendedSettings, context);\n}\nfunction buildNativeFormattingFunc(standardDateProps, extendedSettings, context) {\n standardDateProps = __assign({}, standardDateProps); // copy\n extendedSettings = __assign({}, extendedSettings); // copy\n sanitizeSettings(standardDateProps, extendedSettings);\n standardDateProps.timeZone = 'UTC'; // we leverage the only guaranteed timeZone for our UTC markers\n var normalFormat = new Intl.DateTimeFormat(context.locale.codes, standardDateProps);\n var zeroFormat; // needed?\n if (extendedSettings.omitZeroMinute) {\n var zeroProps = __assign({}, standardDateProps);\n delete zeroProps.minute; // seconds and ms were already considered in sanitizeSettings\n zeroFormat = new Intl.DateTimeFormat(context.locale.codes, zeroProps);\n }\n return function (date) {\n var marker = date.marker;\n var format;\n if (zeroFormat && !marker.getUTCMinutes()) {\n format = zeroFormat;\n }\n else {\n format = normalFormat;\n }\n var s = format.format(marker);\n return postProcess(s, date, standardDateProps, extendedSettings, context);\n };\n}\nfunction sanitizeSettings(standardDateProps, extendedSettings) {\n // deal with a browser inconsistency where formatting the timezone\n // requires that the hour/minute be present.\n if (standardDateProps.timeZoneName) {\n if (!standardDateProps.hour) {\n standardDateProps.hour = '2-digit';\n }\n if (!standardDateProps.minute) {\n standardDateProps.minute = '2-digit';\n }\n }\n // only support short timezone names\n if (standardDateProps.timeZoneName === 'long') {\n standardDateProps.timeZoneName = 'short';\n }\n // if requesting to display seconds, MUST display minutes\n if (extendedSettings.omitZeroMinute && (standardDateProps.second || standardDateProps.millisecond)) {\n delete extendedSettings.omitZeroMinute;\n }\n}\nfunction postProcess(s, date, standardDateProps, extendedSettings, context) {\n s = s.replace(LTR_RE, ''); // remove left-to-right control chars. do first. good for other regexes\n if (standardDateProps.timeZoneName === 'short') {\n s = injectTzoStr(s, (context.timeZone === 'UTC' || date.timeZoneOffset == null) ?\n 'UTC' : // important to normalize for IE, which does \"GMT\"\n formatTimeZoneOffset(date.timeZoneOffset));\n }\n if (extendedSettings.omitCommas) {\n s = s.replace(COMMA_RE, '').trim();\n }\n if (extendedSettings.omitZeroMinute) {\n s = s.replace(':00', ''); // zeroFormat doesn't always achieve this\n }\n // ^ do anything that might create adjacent spaces before this point,\n // because MERIDIEM_RE likes to eat up loading spaces\n if (extendedSettings.meridiem === false) {\n s = s.replace(MERIDIEM_RE, '').trim();\n }\n else if (extendedSettings.meridiem === 'narrow') { // a/p\n s = s.replace(MERIDIEM_RE, function (m0, m1) { return m1.toLocaleLowerCase(); });\n }\n else if (extendedSettings.meridiem === 'short') { // am/pm\n s = s.replace(MERIDIEM_RE, function (m0, m1) { return m1.toLocaleLowerCase() + \"m\"; });\n }\n else if (extendedSettings.meridiem === 'lowercase') { // other meridiem transformers already converted to lowercase\n s = s.replace(MERIDIEM_RE, function (m0) { return m0.toLocaleLowerCase(); });\n }\n s = s.replace(MULTI_SPACE_RE, ' ');\n s = s.trim();\n return s;\n}\nfunction injectTzoStr(s, tzoStr) {\n var replaced = false;\n s = s.replace(UTC_RE, function () {\n replaced = true;\n return tzoStr;\n });\n // IE11 doesn't include UTC/GMT in the original string, so append to end\n if (!replaced) {\n s += \" \" + tzoStr;\n }\n return s;\n}\nfunction formatWeekNumber(num, weekText, weekTextLong, locale, display) {\n var parts = [];\n if (display === 'long') {\n parts.push(weekTextLong);\n }\n else if (display === 'short' || display === 'narrow') {\n parts.push(weekText);\n }\n if (display === 'long' || display === 'short') {\n parts.push(' ');\n }\n parts.push(locale.simpleNumberFormat.format(num));\n if (locale.options.direction === 'rtl') { // TODO: use control characters instead?\n parts.reverse();\n }\n return parts.join('');\n}\n// Range Formatting Utils\n// 0 = exactly the same\n// 1 = different by time\n// and bigger\nfunction computeMarkerDiffSeverity(d0, d1, ca) {\n if (ca.getMarkerYear(d0) !== ca.getMarkerYear(d1)) {\n return 5;\n }\n if (ca.getMarkerMonth(d0) !== ca.getMarkerMonth(d1)) {\n return 4;\n }\n if (ca.getMarkerDay(d0) !== ca.getMarkerDay(d1)) {\n return 2;\n }\n if (timeAsMs(d0) !== timeAsMs(d1)) {\n return 1;\n }\n return 0;\n}\nfunction computePartialFormattingOptions(options, biggestUnit) {\n var partialOptions = {};\n for (var name_2 in options) {\n if (!(name_2 in STANDARD_DATE_PROP_SEVERITIES) || // not a date part prop (like timeZone)\n STANDARD_DATE_PROP_SEVERITIES[name_2] <= biggestUnit) {\n partialOptions[name_2] = options[name_2];\n }\n }\n return partialOptions;\n}\nfunction findCommonInsertion(full0, partial0, full1, partial1) {\n var i0 = 0;\n while (i0 < full0.length) {\n var found0 = full0.indexOf(partial0, i0);\n if (found0 === -1) {\n break;\n }\n var before0 = full0.substr(0, found0);\n i0 = found0 + partial0.length;\n var after0 = full0.substr(i0);\n var i1 = 0;\n while (i1 < full1.length) {\n var found1 = full1.indexOf(partial1, i1);\n if (found1 === -1) {\n break;\n }\n var before1 = full1.substr(0, found1);\n i1 = found1 + partial1.length;\n var after1 = full1.substr(i1);\n if (before0 === before1 && after0 === after1) {\n return {\n before: before0,\n after: after0,\n };\n }\n }\n }\n return null;\n}\n\nfunction expandZonedMarker(dateInfo, calendarSystem) {\n var a = calendarSystem.markerToArray(dateInfo.marker);\n return {\n marker: dateInfo.marker,\n timeZoneOffset: dateInfo.timeZoneOffset,\n array: a,\n year: a[0],\n month: a[1],\n day: a[2],\n hour: a[3],\n minute: a[4],\n second: a[5],\n millisecond: a[6],\n };\n}\n\nfunction createVerboseFormattingArg(start, end, context, betterDefaultSeparator) {\n var startInfo = expandZonedMarker(start, context.calendarSystem);\n var endInfo = end ? expandZonedMarker(end, context.calendarSystem) : null;\n return {\n date: startInfo,\n start: startInfo,\n end: endInfo,\n timeZone: context.timeZone,\n localeCodes: context.locale.codes,\n defaultSeparator: betterDefaultSeparator || context.defaultSeparator,\n };\n}\n\n/*\nTODO: fix the terminology of \"formatter\" vs \"formatting func\"\n*/\n/*\nAt the time of instantiation, this object does not know which cmd-formatting system it will use.\nIt receives this at the time of formatting, as a setting.\n*/\nvar CmdFormatter = /** @class */ (function () {\n function CmdFormatter(cmdStr) {\n this.cmdStr = cmdStr;\n }\n CmdFormatter.prototype.format = function (date, context, betterDefaultSeparator) {\n return context.cmdFormatter(this.cmdStr, createVerboseFormattingArg(date, null, context, betterDefaultSeparator));\n };\n CmdFormatter.prototype.formatRange = function (start, end, context, betterDefaultSeparator) {\n return context.cmdFormatter(this.cmdStr, createVerboseFormattingArg(start, end, context, betterDefaultSeparator));\n };\n return CmdFormatter;\n}());\n\nvar FuncFormatter = /** @class */ (function () {\n function FuncFormatter(func) {\n this.func = func;\n }\n FuncFormatter.prototype.format = function (date, context, betterDefaultSeparator) {\n return this.func(createVerboseFormattingArg(date, null, context, betterDefaultSeparator));\n };\n FuncFormatter.prototype.formatRange = function (start, end, context, betterDefaultSeparator) {\n return this.func(createVerboseFormattingArg(start, end, context, betterDefaultSeparator));\n };\n return FuncFormatter;\n}());\n\nfunction createFormatter(input) {\n if (typeof input === 'object' && input) { // non-null object\n return new NativeFormatter(input);\n }\n if (typeof input === 'string') {\n return new CmdFormatter(input);\n }\n if (typeof input === 'function') {\n return new FuncFormatter(input);\n }\n return null;\n}\n\n// base options\n// ------------\nvar BASE_OPTION_REFINERS = {\n navLinkDayClick: identity,\n navLinkWeekClick: identity,\n duration: createDuration,\n bootstrapFontAwesome: identity,\n buttonIcons: identity,\n customButtons: identity,\n defaultAllDayEventDuration: createDuration,\n defaultTimedEventDuration: createDuration,\n nextDayThreshold: createDuration,\n scrollTime: createDuration,\n scrollTimeReset: Boolean,\n slotMinTime: createDuration,\n slotMaxTime: createDuration,\n dayPopoverFormat: createFormatter,\n slotDuration: createDuration,\n snapDuration: createDuration,\n headerToolbar: identity,\n footerToolbar: identity,\n defaultRangeSeparator: String,\n titleRangeSeparator: String,\n forceEventDuration: Boolean,\n dayHeaders: Boolean,\n dayHeaderFormat: createFormatter,\n dayHeaderClassNames: identity,\n dayHeaderContent: identity,\n dayHeaderDidMount: identity,\n dayHeaderWillUnmount: identity,\n dayCellClassNames: identity,\n dayCellContent: identity,\n dayCellDidMount: identity,\n dayCellWillUnmount: identity,\n initialView: String,\n aspectRatio: Number,\n weekends: Boolean,\n weekNumberCalculation: identity,\n weekNumbers: Boolean,\n weekNumberClassNames: identity,\n weekNumberContent: identity,\n weekNumberDidMount: identity,\n weekNumberWillUnmount: identity,\n editable: Boolean,\n viewClassNames: identity,\n viewDidMount: identity,\n viewWillUnmount: identity,\n nowIndicator: Boolean,\n nowIndicatorClassNames: identity,\n nowIndicatorContent: identity,\n nowIndicatorDidMount: identity,\n nowIndicatorWillUnmount: identity,\n showNonCurrentDates: Boolean,\n lazyFetching: Boolean,\n startParam: String,\n endParam: String,\n timeZoneParam: String,\n timeZone: String,\n locales: identity,\n locale: identity,\n themeSystem: String,\n dragRevertDuration: Number,\n dragScroll: Boolean,\n allDayMaintainDuration: Boolean,\n unselectAuto: Boolean,\n dropAccept: identity,\n eventOrder: parseFieldSpecs,\n eventOrderStrict: Boolean,\n handleWindowResize: Boolean,\n windowResizeDelay: Number,\n longPressDelay: Number,\n eventDragMinDistance: Number,\n expandRows: Boolean,\n height: identity,\n contentHeight: identity,\n direction: String,\n weekNumberFormat: createFormatter,\n eventResizableFromStart: Boolean,\n displayEventTime: Boolean,\n displayEventEnd: Boolean,\n weekText: String,\n weekTextLong: String,\n progressiveEventRendering: Boolean,\n businessHours: identity,\n initialDate: identity,\n now: identity,\n eventDataTransform: identity,\n stickyHeaderDates: identity,\n stickyFooterScrollbar: identity,\n viewHeight: identity,\n defaultAllDay: Boolean,\n eventSourceFailure: identity,\n eventSourceSuccess: identity,\n eventDisplay: String,\n eventStartEditable: Boolean,\n eventDurationEditable: Boolean,\n eventOverlap: identity,\n eventConstraint: identity,\n eventAllow: identity,\n eventBackgroundColor: String,\n eventBorderColor: String,\n eventTextColor: String,\n eventColor: String,\n eventClassNames: identity,\n eventContent: identity,\n eventDidMount: identity,\n eventWillUnmount: identity,\n selectConstraint: identity,\n selectOverlap: identity,\n selectAllow: identity,\n droppable: Boolean,\n unselectCancel: String,\n slotLabelFormat: identity,\n slotLaneClassNames: identity,\n slotLaneContent: identity,\n slotLaneDidMount: identity,\n slotLaneWillUnmount: identity,\n slotLabelClassNames: identity,\n slotLabelContent: identity,\n slotLabelDidMount: identity,\n slotLabelWillUnmount: identity,\n dayMaxEvents: identity,\n dayMaxEventRows: identity,\n dayMinWidth: Number,\n slotLabelInterval: createDuration,\n allDayText: String,\n allDayClassNames: identity,\n allDayContent: identity,\n allDayDidMount: identity,\n allDayWillUnmount: identity,\n slotMinWidth: Number,\n navLinks: Boolean,\n eventTimeFormat: createFormatter,\n rerenderDelay: Number,\n moreLinkText: identity,\n moreLinkHint: identity,\n selectMinDistance: Number,\n selectable: Boolean,\n selectLongPressDelay: Number,\n eventLongPressDelay: Number,\n selectMirror: Boolean,\n eventMaxStack: Number,\n eventMinHeight: Number,\n eventMinWidth: Number,\n eventShortHeight: Number,\n slotEventOverlap: Boolean,\n plugins: identity,\n firstDay: Number,\n dayCount: Number,\n dateAlignment: String,\n dateIncrement: createDuration,\n hiddenDays: identity,\n monthMode: Boolean,\n fixedWeekCount: Boolean,\n validRange: identity,\n visibleRange: identity,\n titleFormat: identity,\n eventInteractive: Boolean,\n // only used by list-view, but languages define the value, so we need it in base options\n noEventsText: String,\n viewHint: identity,\n navLinkHint: identity,\n closeHint: String,\n timeHint: String,\n eventHint: String,\n moreLinkClick: identity,\n moreLinkClassNames: identity,\n moreLinkContent: identity,\n moreLinkDidMount: identity,\n moreLinkWillUnmount: identity,\n};\n// do NOT give a type here. need `typeof BASE_OPTION_DEFAULTS` to give real results.\n// raw values.\nvar BASE_OPTION_DEFAULTS = {\n eventDisplay: 'auto',\n defaultRangeSeparator: ' - ',\n titleRangeSeparator: ' \\u2013 ',\n defaultTimedEventDuration: '01:00:00',\n defaultAllDayEventDuration: { day: 1 },\n forceEventDuration: false,\n nextDayThreshold: '00:00:00',\n dayHeaders: true,\n initialView: '',\n aspectRatio: 1.35,\n headerToolbar: {\n start: 'title',\n center: '',\n end: 'today prev,next',\n },\n weekends: true,\n weekNumbers: false,\n weekNumberCalculation: 'local',\n editable: false,\n nowIndicator: false,\n scrollTime: '06:00:00',\n scrollTimeReset: true,\n slotMinTime: '00:00:00',\n slotMaxTime: '24:00:00',\n showNonCurrentDates: true,\n lazyFetching: true,\n startParam: 'start',\n endParam: 'end',\n timeZoneParam: 'timeZone',\n timeZone: 'local',\n locales: [],\n locale: '',\n themeSystem: 'standard',\n dragRevertDuration: 500,\n dragScroll: true,\n allDayMaintainDuration: false,\n unselectAuto: true,\n dropAccept: '*',\n eventOrder: 'start,-duration,allDay,title',\n dayPopoverFormat: { month: 'long', day: 'numeric', year: 'numeric' },\n handleWindowResize: true,\n windowResizeDelay: 100,\n longPressDelay: 1000,\n eventDragMinDistance: 5,\n expandRows: false,\n navLinks: false,\n selectable: false,\n eventMinHeight: 15,\n eventMinWidth: 30,\n eventShortHeight: 30,\n};\n// calendar listeners\n// ------------------\nvar CALENDAR_LISTENER_REFINERS = {\n datesSet: identity,\n eventsSet: identity,\n eventAdd: identity,\n eventChange: identity,\n eventRemove: identity,\n windowResize: identity,\n eventClick: identity,\n eventMouseEnter: identity,\n eventMouseLeave: identity,\n select: identity,\n unselect: identity,\n loading: identity,\n // internal\n _unmount: identity,\n _beforeprint: identity,\n _afterprint: identity,\n _noEventDrop: identity,\n _noEventResize: identity,\n _resize: identity,\n _scrollRequest: identity,\n};\n// calendar-specific options\n// -------------------------\nvar CALENDAR_OPTION_REFINERS = {\n buttonText: identity,\n buttonHints: identity,\n views: identity,\n plugins: identity,\n initialEvents: identity,\n events: identity,\n eventSources: identity,\n};\nvar COMPLEX_OPTION_COMPARATORS = {\n headerToolbar: isMaybeObjectsEqual,\n footerToolbar: isMaybeObjectsEqual,\n buttonText: isMaybeObjectsEqual,\n buttonHints: isMaybeObjectsEqual,\n buttonIcons: isMaybeObjectsEqual,\n dateIncrement: isMaybeObjectsEqual,\n};\nfunction isMaybeObjectsEqual(a, b) {\n if (typeof a === 'object' && typeof b === 'object' && a && b) { // both non-null objects\n return isPropsEqual(a, b);\n }\n return a === b;\n}\n// view-specific options\n// ---------------------\nvar VIEW_OPTION_REFINERS = {\n type: String,\n component: identity,\n buttonText: String,\n buttonTextKey: String,\n dateProfileGeneratorClass: identity,\n usesMinMaxTime: Boolean,\n classNames: identity,\n content: identity,\n didMount: identity,\n willUnmount: identity,\n};\n// util funcs\n// ----------------------------------------------------------------------------------------------------\nfunction mergeRawOptions(optionSets) {\n return mergeProps(optionSets, COMPLEX_OPTION_COMPARATORS);\n}\nfunction refineProps(input, refiners) {\n var refined = {};\n var extra = {};\n for (var propName in refiners) {\n if (propName in input) {\n refined[propName] = refiners[propName](input[propName]);\n }\n }\n for (var propName in input) {\n if (!(propName in refiners)) {\n extra[propName] = input[propName];\n }\n }\n return { refined: refined, extra: extra };\n}\nfunction identity(raw) {\n return raw;\n}\n\nfunction parseEvents(rawEvents, eventSource, context, allowOpenRange) {\n var eventStore = createEmptyEventStore();\n var eventRefiners = buildEventRefiners(context);\n for (var _i = 0, rawEvents_1 = rawEvents; _i < rawEvents_1.length; _i++) {\n var rawEvent = rawEvents_1[_i];\n var tuple = parseEvent(rawEvent, eventSource, context, allowOpenRange, eventRefiners);\n if (tuple) {\n eventTupleToStore(tuple, eventStore);\n }\n }\n return eventStore;\n}\nfunction eventTupleToStore(tuple, eventStore) {\n if (eventStore === void 0) { eventStore = createEmptyEventStore(); }\n eventStore.defs[tuple.def.defId] = tuple.def;\n if (tuple.instance) {\n eventStore.instances[tuple.instance.instanceId] = tuple.instance;\n }\n return eventStore;\n}\n// retrieves events that have the same groupId as the instance specified by `instanceId`\n// or they are the same as the instance.\n// why might instanceId not be in the store? an event from another calendar?\nfunction getRelevantEvents(eventStore, instanceId) {\n var instance = eventStore.instances[instanceId];\n if (instance) {\n var def_1 = eventStore.defs[instance.defId];\n // get events/instances with same group\n var newStore = filterEventStoreDefs(eventStore, function (lookDef) { return isEventDefsGrouped(def_1, lookDef); });\n // add the original\n // TODO: wish we could use eventTupleToStore or something like it\n newStore.defs[def_1.defId] = def_1;\n newStore.instances[instance.instanceId] = instance;\n return newStore;\n }\n return createEmptyEventStore();\n}\nfunction isEventDefsGrouped(def0, def1) {\n return Boolean(def0.groupId && def0.groupId === def1.groupId);\n}\nfunction createEmptyEventStore() {\n return { defs: {}, instances: {} };\n}\nfunction mergeEventStores(store0, store1) {\n return {\n defs: __assign(__assign({}, store0.defs), store1.defs),\n instances: __assign(__assign({}, store0.instances), store1.instances),\n };\n}\nfunction filterEventStoreDefs(eventStore, filterFunc) {\n var defs = filterHash(eventStore.defs, filterFunc);\n var instances = filterHash(eventStore.instances, function (instance) { return (defs[instance.defId] // still exists?\n ); });\n return { defs: defs, instances: instances };\n}\nfunction excludeSubEventStore(master, sub) {\n var defs = master.defs, instances = master.instances;\n var filteredDefs = {};\n var filteredInstances = {};\n for (var defId in defs) {\n if (!sub.defs[defId]) { // not explicitly excluded\n filteredDefs[defId] = defs[defId];\n }\n }\n for (var instanceId in instances) {\n if (!sub.instances[instanceId] && // not explicitly excluded\n filteredDefs[instances[instanceId].defId] // def wasn't filtered away\n ) {\n filteredInstances[instanceId] = instances[instanceId];\n }\n }\n return {\n defs: filteredDefs,\n instances: filteredInstances,\n };\n}\n\nfunction normalizeConstraint(input, context) {\n if (Array.isArray(input)) {\n return parseEvents(input, null, context, true); // allowOpenRange=true\n }\n if (typeof input === 'object' && input) { // non-null object\n return parseEvents([input], null, context, true); // allowOpenRange=true\n }\n if (input != null) {\n return String(input);\n }\n return null;\n}\n\nfunction parseClassNames(raw) {\n if (Array.isArray(raw)) {\n return raw;\n }\n if (typeof raw === 'string') {\n return raw.split(/\\s+/);\n }\n return [];\n}\n\n// TODO: better called \"EventSettings\" or \"EventConfig\"\n// TODO: move this file into structs\n// TODO: separate constraint/overlap/allow, because selection uses only that, not other props\nvar EVENT_UI_REFINERS = {\n display: String,\n editable: Boolean,\n startEditable: Boolean,\n durationEditable: Boolean,\n constraint: identity,\n overlap: identity,\n allow: identity,\n className: parseClassNames,\n classNames: parseClassNames,\n color: String,\n backgroundColor: String,\n borderColor: String,\n textColor: String,\n};\nvar EMPTY_EVENT_UI = {\n display: null,\n startEditable: null,\n durationEditable: null,\n constraints: [],\n overlap: null,\n allows: [],\n backgroundColor: '',\n borderColor: '',\n textColor: '',\n classNames: [],\n};\nfunction createEventUi(refined, context) {\n var constraint = normalizeConstraint(refined.constraint, context);\n return {\n display: refined.display || null,\n startEditable: refined.startEditable != null ? refined.startEditable : refined.editable,\n durationEditable: refined.durationEditable != null ? refined.durationEditable : refined.editable,\n constraints: constraint != null ? [constraint] : [],\n overlap: refined.overlap != null ? refined.overlap : null,\n allows: refined.allow != null ? [refined.allow] : [],\n backgroundColor: refined.backgroundColor || refined.color || '',\n borderColor: refined.borderColor || refined.color || '',\n textColor: refined.textColor || '',\n classNames: (refined.className || []).concat(refined.classNames || []), // join singular and plural\n };\n}\n// TODO: prevent against problems with <2 args!\nfunction combineEventUis(uis) {\n return uis.reduce(combineTwoEventUis, EMPTY_EVENT_UI);\n}\nfunction combineTwoEventUis(item0, item1) {\n return {\n display: item1.display != null ? item1.display : item0.display,\n startEditable: item1.startEditable != null ? item1.startEditable : item0.startEditable,\n durationEditable: item1.durationEditable != null ? item1.durationEditable : item0.durationEditable,\n constraints: item0.constraints.concat(item1.constraints),\n overlap: typeof item1.overlap === 'boolean' ? item1.overlap : item0.overlap,\n allows: item0.allows.concat(item1.allows),\n backgroundColor: item1.backgroundColor || item0.backgroundColor,\n borderColor: item1.borderColor || item0.borderColor,\n textColor: item1.textColor || item0.textColor,\n classNames: item0.classNames.concat(item1.classNames),\n };\n}\n\nvar EVENT_NON_DATE_REFINERS = {\n id: String,\n groupId: String,\n title: String,\n url: String,\n interactive: Boolean,\n};\nvar EVENT_DATE_REFINERS = {\n start: identity,\n end: identity,\n date: identity,\n allDay: Boolean,\n};\nvar EVENT_REFINERS = __assign(__assign(__assign({}, EVENT_NON_DATE_REFINERS), EVENT_DATE_REFINERS), { extendedProps: identity });\nfunction parseEvent(raw, eventSource, context, allowOpenRange, refiners) {\n if (refiners === void 0) { refiners = buildEventRefiners(context); }\n var _a = refineEventDef(raw, context, refiners), refined = _a.refined, extra = _a.extra;\n var defaultAllDay = computeIsDefaultAllDay(eventSource, context);\n var recurringRes = parseRecurring(refined, defaultAllDay, context.dateEnv, context.pluginHooks.recurringTypes);\n if (recurringRes) {\n var def = parseEventDef(refined, extra, eventSource ? eventSource.sourceId : '', recurringRes.allDay, Boolean(recurringRes.duration), context);\n def.recurringDef = {\n typeId: recurringRes.typeId,\n typeData: recurringRes.typeData,\n duration: recurringRes.duration,\n };\n return { def: def, instance: null };\n }\n var singleRes = parseSingle(refined, defaultAllDay, context, allowOpenRange);\n if (singleRes) {\n var def = parseEventDef(refined, extra, eventSource ? eventSource.sourceId : '', singleRes.allDay, singleRes.hasEnd, context);\n var instance = createEventInstance(def.defId, singleRes.range, singleRes.forcedStartTzo, singleRes.forcedEndTzo);\n return { def: def, instance: instance };\n }\n return null;\n}\nfunction refineEventDef(raw, context, refiners) {\n if (refiners === void 0) { refiners = buildEventRefiners(context); }\n return refineProps(raw, refiners);\n}\nfunction buildEventRefiners(context) {\n return __assign(__assign(__assign({}, EVENT_UI_REFINERS), EVENT_REFINERS), context.pluginHooks.eventRefiners);\n}\n/*\nWill NOT populate extendedProps with the leftover properties.\nWill NOT populate date-related props.\n*/\nfunction parseEventDef(refined, extra, sourceId, allDay, hasEnd, context) {\n var def = {\n title: refined.title || '',\n groupId: refined.groupId || '',\n publicId: refined.id || '',\n url: refined.url || '',\n recurringDef: null,\n defId: guid(),\n sourceId: sourceId,\n allDay: allDay,\n hasEnd: hasEnd,\n interactive: refined.interactive,\n ui: createEventUi(refined, context),\n extendedProps: __assign(__assign({}, (refined.extendedProps || {})), extra),\n };\n for (var _i = 0, _a = context.pluginHooks.eventDefMemberAdders; _i < _a.length; _i++) {\n var memberAdder = _a[_i];\n __assign(def, memberAdder(refined));\n }\n // help out EventApi from having user modify props\n Object.freeze(def.ui.classNames);\n Object.freeze(def.extendedProps);\n return def;\n}\nfunction parseSingle(refined, defaultAllDay, context, allowOpenRange) {\n var allDay = refined.allDay;\n var startMeta;\n var startMarker = null;\n var hasEnd = false;\n var endMeta;\n var endMarker = null;\n var startInput = refined.start != null ? refined.start : refined.date;\n startMeta = context.dateEnv.createMarkerMeta(startInput);\n if (startMeta) {\n startMarker = startMeta.marker;\n }\n else if (!allowOpenRange) {\n return null;\n }\n if (refined.end != null) {\n endMeta = context.dateEnv.createMarkerMeta(refined.end);\n }\n if (allDay == null) {\n if (defaultAllDay != null) {\n allDay = defaultAllDay;\n }\n else {\n // fall back to the date props LAST\n allDay = (!startMeta || startMeta.isTimeUnspecified) &&\n (!endMeta || endMeta.isTimeUnspecified);\n }\n }\n if (allDay && startMarker) {\n startMarker = startOfDay(startMarker);\n }\n if (endMeta) {\n endMarker = endMeta.marker;\n if (allDay) {\n endMarker = startOfDay(endMarker);\n }\n if (startMarker && endMarker <= startMarker) {\n endMarker = null;\n }\n }\n if (endMarker) {\n hasEnd = true;\n }\n else if (!allowOpenRange) {\n hasEnd = context.options.forceEventDuration || false;\n endMarker = context.dateEnv.add(startMarker, allDay ?\n context.options.defaultAllDayEventDuration :\n context.options.defaultTimedEventDuration);\n }\n return {\n allDay: allDay,\n hasEnd: hasEnd,\n range: { start: startMarker, end: endMarker },\n forcedStartTzo: startMeta ? startMeta.forcedTzo : null,\n forcedEndTzo: endMeta ? endMeta.forcedTzo : null,\n };\n}\nfunction computeIsDefaultAllDay(eventSource, context) {\n var res = null;\n if (eventSource) {\n res = eventSource.defaultAllDay;\n }\n if (res == null) {\n res = context.options.defaultAllDay;\n }\n return res;\n}\n\n/* Date stuff that doesn't belong in datelib core\n----------------------------------------------------------------------------------------------------------------------*/\n// given a timed range, computes an all-day range that has the same exact duration,\n// but whose start time is aligned with the start of the day.\nfunction computeAlignedDayRange(timedRange) {\n var dayCnt = Math.floor(diffDays(timedRange.start, timedRange.end)) || 1;\n var start = startOfDay(timedRange.start);\n var end = addDays(start, dayCnt);\n return { start: start, end: end };\n}\n// given a timed range, computes an all-day range based on how for the end date bleeds into the next day\n// TODO: give nextDayThreshold a default arg\nfunction computeVisibleDayRange(timedRange, nextDayThreshold) {\n if (nextDayThreshold === void 0) { nextDayThreshold = createDuration(0); }\n var startDay = null;\n var endDay = null;\n if (timedRange.end) {\n endDay = startOfDay(timedRange.end);\n var endTimeMS = timedRange.end.valueOf() - endDay.valueOf(); // # of milliseconds into `endDay`\n // If the end time is actually inclusively part of the next day and is equal to or\n // beyond the next day threshold, adjust the end to be the exclusive end of `endDay`.\n // Otherwise, leaving it as inclusive will cause it to exclude `endDay`.\n if (endTimeMS && endTimeMS >= asRoughMs(nextDayThreshold)) {\n endDay = addDays(endDay, 1);\n }\n }\n if (timedRange.start) {\n startDay = startOfDay(timedRange.start); // the beginning of the day the range starts\n // If end is within `startDay` but not past nextDayThreshold, assign the default duration of one day.\n if (endDay && endDay <= startDay) {\n endDay = addDays(startDay, 1);\n }\n }\n return { start: startDay, end: endDay };\n}\n// spans from one day into another?\nfunction isMultiDayRange(range) {\n var visibleRange = computeVisibleDayRange(range);\n return diffDays(visibleRange.start, visibleRange.end) > 1;\n}\nfunction diffDates(date0, date1, dateEnv, largeUnit) {\n if (largeUnit === 'year') {\n return createDuration(dateEnv.diffWholeYears(date0, date1), 'year');\n }\n if (largeUnit === 'month') {\n return createDuration(dateEnv.diffWholeMonths(date0, date1), 'month');\n }\n return diffDayAndTime(date0, date1); // returns a duration\n}\n\nfunction parseRange(input, dateEnv) {\n var start = null;\n var end = null;\n if (input.start) {\n start = dateEnv.createMarker(input.start);\n }\n if (input.end) {\n end = dateEnv.createMarker(input.end);\n }\n if (!start && !end) {\n return null;\n }\n if (start && end && end < start) {\n return null;\n }\n return { start: start, end: end };\n}\n// SIDE-EFFECT: will mutate ranges.\n// Will return a new array result.\nfunction invertRanges(ranges, constraintRange) {\n var invertedRanges = [];\n var start = constraintRange.start; // the end of the previous range. the start of the new range\n var i;\n var dateRange;\n // ranges need to be in order. required for our date-walking algorithm\n ranges.sort(compareRanges);\n for (i = 0; i < ranges.length; i += 1) {\n dateRange = ranges[i];\n // add the span of time before the event (if there is any)\n if (dateRange.start > start) { // compare millisecond time (skip any ambig logic)\n invertedRanges.push({ start: start, end: dateRange.start });\n }\n if (dateRange.end > start) {\n start = dateRange.end;\n }\n }\n // add the span of time after the last event (if there is any)\n if (start < constraintRange.end) { // compare millisecond time (skip any ambig logic)\n invertedRanges.push({ start: start, end: constraintRange.end });\n }\n return invertedRanges;\n}\nfunction compareRanges(range0, range1) {\n return range0.start.valueOf() - range1.start.valueOf(); // earlier ranges go first\n}\nfunction intersectRanges(range0, range1) {\n var start = range0.start, end = range0.end;\n var newRange = null;\n if (range1.start !== null) {\n if (start === null) {\n start = range1.start;\n }\n else {\n start = new Date(Math.max(start.valueOf(), range1.start.valueOf()));\n }\n }\n if (range1.end != null) {\n if (end === null) {\n end = range1.end;\n }\n else {\n end = new Date(Math.min(end.valueOf(), range1.end.valueOf()));\n }\n }\n if (start === null || end === null || start < end) {\n newRange = { start: start, end: end };\n }\n return newRange;\n}\nfunction rangesEqual(range0, range1) {\n return (range0.start === null ? null : range0.start.valueOf()) === (range1.start === null ? null : range1.start.valueOf()) &&\n (range0.end === null ? null : range0.end.valueOf()) === (range1.end === null ? null : range1.end.valueOf());\n}\nfunction rangesIntersect(range0, range1) {\n return (range0.end === null || range1.start === null || range0.end > range1.start) &&\n (range0.start === null || range1.end === null || range0.start < range1.end);\n}\nfunction rangeContainsRange(outerRange, innerRange) {\n return (outerRange.start === null || (innerRange.start !== null && innerRange.start >= outerRange.start)) &&\n (outerRange.end === null || (innerRange.end !== null && innerRange.end <= outerRange.end));\n}\nfunction rangeContainsMarker(range, date) {\n return (range.start === null || date >= range.start) &&\n (range.end === null || date < range.end);\n}\n// If the given date is not within the given range, move it inside.\n// (If it's past the end, make it one millisecond before the end).\nfunction constrainMarkerToRange(date, range) {\n if (range.start != null && date < range.start) {\n return range.start;\n }\n if (range.end != null && date >= range.end) {\n return new Date(range.end.valueOf() - 1);\n }\n return date;\n}\n\n/*\nSpecifying nextDayThreshold signals that all-day ranges should be sliced.\n*/\nfunction sliceEventStore(eventStore, eventUiBases, framingRange, nextDayThreshold) {\n var inverseBgByGroupId = {};\n var inverseBgByDefId = {};\n var defByGroupId = {};\n var bgRanges = [];\n var fgRanges = [];\n var eventUis = compileEventUis(eventStore.defs, eventUiBases);\n for (var defId in eventStore.defs) {\n var def = eventStore.defs[defId];\n var ui = eventUis[def.defId];\n if (ui.display === 'inverse-background') {\n if (def.groupId) {\n inverseBgByGroupId[def.groupId] = [];\n if (!defByGroupId[def.groupId]) {\n defByGroupId[def.groupId] = def;\n }\n }\n else {\n inverseBgByDefId[defId] = [];\n }\n }\n }\n for (var instanceId in eventStore.instances) {\n var instance = eventStore.instances[instanceId];\n var def = eventStore.defs[instance.defId];\n var ui = eventUis[def.defId];\n var origRange = instance.range;\n var normalRange = (!def.allDay && nextDayThreshold) ?\n computeVisibleDayRange(origRange, nextDayThreshold) :\n origRange;\n var slicedRange = intersectRanges(normalRange, framingRange);\n if (slicedRange) {\n if (ui.display === 'inverse-background') {\n if (def.groupId) {\n inverseBgByGroupId[def.groupId].push(slicedRange);\n }\n else {\n inverseBgByDefId[instance.defId].push(slicedRange);\n }\n }\n else if (ui.display !== 'none') {\n (ui.display === 'background' ? bgRanges : fgRanges).push({\n def: def,\n ui: ui,\n instance: instance,\n range: slicedRange,\n isStart: normalRange.start && normalRange.start.valueOf() === slicedRange.start.valueOf(),\n isEnd: normalRange.end && normalRange.end.valueOf() === slicedRange.end.valueOf(),\n });\n }\n }\n }\n for (var groupId in inverseBgByGroupId) { // BY GROUP\n var ranges = inverseBgByGroupId[groupId];\n var invertedRanges = invertRanges(ranges, framingRange);\n for (var _i = 0, invertedRanges_1 = invertedRanges; _i < invertedRanges_1.length; _i++) {\n var invertedRange = invertedRanges_1[_i];\n var def = defByGroupId[groupId];\n var ui = eventUis[def.defId];\n bgRanges.push({\n def: def,\n ui: ui,\n instance: null,\n range: invertedRange,\n isStart: false,\n isEnd: false,\n });\n }\n }\n for (var defId in inverseBgByDefId) {\n var ranges = inverseBgByDefId[defId];\n var invertedRanges = invertRanges(ranges, framingRange);\n for (var _a = 0, invertedRanges_2 = invertedRanges; _a < invertedRanges_2.length; _a++) {\n var invertedRange = invertedRanges_2[_a];\n bgRanges.push({\n def: eventStore.defs[defId],\n ui: eventUis[defId],\n instance: null,\n range: invertedRange,\n isStart: false,\n isEnd: false,\n });\n }\n }\n return { bg: bgRanges, fg: fgRanges };\n}\nfunction hasBgRendering(def) {\n return def.ui.display === 'background' || def.ui.display === 'inverse-background';\n}\nfunction setElSeg(el, seg) {\n el.fcSeg = seg;\n}\nfunction getElSeg(el) {\n return el.fcSeg ||\n el.parentNode.fcSeg || // for the harness\n null;\n}\n// event ui computation\nfunction compileEventUis(eventDefs, eventUiBases) {\n return mapHash(eventDefs, function (eventDef) { return compileEventUi(eventDef, eventUiBases); });\n}\nfunction compileEventUi(eventDef, eventUiBases) {\n var uis = [];\n if (eventUiBases['']) {\n uis.push(eventUiBases['']);\n }\n if (eventUiBases[eventDef.defId]) {\n uis.push(eventUiBases[eventDef.defId]);\n }\n uis.push(eventDef.ui);\n return combineEventUis(uis);\n}\nfunction sortEventSegs(segs, eventOrderSpecs) {\n var objs = segs.map(buildSegCompareObj);\n objs.sort(function (obj0, obj1) { return compareByFieldSpecs(obj0, obj1, eventOrderSpecs); });\n return objs.map(function (c) { return c._seg; });\n}\n// returns a object with all primitive props that can be compared\nfunction buildSegCompareObj(seg) {\n var eventRange = seg.eventRange;\n var eventDef = eventRange.def;\n var range = eventRange.instance ? eventRange.instance.range : eventRange.range;\n var start = range.start ? range.start.valueOf() : 0; // TODO: better support for open-range events\n var end = range.end ? range.end.valueOf() : 0; // \"\n return __assign(__assign(__assign({}, eventDef.extendedProps), eventDef), { id: eventDef.publicId, start: start,\n end: end, duration: end - start, allDay: Number(eventDef.allDay), _seg: seg });\n}\nfunction computeSegDraggable(seg, context) {\n var pluginHooks = context.pluginHooks;\n var transformers = pluginHooks.isDraggableTransformers;\n var _a = seg.eventRange, def = _a.def, ui = _a.ui;\n var val = ui.startEditable;\n for (var _i = 0, transformers_1 = transformers; _i < transformers_1.length; _i++) {\n var transformer = transformers_1[_i];\n val = transformer(val, def, ui, context);\n }\n return val;\n}\nfunction computeSegStartResizable(seg, context) {\n return seg.isStart && seg.eventRange.ui.durationEditable && context.options.eventResizableFromStart;\n}\nfunction computeSegEndResizable(seg, context) {\n return seg.isEnd && seg.eventRange.ui.durationEditable;\n}\nfunction buildSegTimeText(seg, timeFormat, context, defaultDisplayEventTime, // defaults to true\ndefaultDisplayEventEnd, // defaults to true\nstartOverride, endOverride) {\n var dateEnv = context.dateEnv, options = context.options;\n var displayEventTime = options.displayEventTime, displayEventEnd = options.displayEventEnd;\n var eventDef = seg.eventRange.def;\n var eventInstance = seg.eventRange.instance;\n if (displayEventTime == null) {\n displayEventTime = defaultDisplayEventTime !== false;\n }\n if (displayEventEnd == null) {\n displayEventEnd = defaultDisplayEventEnd !== false;\n }\n var wholeEventStart = eventInstance.range.start;\n var wholeEventEnd = eventInstance.range.end;\n var segStart = startOverride || seg.start || seg.eventRange.range.start;\n var segEnd = endOverride || seg.end || seg.eventRange.range.end;\n var isStartDay = startOfDay(wholeEventStart).valueOf() === startOfDay(segStart).valueOf();\n var isEndDay = startOfDay(addMs(wholeEventEnd, -1)).valueOf() === startOfDay(addMs(segEnd, -1)).valueOf();\n if (displayEventTime && !eventDef.allDay && (isStartDay || isEndDay)) {\n segStart = isStartDay ? wholeEventStart : segStart;\n segEnd = isEndDay ? wholeEventEnd : segEnd;\n if (displayEventEnd && eventDef.hasEnd) {\n return dateEnv.formatRange(segStart, segEnd, timeFormat, {\n forcedStartTzo: startOverride ? null : eventInstance.forcedStartTzo,\n forcedEndTzo: endOverride ? null : eventInstance.forcedEndTzo,\n });\n }\n return dateEnv.format(segStart, timeFormat, {\n forcedTzo: startOverride ? null : eventInstance.forcedStartTzo, // nooooo, same\n });\n }\n return '';\n}\nfunction getSegMeta(seg, todayRange, nowDate) {\n var segRange = seg.eventRange.range;\n return {\n isPast: segRange.end < (nowDate || todayRange.start),\n isFuture: segRange.start >= (nowDate || todayRange.end),\n isToday: todayRange && rangeContainsMarker(todayRange, segRange.start),\n };\n}\nfunction getEventClassNames(props) {\n var classNames = ['fc-event'];\n if (props.isMirror) {\n classNames.push('fc-event-mirror');\n }\n if (props.isDraggable) {\n classNames.push('fc-event-draggable');\n }\n if (props.isStartResizable || props.isEndResizable) {\n classNames.push('fc-event-resizable');\n }\n if (props.isDragging) {\n classNames.push('fc-event-dragging');\n }\n if (props.isResizing) {\n classNames.push('fc-event-resizing');\n }\n if (props.isSelected) {\n classNames.push('fc-event-selected');\n }\n if (props.isStart) {\n classNames.push('fc-event-start');\n }\n if (props.isEnd) {\n classNames.push('fc-event-end');\n }\n if (props.isPast) {\n classNames.push('fc-event-past');\n }\n if (props.isToday) {\n classNames.push('fc-event-today');\n }\n if (props.isFuture) {\n classNames.push('fc-event-future');\n }\n return classNames;\n}\nfunction buildEventRangeKey(eventRange) {\n return eventRange.instance\n ? eventRange.instance.instanceId\n : eventRange.def.defId + \":\" + eventRange.range.start.toISOString();\n // inverse-background events don't have specific instances. TODO: better solution\n}\nfunction getSegAnchorAttrs(seg, context) {\n var _a = seg.eventRange, def = _a.def, instance = _a.instance;\n var url = def.url;\n if (url) {\n return { href: url };\n }\n var emitter = context.emitter, options = context.options;\n var eventInteractive = options.eventInteractive;\n if (eventInteractive == null) {\n eventInteractive = def.interactive;\n if (eventInteractive == null) {\n eventInteractive = Boolean(emitter.hasHandlers('eventClick'));\n }\n }\n // mock what happens in EventClicking\n if (eventInteractive) {\n // only attach keyboard-related handlers because click handler is already done in EventClicking\n return createAriaKeyboardAttrs(function (ev) {\n emitter.trigger('eventClick', {\n el: ev.target,\n event: new EventApi(context, def, instance),\n jsEvent: ev,\n view: context.viewApi,\n });\n });\n }\n return {};\n}\n\nvar STANDARD_PROPS = {\n start: identity,\n end: identity,\n allDay: Boolean,\n};\nfunction parseDateSpan(raw, dateEnv, defaultDuration) {\n var span = parseOpenDateSpan(raw, dateEnv);\n var range = span.range;\n if (!range.start) {\n return null;\n }\n if (!range.end) {\n if (defaultDuration == null) {\n return null;\n }\n range.end = dateEnv.add(range.start, defaultDuration);\n }\n return span;\n}\n/*\nTODO: somehow combine with parseRange?\nWill return null if the start/end props were present but parsed invalidly.\n*/\nfunction parseOpenDateSpan(raw, dateEnv) {\n var _a = refineProps(raw, STANDARD_PROPS), standardProps = _a.refined, extra = _a.extra;\n var startMeta = standardProps.start ? dateEnv.createMarkerMeta(standardProps.start) : null;\n var endMeta = standardProps.end ? dateEnv.createMarkerMeta(standardProps.end) : null;\n var allDay = standardProps.allDay;\n if (allDay == null) {\n allDay = (startMeta && startMeta.isTimeUnspecified) &&\n (!endMeta || endMeta.isTimeUnspecified);\n }\n return __assign({ range: {\n start: startMeta ? startMeta.marker : null,\n end: endMeta ? endMeta.marker : null,\n }, allDay: allDay }, extra);\n}\nfunction isDateSpansEqual(span0, span1) {\n return rangesEqual(span0.range, span1.range) &&\n span0.allDay === span1.allDay &&\n isSpanPropsEqual(span0, span1);\n}\n// the NON-DATE-RELATED props\nfunction isSpanPropsEqual(span0, span1) {\n for (var propName in span1) {\n if (propName !== 'range' && propName !== 'allDay') {\n if (span0[propName] !== span1[propName]) {\n return false;\n }\n }\n }\n // are there any props that span0 has that span1 DOESN'T have?\n // both have range/allDay, so no need to special-case.\n for (var propName in span0) {\n if (!(propName in span1)) {\n return false;\n }\n }\n return true;\n}\nfunction buildDateSpanApi(span, dateEnv) {\n return __assign(__assign({}, buildRangeApi(span.range, dateEnv, span.allDay)), { allDay: span.allDay });\n}\nfunction buildRangeApiWithTimeZone(range, dateEnv, omitTime) {\n return __assign(__assign({}, buildRangeApi(range, dateEnv, omitTime)), { timeZone: dateEnv.timeZone });\n}\nfunction buildRangeApi(range, dateEnv, omitTime) {\n return {\n start: dateEnv.toDate(range.start),\n end: dateEnv.toDate(range.end),\n startStr: dateEnv.formatIso(range.start, { omitTime: omitTime }),\n endStr: dateEnv.formatIso(range.end, { omitTime: omitTime }),\n };\n}\nfunction fabricateEventRange(dateSpan, eventUiBases, context) {\n var res = refineEventDef({ editable: false }, context);\n var def = parseEventDef(res.refined, res.extra, '', // sourceId\n dateSpan.allDay, true, // hasEnd\n context);\n return {\n def: def,\n ui: compileEventUi(def, eventUiBases),\n instance: createEventInstance(def.defId, dateSpan.range),\n range: dateSpan.range,\n isStart: true,\n isEnd: true,\n };\n}\n\nfunction triggerDateSelect(selection, pev, context) {\n context.emitter.trigger('select', __assign(__assign({}, buildDateSpanApiWithContext(selection, context)), { jsEvent: pev ? pev.origEvent : null, view: context.viewApi || context.calendarApi.view }));\n}\nfunction triggerDateUnselect(pev, context) {\n context.emitter.trigger('unselect', {\n jsEvent: pev ? pev.origEvent : null,\n view: context.viewApi || context.calendarApi.view,\n });\n}\nfunction buildDateSpanApiWithContext(dateSpan, context) {\n var props = {};\n for (var _i = 0, _a = context.pluginHooks.dateSpanTransforms; _i < _a.length; _i++) {\n var transform = _a[_i];\n __assign(props, transform(dateSpan, context));\n }\n __assign(props, buildDateSpanApi(dateSpan, context.dateEnv));\n return props;\n}\n// Given an event's allDay status and start date, return what its fallback end date should be.\n// TODO: rename to computeDefaultEventEnd\nfunction getDefaultEventEnd(allDay, marker, context) {\n var dateEnv = context.dateEnv, options = context.options;\n var end = marker;\n if (allDay) {\n end = startOfDay(end);\n end = dateEnv.add(end, options.defaultAllDayEventDuration);\n }\n else {\n end = dateEnv.add(end, options.defaultTimedEventDuration);\n }\n return end;\n}\n\n// applies the mutation to ALL defs/instances within the event store\nfunction applyMutationToEventStore(eventStore, eventConfigBase, mutation, context) {\n var eventConfigs = compileEventUis(eventStore.defs, eventConfigBase);\n var dest = createEmptyEventStore();\n for (var defId in eventStore.defs) {\n var def = eventStore.defs[defId];\n dest.defs[defId] = applyMutationToEventDef(def, eventConfigs[defId], mutation, context);\n }\n for (var instanceId in eventStore.instances) {\n var instance = eventStore.instances[instanceId];\n var def = dest.defs[instance.defId]; // important to grab the newly modified def\n dest.instances[instanceId] = applyMutationToEventInstance(instance, def, eventConfigs[instance.defId], mutation, context);\n }\n return dest;\n}\nfunction applyMutationToEventDef(eventDef, eventConfig, mutation, context) {\n var standardProps = mutation.standardProps || {};\n // if hasEnd has not been specified, guess a good value based on deltas.\n // if duration will change, there's no way the default duration will persist,\n // and thus, we need to mark the event as having a real end\n if (standardProps.hasEnd == null &&\n eventConfig.durationEditable &&\n (mutation.startDelta || mutation.endDelta)) {\n standardProps.hasEnd = true; // TODO: is this mutation okay?\n }\n var copy = __assign(__assign(__assign({}, eventDef), standardProps), { ui: __assign(__assign({}, eventDef.ui), standardProps.ui) });\n if (mutation.extendedProps) {\n copy.extendedProps = __assign(__assign({}, copy.extendedProps), mutation.extendedProps);\n }\n for (var _i = 0, _a = context.pluginHooks.eventDefMutationAppliers; _i < _a.length; _i++) {\n var applier = _a[_i];\n applier(copy, mutation, context);\n }\n if (!copy.hasEnd && context.options.forceEventDuration) {\n copy.hasEnd = true;\n }\n return copy;\n}\nfunction applyMutationToEventInstance(eventInstance, eventDef, // must first be modified by applyMutationToEventDef\neventConfig, mutation, context) {\n var dateEnv = context.dateEnv;\n var forceAllDay = mutation.standardProps && mutation.standardProps.allDay === true;\n var clearEnd = mutation.standardProps && mutation.standardProps.hasEnd === false;\n var copy = __assign({}, eventInstance);\n if (forceAllDay) {\n copy.range = computeAlignedDayRange(copy.range);\n }\n if (mutation.datesDelta && eventConfig.startEditable) {\n copy.range = {\n start: dateEnv.add(copy.range.start, mutation.datesDelta),\n end: dateEnv.add(copy.range.end, mutation.datesDelta),\n };\n }\n if (mutation.startDelta && eventConfig.durationEditable) {\n copy.range = {\n start: dateEnv.add(copy.range.start, mutation.startDelta),\n end: copy.range.end,\n };\n }\n if (mutation.endDelta && eventConfig.durationEditable) {\n copy.range = {\n start: copy.range.start,\n end: dateEnv.add(copy.range.end, mutation.endDelta),\n };\n }\n if (clearEnd) {\n copy.range = {\n start: copy.range.start,\n end: getDefaultEventEnd(eventDef.allDay, copy.range.start, context),\n };\n }\n // in case event was all-day but the supplied deltas were not\n // better util for this?\n if (eventDef.allDay) {\n copy.range = {\n start: startOfDay(copy.range.start),\n end: startOfDay(copy.range.end),\n };\n }\n // handle invalid durations\n if (copy.range.end < copy.range.start) {\n copy.range.end = getDefaultEventEnd(eventDef.allDay, copy.range.start, context);\n }\n return copy;\n}\n\n// no public types yet. when there are, export from:\n// import {} from './api-type-deps'\nvar ViewApi = /** @class */ (function () {\n function ViewApi(type, getCurrentData, dateEnv) {\n this.type = type;\n this.getCurrentData = getCurrentData;\n this.dateEnv = dateEnv;\n }\n Object.defineProperty(ViewApi.prototype, \"calendar\", {\n get: function () {\n return this.getCurrentData().calendarApi;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"title\", {\n get: function () {\n return this.getCurrentData().viewTitle;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"activeStart\", {\n get: function () {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"activeEnd\", {\n get: function () {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"currentStart\", {\n get: function () {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"currentEnd\", {\n get: function () {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end);\n },\n enumerable: false,\n configurable: true\n });\n ViewApi.prototype.getOption = function (name) {\n return this.getCurrentData().options[name]; // are the view-specific options\n };\n return ViewApi;\n}());\n\nvar EVENT_SOURCE_REFINERS = {\n id: String,\n defaultAllDay: Boolean,\n url: String,\n format: String,\n events: identity,\n eventDataTransform: identity,\n // for any network-related sources\n success: identity,\n failure: identity,\n};\nfunction parseEventSource(raw, context, refiners) {\n if (refiners === void 0) { refiners = buildEventSourceRefiners(context); }\n var rawObj;\n if (typeof raw === 'string') {\n rawObj = { url: raw };\n }\n else if (typeof raw === 'function' || Array.isArray(raw)) {\n rawObj = { events: raw };\n }\n else if (typeof raw === 'object' && raw) { // not null\n rawObj = raw;\n }\n if (rawObj) {\n var _a = refineProps(rawObj, refiners), refined = _a.refined, extra = _a.extra;\n var metaRes = buildEventSourceMeta(refined, context);\n if (metaRes) {\n return {\n _raw: raw,\n isFetching: false,\n latestFetchId: '',\n fetchRange: null,\n defaultAllDay: refined.defaultAllDay,\n eventDataTransform: refined.eventDataTransform,\n success: refined.success,\n failure: refined.failure,\n publicId: refined.id || '',\n sourceId: guid(),\n sourceDefId: metaRes.sourceDefId,\n meta: metaRes.meta,\n ui: createEventUi(refined, context),\n extendedProps: extra,\n };\n }\n }\n return null;\n}\nfunction buildEventSourceRefiners(context) {\n return __assign(__assign(__assign({}, EVENT_UI_REFINERS), EVENT_SOURCE_REFINERS), context.pluginHooks.eventSourceRefiners);\n}\nfunction buildEventSourceMeta(raw, context) {\n var defs = context.pluginHooks.eventSourceDefs;\n for (var i = defs.length - 1; i >= 0; i -= 1) { // later-added plugins take precedence\n var def = defs[i];\n var meta = def.parseMeta(raw);\n if (meta) {\n return { sourceDefId: i, meta: meta };\n }\n }\n return null;\n}\n\nfunction reduceCurrentDate(currentDate, action) {\n switch (action.type) {\n case 'CHANGE_DATE':\n return action.dateMarker;\n default:\n return currentDate;\n }\n}\nfunction getInitialDate(options, dateEnv) {\n var initialDateInput = options.initialDate;\n // compute the initial ambig-timezone date\n if (initialDateInput != null) {\n return dateEnv.createMarker(initialDateInput);\n }\n return getNow(options.now, dateEnv); // getNow already returns unzoned\n}\nfunction getNow(nowInput, dateEnv) {\n if (typeof nowInput === 'function') {\n nowInput = nowInput();\n }\n if (nowInput == null) {\n return dateEnv.createNowMarker();\n }\n return dateEnv.createMarker(nowInput);\n}\n\nvar CalendarApi = /** @class */ (function () {\n function CalendarApi() {\n }\n CalendarApi.prototype.getCurrentData = function () {\n return this.currentDataManager.getCurrentData();\n };\n CalendarApi.prototype.dispatch = function (action) {\n return this.currentDataManager.dispatch(action);\n };\n Object.defineProperty(CalendarApi.prototype, \"view\", {\n get: function () { return this.getCurrentData().viewApi; } // for public API\n ,\n enumerable: false,\n configurable: true\n });\n CalendarApi.prototype.batchRendering = function (callback) {\n callback();\n };\n CalendarApi.prototype.updateSize = function () {\n this.trigger('_resize', true);\n };\n // Options\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.setOption = function (name, val) {\n this.dispatch({\n type: 'SET_OPTION',\n optionName: name,\n rawOptionValue: val,\n });\n };\n CalendarApi.prototype.getOption = function (name) {\n return this.currentDataManager.currentCalendarOptionsInput[name];\n };\n CalendarApi.prototype.getAvailableLocaleCodes = function () {\n return Object.keys(this.getCurrentData().availableRawLocales);\n };\n // Trigger\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.on = function (handlerName, handler) {\n var currentDataManager = this.currentDataManager;\n if (currentDataManager.currentCalendarOptionsRefiners[handlerName]) {\n currentDataManager.emitter.on(handlerName, handler);\n }\n else {\n console.warn(\"Unknown listener name '\" + handlerName + \"'\");\n }\n };\n CalendarApi.prototype.off = function (handlerName, handler) {\n this.currentDataManager.emitter.off(handlerName, handler);\n };\n // not meant for public use\n CalendarApi.prototype.trigger = function (handlerName) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n (_a = this.currentDataManager.emitter).trigger.apply(_a, __spreadArray([handlerName], args));\n };\n // View\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.changeView = function (viewType, dateOrRange) {\n var _this = this;\n this.batchRendering(function () {\n _this.unselect();\n if (dateOrRange) {\n if (dateOrRange.start && dateOrRange.end) { // a range\n _this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: viewType,\n });\n _this.dispatch({\n type: 'SET_OPTION',\n optionName: 'visibleRange',\n rawOptionValue: dateOrRange,\n });\n }\n else {\n var dateEnv = _this.getCurrentData().dateEnv;\n _this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: viewType,\n dateMarker: dateEnv.createMarker(dateOrRange),\n });\n }\n }\n else {\n _this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: viewType,\n });\n }\n });\n };\n // Forces navigation to a view for the given date.\n // `viewType` can be a specific view name or a generic one like \"week\" or \"day\".\n // needs to change\n CalendarApi.prototype.zoomTo = function (dateMarker, viewType) {\n var state = this.getCurrentData();\n var spec;\n viewType = viewType || 'day'; // day is default zoom\n spec = state.viewSpecs[viewType] || this.getUnitViewSpec(viewType);\n this.unselect();\n if (spec) {\n this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: spec.type,\n dateMarker: dateMarker,\n });\n }\n else {\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: dateMarker,\n });\n }\n };\n // Given a duration singular unit, like \"week\" or \"day\", finds a matching view spec.\n // Preference is given to views that have corresponding buttons.\n CalendarApi.prototype.getUnitViewSpec = function (unit) {\n var _a = this.getCurrentData(), viewSpecs = _a.viewSpecs, toolbarConfig = _a.toolbarConfig;\n var viewTypes = [].concat(toolbarConfig.header ? toolbarConfig.header.viewsWithButtons : [], toolbarConfig.footer ? toolbarConfig.footer.viewsWithButtons : []);\n var i;\n var spec;\n for (var viewType in viewSpecs) {\n viewTypes.push(viewType);\n }\n for (i = 0; i < viewTypes.length; i += 1) {\n spec = viewSpecs[viewTypes[i]];\n if (spec) {\n if (spec.singleUnit === unit) {\n return spec;\n }\n }\n }\n return null;\n };\n // Current Date\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.prev = function () {\n this.unselect();\n this.dispatch({ type: 'PREV' });\n };\n CalendarApi.prototype.next = function () {\n this.unselect();\n this.dispatch({ type: 'NEXT' });\n };\n CalendarApi.prototype.prevYear = function () {\n var state = this.getCurrentData();\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.addYears(state.currentDate, -1),\n });\n };\n CalendarApi.prototype.nextYear = function () {\n var state = this.getCurrentData();\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.addYears(state.currentDate, 1),\n });\n };\n CalendarApi.prototype.today = function () {\n var state = this.getCurrentData();\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: getNow(state.calendarOptions.now, state.dateEnv),\n });\n };\n CalendarApi.prototype.gotoDate = function (zonedDateInput) {\n var state = this.getCurrentData();\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.createMarker(zonedDateInput),\n });\n };\n CalendarApi.prototype.incrementDate = function (deltaInput) {\n var state = this.getCurrentData();\n var delta = createDuration(deltaInput);\n if (delta) { // else, warn about invalid input?\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.add(state.currentDate, delta),\n });\n }\n };\n // for external API\n CalendarApi.prototype.getDate = function () {\n var state = this.getCurrentData();\n return state.dateEnv.toDate(state.currentDate);\n };\n // Date Formatting Utils\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.formatDate = function (d, formatter) {\n var dateEnv = this.getCurrentData().dateEnv;\n return dateEnv.format(dateEnv.createMarker(d), createFormatter(formatter));\n };\n // `settings` is for formatter AND isEndExclusive\n CalendarApi.prototype.formatRange = function (d0, d1, settings) {\n var dateEnv = this.getCurrentData().dateEnv;\n return dateEnv.formatRange(dateEnv.createMarker(d0), dateEnv.createMarker(d1), createFormatter(settings), settings);\n };\n CalendarApi.prototype.formatIso = function (d, omitTime) {\n var dateEnv = this.getCurrentData().dateEnv;\n return dateEnv.formatIso(dateEnv.createMarker(d), { omitTime: omitTime });\n };\n // Date Selection / Event Selection / DayClick\n // -----------------------------------------------------------------------------------------------------------------\n // this public method receives start/end dates in any format, with any timezone\n // NOTE: args were changed from v3\n CalendarApi.prototype.select = function (dateOrObj, endDate) {\n var selectionInput;\n if (endDate == null) {\n if (dateOrObj.start != null) {\n selectionInput = dateOrObj;\n }\n else {\n selectionInput = {\n start: dateOrObj,\n end: null,\n };\n }\n }\n else {\n selectionInput = {\n start: dateOrObj,\n end: endDate,\n };\n }\n var state = this.getCurrentData();\n var selection = parseDateSpan(selectionInput, state.dateEnv, createDuration({ days: 1 }));\n if (selection) { // throw parse error otherwise?\n this.dispatch({ type: 'SELECT_DATES', selection: selection });\n triggerDateSelect(selection, null, state);\n }\n };\n // public method\n CalendarApi.prototype.unselect = function (pev) {\n var state = this.getCurrentData();\n if (state.dateSelection) {\n this.dispatch({ type: 'UNSELECT_DATES' });\n triggerDateUnselect(pev, state);\n }\n };\n // Public Events API\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.addEvent = function (eventInput, sourceInput) {\n if (eventInput instanceof EventApi) {\n var def = eventInput._def;\n var instance = eventInput._instance;\n var currentData = this.getCurrentData();\n // not already present? don't want to add an old snapshot\n if (!currentData.eventStore.defs[def.defId]) {\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore({ def: def, instance: instance }), // TODO: better util for two args?\n });\n this.triggerEventAdd(eventInput);\n }\n return eventInput;\n }\n var state = this.getCurrentData();\n var eventSource;\n if (sourceInput instanceof EventSourceApi) {\n eventSource = sourceInput.internalEventSource;\n }\n else if (typeof sourceInput === 'boolean') {\n if (sourceInput) { // true. part of the first event source\n eventSource = hashValuesToArray(state.eventSources)[0];\n }\n }\n else if (sourceInput != null) { // an ID. accepts a number too\n var sourceApi = this.getEventSourceById(sourceInput); // TODO: use an internal function\n if (!sourceApi) {\n console.warn(\"Could not find an event source with ID \\\"\" + sourceInput + \"\\\"\"); // TODO: test\n return null;\n }\n eventSource = sourceApi.internalEventSource;\n }\n var tuple = parseEvent(eventInput, eventSource, state, false);\n if (tuple) {\n var newEventApi = new EventApi(state, tuple.def, tuple.def.recurringDef ? null : tuple.instance);\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore(tuple),\n });\n this.triggerEventAdd(newEventApi);\n return newEventApi;\n }\n return null;\n };\n CalendarApi.prototype.triggerEventAdd = function (eventApi) {\n var _this = this;\n var emitter = this.getCurrentData().emitter;\n emitter.trigger('eventAdd', {\n event: eventApi,\n relatedEvents: [],\n revert: function () {\n _this.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: eventApiToStore(eventApi),\n });\n },\n });\n };\n // TODO: optimize\n CalendarApi.prototype.getEventById = function (id) {\n var state = this.getCurrentData();\n var _a = state.eventStore, defs = _a.defs, instances = _a.instances;\n id = String(id);\n for (var defId in defs) {\n var def = defs[defId];\n if (def.publicId === id) {\n if (def.recurringDef) {\n return new EventApi(state, def, null);\n }\n for (var instanceId in instances) {\n var instance = instances[instanceId];\n if (instance.defId === def.defId) {\n return new EventApi(state, def, instance);\n }\n }\n }\n }\n return null;\n };\n CalendarApi.prototype.getEvents = function () {\n var currentData = this.getCurrentData();\n return buildEventApis(currentData.eventStore, currentData);\n };\n CalendarApi.prototype.removeAllEvents = function () {\n this.dispatch({ type: 'REMOVE_ALL_EVENTS' });\n };\n // Public Event Sources API\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.getEventSources = function () {\n var state = this.getCurrentData();\n var sourceHash = state.eventSources;\n var sourceApis = [];\n for (var internalId in sourceHash) {\n sourceApis.push(new EventSourceApi(state, sourceHash[internalId]));\n }\n return sourceApis;\n };\n CalendarApi.prototype.getEventSourceById = function (id) {\n var state = this.getCurrentData();\n var sourceHash = state.eventSources;\n id = String(id);\n for (var sourceId in sourceHash) {\n if (sourceHash[sourceId].publicId === id) {\n return new EventSourceApi(state, sourceHash[sourceId]);\n }\n }\n return null;\n };\n CalendarApi.prototype.addEventSource = function (sourceInput) {\n var state = this.getCurrentData();\n if (sourceInput instanceof EventSourceApi) {\n // not already present? don't want to add an old snapshot\n if (!state.eventSources[sourceInput.internalEventSource.sourceId]) {\n this.dispatch({\n type: 'ADD_EVENT_SOURCES',\n sources: [sourceInput.internalEventSource],\n });\n }\n return sourceInput;\n }\n var eventSource = parseEventSource(sourceInput, state);\n if (eventSource) { // TODO: error otherwise?\n this.dispatch({ type: 'ADD_EVENT_SOURCES', sources: [eventSource] });\n return new EventSourceApi(state, eventSource);\n }\n return null;\n };\n CalendarApi.prototype.removeAllEventSources = function () {\n this.dispatch({ type: 'REMOVE_ALL_EVENT_SOURCES' });\n };\n CalendarApi.prototype.refetchEvents = function () {\n this.dispatch({ type: 'FETCH_EVENT_SOURCES', isRefetch: true });\n };\n // Scroll\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.scrollToTime = function (timeInput) {\n var time = createDuration(timeInput);\n if (time) {\n this.trigger('_scrollRequest', { time: time });\n }\n };\n return CalendarApi;\n}());\n\nvar EventApi = /** @class */ (function () {\n // instance will be null if expressing a recurring event that has no current instances,\n // OR if trying to validate an incoming external event that has no dates assigned\n function EventApi(context, def, instance) {\n this._context = context;\n this._def = def;\n this._instance = instance || null;\n }\n /*\n TODO: make event struct more responsible for this\n */\n EventApi.prototype.setProp = function (name, val) {\n var _a, _b;\n if (name in EVENT_DATE_REFINERS) {\n console.warn('Could not set date-related prop \\'name\\'. Use one of the date-related methods instead.');\n // TODO: make proper aliasing system?\n }\n else if (name === 'id') {\n val = EVENT_NON_DATE_REFINERS[name](val);\n this.mutate({\n standardProps: { publicId: val }, // hardcoded internal name\n });\n }\n else if (name in EVENT_NON_DATE_REFINERS) {\n val = EVENT_NON_DATE_REFINERS[name](val);\n this.mutate({\n standardProps: (_a = {}, _a[name] = val, _a),\n });\n }\n else if (name in EVENT_UI_REFINERS) {\n var ui = EVENT_UI_REFINERS[name](val);\n if (name === 'color') {\n ui = { backgroundColor: val, borderColor: val };\n }\n else if (name === 'editable') {\n ui = { startEditable: val, durationEditable: val };\n }\n else {\n ui = (_b = {}, _b[name] = val, _b);\n }\n this.mutate({\n standardProps: { ui: ui },\n });\n }\n else {\n console.warn(\"Could not set prop '\" + name + \"'. Use setExtendedProp instead.\");\n }\n };\n EventApi.prototype.setExtendedProp = function (name, val) {\n var _a;\n this.mutate({\n extendedProps: (_a = {}, _a[name] = val, _a),\n });\n };\n EventApi.prototype.setStart = function (startInput, options) {\n if (options === void 0) { options = {}; }\n var dateEnv = this._context.dateEnv;\n var start = dateEnv.createMarker(startInput);\n if (start && this._instance) { // TODO: warning if parsed bad\n var instanceRange = this._instance.range;\n var startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity); // what if parsed bad!?\n if (options.maintainDuration) {\n this.mutate({ datesDelta: startDelta });\n }\n else {\n this.mutate({ startDelta: startDelta });\n }\n }\n };\n EventApi.prototype.setEnd = function (endInput, options) {\n if (options === void 0) { options = {}; }\n var dateEnv = this._context.dateEnv;\n var end;\n if (endInput != null) {\n end = dateEnv.createMarker(endInput);\n if (!end) {\n return; // TODO: warning if parsed bad\n }\n }\n if (this._instance) {\n if (end) {\n var endDelta = diffDates(this._instance.range.end, end, dateEnv, options.granularity);\n this.mutate({ endDelta: endDelta });\n }\n else {\n this.mutate({ standardProps: { hasEnd: false } });\n }\n }\n };\n EventApi.prototype.setDates = function (startInput, endInput, options) {\n if (options === void 0) { options = {}; }\n var dateEnv = this._context.dateEnv;\n var standardProps = { allDay: options.allDay };\n var start = dateEnv.createMarker(startInput);\n var end;\n if (!start) {\n return; // TODO: warning if parsed bad\n }\n if (endInput != null) {\n end = dateEnv.createMarker(endInput);\n if (!end) { // TODO: warning if parsed bad\n return;\n }\n }\n if (this._instance) {\n var instanceRange = this._instance.range;\n // when computing the diff for an event being converted to all-day,\n // compute diff off of the all-day values the way event-mutation does.\n if (options.allDay === true) {\n instanceRange = computeAlignedDayRange(instanceRange);\n }\n var startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity);\n if (end) {\n var endDelta = diffDates(instanceRange.end, end, dateEnv, options.granularity);\n if (durationsEqual(startDelta, endDelta)) {\n this.mutate({ datesDelta: startDelta, standardProps: standardProps });\n }\n else {\n this.mutate({ startDelta: startDelta, endDelta: endDelta, standardProps: standardProps });\n }\n }\n else { // means \"clear the end\"\n standardProps.hasEnd = false;\n this.mutate({ datesDelta: startDelta, standardProps: standardProps });\n }\n }\n };\n EventApi.prototype.moveStart = function (deltaInput) {\n var delta = createDuration(deltaInput);\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ startDelta: delta });\n }\n };\n EventApi.prototype.moveEnd = function (deltaInput) {\n var delta = createDuration(deltaInput);\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ endDelta: delta });\n }\n };\n EventApi.prototype.moveDates = function (deltaInput) {\n var delta = createDuration(deltaInput);\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ datesDelta: delta });\n }\n };\n EventApi.prototype.setAllDay = function (allDay, options) {\n if (options === void 0) { options = {}; }\n var standardProps = { allDay: allDay };\n var maintainDuration = options.maintainDuration;\n if (maintainDuration == null) {\n maintainDuration = this._context.options.allDayMaintainDuration;\n }\n if (this._def.allDay !== allDay) {\n standardProps.hasEnd = maintainDuration;\n }\n this.mutate({ standardProps: standardProps });\n };\n EventApi.prototype.formatRange = function (formatInput) {\n var dateEnv = this._context.dateEnv;\n var instance = this._instance;\n var formatter = createFormatter(formatInput);\n if (this._def.hasEnd) {\n return dateEnv.formatRange(instance.range.start, instance.range.end, formatter, {\n forcedStartTzo: instance.forcedStartTzo,\n forcedEndTzo: instance.forcedEndTzo,\n });\n }\n return dateEnv.format(instance.range.start, formatter, {\n forcedTzo: instance.forcedStartTzo,\n });\n };\n EventApi.prototype.mutate = function (mutation) {\n var instance = this._instance;\n if (instance) {\n var def = this._def;\n var context_1 = this._context;\n var eventStore_1 = context_1.getCurrentData().eventStore;\n var relevantEvents = getRelevantEvents(eventStore_1, instance.instanceId);\n var eventConfigBase = {\n '': {\n display: '',\n startEditable: true,\n durationEditable: true,\n constraints: [],\n overlap: null,\n allows: [],\n backgroundColor: '',\n borderColor: '',\n textColor: '',\n classNames: [],\n },\n };\n relevantEvents = applyMutationToEventStore(relevantEvents, eventConfigBase, mutation, context_1);\n var oldEvent = new EventApi(context_1, def, instance); // snapshot\n this._def = relevantEvents.defs[def.defId];\n this._instance = relevantEvents.instances[instance.instanceId];\n context_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents,\n });\n context_1.emitter.trigger('eventChange', {\n oldEvent: oldEvent,\n event: this,\n relatedEvents: buildEventApis(relevantEvents, context_1, instance),\n revert: function () {\n context_1.dispatch({\n type: 'RESET_EVENTS',\n eventStore: eventStore_1,\n });\n },\n });\n }\n };\n EventApi.prototype.remove = function () {\n var context = this._context;\n var asStore = eventApiToStore(this);\n context.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: asStore,\n });\n context.emitter.trigger('eventRemove', {\n event: this,\n relatedEvents: [],\n revert: function () {\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: asStore,\n });\n },\n });\n };\n Object.defineProperty(EventApi.prototype, \"source\", {\n get: function () {\n var sourceId = this._def.sourceId;\n if (sourceId) {\n return new EventSourceApi(this._context, this._context.getCurrentData().eventSources[sourceId]);\n }\n return null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"start\", {\n get: function () {\n return this._instance ?\n this._context.dateEnv.toDate(this._instance.range.start) :\n null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"end\", {\n get: function () {\n return (this._instance && this._def.hasEnd) ?\n this._context.dateEnv.toDate(this._instance.range.end) :\n null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"startStr\", {\n get: function () {\n var instance = this._instance;\n if (instance) {\n return this._context.dateEnv.formatIso(instance.range.start, {\n omitTime: this._def.allDay,\n forcedTzo: instance.forcedStartTzo,\n });\n }\n return '';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"endStr\", {\n get: function () {\n var instance = this._instance;\n if (instance && this._def.hasEnd) {\n return this._context.dateEnv.formatIso(instance.range.end, {\n omitTime: this._def.allDay,\n forcedTzo: instance.forcedEndTzo,\n });\n }\n return '';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"id\", {\n // computable props that all access the def\n // TODO: find a TypeScript-compatible way to do this at scale\n get: function () { return this._def.publicId; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"groupId\", {\n get: function () { return this._def.groupId; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"allDay\", {\n get: function () { return this._def.allDay; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"title\", {\n get: function () { return this._def.title; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"url\", {\n get: function () { return this._def.url; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"display\", {\n get: function () { return this._def.ui.display || 'auto'; } // bad. just normalize the type earlier\n ,\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"startEditable\", {\n get: function () { return this._def.ui.startEditable; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"durationEditable\", {\n get: function () { return this._def.ui.durationEditable; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"constraint\", {\n get: function () { return this._def.ui.constraints[0] || null; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"overlap\", {\n get: function () { return this._def.ui.overlap; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"allow\", {\n get: function () { return this._def.ui.allows[0] || null; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"backgroundColor\", {\n get: function () { return this._def.ui.backgroundColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"borderColor\", {\n get: function () { return this._def.ui.borderColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"textColor\", {\n get: function () { return this._def.ui.textColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"classNames\", {\n // NOTE: user can't modify these because Object.freeze was called in event-def parsing\n get: function () { return this._def.ui.classNames; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"extendedProps\", {\n get: function () { return this._def.extendedProps; },\n enumerable: false,\n configurable: true\n });\n EventApi.prototype.toPlainObject = function (settings) {\n if (settings === void 0) { settings = {}; }\n var def = this._def;\n var ui = def.ui;\n var _a = this, startStr = _a.startStr, endStr = _a.endStr;\n var res = {};\n if (def.title) {\n res.title = def.title;\n }\n if (startStr) {\n res.start = startStr;\n }\n if (endStr) {\n res.end = endStr;\n }\n if (def.publicId) {\n res.id = def.publicId;\n }\n if (def.groupId) {\n res.groupId = def.groupId;\n }\n if (def.url) {\n res.url = def.url;\n }\n if (ui.display && ui.display !== 'auto') {\n res.display = ui.display;\n }\n // TODO: what about recurring-event properties???\n // TODO: include startEditable/durationEditable/constraint/overlap/allow\n if (settings.collapseColor && ui.backgroundColor && ui.backgroundColor === ui.borderColor) {\n res.color = ui.backgroundColor;\n }\n else {\n if (ui.backgroundColor) {\n res.backgroundColor = ui.backgroundColor;\n }\n if (ui.borderColor) {\n res.borderColor = ui.borderColor;\n }\n }\n if (ui.textColor) {\n res.textColor = ui.textColor;\n }\n if (ui.classNames.length) {\n res.classNames = ui.classNames;\n }\n if (Object.keys(def.extendedProps).length) {\n if (settings.collapseExtendedProps) {\n __assign(res, def.extendedProps);\n }\n else {\n res.extendedProps = def.extendedProps;\n }\n }\n return res;\n };\n EventApi.prototype.toJSON = function () {\n return this.toPlainObject();\n };\n return EventApi;\n}());\nfunction eventApiToStore(eventApi) {\n var _a, _b;\n var def = eventApi._def;\n var instance = eventApi._instance;\n return {\n defs: (_a = {}, _a[def.defId] = def, _a),\n instances: instance\n ? (_b = {}, _b[instance.instanceId] = instance, _b) : {},\n };\n}\nfunction buildEventApis(eventStore, context, excludeInstance) {\n var defs = eventStore.defs, instances = eventStore.instances;\n var eventApis = [];\n var excludeInstanceId = excludeInstance ? excludeInstance.instanceId : '';\n for (var id in instances) {\n var instance = instances[id];\n var def = defs[instance.defId];\n if (instance.instanceId !== excludeInstanceId) {\n eventApis.push(new EventApi(context, def, instance));\n }\n }\n return eventApis;\n}\n\nvar calendarSystemClassMap = {};\nfunction registerCalendarSystem(name, theClass) {\n calendarSystemClassMap[name] = theClass;\n}\nfunction createCalendarSystem(name) {\n return new calendarSystemClassMap[name]();\n}\nvar GregorianCalendarSystem = /** @class */ (function () {\n function GregorianCalendarSystem() {\n }\n GregorianCalendarSystem.prototype.getMarkerYear = function (d) {\n return d.getUTCFullYear();\n };\n GregorianCalendarSystem.prototype.getMarkerMonth = function (d) {\n return d.getUTCMonth();\n };\n GregorianCalendarSystem.prototype.getMarkerDay = function (d) {\n return d.getUTCDate();\n };\n GregorianCalendarSystem.prototype.arrayToMarker = function (arr) {\n return arrayToUtcDate(arr);\n };\n GregorianCalendarSystem.prototype.markerToArray = function (marker) {\n return dateToUtcArray(marker);\n };\n return GregorianCalendarSystem;\n}());\nregisterCalendarSystem('gregory', GregorianCalendarSystem);\n\nvar ISO_RE = /^\\s*(\\d{4})(-?(\\d{2})(-?(\\d{2})([T ](\\d{2}):?(\\d{2})(:?(\\d{2})(\\.(\\d+))?)?(Z|(([-+])(\\d{2})(:?(\\d{2}))?))?)?)?)?$/;\nfunction parse(str) {\n var m = ISO_RE.exec(str);\n if (m) {\n var marker = new Date(Date.UTC(Number(m[1]), m[3] ? Number(m[3]) - 1 : 0, Number(m[5] || 1), Number(m[7] || 0), Number(m[8] || 0), Number(m[10] || 0), m[12] ? Number(\"0.\" + m[12]) * 1000 : 0));\n if (isValidDate(marker)) {\n var timeZoneOffset = null;\n if (m[13]) {\n timeZoneOffset = (m[15] === '-' ? -1 : 1) * (Number(m[16] || 0) * 60 +\n Number(m[18] || 0));\n }\n return {\n marker: marker,\n isTimeUnspecified: !m[6],\n timeZoneOffset: timeZoneOffset,\n };\n }\n }\n return null;\n}\n\nvar DateEnv = /** @class */ (function () {\n function DateEnv(settings) {\n var timeZone = this.timeZone = settings.timeZone;\n var isNamedTimeZone = timeZone !== 'local' && timeZone !== 'UTC';\n if (settings.namedTimeZoneImpl && isNamedTimeZone) {\n this.namedTimeZoneImpl = new settings.namedTimeZoneImpl(timeZone);\n }\n this.canComputeOffset = Boolean(!isNamedTimeZone || this.namedTimeZoneImpl);\n this.calendarSystem = createCalendarSystem(settings.calendarSystem);\n this.locale = settings.locale;\n this.weekDow = settings.locale.week.dow;\n this.weekDoy = settings.locale.week.doy;\n if (settings.weekNumberCalculation === 'ISO') {\n this.weekDow = 1;\n this.weekDoy = 4;\n }\n if (typeof settings.firstDay === 'number') {\n this.weekDow = settings.firstDay;\n }\n if (typeof settings.weekNumberCalculation === 'function') {\n this.weekNumberFunc = settings.weekNumberCalculation;\n }\n this.weekText = settings.weekText != null ? settings.weekText : settings.locale.options.weekText;\n this.weekTextLong = (settings.weekTextLong != null ? settings.weekTextLong : settings.locale.options.weekTextLong) || this.weekText;\n this.cmdFormatter = settings.cmdFormatter;\n this.defaultSeparator = settings.defaultSeparator;\n }\n // Creating / Parsing\n DateEnv.prototype.createMarker = function (input) {\n var meta = this.createMarkerMeta(input);\n if (meta === null) {\n return null;\n }\n return meta.marker;\n };\n DateEnv.prototype.createNowMarker = function () {\n if (this.canComputeOffset) {\n return this.timestampToMarker(new Date().valueOf());\n }\n // if we can't compute the current date val for a timezone,\n // better to give the current local date vals than UTC\n return arrayToUtcDate(dateToLocalArray(new Date()));\n };\n DateEnv.prototype.createMarkerMeta = function (input) {\n if (typeof input === 'string') {\n return this.parse(input);\n }\n var marker = null;\n if (typeof input === 'number') {\n marker = this.timestampToMarker(input);\n }\n else if (input instanceof Date) {\n input = input.valueOf();\n if (!isNaN(input)) {\n marker = this.timestampToMarker(input);\n }\n }\n else if (Array.isArray(input)) {\n marker = arrayToUtcDate(input);\n }\n if (marker === null || !isValidDate(marker)) {\n return null;\n }\n return { marker: marker, isTimeUnspecified: false, forcedTzo: null };\n };\n DateEnv.prototype.parse = function (s) {\n var parts = parse(s);\n if (parts === null) {\n return null;\n }\n var marker = parts.marker;\n var forcedTzo = null;\n if (parts.timeZoneOffset !== null) {\n if (this.canComputeOffset) {\n marker = this.timestampToMarker(marker.valueOf() - parts.timeZoneOffset * 60 * 1000);\n }\n else {\n forcedTzo = parts.timeZoneOffset;\n }\n }\n return { marker: marker, isTimeUnspecified: parts.isTimeUnspecified, forcedTzo: forcedTzo };\n };\n // Accessors\n DateEnv.prototype.getYear = function (marker) {\n return this.calendarSystem.getMarkerYear(marker);\n };\n DateEnv.prototype.getMonth = function (marker) {\n return this.calendarSystem.getMarkerMonth(marker);\n };\n // Adding / Subtracting\n DateEnv.prototype.add = function (marker, dur) {\n var a = this.calendarSystem.markerToArray(marker);\n a[0] += dur.years;\n a[1] += dur.months;\n a[2] += dur.days;\n a[6] += dur.milliseconds;\n return this.calendarSystem.arrayToMarker(a);\n };\n DateEnv.prototype.subtract = function (marker, dur) {\n var a = this.calendarSystem.markerToArray(marker);\n a[0] -= dur.years;\n a[1] -= dur.months;\n a[2] -= dur.days;\n a[6] -= dur.milliseconds;\n return this.calendarSystem.arrayToMarker(a);\n };\n DateEnv.prototype.addYears = function (marker, n) {\n var a = this.calendarSystem.markerToArray(marker);\n a[0] += n;\n return this.calendarSystem.arrayToMarker(a);\n };\n DateEnv.prototype.addMonths = function (marker, n) {\n var a = this.calendarSystem.markerToArray(marker);\n a[1] += n;\n return this.calendarSystem.arrayToMarker(a);\n };\n // Diffing Whole Units\n DateEnv.prototype.diffWholeYears = function (m0, m1) {\n var calendarSystem = this.calendarSystem;\n if (timeAsMs(m0) === timeAsMs(m1) &&\n calendarSystem.getMarkerDay(m0) === calendarSystem.getMarkerDay(m1) &&\n calendarSystem.getMarkerMonth(m0) === calendarSystem.getMarkerMonth(m1)) {\n return calendarSystem.getMarkerYear(m1) - calendarSystem.getMarkerYear(m0);\n }\n return null;\n };\n DateEnv.prototype.diffWholeMonths = function (m0, m1) {\n var calendarSystem = this.calendarSystem;\n if (timeAsMs(m0) === timeAsMs(m1) &&\n calendarSystem.getMarkerDay(m0) === calendarSystem.getMarkerDay(m1)) {\n return (calendarSystem.getMarkerMonth(m1) - calendarSystem.getMarkerMonth(m0)) +\n (calendarSystem.getMarkerYear(m1) - calendarSystem.getMarkerYear(m0)) * 12;\n }\n return null;\n };\n // Range / Duration\n DateEnv.prototype.greatestWholeUnit = function (m0, m1) {\n var n = this.diffWholeYears(m0, m1);\n if (n !== null) {\n return { unit: 'year', value: n };\n }\n n = this.diffWholeMonths(m0, m1);\n if (n !== null) {\n return { unit: 'month', value: n };\n }\n n = diffWholeWeeks(m0, m1);\n if (n !== null) {\n return { unit: 'week', value: n };\n }\n n = diffWholeDays(m0, m1);\n if (n !== null) {\n return { unit: 'day', value: n };\n }\n n = diffHours(m0, m1);\n if (isInt(n)) {\n return { unit: 'hour', value: n };\n }\n n = diffMinutes(m0, m1);\n if (isInt(n)) {\n return { unit: 'minute', value: n };\n }\n n = diffSeconds(m0, m1);\n if (isInt(n)) {\n return { unit: 'second', value: n };\n }\n return { unit: 'millisecond', value: m1.valueOf() - m0.valueOf() };\n };\n DateEnv.prototype.countDurationsBetween = function (m0, m1, d) {\n // TODO: can use greatestWholeUnit\n var diff;\n if (d.years) {\n diff = this.diffWholeYears(m0, m1);\n if (diff !== null) {\n return diff / asRoughYears(d);\n }\n }\n if (d.months) {\n diff = this.diffWholeMonths(m0, m1);\n if (diff !== null) {\n return diff / asRoughMonths(d);\n }\n }\n if (d.days) {\n diff = diffWholeDays(m0, m1);\n if (diff !== null) {\n return diff / asRoughDays(d);\n }\n }\n return (m1.valueOf() - m0.valueOf()) / asRoughMs(d);\n };\n // Start-Of\n // these DON'T return zoned-dates. only UTC start-of dates\n DateEnv.prototype.startOf = function (m, unit) {\n if (unit === 'year') {\n return this.startOfYear(m);\n }\n if (unit === 'month') {\n return this.startOfMonth(m);\n }\n if (unit === 'week') {\n return this.startOfWeek(m);\n }\n if (unit === 'day') {\n return startOfDay(m);\n }\n if (unit === 'hour') {\n return startOfHour(m);\n }\n if (unit === 'minute') {\n return startOfMinute(m);\n }\n if (unit === 'second') {\n return startOfSecond(m);\n }\n return null;\n };\n DateEnv.prototype.startOfYear = function (m) {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n ]);\n };\n DateEnv.prototype.startOfMonth = function (m) {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n this.calendarSystem.getMarkerMonth(m),\n ]);\n };\n DateEnv.prototype.startOfWeek = function (m) {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n this.calendarSystem.getMarkerMonth(m),\n m.getUTCDate() - ((m.getUTCDay() - this.weekDow + 7) % 7),\n ]);\n };\n // Week Number\n DateEnv.prototype.computeWeekNumber = function (marker) {\n if (this.weekNumberFunc) {\n return this.weekNumberFunc(this.toDate(marker));\n }\n return weekOfYear(marker, this.weekDow, this.weekDoy);\n };\n // TODO: choke on timeZoneName: long\n DateEnv.prototype.format = function (marker, formatter, dateOptions) {\n if (dateOptions === void 0) { dateOptions = {}; }\n return formatter.format({\n marker: marker,\n timeZoneOffset: dateOptions.forcedTzo != null ?\n dateOptions.forcedTzo :\n this.offsetForMarker(marker),\n }, this);\n };\n DateEnv.prototype.formatRange = function (start, end, formatter, dateOptions) {\n if (dateOptions === void 0) { dateOptions = {}; }\n if (dateOptions.isEndExclusive) {\n end = addMs(end, -1);\n }\n return formatter.formatRange({\n marker: start,\n timeZoneOffset: dateOptions.forcedStartTzo != null ?\n dateOptions.forcedStartTzo :\n this.offsetForMarker(start),\n }, {\n marker: end,\n timeZoneOffset: dateOptions.forcedEndTzo != null ?\n dateOptions.forcedEndTzo :\n this.offsetForMarker(end),\n }, this, dateOptions.defaultSeparator);\n };\n /*\n DUMB: the omitTime arg is dumb. if we omit the time, we want to omit the timezone offset. and if we do that,\n might as well use buildIsoString or some other util directly\n */\n DateEnv.prototype.formatIso = function (marker, extraOptions) {\n if (extraOptions === void 0) { extraOptions = {}; }\n var timeZoneOffset = null;\n if (!extraOptions.omitTimeZoneOffset) {\n if (extraOptions.forcedTzo != null) {\n timeZoneOffset = extraOptions.forcedTzo;\n }\n else {\n timeZoneOffset = this.offsetForMarker(marker);\n }\n }\n return buildIsoString(marker, timeZoneOffset, extraOptions.omitTime);\n };\n // TimeZone\n DateEnv.prototype.timestampToMarker = function (ms) {\n if (this.timeZone === 'local') {\n return arrayToUtcDate(dateToLocalArray(new Date(ms)));\n }\n if (this.timeZone === 'UTC' || !this.namedTimeZoneImpl) {\n return new Date(ms);\n }\n return arrayToUtcDate(this.namedTimeZoneImpl.timestampToArray(ms));\n };\n DateEnv.prototype.offsetForMarker = function (m) {\n if (this.timeZone === 'local') {\n return -arrayToLocalDate(dateToUtcArray(m)).getTimezoneOffset(); // convert \"inverse\" offset to \"normal\" offset\n }\n if (this.timeZone === 'UTC') {\n return 0;\n }\n if (this.namedTimeZoneImpl) {\n return this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(m));\n }\n return null;\n };\n // Conversion\n DateEnv.prototype.toDate = function (m, forcedTzo) {\n if (this.timeZone === 'local') {\n return arrayToLocalDate(dateToUtcArray(m));\n }\n if (this.timeZone === 'UTC') {\n return new Date(m.valueOf()); // make sure it's a copy\n }\n if (!this.namedTimeZoneImpl) {\n return new Date(m.valueOf() - (forcedTzo || 0));\n }\n return new Date(m.valueOf() -\n this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(m)) * 1000 * 60);\n };\n return DateEnv;\n}());\n\nvar globalLocales = [];\n\nvar MINIMAL_RAW_EN_LOCALE = {\n code: 'en',\n week: {\n dow: 0,\n doy: 4, // 4 days need to be within the year to be considered the first week\n },\n direction: 'ltr',\n buttonText: {\n prev: 'prev',\n next: 'next',\n prevYear: 'prev year',\n nextYear: 'next year',\n year: 'year',\n today: 'today',\n month: 'month',\n week: 'week',\n day: 'day',\n list: 'list',\n },\n weekText: 'W',\n weekTextLong: 'Week',\n closeHint: 'Close',\n timeHint: 'Time',\n eventHint: 'Event',\n allDayText: 'all-day',\n moreLinkText: 'more',\n noEventsText: 'No events to display',\n};\nvar RAW_EN_LOCALE = __assign(__assign({}, MINIMAL_RAW_EN_LOCALE), { \n // Includes things we don't want other locales to inherit,\n // things that derive from other translatable strings.\n buttonHints: {\n prev: 'Previous $0',\n next: 'Next $0',\n today: function (buttonText, unit) {\n return (unit === 'day')\n ? 'Today'\n : \"This \" + buttonText;\n },\n }, viewHint: '$0 view', navLinkHint: 'Go to $0', moreLinkHint: function (eventCnt) {\n return \"Show \" + eventCnt + \" more event\" + (eventCnt === 1 ? '' : 's');\n } });\nfunction organizeRawLocales(explicitRawLocales) {\n var defaultCode = explicitRawLocales.length > 0 ? explicitRawLocales[0].code : 'en';\n var allRawLocales = globalLocales.concat(explicitRawLocales);\n var rawLocaleMap = {\n en: RAW_EN_LOCALE,\n };\n for (var _i = 0, allRawLocales_1 = allRawLocales; _i < allRawLocales_1.length; _i++) {\n var rawLocale = allRawLocales_1[_i];\n rawLocaleMap[rawLocale.code] = rawLocale;\n }\n return {\n map: rawLocaleMap,\n defaultCode: defaultCode,\n };\n}\nfunction buildLocale(inputSingular, available) {\n if (typeof inputSingular === 'object' && !Array.isArray(inputSingular)) {\n return parseLocale(inputSingular.code, [inputSingular.code], inputSingular);\n }\n return queryLocale(inputSingular, available);\n}\nfunction queryLocale(codeArg, available) {\n var codes = [].concat(codeArg || []); // will convert to array\n var raw = queryRawLocale(codes, available) || RAW_EN_LOCALE;\n return parseLocale(codeArg, codes, raw);\n}\nfunction queryRawLocale(codes, available) {\n for (var i = 0; i < codes.length; i += 1) {\n var parts = codes[i].toLocaleLowerCase().split('-');\n for (var j = parts.length; j > 0; j -= 1) {\n var simpleId = parts.slice(0, j).join('-');\n if (available[simpleId]) {\n return available[simpleId];\n }\n }\n }\n return null;\n}\nfunction parseLocale(codeArg, codes, raw) {\n var merged = mergeProps([MINIMAL_RAW_EN_LOCALE, raw], ['buttonText']);\n delete merged.code; // don't want this part of the options\n var week = merged.week;\n delete merged.week;\n return {\n codeArg: codeArg,\n codes: codes,\n week: week,\n simpleNumberFormat: new Intl.NumberFormat(codeArg),\n options: merged,\n };\n}\n\nfunction formatDate(dateInput, options) {\n if (options === void 0) { options = {}; }\n var dateEnv = buildDateEnv$1(options);\n var formatter = createFormatter(options);\n var dateMeta = dateEnv.createMarkerMeta(dateInput);\n if (!dateMeta) { // TODO: warning?\n return '';\n }\n return dateEnv.format(dateMeta.marker, formatter, {\n forcedTzo: dateMeta.forcedTzo,\n });\n}\nfunction formatRange(startInput, endInput, options) {\n var dateEnv = buildDateEnv$1(typeof options === 'object' && options ? options : {}); // pass in if non-null object\n var formatter = createFormatter(options);\n var startMeta = dateEnv.createMarkerMeta(startInput);\n var endMeta = dateEnv.createMarkerMeta(endInput);\n if (!startMeta || !endMeta) { // TODO: warning?\n return '';\n }\n return dateEnv.formatRange(startMeta.marker, endMeta.marker, formatter, {\n forcedStartTzo: startMeta.forcedTzo,\n forcedEndTzo: endMeta.forcedTzo,\n isEndExclusive: options.isEndExclusive,\n defaultSeparator: BASE_OPTION_DEFAULTS.defaultRangeSeparator,\n });\n}\n// TODO: more DRY and optimized\nfunction buildDateEnv$1(settings) {\n var locale = buildLocale(settings.locale || 'en', organizeRawLocales([]).map); // TODO: don't hardcode 'en' everywhere\n return new DateEnv(__assign(__assign({ timeZone: BASE_OPTION_DEFAULTS.timeZone, calendarSystem: 'gregory' }, settings), { locale: locale }));\n}\n\nvar DEF_DEFAULTS = {\n startTime: '09:00',\n endTime: '17:00',\n daysOfWeek: [1, 2, 3, 4, 5],\n display: 'inverse-background',\n classNames: 'fc-non-business',\n groupId: '_businessHours', // so multiple defs get grouped\n};\n/*\nTODO: pass around as EventDefHash!!!\n*/\nfunction parseBusinessHours(input, context) {\n return parseEvents(refineInputs(input), null, context);\n}\nfunction refineInputs(input) {\n var rawDefs;\n if (input === true) {\n rawDefs = [{}]; // will get DEF_DEFAULTS verbatim\n }\n else if (Array.isArray(input)) {\n // if specifying an array, every sub-definition NEEDS a day-of-week\n rawDefs = input.filter(function (rawDef) { return rawDef.daysOfWeek; });\n }\n else if (typeof input === 'object' && input) { // non-null object\n rawDefs = [input];\n }\n else { // is probably false\n rawDefs = [];\n }\n rawDefs = rawDefs.map(function (rawDef) { return (__assign(__assign({}, DEF_DEFAULTS), rawDef)); });\n return rawDefs;\n}\n\nfunction pointInsideRect(point, rect) {\n return point.left >= rect.left &&\n point.left < rect.right &&\n point.top >= rect.top &&\n point.top < rect.bottom;\n}\n// Returns a new rectangle that is the intersection of the two rectangles. If they don't intersect, returns false\nfunction intersectRects(rect1, rect2) {\n var res = {\n left: Math.max(rect1.left, rect2.left),\n right: Math.min(rect1.right, rect2.right),\n top: Math.max(rect1.top, rect2.top),\n bottom: Math.min(rect1.bottom, rect2.bottom),\n };\n if (res.left < res.right && res.top < res.bottom) {\n return res;\n }\n return false;\n}\nfunction translateRect(rect, deltaX, deltaY) {\n return {\n left: rect.left + deltaX,\n right: rect.right + deltaX,\n top: rect.top + deltaY,\n bottom: rect.bottom + deltaY,\n };\n}\n// Returns a new point that will have been moved to reside within the given rectangle\nfunction constrainPoint(point, rect) {\n return {\n left: Math.min(Math.max(point.left, rect.left), rect.right),\n top: Math.min(Math.max(point.top, rect.top), rect.bottom),\n };\n}\n// Returns a point that is the center of the given rectangle\nfunction getRectCenter(rect) {\n return {\n left: (rect.left + rect.right) / 2,\n top: (rect.top + rect.bottom) / 2,\n };\n}\n// Subtracts point2's coordinates from point1's coordinates, returning a delta\nfunction diffPoints(point1, point2) {\n return {\n left: point1.left - point2.left,\n top: point1.top - point2.top,\n };\n}\n\nvar canVGrowWithinCell;\nfunction getCanVGrowWithinCell() {\n if (canVGrowWithinCell == null) {\n canVGrowWithinCell = computeCanVGrowWithinCell();\n }\n return canVGrowWithinCell;\n}\nfunction computeCanVGrowWithinCell() {\n // for SSR, because this function is call immediately at top-level\n // TODO: just make this logic execute top-level, immediately, instead of doing lazily\n if (typeof document === 'undefined') {\n return true;\n }\n var el = document.createElement('div');\n el.style.position = 'absolute';\n el.style.top = '0px';\n el.style.left = '0px';\n el.innerHTML = '
/ | elements with colspans.\n SOLUTION: making individual | \n _this.frameElRefs = new RefMap(); // the fc-daygrid-day-frame\n _this.fgElRefs = new RefMap(); // the fc-daygrid-day-events\n _this.segHarnessRefs = new RefMap(); // indexed by \"instanceId:firstCol\"\n _this.rootElRef = createRef();\n _this.state = {\n framePositions: null,\n maxContentHeight: null,\n eventInstanceHeights: {},\n };\n return _this;\n }\n TableRow.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var options = context.options;\n var colCnt = props.cells.length;\n var businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt);\n var bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt);\n var highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt);\n var mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt);\n var _b = computeFgSegPlacement(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.eventInstanceHeights, state.maxContentHeight, props.cells), singleColPlacements = _b.singleColPlacements, multiColPlacements = _b.multiColPlacements, moreCnts = _b.moreCnts, moreMarginTops = _b.moreMarginTops;\n var isForcedInvisible = // TODO: messy way to compute this\n (props.eventDrag && props.eventDrag.affectedInstances) ||\n (props.eventResize && props.eventResize.affectedInstances) ||\n {};\n return (createElement(\"tr\", { ref: this.rootElRef, role: \"row\" },\n props.renderIntro && props.renderIntro(),\n props.cells.map(function (cell, col) {\n var normalFgNodes = _this.renderFgSegs(col, props.forPrint ? singleColPlacements[col] : multiColPlacements[col], props.todayRange, isForcedInvisible);\n var mirrorFgNodes = _this.renderFgSegs(col, buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);\n return (createElement(TableCell, { key: cell.key, elRef: _this.cellElRefs.createRef(cell.key), innerElRef: _this.frameElRefs.createRef(cell.key) /* FF | problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraHookProps: cell.extraHookProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: _this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys\n createElement(Fragment, null,\n createElement(Fragment, null, normalFgNodes),\n createElement(Fragment, null, mirrorFgNodes))), bgContent: ( // Fragment scopes the keys\n createElement(Fragment, null,\n _this.renderFillSegs(highlightSegsByCol[col], 'highlight'),\n _this.renderFillSegs(businessHoursByCol[col], 'non-business'),\n _this.renderFillSegs(bgEventSegsByCol[col], 'bg-event'))) }));\n })));\n };\n TableRow.prototype.componentDidMount = function () {\n this.updateSizing(true);\n };\n TableRow.prototype.componentDidUpdate = function (prevProps, prevState) {\n var currentProps = this.props;\n this.updateSizing(!isPropsEqual(prevProps, currentProps));\n };\n TableRow.prototype.getHighlightSegs = function () {\n var props = this.props;\n if (props.eventDrag && props.eventDrag.segs.length) { // messy check\n return props.eventDrag.segs;\n }\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs;\n }\n return props.dateSelectionSegs;\n };\n TableRow.prototype.getMirrorSegs = function () {\n var props = this.props;\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs;\n }\n return [];\n };\n TableRow.prototype.renderFgSegs = function (col, segPlacements, todayRange, isForcedInvisible, isDragging, isResizing, isDateSelecting) {\n var context = this.context;\n var eventSelection = this.props.eventSelection;\n var framePositions = this.state.framePositions;\n var defaultDisplayEventEnd = this.props.cells.length === 1; // colCnt === 1\n var isMirror = isDragging || isResizing || isDateSelecting;\n var nodes = [];\n if (framePositions) {\n for (var _i = 0, segPlacements_1 = segPlacements; _i < segPlacements_1.length; _i++) {\n var placement = segPlacements_1[_i];\n var seg = placement.seg;\n var instanceId = seg.eventRange.instance.instanceId;\n var key = instanceId + ':' + col;\n var isVisible = placement.isVisible && !isForcedInvisible[instanceId];\n var isAbsolute = placement.isAbsolute;\n var left = '';\n var right = '';\n if (isAbsolute) {\n if (context.isRtl) {\n right = 0;\n left = framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol];\n }\n else {\n left = 0;\n right = framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol];\n }\n }\n /*\n known bug: events that are force to be list-item but span multiple days still take up space in later columns\n todo: in print view, for multi-day events, don't display title within non-start/end segs\n */\n nodes.push(createElement(\"div\", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: key, ref: isMirror ? null : this.segHarnessRefs.createRef(key), style: {\n visibility: isVisible ? '' : 'hidden',\n marginTop: isAbsolute ? '' : placement.marginTop,\n top: isAbsolute ? placement.absoluteTop : '',\n left: left,\n right: right,\n } }, hasListItemDisplay(seg) ? (createElement(TableListItemEvent, __assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (createElement(TableBlockEvent, __assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));\n }\n }\n return nodes;\n };\n TableRow.prototype.renderFillSegs = function (segs, fillType) {\n var isRtl = this.context.isRtl;\n var todayRange = this.props.todayRange;\n var framePositions = this.state.framePositions;\n var nodes = [];\n if (framePositions) {\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n var leftRightCss = isRtl ? {\n right: 0,\n left: framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol],\n } : {\n left: 0,\n right: framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol],\n };\n nodes.push(createElement(\"div\", { key: buildEventRangeKey(seg.eventRange), className: \"fc-daygrid-bg-harness\", style: leftRightCss }, fillType === 'bg-event' ?\n createElement(BgEvent, __assign({ seg: seg }, getSegMeta(seg, todayRange))) :\n renderFill(fillType)));\n }\n }\n return createElement.apply(void 0, __spreadArray([Fragment, {}], nodes));\n };\n TableRow.prototype.updateSizing = function (isExternalSizingChange) {\n var _a = this, props = _a.props, frameElRefs = _a.frameElRefs;\n if (!props.forPrint &&\n props.clientWidth !== null // positioning ready?\n ) {\n if (isExternalSizingChange) {\n var frameEls = props.cells.map(function (cell) { return frameElRefs.currentMap[cell.key]; });\n if (frameEls.length) {\n var originEl = this.rootElRef.current;\n this.setState({\n framePositions: new PositionCache(originEl, frameEls, true, // isHorizontal\n false),\n });\n }\n }\n var oldInstanceHeights = this.state.eventInstanceHeights;\n var newInstanceHeights = this.queryEventInstanceHeights();\n var limitByContentHeight = props.dayMaxEvents === true || props.dayMaxEventRows === true;\n this.safeSetState({\n // HACK to prevent oscillations of events being shown/hidden from max-event-rows\n // Essentially, once you compute an element's height, never null-out.\n // TODO: always display all events, as visibility:hidden?\n eventInstanceHeights: __assign(__assign({}, oldInstanceHeights), newInstanceHeights),\n maxContentHeight: limitByContentHeight ? this.computeMaxContentHeight() : null,\n });\n }\n };\n TableRow.prototype.queryEventInstanceHeights = function () {\n var segElMap = this.segHarnessRefs.currentMap;\n var eventInstanceHeights = {};\n // get the max height amongst instance segs\n for (var key in segElMap) {\n var height = Math.round(segElMap[key].getBoundingClientRect().height);\n var instanceId = key.split(':')[0]; // deconstruct how renderFgSegs makes the key\n eventInstanceHeights[instanceId] = Math.max(eventInstanceHeights[instanceId] || 0, height);\n }\n return eventInstanceHeights;\n };\n TableRow.prototype.computeMaxContentHeight = function () {\n var firstKey = this.props.cells[0].key;\n var cellEl = this.cellElRefs.currentMap[firstKey];\n var fcContainerEl = this.fgElRefs.currentMap[firstKey];\n return cellEl.getBoundingClientRect().bottom - fcContainerEl.getBoundingClientRect().top;\n };\n TableRow.prototype.getCellEls = function () {\n var elMap = this.cellElRefs.currentMap;\n return this.props.cells.map(function (cell) { return elMap[cell.key]; });\n };\n return TableRow;\n}(DateComponent));\nTableRow.addStateEquality({\n eventInstanceHeights: isPropsEqual,\n});\nfunction buildMirrorPlacements(mirrorSegs, colPlacements) {\n if (!mirrorSegs.length) {\n return [];\n }\n var topsByInstanceId = buildAbsoluteTopHash(colPlacements); // TODO: cache this at first render?\n return mirrorSegs.map(function (seg) { return ({\n seg: seg,\n isVisible: true,\n isAbsolute: true,\n absoluteTop: topsByInstanceId[seg.eventRange.instance.instanceId],\n marginTop: 0,\n }); });\n}\nfunction buildAbsoluteTopHash(colPlacements) {\n var topsByInstanceId = {};\n for (var _i = 0, colPlacements_1 = colPlacements; _i < colPlacements_1.length; _i++) {\n var placements = colPlacements_1[_i];\n for (var _a = 0, placements_1 = placements; _a < placements_1.length; _a++) {\n var placement = placements_1[_a];\n topsByInstanceId[placement.seg.eventRange.instance.instanceId] = placement.absoluteTop;\n }\n }\n return topsByInstanceId;\n}\n\nvar Table = /** @class */ (function (_super) {\n __extends(Table, _super);\n function Table() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.splitBusinessHourSegs = memoize(splitSegsByRow);\n _this.splitBgEventSegs = memoize(splitSegsByRow);\n _this.splitFgEventSegs = memoize(splitSegsByRow);\n _this.splitDateSelectionSegs = memoize(splitSegsByRow);\n _this.splitEventDrag = memoize(splitInteractionByRow);\n _this.splitEventResize = memoize(splitInteractionByRow);\n _this.rowRefs = new RefMap();\n _this.handleRootEl = function (rootEl) {\n _this.rootEl = rootEl;\n if (rootEl) {\n _this.context.registerInteractiveComponent(_this, {\n el: rootEl,\n isHitComboAllowed: _this.props.isHitComboAllowed,\n });\n }\n else {\n _this.context.unregisterInteractiveComponent(_this);\n }\n };\n return _this;\n }\n Table.prototype.render = function () {\n var _this = this;\n var props = this.props;\n var dateProfile = props.dateProfile, dayMaxEventRows = props.dayMaxEventRows, dayMaxEvents = props.dayMaxEvents, expandRows = props.expandRows;\n var rowCnt = props.cells.length;\n var businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCnt);\n var bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCnt);\n var fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCnt);\n var dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, rowCnt);\n var eventDragByRow = this.splitEventDrag(props.eventDrag, rowCnt);\n var eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt);\n var limitViaBalanced = dayMaxEvents === true || dayMaxEventRows === true;\n // if rows can't expand to fill fixed height, can't do balanced-height event limit\n // TODO: best place to normalize these options?\n if (limitViaBalanced && !expandRows) {\n limitViaBalanced = false;\n dayMaxEventRows = null;\n dayMaxEvents = null;\n }\n var classNames = [\n 'fc-daygrid-body',\n limitViaBalanced ? 'fc-daygrid-body-balanced' : 'fc-daygrid-body-unbalanced',\n expandRows ? '' : 'fc-daygrid-body-natural', // will height of one row depend on the others?\n ];\n return (createElement(\"div\", { className: classNames.join(' '), ref: this.handleRootEl, style: {\n // these props are important to give this wrapper correct dimensions for interactions\n // TODO: if we set it here, can we avoid giving to inner tables?\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n } },\n createElement(NowTimer, { unit: \"day\" }, function (nowDate, todayRange) { return (createElement(Fragment, null,\n createElement(\"table\", { role: \"presentation\", className: \"fc-scrollgrid-sync-table\", style: {\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n height: expandRows ? props.clientHeight : '',\n } },\n props.colGroupNode,\n createElement(\"tbody\", { role: \"presentation\" }, props.cells.map(function (cells, row) { return (createElement(TableRow, { ref: _this.rowRefs.createRef(row), key: cells.length\n ? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */\n : row // in case there are no cells (like when resource view is loading)\n , showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })); }))))); })));\n };\n // Hit System\n // ----------------------------------------------------------------------------------------------------\n Table.prototype.prepareHits = function () {\n this.rowPositions = new PositionCache(this.rootEl, this.rowRefs.collect().map(function (rowObj) { return rowObj.getCellEls()[0]; }), // first cell el in each row. TODO: not optimal\n false, true);\n this.colPositions = new PositionCache(this.rootEl, this.rowRefs.currentMap[0].getCellEls(), // cell els in first row\n true, // horizontal\n false);\n };\n Table.prototype.queryHit = function (positionLeft, positionTop) {\n var _a = this, colPositions = _a.colPositions, rowPositions = _a.rowPositions;\n var col = colPositions.leftToIndex(positionLeft);\n var row = rowPositions.topToIndex(positionTop);\n if (row != null && col != null) {\n var cell = this.props.cells[row][col];\n return {\n dateProfile: this.props.dateProfile,\n dateSpan: __assign({ range: this.getCellRange(row, col), allDay: true }, cell.extraDateSpan),\n dayEl: this.getCellEl(row, col),\n rect: {\n left: colPositions.lefts[col],\n right: colPositions.rights[col],\n top: rowPositions.tops[row],\n bottom: rowPositions.bottoms[row],\n },\n layer: 0,\n };\n }\n return null;\n };\n Table.prototype.getCellEl = function (row, col) {\n return this.rowRefs.currentMap[row].getCellEls()[col]; // TODO: not optimal\n };\n Table.prototype.getCellRange = function (row, col) {\n var start = this.props.cells[row][col].date;\n var end = addDays(start, 1);\n return { start: start, end: end };\n };\n return Table;\n}(DateComponent));\nfunction isSegAllDay(seg) {\n return seg.eventRange.def.allDay;\n}\n\nvar DayTableSlicer = /** @class */ (function (_super) {\n __extends(DayTableSlicer, _super);\n function DayTableSlicer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.forceDayIfListItem = true;\n return _this;\n }\n DayTableSlicer.prototype.sliceRange = function (dateRange, dayTableModel) {\n return dayTableModel.sliceRange(dateRange);\n };\n return DayTableSlicer;\n}(Slicer));\n\nvar DayTable = /** @class */ (function (_super) {\n __extends(DayTable, _super);\n function DayTable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.slicer = new DayTableSlicer();\n _this.tableRef = createRef();\n return _this;\n }\n DayTable.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n return (createElement(Table, __assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));\n };\n return DayTable;\n}(DateComponent));\n\nvar DayTableView = /** @class */ (function (_super) {\n __extends(DayTableView, _super);\n function DayTableView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildDayTableModel = memoize(buildDayTableModel);\n _this.headerRef = createRef();\n _this.tableRef = createRef();\n return _this;\n }\n DayTableView.prototype.render = function () {\n var _this = this;\n var _a = this.context, options = _a.options, dateProfileGenerator = _a.dateProfileGenerator;\n var props = this.props;\n var dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator);\n var headerContent = options.dayHeaders && (createElement(DayHeader, { ref: this.headerRef, dateProfile: props.dateProfile, dates: dayTableModel.headerDates, datesRepDistinctDays: dayTableModel.rowCnt === 1 }));\n var bodyContent = function (contentArg) { return (createElement(DayTable, { ref: _this.tableRef, dateProfile: props.dateProfile, dayTableModel: dayTableModel, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, nextDayThreshold: options.nextDayThreshold, colGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, dayMaxEvents: options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows, showWeekNumbers: options.weekNumbers, expandRows: !props.isHeightAuto, headerAlignElRef: _this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint })); };\n return options.dayMinWidth\n ? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth)\n : this.renderSimpleLayout(headerContent, bodyContent);\n };\n return DayTableView;\n}(TableView));\nfunction buildDayTableModel(dateProfile, dateProfileGenerator) {\n var daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator);\n return new DayTableModel(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));\n}\n\nvar TableDateProfileGenerator = /** @class */ (function (_super) {\n __extends(TableDateProfileGenerator, _super);\n function TableDateProfileGenerator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // Computes the date range that will be rendered.\n TableDateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {\n var dateEnv = this.props.dateEnv;\n var renderRange = _super.prototype.buildRenderRange.call(this, currentRange, currentRangeUnit, isRangeAllDay);\n var start = renderRange.start;\n var end = renderRange.end;\n var endOfWeek;\n // year and month views should be aligned with weeks. this is already done for week\n if (/^(year|month)$/.test(currentRangeUnit)) {\n start = dateEnv.startOfWeek(start);\n // make end-of-week if not already\n endOfWeek = dateEnv.startOfWeek(end);\n if (endOfWeek.valueOf() !== end.valueOf()) {\n end = addWeeks(endOfWeek, 1);\n }\n }\n // ensure 6 weeks\n if (this.props.monthMode &&\n this.props.fixedWeekCount) {\n var rowCnt = Math.ceil(// could be partial weeks due to hiddenDays\n diffWeeks(start, end));\n end = addWeeks(end, 6 - rowCnt);\n }\n return { start: start, end: end };\n };\n return TableDateProfileGenerator;\n}(DateProfileGenerator));\n\nvar main = createPlugin({\n initialView: 'dayGridMonth',\n views: {\n dayGrid: {\n component: DayTableView,\n dateProfileGeneratorClass: TableDateProfileGenerator,\n },\n dayGridDay: {\n type: 'dayGrid',\n duration: { days: 1 },\n },\n dayGridWeek: {\n type: 'dayGrid',\n duration: { weeks: 1 },\n },\n dayGridMonth: {\n type: 'dayGrid',\n duration: { months: 1 },\n monthMode: true,\n fixedWeekCount: true,\n },\n },\n});\n\nexport default main;\nexport { DayTableView as DayGridView, DayTable, DayTableSlicer, Table, TableView, buildDayTableModel };\n","/*global window */\n/**\n * @license countdown.js v2.6.0 http://countdownjs.org\n * Copyright (c)2006-2014 Stephen M. McKamey.\n * Licensed under The MIT License.\n */\n/*jshint bitwise:false */\n\n/**\n * @public\n * @type {Object|null}\n */\nvar module;\n\n/**\n * API entry\n * @public\n * @param {function(Object)|Date|number} start the starting date\n * @param {function(Object)|Date|number} end the ending date\n * @param {number} units the units to populate\n * @return {Object|number}\n */\nvar countdown = (\n\n/**\n * @param {Object} module CommonJS Module\n */\nfunction(module) {\n\t/*jshint smarttabs:true */\n\n\t'use strict';\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar MILLISECONDS\t= 0x001;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar SECONDS\t\t\t= 0x002;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar MINUTES\t\t\t= 0x004;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar HOURS\t\t\t= 0x008;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar DAYS\t\t\t= 0x010;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar WEEKS\t\t\t= 0x020;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar MONTHS\t\t\t= 0x040;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar YEARS\t\t\t= 0x080;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar DECADES\t\t\t= 0x100;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar CENTURIES\t\t= 0x200;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar MILLENNIA\t\t= 0x400;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar DEFAULTS\t\t= YEARS|MONTHS|DAYS|HOURS|MINUTES|SECONDS;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar MILLISECONDS_PER_SECOND = 1000;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar SECONDS_PER_MINUTE = 60;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar MINUTES_PER_HOUR = 60;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar HOURS_PER_DAY = 24;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar MILLISECONDS_PER_DAY = HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE * MILLISECONDS_PER_SECOND;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar DAYS_PER_WEEK = 7;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar MONTHS_PER_YEAR = 12;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar YEARS_PER_DECADE = 10;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar DECADES_PER_CENTURY = 10;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar CENTURIES_PER_MILLENNIUM = 10;\n\n\t/**\n\t * @private\n\t * @param {number} x number\n\t * @return {number}\n\t */\n\tvar ceil = Math.ceil;\n\n\t/**\n\t * @private\n\t * @param {number} x number\n\t * @return {number}\n\t */\n\tvar floor = Math.floor;\n\n\t/**\n\t * @private\n\t * @param {Date} ref reference date\n\t * @param {number} shift number of months to shift\n\t * @return {number} number of days shifted\n\t */\n\tfunction borrowMonths(ref, shift) {\n\t\tvar prevTime = ref.getTime();\n\n\t\t// increment month by shift\n\t\tref.setMonth( ref.getMonth() + shift );\n\n\t\t// this is the trickiest since months vary in length\n\t\treturn Math.round( (ref.getTime() - prevTime) / MILLISECONDS_PER_DAY );\n\t}\n\n\t/**\n\t * @private\n\t * @param {Date} ref reference date\n\t * @return {number} number of days\n\t */\n\tfunction daysPerMonth(ref) {\n\t\tvar a = ref.getTime();\n\n\t\t// increment month by 1\n\t\tvar b = new Date(a);\n\t\tb.setMonth( ref.getMonth() + 1 );\n\n\t\t// this is the trickiest since months vary in length\n\t\treturn Math.round( (b.getTime() - a) / MILLISECONDS_PER_DAY );\n\t}\n\n\t/**\n\t * @private\n\t * @param {Date} ref reference date\n\t * @return {number} number of days\n\t */\n\tfunction daysPerYear(ref) {\n\t\tvar a = ref.getTime();\n\n\t\t// increment year by 1\n\t\tvar b = new Date(a);\n\t\tb.setFullYear( ref.getFullYear() + 1 );\n\n\t\t// this is the trickiest since years (periodically) vary in length\n\t\treturn Math.round( (b.getTime() - a) / MILLISECONDS_PER_DAY );\n\t}\n\n\t/**\n\t * Applies the Timespan to the given date.\n\t * \n\t * @private\n\t * @param {Timespan} ts\n\t * @param {Date=} date\n\t * @return {Date}\n\t */\n\tfunction addToDate(ts, date) {\n\t\tdate = (date instanceof Date) || ((date !== null) && isFinite(date)) ? new Date(+date) : new Date();\n\t\tif (!ts) {\n\t\t\treturn date;\n\t\t}\n\n\t\t// if there is a value field, use it directly\n\t\tvar value = +ts.value || 0;\n\t\tif (value) {\n\t\t\tdate.setTime(date.getTime() + value);\n\t\t\treturn date;\n\t\t}\n\n\t\tvalue = +ts.milliseconds || 0;\n\t\tif (value) {\n\t\t\tdate.setMilliseconds(date.getMilliseconds() + value);\n\t\t}\n\n\t\tvalue = +ts.seconds || 0;\n\t\tif (value) {\n\t\t\tdate.setSeconds(date.getSeconds() + value);\n\t\t}\n\n\t\tvalue = +ts.minutes || 0;\n\t\tif (value) {\n\t\t\tdate.setMinutes(date.getMinutes() + value);\n\t\t}\n\n\t\tvalue = +ts.hours || 0;\n\t\tif (value) {\n\t\t\tdate.setHours(date.getHours() + value);\n\t\t}\n\n\t\tvalue = +ts.weeks || 0;\n\t\tif (value) {\n\t\t\tvalue *= DAYS_PER_WEEK;\n\t\t}\n\n\t\tvalue += +ts.days || 0;\n\t\tif (value) {\n\t\t\tdate.setDate(date.getDate() + value);\n\t\t}\n\n\t\tvalue = +ts.months || 0;\n\t\tif (value) {\n\t\t\tdate.setMonth(date.getMonth() + value);\n\t\t}\n\n\t\tvalue = +ts.millennia || 0;\n\t\tif (value) {\n\t\t\tvalue *= CENTURIES_PER_MILLENNIUM;\n\t\t}\n\n\t\tvalue += +ts.centuries || 0;\n\t\tif (value) {\n\t\t\tvalue *= DECADES_PER_CENTURY;\n\t\t}\n\n\t\tvalue += +ts.decades || 0;\n\t\tif (value) {\n\t\t\tvalue *= YEARS_PER_DECADE;\n\t\t}\n\n\t\tvalue += +ts.years || 0;\n\t\tif (value) {\n\t\t\tdate.setFullYear(date.getFullYear() + value);\n\t\t}\n\n\t\treturn date;\n\t}\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_MILLISECONDS\t= 0;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_SECONDS\t\t= 1;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_MINUTES\t\t= 2;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_HOURS\t\t\t= 3;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_DAYS\t\t\t= 4;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_WEEKS\t\t\t= 5;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_MONTHS\t\t= 6;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_YEARS\t\t\t= 7;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_DECADES\t\t= 8;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_CENTURIES\t\t= 9;\n\n\t/**\n\t * @private\n\t * @const\n\t * @type {number}\n\t */\n\tvar LABEL_MILLENNIA\t\t= 10;\n\n\t/**\n\t * @private\n\t * @type {Array}\n\t */\n\tvar LABELS_SINGLUAR;\n\n\t/**\n\t * @private\n\t * @type {Array}\n\t */\n\tvar LABELS_PLURAL;\n\n\t/**\n\t * @private\n\t * @type {string}\n\t */\n\tvar LABEL_LAST;\n\n\t/**\n\t * @private\n\t * @type {string}\n\t */\n\tvar LABEL_DELIM;\n\n\t/**\n\t * @private\n\t * @type {string}\n\t */\n\tvar LABEL_NOW;\n\n\t/**\n\t * Formats a number & unit as a string\n\t * \n\t * @param {number} value\n\t * @param {number} unit\n\t * @return {string}\n\t */\n\tvar formatter;\n\n\t/**\n\t * Formats a number as a string\n\t * \n\t * @private\n\t * @param {number} value\n\t * @return {string}\n\t */\n\tvar formatNumber;\n\n\t/**\n\t * @private\n\t * @param {number} value\n\t * @param {number} unit unit index into label list\n\t * @return {string}\n\t */\n\tfunction plurality(value, unit) {\n\t\treturn formatNumber(value)+((value === 1) ? LABELS_SINGLUAR[unit] : LABELS_PLURAL[unit]);\n\t}\n\n\t/**\n\t * Formats the entries with singular or plural labels\n\t * \n\t * @private\n\t * @param {Timespan} ts\n\t * @return {Array}\n\t */\n\tvar formatList;\n\n\t/**\n\t * Timespan representation of a duration of time\n\t * \n\t * @private\n\t * @this {Timespan}\n\t * @constructor\n\t */\n\tfunction Timespan() {}\n\n\t/**\n\t * Formats the Timespan as a sentence\n\t * \n\t * @param {string=} emptyLabel the string to use when no values returned\n\t * @return {string}\n\t */\n\tTimespan.prototype.toString = function(emptyLabel) {\n\t\tvar label = formatList(this);\n\n\t\tvar count = label.length;\n\t\tif (!count) {\n\t\t\treturn emptyLabel ? ''+emptyLabel : LABEL_NOW;\n\t\t}\n\t\tif (count === 1) {\n\t\t\treturn label[0];\n\t\t}\n\n\t\tvar last = LABEL_LAST+label.pop();\n\t\treturn label.join(LABEL_DELIM)+last;\n\t};\n\n\t/**\n\t * Formats the Timespan as a sentence in HTML\n\t * \n\t * @param {string=} tag HTML tag name to wrap each value\n\t * @param {string=} emptyLabel the string to use when no values returned\n\t * @return {string}\n\t */\n\tTimespan.prototype.toHTML = function(tag, emptyLabel) {\n\t\ttag = tag || 'span';\n\t\tvar label = formatList(this);\n\n\t\tvar count = label.length;\n\t\tif (!count) {\n\t\t\temptyLabel = emptyLabel || LABEL_NOW;\n\t\t\treturn emptyLabel ? '<'+tag+'>'+emptyLabel+''+tag+'>' : emptyLabel;\n\t\t}\n\t\tfor (var i=0; i[AnimationBuilder.build](api/animations/AnimationBuilder#build)() method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)() \n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n * ... \n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n * \n * \n * \n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* AnimationMetadataType.Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* AnimationMetadataType.Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* AnimationMetadataType.Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* AnimationMetadataType.Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation [`state`](api/animations/state), within an animation\n *`sequence`, or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow an element to animate from\n * a height of 0 up to its full height:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* AnimationMetadataType.Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* AnimationMetadataType.State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* AnimationMetadataType.Keyframes */, steps };\n}\n/**\n * Declares an animation transition which is played when a certain specified condition is met.\n *\n * @param stateChangeExpr A string with a specific format or a function that specifies when the\n * animation transition should occur (see [State Change Expression](#state-change-expression)).\n *\n * @param steps One or more animation objects that represent the animation's instructions.\n *\n * @param options An options object that can be used to specify a delay for the animation or provide\n * custom parameters for it.\n *\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n *\n * ### State Change Expression\n *\n * The State Change Expression instructs Angular when to run the transition's animations, it can\n *either be\n * - a string with a specific syntax\n * - or a function that compares the previous and current state (value of the expression bound to\n * the element's trigger) and returns `true` if the transition should occur or `false` otherwise\n *\n * The string format can be:\n * - `fromState => toState`, which indicates that the transition's animations should occur then the\n * expression bound to the trigger's element goes from `fromState` to `toState`\n *\n * _Example:_\n * ```typescript\n * transition('open => closed', animate('.5s ease-out', style({ height: 0 }) ))\n * ```\n *\n * - `fromState <=> toState`, which indicates that the transition's animations should occur then\n * the expression bound to the trigger's element goes from `fromState` to `toState` or vice versa\n *\n * _Example:_\n * ```typescript\n * transition('enabled <=> disabled', animate('1s cubic-bezier(0.8,0.3,0,1)'))\n * ```\n *\n * - `:enter`/`:leave`, which indicates that the transition's animations should occur when the\n * element enters or exists the DOM\n *\n * _Example:_\n * ```typescript\n * transition(':enter', [\n * style({ opacity: 0 }),\n * animate('500ms', style({ opacity: 1 }))\n * ])\n * ```\n *\n * - `:increment`/`:decrement`, which indicates that the transition's animations should occur when\n * the numerical expression bound to the trigger's element has increased in value or decreased\n *\n * _Example:_\n * ```typescript\n * transition(':increment', query('@counter', animateChild()))\n * ```\n *\n * - a sequence of any of the above divided by commas, which indicates that transition's animations\n * should occur whenever one of the state change expressions matches\n *\n * _Example:_\n * ```typescript\n * transition(':increment, * => enabled, :enter', animate('1s ease', keyframes([\n * style({ transform: 'scale(1)', offset: 0}),\n * style({ transform: 'scale(1.1)', offset: 0.7}),\n * style({ transform: 'scale(1)', offset: 1})\n * ]))),\n * ```\n *\n * Also note that in such context:\n * - `void` can be used to indicate the absence of the element\n * - asterisks can be used as wildcards that match any state\n * - (as a consequence of the above, `void => *` is equivalent to `:enter` and `* => void` is\n * equivalent to `:leave`)\n * - `true` and `false` also match expression values of `1` and `0` respectively (but do not match\n * _truthy_ and _falsy_ values)\n *\n * \n *\n * Be careful about entering end leaving elements as their transitions present a common\n * pitfall for developers.\n *\n * Note that when an element with a trigger enters the DOM its `:enter` transition always\n * gets executed, but its `:leave` transition will not be executed if the element is removed\n * alongside its parent (as it will be removed \"without warning\" before its transition has\n * a chance to be executed, the only way that such transition can occur is if the element\n * is exiting the DOM on its own).\n *\n *\n * \n *\n * ### Animating to a Final State\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no `style` data, that step is automatically considered the final animation arc,\n * for the element to reach the final state, in such case Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n *\n * ### Usage Examples\n *\n * - Transition animations applied based on\n * the trigger's expression value\n *\n * ```HTML\n * \n * ...\n * \n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\"on => off, open => closed\", animate(500)),\n * transition(\"* <=> error\", query('.indicator', animateChild()))\n * ])\n * ```\n *\n * - Transition animations applied based on custom logic dependent\n * on the trigger's expression value and provided parameters\n *\n * ```HTML\n * \n * ...\n * \n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\n * (fromState, toState, _element, params) =>\n * ['firststep', 'laststep'].includes(fromState.toLowerCase())\n * && toState === params?.['target'],\n * animate('1s')\n * )\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* AnimationMetadataType.Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* AnimationMetadataType.Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimationMetadataType.AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimationMetadataType.AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements (not\n * all elements can be queried via these tokens, see\n * [Entering and Leaving Elements](#entering-and-leaving-elements))\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n *\n * ### Multiple Tokens\n *\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Entering and Leaving Elements\n *\n * Not all elements can be queried via the `:enter` and `:leave` tokens, the only ones\n * that can are those that Angular assumes can enter/leave based on their own logic\n * (if their insertion/removal is simply a consequence of that of their parent they\n * should be queried via a different token in their parent's `:enter`/`:leave` transitions).\n *\n * The only elements Angular assumes can enter/leave based on their own logic (thus the only\n * ones that can be queried via the `:enter` and `:leave` tokens) are:\n * - Those inserted dynamically (via `ViewContainerRef`)\n * - Those that have a structural directive (which, under the hood, are a subset of the above ones)\n *\n * \n *\n * Note that elements will be successfully queried via `:enter`/`:leave` even if their\n * insertion/removal is not done manually via `ViewContainerRef`or caused by their structural\n * directive (e.g. they enter/exit alongside their parent).\n *\n * \n *\n * \n *\n * There is an exception to what previously mentioned, besides elements entering/leaving based on\n * their own logic, elements with an animation trigger can always be queried via `:leave` when\n * their parent is also leaving.\n *\n * \n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n * \n * \n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* AnimationMetadataType.Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n * Title\n *\n * Blah blah blah\n * \n * \n * \n * \n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* AnimationMetadataType.Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve().then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n this._finished = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n","/**\n * @license Angular v14.2.10\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode &&\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode &&\n `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode &&\n `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode &&\n `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode &&\n `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && 'The requested animation doesn\\'t exist or has already been destroyed');\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode &&\n `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode &&\n `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode &&\n `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode &&\n `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\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 * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nconst ANIMATABLE_PROP_SET = new Set([\n '-moz-outline-radius',\n '-moz-outline-radius-bottomleft',\n '-moz-outline-radius-bottomright',\n '-moz-outline-radius-topleft',\n '-moz-outline-radius-topright',\n '-ms-grid-columns',\n '-ms-grid-rows',\n '-webkit-line-clamp',\n '-webkit-text-fill-color',\n '-webkit-text-stroke',\n '-webkit-text-stroke-color',\n 'accent-color',\n 'all',\n 'backdrop-filter',\n 'background',\n 'background-color',\n 'background-position',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-width',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image-outset',\n 'border-image-slice',\n 'border-image-width',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-width',\n 'border-left',\n 'border-left-color',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-width',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-shadow',\n 'caret-color',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-width',\n 'column-width',\n 'columns',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-grow',\n 'flex-shrink',\n 'font',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'grid-column-gap',\n 'grid-gap',\n 'grid-row-gap',\n 'grid-template-columns',\n 'grid-template-rows',\n 'height',\n 'inline-size',\n 'input-security',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'left',\n 'letter-spacing',\n 'line-clamp',\n 'line-height',\n 'margin',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'mask',\n 'mask-border',\n 'mask-position',\n 'mask-size',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-lines',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-width',\n 'padding',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'perspective',\n 'perspective-origin',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-coordinate',\n 'scroll-snap-destination',\n 'scrollbar-color',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'tab-size',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-indent',\n 'text-shadow',\n 'text-underline-offset',\n 'top',\n 'transform',\n 'transform-origin',\n 'translate',\n 'vertical-align',\n 'visibility',\n 'width',\n 'word-spacing',\n 'z-index',\n 'zoom',\n]);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes$1(driver, normalizer, element, keyframes, preStyles = new Map(), postStyles = new Map()) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset');\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles.get(prop);\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop);\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetDefaultValue(map, key, defaultValue) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nlet _query = (element, selector, multi) => {\n return [];\n};\nlet _documentElement = null;\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host; // consider host to support shadow DOM\n if (parent === _documentElement) {\n return null;\n }\n return parent;\n}\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n // Read the document element in an IIFE that's been marked pure to avoid a top-level property\n // read that may prevent tree-shaking.\n _documentElement = /* @__PURE__ */ (() => document.documentElement)();\n _contains = (elm1, elm2) => {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n };\n }\n _query = (element, selector, multi) => {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction validateWebAnimatableStyleProperty(prop) {\n return ANIMATABLE_PROP_SET.has(prop);\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsKeys(original) {\n const newMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.10\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.10\", ngImport: i0, type: NoopAnimationDriver });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction convertToMap(obj) {\n const styleMap = new Map();\n Object.keys(obj).forEach(prop => {\n const val = obj[prop];\n styleMap.set(prop, val);\n });\n return styleMap;\n}\nfunction normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map(kf => convertToMap(kf));\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = new Map();\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, normalizedStyles));\n }\n else {\n copyStyles(styles, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, destination = new Map(), backfill) {\n if (backfill) {\n for (let [prop, val] of backfill) {\n destination.set(prop, val);\n }\n }\n for (let [prop, val] of styles) {\n destination.set(prop, val);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* AnimationMetadataType.Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* AnimationMetadataType.State */:\n return visitor.visitState(node, context);\n case 1 /* AnimationMetadataType.Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* AnimationMetadataType.Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* AnimationMetadataType.Group */:\n return visitor.visitGroup(node, context);\n case 4 /* AnimationMetadataType.Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* AnimationMetadataType.Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* AnimationMetadataType.Style */:\n return visitor.visitStyle(node, context);\n case 8 /* AnimationMetadataType.Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimationMetadataType.AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimationMetadataType.AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* AnimationMetadataType.Query */:\n return visitor.visitQuery(node, context);\n case 12 /* AnimationMetadataType.Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n NG_DEV_MODE && console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (props.length) {\n warnings.push(`The following provided properties are not recognized: ${props.join(', ')}`);\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 ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*([=-]>)\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = new Map();\n context.collectedStyles.set(ROOT_SELECTOR, new Map());\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* AnimationMetadataType.State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* AnimationMetadataType.Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: 7 /* AnimationMetadataType.Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(style => {\n if (style instanceof Map) {\n style.forEach(value => {\n extractStyleParams(value).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(invalidState(metadata.name, missingSubsArr));\n }\n }\n return {\n type: 0 /* AnimationMetadataType.State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* AnimationMetadataType.Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* AnimationMetadataType.Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* AnimationMetadataType.Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* AnimationMetadataType.Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* AnimationMetadataType.Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n const metadataStyles = Array.isArray(metadata.styles) ? metadata.styles : [metadata.styles];\n for (let styleTuple of metadataStyles) {\n if (typeof styleTuple === 'string') {\n if (styleTuple === AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n }\n else {\n styles.push(convertToMap(styleTuple));\n }\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (styleData instanceof Map) {\n if (styleData.has('easing')) {\n collectedEasing = styleData.get('easing');\n styleData.delete('easing');\n }\n if (!containsDynamicStyles) {\n for (let value of styleData.values()) {\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* AnimationMetadataType.Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple === 'string')\n return;\n tuple.forEach((value, prop) => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._driver.validateStyleProperty(prop)) {\n tuple.delete(prop);\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n }\n // This is guaranteed to have a defined Map at this querySelector location making it\n // safe to add the assertion here. It is set as a default empty map in prior methods.\n const collectedStyles = context.collectedStyles.get(context.currentQuerySelector);\n const collectedEntry = collectedStyles.get(prop);\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles.set(prop, { startTime, endTime });\n }\n if (context.options) {\n validateStyleParams(value, context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* AnimationMetadataType.Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* AnimationMetadataType.Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimationMetadataType.AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimationMetadataType.AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetDefaultValue(context.collectedStyles, context.currentQuerySelector, new Map());\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* AnimationMetadataType.Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* AnimationMetadataType.Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.slice(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = new Map();\n this.options = null;\n this.unsupportedCSSPropertiesFound = new Set();\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (styleTuple instanceof Map && styleTuple.has('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n });\n }\n else if (styles instanceof Map && styles.has('offset')) {\n const obj = styles;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n return offset;\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* AnimationTransitionInstructionType.TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill map. The `copyStyles` method in util.ts\n * handles propagating that backfill map to the styles object.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = new Map(), finalStyles = new Map(), options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n context.currentTimeline.delayNextStep(delay);\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n if (timelines.length && finalStyles.size) {\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ?\n timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, delay, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this._applyAnimationRefDelays([ast.options, ast.animation.options], context, innerContext);\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _applyAnimationRefDelays(animationsRefsOptions, context, innerContext) {\n for (const animationRefOptions of animationsRefsOptions) {\n const animationDelay = animationRefOptions?.delay;\n if (animationDelay) {\n const animationDelayValue = typeof animationDelay === 'number' ?\n animationDelay :\n resolveTimingValue(interpolateParams(animationDelay, animationRefOptions?.params ?? {}, context.errors));\n innerContext.delayNextStep(animationDelayValue);\n }\n }\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* AnimationMetadataType.Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* AnimationMetadataType.Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.hasCurrentStyleProperties()) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* AnimationMetadataType.Style */ ||\n (startTime == 0 && context.currentTimeline.hasCurrentStyleProperties()))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = new Map();\n this._currentKeyframe = new Map();\n this._keyframes = new Map();\n this._styleSummary = new Map();\n this._localTimelineStyles = new Map();\n this._pendingStyles = new Map();\n this._backFill = new Map();\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.hasCurrentStyleProperties();\n default:\n return true;\n }\n }\n hasCurrentStyleProperties() {\n return this._currentKeyframe.size > 0;\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size === 1 && this._pendingStyles.size;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = new Map();\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles.set(prop, value);\n this._globalTimelineStyles.set(prop, value);\n this._styleSummary.set(prop, { time: this.currentTime, value });\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n for (let [prop, value] of this._globalTimelineStyles) {\n this._backFill.set(prop, value || AUTO_STYLE);\n this._currentKeyframe.set(prop, AUTO_STYLE);\n }\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n for (let [prop, value] of styles) {\n const val = interpolateParams(value, params, errors);\n this._pendingStyles.set(prop, val);\n if (!this._localTimelineStyles.has(prop)) {\n this._backFill.set(prop, this._globalTimelineStyles.get(prop) ?? AUTO_STYLE);\n }\n this._updateStyle(prop, val);\n }\n }\n applyStylesToKeyframe() {\n if (this._pendingStyles.size == 0)\n return;\n this._pendingStyles.forEach((val, prop) => {\n this._currentKeyframe.set(prop, val);\n });\n this._pendingStyles.clear();\n this._localTimelineStyles.forEach((val, prop) => {\n if (!this._currentKeyframe.has(prop)) {\n this._currentKeyframe.set(prop, val);\n }\n });\n }\n snapshotCurrentStyles() {\n for (let [prop, val] of this._localTimelineStyles) {\n this._pendingStyles.set(prop, val);\n this._updateStyle(prop, val);\n }\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n timeline._styleSummary.forEach((details1, prop) => {\n const details0 = this._styleSummary.get(prop);\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, new Map(), this._backFill);\n finalKeyframe.forEach((value, prop) => {\n if (value === ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value === AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe.set('offset', time / this.duration);\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = new Map(kf0);\n kf0.set('offset', 0);\n kf1.set('offset', 1);\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0]);\n oldFirstKeyframe.set('offset', roundOffset(startingGap));\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i]);\n const oldOffset = kf.get('offset');\n const timeAtKeyframe = delay + oldOffset * duration;\n kf.set('offset', roundOffset(timeAtKeyframe / totalTime));\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = new Map();\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n }\n else {\n copyStyles(token, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (warnings.length) {\n warnValidation(warnings);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DIMENSIONAL_PROP_SET = new Set([\n 'width',\n 'height',\n 'minWidth',\n 'minHeight',\n 'maxWidth',\n 'maxHeight',\n 'left',\n 'top',\n 'bottom',\n 'right',\n 'fontSize',\n 'outlineWidth',\n 'outlineOffset',\n 'paddingTop',\n 'paddingLeft',\n 'paddingBottom',\n 'paddingRight',\n 'marginTop',\n 'marginLeft',\n 'marginBottom',\n 'marginRight',\n 'borderRadius',\n 'borderWidth',\n 'borderTopWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'textIndent',\n 'perspective'\n]);\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_SET.has(normalizedProperty) && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\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 createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* AnimationTransitionInstructionType.TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n let styler = this._stateStyles.get('*');\n if (stateName !== undefined) {\n styler = this._stateStyles.get(stateName?.toString()) || styler;\n }\n return styler ? styler.buildStyles(params, errors) : new Map();\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = {\n params: applyParamDefaults(nextAnimationParams, transitionAnimationParams),\n delay: this.ast.options?.delay,\n };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetDefaultValue(preStyleMap, elm, new Set());\n tl.preStyleProps.forEach(prop => preProps.add(prop));\n const postProps = getOrSetDefaultValue(postStyleMap, elm, new Set());\n tl.postStyleProps.forEach(prop => postProps.add(prop));\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkNonAnimatableInTimelines(timelines, this._triggerName, driver);\n }\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\n/**\n * Checks inside a set of timelines if they try to animate a css property which is not considered\n * animatable, in that case it prints a warning on the console.\n * Besides that the function doesn't have any other effect.\n *\n * Note: this check is done here after the timelines are built instead of doing on a lower level so\n * that we can make sure that the warning appears only once per instruction (we can aggregate here\n * all the issues instead of finding them separately).\n *\n * @param timelines The built timelines for the current instruction.\n * @param triggerName The name of the trigger for the current instruction.\n * @param driver Animation driver used to perform the check.\n *\n */\nfunction checkNonAnimatableInTimelines(timelines, triggerName, driver) {\n if (!driver.validateAnimatableStyleProperty) {\n return;\n }\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({ keyframes }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach(keyframe => {\n for (const [prop, value] of keyframe.entries()) {\n if (!driver.validateAnimatableStyleProperty(prop)) {\n if (nonAnimatablePropsInitialValues.has(prop) && !invalidNonAnimatableProps.has(prop)) {\n const propInitialValue = nonAnimatablePropsInitialValues.get(prop);\n if (propInitialValue !== value) {\n invalidNonAnimatableProps.add(prop);\n }\n }\n else {\n nonAnimatablePropsInitialValues.set(prop, value);\n }\n }\n }\n });\n });\n if (invalidNonAnimatableProps.size > 0) {\n console.warn(`Warning: The animation trigger \"${triggerName}\" is attempting to animate the following` +\n ' not animatable properties: ' + Array.from(invalidNonAnimatableProps).join(', ') + '\\n' +\n '(to check the list of all animatable properties visit https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)');\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nfunction applyParamDefaults(userParams, defaults) {\n const result = copyObj(defaults);\n for (const key in userParams) {\n if (userParams.hasOwnProperty(key) && userParams[key] != null) {\n result[key] = userParams[key];\n }\n }\n return result;\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = new Map();\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value !== null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n value.forEach((val, prop) => {\n if (val) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles.set(normalizedProp, val);\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = new Map();\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states.set(ast.name, new AnimationStateStyles(ast.style, defaultParams, _normalizer));\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* AnimationMetadataType.Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* AnimationMetadataType.Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(stateMap, key1, key2) {\n if (stateMap.has(key1)) {\n if (!stateMap.has(key2)) {\n stateMap.set(key2, stateMap.get(key1));\n }\n }\n else if (stateMap.has(key2)) {\n stateMap.set(key1, stateMap.get(key2));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = new Map();\n this._playersById = new Map();\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n }\n else {\n if (warnings.length) {\n warnRegister(warnings);\n }\n this._animations.set(id, ast);\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes$1(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations.get(id);\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, new Map(), new Map(), options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetDefaultValue(autoStylesMap, inst.element, new Map());\n inst.postStyleProps.forEach(prop => styles.set(prop, null));\n });\n }\n else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n styles.forEach((_, prop) => {\n styles.set(prop, this._driver.computeStyle(element, prop, AUTO_STYLE));\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, new Map(), styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById.set(id, player);\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n this._playersById.delete(id);\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById.get(id);\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = new Map();\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.has(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetDefaultValue(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetDefaultValue(this._engine.statesByElement, element, new Map());\n if (!triggersWithStates.has(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates.set(name, DEFAULT_STATE_VALUE);\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers.has(name)) {\n triggersWithStates.delete(name);\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers.has(name)) {\n // throw\n return false;\n }\n else {\n this._triggers.set(name, ast);\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers.get(name);\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = new Map());\n }\n let fromState = triggersWithStates.get(triggerName);\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates.set(triggerName, toState);\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetDefaultValue(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n this._triggers.delete(name);\n this._engine.statesByElement.forEach(stateMap => stateMap.delete(name));\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n triggerStates.forEach((state, triggerName) => {\n previousTriggersValues.set(triggerName, state.value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers.has(triggerName)) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers.get(triggerName);\n const transition = trigger.fallbackTransition;\n const fromState = elementStates.get(triggerName) || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n // Find the closest ancestor with an existing namespace so we can then insert `ns` after it,\n // establishing a top-down ordering of namespaces in `this._namespaceList`.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n }\n else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n for (let stateValue of elementStates.values()) {\n if (stateValue.namespaceId) {\n const ns = this._fetchNamespace(stateValue.namespaceId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues &&\n details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates.has(entry.triggerName)) {\n const state = triggersWithStates.get(entry.triggerName);\n state.value = previousValue;\n triggersWithStates.set(entry.triggerName, state);\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetDefaultValue(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n if (stringMap.size) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetDefaultValue(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, new Map([...Array.from(post?.entries() ?? []), ...Array.from(pre?.entries() ?? [])]));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetDefaultValue(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes$1(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetDefaultValue(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetDefaultValue(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = new Map();\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n this._queuedCallbacks.forEach((callbacks, phase) => {\n callbacks.forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks.clear();\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetDefaultValue(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = new Map();\n props.forEach(prop => {\n const value = driver.computeStyle(element, prop, defaultStyle);\n styles.set(prop, value);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles instanceof Map) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* SpecialCasedStylesState.Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = new Map());\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* SpecialCasedStylesState.Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* SpecialCasedStylesState.Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* SpecialCasedStylesState.Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* SpecialCasedStylesState.Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n styles.forEach((val, prop) => {\n if (isNonAnimatableStyle(prop)) {\n result = result || new Map();\n result.set(prop, val);\n }\n });\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n // the following original fns are persistent copies of the _onStartFns and _onDoneFns\n // and are used to reset the fns to their original values upon reset()\n // (since the _onStartFns and _onDoneFns get deleted after they are called)\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = new Map();\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n _convertKeyframesToObject(keyframes) {\n const kfs = [];\n keyframes.forEach(frame => {\n kfs.push(Object.fromEntries(frame));\n });\n return kfs;\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](this._convertKeyframesToObject(keyframes), options);\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = new Map();\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n finalKeyframe.forEach((val, prop) => {\n if (prop !== 'offset') {\n styles.set(prop, this._finished ? val : computeStyle(this.element, prop));\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName === 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n return validateStyleProperty(prop);\n }\n return true;\n }\n validateAnimatableStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n return true;\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = new Map();\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n player.currentSnapshot.forEach((val, prop) => previousStyles.set(prop, val));\n });\n }\n let _keyframes = normalizeKeyframes(keyframes).map(styles => copyStyles(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, containsElement as ɵcontainsElement, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty };\n","import { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, APP_ID, Injectable, Inject, QueryList, Directive, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/platform';\nimport { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot } from '@angular/cdk/platform';\nimport { Subject, Subscription, BehaviorSubject, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/observers';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** IDs are delimited by an empty space, as per the spec. */\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n }\n else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * ID used for the body container where all messages are appended.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 14.0.0\n */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/**\n * ID prefix used for each created message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/**\n * Attribute given to each host element that is described by a message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document, \n /**\n * @deprecated To be turned into a required parameter.\n * @breaking-change 14.0.0\n */\n _platform) {\n this._platform = _platform;\n /** Map of all registered message elements that have been placed into the document. */\n this._messageRegistry = new Map();\n /** Container for all registered messages. */\n this._messagesContainer = null;\n /** Unique ID for the service. */\n this._id = `${nextId++}`;\n this._document = _document;\n this._id = inject(APP_ID) + '-' + nextId++;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message, this._id);\n this._messageRegistry.set(key, { messageElement: message, referenceCount: 0 });\n }\n else if (!this._messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = this._messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (this._messagesContainer?.childNodes.length === 0) {\n this._messagesContainer.remove();\n this._messagesContainer = null;\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}=\"${this._id}\"]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n this._messagesContainer?.remove();\n this._messagesContainer = null;\n this._messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement, this._id);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n this._messagesContainer.appendChild(messageElement);\n this._messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n this._messageRegistry.get(key)?.messageElement?.remove();\n this._messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (this._messagesContainer) {\n return;\n }\n const containerClassName = 'cdk-describedby-message-container';\n const serverContainers = this._document.querySelectorAll(`.${containerClassName}[platform=\"server\"]`);\n for (let i = 0; i < serverContainers.length; i++) {\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n serverContainers[i].remove();\n }\n const messagesContainer = this._document.createElement('div');\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add(containerClassName);\n messagesContainer.classList.add('cdk-visually-hidden');\n // @breaking-change 14.0.0 Remove null check for `_platform`.\n if (this._platform && !this._platform.isBrowser) {\n messagesContainer.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(messagesContainer);\n this._messagesContainer = messagesContainer;\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby').filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, this._id);\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = this._messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\nAriaDescriber.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: AriaDescriber, deps: [{ token: DOCUMENT }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nAriaDescriber.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: AriaDescriber, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: AriaDescriber, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.Platform }]; } });\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element, serviceId) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${serviceId}-${nextId++}`;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = (item) => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function')) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream\n .pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join('')))\n .subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) &&\n item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n }\n else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n }\n else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n }\n else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap\n ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + delta * i + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return (isPotentiallyFocusable(element) &&\n !this.isDisabled(element) &&\n (config?.ignoreVisibility || this.isVisible(element)));\n }\n}\nInteractivityChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InteractivityChecker, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nInteractivityChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InteractivityChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InteractivityChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }]; } });\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n }\n catch {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth ||\n element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return (nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea');\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return (inputType === 'text' ||\n inputType === 'password' ||\n nodeName === 'select' ||\n nodeName === 'textarea');\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return (isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element));\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return (node.ownerDocument && node.ownerDocument.defaultView) || window;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n startAnchor.remove();\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n endAnchor.remove();\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then focuses the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` + `[cdkFocusRegion${bound}], ` + `[cdk-focus-${bound}]`);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n }\n else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length\n ? markers[markers.length - 1]\n : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement(options) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` + `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild?.focus(options);\n return !!focusableChild;\n }\n redirectToElement.focus(options);\n return true;\n }\n return this.focusFirstTabbableElement(options);\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n const children = root.children;\n for (let i = 0; i < children.length; i++) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getFirstTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n const children = root.children;\n for (let i = children.length - 1; i >= 0; i--) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getLastTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n }\n else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\nFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n constructor(_elementRef, _focusTrapFactory, \n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this.focusTrap.enabled;\n }\n set enabled(value) {\n this.focusTrap.enabled = coerceBooleanProperty(value);\n }\n /**\n * Whether the directive should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n get autoCapture() {\n return this._autoCapture;\n }\n set autoCapture(value) {\n this._autoCapture = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange &&\n !autoCaptureChange.firstChange &&\n this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n this.focusTrap.focusInitialElementWhenReady();\n }\n}\nCdkTrapFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTrapFocus, deps: [{ token: i0.ElementRef }, { token: FocusTrapFactory }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTrapFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: { enabled: [\"cdkTrapFocus\", \"enabled\"], autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\"] }, exportAs: [\"cdkTrapFocus\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTrapFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { enabled: [{\n type: Input,\n args: ['cdkTrapFocus']\n }], autoCapture: [{\n type: Input,\n args: ['cdkTrapFocusAutoCapture']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Whether the FocusTrap is enabled. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n }\n else {\n this._focusTrapManager.deregister(this);\n }\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = (e) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (target && !focusTrapRoot.contains(target) && !target.closest?.('div.cdk-overlay-pane')) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter(ft => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\nFocusTrapManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapManager, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapManager, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = { defer: false }) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = { defer: config };\n }\n else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n}\nConfigurableFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: FocusTrapManager }, { token: DOCUMENT }, { token: FOCUS_TRAP_INERT_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nConfigurableFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when both `offsetX` and `offsetY` are\n // zero or `event.buttons` is zero, depending on the browser:\n // - `event.buttons` works on Firefox, but fails on Chrome.\n // - `offsetX` and `offsetY` work on Chrome, but fail on Firefox.\n // Note that there's an edge case where the user could click the 0x0 spot of the\n // screen themselves, but that is unlikely to contain interactive elements.\n return event.buttons === 0 || (event.offsetX === 0 && event.offsetY === 0);\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return (!!touch &&\n touch.identifier === -1 &&\n (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n * in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n * these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT],\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nclass InputModalityDetector {\n constructor(_platform, ngZone, document, options) {\n this._platform = _platform;\n /**\n * The most recently detected input modality event target. Is null if no input modality has been\n * detected or if the associated event target is null for some unknown reason.\n */\n this._mostRecentTarget = null;\n /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n this._modality = new BehaviorSubject(null);\n /**\n * The timestamp of the last touch input modality. Used to determine whether mousedown events\n * should be attributed to mouse or touch.\n */\n this._lastTouchMs = 0;\n /**\n * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n * bound.\n */\n this._onKeydown = (event) => {\n // If this is one of the keys we should ignore, then ignore it and don't update the input\n // modality to keyboard.\n if (this._options?.ignoreKeys?.some(keyCode => keyCode === event.keyCode)) {\n return;\n }\n this._modality.next('keyboard');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onMousedown = (event) => {\n // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n // after the previous touch event.\n if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n return;\n }\n // Fake mousedown events are fired by some screen readers when controls are activated by the\n // screen reader. Attribute them to keyboard input modality.\n this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onTouchstart = (event) => {\n // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n // events are fired. Again, attribute to keyboard input modality.\n if (isFakeTouchstartFromScreenReader(event)) {\n this._modality.next('keyboard');\n return;\n }\n // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n // triggered via mouse vs touch.\n this._lastTouchMs = Date.now();\n this._modality.next('touch');\n this._mostRecentTarget = _getEventTarget(event);\n };\n this._options = {\n ...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,\n ...options,\n };\n // Skip the first emission as it's null.\n this.modalityDetected = this._modality.pipe(skip(1));\n this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n // If we're not in a browser, this service should do nothing, as there's no relevant input\n // modality to detect.\n if (_platform.isBrowser) {\n ngZone.runOutsideAngular(() => {\n document.addEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.addEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.addEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n });\n }\n }\n /** The most recently detected input modality. */\n get mostRecentModality() {\n return this._modality.value;\n }\n ngOnDestroy() {\n this._modality.complete();\n if (this._platform.isBrowser) {\n document.removeEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.removeEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.removeEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n }\n }\n}\nInputModalityDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InputModalityDetector, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT }, { token: INPUT_MODALITY_DETECTOR_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nInputModalityDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InputModalityDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InputModalityDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [INPUT_MODALITY_DETECTOR_OPTIONS]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n }\n else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness =\n defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n if (!this._currentPromise) {\n this._currentPromise = new Promise(resolve => (this._currentResolve = resolve));\n }\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n this._currentResolve();\n this._currentPromise = this._currentResolve = undefined;\n }, 100);\n return this._currentPromise;\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n this._liveElement?.remove();\n this._liveElement = null;\n this._currentResolve?.();\n this._currentPromise = this._currentResolve = undefined;\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].remove();\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n}\nLiveAnnouncer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LiveAnnouncer, deps: [{ token: LIVE_ANNOUNCER_ELEMENT_TOKEN, optional: true }, { token: i0.NgZone }, { token: DOCUMENT }, { token: LIVE_ANNOUNCER_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nLiveAnnouncer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LiveAnnouncer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LiveAnnouncer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }] }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }] }]; } });\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() {\n return this._politeness;\n }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n }\n else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver.observe(this._elementRef).subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness, this.duration);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\nCdkAriaLive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkAriaLive, deps: [{ token: i0.ElementRef }, { token: LiveAnnouncer }, { token: i1$1.ContentObserver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAriaLive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkAriaLive, selector: \"[cdkAriaLive]\", inputs: { politeness: [\"cdkAriaLive\", \"politeness\"], duration: [\"cdkAriaLiveDuration\", \"duration\"] }, exportAs: [\"cdkAriaLive\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkAriaLive, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: LiveAnnouncer }, { type: i1$1.ContentObserver }, { type: i0.NgZone }]; }, propDecorators: { politeness: [{\n type: Input,\n args: ['cdkAriaLive']\n }], duration: [{\n type: Input,\n args: ['cdkAriaLiveDuration']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, _inputModalityDetector, \n /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._inputModalityDetector = _inputModalityDetector;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /**\n * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n * focus events to touch interactions requires special logic.\n */\n this._originFromTouchInteraction = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = window.setTimeout(() => (this._windowFocused = false));\n };\n /** Subject for stopping our InputModalityDetector subscription. */\n this._stopInputModalityDetector = new Subject();\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = (event) => {\n const target = _getEventTarget(event);\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n if (event.type === 'focus') {\n this._onFocus(event, element);\n }\n else {\n this._onBlur(event, element);\n }\n }\n };\n this._document = document;\n this._detectionMode = options?.detectionMode || 0 /* FocusMonitorDetectionMode.IMMEDIATE */;\n }\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return of(null);\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode,\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n }\n else {\n this._setOrigin(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _getFocusOrigin(focusEventTarget) {\n if (this._origin) {\n // If the origin was realized via a touch interaction, we need to perform additional checks\n // to determine whether the focus origin should be attributed to touch or program.\n if (this._originFromTouchInteraction) {\n return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n }\n else {\n return this._origin;\n }\n }\n // If the window has just regained focus, we can restore the most recent origin from before the\n // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n // focus. This typically means one of two things happened:\n //\n // 1) The element was programmatically focused, or\n // 2) The element was focused via screen reader navigation (which generally doesn't fire\n // events).\n //\n // Because we can't distinguish between these two cases, we default to setting `program`.\n if (this._windowFocused && this._lastFocusOrigin) {\n return this._lastFocusOrigin;\n }\n // If the interaction is coming from an input label, we consider it a mouse interactions.\n // This is a special case where focus moves on `click`, rather than `mousedown` which breaks\n // our detection, because all our assumptions are for `mousedown`. We need to handle this\n // special case, because it's very common for checkboxes and radio buttons.\n if (focusEventTarget && this._isLastInteractionFromInputLabel(focusEventTarget)) {\n return 'mouse';\n }\n return 'program';\n }\n /**\n * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n * event was directly caused by the touch interaction or (2) the focus event was caused by a\n * subsequent programmatic focus call triggered by the touch interaction.\n * @param focusEventTarget The target of the focus event under examination.\n */\n _shouldBeAttributedToTouch(focusEventTarget) {\n // Please note that this check is not perfect. Consider the following edge case:\n //\n // \n * {{ item }}\n * \n * \n // \n // \n //\n // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n // #child, #parent is programmatically focused. This code will attribute the focus to touch\n // instead of program. This is a relatively minor edge-case that can be worked around by using\n // focusVia(parent, 'program') to focus #parent.\n return (this._detectionMode === 1 /* FocusMonitorDetectionMode.EVENTUAL */ ||\n !!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget));\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n element.classList.toggle('cdk-focused', !!origin);\n element.classList.toggle('cdk-touch-focused', origin === 'touch');\n element.classList.toggle('cdk-keyboard-focused', origin === 'keyboard');\n element.classList.toggle('cdk-mouse-focused', origin === 'mouse');\n element.classList.toggle('cdk-program-focused', origin === 'program');\n }\n /**\n * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n * the origin being set.\n * @param origin The origin to set.\n * @param isFromInteraction Whether we are setting the origin from an interaction event.\n */\n _setOrigin(origin, isFromInteraction = false) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n this._originFromTouchInteraction = origin === 'touch' && isFromInteraction;\n // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n // a touch event because when a touch event is fired, the associated focus event isn't yet in\n // the event queue. Before doing so, clear any pending timeouts.\n if (this._detectionMode === 0 /* FocusMonitorDetectionMode.IMMEDIATE */) {\n clearTimeout(this._originTimeoutId);\n const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n this._originTimeoutId = setTimeout(() => (this._origin = null), ms);\n }\n });\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n const focusEventTarget = _getEventTarget(event);\n if (!elementInfo || (!elementInfo.checkChildren && element !== focusEventTarget)) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo ||\n (elementInfo.checkChildren &&\n event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo, null);\n }\n _emitOrigin(info, origin) {\n if (info.subject.observers.length) {\n this._ngZone.run(() => info.subject.next(origin));\n }\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n window.addEventListener('focus', this._windowFocusListener);\n });\n // The InputModalityDetector is also just a collection of global listeners.\n this._inputModalityDetector.modalityDetected\n .pipe(takeUntil(this._stopInputModalityDetector))\n .subscribe(modality => {\n this._setOrigin(modality, true /* isFromInteraction */);\n });\n }\n }\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n }\n else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const window = this._getWindow();\n window.removeEventListener('focus', this._windowFocusListener);\n // Equivalently, stop our InputModalityDetector subscription.\n this._stopInputModalityDetector.next();\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || (info.checkChildren && currentElement.contains(element))) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n /**\n * Returns whether an interaction is likely to have come from the user clicking the `label` of\n * an `input` or `textarea` in order to focus it.\n * @param focusEventTarget Target currently receiving focus.\n */\n _isLastInteractionFromInputLabel(focusEventTarget) {\n const { _mostRecentTarget: mostRecentTarget, mostRecentModality } = this._inputModalityDetector;\n // If the last interaction used the mouse on an element contained by one of the labels\n // of an `input`/`textarea` that is currently focused, it is very likely that the\n // user redirected focus using the label.\n if (mostRecentModality !== 'mouse' ||\n !mostRecentTarget ||\n mostRecentTarget === focusEventTarget ||\n (focusEventTarget.nodeName !== 'INPUT' && focusEventTarget.nodeName !== 'TEXTAREA') ||\n focusEventTarget.disabled) {\n return false;\n }\n const labels = focusEventTarget.labels;\n if (labels) {\n for (let i = 0; i < labels.length; i++) {\n if (labels[i].contains(mostRecentTarget)) {\n return true;\n }\n }\n }\n return false;\n }\n}\nFocusMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusMonitor, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: InputModalityDetector }, { token: DOCUMENT, optional: true }, { token: FOCUS_MONITOR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusMonitor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusMonitor, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }] }]; } });\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this._focusOrigin = null;\n this.cdkFocusChange = new EventEmitter();\n }\n get focusOrigin() {\n return this._focusOrigin;\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor\n .monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => {\n this._focusOrigin = origin;\n this.cdkFocusChange.emit(origin);\n });\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\nCdkMonitorFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkMonitorFocus, deps: [{ token: i0.ElementRef }, { token: FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });\nCdkMonitorFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkMonitorFocus, selector: \"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]\", outputs: { cdkFocusChange: \"cdkFocusChange\" }, exportAs: [\"cdkMonitorFocus\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkMonitorFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n exportAs: 'cdkMonitorFocus',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusMonitor }]; }, propDecorators: { cdkFocusChange: [{\n type: Output\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n this._breakpointSubscription = inject(BreakpointObserver)\n .observe('(forced-colors: active)')\n .subscribe(() => {\n if (this._hasCheckedHighContrastMode) {\n this._hasCheckedHighContrastMode = false;\n this._applyBodyHighContrastModeCssClasses();\n }\n });\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* HighContrastMode.NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = documentWindow && documentWindow.getComputedStyle\n ? documentWindow.getComputedStyle(testElement)\n : null;\n const computedColor = ((computedStyle && computedStyle.backgroundColor) || '').replace(/ /g, '');\n testElement.remove();\n switch (computedColor) {\n // Pre Windows 11 dark theme.\n case 'rgb(0,0,0)':\n // Windows 11 dark themes.\n case 'rgb(45,50,54)':\n case 'rgb(32,32,32)':\n return 2 /* HighContrastMode.WHITE_ON_BLACK */;\n // Pre Windows 11 light theme.\n case 'rgb(255,255,255)':\n // Windows 11 light theme.\n case 'rgb(255,250,239)':\n return 1 /* HighContrastMode.BLACK_ON_WHITE */;\n }\n return 0 /* HighContrastMode.NONE */;\n }\n ngOnDestroy() {\n this._breakpointSubscription.unsubscribe();\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS);\n this._hasCheckedHighContrastMode = true;\n const mode = this.getHighContrastMode();\n if (mode === 1 /* HighContrastMode.BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS);\n }\n else if (mode === 2 /* HighContrastMode.WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\nHighContrastModeDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: HighContrastModeDetector, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nHighContrastModeDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: HighContrastModeDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: HighContrastModeDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\nA11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: A11yModule, deps: [{ token: HighContrastModeDetector }], target: i0.ɵɵFactoryTarget.NgModule });\nA11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: A11yModule, declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], imports: [ObserversModule], exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] });\nA11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: A11yModule, imports: [ObserversModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: A11yModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n }]\n }], ctorParameters: function () { return [{ type: HighContrastModeDetector }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, EventEmitter, Injectable, Optional, Inject, Directive, Output, Input, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-browser because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nconst DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n/** @docs-private */\nfunction DIR_DOCUMENT_FACTORY() {\n return inject(DOCUMENT);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Regex that matches locales with an RTL script. Taken from `goog.i18n.bidi.isRtlLanguage`. */\nconst RTL_LOCALE_PATTERN = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;\n/** Resolves a string value to a specific direction. */\nfunction _resolveDirectionality(rawValue) {\n const value = rawValue?.toLowerCase() || '';\n if (value === 'auto' && typeof navigator !== 'undefined' && navigator?.language) {\n return RTL_LOCALE_PATTERN.test(navigator.language) ? 'rtl' : 'ltr';\n }\n return value === 'rtl' ? 'rtl' : 'ltr';\n}\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nclass Directionality {\n constructor(_document) {\n /** The current 'ltr' or 'rtl' value. */\n this.value = 'ltr';\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n this.change = new EventEmitter();\n if (_document) {\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n this.value = _resolveDirectionality(bodyDir || htmlDir || 'ltr');\n }\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDirectionality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Directionality, deps: [{ token: DIR_DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nDirectionality.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Directionality, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Directionality, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DIR_DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nclass Dir {\n constructor() {\n /** Normalized direction that accounts for invalid/unsupported values. */\n this._dir = 'ltr';\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Event emitted when the direction changes. */\n this.change = new EventEmitter();\n }\n /** @docs-private */\n get dir() {\n return this._dir;\n }\n set dir(value) {\n const previousValue = this._dir;\n // Note: `_resolveDirectionality` resolves the language based on the browser's language,\n // whereas the browser does it based on the content of the element. Since doing so based\n // on the content can be expensive, for now we're doing the simpler matching.\n this._dir = _resolveDirectionality(value);\n this._rawDir = value;\n if (previousValue !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n /** Current layout direction of the element. */\n get value() {\n return this.dir;\n }\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDir.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Dir, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nDir.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: Dir, selector: \"[dir]\", inputs: { dir: \"dir\" }, outputs: { change: \"dirChange\" }, host: { properties: { \"attr.dir\": \"_rawDir\" } }, providers: [{ provide: Directionality, useExisting: Dir }], exportAs: [\"dir\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Dir, decorators: [{\n type: Directive,\n args: [{\n selector: '[dir]',\n providers: [{ provide: Directionality, useExisting: Dir }],\n host: { '[attr.dir]': '_rawDir' },\n exportAs: 'dir',\n }]\n }], propDecorators: { change: [{\n type: Output,\n args: ['dirChange']\n }], dir: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass BidiModule {\n}\nBidiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BidiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nBidiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: BidiModule, declarations: [Dir], exports: [Dir] });\nBidiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BidiModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BidiModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [Dir],\n declarations: [Dir],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BidiModule, DIR_DOCUMENT, Dir, Directionality };\n","import { Version } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Current version of the Angular Component Development Kit. */\nconst VERSION = new Version('14.2.7');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { VERSION };\n","import { ElementRef } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(value));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\n }\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n","import { ConnectableObservable, isObservable, of, Subject } from 'rxjs';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass DataSource {\n}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource. We also can't use `isObservable`\n // here, because of some internal apps.\n return value && typeof value.connect === 'function' && !(value instanceof ConnectableObservable);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* _ViewRepeaterOperation.INSERTED */;\n }\n else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* _ViewRepeaterOperation.REMOVED */;\n }\n else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* _ViewRepeaterOperation.MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n detach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n this.viewCacheSize = 20;\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* _ViewRepeaterOperation.INSERTED */ : 0 /* _ViewRepeaterOperation.REPLACED */;\n }\n else if (currentIndex == null) {\n // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* _ViewRepeaterOperation.REMOVED */;\n }\n else {\n // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* _ViewRepeaterOperation.MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\n }\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n }\n else {\n const index = viewContainerRef.indexOf(view);\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n }\n else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true, compareWith) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n this.compareWith = compareWith;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n }\n else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n /**\n * Selects a value or an array of values.\n * @param values The values to select\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Deselects a value or an array of values.\n * @param values The values to deselect\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Sets the selected values\n * @param values The new selected values\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n setSelection(...values) {\n this._verifyValueAssignment(values);\n const oldValues = this.selected;\n const newSelectedSet = new Set(values);\n values.forEach(value => this._markSelected(value));\n oldValues\n .filter(value => !newSelectedSet.has(value))\n .forEach(value => this._unmarkSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Toggles a value between selected and deselected.\n * @param value The value to toggle\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n toggle(value) {\n return this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n * @param flushEvent Whether to flush the changes in an event.\n * If false, the changes to the selection will be flushed along with the next event.\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n clear(flushEvent = true) {\n this._unmarkAll();\n const changed = this._hasQueuedChanges();\n if (flushEvent) {\n this._emitChangeEvent();\n }\n return changed;\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n if (this.compareWith) {\n for (const otherValue of this._selection) {\n if (this.compareWith(otherValue, value)) {\n return true;\n }\n }\n return false;\n }\n return this._selection.has(value);\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit,\n });\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n if (!this.isSelected(value)) {\n this._selection.add(value);\n }\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n /** Whether there are queued up change to be emitted. */\n _hasQueuedChanges() {\n return !!(this._deselectedToEmit.length || this._selectedToEmit.length);\n }\n}\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\n }\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered) => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n}\nUniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nUniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n","import * as i1 from '@angular/cdk/a11y';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport * as i1$1 from '@angular/cdk/overlay';\nimport { Overlay, OverlayConfig, OverlayRef, OverlayModule } from '@angular/cdk/overlay';\nimport { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport * as i3 from '@angular/cdk/portal';\nimport { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, ViewChild, InjectionToken, Injector, TemplateRef, InjectFlags, Injectable, SkipSelf, NgModule } from '@angular/core';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport { Subject, defer, of } from 'rxjs';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { startWith } 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/** Configuration for opening a modal dialog. */\nclass DialogConfig {\n constructor() {\n /** The ARIA role of the dialog element. */\n this.role = 'dialog';\n /** Optional CSS class or classes applied to the overlay panel. */\n this.panelClass = '';\n /** Whether the dialog has a backdrop. */\n this.hasBackdrop = true;\n /** Optional CSS class or classes applied to the overlay backdrop. */\n this.backdropClass = '';\n /** Whether the dialog closes with the escape key or pointer events outside the panel element. */\n this.disableClose = false;\n /** Width of the dialog. */\n this.width = '';\n /** Height of the dialog. */\n this.height = '';\n /** Data being injected into the child component. */\n this.data = null;\n /** ID of the element that describes the dialog. */\n this.ariaDescribedBy = null;\n /** ID of the element that labels the dialog. */\n this.ariaLabelledBy = null;\n /** Dialog label applied via `aria-label` */\n this.ariaLabel = null;\n /** Whether this is a modal dialog. Used to set the `aria-modal` attribute. */\n this.ariaModal = true;\n /**\n * Where the dialog should focus on open.\n * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or\n * AutoFocusTarget instead.\n */\n this.autoFocus = 'first-tabbable';\n /**\n * Whether the dialog should restore focus to the previously-focused element upon closing.\n * Has the following behavior based on the type that is passed in:\n * - `boolean` - when true, will return focus to the element that was focused before the dialog\n * was opened, otherwise won't restore focus at all.\n * - `string` - focus will be restored to the first element that matches the CSS selector.\n * - `HTMLElement` - focus will be restored to the specific element.\n */\n this.restoreFocus = true;\n /**\n * Whether the dialog should close when the user navigates backwards or forwards through browser\n * history. This does not apply to navigation via anchor element unless using URL-hash based\n * routing (`HashLocationStrategy` in the Angular router).\n */\n this.closeOnNavigation = true;\n /**\n * Whether the dialog should close when the dialog service is destroyed. This is useful if\n * another service is wrapping the dialog and is managing the destruction instead.\n */\n this.closeOnDestroy = 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 throwDialogContentAlreadyAttachedError() {\n throw Error('Attempting to attach dialog content after content is already attached');\n}\n/**\n * Internal component that wraps user-provided dialog content.\n * @docs-private\n */\nclass CdkDialogContainer extends BasePortalOutlet {\n constructor(_elementRef, _focusTrapFactory, _document, _config, _interactivityChecker, _ngZone, _overlayRef, _focusMonitor) {\n super();\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n this._config = _config;\n this._interactivityChecker = _interactivityChecker;\n this._ngZone = _ngZone;\n this._overlayRef = _overlayRef;\n this._focusMonitor = _focusMonitor;\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n this._elementFocusedBeforeDialogWasOpened = null;\n /**\n * Type of interaction that led to the dialog being closed. This is used to determine\n * whether the focus style will be applied when returning focus to its original location\n * after the dialog is closed.\n */\n this._closeInteractionType = null;\n /**\n * Attaches a DOM portal to the dialog container.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n const result = this._portalOutlet.attachDomPortal(portal);\n this._contentAttached();\n return result;\n };\n this._ariaLabelledBy = this._config.ariaLabelledBy || null;\n this._document = _document;\n }\n _contentAttached() {\n this._initializeFocusTrap();\n this._handleBackdropClicks();\n this._captureInitialFocus();\n }\n /**\n * Can be used by child classes to customize the initial focus\n * capturing behavior (e.g. if it's tied to an animation).\n */\n _captureInitialFocus() {\n this._trapFocus();\n }\n ngOnDestroy() {\n this._restoreFocus();\n }\n /**\n * Attach a ComponentPortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachComponentPortal(portal) {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n const result = this._portalOutlet.attachComponentPortal(portal);\n this._contentAttached();\n return result;\n }\n /**\n * Attach a TemplatePortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachTemplatePortal(portal) {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n const result = this._portalOutlet.attachTemplatePortal(portal);\n this._contentAttached();\n return result;\n }\n // TODO(crisbeto): this shouldn't be exposed, but there are internal references to it.\n /** Captures focus if it isn't already inside the dialog. */\n _recaptureFocus() {\n if (!this._containsFocus()) {\n this._trapFocus();\n }\n }\n /**\n * Focuses the provided element. If the element is not focusable, it will add a tabIndex\n * attribute to forcefully focus it. The attribute is removed after focus is moved.\n * @param element The element to focus.\n */\n _forceFocus(element, options) {\n if (!this._interactivityChecker.isFocusable(element)) {\n element.tabIndex = -1;\n // The tabindex attribute should be removed to avoid navigating to that element again\n this._ngZone.runOutsideAngular(() => {\n const callback = () => {\n element.removeEventListener('blur', callback);\n element.removeEventListener('mousedown', callback);\n element.removeAttribute('tabindex');\n };\n element.addEventListener('blur', callback);\n element.addEventListener('mousedown', callback);\n });\n }\n element.focus(options);\n }\n /**\n * Focuses the first element that matches the given selector within the focus trap.\n * @param selector The CSS selector for the element to set focus to.\n */\n _focusByCssSelector(selector, options) {\n let elementToFocus = this._elementRef.nativeElement.querySelector(selector);\n if (elementToFocus) {\n this._forceFocus(elementToFocus, options);\n }\n }\n /**\n * Moves the focus inside the focus trap. When autoFocus is not set to 'dialog', if focus\n * cannot be moved then focus will go to the dialog container.\n */\n _trapFocus() {\n const element = this._elementRef.nativeElement;\n // If were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty when setting focus when autoFocus isn't set to\n // dialog. If the element inside the dialog can't be focused, then the container is focused\n // so the user can't tab into other elements behind it.\n switch (this._config.autoFocus) {\n case false:\n case 'dialog':\n // Ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n if (!this._containsFocus()) {\n element.focus();\n }\n break;\n case true:\n case 'first-tabbable':\n this._focusTrap.focusInitialElementWhenReady().then(focusedSuccessfully => {\n // If we weren't able to find a focusable element in the dialog, then focus the dialog\n // container instead.\n if (!focusedSuccessfully) {\n this._focusDialogContainer();\n }\n });\n break;\n case 'first-heading':\n this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role=\"heading\"]');\n break;\n default:\n this._focusByCssSelector(this._config.autoFocus);\n break;\n }\n }\n /** Restores focus to the element that was focused before the dialog opened. */\n _restoreFocus() {\n const focusConfig = this._config.restoreFocus;\n let focusTargetElement = null;\n if (typeof focusConfig === 'string') {\n focusTargetElement = this._document.querySelector(focusConfig);\n }\n else if (typeof focusConfig === 'boolean') {\n focusTargetElement = focusConfig ? this._elementFocusedBeforeDialogWasOpened : null;\n }\n else if (focusConfig) {\n focusTargetElement = focusConfig;\n }\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this._config.restoreFocus &&\n focusTargetElement &&\n typeof focusTargetElement.focus === 'function') {\n const activeElement = _getFocusedElementPierceShadowDom();\n const element = this._elementRef.nativeElement;\n // Make sure that focus is still inside the dialog or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (!activeElement ||\n activeElement === this._document.body ||\n activeElement === element ||\n element.contains(activeElement)) {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(focusTargetElement, this._closeInteractionType);\n this._closeInteractionType = null;\n }\n else {\n focusTargetElement.focus();\n }\n }\n }\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n /** Focuses the dialog container. */\n _focusDialogContainer() {\n // Note that there is no focus method when rendering on the server.\n if (this._elementRef.nativeElement.focus) {\n this._elementRef.nativeElement.focus();\n }\n }\n /** Returns whether focus is inside the dialog. */\n _containsFocus() {\n const element = this._elementRef.nativeElement;\n const activeElement = _getFocusedElementPierceShadowDom();\n return element === activeElement || element.contains(activeElement);\n }\n /** Sets up the focus trap. */\n _initializeFocusTrap() {\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n // Save the previously focused element. This element will be re-focused\n // when the dialog closes.\n if (this._document) {\n this._elementFocusedBeforeDialogWasOpened = _getFocusedElementPierceShadowDom();\n }\n }\n /** Sets up the listener that handles clicks on the dialog backdrop. */\n _handleBackdropClicks() {\n // Clicking on the backdrop will move focus out of dialog.\n // Recapture it if closing via the backdrop is disabled.\n this._overlayRef.backdropClick().subscribe(() => {\n if (this._config.disableClose) {\n this._recaptureFocus();\n }\n });\n }\n}\nCdkDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkDialogContainer, deps: [{ token: i0.ElementRef }, { token: i1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: DialogConfig }, { token: i1.InteractivityChecker }, { token: i0.NgZone }, { token: i1$1.OverlayRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });\nCdkDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkDialogContainer, selector: \"cdk-dialog-container\", host: { attributes: { \"tabindex\": \"-1\" }, properties: { \"attr.id\": \"_config.id || null\", \"attr.role\": \"_config.role\", \"attr.aria-modal\": \"_config.ariaModal\", \"attr.aria-labelledby\": \"_config.ariaLabel ? null : _ariaLabelledBy\", \"attr.aria-label\": \"_config.ariaLabel\", \"attr.aria-describedby\": \"_config.ariaDescribedBy || null\" }, classAttribute: \"cdk-dialog-container\" }, viewQueries: [{ propertyName: \"_portalOutlet\", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: \"`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal || null;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector,\n });\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE\n ? nativeElement\n : nativeElement.parentNode);\n }\n}\nCdkPortalOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkPortalOutlet, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortalOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkPortalOutlet, selector: \"[cdkPortalOutlet]\", inputs: { portal: [\"cdkPortalOutlet\", \"portal\"] }, outputs: { attached: \"attached\" }, exportAs: [\"cdkPortalOutlet\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkPortalOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet'],\n }]\n }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { attached: [{\n type: Output\n }] } });\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalHostDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nPortalHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: PortalHostDirective, selector: \"[cdkPortalHost], [portalHost]\", inputs: { portal: [\"cdkPortalHost\", \"portal\"] }, providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ], exportAs: [\"cdkPortalHost\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalHostDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ],\n }]\n }] });\nclass PortalModule {\n}\nPortalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPortalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalModule, declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] });\nPortalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n","import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Directive, Input, Injectable, Optional, Inject, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, SkipSelf, ElementRef, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nimport { getRtlScrollAxisType, supportsScrollBehavior, Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport * as i2 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport * as i2$1 from '@angular/cdk/collections';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the virtual scrolling strategy. */\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() {\n /* no-op */\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() {\n /* no-op */\n }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = { start: renderedRange.start, end: renderedRange.end };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n }\n else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() {\n return this._itemSize;\n }\n set itemSize(value) {\n this._itemSize = coerceNumberProperty(value);\n }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() {\n return this._minBufferPx;\n }\n set minBufferPx(value) {\n this._minBufferPx = coerceNumberProperty(value);\n }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() {\n return this._maxBufferPx;\n }\n set maxBufferPx(value) {\n this._maxBufferPx = coerceNumberProperty(value);\n }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n}\nCdkFixedSizeVirtualScroll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkFixedSizeVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkFixedSizeVirtualScroll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkFixedSizeVirtualScroll, selector: \"cdk-virtual-scroll-viewport[itemSize]\", inputs: { itemSize: \"itemSize\", minBufferPx: \"minBufferPx\", maxBufferPx: \"maxBufferPx\" }, providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkFixedSizeVirtualScroll, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ],\n }]\n }], propDecorators: { itemSize: [{\n type: Input\n }], minBufferPx: [{\n type: Input\n }], maxBufferPx: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled().subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * De-registers a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable((observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0\n ? this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer)\n : this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while ((element = element.parentElement));\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\nScrollDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollDispatcher, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* RtlScrollAxisType.NORMAL */) {\n if (options.left != null) {\n options.right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* RtlScrollAxisType.INVERTED */) {\n options.left = options.right;\n }\n else if (getRtlScrollAxisType() == 1 /* RtlScrollAxisType.NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n }\n else {\n if (options.right != null) {\n options.left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n }\n else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* RtlScrollAxisType.INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n else {\n return el.scrollLeft;\n }\n }\n else if (isRtl && getRtlScrollAxisType() == 1 /* RtlScrollAxisType.NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n }\n else {\n return -el.scrollLeft;\n }\n }\n else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n }\n else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\nCdkScrollable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkScrollable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkScrollable, selector: \"[cdk-scrollable], [cdkScrollable]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollable, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = (event) => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // Clear the cached position so that the viewport is re-measured next time it is required.\n // We don't need to keep track of the subscription, because it is completed on destroy.\n this.change().subscribe(() => (this._viewportSize = null));\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = { width: this._viewportSize.width, height: this._viewportSize.height };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const { width, height } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return { top: 0, left: 0 };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top ||\n document.body.scrollTop ||\n window.scrollY ||\n documentElement.scrollTop ||\n 0;\n const left = -documentRect.left ||\n document.body.scrollLeft ||\n window.scrollX ||\n documentElement.scrollLeft ||\n 0;\n return { top, left };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * This stream emits outside of the Angular zone.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 0, height: 0 };\n }\n}\nViewportRuler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ViewportRuler, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nViewportRuler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ViewportRuler, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ViewportRuler, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst VIRTUAL_SCROLLABLE = new InjectionToken('VIRTUAL_SCROLLABLE');\n/**\n * Extending the {@link CdkScrollable} to be used as scrolling container for virtual scrolling.\n */\nclass CdkVirtualScrollable extends CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n }\n /**\n * Measure the viewport size for the provided orientation.\n *\n * @param orientation The orientation to measure the size from.\n */\n measureViewportSize(orientation) {\n const viewportEl = this.elementRef.nativeElement;\n return orientation === 'horizontal' ? viewportEl.clientWidth : viewportEl.clientHeight;\n }\n}\nCdkVirtualScrollable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualScrollable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualScrollable, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollable, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkVirtualScrollable {\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler, scrollable) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n this.scrollable = scrollable;\n this._platform = inject(Platform);\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n this._appendOnly = false;\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = { start: 0, end: 0 };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n if (!this.scrollable) {\n // No scrollable is provided, so the virtual-scroll-viewport needs to become a scrollable\n this.elementRef.nativeElement.classList.add('cdk-virtual-scrollable');\n this.scrollable = this;\n }\n }\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n /**\n * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n * will be removed.\n */\n get appendOnly() {\n return this._appendOnly;\n }\n set appendOnly(value) {\n this._appendOnly = coerceBooleanProperty(value);\n }\n ngOnInit() {\n // Scrolling depends on the element dimensions which we can't get during SSR.\n if (!this._platform.isBrowser) {\n return;\n }\n if (this.scrollable === this) {\n super.ngOnInit();\n }\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.scrollable\n .elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null), \n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return this.getElementRef().nativeElement.getBoundingClientRect()[from];\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n if (this.appendOnly) {\n range = { start: 0, end: Math.max(this._renderedRange.end, range.end) };\n }\n this._renderedRangeSubject.next((this._renderedRange = range));\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // In appendOnly, we always start from the top\n offset = this.appendOnly && to === 'to-start' ? 0 : offset;\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n }\n else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = { behavior };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n }\n else {\n options.top = offset;\n }\n this.scrollable.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the scrollable (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n // This is to break the call cycle\n let measureScrollOffset;\n if (this.scrollable == this) {\n measureScrollOffset = (_from) => super.measureScrollOffset(_from);\n }\n else {\n measureScrollOffset = (_from) => this.scrollable.measureScrollOffset(_from);\n }\n return Math.max(0, measureScrollOffset(from ?? (this.orientation === 'horizontal' ? 'start' : 'top')) -\n this.measureViewportOffset());\n }\n /**\n * Measures the offset of the viewport from the scrolling container\n * @param from The edge to measure from.\n */\n measureViewportOffset(from) {\n let fromRect;\n const LEFT = 'left';\n const RIGHT = 'right';\n const isRtl = this.dir?.value == 'rtl';\n if (from == 'start') {\n fromRect = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n fromRect = isRtl ? LEFT : RIGHT;\n }\n else if (from) {\n fromRect = from;\n }\n else {\n fromRect = this.orientation === 'horizontal' ? 'left' : 'top';\n }\n const scrollerClientRect = this.scrollable.measureBoundingClientRectWithScrollOffset(fromRect);\n const viewportClientRect = this.elementRef.nativeElement.getBoundingClientRect()[fromRect];\n return viewportClientRect - scrollerClientRect;\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n this._viewportSize = this.scrollable.measureViewportSize(this.orientation);\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\nCdkVirtualScrollViewport.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollViewport, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: VIRTUAL_SCROLL_STRATEGY, optional: true }, { token: i2.Directionality, optional: true }, { token: ScrollDispatcher }, { token: ViewportRuler }, { token: VIRTUAL_SCROLLABLE, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nCdkVirtualScrollViewport.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualScrollViewport, selector: \"cdk-virtual-scroll-viewport\", inputs: { orientation: \"orientation\", appendOnly: \"appendOnly\" }, outputs: { scrolledIndexChange: \"scrolledIndexChange\" }, host: { properties: { \"class.cdk-virtual-scroll-orientation-horizontal\": \"orientation === \\\"horizontal\\\"\", \"class.cdk-virtual-scroll-orientation-vertical\": \"orientation !== \\\"horizontal\\\"\" }, classAttribute: \"cdk-virtual-scroll-viewport\" }, providers: [\n {\n provide: CdkScrollable,\n useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport,\n deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], CdkVirtualScrollViewport],\n },\n ], viewQueries: [{ propertyName: \"_contentWrapper\", first: true, predicate: [\"contentWrapper\"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: \"\\n \\n \\n\\n\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollViewport, decorators: [{\n type: Component,\n args: [{ selector: 'cdk-virtual-scroll-viewport', host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"',\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: CdkScrollable,\n useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport,\n deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], CdkVirtualScrollViewport],\n },\n ], template: \"\\n\\n \\n\\n\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }, { type: ScrollDispatcher }, { type: ViewportRuler }, { type: CdkVirtualScrollable, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLLABLE]\n }] }]; }, propDecorators: { orientation: [{\n type: Input\n }], appendOnly: [{\n type: Input\n }], scrolledIndexChange: [{\n type: Output\n }], _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', { static: true }]\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n constructor(\n /** The view container to add items to. */\n _viewContainerRef, \n /** The template to use when stamping out new items. */\n _template, \n /** The set of available differs. */\n _differs, \n /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, \n /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges.pipe(\n // Start off with null `DataSource`.\n startWith(null), \n // Bundle up the previous and current data sources so we can work with both.\n pairwise(), \n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), \n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n if (this.viewChange.observers.length) {\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n }\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n }\n else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn\n ? (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item)\n : undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode\n ? getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode)\n : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n }\n else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), record => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record) => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false,\n },\n index,\n };\n }\n}\nCdkVirtualForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: _VIEW_REPEATER_STRATEGY }, { token: CdkVirtualScrollViewport, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualForOf, selector: \"[cdkVirtualFor][cdkVirtualForOf]\", inputs: { cdkVirtualForOf: \"cdkVirtualForOf\", cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\", cdkVirtualForTemplate: \"cdkVirtualForTemplate\", cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\" }, providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }],\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }, { type: i2$1._RecycleViewRepeaterStrategy, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: CdkVirtualScrollViewport, decorators: [{\n type: SkipSelf\n }] }, { type: i0.NgZone }]; }, propDecorators: { cdkVirtualForOf: [{\n type: Input\n }], cdkVirtualForTrackBy: [{\n type: Input\n }], cdkVirtualForTemplate: [{\n type: Input\n }], cdkVirtualForTemplateCacheSize: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides a virtual scrollable for the element it is attached to.\n */\nclass CdkVirtualScrollableElement extends CdkVirtualScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return (this.getElementRef().nativeElement.getBoundingClientRect()[from] -\n this.measureScrollOffset(from));\n }\n}\nCdkVirtualScrollableElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollableElement, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualScrollableElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualScrollableElement, selector: \"[cdkVirtualScrollingElement]\", host: { classAttribute: \"cdk-virtual-scrollable\" }, providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableElement }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollableElement, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualScrollingElement]',\n providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableElement }],\n host: {\n 'class': 'cdk-virtual-scrollable',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides as virtual scrollable for the global / window scrollbar.\n */\nclass CdkVirtualScrollableWindow extends CdkVirtualScrollable {\n constructor(scrollDispatcher, ngZone, dir) {\n super(new ElementRef(document.documentElement), scrollDispatcher, ngZone, dir);\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(document, 'scroll').pipe(takeUntil(this._destroyed)).subscribe(observer)));\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return this.getElementRef().nativeElement.getBoundingClientRect()[from];\n }\n}\nCdkVirtualScrollableWindow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollableWindow, deps: [{ token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualScrollableWindow.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualScrollableWindow, selector: \"cdk-virtual-scroll-viewport[scrollWindow]\", providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableWindow }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollableWindow, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[scrollWindow]',\n providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableWindow }],\n }]\n }], ctorParameters: function () { return [{ type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkScrollableModule {\n}\nCdkScrollableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkScrollableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollableModule, declarations: [CdkScrollable], exports: [CdkScrollable] });\nCdkScrollableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollableModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollableModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n declarations: [CdkScrollable],\n }]\n }] });\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n}\nScrollingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nScrollingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollingModule, declarations: [CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n CdkVirtualScrollableWindow,\n CdkVirtualScrollableElement], imports: [BidiModule, CdkScrollableModule], exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n CdkVirtualScrollableWindow,\n CdkVirtualScrollableElement] });\nScrollingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollingModule, imports: [BidiModule, CdkScrollableModule, BidiModule, CdkScrollableModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollingModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, CdkScrollableModule],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n CdkVirtualScrollableWindow,\n CdkVirtualScrollableElement,\n ],\n declarations: [\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n CdkVirtualScrollableWindow,\n CdkVirtualScrollableElement,\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/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollable, CdkVirtualScrollableElement, CdkVirtualScrollableWindow, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLLABLE, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n","/**\n * @license Angular v14.2.10\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.10\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.10\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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.10\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.10\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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.10\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.10\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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 `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. Content to render when condition is true. \n * {{value}} \n * \n * ...\n * \n *\n * Loading... \n * \n * ...\n * \n * Loading... \n * \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.10\", 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.10\", ngImport: i0, type: DatePipe, isStandalone: true, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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.10\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.10\", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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.10\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.10\", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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.10\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.10\", ngImport: i0, type: JsonPipe, isStandalone: true, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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.10\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.10\", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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: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 * ```\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 * {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.10\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.10\", ngImport: i0, type: PercentPipe, isStandalone: true, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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 * {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.10\", 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.10\", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.10\", 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 * |
---|