{"version":3,"file":"main.67df5366098e3f05.js","mappings":"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,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAC//CC,EAAI,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,KAG//CC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAG1/FC,GAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,SAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,YAG1/FC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAE9/F,SAASC,GAAe96H,IAEpB,QADIj+M,GAAS,GACJyqB,GAAI,EAAGA,GAAIwzL,GAAMnpN,OAAQ21B,IAAK,EACnCzqB,GAAOwkC,KACFy5K,GAAMxzL,KAAU,GAChBwzL,GAAMxzL,GAAI,IAAM,GAChBwzL,GAAMxzL,GAAI,IAAO,EACjBwzL,GAAMxzL,GAAI,IAGnB,OAAOzqB,EACX,CAEA,IAAIg5U,GAAM,SAASp1S,IACf,KAAMlhC,gBAAgBs2U,IAClB,MAAMzuS,MAAM,uCAGhBzY,OAAO0rD,eAAe96E,KAAM,MAAO,CAC/B1S,MAAOknV,EAAYtzS,IAAK,KAG5BlhC,KAAKu2U,UACT,EAGAD,GAAIxuS,UAAUyuS,SAAW,WAErB,IAAIC,GAASnB,EAAer1U,KAAKkhC,IAAI9uC,QACrC,GAAc,MAAVokV,GACA,MAAM,IAAI3uS,MAAM,iDAIpB7nC,KAAKy2U,IAAM,GAGXz2U,KAAK02U,IAAM,GAEX,QAAS3uT,GAAI,EAAGA,IAAKyuT,GAAQzuT,KACzB/nB,KAAKy2U,IAAI30S,KAAK,CAAC,EAAG,EAAG,EAAG,IACxB9hC,KAAK02U,IAAI50S,KAAK,CAAC,EAAG,EAAG,EAAG,IAW5B,IADIzpB,GAPAs+T,GAA+B,GAAdH,GAAS,GAC1BI,GAAK52U,KAAKkhC,IAAI9uC,OAAS,EAGvBykV,GAAKR,GAAer2U,KAAKkhC,KAI7B,IAASnZ,GAAI,EAAGA,GAAI6uT,GAAI7uT,KAEpB/nB,KAAKy2U,IADLp+T,GAAQ0P,IAAK,GACGA,GAAI,GAAK8uT,GAAG9uT,IAC5B/nB,KAAK02U,IAAIF,GAASn+T,IAAO0P,GAAI,GAAK8uT,GAAG9uT,IAMzC,QADYm3L,GADR43H,GAAc,EACdvoU,GAAIqoU,GACDroU,GAAIooU,IAAe,CAUtB,GARAE,GAAG,IAAQtB,GADXr2H,GAAK23H,GAAGD,GAAK,KACO,GAAM,MAAS,GACxBrB,EAAGr2H,IAAO,EAAK,MAAS,GACxBq2H,EAAe,IAAZr2H,KAAsB,EACzBq2H,EAAGr2H,IAAM,GAAM,KACfo2H,EAAKwB,KAAgB,GAChCA,IAAe,EAGL,GAANF,GACA,IAAS7uT,GAAI,EAAGA,GAAI6uT,GAAI7uT,KACpB8uT,GAAG9uT,KAAM8uT,GAAG9uT,GAAI,OAIjB,CACH,IAASA,GAAI,EAAGA,GAAK6uT,GAAK,EAAI7uT,KAC1B8uT,GAAG9uT,KAAM8uT,GAAG9uT,GAAI,GASpB,IALA8uT,GAAGD,GAAK,IAAOrB,EAAe,KAF9Br2H,GAAK23H,GAAID,GAAK,EAAK,KAGJrB,EAAGr2H,IAAO,EAAK,MAAU,EACzBq2H,EAAGr2H,IAAM,GAAM,MAAS,GACxBq2H,EAAGr2H,IAAM,GAAM,MAAS,GAE9Bn3L,GAAK6uT,GAAK,EAAK,EAAG7uT,GAAI6uT,GAAI7uT,KAC/B8uT,GAAG9uT,KAAM8uT,GAAG9uT,GAAI,EAExB,CAIA,IADIA,GAAI,EACDA,GAAI6uT,IAAMroU,GAAIooU,IAGjB32U,KAAKy2U,IAFL98S,GAAIprB,IAAK,GACT9b,GAAI8b,GAAI,GACSsoU,GAAG9uT,IACpB/nB,KAAK02U,IAAIF,GAAS78S,IAAGlnC,IAAKokV,GAAG9uT,MAC7BxZ,IAER,CAGA,QAASorB,GAAI,EAAGA,GAAI68S,GAAQ78S,KACxB,QAASlnC,GAAI,EAAGA,GAAI,EAAGA,KAEnBuN,KAAK02U,IAAI/8S,IAAGlnC,IAAMwjV,IADlB/2H,GAAKl/M,KAAK02U,IAAI/8S,IAAGlnC,MACW,GAAM,KAChByjV,GAAIh3H,IAAM,GAAM,KAChBi3H,GAAIj3H,IAAO,EAAK,KAChBk3H,GAAgB,IAAZl3H,GAGlC,EAEAo3H,GAAIxuS,UAAUivS,QAAU,SAASC,IAC7B,GAAwB,IAApBA,GAAU5kV,OACV,MAAM,IAAIy1C,MAAM,6CAQpB,QALI2uS,GAASx2U,KAAKy2U,IAAIrkV,OAAS,EAC3BoG,GAAI,CAAC,EAAG,EAAG,EAAG,GAGd+V,GAAI8nU,GAAeW,IACdjvT,GAAI,EAAGA,GAAI,EAAGA,KACnBxZ,GAAEwZ,KAAM/nB,KAAKy2U,IAAI,GAAG1uT,IAIxB,QAAS4R,GAAI,EAAGA,GAAI68S,GAAQ78S,KAAK,CAC7B,IAAS5R,GAAI,EAAGA,GAAI,EAAGA,KACnBvvB,GAAEuvB,IAAM0tT,GAAIlnU,GAAGwZ,KAAe,GAAM,KAC5B2tT,GAAInnU,IAAGwZ,GAAI,GAAK,IAAM,GAAM,KAC5B4tT,GAAIpnU,IAAGwZ,GAAI,GAAK,IAAO,EAAK,KAC5B6tT,GAA4B,IAAxBrnU,IAAGwZ,GAAI,GAAK,IAChB/nB,KAAKy2U,IAAI98S,IAAG5R,IAExBxZ,GAAI/V,GAAEopC,OACV,CAIA,IAD8Bs9K,GAA1B5hN,GAASm3U,EAAY,IACzB,IAAS1sT,GAAI,EAAGA,GAAI,EAAGA,KAEnBzqB,GAAO,EAAIyqB,IAA2D,KAAjDwtT,EAAGhnU,GAAGwZ,KAAe,GAAM,MADhDm3L,GAAKl/M,KAAKy2U,IAAID,IAAQzuT,MACyC,IAC/DzqB,GAAO,EAAIyqB,GAAI,GAAuD,KAAjDwtT,EAAGhnU,IAAGwZ,GAAI,GAAK,IAAM,GAAM,KAASm3L,IAAM,IAC/D5hN,GAAO,EAAIyqB,GAAI,GAAuD,KAAjDwtT,EAAGhnU,IAAGwZ,GAAI,GAAK,IAAO,EAAK,KAASm3L,IAAO,GAChE5hN,GAAO,EAAIyqB,GAAI,GAAuD,KAAjDwtT,EAA2B,IAAxBhnU,IAAGwZ,GAAI,GAAK,IAAqBm3L,IAG7D,OAAO5hN,EACX,EAEAg5U,GAAIxuS,UAAU4lC,QAAU,SAASupQ,IAC7B,GAAyB,IAArBA,GAAW7kV,OACX,MAAM,IAAIy1C,MAAM,8CAQpB,QALI2uS,GAASx2U,KAAK02U,IAAItkV,OAAS,EAC3BoG,GAAI,CAAC,EAAG,EAAG,EAAG,GAGd+V,GAAI8nU,GAAeY,IACdlvT,GAAI,EAAGA,GAAI,EAAGA,KACnBxZ,GAAEwZ,KAAM/nB,KAAK02U,IAAI,GAAG3uT,IAIxB,QAAS4R,GAAI,EAAGA,GAAI68S,GAAQ78S,KAAK,CAC7B,IAAS5R,GAAI,EAAGA,GAAI,EAAGA,KACnBvvB,GAAEuvB,IAAM8tT,GAAItnU,GAAGwZ,KAAgB,GAAM,KAC7B+tT,GAAIvnU,IAAGwZ,GAAI,GAAK,IAAM,GAAM,KAC5BguT,GAAIxnU,IAAGwZ,GAAI,GAAK,IAAO,EAAK,KAC5BiuT,GAA4B,IAAxBznU,IAAGwZ,GAAI,GAAK,IAChB/nB,KAAK02U,IAAI/8S,IAAG5R,IAExBxZ,GAAI/V,GAAEopC,OACV,CAIA,IAD8Bs9K,GAA1B5hN,GAASm3U,EAAY,IACzB,IAAS1sT,GAAI,EAAGA,GAAI,EAAGA,KAEnBzqB,GAAO,EAAIyqB,IAA4D,KAAlDytT,EAAIjnU,GAAGwZ,KAAe,GAAM,MADjDm3L,GAAKl/M,KAAK02U,IAAIF,IAAQzuT,MAC0C,IAChEzqB,GAAO,EAAIyqB,GAAI,GAAwD,KAAlDytT,EAAIjnU,IAAGwZ,GAAI,GAAK,IAAM,GAAM,KAASm3L,IAAM,IAChE5hN,GAAO,EAAIyqB,GAAI,GAAwD,KAAlDytT,EAAIjnU,IAAGwZ,GAAI,GAAK,IAAO,EAAK,KAASm3L,IAAO,GACjE5hN,GAAO,EAAIyqB,GAAI,GAAwD,KAAlDytT,EAA4B,IAAxBjnU,IAAGwZ,GAAI,GAAK,IAAqBm3L,IAG9D,OAAO5hN,EACX,EAMA,IAAI45U,GAAqB,SAASh2S,IAC9B,KAAMlhC,gBAAgBk3U,IAClB,MAAMrvS,MAAM,uCAGhB7nC,KAAKwjR,YAAc,wBACnBxjR,KAAKxS,KAAO,MAEZwS,KAAKm3U,KAAO,IAAIb,GAAIp1S,GACxB,EAEAg2S,GAAmBpvS,UAAUivS,QAAU,SAASC,IAG5C,IAFAA,GAAYxC,EAAYwC,KAET5kV,OAAS,IAAQ,EAC5B,MAAM,IAAIy1C,MAAM,yDAMpB,QAHIovS,GAAaxC,EAAYuC,GAAU5kV,QACnCuxO,GAAQ8wG,EAAY,IAEf1sT,GAAI,EAAGA,GAAIivT,GAAU5kV,OAAQ21B,IAAK,GACvC2sT,EAAUsC,GAAWrzG,GAAO,EAAG57M,GAAGA,GAAI,IAEtC2sT,EADA/wG,GAAQ3jO,KAAKm3U,KAAKJ,QAAQpzG,IACTszG,GAAYlvT,IAGjC,OAAOkvT,EACX,EAEAC,GAAmBpvS,UAAU4lC,QAAU,SAASupQ,IAG5C,IAFAA,GAAazC,EAAYyC,KAET7kV,OAAS,IAAQ,EAC7B,MAAM,IAAIy1C,MAAM,0DAMpB,QAHImvS,GAAYvC,EAAYwC,GAAW7kV,QACnCuxO,GAAQ8wG,EAAY,IAEf1sT,GAAI,EAAGA,GAAIkvT,GAAW7kV,OAAQ21B,IAAK,GACxC2sT,EAAUuC,GAAYtzG,GAAO,EAAG57M,GAAGA,GAAI,IAEvC2sT,EADA/wG,GAAQ3jO,KAAKm3U,KAAKzpQ,QAAQi2J,IACTqzG,GAAWjvT,IAGhC,OAAOivT,EACX,EAMA,IAAII,GAAqB,SAASl2S,GAAKm2S,IACnC,KAAMr3U,gBAAgBo3U,IAClB,MAAMvvS,MAAM,uCAMhB,GAHA7nC,KAAKwjR,YAAc,wBACnBxjR,KAAKxS,KAAO,MAEP6pV,IACkB,GAEC,IAAbA,GAAGjlV,OACV,MAAM,IAAIy1C,MAAM,4DAHhBwvS,GAAK5C,EAAY,IAMrBz0U,KAAKs3U,iBAAmB9C,EAAY6C,IAAI,GAExCr3U,KAAKm3U,KAAO,IAAIb,GAAIp1S,GACxB,EAEAk2S,GAAmBtvS,UAAUivS,QAAU,SAASC,IAG5C,IAFAA,GAAYxC,EAAYwC,KAET5kV,OAAS,IAAQ,EAC5B,MAAM,IAAIy1C,MAAM,yDAMpB,QAHIovS,GAAaxC,EAAYuC,GAAU5kV,QACnCuxO,GAAQ8wG,EAAY,IAEf1sT,GAAI,EAAGA,GAAIivT,GAAU5kV,OAAQ21B,IAAK,GAAI,CAC3C2sT,EAAUsC,GAAWrzG,GAAO,EAAG57M,GAAGA,GAAI,IAEtC,QAASg0D,GAAI,EAAGA,GAAI,GAAIA,KACpB4nJ,GAAM5nJ,KAAM/7E,KAAKs3U,iBAAiBv7P,IAGtC/7E,KAAKs3U,iBAAmBt3U,KAAKm3U,KAAKJ,QAAQpzG,IAC1C+wG,EAAU10U,KAAKs3U,iBAAkBL,GAAYlvT,GACjD,CAEA,OAAOkvT,EACX,EAEAG,GAAmBtvS,UAAU4lC,QAAU,SAASupQ,IAG5C,IAFAA,GAAazC,EAAYyC,KAET7kV,OAAS,IAAQ,EAC7B,MAAM,IAAIy1C,MAAM,0DAMpB,QAHImvS,GAAYvC,EAAYwC,GAAW7kV,QACnCuxO,GAAQ8wG,EAAY,IAEf1sT,GAAI,EAAGA,GAAIkvT,GAAW7kV,OAAQ21B,IAAK,GAAI,CAC5C2sT,EAAUuC,GAAYtzG,GAAO,EAAG57M,GAAGA,GAAI,IACvC47M,GAAQ3jO,KAAKm3U,KAAKzpQ,QAAQi2J,IAE1B,QAAS5nJ,GAAI,EAAGA,GAAI,GAAIA,KACpBi7P,GAAUjvT,GAAIg0D,IAAK4nJ,GAAM5nJ,IAAK/7E,KAAKs3U,iBAAiBv7P,IAGxD24P,EAAUuC,GAAYj3U,KAAKs3U,iBAAkB,EAAGvvT,GAAGA,GAAI,GAC3D,CAEA,OAAOivT,EACX,EAMA,IAAIO,GAAqB,SAASr2S,GAAKm2S,GAAIG,IACvC,KAAMx3U,gBAAgBu3U,IAClB,MAAM1vS,MAAM,uCAMhB,GAHA7nC,KAAKwjR,YAAc,kBACnBxjR,KAAKxS,KAAO,MAEP6pV,IACkB,GAEC,IAAbA,GAAGjlV,OACV,MAAM,IAAIy1C,MAAM,2DAHhBwvS,GAAK5C,EAAY,IAMhB+C,KAAeA,GAAc,GAElCx3U,KAAKw3U,YAAcA,GAEnBx3U,KAAKy3U,eAAiBjD,EAAY6C,IAAI,GAEtCr3U,KAAKm3U,KAAO,IAAIb,GAAIp1S,GACxB,EAEAq2S,GAAmBzvS,UAAUivS,QAAU,SAASC,IAC5C,GAAKA,GAAU5kV,OAAS4N,KAAKw3U,aAAgB,EACzC,MAAM,IAAI3vS,MAAM,sDAMpB,QADI6vS,GAFAC,GAAYnD,EAAYwC,IAAW,GAG9BjvT,GAAI,EAAGA,GAAI4vT,GAAUvlV,OAAQ21B,IAAK/nB,KAAKw3U,YAAa,CACzDE,GAAa13U,KAAKm3U,KAAKJ,QAAQ/2U,KAAKy3U,gBACpC,QAAS17P,GAAI,EAAGA,GAAI/7E,KAAKw3U,YAAaz7P,KAClC47P,GAAU5vT,GAAIg0D,KAAM27P,GAAW37P,IAInC24P,EAAU10U,KAAKy3U,eAAgBz3U,KAAKy3U,eAAgB,EAAGz3U,KAAKw3U,aAC5D9C,EAAUiD,GAAW33U,KAAKy3U,eAAgB,GAAKz3U,KAAKw3U,YAAazvT,GAAGA,GAAI/nB,KAAKw3U,YACjF,CAEA,OAAOG,EACX,EAEAJ,GAAmBzvS,UAAU4lC,QAAU,SAASupQ,IAC5C,GAAKA,GAAW7kV,OAAS4N,KAAKw3U,aAAgB,EAC1C,MAAM,IAAI3vS,MAAM,uDAMpB,QADI6vS,GAFAV,GAAYxC,EAAYyC,IAAY,GAG/BlvT,GAAI,EAAGA,GAAIivT,GAAU5kV,OAAQ21B,IAAK/nB,KAAKw3U,YAAa,CACzDE,GAAa13U,KAAKm3U,KAAKJ,QAAQ/2U,KAAKy3U,gBAEpC,QAAS17P,GAAI,EAAGA,GAAI/7E,KAAKw3U,YAAaz7P,KAClCi7P,GAAUjvT,GAAIg0D,KAAM27P,GAAW37P,IAInC24P,EAAU10U,KAAKy3U,eAAgBz3U,KAAKy3U,eAAgB,EAAGz3U,KAAKw3U,aAC5D9C,EAAUuC,GAAYj3U,KAAKy3U,eAAgB,GAAKz3U,KAAKw3U,YAAazvT,GAAGA,GAAI/nB,KAAKw3U,YAClF,CAEA,OAAOR,EACX,EAKA,IAAIY,GAAqB,SAAS12S,GAAKm2S,IACnC,KAAMr3U,gBAAgB43U,IAClB,MAAM/vS,MAAM,uCAMhB,GAHA7nC,KAAKwjR,YAAc,kBACnBxjR,KAAKxS,KAAO,MAEP6pV,IACkB,GAEC,IAAbA,GAAGjlV,OACV,MAAM,IAAIy1C,MAAM,4DAHhBwvS,GAAK5C,EAAY,IAMrBz0U,KAAK63U,eAAiBrD,EAAY6C,IAAI,GACtCr3U,KAAK83U,oBAAsB,GAE3B93U,KAAKm3U,KAAO,IAAIb,GAAIp1S,GACxB,EAEA02S,GAAmB9vS,UAAUivS,QAAU,SAASC,IAG5C,QAFIW,GAAYnD,EAAYwC,IAAW,GAE9BjvT,GAAI,EAAGA,GAAI4vT,GAAUvlV,OAAQ21B,KACD,KAA7B/nB,KAAK83U,sBACL93U,KAAK63U,eAAiB73U,KAAKm3U,KAAKJ,QAAQ/2U,KAAK63U,gBAC7C73U,KAAK83U,oBAAsB,GAE/BH,GAAU5vT,KAAM/nB,KAAK63U,eAAe73U,KAAK83U,uBAG7C,OAAOH,EACX,EAGAC,GAAmB9vS,UAAU4lC,QAAUkqQ,GAAmB9vS,UAAUivS,QAMpE,IAAIgB,GAAU,SAASr/M,IACnB,KAAM14H,gBAAgB+3U,IAClB,MAAMlwS,MAAM,2CAIK,IAAjB6wF,KAAuBA,KAAgBA,GAAe,GAE7B,iBAAlBA,IACP14H,KAAKg4U,SAAWvD,EAAY,IAC5Bz0U,KAAKmM,SAASusH,KAGd14H,KAAKi4U,SAASv/M,GAEtB,EAEAq/M,GAAQjwS,UAAU37B,SAAW,SAAS7e,IAClC,GAAsB,iBAAXA,IAAuBi/F,SAASj/F,KAAUA,GACjD,MAAM,IAAIu6C,MAAM,8CAIpB,GAAIv6C,GAAQkzD,OAAO03R,iBACf,MAAM,IAAIrwS,MAAM,mCAGpB,QAASxvB,GAAQ,GAAIA,IAAS,IAAKA,GAC/BrY,KAAKg4U,SAAS3/T,IAAS/qB,GAAQ,IAC/BA,GAAQi/F,SAASj/F,GAAQ,IAEjC,EAEAyqV,GAAQjwS,UAAUmwS,SAAW,SAAS18H,IAGlC,GAAoB,KAFpBA,GAAQi5H,EAAYj5H,IAAO,IAEjBnpN,OACN,MAAM,IAAIy1C,MAAM,iDAGpB7nC,KAAKg4U,SAAWz8H,EACpB,EAEAw8H,GAAQjwS,UAAUqwS,UAAY,WAC1B,QAASpwT,GAAI,GAAIA,IAAK,EAAGA,KACrB,IAAyB,MAArB/nB,KAAKg4U,SAASjwT,IAEX,CACH/nB,KAAKg4U,SAASjwT,MACd,KACJ,CAJI/nB,KAAKg4U,SAASjwT,IAAK,CAIvB,CAER,EAMA,IAAIqwT,GAAqB,SAASl3S,GAAKm3S,IACnC,KAAMr4U,gBAAgBo4U,IAClB,MAAMvwS,MAAM,uCAGhB7nC,KAAKwjR,YAAc,UACnBxjR,KAAKxS,KAAO,MAEN6qV,cAAmBN,KACrBM,GAAU,IAAIN,GAAQM,KAG1Br4U,KAAKg4U,SAAWK,GAEhBr4U,KAAKs4U,kBAAoB,KACzBt4U,KAAKu4U,uBAAyB,GAE9Bv4U,KAAKm3U,KAAO,IAAIb,GAAIp1S,GACxB,EAEAk3S,GAAmBtwS,UAAUivS,QAAU,SAASC,IAG5C,QAFIW,GAAYnD,EAAYwC,IAAW,GAE9BjvT,GAAI,EAAGA,GAAI4vT,GAAUvlV,OAAQ21B,KACE,KAAhC/nB,KAAKu4U,yBACLv4U,KAAKs4U,kBAAoBt4U,KAAKm3U,KAAKJ,QAAQ/2U,KAAKg4U,SAASA,UACzDh4U,KAAKu4U,uBAAyB,EAC9Bv4U,KAAKg4U,SAASG,aAElBR,GAAU5vT,KAAM/nB,KAAKs4U,kBAAkBt4U,KAAKu4U,0BAGhD,OAAOZ,EACX,EAGAS,GAAmBtwS,UAAU4lC,QAAU0qQ,GAAmBtwS,UAAUivS,QA4EhEyB,EAAO9oI,QAlCC,CACR4mI,IAAKA,GACLyB,QAASA,GAETU,gBAAiB,CACbC,IAAKxB,GACLzpQ,IAAK2pQ,GACLuB,IAAKpB,GACLqB,IAAKhB,GACLiB,IAAKT,IAGTU,MAAO,CACH79E,IAAKk6E,EACL4D,KAAM/D,GAGVxjD,QAAS,CACLwnD,MAAO,CACH71P,IAtDZ,SAAS81P,GAAS7rV,IAEd,IAAI8rV,GAAS,IADb9rV,GAAOonV,EAAYpnV,IAAM,IACDgF,OAAS,GAC7BkL,GAASm3U,EAAYrnV,GAAKgF,OAAS8mV,IACvCxE,EAAUtnV,GAAMkQ,IAChB,QAASyqB,GAAI36B,GAAKgF,OAAQ21B,GAAIzqB,GAAOlL,OAAQ21B,KACzCzqB,GAAOyqB,IAAKmxT,GAEhB,OAAO57U,EACX,EA8CY67U,MA5CZ,SAASC,GAAWhsV,IAEhB,IADAA,GAAOonV,EAAYpnV,IAAM,IAChBgF,OAAS,GAAM,MAAM,IAAIy1C,MAAM,yBAExC,IAAIqxS,GAAS9rV,GAAKA,GAAKgF,OAAS,GAChC,GAAI8mV,GAAS,GAAM,MAAM,IAAIrxS,MAAM,oCAGnC,QADIz1C,GAAShF,GAAKgF,OAAS8mV,GAClBnxT,GAAI,EAAGA,GAAImxT,GAAQnxT,KACxB,GAAI36B,GAAKgF,GAAS21B,MAAOmxT,GACrB,MAAM,IAAIrxS,MAAM,+BAIxB,IAAIvqC,GAASm3U,EAAYriV,IACzBsiV,SAAUtnV,GAAMkQ,GAAQ,EAAG,EAAGlL,IACvBkL,EACX,IA+BI+7U,WAAY,CACR7E,YAAaA,EACbC,YAAaA,EACbC,UAAWA,GA2BvB,CAjyBA,+BCKAhlI,KAyGA,SAAS4pI,EAAcl3S,GACrB,GAAIA,EAAIhwC,OAAS,GAAM,EACrB,MAAM,IAAIy1C,MAAM,kCAGlB,IAAIxvB,EAAQ+pB,EAAIvwC,QAAQ,KAExB,IAAc,IAAVwmB,GAAgBA,EAAQ+pB,EAAIhwC,OAAS,EACvC,MAAM,IAAIy1C,MAAM,kCAQlB,QAFIuqB,GAHAmnR,EAAgBn3S,EAAImD,SAAS,MAAQ,EAAInD,EAAImD,SAAS,KAAO,EAAI,EACjE9zC,GAAI2wC,EAAIhwC,OACRkL,GAAS,IAAI+tC,WAAgB55C,GAAI,EAAT,GAGnBs2B,GAAI,EAAGg0D,GAAI,EAAGh0D,GAAIt2B,GAAGs2B,IAAK,EAAGg0D,IAAK,EACzC3pB,GAASonR,EAAcp3S,EAAIkI,WAAWviB,MAAO,GAAKyxT,EAAcp3S,EAAIkI,WAAWviB,GAAI,KAAO,GAAKyxT,EAAcp3S,EAAIkI,WAAWviB,GAAI,KAAO,EAAIyxT,EAAcp3S,EAAIkI,WAAWviB,GAAI,IAC5KzqB,GAAOy+E,IAAK3pB,IAAU,GACtB90D,GAAOy+E,GAAI,GAAK3pB,IAAU,EAAI,IAC9B90D,GAAOy+E,GAAI,GAAc,IAAT3pB,GAGlB,OAAO90D,GAAO4vE,SAAS,EAAG5vE,GAAOlL,OAASmnV,EAC5C,EAnFA,IAaIE,EAAc,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAE1iB,SAASD,EAAcvoC,GACrB,GAAIA,GAAYwoC,EAAYrnV,OAC1B,MAAM,IAAIy1C,MAAM,kCAGlB,IAAIt7C,EAAOktV,EAAYxoC,GAEvB,GAAa,MAAT1kT,EACF,MAAM,IAAIs7C,MAAM,kCAGlB,OAAOt7C,CACT,gCC7EA,IAAImtV,EAAkBC,EAAQ,MAC1BC,EAAkBD,EAAQ,OAC1BphS,EAAkBohS,EAAQ,OAC1BE,EAAkBF,EAAQ,OAC1B/qT,EAAkB+qT,EAAQ,QAErBnB,EAAO9oI,QAAU,SAAUoqI,EAAMxsV,GACzC,IAAImF,EAAG+sC,EAAGklE,GAAG99E,GAASg+I,GACtB,OAAIn0H,UAAUr+C,OAAS,GAAqB,iBAAT0nV,GAClClzT,GAAUt5B,EACVA,EAAQwsV,EACRA,EAAO,MAEPlzT,GAAU6pB,UAAU,GAEjBipS,EAAQI,IACXrnV,EAAIm8B,EAAS85B,KAAKoxR,EAAM,KACxBt6S,EAAI5Q,EAAS85B,KAAKoxR,EAAM,KACxBp1O,GAAI91E,EAAS85B,KAAKoxR,EAAM,OAExBrnV,EAAIiyG,IAAI,EACRllE,GAAI,GAGLolI,GAAO,CAAEt3K,MAAOA,EAAO03F,aAAcvyF,EAAGsyF,WAAYvlD,EAAGy7K,SAAUv2G,IACzD99E,GAAiB2xB,EAAOshS,EAAcjzT,IAAUg+I,IAAtCA,EACnB,GAEEm1K,GAAK,SAAUD,EAAMpxU,EAAKw6B,GAC3B,IAAIzwC,EAAG+sC,GAAG5Y,GAASg+I,GACnB,MAAoB,iBAATk1K,GACVlzT,GAAUsc,EACVA,EAAMx6B,EACNA,EAAMoxU,EACNA,EAAO,MAEPlzT,GAAU6pB,UAAU,GAEhBipS,EAAQhxU,GAEDkxU,EAAgBlxU,GAGhBgxU,EAAQx2S,GAER02S,EAAgB12S,KAC3Btc,GAAUsc,EACVA,OAAM70C,GAHN60C,OAAM70C,GAHNu4B,GAAUle,EACVA,EAAMw6B,OAAM70C,GAHZqa,OAAMra,EAUHqrV,EAAQI,IACXrnV,EAAIm8B,EAAS85B,KAAKoxR,EAAM,KACxBt6S,GAAI5Q,EAAS85B,KAAKoxR,EAAM,OAExBrnV,GAAI,EACJ+sC,IAAI,GAGLolI,GAAO,CAAEl8J,IAAKA,EAAKw6B,IAAKA,EAAK8hD,aAAcvyF,EAAGsyF,WAAYvlD,IAClD5Y,GAAiB2xB,EAAOshS,EAAcjzT,IAAUg+I,IAAtCA,EACnB,yBC7DC,IAAAo1K,EAAAC,EAAAC,GAAA,SAAS5+K,EAAM76J,GACZ,aAKI05U,EAA6B,CAACpmQ,EAAA,OAAaimQ,EAM3C,SAA0BI,GAG9B,IAAIC,EAA8B,eAC9BC,EAAyB,iCACzBC,EAA4B,8BAEhC,MAAO,CAOH98U,MAAO,SAAiC3O,GACpC,UAAWA,EAAM0rV,WAAe,YAAsB1rV,EAAM,mBAAuB,IAC/E,OAAOkR,KAAKy6U,WAAW3rV,GACpB,GAAIA,EAAMgwE,OAAShwE,EAAMgwE,MAAMrB,MAAM68Q,GACxC,OAAOt6U,KAAK06U,YAAY5rV,GACrB,GAAIA,EAAMgwE,MACb,OAAO9+D,KAAK26U,gBAAgB7rV,GAE5B,MAAM,IAAI+4C,MAAM,kCAExB,EAGA+yS,gBAAiB,SAA2CC,GAExD,IAA6B,IAAzBA,EAAQhpV,QAAQ,KAChB,MAAO,CAACgpV,GAGZ,IACIpoR,GADS,+BACMoM,KAAKg8Q,EAAQxsU,QAAQ,QAAS,KACjD,MAAO,CAACokD,GAAM,GAAIA,GAAM,SAAMpkE,EAAWokE,GAAM,SAAMpkE,EACzD,EAEAqsV,YAAa,SAAuC5rV,GAKhD,OAJeA,EAAMgwE,MAAM3zC,MAAM,MAAMz9B,OAAO,SAAS4sG,IACnD,QAASA,GAAK78B,MAAM68Q,EACxB,EAAGt6U,MAEanS,IAAI,SAASysG,IACrBA,GAAKzoG,QAAQ,WAAY,IAEzByoG,GAAOA,GAAKjsF,QAAQ,aAAc,QAAQA,QAAQ,6BAA8B,KAEpF,IAAIysU,GAAgBxgP,GAAKjsF,QAAQ,OAAQ,IAAIA,QAAQ,eAAgB,KAAKA,QAAQ,UAAW,IAIzFwG,GAAWimU,GAAcr9Q,MAAM,cAGnCq9Q,GAAgBjmU,GAAWimU,GAAczsU,QAAQwG,GAAS,GAAI,IAAMimU,GAIpE,IAAIC,GAAgB/6U,KAAK46U,gBAAgB/lU,GAAWA,GAAS,GAAKimU,IAC9D/jL,GAAeliJ,IAAYimU,SAAiBzsV,EAC5CgsG,GAAW,CAAC,OAAQ,eAAexoG,QAAQkpV,GAAc,KAAM,OAAK1sV,EAAY0sV,GAAc,GAElG,OAAO,IAAIX,EAAW,CAClBrjL,aAAcA,GACd18D,SAAUA,GACVd,WAAYwhP,GAAc,GAC1BvhP,aAAcuhP,GAAc,GAC5BjnS,OAAQwmD,IAEhB,EAAGt6F,KACP,EAEA26U,gBAAiB,SAA2C7rV,GAKxD,OAJeA,EAAMgwE,MAAM3zC,MAAM,MAAMz9B,OAAO,SAAS4sG,IACnD,OAAQA,GAAK78B,MAAM88Q,EACvB,EAAGv6U,MAEanS,IAAI,SAASysG,IAMzB,GAJIA,GAAKzoG,QAAQ,YAAa,IAC1ByoG,GAAOA,GAAKjsF,QAAQ,mDAAoD,SAGlD,IAAtBisF,GAAKzoG,QAAQ,OAAqC,IAAtByoG,GAAKzoG,QAAQ,KAEzC,OAAO,IAAIuoV,EAAW,CAClBrjL,aAAcz8D,KAGlB,IAAI0gP,GAAoB,6BACpBr/O,GAAUrB,GAAK78B,MAAMu9Q,IACrBjkL,GAAep7D,IAAWA,GAAQ,GAAKA,GAAQ,QAAKttG,EACpD0sV,GAAgB/6U,KAAK46U,gBAAgBtgP,GAAKjsF,QAAQ2sU,GAAmB,KAEzE,OAAO,IAAIZ,EAAW,CAClBrjL,aAAcA,GACd18D,SAAU0gP,GAAc,GACxBxhP,WAAYwhP,GAAc,GAC1BvhP,aAAcuhP,GAAc,GAC5BjnS,OAAQwmD,IAGpB,EAAGt6F,KACP,EAEAy6U,WAAY,SAAsCj7S,GAC9C,OAAKA,EAAEg7S,YAAeh7S,EAAE+K,QAAQ14C,QAAQ,OAAQ,GAC5C2tC,EAAE+K,QAAQpf,MAAM,MAAM/4B,OAASotC,EAAEg7S,WAAWrvT,MAAM,MAAM/4B,OACjD4N,KAAKi7U,YAAYz7S,GAChBA,EAAEs/B,MAGH9+D,KAAKk7U,aAAa17S,GAFlBx/B,KAAKm7U,aAAa37S,EAIjC,EAEAy7S,YAAa,SAAuCz7S,GAKhD,QAJI47S,GAAS,oCACTviP,GAAQr5D,EAAE+K,QAAQpf,MAAM,MACxB7tB,GAAS,GAEJyqB,GAAI,EAAGgyB,GAAM8+C,GAAMzmG,OAAQ21B,GAAIgyB,GAAKhyB,IAAK,EAAG,CACjD,IAAI01C,GAAQ29Q,GAAOv8Q,KAAKg6B,GAAM9wE,KAC1B01C,IACAngE,GAAOwkC,KAAK,IAAIs4S,EAAW,CACvB//O,SAAU58B,GAAM,GAChB87B,WAAY97B,GAAM,GAClB3pB,OAAQ+kD,GAAM9wE,MAG1B,CAEA,OAAOzqB,EACX,EAEA69U,aAAc,SAAwC37S,GAKlD,QAJI47S,GAAS,6DACTviP,GAAQr5D,EAAEg7S,WAAWrvT,MAAM,MAC3B7tB,GAAS,GAEJyqB,GAAI,EAAGgyB,GAAM8+C,GAAMzmG,OAAQ21B,GAAIgyB,GAAKhyB,IAAK,EAAG,CACjD,IAAI01C,GAAQ29Q,GAAOv8Q,KAAKg6B,GAAM9wE,KAC1B01C,IACAngE,GAAOwkC,KACH,IAAIs4S,EAAW,CACXrjL,aAAct5F,GAAM,SAAMpvE,EAC1BgsG,SAAU58B,GAAM,GAChB87B,WAAY97B,GAAM,GAClB3pB,OAAQ+kD,GAAM9wE,MAI9B,CAEA,OAAOzqB,EACX,EAGA49U,aAAc,SAAwCpsV,GAKlD,OAJeA,EAAMgwE,MAAM3zC,MAAM,MAAMz9B,OAAO,SAAS4sG,IACnD,QAASA,GAAK78B,MAAM48Q,KAAiC//O,GAAK78B,MAAM,oBACpE,EAAGz9D,MAEanS,IAAI,SAASysG,IACzB,IAMI+gP,GANA1nM,GAASr5C,GAAKnvE,MAAM,KACpB4vT,GAAgB/6U,KAAK46U,gBAAgBjnM,GAAO01G,OAC5CiyF,GAAgB3nM,GAAOj2E,SAAW,GAClCq5F,GAAeukL,GACdjtU,QAAQ,iCAAkC,MAC1CA,QAAQ,aAAc,UAAOhgB,EAE9BitV,GAAa79Q,MAAM,iBACnB49Q,GAAUC,GAAajtU,QAAQ,qBAAsB,OAEzD,IAAI06B,QAAoB16C,IAAZgtV,IAAqC,8BAAZA,QACjChtV,EAAYgtV,GAAQlwT,MAAM,KAE9B,OAAO,IAAIivT,EAAW,CAClBrjL,aAAcA,GACdhuH,KAAMA,GACNsxD,SAAU0gP,GAAc,GACxBxhP,WAAYwhP,GAAc,GAC1BvhP,aAAcuhP,GAAc,GAC5BjnS,OAAQwmD,IAEhB,EAAGt6F,KACP,EAER,OAnM4D,KAAAk6U,EAAAF,EAAA99R,MAAAwzJ,EAAAuqI,MAAAzB,EAAA9oI,QAAAwqI,EAM5D,CAZC,iCCED,IAAIqB,EAAoB5B,EAAQ,OAC5B6B,EAAoB7B,EAAQ,OAC5BrsV,EAAoBqsV,EAAQ,OAC5B9nV,EAAoBP,MAAMw2C,UAAUj2C,QACpC4pV,EAAoBrsT,OAAO0Y,UAAU8qB,eACrCqxB,EAAoB92D,KAAK82D,IACzBl2C,EAAoB5gB,KAAK4gB,MAE7ByqS,EAAO9oI,QAAU,SAAU3rH,GAC1B,IAAIh8D,EAAG31B,EAAQ4xF,GACf,IAAKu3P,EAAYx3P,GAAgB,OAAOlyF,EAAQqqD,MAAMl8C,KAAMywC,WAQ5D,IANAr+C,EAASopV,EAASluV,EAAM0S,MAAM5N,QAC9B4xF,GAAYvzC,UAAU,GAKjB1oB,EAJiBi8D,GAAlB3rF,MAAM2rF,IAAwB,EACzBA,IAAa,EAAej2C,EAAMi2C,IAC1Bw3P,EAASx7U,KAAK5N,QAAU27C,EAAMk2C,EAAID,KAE/Bj8D,EAAI31B,IAAU21B,EACjC,GAAI0zT,EAAkB/yR,KAAK1oD,KAAM+nB,IAE5BwzT,EADEv7U,KAAK+nB,IACW,OAAOA,EAG/B,OAAO,CACR,gCCzBAywT,EAAO9oI,QAAUiqI,EAAQ,MAARA,GAAgCroV,MAAM4lE,KAAOyiR,EAAQ,+BCAtEnB,EAAO9oI,QAAU,WAChB,IAAuB7jK,EAAKvuC,EAAxB45D,EAAO5lE,MAAM4lE,KACjB,MAAoB,mBAATA,OAEX55D,EAAS45D,EADTrrB,EAAM,CAAC,MAAO,UAEWvuC,IAAWuuC,GAAqB,QAAdvuC,EAAO,GACnD,gCCNA,IAAIo+U,EAAiB/B,kBACjBgC,EAAiBhC,EAAQ,OACzB33P,EAAiB23P,EAAQ,OACzB6B,EAAiB7B,EAAQ,OACzBiC,EAAiBjC,EAAQ,OACzBkC,EAAiBlC,EAAQ,OACzBD,EAAiBC,EAAQ,OACzBz3P,EAAiBy3P,EAAQ,OACzBpoV,EAAiBD,MAAMC,QACvBm3D,EAAiByuB,SAASrvC,UAAU4gB,KACpCk8G,GAAiB,CAAE5/E,cAAc,EAAMD,YAAY,EAAMk2H,UAAU,EAAM3tN,MAAO,MAChFwtF,GAAiB1rD,OAAO0rD,eAG5B09P,EAAO9oI,QAAU,SAAUosI,IAC1B,IAEIC,GACAh0T,GACAg0D,GACAlwC,GACAz5C,GACA7F,GACAkqR,GACAn5Q,GACA0+U,GACA1uV,GAXA2uV,GAAQxrS,UAAU,GAClBozC,GAAUpzC,UAAU,GAexB,GAHAqrS,GAAY1sT,OAAOysT,EAAWC,KAE1BpC,EAAQuC,KAAQL,EAASK,IACxBj8U,MAAQA,OAAS1O,OAAU0wF,EAAWhiF,MAqB1C+7U,GAAU/7U,SArBuC,CAEjD,IAAKi8U,GAAO,CACX,GAAIN,EAAYG,IAGf,OAAe,KADf1pV,GAAS0pV,GAAU1pV,QACMd,MAAM4qD,MAAM,KAAM4/R,MAC3CjwS,GAAM,IAAIv6C,MAAM,IACZ,GAAKwqV,GAAU,GACZjwS,IAER,GAAIt6C,EAAQuqV,IAAY,CAGvB,IADAjwS,GAAM,IAAIv6C,MAAOc,GAAS0pV,GAAU1pV,QAC/B21B,GAAI,EAAGA,GAAI31B,KAAU21B,GAAG8jB,GAAI9jB,IAAK+zT,GAAU/zT,IAChD,OAAO8jB,EACR,CACD,CACAA,GAAM,EACP,CAKA,IAAKt6C,EAAQuqV,IACZ,QAAkDztV,KAA7C2tV,GAAcF,GAAUJ,IAAgC,CAM5D,IAJAjlE,GAAWmlE,EAASI,IAAatzR,KAAKozR,IAClCC,KAASlwS,GAAM,IAAIkwS,IACvBz+U,GAASm5Q,GAAS9pQ,OAClBob,GAAI,GACIzqB,GAAOq6D,MACdrqE,GAAQ2uV,GAAQvzR,EAAKA,KAAKuzR,GAAOp4P,GAASvmF,GAAOhQ,MAAOy6B,IAAKzqB,GAAOhQ,MAChEyuV,IACHn3K,GAAKt3K,MAAQA,GACbwtF,GAAejvC,GAAK9jB,GAAG68I,KAEvB/4H,GAAI9jB,IAAKz6B,GAEVgQ,GAASm5Q,GAAS9pQ,SAChBob,GAEH31B,GAAS21B,EACV,SAAWm6D,EAAS45P,IAAY,CAI/B,IAFA1pV,GAAS0pV,GAAU1pV,OACf2pV,KAASlwS,GAAM,IAAIkwS,IAClBh0T,GAAI,EAAGg0D,GAAI,EAAGh0D,GAAI31B,KAAU21B,GAChCz6B,GAAQwuV,GAAU/zT,IACdA,GAAI,EAAI31B,KACX7F,GAAOe,GAAMg9C,WAAW,KAEZ,OAAU/9C,IAAQ,QAAQe,IAASwuV,KAAY/zT,KAE5Dz6B,GAAQ2uV,GAAQvzR,EAAKA,KAAKuzR,GAAOp4P,GAASv2F,GAAOyuF,IAAKzuF,GAClDyuV,IACHn3K,GAAKt3K,MAAQA,GACbwtF,GAAejvC,GAAKkwC,GAAG6oF,KAEvB/4H,GAAIkwC,IAAKzuF,KAERyuF,GAEH3pF,GAAS2pF,EACV,CAED,QAAe1tF,IAAX+D,GAIH,IAFAA,GAASopV,EAASM,GAAU1pV,QACxB2pV,KAASlwS,GAAM,IAAIkwS,GAAQ3pV,KAC1B21B,GAAI,EAAGA,GAAI31B,KAAU21B,GACzBz6B,GAAQ2uV,GAAQvzR,EAAKA,KAAKuzR,GAAOp4P,GAASi4P,GAAU/zT,IAAIA,IAAK+zT,GAAU/zT,IACnEg0T,IACHn3K,GAAKt3K,MAAQA,GACbwtF,GAAejvC,GAAK9jB,GAAG68I,KAEvB/4H,GAAI9jB,IAAKz6B,GAIZ,OAAIyuV,KACHn3K,GAAKt3K,MAAQ,KACbu+C,GAAIz5C,OAASA,IAEPy5C,EACR,gCCpHA,IAAIqrB,EAAUyiR,EAAQ,OAClBpoV,EAAUD,MAAMC,QAEpBinV,EAAO9oI,QAAU,SAAUosI,GAAa,OAAOvqV,EAAQuqV,GAAaA,EAAY5kR,EAAK4kR,EAAY,gCCHjG,IAAIvjS,EAAoBohS,EAAQ,OAC5B53P,EAAoB43P,EAAQ,OAC5BD,EAAoBC,EAAQ,OAC5BuC,EAAoBr0S,MAAMq0S,kBAE9B1D,EAAO9oI,QAAU,SAAUnlK,GAC1B,IAAIpB,EAAM,IAAItB,MAAM0C,GAAUh+C,EAAOkkD,UAAU,GAAIskD,EAAMtkD,UAAU,GACnE,OAAKipS,EAAQ3kP,IACRhT,EAASx1F,KACZwoG,EAAMxoG,EACNA,EAAO,MAGLmtV,EAAQ3kP,IAAMx8C,EAAOpP,EAAK4rD,GAC1B2kP,EAAQntV,KAAO48C,EAAI58C,KAAOA,GAC1B2vV,GAAmBA,EAAkB/yS,EAAKqvS,EAAO9oI,SAC9CvmK,CACR,gCCjBA,IAIIy7H,EAAM9pF,EAAgBqhQ,EAAUC,EAJhCZ,EAAW7B,EAAQ,OAEnBx+O,EAAO,SAAUkhP,EAAMC,GAAQ,OAAOA,CAAM,EAIhD,IACCltT,OAAO0rD,eAAeqgB,EAAM,SAAU,CACrCnW,cAAc,EACdi2H,UAAU,EACVl2H,YAAY,EACZz3F,MAAO,GAET,OACgB,CAEI,IAAhB6tG,EAAK/oG,QAERwyK,EAAO,CAAE5/E,cAAc,EAAMi2H,UAAU,EAAOl2H,YAAY,GAC1DjK,EAAiB1rD,OAAO0rD,eACxB09P,EAAO9oI,QAAU,SAAU/yL,EAAIvqB,GAE9B,OADAA,EAASopV,EAASppV,GACduqB,EAAGvqB,SAAWA,EAAeuqB,GACjCioJ,EAAKt3K,MAAQ8E,EACN0oF,EAAen+D,EAAI,SAAUioJ,GACrC,IAEAw3K,EAAQzC,EAAQ,OAChBwC,EAAY,WACX,IAAIjjJ,EAAQ,GACZ,OAAO,SAAU9mM,GAChB,IAAI22C,EAAMhhB,EAAI,EACd,GAAImxK,EAAM9mM,GAAS,OAAO8mM,EAAM9mM,GAEhC,IADA22C,EAAO,GACA32C,KAAU22C,EAAKjH,KAAK,OAAS/Z,GAAGoZ,SAAS,KAEhD,OAAO,IAAIg2C,SACV,KACA,oBAAsBpuC,EAAK2C,KAAK,MAAQ,2CAE1C,CACD,CAbY,GAcZ8sS,EAAO9oI,QAAU,SAAUr7J,EAAKjiD,GAC/B,IAAI02D,EAEJ,GADA12D,EAASopV,EAASppV,GACdiiD,EAAIjiD,SAAWA,EAAQ,OAAOiiD,EAClCyU,EAASqzR,EAAS/pV,EAAT+pV,CAAiB9nS,GAC1B,IAAM+nS,EAAMtzR,EAAQzU,EAAM,OACV,CAChB,OAAOyU,CACR,2BClDD,IAAIyzR,EAAcntT,OAAO0Y,UAAU3G,SAC/B34C,EAAK+zV,EAAY7zR,KAAM,WAAc,OAAOjY,SAAW,CAAhC,IAE3B+nS,EAAO9oI,QAAU,SAAUpiN,GAAS,OAAOivV,EAAY7zR,KAAKp7D,KAAW9E,CAAI,0BCH3E,IAAI+zV,EAAcntT,OAAO0Y,UAAU3G,SAC/Bq7S,EAAsBhtQ,OAAO1nC,UAAUqzD,KAAKlkF,KAAK,mCAErDuhU,EAAO9oI,QAAU,SAAUpiN,GAC1B,MAAwB,mBAAVA,GAAwBkvV,EAAoBD,EAAY7zR,KAAKp7D,GAC5E,0BCJAkrV,EAAO9oI,QAAU,WAAa,+BCD9B8oI,EAAO9oI,QAAUiqI,EAAQ,MAARA,GAAgCxsT,KAAKge,KAAOwuS,EAAQ,+BCArEnB,EAAO9oI,QAAU,WAChB,IAAIvkK,EAAOhe,KAAKge,KAChB,MAAoB,mBAATA,GACS,IAAbA,EAAK,MAA2B,IAAdA,GAAK,GAC/B,0BCJAqtS,EAAO9oI,QAAU,SAAUpiN,GAE1B,OADAA,EAAQkzD,OAAOlzD,GACX+K,MAAM/K,IAAoB,IAAVA,EAAoBA,EACjCA,EAAQ,EAAI,GAAI,CACxB,gCCJAkrV,EAAO9oI,QAAUiqI,EAAQ,MAARA,GAAgCn5R,OAAOnoD,MAAQshV,EAAQ,+BCAxEnB,EAAO9oI,QAAU,WAChB,IAAI6rI,EAAc/6R,OAAOnoD,MACzB,MAA2B,mBAAhBkjV,IACHA,EAAY,CAAC,IAAMA,EAAYvwH,OAASuwH,EAAY,GAC7D,0BCJA/C,EAAO9oI,QAAU,SAAUpiN,GAE1B,OAAOA,GAAUA,CAClB,+BCHA,IAAI69C,EAAQwuS,EAAQ,MAChB11P,EAAQ92D,KAAK82D,IACbl2C,EAAQ5gB,KAAK4gB,MAEjByqS,EAAO9oI,QAAU,SAAUpiN,GAC1B,OAAI+K,MAAM/K,GAAe,EAEX,KADdA,EAAQkzD,OAAOlzD,KACKmvV,SAASnvV,GACtB69C,EAAK79C,GAASygD,EAAMk2C,EAAI32F,IADaA,CAE7C,gCCTA,IAAIovV,EAAY/C,EAAQ,MACpBvsT,EAAYD,KAAKC,IAErBorT,EAAO9oI,QAAU,SAAUpiN,GAAS,OAAO8/B,EAAI,EAAGsvT,EAAUpvV,GAAS,gCCCrE,IAAIsuV,EAA0BjC,EAAQ,OAClCrsV,EAA0BqsV,EAAQ,OAClC1iU,EAA0BkgE,SAASrvC,UAAU7wB,KAC7CyxC,EAA0ByuB,SAASrvC,UAAU4gB,KAC7Cr5B,EAA0BD,OAAOC,KACjCstT,EAA0BvtT,OAAO0Y,UAAUw8C,qBAE/Ck0P,EAAO9oI,QAAU,SAAUtmK,EAAQwzS,GAClC,OAAO,SAAU37S,EAAKgO,GACrB,IAAI7jD,GAAMy4F,GAAUpzC,UAAU,GAAIosS,GAAYpsS,UAAU,GACxDxP,SAAM7R,OAAO9hC,EAAM2zC,IACnB26S,EAAS3sS,GAET7jD,GAAOikC,EAAK4R,GACR47S,IACHzxV,GAAK8uE,KAA0B,mBAAd2iR,GAA2B5lU,EAAKyxC,KAAKm0R,GAAW57S,QAAO5yC,GAEnD,mBAAX+6C,IAAuBA,EAASh+C,GAAKg+C,IACzCsf,EAAKA,KAAKtf,EAAQh+C,GAAM,SAAU81C,GAAK7oB,IAC7C,OAAKskU,EAAwBj0R,KAAKznB,EAAKC,IAChCwnB,EAAKA,KAAKzZ,EAAI40C,GAAS5iD,EAAIC,IAAMA,GAAKD,EAAK5oB,IADEukU,CAErD,EACD,CACD,gCC3BApE,EAAO9oI,QAAUiqI,EAAQ,MAARA,GAAgCvqT,OAAOmpB,OAASohS,EAAQ,+BCAzEnB,EAAO9oI,QAAU,WAChB,IAA4BzuK,EAAxBsX,EAASnpB,OAAOmpB,OACpB,MAAsB,mBAAXA,IAEXA,EADAtX,EAAM,CAAE67S,IAAK,OACD,CAAEtsC,IAAK,OAAS,CAAEusC,KAAM,SAC7B97S,EAAI67S,IAAM77S,EAAIuvQ,IAAMvvQ,EAAI87S,OAAS,aACzC,gCCNA,IAAI1tT,EAAQsqT,EAAQ,OAChBrsV,EAAQqsV,EAAQ,OAChBvsT,EAAQD,KAAKC,IAEjBorT,EAAO9oI,QAAU,SAAU8rC,EAAMnnM,GAChC,IAAIvlD,EAAOi5B,EAAsCwwB,EAAnCnmD,EAASg7B,EAAIqjB,UAAUr+C,OAAQ,GAS7C,IARAopP,EAAOpsN,OAAO9hC,EAAMkuP,IACpBjjM,EAAS,SAAUrX,GAClB,IACCs6M,EAAKt6M,GAAOmT,EAAInT,EACjB,OAAS1B,IACH1wC,IAAOA,EAAQ0wC,GACrB,CACD,EACKzX,EAAI,EAAGA,EAAI31B,IAAU21B,EAEzBsH,EADAglB,EAAM5D,UAAU1oB,IACNqD,QAAQmtB,GAEnB,QAAclqD,IAAVS,EAAqB,MAAMA,EAC/B,OAAO0sP,CACR,gCCpBAg9F,EAAO9oI,QAAUiqI,EAAQ,MAARA,CAAsB,kCCEvCnB,EAAO9oI,QAAU,SAAUzuK,GAAO,MAAsB,mBAARA,CAAoB,gCCFpE,IAAIy4S,EAAUC,EAAQ,OAElB9rV,EAAM,CAAEmvV,UAAU,EAAMx3P,QAAQ,GAEpCgzP,EAAO9oI,QAAU,SAAUpiN,GAAS,OAAQosV,EAAQpsV,IAAUO,SAAWP,KAAW,CAAO,gCCJ3F,IAAI2vV,EAAatD,EAAQ,MAARA,GAEjBnB,EAAO9oI,QAAU,SAAUrrK,GAAO,OAAOA,IAAQ44S,GAAsB,OAAR54S,CAAc,gCCF7Em0S,EAAO9oI,QAAUiqI,EAAQ,MAARA,GAAgCvqT,OAAOC,KAAOsqT,EAAQ,+BCAvEnB,EAAO9oI,QAAU,WAChB,IACCtgL,cAAOC,KAAK,cACL,CACR,OACC,OAAO,CACR,CACD,gCCPA,IAAIqqT,EAAUC,EAAQ,OAElBtqT,EAAOD,OAAOC,KAElBmpT,EAAO9oI,QAAU,SAAUlqH,GAAU,OAAOn2D,EAAKqqT,EAAQl0P,GAAUp2D,OAAOo2D,GAAUA,EAAS,gCCJ7F,IAAIo2P,EAAWjC,EAAQ,OACnBvuT,EAAWuuT,EAAQ,OACnBjxR,EAAWyuB,SAASrvC,UAAU4gB,KAElC8vR,EAAO9oI,QAAU,SAAUzuK,EAAKgO,GAC/B,IAAI3xC,EAAS,CAAC,EAAGumF,EAAUpzC,UAAU,GACrCmrS,SAAS3sS,GACT7jB,EAAQ6V,EAAK,SAAU3zC,EAAO4zC,EAAKg8S,EAAW7kU,IAC7C/a,EAAO4jC,GAAOwnB,EAAKA,KAAKzZ,EAAI40C,EAASv2F,EAAO4zC,EAAKg8S,EAAW7kU,GAC7D,GACO/a,CACR,gCCXA,IAAIhQ,EAA2BqsV,EAAQ,OACnC7+P,EAA2B1rD,OAAO0rD,eAClC8gF,EAA2BxsI,OAAOwsI,yBAClC3mH,EAA2B7lB,OAAO6lB,oBAClCkoS,EAA2B/tT,OAAO+tT,sBAEtC3E,EAAO9oI,QAAU,SAAU5mJ,EAAQhV,GAClC,IAAIhlD,EAAOsuV,EAAehuT,OAAO9hC,EAAMwmD,IAcvC,GAbAgV,EAAS15B,OAAO9hC,EAAMw7D,IACtB7T,EAAoBmoS,GAAchyT,QAAQ,SAAU59B,GACnD,IACCstF,EAAehyB,EAAQt7D,EAAMouK,EAAyB9nH,EAAQtmD,GAC/D,OAASgyC,IAAK1wC,EAAQ0wC,EAAG,CAC1B,GACqC,mBAA1B29S,GACVA,EAAsBC,GAAchyT,QAAQ,SAAUiyT,GACrD,IACCviQ,EAAehyB,EAAQu0R,EAAQzhL,EAAyB9nH,EAAQupS,GACjE,OAAS79S,IAAK1wC,EAAQ0wC,EAAG,CAC1B,QAEanxC,IAAVS,EAAqB,MAAMA,EAC/B,OAAOg6D,CACR,gCCvBA,IAAI4wR,EAAUC,EAAQ,OAElBvuT,EAAU95B,MAAMw2C,UAAU1c,QAASoK,EAASpG,OAAOoG,OAQvDgjT,EAAO9oI,QAAU,SAAU4tI,GAC1B,IAAIhgV,EAASk4B,EAAO,MACpBpK,SAAQs9B,KAAKjY,UAAW,SAAU7pB,GAC5B8yT,EAAQ9yT,IATD,SAAUytB,EAAKpT,GAC5B,IAAIC,EACJ,IAAKA,KAAOmT,EAAKpT,EAAIC,GAAOmT,EAAInT,EACjC,CAOEyyJ,CAAQvkK,OAAOxI,GAAUtpB,EAC1B,GACOA,CACR,yBCjBA,IAAI8tB,EAAU95B,MAAMw2C,UAAU1c,QAASoK,EAASpG,OAAOoG,OAGvDgjT,EAAO9oI,QAAU,SAAUnoH,GAC1B,IAAIrkD,EAAM1N,EAAO,MACjBpK,SAAQs9B,KAAKjY,UAAW,SAAUjjD,GAAQ01C,EAAI11C,IAAQ,CAAM,GACrD01C,CACR,0BCPAs1S,EAAO9oI,QAAU,SAAU/yL,GAC1B,GAAkB,mBAAPA,EAAmB,MAAM,IAAI4xB,UAAU5xB,EAAK,sBACvD,OAAOA,CACR,gCCHA,IAAI+8T,EAAUC,EAAQ,OAEtBnB,EAAO9oI,QAAU,SAAUpiN,GAC1B,IAAKosV,EAAQpsV,GAAQ,MAAM,IAAIihD,UAAU,gCACzC,OAAOjhD,CACR,gCCLA,IAAIiwV,EAAgB5D,EAAQ,OACxB6D,EAAgB7D,EAAQ,OAE5BnB,EAAO9oI,QAAU,SAAUpiN,GAAS,OAAOkwV,EAAcD,EAAYjwV,GAAS,gCCH9E,IAAImwV,EAAa9D,EAAQ,MAEzBnB,EAAO9oI,QAAU,SAAU8tI,GAC1B,IACC,OAAIA,GAAiBC,EAAWD,EAAcr8S,UAAkBq8S,EAAcr8S,WACvEqK,OAAOgyS,EACf,OACC,MAAM,IAAIjvS,UAAU,uCACrB,CACD,8BCTA,IAAIkvS,EAAa9D,EAAQ,MAEzBnB,EAAO9oI,QAAU,SAAUpiN,GAC1B,IACC,OAAIA,GAASmwV,EAAWnwV,EAAM6zC,UAAkB7zC,EAAM6zC,WAC/CqK,OAAOl+C,EACf,OACC,MAAO,iCACR,CACD,gCCTAkrV,EAAO9oI,QAAUiqI,EAAQ,MAARA,GAAgCnuS,OAAO1D,UAAUlZ,SAAW+qT,EAAQ,+BCArF,IAAIv3S,EAAM,aAEVo2S,EAAO9oI,QAAU,WAChB,MAA4B,mBAAjBttK,EAAIxT,WACgB,IAAxBwT,EAAIxT,SAAS,SAA2C,IAAxBwT,EAAIxT,SAAS,MACrD,0BCLA,IAAI/8B,EAAU25C,OAAO1D,UAAUj2C,QAE/B2mV,EAAO9oI,QAAU,SAAUguI,GAC1B,OAAO7rV,EAAQ62D,KAAK1oD,KAAM09U,EAAcjtS,UAAU,KAAM,CACzD,0BCJA,IAAI8rS,EAAcntT,OAAO0Y,UAAU3G,SAAU34C,EAAK+zV,EAAY7zR,KAAK,IAEnE8vR,EAAO9oI,QAAU,SAAUpiN,GAC1B,MACkB,iBAAVA,GACNA,GACiB,iBAAVA,IACNA,aAAiBk+C,QAAU+wS,EAAY7zR,KAAKp7D,KAAW9E,KACzD,CAEF,gCCVA,IAAIm1V,EAAehE,EAAQ,KAEvBiE,EAAY,sBAEhBpF,EAAO9oI,QAAU,SAAUpiN,GAC1B,IAAIuwV,EAASF,EAAarwV,GAE1B,OAAIuwV,EAAOzrV,OAAS,MAAKyrV,EAASA,EAAOj8S,MAAM,EAAG,IAAM,UAE/Ci8S,EAAOxvU,QAAQuvU,EAAW,SAAU9qC,GAC5C,OAAOt1S,KAAKutC,UAAU+nQ,GAAMlxQ,MAAM,GAAG,EACtC,EAED,gCCbA42S,EAAO9oI,QAAUiqI,EAAQ,MAARA,GACdA,gBACAA,EAAQ,oCCFX,IAAI/iQ,EAAa+iQ,EAAQ,OACrBmE,EAAa,CAAEt4P,QAAQ,EAAM63P,QAAQ,GAEzC7E,EAAO9oI,QAAU,WAChB,IACI2tI,EADA7pF,EAAS58K,EAAO48K,OAEpB,GAAsB,mBAAXA,EAAuB,OAAO,EACzC6pF,EAAS7pF,EAAO,eAChB,IAAMhoN,OAAO6xS,EAAS,OACV,OAAO,CAAO,CAK1B,SAFKS,SAAkBtqF,EAAOijB,YACzBqnE,SAAkBtqF,EAAOuqF,eACzBD,SAAkBtqF,EAAOwqF,aAG/B,0BCjBAxF,EAAO9oI,QAAU,SAAUpiN,GAC1B,SAAKA,GACgB,iBAAVA,KACNA,EAAMmS,aACoB,WAA3BnS,EAAMmS,YAAYjS,MAC0B,WAAzCF,EAAMA,EAAMmS,YAAYu+U,cAChC,+BCNA,IAAIlwV,EAAI6rV,EAAQ,OAEY7+P,EAAiB1rD,OAAO0rD,eAAgBmjQ,EAAe7uT,OAAO0Y,UAEtFkX,GAAUxpB,EAFDpG,OAAOoG,QAEC,MACrBgjT,EAAO9oI,QAAU,SAAU9qC,GAE1B,QADiBp3K,EAAM0wV,EAAnBC,EAAU,EACPn/R,EAAQ4lH,GAAQu5K,GAAW,QAAQA,EAC1Cv5K,OACA5lH,EADA4lH,GAAQu5K,GAAW,KACH,EAEhBrjQ,EACCmjQ,EAFDzwV,EAAO,KAAOo3K,EAGb92K,EAAEisV,GAAG,KAAM,SAAUzsV,GAKhB4wV,IACJA,GAAoB,EACpBpjQ,EAAe96E,KAAMxS,EAAMM,EAAER,IAC7B4wV,GAAoB,EACrB,IAEM1wV,CACR,gCCzBA,IAAIM,EAAe6rV,EAAQ,OACvByE,EAAezE,gBAEnBnB,EAAO9oI,QAAU,SAAU2uI,GAC1B,OAAOjvT,OAAOkvT,iBAAiBD,EAAgB,CAG9CE,YAAazwV,EACZ,GAAKswV,GAAgBA,EAAaG,aAAgBF,EAAe,gBAElEG,mBAAoB1wV,EACnB,GACCswV,GAAgBA,EAAaI,oBAC7BH,EAAe,uBAEjB5nE,SAAU3oR,EAAE,GAAKswV,GAAgBA,EAAa3nE,UAAa4nE,EAAe,aAC1E5gR,MAAO3vE,EAAE,GAAKswV,GAAgBA,EAAa3gR,OAAU4gR,EAAe,UACpEhwU,QAASvgB,EAAE,GAAKswV,GAAgBA,EAAa/vU,SAAYgwU,EAAe,YACxEjoR,OAAQtoE,EAAE,GAAKswV,GAAgBA,EAAahoR,QAAWioR,EAAe,WACtEI,QAAS3wV,EAAE,GAAKswV,GAAgBA,EAAaK,SAAYJ,EAAe,YACxElzT,MAAOr9B,EAAE,GAAKswV,GAAgBA,EAAajzT,OAAUkzT,EAAe,UACpEN,YAAajwV,EACZ,GAAKswV,GAAgBA,EAAaL,aAAgBM,EAAe,gBAElEL,YAAalwV,EACZ,GAAKswV,GAAgBA,EAAaJ,aAAgBK,EAAe,gBAElEK,YAAa5wV,EACZ,GAAKswV,GAAgBA,EAAaM,aAAgBL,EAAe,iBAGpE,gCC/BA,IAAIvwV,EAAiB6rV,EAAQ,OACzBgF,EAAiBhF,EAAQ,OAEzBiF,EAAWxvT,OAAOoG,OAAO,MAE7BgjT,EAAO9oI,QAAU,SAAU2uI,GAC1B,OAAOjvT,OAAOkvT,iBAAiBD,EAAgB,CAC9CQ,IAAK/wV,EAAE,SAAUozC,GAChB,OAAI09S,EAAS19S,GAAa09S,EAAS19S,GAC3B09S,EAAS19S,GAAOm9S,EAAe7yS,OAAOtK,GAC/C,GACA49S,OAAQhxV,EAAE,SAAUuvV,GACnB,IAAIn8S,EAEJ,IAAKA,KADLy9S,EAAetB,GACHuB,EACX,GAAIA,EAAS19S,KAASm8S,EAAQ,OAAOn8S,CAGvC,IAEF,+BClBA,IAWIm9S,EAAgBU,GAAcC,GAX9BlxV,EAAuB6rV,EAAQ,OAC/BgF,EAAuBhF,EAAQ,OAC/ByE,EAAuBzE,gBACvBsF,EAAuBtF,EAAQ,MAC/BuF,EAAuBvF,EAAQ,OAC/BwF,EAAuBxF,EAAQ,OAE/BnkT,EAASpG,OAAOoG,OAChB8oT,EAAmBlvT,OAAOkvT,iBAC1BxjQ,EAAiB1rD,OAAO0rD,eAI5B,GAA4B,mBAAjBsjQ,EACV,IACC5yS,OAAO4yS,KACPY,IAAe,CAChB,OAAkB,MAElBZ,EAAe,KAKhBW,GAAe,SAAgBv7D,IAC9B,GAAIxjR,gBAAgB++U,GAAc,MAAM,IAAIxwS,UAAU,+BACtD,OAAO8vS,EAAe76D,GACvB,EAIAg1D,EAAO9oI,QAAU2uI,EAAiB,SAAS7qF,GAAOgwB,IACjD,IAAI65D,GACJ,GAAIr9U,gBAAgBwzP,GAAQ,MAAM,IAAIjlN,UAAU,+BAChD,OAAIywS,GAAqBZ,EAAa56D,KACtC65D,GAAS7nT,EAAOupT,GAAaj3S,WAC7B07O,QAA8Bn1R,IAAhBm1R,GAA4B,GAAKh4O,OAAOg4O,IAC/C86D,EAAiBjB,GAAQ,CAC/B+B,gBAAiBtxV,EAAE,GAAI01R,IACvB67D,SAAUvxV,EAAE,GAAImxV,EAAaz7D,OAE/B,EAEA07D,EAAqBb,GACrBc,EAAoBd,GAGpBC,EAAiBS,GAAaj3S,UAAW,CACxCroC,YAAa3R,EAAEuwV,GACfl9S,SAAUrzC,EAAE,GAAI,WAAc,OAAOkS,KAAKq/U,QAAU,KAKrDf,EAAiBD,EAAev2S,UAAW,CAC1C3G,SAAUrzC,EAAE,WAAc,MAAO,WAAa6wV,EAAe3+U,MAAMo/U,gBAAkB,GAAK,GAC1FjsR,QAASrlE,EAAE,WAAc,OAAO6wV,EAAe3+U,KAAO,KAEvD86E,EACCujQ,EAAev2S,UAAWu2S,EAAeN,YACzCjwV,EAAE,GAAI,WACL,IAAIuvV,GAASsB,EAAe3+U,MAC5B,MAAsB,iBAAXq9U,GAA4BA,GAChCA,GAAOl8S,UACf,IAED25C,EAAeujQ,EAAev2S,UAAWu2S,EAAeL,YAAalwV,EAAE,IAAK,WAG5EgtF,EACCikQ,GAAaj3S,UAAWu2S,EAAeL,YACvClwV,EAAE,IAAKuwV,EAAev2S,UAAUu2S,EAAeL,eAOhDljQ,EACCikQ,GAAaj3S,UAAWu2S,EAAeN,YACvCjwV,EAAE,IAAKuwV,EAAev2S,UAAUu2S,EAAeN,6CClFhD,IAAIuB,EAAW3F,EAAQ,OAEvBnB,EAAO9oI,QAAU,SAAUpiN,GAC1B,IAAKgyV,EAAShyV,GAAQ,MAAM,IAAIihD,UAAUjhD,EAAQ,oBAClD,OAAOA,CACR,gCCLA,IASIvE,EAAImqO,GAAM6hC,GAAK5vO,GAAM4wK,GAASxxC,GAAaiR,GAT3C1nK,EAAW6rV,EAAQ,OACnBiC,EAAWjC,EAAQ,OAEnBz9R,EAAQi7B,SAASrvC,UAAUoU,MAAOwM,EAAOyuB,SAASrvC,UAAU4gB,KAC5DlzB,EAASpG,OAAOoG,OAAQslD,EAAiB1rD,OAAO0rD,eAChDwjQ,EAAmBlvT,OAAOkvT,iBAC1B1rR,EAAiBxjC,OAAO0Y,UAAU8qB,eAClCkyB,EAAa,CAAEE,cAAc,EAAMD,YAAY,EAAOk2H,UAAU,GAuBpEiY,GAAO,SAAUjlN,GAAMg4C,IACtB,IAAIitK,GAAM/oK,GAEVyxR,SAAS31R,IACTkE,GAAOnqD,KACPjX,EAAG2/D,KAAK1oD,KAAMiO,GAAMilN,GAAO,WAC1B6hC,GAAIrsM,KAAKyB,GAAMl8C,GAAMilN,IACrBh3K,EAAMwM,KAAKzC,GAAUjmD,KAAMywC,UAC5B,GAEAyiL,GAAKqsH,mBAAqBt5R,GACnBjmD,IACR,EAoEA+1L,GAAU,CACThtM,GApGDA,EAAK,SAAUklB,GAAMg4C,IACpB,IAAI74D,GAEJwuV,SAAS31R,IAEJ2M,EAAelK,KAAK1oD,KAAM,UAK9B5S,GAAO4S,KAAKw/U,QAJZpyV,GAAO03F,EAAWx3F,MAAQkoC,EAAO,MACjCslD,EAAe96E,KAAM,SAAU8kF,GAC/BA,EAAWx3F,MAAQ,MAIfF,GAAK6gB,IACqB,iBAAf7gB,GAAK6gB,IAAoB7gB,GAAK6gB,IAAM6zB,KAAKmkB,IACpD74D,GAAK6gB,IAAQ,CAAC7gB,GAAK6gB,IAAOg4C,IAFd74D,GAAK6gB,IAAQg4C,GAIvBjmD,IACR,EAoFCkzN,KAAMA,GACN6hC,IArEDA,GAAM,SAAU9mP,GAAMg4C,IACrB,IAAI74D,GAAMyzI,GAAW4+M,GAAW13T,GAIhC,GAFA6zT,EAAS31R,KAEJ2M,EAAelK,KAAK1oD,KAAM,UAAW,OAAOA,KAEjD,KADA5S,GAAO4S,KAAKw/U,QACFvxU,IAAO,OAAOjO,KAGxB,GAAyB,iBAFzB6gI,GAAYzzI,GAAK6gB,KAGhB,IAAK8Z,GAAI,EAAI03T,GAAY5+M,GAAU94G,MAAOA,IACpC03T,KAAcx5R,IAChBw5R,GAAUF,qBAAuBt5R,MACV,IAArB46E,GAAUzuI,OAAchF,GAAK6gB,IAAQ4yH,GAAU94G,GAAI,EAAI,GACtD84G,GAAUxxF,OAAOtnB,GAAG,SAItB84G,KAAc56E,IAChB46E,GAAU0+M,qBAAuBt5R,YAC5B74D,GAAK6gB,IAId,OAAOjO,IACR,EA4CCmlB,KA1CDA,GAAO,SAAUlX,IAChB,IAAI8Z,GAAG1K,GAAG4oC,GAAU46E,GAAW93F,GAE/B,GAAK6pB,EAAelK,KAAK1oD,KAAM,YAC/B6gI,GAAY7gI,KAAKw/U,OAAOvxU,KAGxB,GAAyB,iBAAd4yH,GAAwB,CAGlC,IAFAxjH,GAAIozB,UAAUr+C,OACd22C,GAAO,IAAIz3C,MAAM+rB,GAAI,GAChB0K,GAAI,EAAGA,GAAI1K,KAAK0K,GAAGghB,GAAKhhB,GAAI,GAAK0oB,UAAU1oB,IAGhD,IADA84G,GAAYA,GAAUj/F,QACjB7Z,GAAI,EAAIk+B,GAAW46E,GAAU94G,MAAOA,GACxCm0B,EAAMwM,KAAKzC,GAAUjmD,KAAM+oC,GAE7B,MACC,OAAQ0H,UAAUr+C,QAClB,KAAK,EACJs2D,EAAKA,KAAKm4E,GAAW7gI,MACrB,MACD,KAAK,EACJ0oD,EAAKA,KAAKm4E,GAAW7gI,KAAMywC,UAAU,IACrC,MACD,KAAK,EACJiY,EAAKA,KAAKm4E,GAAW7gI,KAAMywC,UAAU,GAAIA,UAAU,IACnD,MACD,QAGC,IAFApzB,GAAIozB,UAAUr+C,OACd22C,GAAO,IAAIz3C,MAAM+rB,GAAI,GAChB0K,GAAI,EAAGA,GAAI1K,KAAK0K,GACpBghB,GAAKhhB,GAAI,GAAK0oB,UAAU1oB,IAEzBm0B,EAAMwM,KAAKm4E,GAAW7gI,KAAM+oC,IAG/B,GASAw7G,GAAc,CACbx7J,GAAI+E,EAAE/E,GACNmqO,KAAMplO,EAAEolO,IACR6hC,IAAKjnQ,EAAEinQ,IACP5vO,KAAMr3B,EAAEq3B,KAGTqwI,GAAO8oL,EAAiB,CAAC,EAAG/5L,IAE5Bi0L,EAAO9oI,QAAUA,EAAU,SAAU54H,IACpC,OAAa,MAALA,GAAathD,EAAOggI,IAAQ8oL,EAAiBlvT,OAAO0nD,IAAIytE,GACjE,EACAmrD,UAAkB3Z,cCnIlB,IAAI2pJ,EAAgB,WACnB,GAAoB,iBAATv1R,MAAqBA,KAAM,OAAOA,KAC7C,GAAsB,iBAAXv1C,QAAuBA,OAAQ,OAAOA,OACjD,MAAM,IAAIizB,MAAM,kCACjB,EAEA2wS,EAAO9oI,QAAW,WACjB,GAAI1vM,KAAM,OAAOA,KAOjB,IACCovB,OAAO0rD,eAAe1rD,OAAO0Y,UAAW,aAAc,CACrDp/B,IAAK,WAAc,OAAO1I,IAAM,EAChCglF,cAAc,GAEhB,OAEC,OAAO06P,GACR,CACA,IAEC,OAAKC,YAAmBD,GAEzB,gBACQtwT,OAAO0Y,UAAU63S,UACzB,CACD,CAxBkB,iCCJlBnH,EAAO9oI,QAAUiqI,EAAQ,MAARA,GAAgChjQ,WAAagjQ,EAAQ,+BCAtEnB,EAAO9oI,QAAU,WAEhB,QAD0B,iBAAf/4H,aACNA,aACEA,WAAWrlF,QAAUA,KAC7B,YCFA,SAASsuV,EAAU3+S,GACjB,OAAOA,GACLA,EAAIxhC,aACiC,mBAA7BwhC,EAAIxhC,YAAYmgV,UACxB3+S,EAAIxhC,YAAYmgV,SAAS3+S,EAC7B,CAEA,SAAS4+S,EAAa3+S,GACpB,OAAOA,CACT,CAEA,SAAS4+S,EAASh3R,EAAQvhB,GAGxB,MAAMw4S,GAFNx4S,EAAOA,GAAQ,CAAC,GAEOw4S,WAAa,IAC9BC,EAAWz4S,EAAKy4S,SAChBC,EAAe14S,EAAK04S,cAAgBJ,EACpC31S,EAAS,CAAC,EA2BhBstI,OAzBA,SAASA,EAAMhyF,EAAQqiL,GAAMq4E,IAC3BA,GAAeA,IAAgB,EAC/B9wT,OAAOC,KAAKm2D,GAAQp6D,QAAQ,SAAU8V,IACpC,MAAM5zC,GAAQk4F,EAAOtkD,IACfi/S,GAAU54S,EAAKwiH,MAAQz4J,MAAMC,QAAQjE,IACrC2gB,GAAOmhB,OAAO0Y,UAAU3G,SAASunB,KAAKp7D,IACtC8yV,GAAWR,EAAStyV,IACpB+yV,GACK,oBAATpyU,IACS,mBAATA,GAGIqyU,GAASz4E,GACXA,GAAOk4E,EAAYE,EAAa/+S,IAChC++S,EAAa/+S,IAEjB,IAAKi/S,KAAYC,IAAYC,IAAYjxT,OAAOC,KAAK/hC,IAAO8E,UACxDm1C,EAAKy4S,UAAYE,GAAeF,GAClC,OAAOxoK,EAAKlqL,GAAOgzV,GAAQJ,GAAe,GAG5Ch2S,EAAOo2S,IAAUhzV,EACnB,EACF,CAEAkqL,CAAK1uH,GAEE5e,CACT,CAnDAsuS,EAAO9oI,QAAUowI,EACjBA,EAAQA,QAAUA,EAClBA,EAAQS,UAmDR,SAASA,EAAWz3R,EAAQvhB,GAG1B,MAAMw4S,GAFNx4S,EAAOA,GAAQ,CAAC,GAEOw4S,WAAa,IAC9BS,EAAYj5S,EAAKi5S,YAAa,EAC9BP,EAAe14S,EAAK04S,cAAgBJ,EACpCviV,EAAS,CAAC,EAGhB,GADiBsiV,EAAS92R,IACiC,oBAA3C15B,OAAO0Y,UAAU3G,SAASunB,KAAKI,GAC7C,OAAOA,EAKT,SAAS23R,EAAQv/S,IACf,MAAMw/S,GAAYlgS,OAAOtf,IAEzB,OACE7oC,MAAMqoV,MACe,IAArBx/S,GAAIrvC,QAAQ,MACZ01C,EAAKi+C,OACHtkD,GACAw/S,EACN,CAwBA53R,SAAS15B,OAAOC,KAAKy5B,GAAQ3kB,OAAO,SAAU7mC,GAAQ4jC,IACpD,MAAMjzB,GAAOmhB,OAAO0Y,UAAU3G,SAASunB,KAAKI,EAAO5nB,KAEnD,MAD2B,oBAATjzB,IAAuC,mBAATA,IAhBlD,SAASiqK,GAAS7zI,IAChB,MAAMp2B,GAAOmhB,OAAO0Y,UAAU3G,SAASunB,KAAKrkB,IAI5C,OAAKA,KAHoB,mBAATp2B,IAMNo2B,GAAIjyC,OALY,oBAAT6b,IAOPmhB,OAAOC,KAAKgV,IAAKjyC,YADpB,EAGT,CAKmB8lL,CAAQpvH,EAAO5nB,MAC9B5jC,GAAO4jC,IAAO4nB,EAAO5nB,IACd5jC,IA3BX,SAASqjV,GAASC,GAAWC,GAAW/3R,IACtC,OAAO15B,OAAOC,KAAKy5B,IAAQ3kB,OAAO,SAAU7mC,GAAQ4jC,IAClD5jC,UAAOsjV,GAAYb,EAAY7+S,IAAO4nB,GAAO5nB,IAEtC5jC,EACT,EAAGujV,GACL,CAuBWF,CACLz/S,GACA5jC,GACAwiV,EAAQh3R,EAAO5nB,IAAMqG,GAG3B,EAAG,CAAC,GAEJnY,OAAOC,KAAKy5B,GAAQ19B,QAAQ,SAAU8V,IACpC,MAAM/V,GAAQ+V,GAAI/V,MAAM40T,GAAWlyV,IAAIoyV,GACvC,IAAIn7J,GAAO27J,EAAOt1T,GAAMuyC,SACpBqnH,GAAO07J,EAAOt1T,GAAM,IACpB01T,GAAYvjV,EAEhB,UAAgBjP,IAAT02L,IAAoB,CACzB,GAAa,cAATD,GACF,OAGF,MAAM72K,GAAOmhB,OAAO0Y,UAAU3G,SAASunB,KAAKm4R,GAAU/7J,KAChDu7J,GACK,oBAATpyU,IACS,mBAATA,GAIF,IAAKuyU,IAAcH,WAAmBQ,GAAU/7J,IAAU,IACxD,QAGG07J,IAAcH,KAAeG,GAAgC,MAAnBK,GAAU/7J,OACvD+7J,GAAU/7J,IACQ,iBAATC,IACNx9I,EAAKi+C,OAAc,CAAC,EAAN,IAInBq7P,GAAYA,GAAU/7J,IAClB35J,GAAM/4B,OAAS,IACjB0yL,GAAO27J,EAAOt1T,GAAMuyC,SACpBqnH,GAAO07J,EAAOt1T,GAAM,IAExB,CAGA01T,GAAU/7J,IAAQy7J,EAAUz3R,EAAO5nB,IAAMqG,EAC3C,GAEOjqC,CACT,kBC7JA,IAAU4c,IAAgU,WAAW,IAAIigU,OAAO3B,OAAO9oI,QAAQ,OAAQ,WAA8b,OAAnb,SAAS/1K,EAAE6F,EAAE/tC,EAAE8c,GAAG,SAASuoE,EAAE/uD,EAAE7N,GAAG,IAAIzoB,EAAEs2B,GAAG,CAAC,IAAIyX,EAAEzX,GAAG,CAAmE,GAAG/L,EAAE,OAAOA,EAAE+L,GAAE,GAAI,IAAIvvB,EAAE,IAAIqvC,MAAM,uBAAuB9f,EAAE,KAAK,MAAMvvB,EAAEjM,KAAK,mBAAmBiM,CAAC,CAAC,IAAI4V,EAAE3c,EAAEs2B,GAAG,CAAC2nL,QAAQ,CAAC,GAAGlwK,EAAEzX,GAAG,GAAG2gC,KAAKt6C,EAAEshM,QAAQ,SAAS/1K,GAAoB,OAAOm9C,EAAlBt3C,EAAEzX,GAAG,GAAG4R,IAAeA,EAAE,EAAEvrB,EAAEA,EAAEshM,QAAQ/1K,EAAE6F,EAAE/tC,EAAE8c,EAAE,CAAC,OAAO9c,EAAEs2B,GAAG2nL,OAAO,CAAC,QAAQ1zL,OAAE,EAAoC+L,EAAE,EAAEA,EAAExZ,EAAEnc,OAAO21B,IAAI+uD,EAAEvoE,EAAEwZ,IAAI,OAAO+uD,CAAC,CAAS,CAA9c,GAAmd,CAAC,EAAE,CAAC,SAAS6iQ,QAAQnB,OAAO9oI,UAC91B,SAAW94H,SAAQ,WAMnB,IAAIkqQ,QAAQA,SAAS,CAAC,EAAEA,QAAQ1mS,MAAM,CAAC,EAAE0mS,QAAQC,0BAA0B,SAASvoV,GAAG,OAAOA,EAAEwoV,IAAIxoV,CAAC,EAAEsoV,QAAQG,iCAAiC,SAASzoV,EAAE2hE,GAAG3hE,SAAEwoV,IAAI7mR,EAAS3hE,CAAC,EAAEsoV,QAAQI,kBAAkB,SAAS1oV,GAAG,IAAI2hE,EAAE,EAAE,OAAO,WAAW,OAAOA,EAAE3hE,EAAEpG,OAAO,CAACulE,MAAK,EAAGrqE,MAAMkL,EAAE2hE,MAAM,CAACxC,MAAK,EAAG,CAAC,EAAEmpR,QAAQK,cAAc,SAAS3oV,GAAG,MAAM,CAACmU,KAAKm0U,QAAQI,kBAAkB1oV,GAAG,EAAEsoV,QAAQM,aAAa,SAAS5oV,GAAG,IAAI2hE,SAAsBq5L,OAApB,KAA4BA,OAAOijB,UAAUj+Q,EAAEg7P,OAAOijB,UAAU,OAAOt8M,EAAEA,EAAEzR,KAAKlwD,GAAGsoV,QAAQK,cAAc3oV,EAAE,EACpgBsoV,QAAQO,kBAAkB,SAAS7oV,GAAG,QAAQ2hE,EAAE1nE,EAAE,KAAK0nE,EAAE3hE,EAAEmU,QAAQgrD,MAAMllE,EAAEqvC,KAAKq4B,EAAE7sE,OAAO,OAAOmF,CAAC,EAAEquV,QAAQQ,kBAAkB,SAAS9oV,GAAG,OAAOA,aAAalH,MAAMkH,EAAEsoV,QAAQO,kBAAkBP,QAAQM,aAAa5oV,GAAG,EAAEsoV,QAAQS,gBAAgB,SAAS/oV,EAAE2hE,EAAE1nE,GAAG,GAAG,MAAM+F,EAAE,MAAM,IAAI+1C,UAAU,yCAAyC97C,EAAE,kCAAkC,GAAG0nE,aAAaqV,OAAO,MAAM,IAAIjhC,UAAU,sCAAsC97C,EAAE,qCAAqC,OAAO+F,EAAE,EAAE,EAChfsoV,QAAQU,YAAW,EAAGV,QAAQW,sBAAqB,EAAGX,QAAQY,sBAAqB,EAAGZ,QAAQa,wBAAuB,EAAGb,QAAQc,mBAAkB,EAAGd,QAAQe,wBAAuB,EAAGf,QAAQgB,oDAAmD,EAAGhB,QAAQhmQ,eAAegmQ,QAAQU,YAAY,mBAAmBpyT,OAAOkvT,iBAAiBlvT,OAAO0rD,eAAe,SAAStiF,EAAE2hE,EAAE1nE,GAAG,OAAG+F,GAAGlH,MAAMw2C,WAAWtvC,GAAG42B,OAAO0Y,YAAmBtvC,EAAE2hE,GAAG1nE,EAAEnF,OAAakL,CAAC,EAC1bsoV,QAAQ7lQ,UAAU,SAASziF,GAAGA,EAAE,CAAC,iBAAiBm+E,YAAYA,WAAWn+E,EAAE,iBAAiBoc,QAAQA,OAAO,iBAAiBu1C,MAAMA,KAAK,iBAAiBysB,QAAQA,QAAQ,QAAQzc,EAAE,EAAEA,EAAE3hE,EAAEpG,SAAS+nE,EAAE,CAAC,IAAI1nE,EAAE+F,EAAE2hE,GAAG,GAAG1nE,GAAGA,EAAE06B,MAAMA,KAAK,OAAO16B,CAAC,CAAC,MAAMo1C,MAAM,4BAA6B,EAAEi5S,QAAQlqQ,OAAOkqQ,QAAQ7lQ,UAAUj7E,MAAM8gV,QAAQiB,iBAAiB,mBAAoBvuF,QAAQ,iBAAkBA,OAAO,KAAKstF,QAAQkB,qBAAqBlB,QAAQc,mBAAmBd,QAAQiB,iBAAiBjB,QAAQmB,UAAU,CAAC,EACpfnB,QAAQoB,yBAAyB,CAAC,EAAEpB,QAAQqB,gBAAgB,SAAS,IAAIC,8BAA8B,SAAS5pV,EAAE2hE,GAAG,IAAI1nE,EAAEquV,QAAQoB,yBAAyB/nR,GAAG,OAAG,MAAM1nE,EAAS+F,EAAE2hE,QAAiB,KAAd1nE,EAAE+F,EAAE/F,IAAqBA,EAAE+F,EAAE2hE,EAAE,EAAE2mR,QAAQhxM,SAAS,SAASt3I,EAAE2hE,EAAE1nE,EAAE3E,GAAGqsE,IAAI2mR,QAAQc,kBAAkBd,QAAQuB,iBAAiB7pV,EAAE2hE,EAAE1nE,EAAE3E,GAAGgzV,QAAQwB,mBAAmB9pV,EAAE2hE,EAAE1nE,EAAE3E,GAAG,EAC9VgzV,QAAQwB,mBAAmB,SAAS9pV,EAAE2hE,EAAE1nE,EAAE3E,GAAmC,IAAhC2E,EAAEquV,QAAQlqQ,OAAOp+E,EAAEA,EAAE2yB,MAAM,KAASr9B,EAAE,EAAEA,EAAE0K,EAAEpG,OAAO,EAAEtE,IAAI,CAAC,IAAI0xC,EAAEhnC,EAAE1K,GAAG,KAAK0xC,KAAK/sC,GAAG,OAAOA,EAAEA,EAAE+sC,EAAE,EAAwB26B,EAAEA,EAATrsE,EAAE2E,EAAlB+F,EAAEA,EAAEA,EAAEpG,OAAO,OAAoBtE,GAAG,MAAMqsE,GAAG2mR,QAAQhmQ,eAAeroF,EAAE+F,EAAE,CAACwsF,cAAa,EAAGi2H,UAAS,EAAG3tN,MAAM6sE,GAAG,EAC3P2mR,QAAQuB,iBAAiB,SAAS7pV,EAAE2hE,EAAE1nE,EAAE3E,GAAG,IAAI0xC,EAAEhnC,EAAE2yB,MAAM,KAAoBr9B,EAAE0xC,EAAE,GAAG1xC,IAAtB0K,EAAE,IAAIgnC,EAAEptC,SAAoBtE,KAAKgzV,QAAQmB,UAAUnB,QAAQmB,UAAUnB,QAAQlqQ,OAAO,QAAQ18D,EAAE,EAAEA,EAAEslB,EAAEptC,OAAO,EAAE8nB,IAAI,CAAC,IAAI4iM,EAAEt9K,EAAEtlB,GAAG,KAAK4iM,KAAKhvN,GAAG,OAAOA,EAAEA,EAAEgvN,EAAE,CAACt9K,EAAEA,EAAEA,EAAEptC,OAAO,GAA0D,OAAP+nE,EAAEA,EAAlD1nE,EAAEquV,QAAQiB,kBAAkB,QAAQtvV,EAAE3E,EAAE0xC,GAAG,SAAsBhnC,EAAEsoV,QAAQhmQ,eAAegmQ,QAAQmB,UAAUziT,EAAE,CAACwlD,cAAa,EAAGi2H,UAAS,EAAG3tN,MAAM6sE,IAAIA,IAAI1nE,IAAIquV,QAAQoB,yBAAyB1iT,GAAGshT,QAAQiB,iBAAiBjB,QAAQlqQ,OAAO48K,OAAOh0N,GAAGshT,QAAQqB,gBAAgB3iT,EAC7cshT,QAAQhmQ,eAAehtF,EADwb0xC,EACnfshT,QAAQoB,yBAAyB1iT,GAA8B,CAACwlD,cAAa,EAAGi2H,UAAS,EAAG3tN,MAAM6sE,KAAK,EAAE2mR,QAAQhxM,SAAS,4BAA4B,SAASt3I,GAAG,OAAOA,GAAI,SAAS2hE,EAAE1nE,GAAG,IAAI3E,EAAEgzV,QAAQS,gBAAgBvhV,KAAKm6D,EAAE,YAAYA,GAAG,QAAG,IAAS1nE,IAAIA,EAAE3E,EAAEsE,QAAQK,EAAE06B,KAAKC,IAAI,EAAED,KAAKE,IAAM,EAAF56B,EAAI3E,EAAEsE,SAAS,QAAQotC,EAAE26B,EAAE/nE,OAAO,EAAEotC,GAAG,EAAE/sC,GAAG,GAAG3E,IAAI2E,IAAI0nE,IAAI36B,GAAG,OAAM,EAAG,OAAO,GAAGA,CAAC,CAAC,EAAE,MAAM,OAC5XshT,QAAQyB,aAAa,SAAS/pV,EAAE2hE,EAAE1nE,GAAG+F,aAAagzC,SAAShzC,EAAEgzC,OAAOhzC,IAAI,QAAQ1K,EAAE0K,EAAEpG,OAAOotC,EAAE,EAAEA,EAAE1xC,EAAE0xC,IAAI,CAAC,IAAItlB,EAAE1hB,EAAEgnC,GAAG,GAAG26B,EAAEzR,KAAKj2D,EAAEynB,EAAEslB,EAAEhnC,GAAG,MAAM,CAACuvB,EAAEyX,EAAEzN,EAAE7X,EAAE,CAAC,MAAM,CAAC6N,GAAE,EAAGgK,OAAE,EAAO,EAAE+uT,QAAQhxM,SAAS,uBAAuB,SAASt3I,GAAG,OAAOA,GAAI,SAAS2hE,EAAE1nE,GAAG,OAAOquV,QAAQyB,aAAaviV,KAAKm6D,EAAE1nE,GAAGs/B,CAAC,CAAC,EAAE,MAAM,OAC1S+uT,QAAQhxM,SAAS,8BAA8B,SAASt3I,GAAG,OAAOA,GAAI,SAAS2hE,EAAE1nE,GAAG,IAAI3E,EAAEgzV,QAAQS,gBAAgBvhV,KAAKm6D,EAAE,cAAwB36B,EAAE1xC,EAAEsE,OAAO8nB,GAArBigD,GAAG,IAAsB/nE,OAAOK,EAAE06B,KAAKC,IAAI,EAAED,KAAKE,IAAM,EAAF56B,EAAI3E,EAAEsE,SAAS,QAAQ0qN,EAAE,EAAEA,EAAE5iM,GAAGznB,EAAE+sC,GAAG,GAAG1xC,EAAE2E,MAAM0nE,EAAE2iJ,KAAK,OAAM,EAAG,OAAOA,GAAG5iM,CAAC,CAAC,EAAE,MAAM,OACjR4mU,QAAQhxM,SAAS,0BAA0B,SAASt3I,GAAG,OAAOA,GAAI,SAAS2hE,GAAG,IAAI1nE,EAAEquV,QAAQS,gBAAgBvhV,KAAK,KAAK,UAAU,GAAG,EAAEm6D,GAAG,WAAWA,EAAE,MAAM,IAAIulP,WAAW,uBAAuBvlP,GAAG,EAAE,QAAQrsE,EAAE,GAAGqsE,GAAQ,EAAFA,IAAMrsE,GAAG2E,IAAG0nE,KAAK,KAAE1nE,GAAGA,GAAE,OAAO3E,CAAC,CAAC,EAAE,MAAM,OAAOgzV,QAAQ0B,WAAW,WAAW,EACvS1B,QAAQhxM,SAAS,SAAS,SAASt3I,GAAG,GAAGA,EAAE,OAAOA,EAAE,IAAI2hE,EAAE,SAAS36B,EAAEtlB,GAAGla,KAAKyiV,mBAAmBjjT,EAAEshT,QAAQhmQ,eAAe96E,KAAK,cAAc,CAACglF,cAAa,EAAGi2H,UAAS,EAAG3tN,MAAM4sB,GAAG,EAAEigD,EAAEryB,UAAU3G,SAAS,WAAW,OAAOnhC,KAAKyiV,kBAAkB,EAAE,IAAIhwV,EAAE,EAAE3E,EAAE,SAAS0xC,GAAG,GAAGx/B,gBAAgBlS,EAAE,MAAM,IAAIygD,UAAU,+BAA+B,OAAO,IAAI4rB,EAAE,kBAAkB36B,GAAG,IAAI,IAAI/sC,IAAI+sC,EAAE,EAAE,OAAO1xC,CAAC,EAAE,MAAM,OACpZgzV,QAAQhxM,SAAS,kBAAkB,SAASt3I,GAAG,GAAGA,EAAE,OAAOA,EAAEA,EAAEg7P,OAAO,mBAAmB,QAAQr5L,EAAE,uHAAuHhvC,MAAM,KAAK14B,EAAE,EAAEA,EAAE0nE,EAAE/nE,OAAOK,IAAI,CAAC,IAAI3E,EAAEgzV,QAAQlqQ,OAAOzc,EAAE1nE,IAAI,mBAAoB3E,GAAG,mBAAmBA,EAAEg6C,UAAUtvC,IAAIsoV,QAAQhmQ,eAAehtF,EAAEg6C,UAAUtvC,EAAE,CAACwsF,cAAa,EAAGi2H,UAAS,EAAG3tN,MAAM,WAAW,OAAOwzV,QAAQ4B,kBAAkB5B,QAAQI,kBAAkBlhV,MAAM,GAAG,CAAC,OAAOxH,CAAC,EAAE,MAChf,OAAOsoV,QAAQ4B,kBAAkB,SAASlqV,GAAGA,SAAE,CAACmU,KAAKnU,IAAKg7P,OAAOijB,UAAU,WAAW,OAAOz2Q,IAAI,EAASxH,CAAC,EAAEsoV,QAAQ6B,kBAAkB,SAASnqV,EAAE2hE,GAAG3hE,aAAagzC,SAAShzC,GAAG,IAAI,IAAI/F,EAAE,EAAE3E,GAAE,EAAG0xC,EAAE,CAAC7yB,KAAK,WAAW,IAAI7e,GAAG2E,EAAE+F,EAAEpG,OAAO,CAAC,IAAI8nB,EAAEznB,IAAI,MAAM,CAACnF,MAAM6sE,EAAEjgD,EAAE1hB,EAAE0hB,IAAIy9C,MAAK,EAAG,CAAC7pE,UAAE,EAAS,CAAC6pE,MAAK,EAAGrqE,WAAM,EAAO,GAAGkyC,SAAEg0N,OAAOijB,UAAU,WAAW,OAAOj3O,CAAC,EAASA,CAAC,EAAEshT,QAAQhxM,SAAS,uBAAuB,SAASt3I,GAAG,OAAOA,GAAI,WAAW,OAAOsoV,QAAQ6B,kBAAkB3iV,KAAK,SAASm6D,GAAG,OAAOA,CAAC,EAAE,CAAC,EAAE,MAAM,OACpf2mR,QAAQhxM,SAAS,YAAY,SAASt3I,GAAG,OAAOA,GAAI,SAAS2hE,EAAE1nE,GAAG,OAAO0nE,IAAI1nE,EAAE,IAAI0nE,GAAG,EAAEA,GAAI,EAAE1nE,EAAE0nE,GAAIA,GAAG1nE,GAAIA,CAAC,CAAC,EAAE,MAAM,OAAOquV,QAAQhxM,SAAS,2BAA2B,SAASt3I,GAAG,OAAOA,GAAI,SAAS2hE,EAAE1nE,GAAG,IAAI3E,EAAEkS,KAAKlS,aAAa09C,SAAS19C,EAAE09C,OAAO19C,IAAI,IAAI0xC,EAAE1xC,EAAEsE,OAAc,IAAI,GAAXK,EAAEA,GAAG,KAAYA,EAAE06B,KAAKC,IAAI36B,EAAE+sC,EAAE,IAAI/sC,EAAE+sC,EAAE/sC,IAAI,CAAC,IAAIynB,EAAEpsB,EAAE2E,GAAG,GAAGynB,IAAIigD,GAAG/qC,OAAOwzT,GAAG1oU,EAAEigD,GAAG,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,EAAE,MAAM,OACrX2mR,QAAQhxM,SAAS,4BAA4B,SAASt3I,GAAG,OAAOA,GAAI,SAAS2hE,EAAE1nE,GAAG,OAAM,IAAKquV,QAAQS,gBAAgBvhV,KAAKm6D,EAAE,YAAYtoE,QAAQsoE,EAAE1nE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,IAAIowV,UAAS,EAAGC,KAAKA,MAAM,CAAC,EAgE2F,SAASC,4CAA4CvqV,GAAG,GAAGqvC,MAAMq0S,kBAAkBr0S,MAAMq0S,kBAAkBl8U,KAAK+iV,iDAAiD,CAAC,IAAI5oR,EAAEtyB,QAAQi3B,MAAM3E,IAAIn6D,KAAK8+D,MAAM3E,EAAE,CAAC3hE,IAAIwH,KAAKuqC,QAAQiB,OAAOhzC,IAAIwH,KAAKgjV,qBAAoB,CAAE,CAhExVF,KAAKlsQ,OAAO52E,MAAMmqD,KACvN24R,KAAKG,YAAY,SAASzqV,EAAE2hE,EAAE1nE,EAAE3E,IAAG0K,EAAEA,EAAE2yB,MAAM,MAAwB,KAAnBr9B,EAAEA,GAAGg1V,KAAKlsQ,gBAAqC9oF,EAAEo1V,WAAtB,KAAkCp1V,EAAEo1V,WAAW,OAAO1qV,EAAE,IAAI,QAAQgnC,EAAEhnC,EAAEpG,SAASotC,EAAEhnC,EAAEklE,UAAU,GAAGllE,EAAEpG,aAAQ,IAAS+nE,EAAErsE,EAAEA,EAAE0xC,IAAI1xC,EAAE0xC,KAAKpQ,OAAO0Y,UAAUtI,GAAG1xC,EAAE0xC,GAAG1xC,EAAE0xC,GAAG,CAAC,WAAW/sC,GAAGqwV,KAAK/gQ,SAAS5nB,IAAI2oR,KAAK/gQ,SAASj0F,EAAE0xC,IAAI,QAAQtlB,KAAKigD,EAAEA,EAAEvH,eAAe14C,KAAKpsB,EAAE0xC,GAAGtlB,GAAGigD,EAAEjgD,SAASpsB,EAAE0xC,GAAG26B,CAAC,EACpW2oR,KAAK3I,OAAO,SAAS3hV,EAAE2hE,GAAG,IAAI0oR,SAAS,CAAC,IAAIpwV,EAAEqwV,KAAKlsQ,OAAOusQ,2BAA2Br1V,EAAEg1V,KAAKlsQ,OAAOwsQ,gBAAgB3wV,QAAG,IAASA,EAAEq1J,UAAU14H,OAAO0Y,UAAU8qB,eAAelK,KAAKj2D,EAAE+F,GAAG2hE,EAAE1nE,EAAE+F,GAAG1K,QAAG,IAASA,EAAEg6J,UAAU14H,OAAO0Y,UAAU8qB,eAAelK,KAAK56D,EAAE0K,KAAK2hE,EAAErsE,EAAE0K,GAAG,CAAC,OAAO2hE,CAAC,EAAE2oR,KAAKO,gBAAgB,KAAKP,KAAKr6S,OAAM,EAAGq6S,KAAKx/U,OAAO,KAAKw/U,KAAKQ,cAAa,EAAGR,KAAKS,wBAAwBV,WAAWC,KAAKr6S,MAAMq6S,KAAKU,uCAAsC,EAC9bV,KAAKnyT,QAAQ,SAASn4B,GAAG,GAAGsqV,KAAKW,oBAAoB,MAAM57S,MAAM,gDAAgD,IAAIg7S,UAAUC,KAAKY,YAAYlrV,GAAG,MAAMqvC,MAAM,cAAcrvC,EAAE,uBAAuBsqV,KAAKa,oBAAoBnrV,EAAE,EAAEsqV,KAAKa,oBAAoB,SAASnrV,EAAE2hE,EAAE1nE,GAAG,IAAIowV,SAAS,QAAQC,KAAKc,oBAAoBprV,GAAG,QAAQ1K,EAAE0K,GAAG1K,EAAEA,EAAEunB,UAAU,EAAEvnB,EAAEshD,YAAY,SAAS0zS,KAAKe,gBAAgB/1V,IAAIg1V,KAAKc,oBAAoB91V,IAAG,CAAE,CAACg1V,KAAKG,YAAYzqV,EAAE2hE,EAAE1nE,EAAE,EAChcqwV,KAAKgB,eAAe,SAAStrV,GAAG,OAAGA,GAAGA,GAAGsqV,KAAKlsQ,OAAcksQ,KAAKiB,gBAAgBvrV,EAAEyU,WAAU,OAAO61U,KAAKkB,YAAYlB,KAAKkB,UAAUlB,KAAKiB,gBAAgBjB,KAAKlsQ,OAAO3pE,WAAkB61U,KAAKkB,UAAS,EAAElB,KAAKmB,eAAe,sBAAsBnB,KAAKkB,UAAU,KAAKlB,KAAKiB,gBAAgB,SAASvrV,GAAG,OAAOA,EAAEA,EAAE++D,eAAe/+D,EAAE++D,cAAc,oBAAoB/+D,EAAEA,EAAE+0C,OAAO/0C,EAAE8tJ,aAAa,WAAWw8L,KAAKmB,eAAe9oP,KAAK3iG,GAAGA,EAAE,EAAE,EAAEsqV,KAAKoB,iBAAiB,8BACjcpB,KAAKtK,OAAO,SAAShgV,GAAG,GAAG,iBAAkBA,IAAIA,IAAG,GAAIA,EAAE49D,OAAO0sR,KAAKoB,kBAAkB,MAAMr8S,MAAM,6BAA6B,IAAIi7S,KAAKqB,wBAAwB,MAAMt8S,MAAM,UAAUrvC,EAAE,4XAC1L,GAAGsqV,KAAKsB,mBAAmBC,WAAW,MAAMx8S,MAAM,mDAAwF,GAArCi7S,KAAKsB,mBAAmBC,WAAW7rV,GAAMqqV,SAAS,CAAC,GAAGC,KAAKY,YAAYlrV,GAAG,MAAMqvC,MAAM,cAAcrvC,EAAE,8BAA8BsqV,KAAKc,oBAAoBprV,EAAE,CAAC,EAAEsqV,KAAKtK,OAAO9vU,IAAI,SAASlQ,GAAG,OAAOsqV,KAAKtK,OAAO8L,aAAa9rV,EAAE,EACrUsqV,KAAKtK,OAAO8L,aAAa,SAAS9rV,GAAG,IAAIqqV,SAAS,CAAC,GAAGrqV,KAAKsqV,KAAKyB,eAAe,OAAOzB,KAAKyB,eAAe/rV,GAAGk3M,QAAQ,IAAIozI,KAAKc,oBAAoBprV,GAAG,OAAOA,EAAEsqV,KAAKe,gBAAgBrrV,KAAa,IAAI,CAAC,OAAO,IAAI,EAAEsqV,KAAK0B,WAAW,CAACC,IAAI,MAAMC,KAAK,QAAQ5B,KAAKsB,mBAAmB,KAAKtB,KAAKW,kBAAkB,WAAW,OAAOX,KAAKqB,yBAAyBrB,KAAK6B,sBAAsB,EAAE7B,KAAKqB,sBAAsB,WAAW,QAAQrB,KAAKsB,oBAAoBtB,KAAKsB,mBAAmBn2U,MAAM60U,KAAK0B,WAAWE,IAAI,EACpf5B,KAAK6B,qBAAqB,WAAW,GAAG7B,KAAKsB,oBAAoBtB,KAAKsB,mBAAmBn2U,MAAM60U,KAAK0B,WAAWC,IAAI,OAAM,EAAG,IAAIjsV,EAAEsqV,KAAKlsQ,OAAOkqQ,QAAQ,QAAOtoV,GAAE,mBAAmBA,EAAEosV,wBAA0BpsV,EAAEosV,sBAAyB,EACzO9B,KAAKtK,OAAOqM,uBAAuB,WAAW,IAAIhC,WAAWC,KAAKqB,wBAAwB,MAAMt8S,MAAM,+EAA+E,IAAIg7S,WAAWC,KAAKsB,mBAAmBC,WAAW,MAAMx8S,MAAM,2EAA2Ei7S,KAAKsB,mBAAmBS,wBAAuB,CAAE,EAC/W/B,KAAKgC,gBAAgB,SAAStsV,GAAG,IAAIqqV,SAAS,CAAC,IAAIC,KAAK6B,uBAAuB,MAAM98S,MAAM,qEAAqE,GAAGi7S,KAAKsB,oBAAoBtB,KAAKsB,mBAAmBC,WAAW,MAAMx8S,MAAM,4DAA4D,GAAGrvC,KAAKsqV,KAAKyB,eAAe,MAAM18S,MAAM,0BAA0BrvC,EAAE,oBAAqB,CAAC,GAAGsqV,KAAKsB,mBAAmBtB,KAAKsB,mBAAmBC,WAAW7rV,MAAM,CAAC,IAAI2hE,EAAE2oR,KAAKlsQ,OAAOkqQ,QAAQ,IAAI3mR,GAAG,mBAAmBA,EAAEyqR,qBAAqB,MAAM/8S,MAAM,0BAC7hBrvC,EAAE,kCAAkC2hE,EAAEA,EAAEw/Q,QAAQx/Q,EAAEyqR,wBAAwB9B,KAAKyB,eAAe/rV,GAAG,CAACk3M,QAAQv1I,EAAElsD,KAAK60U,KAAK0B,WAAWC,IAAIM,SAASvsV,EAAE,CAAC,EAAEsqV,KAAKkC,YAAY,SAASxsV,GAAG,GAAGsqV,KAAKS,wBAAwB,MAAM/qV,EAAEA,GAAG,GAAGqvC,MAAM,uDAAuDrvC,EAAE,KAAKA,EAAE,KAAM,EAAEsqV,KAAKmC,eAAe,SAASzsV,GAAG,EAAEqqV,WAAWC,KAAKY,YAAY,SAASlrV,GAAG,OAAOA,KAAKsqV,KAAKyB,iBAAiBzB,KAAKc,oBAAoBprV,IAAI,MAAMsqV,KAAKe,gBAAgBrrV,EAAE,EAAEsqV,KAAKc,oBAAoB,CAAC,eAAc,IAC5fd,KAAKe,gBAAgB,SAASrrV,EAAE2hE,GAAG3hE,EAAEA,EAAE2yB,MAAM,KAAKgvC,EAAEA,GAAG2oR,KAAKlsQ,OAAO,QAAQnkF,EAAE,EAAEA,EAAE+F,EAAEpG,OAAOK,IAAI,GAAa,OAAV0nE,EAAEA,EAAE3hE,EAAE/F,KAAY,OAAO,KAAK,OAAO0nE,CAAC,EAAE2oR,KAAKoC,cAAc,SAAS1sV,EAAE2hE,EAAE1nE,EAAE3E,IAAI+0V,UAAUC,KAAKqC,sBAAsBrC,KAAKsC,aAAaF,cAAc1sV,EAAE2hE,EAAE1nE,EAAE3E,EAAE,EAAEg1V,KAAKuC,qBAAoB,EAAGvC,KAAKwC,cAAc,SAAS9sV,GAAGsqV,KAAKlsQ,OAAOniE,SAASquU,KAAKlsQ,OAAOniE,QAAQ3lB,MAAM0J,EAAE,EAC1WsqV,KAAKnJ,QAAQ,SAASnhV,GAAG,IAAIqqV,SAAS,CAA0D,GAAzDC,KAAKuC,qBAAqBvC,KAAKsC,aAAaG,UAAU/sV,GAAMsqV,KAAKY,YAAYlrV,IAAI,GAAGsqV,KAAKW,oBAAoB,OAAOX,KAAKtK,OAAO8L,aAAa9rV,QAAC,GAAUsqV,KAAKuC,oBAAoB,CAAC,IAAIlrR,EAAE2oR,KAAKsB,mBAAmBtB,KAAKsB,mBAAmB,KAAK,IAAItB,KAAKsC,aAAaI,MAAMhtV,EAAE,SAASsqV,KAAKsB,mBAAmBjqR,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE2oR,KAAK2C,YAAY,SAASjtV,GAAG,MAAM,CAAC,CAAC,EAAEsqV,KAAK4C,SAAS,GAAG5C,KAAK6C,aAAa,WAAW,EACzb7C,KAAK8C,eAAe,WAAW,MAAM/9S,MAAM,gCAAiC,EAAEi7S,KAAK+C,mBAAmB,SAASrtV,GAAGA,EAAEstV,eAAU,EAAOttV,EAAE2mE,YAAY,WAAW,OAAG3mE,EAAEstV,UAAiBttV,EAAEstV,WAAUhD,KAAKr6S,QAAQq6S,KAAKiD,wBAAwBjD,KAAKiD,wBAAwB3zV,QAAQoG,GAAUA,EAAEstV,UAAU,IAAIttV,EAAC,CAAC,EAAEsqV,KAAKiD,wBAAwB,GAAGjD,KAAKkD,wBAAuB,EAAGlD,KAAKmD,oBAAoBnD,KAAKr6S,MAAMq6S,KAAKyB,eAAe,CAAC,EAAEzB,KAAKqC,sBAAsBtC,UAAUC,KAAKuC,oBAAoBvC,KAAKoD,UAAU,SACpfpD,KAAKqD,8BAA6B,EAAGrD,KAAKsD,sBAAsB,GAAGtD,KAAKuD,WAAW,eAAevD,KAAKwD,iBAAiB,KAAKxD,KAAKyD,sBAAsB,WAAW,GAAG,MAAMzD,KAAKwD,iBAAiB,CAAC,IAAI,IAAI9tV,GAAGkyM,KAAK,6EAA6E,OAAOvwI,GAAG3hE,GAAE,CAAE,CAACsqV,KAAKwD,iBAAiB9tV,CAAC,CAAC,OAAOsqV,KAAKwD,gBAAgB,EAAExD,KAAK0D,0BAA0B,SAAShuV,GAAG,MAAM,eAAeA,EAAE,YAAY,EACnbsqV,KAAK2D,WAAW,SAASjuV,GAAG,IAAI2hE,EAAE2oR,KAAKsB,mBAAmB,IAAItB,KAAKsB,mBAAmB,CAACC,WAAW,GAAGQ,wBAAuB,EAAG52U,KAAK60U,KAAK0B,WAAWE,MAAM,IAAIjyV,EAAE,CAAC,EAAE3E,EAAE2E,EAAE,GAAG,mBAAoB+F,EAAE1K,EAAE0K,EAAEkwD,UAAK,EAAO56D,OAAC,IAAU,iBAAkB0K,EAAyH,MAAMqvC,MAAM,6BAAnIi7S,KAAKyD,0BAA0B/tV,EAAEsqV,KAAK0D,0BAA0BhuV,IAAI1K,EAAEg1V,KAAK4D,sBAAsBh+R,UAAK,EAAO56D,EAAE0K,EAA+C,CAAE,IAAIgnC,EAAEsjT,KAAKsB,mBAAmBC,WAAW,GAAG,iBAAkB7kT,IAAGA,EAC3O,MAAMqI,MAAM,wBAAwBrI,EAAE,KADuMsjT,KAAKsB,mBAAmBS,uBAC1e/B,KAAKa,oBAAoBnkT,EAAE1xC,EAAE2E,IAAI3E,GAAGg1V,KAAKmD,qBAAqB72T,OAAOu3T,MAAM,iBAAiB74V,GAAG,MAAMA,GAAGshC,OAAOu3T,KAAK74V,GAAGg1V,KAAKyB,eAAe/kT,GAAG,CAACkwK,QAAQ5hN,EAAEmgB,KAAK60U,KAAK0B,WAAWE,KAAKK,SAASjC,KAAKsB,mBAAmBC,WAA4D,SAASvB,KAAKsB,mBAAmBjqR,CAAC,CAAC,EAAE2oR,KAAK4D,sBAAsB,SAASluV,EAAE2hE,GAAGuwI,YAAKvwI,GAAU3hE,CAAC,EAC9WsqV,KAAK8D,eAAe,SAASpuV,GAAGA,EAAEA,EAAE2yB,MAAM,KAAK,QAAQgvC,EAAE,EAAEA,EAAE3hE,EAAEpG,QAAQ,KAAKoG,EAAE2hE,GAAG3hE,EAAE62C,OAAO8qB,EAAE,GAAGA,GAAG,MAAM3hE,EAAE2hE,IAAI3hE,EAAE2hE,EAAE,IAAI,MAAM3hE,EAAE2hE,EAAE,GAAG3hE,EAAE62C,SAAS8qB,EAAE,GAAGA,IAAI,OAAO3hE,EAAEkzC,KAAK,IAAI,EAAEo3S,KAAK+D,cAAc,SAASruV,GAAG,GAAGsqV,KAAKlsQ,OAAOkwQ,uBAAuB,OAAOhE,KAAKlsQ,OAAOkwQ,uBAAuBtuV,GAAG,IAAI,IAAI2hE,EAAE,IAAI2oR,KAAKlsQ,OAAOw8C,eAAej5D,SAAE3Q,KAAK,MAAMhxD,GAAE,GAAI2hE,EAAExlB,OAAc,GAAGwlB,EAAE7pE,QAAQ,KAAK6pE,EAAE7pE,OAAO6pE,EAAEhjB,aAAa,IAAI,OAAU,OAAO,IAAI,CAAC,EAC7a2rS,KAAKiE,WAAW,SAASvuV,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAEg1V,KAAKlsQ,OAAOkqQ,QAAQhzV,IAAIg1V,KAAKlsQ,OAAOkqQ,QAAQhzV,EAAE,CAAC,GAAG,IAAI0xC,EAAE1xC,EAAEk5V,UAAU,IAAIxnT,EAAE,CAAC,IAAItlB,EAAE4oU,KAAK4C,SAAS5C,KAAKuD,WAAWvpI,EAAEgmI,KAAK+D,cAAc3sU,GAAG,GAAG4iM,EAAE,CAAkE,GAAhE,YAAW,EAAGpS,MAAMoS,EAAE,mBAAmB5iM,EAAE,EAAGwuC,KAAKo6R,KAAKlsQ,QAAWksQ,KAAKlsQ,OAAOqwQ,YAAYnE,KAAKlsQ,OAAOqwQ,WAAWnG,UAAUgC,KAAKlsQ,OAAOqwQ,WAAWnG,QAAQkG,UAAU,MAAMn/S,MAAM,8EAA8ErqC,KAAKutC,UAAU+3S,KAAKlsQ,OAAOqwQ,aAAanE,KAAKlsQ,OAAOkqQ,QAAQkG,UAC/elE,KAAKlsQ,OAAOqwQ,WAAWnG,QAAQkG,UAAgCxnT,GAAtB1xC,EAAEg1V,KAAKlsQ,OAAOkqQ,SAAYkG,SAAS,CAAC,CAACxnT,WAAIA,EAAE1xC,EAAEk5V,UAAU,SAAShzO,EAAE5wE,GAAG0/S,YAAKwC,cAAcliT,EAAE,wDAA+D4wE,CAAC,GAAUx0E,EAAEhnC,EAAE2hE,EAAE1nE,EAAE,EAAEqwV,KAAKoE,OAAO,SAAS1uV,GAAG,IAAI2hE,SAAS3hE,EAAE,MAAM,UAAU2hE,EAAEA,EAAE3hE,EAAElH,MAAMC,QAAQiH,GAAG,QAAQ2hE,EAAE,MAAM,EAAE2oR,KAAKqE,YAAY,SAAS3uV,GAAG,IAAI2hE,EAAE2oR,KAAKoE,OAAO1uV,GAAG,MAAM,SAAS2hE,GAAG,UAAUA,GAAG,iBAAiB3hE,EAAEpG,MAAM,EAAE0wV,KAAKsE,WAAW,SAAS5uV,GAAG,OAAOsqV,KAAK/gQ,SAASvpF,IAAI,mBAAmBA,EAAE6uV,WAAW,EACxfvE,KAAK/gQ,SAAS,SAASvpF,GAAG,IAAI2hE,SAAS3hE,EAAE,MAAM,UAAU2hE,GAAG,MAAM3hE,GAAG,YAAY2hE,CAAC,EAAE2oR,KAAKwE,OAAO,SAAS9uV,GAAG,OAAO42B,OAAO0Y,UAAU8qB,eAAelK,KAAKlwD,EAAEsqV,KAAKyE,gBAAgB/uV,EAAEsqV,KAAKyE,iBAAiB/uV,EAAEsqV,KAAKyE,iBAAiBzE,KAAK0E,YAAY,EAAE1E,KAAK2E,OAAO,SAASjvV,GAAG,QAAQA,EAAEsqV,KAAKyE,cAAc,EAAEzE,KAAK4E,UAAU,SAASlvV,GAAG,OAAOA,GAAG,oBAAoBA,GAAGA,EAAEorE,gBAAgBk/Q,KAAKyE,eAAe,WAAW/uV,EAAEsqV,KAAKyE,cAAc,OAAU,CAAC,EAAEzE,KAAKyE,cAAc,gBAAgB,IAAIp6T,KAAKkzE,WAAW,GAC/eyiP,KAAK0E,YAAY,EAAE1E,KAAK6E,YAAY,SAASnvV,GAAG,IAAI2hE,EAAE2oR,KAAKoE,OAAO1uV,GAAG,GAAG,UAAU2hE,GAAG,SAASA,EAAE,CAAC,GAAG,mBAAoB3hE,EAAEmvB,MAAM,OAAOnvB,EAAEmvB,QAA2B,QAAQl1B,KAA3B0nE,EAAE,SAASA,EAAE,GAAG,CAAC,EAAe3hE,EAAE2hE,EAAE1nE,GAAGqwV,KAAK6E,YAAYnvV,EAAE/F,IAAI,OAAO0nE,CAAC,CAAC,OAAO3hE,CAAC,EAAEsqV,KAAK8E,YAAY,SAASpvV,EAAE2hE,EAAE1nE,GAAG,OAAO+F,EAAEkwD,KAAKxM,MAAM1jD,EAAEye,KAAKw5B,UAAU,EACxSqyS,KAAK+E,QAAQ,SAASrvV,EAAE2hE,EAAE1nE,GAAG,IAAI+F,EAAE,MAAMqvC,QAAQ,GAAG,EAAE4I,UAAUr+C,OAAO,CAAC,IAAItE,EAAEwD,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,GAAG,OAAO,WAAW,IAAIjR,EAAEluC,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,WAAWn/C,aAAMw2C,UAAUyoH,QAAQr0G,MAAM1c,EAAE1xC,GAAU0K,EAAE0jD,MAAMie,EAAE36B,EAAE,CAAC,CAAC,OAAO,WAAW,OAAOhnC,EAAE0jD,MAAMie,EAAE1pB,UAAU,CAAC,EAAEqyS,KAAK7rU,KAAK,SAASze,EAAE2hE,EAAE1nE,GAAG0kF,OAAuF2rQ,KAAK7rU,KAA5FkgE,SAASrvC,UAAU7wB,OAAM,GAAIkgE,SAASrvC,UAAU7wB,KAAKkqB,WAAWtvC,QAAQ,eAAyBixV,KAAK8E,YAAsB9E,KAAK+E,QAAe/E,KAAK7rU,KAAKilC,MAAM,KAAKzL,UAAU,EACreqyS,KAAKgF,QAAQ,SAAStvV,EAAE2hE,GAAG,IAAI1nE,EAAEnB,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,GAAG,OAAO,WAAW,IAAI3iD,EAAE2E,EAAEmvC,QAAQ9zC,SAAEg0C,KAAKoa,MAAMpuD,EAAE2iD,WAAkBj4C,EAAE0jD,MAAMl8C,KAAKlS,EAAE,CAAC,EAAEg1V,KAAK1G,MAAM,SAAS5jV,EAAE2hE,GAAG,QAAQ1nE,KAAK0nE,EAAE3hE,EAAE/F,GAAG0nE,EAAE1nE,EAAE,EAAEqwV,KAAK70S,IAAI,WAAW,OAAOD,KAAKC,KAAK,EAAE60S,KAAKiF,WAAW,SAASvvV,IAAG,EAAGkyM,MAAMlyM,EAAE,EAC/RsqV,KAAKkF,WAAW,SAASxvV,EAAE2hE,GAAG,GAAG,KAAK3uB,OAAOhzC,GAAG4c,OAAO,GAAG,MAAMyyB,MAAM,4EAA4ErvC,GAAG,IAAI/F,EAAE,SAAS+sC,GAAG,OAAOsjT,KAAKmF,gBAAgBzoT,IAAIA,CAAC,EAAE1xC,EAAE,SAAS0xC,GAAGA,EAAEA,EAAErU,MAAM,KAAK,QAAQjR,EAAE,GAAG4iM,EAAE,EAAEA,EAAEt9K,EAAEptC,OAAO0qN,IAAI5iM,EAAE4nB,KAAKrvC,EAAE+sC,EAAEs9K,KAAK,OAAO5iM,EAAEwxB,KAAK,IAAI,EAAE59C,SAAEg1V,KAAKmF,gBAAgB,YAAYnF,KAAKoF,qBAAqBz1V,EAAE3E,EAAE,SAAS0xC,GAAG,OAAOA,CAAC,EAAEhnC,EAAE2hE,EAAE3hE,EAAE,IAAI1K,EAAEqsE,GAAGrsE,EAAE0K,GAAUsqV,KAAKlsQ,OAAOuxQ,wBAAwBrF,KAAKlsQ,OAAOuxQ,wBAAwB3vV,GAAGA,CAAC,EACzesqV,KAAKsF,kBAAkB,SAAS5vV,EAAE2hE,GAAG2oR,KAAKmF,gBAAgBzvV,EAAEsqV,KAAKoF,qBAAqB/tR,CAAC,GAAG0oR,UAAUC,KAAKlsQ,OAAOyxQ,2BAA2BvF,KAAKmF,gBAAgBnF,KAAKlsQ,OAAOyxQ,0BAA0BvF,KAAKwF,OAAO,SAAS9vV,EAAE2hE,EAAE1nE,GAAGA,UAAGA,EAAE0rB,OAAO3lB,EAAEA,EAAE6V,QAAQ,KAAK,SAAS5b,GAAGA,EAAE81V,uBAAuB/vV,EAAEA,EAAE6V,QAAQ,QAAQ,KAAKA,QAAQ,QAAQ,KAAKA,QAAQ,UAAU,KAAKA,QAAQ,UAAU,KAAKA,QAAQ,SAAS,MAAM8rD,IAAI3hE,EAAEA,EAAE6V,QAAQ,gBAAgB,SAASvgB,EAAE0xC,GAAG,OAAO,MAAM26B,GAAG36B,KAAK26B,EAAEA,EAAE36B,GAAG1xC,CAAC,IAAW0K,CAAC,EAC9esqV,KAAK0F,mBAAmB,SAAShwV,EAAE2hE,GAAG,OAAO3hE,CAAC,EAAEsqV,KAAK2F,aAAa,SAASjwV,EAAE2hE,EAAE1nE,GAAGqwV,KAAKG,YAAYzqV,EAAE2hE,GAAE,EAAG1nE,EAAE,EAAEqwV,KAAK4F,eAAe,SAASlwV,EAAE2hE,EAAE1nE,GAAG+F,EAAE2hE,GAAG1nE,CAAC,EAAEqwV,KAAK6F,SAAS,SAASnwV,EAAE2hE,GAAG,SAAS1nE,IAAI,CAACA,EAAEq1C,UAAUqyB,EAAEryB,UAAUtvC,EAAEowV,YAAYzuR,EAAEryB,UAAUtvC,EAAEsvC,UAAU,IAAIr1C,EAAE+F,EAAEsvC,UAAUroC,YAAYjH,EAAEA,EAAEg9J,KAAK,SAAS1nK,EAAE0xC,EAAEtlB,GAAG,QAAQ4iM,EAAExrN,MAAMm/C,UAAUr+C,OAAO,GAAG4hH,EAAE,EAAEA,EAAEvjE,UAAUr+C,OAAO4hH,IAAI8oG,EAAE9oG,EAAE,GAAGvjE,UAAUujE,GAAG,OAAO75C,EAAEryB,UAAUtI,GAAG0c,MAAMpuD,EAAEgvN,EAAE,CAAC,EAC7agmI,KAAK1oS,MAAM,SAAS5hD,GAAG,GAAGsqV,KAAKW,oBAAoB,MAAM57S,MAAM,gDAAgDrvC,EAAEkwD,KAAKo6R,KAAKlsQ,OAAO,EAAEisQ,WAAWC,KAAKlsQ,OAAOisQ,SAASA,UACpKC,KAAK+F,YAAY,SAASrwV,EAAE2hE,GAAG,IAAI1nE,EAAE0nE,EAAE16D,YAAY3R,EAAEqsE,EAAE2uR,QAAQr2V,UAAGA,GAAG28B,OAAO0Y,UAAUroC,cAAchN,EAAE,WAAW,MAAMo1C,MAAM,4DAA6D,GAAGp1C,EAAEqwV,KAAK+F,YAAYE,0BAA0Bt2V,EAAE+F,GAAGA,GAAGsqV,KAAK6F,SAASl2V,EAAE+F,UAAU2hE,EAAE16D,mBAAmB06D,EAAE2uR,QAAQhG,KAAK+F,YAAYG,iBAAiBv2V,EAAEq1C,UAAUqyB,GAAG,MAAMrsE,IAAIA,aAAaqpF,SAASrpF,EAAE2E,GAAGqwV,KAAK+F,YAAYG,iBAAiBv2V,EAAE3E,IAAW2E,CAAC,EAAEqwV,KAAK+F,YAAYI,qBAAqBnG,KAAKr6S,MAC9dq6S,KAAK+F,YAAYE,0BAA0B,SAASvwV,EAAE2hE,GAAG,OAAO2oR,KAAK+F,YAAYI,qBAAqB,WAAW,IAAIx2V,EAAE+F,EAAE0jD,MAAMl8C,KAAKywC,YAAYzwC,KAAKvN,SAAEqwV,KAAKyE,eAAe90V,EAAEqwV,KAAKyE,eAAsB90V,CAAC,EAAE+F,CAAC,EAAEsqV,KAAK+F,YAAYK,yBAAyB,gGAAgG/9T,MAAM,KAC9V23T,KAAK+F,YAAYG,iBAAiB,SAASxwV,EAAE2hE,GAAG,QAAQ1nE,KAAK0nE,EAAE/qC,OAAO0Y,UAAU8qB,eAAelK,KAAKyR,EAAE1nE,KAAK+F,EAAE/F,GAAG0nE,EAAE1nE,IAAI,QAAQ3E,EAAE,EAAEA,EAAEg1V,KAAK+F,YAAYK,yBAAyB92V,OAAOtE,IAAI2E,EAAEqwV,KAAK+F,YAAYK,yBAAyBp7V,GAAGshC,OAAO0Y,UAAU8qB,eAAelK,KAAKyR,EAAE1nE,KAAK+F,EAAE/F,GAAG0nE,EAAE1nE,GAAG,GAC7RowV,UAAUC,KAAKqC,uBAAuBrC,KAAKqG,gBAAgB,WAAW,IAAI3wV,EAAEsqV,KAAKlsQ,OAAO3pE,SAAS,OAAO,MAAMzU,GAAG,UAAUA,CAAC,EAAEsqV,KAAKsG,mBAAmB,WAAW,IAAI5wV,EAAEsqV,KAAKlsQ,OAAO3pE,SAAS,OAAOzU,EAAE6wV,YAAY,YAAY7wV,EAAEi/H,WAAW,WAAWj/H,EAAEi/H,UAAU,EAAEqrN,KAAKwG,cAAc,WAAW,GAAG,MAAQxG,KAAKlsQ,OAAO2yQ,mBAAmB,iBAAkBzG,KAAKlsQ,OAAO2yQ,kBAAkBzG,KAAK4C,SAAS5C,KAAKlsQ,OAAO2yQ,0BAA0BzG,KAAKqG,kBAAkB,CAAC,IAAI3wV,EAAEsqV,KAAKlsQ,OAAO3pE,SAASktD,EAAE3hE,EAAE4jJ,cAC9b,IAAIjiF,GAA7C3hE,EAAE2hE,EAAE,CAACA,GAAG3hE,EAAE68J,qBAAqB,WAAkBjjK,OAAO,EAAE,GAAG+nE,IAAIA,EAAE,CAAC,IAAI1nE,EAAE+F,EAAE2hE,GAAG9lB,IAAIvmD,EAAE2E,EAAE28C,YAAY,KAAwB,GAAG,WAAW38C,EAAEunD,QAAnClsD,GAAE,GAAIA,EAAE2E,EAAEL,OAAOtE,GAA2B,EAAE,GAAG,CAACg1V,KAAK4C,SAASjzV,EAAEunD,OAAO,EAAElsD,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAEg1V,KAAKwG,gBAAgBxG,KAAK0G,WAAW,WAAWxpV,KAAKypV,uBAAuB,KAAKzpV,KAAK0pV,qBAAqB5G,KAAKsD,qBAAqB,EAAEtD,KAAK0G,WAAW1hT,UAAU6hT,6BAA6B,WAAW,SAASnxV,EAAEskN,EAAE9oG,GAAGx0E,EAAE1xC,EAAEgvN,IAAG,EAAG9oG,KAAKvhH,EAAEqqN,EAAEhvN,EAAEgvN,IAAG,GAAIt9K,EAAE1xC,EAAEgvN,IAAG,CAAE,CAAC,SAAS3iJ,EAAE2iJ,GAAG,IAAI,QAAQpS,KAAKoS,EAAE,OAAO9oG,GAAG,OAAM,CAAE,CAAC,CACrf,IAAIvhH,EAAE,MAAM3E,EAAE,CAAC87V,KAAI,GAAIpqT,GAAE,EAAGtlB,EAAE4oU,KAAKlsQ,OAAO1Z,WAAW4lR,KAAKlsQ,OAAO1Z,UAAU+uB,UAAU62P,KAAKlsQ,OAAO1Z,UAAU+uB,UAAU,GAAGzzF,SAAE,MAAM,WAAW,OAAO2hE,EAAE,iBAAiB,GAAG3hE,EAAE,MAAM,WAAW,OAAO0hB,EAAEujD,MAAM,wBAA0BtD,EAAE,2RAA2R,GACjgB3hE,EAAE,MAAM,WAAW,OAAO2hE,EAAE,cAAc,GAAG3hE,EAAE,MAAM,WAAW,OAAO2hE,EAAE,sBAAsB,GAAG3hE,EAAE,MAAM,WAAW,OAAO2hE,EAAE,yBAAyB,GAAG3hE,EAAE,UAAU,WAAW,OAAM,CAAE,GAAS,CAACswD,OAAOr2D,EAAE5E,IAAIC,EAAE,EAAEg1V,KAAK0G,WAAW1hT,UAAU+hT,eAAe,SAASrxV,EAAE2hE,GAAG,GAAG,UAAU2oR,KAAKoD,UAAU,OAAM,EAAG,GAAG,SAASpD,KAAKoD,UAAU,OAAM,EAAG,IAAIlmV,KAAKypV,uBAAuB,CAAC,IAAIh3V,EAAEuN,KAAK2pV,+BAA+B3pV,KAAKypV,uBAAuBh3V,EAAE5E,IAAImS,KAAK0pV,qBAAqB1pV,KAAK0pV,sBAChej3V,EAAEq2D,MAAM,CAAC,GAAGtwD,KAAKwH,KAAKypV,uBAAuB,QAAOzpV,KAAKypV,uBAAuBjxV,OAAOsqV,KAAKqG,mBAAmB,OAAOhvR,GAAG,aAAa2oR,KAAKlsQ,OAAO3pE,SAASknC,cAAc,WAAgB,MAAMtM,MAAM,0BAA0BrvC,EAAG,EAAEsqV,KAAK0G,WAAW1hT,UAAUk/S,UAAU,SAASxuV,EAAE2hE,GAAG,OAAO2oR,KAAKiE,WAAWvuV,EAAE2hE,EAAEn6D,KAAK0pV,qBAAqB,EAAE5G,KAAKgH,YAAY,IAAIhH,KAAK0G,WAAW1G,KAAKiH,kBAAkB,SAASvxV,GAAG,OAAOA,EAAE6V,QAAQ,gBAAgB,WAAW,EAAEy0U,KAAKkH,aAAa,WAAWhqV,KAAKiqV,cAAc,CAAC,EACpfjqV,KAAKkqV,UAAU,CAAC,EAAElqV,KAAKmqV,SAAS,CAAC,EAAEnqV,KAAKoqV,aAAa,GAAGpqV,KAAKqqV,YAAY,GAAGrqV,KAAKsqV,SAAQ,EAAGtqV,KAAKuqV,SAAS,IAAIzH,KAAK0H,kBAAkB1H,KAAKgH,aAAa9pV,KAAKyqV,mBAAmB,CAAC,EAAEzqV,KAAK0qV,eAAe,EAAE,EAAE5H,KAAKkH,aAAaliT,UAAUqrS,UAAU,SAAS36U,EAAE2hE,GAAG,SAAS1nE,IAAI3E,IAAIg1V,KAAKlsQ,OAAO5pE,WAAWlf,EAAE,GAAGA,EAAE,KAAK,CAAC,IAAIA,EAAEqsE,EAAE,GAAG3hE,EAAEpG,OAAO,CAAC+nE,EAAE,GAAG,QAAQ36B,EAAE,EAAEA,EAAEhnC,EAAEpG,OAAOotC,IAAI,CAAC,IAAItlB,EAAEla,KAAK2qV,iBAAiBnyV,EAAEgnC,IAAI,IAAItlB,EAAE,MAAM2tB,MAAM,0BAA0BrvC,EAAEgnC,IAAI26B,EAAEr4B,KAAK9hC,KAAKiqV,cAAc/vU,GAAG,CAACA,EAAE4oU,KAAKnJ,QAAQ,IAAI78H,EAAE,EAAE,IAAIt9K,EACtf,EAAEA,EAAEhnC,EAAEpG,OAAOotC,IAAItlB,EAAE1hB,EAAEgnC,IAAI26B,EAAE36B,GAAGorT,OAAO,aAAa9tI,GAAGtkN,EAAEpG,QAAQK,GAAG,EAAE,MAAMA,GAAG,EAAEqwV,KAAKkH,aAAaliT,UAAU+iT,gBAAgB,WAAW7qV,KAAKqqV,YAAYvoT,KAAK9hC,KAAKuqV,SAASO,iBAAiBhI,KAAK8D,eAAe9D,KAAK4C,SAAS,WAAW,UAAU,GAAG,GAAG,CAAC,GAAE,IAAK1lV,KAAK+qV,WAAW,EAAEjI,KAAKkH,aAAaliT,UAAUy9S,UAAU,SAAS/sV,EAAE2hE,IAAI3hE,EAAEwH,KAAK2qV,iBAAiBnyV,MAAM2hE,GAAGn6D,KAAKgrV,eAAehrV,KAAKiqV,cAAczxV,GAAGyyV,aAAa9wR,EAAEn6D,KAAKyqV,mBAAmBjyV,aAAawH,KAAKyqV,mBAAmBjyV,GAAG2hE,IAAI,EAAE2oR,KAAKkH,aAAaliT,UAAUojT,qBACngB,SAAS1yV,GAAGwH,KAAKuqV,SAAS/xV,CAAC,EAAEsqV,KAAKkH,aAAaliT,UAAU09S,MAAM,SAAShtV,GAAG,IAAGwH,KAAK2qV,iBAAiBnyV,GAAgY,MAClesqV,KAAKwC,cADme9sV,EAAE,gCAC5eA,GAAwBqvC,MAAMrvC,GAD0E,IAAI2hE,EAAEn6D,KAAKvN,EAAE,GAAG3E,EAAE,SAAS0xC,GAAG,IAAItlB,EAAEigD,EAAEwwR,iBAAiBnrT,GAAG,IAAItlB,EAAE,MAAM2tB,MAAM,kCAAkCrI,GAAG,IAAI26B,EAAEgwR,SAASjwU,GAAG,CAAuC,IAAtCigD,EAAEgwR,SAASjwU,IAAG,EAAGslB,EAAE26B,EAAE8vR,cAAc/vU,GAAOA,EAAE,EAAEA,EAAEslB,EAAEyrT,SAAS74V,OAAO8nB,IAAI4oU,KAAKY,YAAYlkT,EAAEyrT,SAAS/wU,KAAKpsB,EAAE0xC,EAAEyrT,SAAS/wU,IAAIznB,EAAEqvC,KAAKtC,EAAE,CAAC,EAAE1xC,EAAE0K,GAAGA,IAAIwH,KAAKqqV,YAAYj4V,OAAO4N,KAAKqqV,YAAYrqV,KAAKqqV,YAAY58V,OAAOgF,GAAGuN,KAAKsqV,SAAS9xV,GAAGwH,KAAK+qV,WAClb,EAAEjI,KAAKkH,aAAaliT,UAAUijT,UAAU,WAAW,QAAQvyV,EAAEwH,KAAKm6D,EAAEn6D,KAAKsqV,QAAQtqV,KAAKqqV,YAAYj4V,SAAS+nE,IAAG,WAAY,IAAI1nE,GAAE,EAAG3E,EAAE0K,EAAE6xV,YAAY3sR,QAAQl+B,GAAE,EAAGhnC,EAAE2yV,SAASr9V,GAAG,IAAIosB,EAAE,CAACw7G,MAAM,WAAW,GAAGjjI,EAAE,MAAMo1C,MAAM,6CAA6CsyB,GAAE,CAAE,EAAEw7D,OAAO,WAAWljI,EAAE+F,EAAE4yV,UAAUjxR,GAAE,CAAE,EAAE00K,OAAO,WAAW,GAAGrvM,EAAE,MAAMqI,MAAM,0BAA0BrI,GAAE,EAAGhnC,EAAE6yV,QAAQv9V,EAAE,EAAEw9V,QAAQ,WAAW,QAAQxuI,EAAE,GAAG9oG,EAAE,EAAEA,EAAEx7G,EAAE4xV,aAAah4V,OAAO4hH,IAAI8oG,EAAEh7K,KAAKtpC,EAAE4xV,aAAap2O,IACvf,OAAO8oG,CAAC,EAAEyuI,eAAe,SAASzuI,GAAGgmI,KAAKsB,mBAAmB,CAACn2U,KAAK6uM,EAAEunI,WAAW,GAAGQ,wBAAuB,EAAG,EAAE2G,yBAAyB,SAAS1uI,EAAE9oG,EAAE5wE,GAAGA,IAAI0/S,KAAKyB,eAAenhT,GAAG,CAACssK,QAAQ17F,EAAE/lG,KAAK60U,KAAK0B,WAAWC,IAAIM,SAAS3hT,GAAG,IAAI,EAAEqoT,0BAA0B,SAAS3uI,EAAE9oG,GAAG8uO,KAAKyB,eAAeznI,GAAG,CAACpN,QAAQ17F,EAAE/lG,KAAK60U,KAAK0B,WAAWE,KAAKK,SAASjoI,EAAE,EAAE4uI,iBAAiB,WAAW5I,KAAKsB,mBAAmB,IAAI,EAAEuH,MAAM,SAAS7uI,GAAG,GAAGrqN,EAAE,MAAMo1C,MAAM,sDAAsDrvC,EAAEozV,OAAO99V,EACtfgvN,EAAE,EAAE+uI,cAAc,WAAW,OAAOrzV,EAAEwyV,eAAel9V,EAAEm9V,SAAS,GAAG,IAAIn9V,EAAE4kD,KAAKx4B,EAAE,SAASznB,GAAE,CAAE,CAAC,CAFiD,GAE5C0nE,GAAGn6D,KAAK8rV,QAAQ,EAAEhJ,KAAKkH,aAAaliT,UAAUgkT,OAAO,WAAW9rV,KAAKsqV,SAAQ,CAAE,EAAExH,KAAKkH,aAAaliT,UAAUsjT,QAAQ,WAAWprV,KAAKsqV,UAAUtqV,KAAKsqV,SAAQ,EAAGtqV,KAAK+qV,YAAY,EAAEjI,KAAKkH,aAAaliT,UAAUqjT,SAAS,SAAS3yV,GAAGwH,KAAKoqV,aAAatoT,KAAKtpC,EAAE,EAAEsqV,KAAKkH,aAAaliT,UAAUujT,QAAQ,SAAS7yV,GAAG,QAAQ2hE,EAAE,EAAEA,EAAEn6D,KAAKoqV,aAAah4V,OAAO+nE,IAAI,GAAGn6D,KAAKoqV,aAAajwR,IAAI3hE,EAAE,CAACwH,KAAKoqV,aAAa/6S,OAAO8qB,EAAE,GACnf,KAAK,CAAC,IAAIA,EAAE,EAAEA,EAAEn6D,KAAK0qV,eAAet4V,OAAO+nE,IAAI,GAAGn6D,KAAK0qV,eAAevwR,IAAI3hE,EAAE3B,KAAK,CAACmJ,KAAK0qV,eAAer7S,OAAO8qB,EAAE,GAAG,KAAK,CAAC,GAAGn6D,KAAKoqV,aAAah4V,QAAQ4N,KAAK0qV,eAAet4V,SAAS4N,KAAKqqV,YAAYj4V,OAAO,KAAK4N,KAAK0qV,eAAet4V,QAAQ4N,KAAKulV,UAAUvlV,KAAK0qV,eAAehtR,SAAQ,GAAIllE,EAAEq2O,QAAQ,EAAEi0G,KAAKkH,aAAaliT,UAAUkjT,eAAe,SAASxyV,GAAG,QAAQ2hE,EAAE,EAAEA,EAAE3hE,EAAEpG,OAAO+nE,IAAI,CAAC,IAAI1nE,EAAEuN,KAAK2qV,iBAAiBnyV,EAAE2hE,IAAI,IAAI1nE,KAAKA,KAAKuN,KAAKyqV,sBAAoB3H,KAAKY,YAAYlrV,EAAE2hE,IAAK,OAAM,CAAE,CAAC,OAAM,CAAE,EAAE2oR,KAAKkH,aAAaliT,UAAU6iT,iBACzgB,SAASnyV,GAAG,OAAOA,KAAKwH,KAAKkqV,UAAUlqV,KAAKkqV,UAAU1xV,GAAGA,KAAKwH,KAAKiqV,cAAczxV,EAAE,IAAI,EAAEsqV,KAAKkH,aAAaliT,UAAU8jT,OAAO,SAASpzV,EAAE2hE,GAAGn6D,KAAKyqV,mBAAmBjyV,EAAE3B,MAAMsjE,EAAEn6D,KAAK0qV,eAAe5oT,KAAKtpC,EAAE3B,KAAK,EAAEisV,KAAKiJ,eAAe,WAAW,EAAEjJ,KAAKiJ,eAAejkT,UAAU4tF,MAAM,WAAW,EAAEotN,KAAKiJ,eAAejkT,UAAU6tF,OAAO,WAAW,EAAEmtN,KAAKiJ,eAAejkT,UAAU+mM,OAAO,WAAW,EAAEi0G,KAAKiJ,eAAejkT,UAAUwjT,QAAQ,WAAW,EAAExI,KAAKiJ,eAAejkT,UAAU0jT,yBAAyB,SAAShzV,EACvf2hE,EAAE1nE,GAAG,EAAEqwV,KAAKiJ,eAAejkT,UAAUyjT,eAAe,SAAS/yV,GAAG,EAAEsqV,KAAKiJ,eAAejkT,UAAU4jT,iBAAiB,WAAW,EAAE5I,KAAKiJ,eAAejkT,UAAU6jT,MAAM,SAASnzV,GAAG,EAAEsqV,KAAKiJ,eAAejkT,UAAU+jT,cAAc,WAAW,EAAE/I,KAAKkJ,WAAW,SAASxzV,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAGx/B,KAAKnJ,KAAK2B,EAAEwH,KAAKisV,aAAa9xR,EAAEn6D,KAAKksV,SAASz5V,EAAEuN,KAAKirV,SAASn9V,EAAEkS,KAAKmsV,UAAU3sT,EAAEx/B,KAAKqrV,SAAQ,EAAGrrV,KAAKosV,eAAe,EAAE,EAAEtJ,KAAKkJ,WAAWlkT,UAAU88F,YAAY,WAAW,IAAIpsI,EAAEwH,KAAKnJ,KAAKsjE,EAAE3hE,EAAE3G,QAAQ,OAAO,UAAGsoE,GAC9c,IADqeA,GAAnB3hE,EAAEA,EAAE6c,UAAU8kD,EAAE,IAC/etoE,QAAQ,QAAY2G,EAAEA,EAAE6c,UAAU8kD,EAAE,IAAY3hE,CAAC,EAAEsqV,KAAKkJ,WAAWlkT,UAAU8iT,OAAO,SAASpyV,GAAGwH,KAAKqrV,QAAQ7yV,IAAIwH,KAAKosV,eAAetqT,KAAKtpC,EAAE,EAAEsqV,KAAKkJ,WAAWlkT,UAAU+mM,OAAO,WAAW7uO,KAAKqrV,SAAQ,EAAG,IAAI7yV,EAAEwH,KAAKosV,eAAepsV,KAAKosV,eAAe,GAAG,QAAQjyR,EAAE,EAAEA,EAAE3hE,EAAEpG,OAAO+nE,IAAI3hE,EAAE2hE,IAAI,EAAE2oR,KAAKkJ,WAAWJ,QAAO,EAAG9I,KAAKkJ,WAAWK,aAAa,CAAC,EAAEvJ,KAAKkJ,WAAWM,kBAAkB,SAAS9zV,GAAG,IAAI2hE,EAAEhtC,KAAKkzE,SAASl/D,SAAS,IAAI2hT,YAAKkJ,WAAWK,aAAalyR,GAAG3hE,EAAS2hE,CAAC,EAAE2oR,KAAKkJ,WAAWO,oBACre,SAAS/zV,UAAUsqV,KAAKkJ,WAAWK,aAAa7zV,EAAE,EAAEsqV,KAAKkJ,WAAWQ,UAAU,SAASh0V,EAAE2hE,GAAG,KAAG3hE,KAAKsqV,KAAKkJ,WAAWK,cAAoI,MAAMxkT,MAAM,gBAAgBrvC,EAAE,yDAApJ,QAAQ/F,EAAEqwV,KAAKkJ,WAAWK,aAAa7zV,GAAG1K,EAAE,GAAG0xC,EAAE,EAAEA,EAAEiR,UAAUr+C,OAAOotC,IAAI1xC,EAAEg0C,KAAK2O,UAAUjR,IAAI/sC,EAAEypD,WAAM,EAAOpuD,EAA+F,EAAEg1V,KAAKkJ,WAAWlkT,UAAU4K,KAAK,SAASl6C,GAAG,GAAGsqV,KAAKlsQ,OAAO61Q,sBAAsB3J,KAAKlsQ,OAAO61Q,sBAAsBzsV,KAAKnJ,MAAM2B,EAAEq2O,SAASr2O,EAAEk9H,aAAM,GAAUotN,KAAKqG,kBAAkB,CAAC,IAAIhvR,EACvgB2oR,KAAKlsQ,OAAO3pE,SAAS,GAAG,YAAYktD,EAAEs9D,aAAaqrN,KAAKU,sCAAsC,CAAC,GAAG,aAAaroP,KAAKn7F,KAAKnJ,MAAkB,YAAX2B,EAAEq2O,SAAgB,MAAMhnM,MAAM,iBAAiB7nC,KAAKnJ,KAAK,wBAAyB,CAAC,IAAIpE,EAAEqwV,KAAKgB,iBAAiB,IAAIhB,KAAKU,uCAAuCV,KAAKsG,qBAAqB,CAAC,IAAIt7V,EAAE,SAASkmH,GAAGA,EAAEyjB,YAAY,YAAYzjB,EAAEyjB,WAAWzjB,EAAEx/D,OAAO1mD,GAAGg1V,KAAKkJ,WAAWO,oBAAoB/sT,GAAGhnC,EAAEq2O,SAAS,EAAMrvM,EAAEsjT,KAAKkJ,WAAWM,kBAAkBx+V,GACvdosB,EAAE,gBAAgBla,KAAKnJ,KAAK,KAD8bpE,EAAEA,EAAE,WAAWA,EAAE,IAAI,KAC5cqwV,KAAKkJ,WAAWJ,OAAO,SAAS,IAAI,eAAepsT,EAAE,eAAiBtlB,GAAG,UAAUznB,EAAE,IAAIynB,EAAE4oU,KAAKkJ,WAAWJ,OAAO1xU,EAAG,mCAAmCslB,EAAE,0DAA0DA,EAAE,kBAAmBtlB,EAAG,8BAA8BslB,EAAE,sCAAsCA,EAAE,OAAQtlB,GAAG,aAAeigD,EAAEuyR,MAAM5J,KAAK6J,sBAAsB7J,KAAK6J,sBAAsBC,WAAW1yU,GAAGA,EAAE,KAAK,CAAC,IAAI4iM,EAAE3iJ,EAAEhmB,cAAc,UAAU2oK,EAAE6uI,MAAM7I,KAAKkJ,WAAWJ,OACjgB9uI,EAAEnlF,OAAM,EAAGllI,IAAIqqN,EAAEvvK,MAAM96C,GAAGqwV,KAAKkH,aAAa6C,YAAYr0V,EAAEk9H,QAAQonF,EAAExpF,mBAAmB,YAAc,UAAUwpF,EAAErlF,YAAY,YAAYqlF,EAAErlF,cAAWj/H,EAAEq2O,SAASr2O,EAAEm9H,SAAQ,GAAGmnF,EAAEtoK,OAAO,WAAWsoK,EAAEtoK,OAAO,KAAKh8C,EAAEq2O,QAAQ,EAAE/xB,EAAEzoK,IAAIyuS,KAAK6J,sBAAsB7J,KAAK6J,sBAAsBG,gBAAgB9sV,KAAKnJ,MAAMmJ,KAAKnJ,KAAKsjE,EAAEi7F,KAAK3gH,YAAYqoK,EAAE,CAAC,MAAMgmI,KAAKwC,cAAc,8DAA8D,WAAWtlV,KAAKisV,cAAcnJ,KAAKwC,cAAc,sGAC3d9sV,EAAEq2O,UAAUr2O,EAAEk9H,OAAO,EAAEotN,KAAKiK,oBAAoB,SAASv0V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAGsjT,KAAKkJ,WAAWtjS,KAAK1oD,KAAKxH,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,EAAE,EAAEsjT,KAAK6F,SAAS7F,KAAKiK,oBAAoBjK,KAAKkJ,YAAYlJ,KAAKiK,oBAAoBjlT,UAAU4K,KAAK,SAASl6C,GAC0H,GAAGsqV,KAAKlsQ,OAAO61Q,sBAAsB3J,KAAKlsQ,OAAO61Q,sBAAsBzsV,KAAKnJ,MAAM2B,EAAEq2O,SAASr2O,EAAEk9H,aAAM,GAAUotN,KAAKqG,kBAAkB,CAAC,IAAIr7V,EAAEg1V,KAAKlsQ,OAAO3pE,SAASuyB,EAAEx/B,KACjf,GAAG8iV,KAAKsG,qBAAqB,CAAC,IAAIlvU,EAFoL,SAASigD,EAAE98C,EAAEjP,GAAG,IAAIJ,EAAE,GAAGvc,EAAEqxV,KAAKgB,iBAAiBryV,IAAIuc,EAAE,WAAWvc,EAAE,KAAK4rB,EAAEjP,EAAE,oCAAoCJ,EAAE,IAAII,EAAE,aAAe,0CAA0CiP,EAAE,IAAIrP,EAAE,cAAgBlgB,EAAE4+V,MAAM5J,KAAK6J,sBAAsB7J,KAAK6J,sBAAsBC,WAAWvvU,GAAGA,EAAE,EAExcylU,KAAKkJ,WAAWJ,QAAO,CAAE,MAAM1xU,EAF0a,SAASznB,EAAE4qB,EAC1fjP,GAAG,IAAIJ,EAAElgB,EAAEqmD,cAAc,UAAUnmC,EAAE29U,OAAM,EAAG39U,EAAE2pH,OAAM,EAAG3pH,EAAEC,KAAK,SAASD,EAAE45J,aAAa,eAAc,GAAI,IAAIn2K,EAAEqxV,KAAKgB,iBAAiBryV,IAAIuc,EAAEu/B,MAAM97C,GAAG2c,EAAEJ,EAAE2oC,KAAKmsS,KAAK6J,sBAAsB7J,KAAK6J,sBAAsBK,aAAa5+U,GAAGA,EAAEJ,EAAEqmC,IAAIyuS,KAAK6J,sBAAsB7J,KAAK6J,sBAAsBG,gBAAgBzvU,GAAGA,EAAEvvB,EAAEsnK,KAAK3gH,YAAYzmC,EAAE,EACnQ,IAAI8uM,EAAEgmI,KAAKkJ,WAAWM,kBAAkB,WAAWxJ,KAAKkJ,WAAWO,oBAAoBzvI,GAAGtkN,EAAE+yV,eAAezI,KAAK0B,WAAWC,IAAI,GAAGvqU,OAAE,EAAO,8BAA8B4iM,EAAE,MAAM5iM,EAAEla,KAAKnJ,UAAK,GAAQ,IAAIm9G,EAAE8uO,KAAKkJ,WAAWM,kBAAkB,SAASjvU,GAAGylU,KAAKkJ,WAAWO,oBAAoBv4O,GAAGx7G,EAAEgzV,yBAAyBhsT,EAAE3oC,KAAKwmB,EAAEylU,KAAKsB,mBAAmBC,WAAW,GAAGnqU,OAAE,EAAO,uBAAuBla,KAAKnJ,KAAK,iCAC7dm9G,EAAE,SAAS,IAAI5wE,EAAE0/S,KAAKkJ,WAAWM,kBAAkB,WAAWxJ,KAAKkJ,WAAWO,oBAAoBnpT,GAAG5qC,EAAEkzV,mBAAmBlzV,EAAEq2O,QAAQ,GAAG30N,OAAE,EAAO,8BAA8BkpB,EAAE,KAAK,MAAM0/S,KAAKwC,cAAc,8DAA8D9sV,EAAEk9H,OAAO,EAAEotN,KAAKmK,sBAAsB,SAASz0V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAGsjT,KAAKkJ,WAAWtjS,KAAK1oD,KAAKxH,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAGx/B,KAAKktV,UAAU,KAAKltV,KAAKmtV,YAAYrK,KAAKqG,qBAAqB,aAAarG,KAAKlsQ,OAAO3pE,SAASknC,cAAc,UAAU,EAAE2uS,KAAK6F,SAAS7F,KAAKmK,sBACzfnK,KAAKkJ,YAAYlJ,KAAKmK,sBAAsBnlT,UAAU4K,KAAK,SAASl6C,GAAG,SAAS2hE,IAAI36B,EAAE0tT,UAAUpK,KAAK+D,cAAcrnT,EAAE3oC,MAAM2oC,EAAE0tT,YAAY1tT,EAAE0tT,UAAU1tT,EAAEzV,UAAUyV,EAAE0tT,WAAW1tT,EAAE0tT,YAAY1tT,EAAE0tT,WAAW,mBAAmB1tT,EAAE3oC,MAAM,CAAC,SAASpE,IAAsB,GAAlB+sC,EAAE2tT,YAAYhzR,IAAO36B,EAAE0tT,UAAU,CAAChzU,GAAG1hB,EAAE+yV,eAAezI,KAAK0B,WAAWC,KAAK,IAAI,IAAIr2U,EAAEoxB,EAAE0tT,UAA8C,GAApC1tT,EAAE0tT,UAAU,KAAKpK,KAAKiF,WAAW35U,GAAM8L,EAAE,IAAIlM,EAAE80U,KAAKsB,mBAAmBC,UAAU,SAASnqU,GAAG1hB,EAAEkzV,kBAAkB,CAACxxU,GAAG4oU,KAAKlsQ,OAAOkqQ,QAAQnH,QAAQyT,OAAO,CAAC5tT,EAAEolG,eAC9e,WAAWpsI,EAAEgzV,yBAAyBhsT,EAAE3oC,KAAKisV,KAAKlsQ,OAAOkqQ,QAAQnH,QAAQn6S,EAAEolG,eAAe52H,EAAE,GAAGxV,EAAEq2O,QAAQ,CAAC,CAAiW,IAAIrvM,EAAEx/B,KAAK,GAAG8iV,KAAKlsQ,OAAO61Q,sBAAsBtyR,IAC3fn6D,KAAKktV,WAAWpK,KAAKlsQ,OAAO61Q,sBAAsB,GAAGzsV,KAAKktV,YAAYltV,KAAKktV,UAAU,KAAK10V,EAAEq2O,UAAUr2O,EAAEk9H,YAAY,CAAC,IAAIx7G,EAAEla,KAAKmsV,UAAU3T,QAAQsK,KAAK0B,WAAWC,IAAIzkV,KAAKmtV,YAAYhzR,IAAI,IAAI2iJ,EAAE,EAAEtkN,EAAE8yV,UAAUl5V,OAAO4hH,EAAE8oG,GAAGgmI,KAAKkH,aAAa6C,WAAoE,GAAzD/vI,EAAEgmI,KAAKkJ,WAAWJ,SAAS9uI,GAAGgmI,KAAKsG,sBAAyBp1O,GAAG8oG,EAAEtkN,EAAEmzV,MAAM,WAAWl5V,GAAG,OAAO,CAAC,IAAI2wC,EAAE0/S,KAAKlsQ,OAAO3pE,SAAiE,GAAxD+mG,EAAE8uO,KAAKqG,mBAAmB,kBAAkBrG,KAAKlsQ,OAAU18D,GAAG4oU,KAAKqG,mBAAmBrG,KAAKsG,uBAAuBp1O,EAAE,CAAC8uO,KAAKkJ,WAAWJ,QACvf,EAAGpzV,EAAEk9H,QAAQ,IAAIr4G,EAAE+lB,EAAEkwF,mBAAmBlwF,EAAEkwF,mBAAmB,WAAW,eAAelwF,EAAEq0F,aAAar0F,EAAEkwF,mBAAmBj2G,EAAE5qB,IAAI+F,EAAEm9H,UAAU,mBAAoBt4G,GAAGA,EAAE6+B,WAAM,EAAOzL,UAAU,CAAC,MAAMqyS,KAAKkH,aAAa6C,YAAY/J,KAAKqG,mBAAmBrG,KAAKsG,qBAFpJ,SAASt7V,IAAI,IAAIsgB,EAAE00U,KAAKlsQ,OAAO3pE,SAASe,EAAE80U,KAAKkJ,WAAWM,kBAAkB,WAAWxJ,KAAKkJ,WAAWO,oBAAoBv+U,GAAGvb,GAAG,GAAGhB,EAAEqxV,KAAKgB,iBAAiBryV,EAAE,WAAWA,EAAE,WAAWA,EAAE,IAAI,IAAI,IAAIqxV,KAAKiH,kBAAkB,8BAA8B/7U,EAAE,OAAO,aAAeI,EAAEs+U,MAAM5J,KAAK6J,sBAAsB7J,KAAK6J,sBAAsBC,WAAWn7V,GAAGA,EAAE,CAEtL3D,GAAI2E,GAAG,CAAC,CAAC,EAAEqwV,KAAKmK,sBAAsBnlT,UAAU/d,UAAU,SAASvxB,GAAG,EAAEsqV,KAAKuK,qBAAqB,SAAS70V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,EAAEtlB,GAAG4oU,KAAKmK,sBAAsBvkS,KAAK1oD,KAAKxH,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAGx/B,KAAKstV,WAAWpzU,CAAC,EAAE4oU,KAAK6F,SAAS7F,KAAKuK,qBAClevK,KAAKmK,uBAAuBnK,KAAKuK,qBAAqBvlT,UAAU/d,UAAU,SAASvxB,GAAG,OAAOwH,KAAKstV,WAAWtG,UAAUxuV,EAAEwH,KAAK4kI,cAAc,EAAEk+M,KAAKyK,iCAAiC,SAAS/0V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAGsjT,KAAKmK,sBAAsBvkS,KAAK1oD,KAAKxH,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,EAAE,EAAEsjT,KAAK6F,SAAS7F,KAAKyK,iCAAiCzK,KAAKmK,uBAAuBnK,KAAKyK,iCAAiCzlT,UAAU/d,UAAU,SAASvxB,GAAG,OAAOA,CAAC,EAAEsqV,KAAK0K,qBAAqB,SAASh1V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,EAAEtlB,EAAE4iM,GAAGgmI,KAAKmK,sBAAsBvkS,KAAK1oD,KAAKxH,EAAE2hE,EAAE1nE,EACpf3E,EAAE0xC,GAAGx/B,KAAKytV,gBAAgBvzU,EAAEla,KAAK8pV,YAAYhtI,CAAC,EAAEgmI,KAAK6F,SAAS7F,KAAK0K,qBAAqB1K,KAAKmK,uBAAuBnK,KAAK0K,qBAAqB1lT,UAAU/d,UAAU,SAASvxB,GAAG,OAAAwH,KAAKytV,kBAAkBj1V,EAAEwH,KAAK8pV,YAAY9C,UAAUxuV,EAAEwH,KAAK4kI,gBAAuBk+M,KAAKkD,6BAAwB,IAASlD,KAAKlsQ,OAAOp5E,KAAK,mBAAmBslV,KAAKlsQ,OAAOp5E,KAAKutC,UAAUvyC,EAAE,mBAAmBwH,KAAKnJ,KAAK,MAAM,KAAK,mDAAmD2B,EAAE,uCAAuCwH,KAAKnJ,KAChf,IAAI,EAAEisV,KAAKkH,aAAa6C,aAAa/J,KAAKlsQ,OAAOvsC,OAAOy4S,KAAKlsQ,OAAO3pE,WAAW61U,KAAKlsQ,OAAO3pE,SAASmnE,KAAK0uQ,KAAKkH,aAAaliT,UAAUo9S,cAAc,SAAS1sV,EAAE2hE,EAAE1nE,EAAE3E,GAAGqsE,EAAEA,GAAG,GAAG3hE,EAAEA,EAAE6V,QAAQ,MAAM,KAAK,IAAImxB,EAAEsjT,KAAK8D,eAAe9D,KAAK4C,SAASltV,GAA+L,IAA5L1K,GAAG,kBAAmBA,IAAIA,EAAEA,EAAE,CAAC0qV,OAAOsK,KAAK0B,WAAWE,MAAM,CAAC,GAAGjyV,EAAEuN,KAAKuqV,SAASO,iBAAiBtrT,EAAEhnC,EAAE2hE,EAAE1nE,EAAE3E,EAAEg1V,KAAKgH,YAAYD,eAAe/7V,EAAE+lB,MAAM,MAAM/lB,EAAE0qV,SAASx4U,KAAKiqV,cAAczqT,GAAG/sC,EAAMA,EAAE,EAAEA,EAAE0nE,EAAE/nE,OAAOK,IAAIuN,KAAKkqV,UAAU/vR,EAAE1nE,IAAI+sC,EAAEx/B,KAAKkqV,UAAU1xV,GAAGgnC,CAAC,EAAEsjT,KAAK0H,kBACnf,SAAShyV,GAAGwH,KAAKstV,WAAW90V,CAAC,EAAEsqV,KAAK0H,kBAAkB1iT,UAAUgjT,iBAAiB,SAAStyV,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,EAAEtlB,GAAG,OAAOslB,EAAEg5S,QAAQsK,KAAK0B,WAAWE,KAAK,IAAI5B,KAAK0K,qBAAqBh1V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,EAAEtlB,EAAEla,KAAKstV,YAAYpzU,EAAE,IAAI4oU,KAAKuK,qBAAqB70V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,EAAEx/B,KAAKstV,YAAY9tT,EAAEg5S,QAAQsK,KAAK0B,WAAWC,IAAI,SAAS3B,KAAKoD,WAAWpD,KAAKqD,6BAA6B,IAAIrD,KAAKyK,iCAAiC/0V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAG,IAAIsjT,KAAKiK,oBAAoBv0V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAG,IAAIsjT,KAAKkJ,WAAWxzV,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,EAAE,EAAEsjT,KAAKsC,aAAa,IAAItC,KAAKkH,aACpflH,KAAK+H,gBAAgB,WAAW/H,KAAKsC,aAAayF,iBAAiB,EAAE/H,KAAKoI,qBAAqB,SAAS1yV,GAAGsqV,KAAKsC,aAAa8F,qBAAqB1yV,EAAE,EAAEsqV,KAAK6J,sBAAsB7J,KAAK4K,0BAA0B5K,KAAK6K,yBAAyB7K,KAAK4K,0BAA0B,SAAS,KAAK5K,KAAKlsQ,OAAOg3Q,iBAAiB9K,KAAKsC,aAAayF,kBAAkB/H,KAAK3P,UAAU,SAAS36U,EAAE2hE,GAAG2oR,KAAKsC,aAAajS,UAAU36U,EAAE2hE,EAAE,GAAG2oR,KAAK4K,0BAA0B,OAAO5K,KAAK+K,UAAU,SAASr1V,GAAG,OAAOA,CAAC,EACresqV,KAAK6K,yBAAyB,SAASn1V,GAAG,IAAI2hE,EAAE,KAAK1nE,EAAEqwV,KAAKlsQ,OAAOk3Q,aAAa,IAAIr7V,IAAIA,EAAEs7V,aAAa,OAAO5zR,EAAE,IAAIA,EAAE1nE,EAAEs7V,aAAav1V,EAAE,CAACo0V,WAAW9J,KAAK+K,UAAUb,aAAalK,KAAK+K,UAAUf,gBAAgBhK,KAAK+K,WAAW,OAAO//V,GAAGg1V,KAAKwC,cAAcx3V,EAAEy8C,QAAQ,CAAC,OAAO4vB,CAAC,EAAE2oR,KAAK56S,MAAM,CAAC,EAAkQ46S,KAAK6F,SAAS5F,4CAA4Cl7S,OAAOk7S,4CAA4Cj7S,UAAUt6C,KAAK,cAAcs1V,KAAK56S,MAAML,MAAMk7S,4CAA4CD,KAAK3nO,IAAI,CAAC,EAAE2nO,KAAK3nO,IAAI6yO,SAAS,CAACC,QAAQ,EAAEC,UAAU,EAAEC,KAAK,EAAEC,cAAc,EAAEC,iBAAiB,EAAEC,OAAO,EAAEC,uBAAuB,EAAEC,QAAQ,EAAE/lU,SAAS,EAAEgmU,cAAc,GAAGC,kBAAkB,GAAGC,SAAS,IAAI7L,KAAK8L,QAAQ,CAAC,EAAE9L,KAAK8L,QAAQC,eAAe/L,KAAKr6S,MAAMq6S,KAAK8L,QAAQE,eAAe,SAASt2V,EAAE2hE,GAAG4oR,4CAA4Cr6R,KAAK1oD,KAAK8iV,KAAK8L,QAAQG,MAAMv2V,EAAE2hE,IAAIn6D,KAAKgvV,eAAex2V,CAAC,EAAEsqV,KAAK6F,SAAS7F,KAAK8L,QAAQE,eAAe/L,6CAA6CD,KAAK8L,QAAQE,eAAehnT,UAAUt6C,KAAK,iBAAiBs1V,KAAK8L,QAAQK,sBAAsB,SAASz2V,GAAG,MAAMA,CAAE,EAAEsqV,KAAK8L,QAAQM,cAAcpM,KAAK8L,QAAQK,sBACz2CnM,KAAK8L,QAAQG,MAAM,SAASv2V,EAAE2hE,GAAmB,QAAQ1nE,EAAE,GAAG3E,GAA7B0K,EAAEA,EAAE2yB,MAAM,OAAuB/4B,OAAO,EAAEotC,EAAE,EAAEA,EAAE1xC,EAAE0xC,IAAI/sC,GAAG+F,EAAEgnC,IAAIA,EAAE26B,EAAE/nE,OAAO+nE,EAAE36B,GAAG,MAAM,OAAO/sC,EAAE+F,EAAE1K,EAAE,EAAEg1V,KAAK8L,QAAQO,iBAAiB,SAAS32V,EAAE2hE,EAAE1nE,EAAE3E,GAAG,IAAI0xC,EAAE,mBAAmB,GAAG/sC,EAAE,CAAC+sC,GAAG,KAAK/sC,EAAE,IAAIynB,EAAEpsB,CAAC,MAAM0K,IAAIgnC,GAAG,KAAKhnC,EAAE0hB,EAAEigD,GAAG3hE,EAAE,IAAIsqV,KAAK8L,QAAQE,eAAe,GAAGtvT,EAAEtlB,GAAG,IAAI4oU,KAAK8L,QAAQM,cAAc12V,EAAE,EAAEsqV,KAAK8L,QAAQQ,gBAAgB,SAAS52V,GAAGsqV,KAAK8L,QAAQC,iBAAiB/L,KAAK8L,QAAQM,cAAc12V,EAAE,EAC/asqV,KAAK8L,QAAQn0I,OAAO,SAASjiN,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQC,iBAAiBr2V,GAAGsqV,KAAK8L,QAAQO,iBAAiB,GAAG,KAAKh1R,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAAEsqV,KAAK8L,QAAQS,aAAa,SAAS72V,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQC,gBAAgB,MAAMr2V,GAAGsqV,KAAK8L,QAAQO,iBAAiB,yBAAyB,CAAC32V,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAC9VsqV,KAAK8L,QAAQ98P,KAAK,SAASt5F,EAAE2hE,GAAG2oR,KAAK8L,QAAQC,gBAAgB/L,KAAK8L,QAAQM,cAAc,IAAIpM,KAAK8L,QAAQE,eAAe,WAAWt2V,EAAE,KAAKA,EAAE,IAAIlH,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAI,EAAEqyS,KAAK8L,QAAQU,aAAa,SAAS92V,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQC,gBAAgB,iBAAkBr2V,GAAGsqV,KAAK8L,QAAQO,iBAAiB,kCAAkC,CAACrM,KAAKoE,OAAO1uV,GAAGA,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAC7ZsqV,KAAK8L,QAAQW,aAAa,SAAS/2V,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQC,gBAAgB,iBAAkBr2V,GAAGsqV,KAAK8L,QAAQO,iBAAiB,kCAAkC,CAACrM,KAAKoE,OAAO1uV,GAAGA,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAAEsqV,KAAK8L,QAAQY,eAAe,SAASh3V,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQC,gBAAgB,mBAAoBr2V,GAAGsqV,KAAK8L,QAAQO,iBAAiB,oCAAoC,CAACrM,KAAKoE,OAAO1uV,GAAGA,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAC5csqV,KAAK8L,QAAQa,aAAa,SAASj3V,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQC,iBAAiB/L,KAAK/gQ,SAASvpF,IAAIsqV,KAAK8L,QAAQO,iBAAiB,kCAAkC,CAACrM,KAAKoE,OAAO1uV,GAAGA,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAAEsqV,KAAK8L,QAAQc,YAAY,SAASl3V,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQC,iBAAiBv9V,MAAMC,QAAQiH,IAAIsqV,KAAK8L,QAAQO,iBAAiB,iCAAiC,CAACrM,KAAKoE,OAAO1uV,GAAGA,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAChcsqV,KAAK8L,QAAQe,cAAc,SAASn3V,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQC,gBAAgB,kBAAmBr2V,GAAGsqV,KAAK8L,QAAQO,iBAAiB,mCAAmC,CAACrM,KAAKoE,OAAO1uV,GAAGA,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAAEsqV,KAAK8L,QAAQgB,cAAc,SAASp3V,EAAE2hE,EAAE1nE,GAAG,OAACqwV,KAAK8L,QAAQC,gBAAgB/L,KAAK/gQ,SAASvpF,IAAIA,EAAEsvJ,UAAUg7L,KAAK3nO,IAAI6yO,SAASC,SAASnL,KAAK8L,QAAQO,iBAAiB,mCAAmC,CAACrM,KAAKoE,OAAO1uV,GAAGA,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAChfsqV,KAAK8L,QAAQiB,iBAAiB,SAASr3V,EAAE2hE,EAAE1nE,EAAE3E,GAAG,OAACg1V,KAAK8L,QAAQC,gBAAgBr2V,aAAa2hE,GAAG2oR,KAAK8L,QAAQO,iBAAiB,qCAAqC,CAACrM,KAAK8L,QAAQkB,SAAS31R,GAAG2oR,KAAK8L,QAAQkB,SAASt3V,IAAI/F,EAAEnB,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAAEsqV,KAAK8L,QAAQmB,aAAa,SAASv3V,EAAE2hE,EAAE1nE,GAAG,OAACqwV,KAAK8L,QAAQC,gBAAgB,iBAAiBr2V,GAAGikV,SAASjkV,IAAIsqV,KAAK8L,QAAQO,iBAAiB,mDAAmD,CAAC32V,GAAG2hE,EAAE7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWj4C,CAAC,EAC3fsqV,KAAK8L,QAAQoB,8BAA8B,WAAW,QAAQx3V,KAAK42B,OAAO0Y,UAAUg7S,KAAK8L,QAAQ98P,KAAKt5F,EAAE,iDAAiD,EAAEsqV,KAAK8L,QAAQkB,SAAS,SAASt3V,GAAG,OAAOA,aAAa2+E,SAAS3+E,EAAEy3V,aAAaz3V,EAAEhL,MAAM,oBAAoBgL,aAAa42B,OAAO52B,EAAEiH,YAAYwwV,aAAaz3V,EAAEiH,YAAYjS,MAAM4hC,OAAO0Y,UAAU3G,SAASunB,KAAKlwD,GAAG,OAAOA,EAAE,cAAcA,CAAC,EAAEsqV,KAAK3nS,MAAM,CAAC,EAAE2nS,KAAKoN,wBAAwBpN,KAAKQ,aAAa,IAAI6M,mDAAmD,KAAKrN,KAAKO,gBAAsG,SAAS+M,gCAAgC53V,GAAG,OAAOA,EAAEA,EAAEpG,OAAO,EAAE,CAAtJ0wV,KAAK3nS,MAAMk1S,wBAAwBF,mDAAoHrN,KAAK3nS,MAAMm1S,KAAKF,gCAAgCtN,KAAK3nS,MAAMuiG,KAAK0yM,gCACzuB,IAAIG,mCAAmCzN,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAUj2C,SAAS,SAAS2G,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAed,MAAMw2C,UAAUj2C,QAAQ62D,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,EAAE,SAAS+F,EAAE2hE,EAAE1nE,GAA4C,GAAzCA,EAAE,MAAMA,EAAE,EAAE,EAAEA,EAAE06B,KAAKC,IAAI,EAAE50B,EAAEpG,OAAOK,GAAGA,EAAK,iBAAkB+F,EAAE,MAAM,iBAAkB2hE,GAAG,GAAGA,EAAE/nE,QAAO,EAAGoG,EAAE3G,QAAQsoE,EAAE1nE,GAAG,KAAKA,EAAE+F,EAAEpG,OAAOK,IAAI,GAAGA,KAAK+F,GAAGA,EAAE/F,KAAK0nE,EAAE,OAAO1nE,EAAE,OAAM,CAAE,EAAEqwV,KAAK3nS,MAAMtpD,QAAQ0+V,mCAC1c,IAAIC,uCAAuC1N,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAUsH,aAAa,SAAS52C,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAed,MAAMw2C,UAAUsH,YAAYsZ,KAAKlwD,EAAE2hE,EAAQ1nE,GAAE+F,EAAEpG,OAAO,EAAI,EAAE,SAASoG,EAAE2hE,EAAE1nE,GAA0D,GAAhC,GAAvBA,EAAQA,GAAE+F,EAAEpG,OAAO,KAAUK,EAAE06B,KAAKC,IAAI,EAAE50B,EAAEpG,OAAOK,IAAO,iBAAkB+F,EAAE,MAAM,iBAAkB2hE,GAAG,GAAGA,EAAE/nE,QAAO,EAAGoG,EAAE42C,YAAY+qB,EAAE1nE,GAAG,KAAK,GAAGA,EAAEA,IAAI,GAAGA,KAAK+F,GAAGA,EAAE/F,KAAK0nE,EAAE,OAAO1nE,EAAE,OAAM,CAAE,EACheqwV,KAAK3nS,MAAM/L,YAAYohT,uCAAuC,IAAIC,mCAAmC3N,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAU1c,SAAS,SAAS5yB,EAAE2hE,EAAE1nE,GAAGqwV,KAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAQd,MAAMw2C,UAAU1c,QAAQs9B,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,EAAE,SAAS+F,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,EAAE0K,EAAEpG,OAAOotC,EAAE,iBAAkBhnC,EAAEA,EAAE2yB,MAAM,IAAI3yB,EAAE0hB,EAAE,EAAEA,EAAEpsB,EAAEosB,IAAIA,KAAKslB,GAAG26B,EAAEzR,KAAKj2D,EAAE+sC,EAAEtlB,GAAGA,EAAE1hB,EAAE,EACvZ,SAASk4V,wCAAwCl4V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE0K,EAAEpG,OAAOotC,EAAE,iBAAkBhnC,EAAEA,EAAE2yB,MAAM,IAAI3yB,EAAE,MAAM1K,EAAE,GAAGA,IAAIA,EAAEA,KAAK0xC,GAAG26B,EAAEzR,KAAKj2D,EAAE+sC,EAAE1xC,GAAGA,EAAE0K,EAAE,CADmQsqV,KAAK3nS,MAAM/vB,QAAQqlU,mCACrR3N,KAAK3nS,MAAMw1S,aAAaD,wCAC/K,IAAIE,kCAAkC9N,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAUp6C,QAAQ,SAAS8K,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAed,MAAMw2C,UAAUp6C,OAAOg7D,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,EAAE,SAAS+F,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,EAAE0K,EAAEpG,OAAOotC,EAAE,GAAGtlB,EAAE,EAAE4iM,EAAE,iBAAkBtkN,EAAEA,EAAE2yB,MAAM,IAAI3yB,EAAEw7G,EAAE,EAAEA,EAAElmH,EAAEkmH,IAAI,GAAGA,KAAK8oG,EAAE,CAAC,IAAI15K,EAAE05K,EAAE9oG,GAAG75C,EAAEzR,KAAKj2D,EAAE2wC,EAAE4wE,EAAEx7G,KAAKgnC,EAAEtlB,KAAKkpB,EAAE,CAAC,OAAO5D,CAAC,EAAEsjT,KAAK3nS,MAAMztD,OAAOkjW,kCAC1Z,IAAIC,+BAA+B/N,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAUj6C,KAAK,SAAS2K,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAed,MAAMw2C,UAAUj6C,IAAI66D,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,EAAE,SAAS+F,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,EAAE0K,EAAEpG,OAAOotC,EAAEluC,MAAMxD,GAAGosB,EAAE,iBAAkB1hB,EAAEA,EAAE2yB,MAAM,IAAI3yB,EAAEskN,EAAE,EAAEA,EAAEhvN,EAAEgvN,IAAIA,KAAK5iM,IAAIslB,EAAEs9K,GAAG3iJ,EAAEzR,KAAKj2D,EAAEynB,EAAE4iM,GAAGA,EAAEtkN,IAAI,OAAOgnC,CAAC,EAAEsjT,KAAK3nS,MAAMttD,IAAIgjW,+BAChY,IAAIC,kCAAkChO,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAU3D,QAAQ,SAAS3rC,EAAE2hE,EAAE1nE,EAAE3E,GAAGg1V,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAQtE,IAAIqsE,EAAE2oR,KAAK7rU,KAAKkjD,EAAErsE,IAAWwD,MAAMw2C,UAAU3D,OAAOukB,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,EAAE,SAAS+F,EAAE2hE,EAAE1nE,EAAE3E,GAAG,IAAI0xC,EAAE/sC,EAAEg+V,0CAAmCj4V,EAAE,SAAS0hB,EAAE4iM,GAAGt9K,EAAE26B,EAAEzR,KAAK56D,EAAE0xC,EAAEtlB,EAAE4iM,EAAEtkN,EAAE,GAAUgnC,CAAC,EAAEsjT,KAAK3nS,MAAMhX,OAAO2sT,kCACvY,IAAIC,uCAAuCjO,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAUkpT,aAAa,SAASx4V,EAAE2hE,EAAE1nE,EAAE3E,GAAGg1V,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAQ0wV,KAAK8L,QAAQn0I,OAAO,MAAMtgJ,GAAGrsE,IAAIqsE,EAAE2oR,KAAK7rU,KAAKkjD,EAAErsE,IAAWwD,MAAMw2C,UAAUkpT,YAAYtoS,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,EAAE,SAAS+F,EAAE2hE,EAAE1nE,EAAE3E,GAAG,IAAI0xC,EAAE/sC,EAAEi+V,+CAAwCl4V,EAAE,SAAS0hB,EAAE4iM,GAAGt9K,EAAE26B,EAAEzR,KAAK56D,EAAE0xC,EAAEtlB,EAAE4iM,EAAEtkN,EAAE,GAAUgnC,CAAC,EAAEsjT,KAAK3nS,MAAM61S,YAAYD,uCAC7b,IAAIE,gCAAgCnO,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAUt2C,MAAM,SAASgH,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAed,MAAMw2C,UAAUt2C,KAAKk3D,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,EAAE,SAAS+F,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,EAAE0K,EAAEpG,OAAOotC,EAAE,iBAAkBhnC,EAAEA,EAAE2yB,MAAM,IAAI3yB,EAAE0hB,EAAE,EAAEA,EAAEpsB,EAAEosB,IAAI,GAAGA,KAAKslB,GAAG26B,EAAEzR,KAAKj2D,EAAE+sC,EAAEtlB,GAAGA,EAAE1hB,GAAG,OAAM,EAAG,OAAM,CAAE,EAAEsqV,KAAK3nS,MAAM3pD,KAAKy/V,gCAC9X,IAAIC,iCAAiCpO,KAAKoN,0BAA0BC,oDAAoD7+V,MAAMw2C,UAAUpO,OAAO,SAASlhC,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAed,MAAMw2C,UAAUpO,MAAMgvB,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,EAAE,SAAS+F,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,EAAE0K,EAAEpG,OAAOotC,EAAE,iBAAkBhnC,EAAEA,EAAE2yB,MAAM,IAAI3yB,EAAE0hB,EAAE,EAAEA,EAAEpsB,EAAEosB,IAAI,GAAGA,KAAKslB,IAAI26B,EAAEzR,KAAKj2D,EAAE+sC,EAAEtlB,GAAGA,EAAE1hB,GAAG,OAAM,EAAG,OAAM,CAAE,EAChX,SAAS24V,iCAAiC34V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,EAAE2iW,0CAAmCj4V,EAAE,SAASgnC,EAAEtlB,EAAE4iM,GAAG3iJ,EAAEzR,KAAKj2D,EAAE+sC,EAAEtlB,EAAE4iM,MAAMhvN,CAAC,EAAE2E,GAAU3E,CAAC,CAAmD,SAASsjW,gCAAgC54V,EAAE2hE,EAAE1nE,GAAG0nE,OAAqD,GAArDA,EAAEk3R,qCAAqC74V,EAAE2hE,EAAE1nE,IAAc,KAAK,iBAAkB+F,EAAEA,EAAE4c,OAAO+kD,GAAG3hE,EAAE2hE,EAAE,CACpV,SAASk3R,qCAAqC74V,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,EAAE0K,EAAEpG,OAAOotC,EAAE,iBAAkBhnC,EAAEA,EAAE2yB,MAAM,IAAI3yB,EAAE0hB,EAAE,EAAEA,EAAEpsB,EAAEosB,IAAI,GAAGA,KAAKslB,GAAG26B,EAAEzR,KAAKj2D,EAAE+sC,EAAEtlB,GAAGA,EAAE1hB,GAAG,OAAO0hB,EAAE,OAAM,CAAE,CAA2D,SAASo3U,qCAAqC94V,EAAE2hE,EAAE1nE,GAAG0nE,OAA0D,GAA1DA,EAAEo3R,0CAA0C/4V,EAAE2hE,EAAE1nE,IAAc,KAAK,iBAAkB+F,EAAEA,EAAE4c,OAAO+kD,GAAG3hE,EAAE2hE,EAAE,CAC9X,SAASo3R,0CAA0C/4V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE0K,EAAEpG,OAAOotC,EAAE,iBAAkBhnC,EAAEA,EAAE2yB,MAAM,IAAI3yB,EAAE,MAAM1K,EAAE,GAAGA,EAAEA,IAAI,GAAGA,KAAK0xC,GAAG26B,EAAEzR,KAAKj2D,EAAE+sC,EAAE1xC,GAAGA,EAAE0K,GAAG,OAAO1K,EAAE,OAAM,CAAE,CAAqE,SAAS0jW,oCAAoCh5V,EAAE2hE,GAAG,OAAO,GAAGo2R,mCAAmC/3V,EAAE2hE,EAAE,CAAyD,SAASs3R,mCAAmCj5V,GAAG,OAAO,GAAGA,EAAEpG,MAAM,CAC/c,SAASs/V,iCAAiCl5V,GAAG,IAAIlH,MAAMC,QAAQiH,GAAG,QAAQ2hE,EAAE3hE,EAAEpG,OAAO,EAAE,GAAG+nE,EAAEA,WAAW3hE,EAAE2hE,GAAG3hE,EAAEpG,OAAO,CAAC,CAAmD,SAASu/V,kCAAkCn5V,EAAE2hE,GAAGq3R,oCAAoCh5V,EAAE2hE,IAAI3hE,EAAEspC,KAAKq4B,EAAE,CAAqD,SAASy3R,oCAAoCp5V,EAAE2hE,EAAE1nE,GAAGo/V,kCAAkCr5V,EAAE/F,EAAE,EAAE0nE,EAAE,CAC/Z,SAAS23R,yCAAyCt5V,EAAE2hE,EAAE1nE,GAAGqwV,KAAKgF,QAAQ+J,kCAAkCr5V,EAAE/F,EAAE,GAAGypD,MAAM,KAAKie,EAAE,CAAmE,SAAS43R,wCAAwCv5V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,GAAG2iD,UAAUr+C,QAAQ,GAAGtE,EAAEyiW,mCAAmC/3V,EAAE/F,IAAI+F,EAAEspC,KAAKq4B,GAAGy3R,oCAAoCp5V,EAAE2hE,EAAErsE,EAAE,CACpX,SAASkkW,kCAAkCx5V,EAAE2hE,GAA6C,IAAI1nE,EAAE,OAACA,EAAE,IAAnD0nE,EAAEo2R,mCAAmC/3V,EAAE2hE,MAAmB83R,oCAAoCz5V,EAAE2hE,GAAU1nE,CAAC,CAAqD,SAASy/V,sCAAsC15V,EAAE2hE,GAAGA,OAAqD,IAArDA,EAAEq2R,uCAAuCh4V,EAAE2hE,MAAgB83R,oCAAoCz5V,EAAE2hE,IAAG,EAAM,CAC9W,SAAS83R,oCAAoCz5V,EAAE2hE,GAAG2oR,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAe,GAAGd,MAAMw2C,UAAUuH,OAAOqZ,KAAKlwD,EAAE2hE,EAAE,GAAG/nE,MAAM,CAAyD,SAAS+/V,oCAAoC35V,EAAE2hE,EAAE1nE,GAAG0nE,OAAqD,IAArDA,EAAEk3R,qCAAqC74V,EAAE2hE,EAAE1nE,MAAgBw/V,oCAAoCz5V,EAAE2hE,IAAG,EAAM,CAChW,SAASi4R,uCAAuC55V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,EAAE4iW,+CAAwCl4V,EAAE,SAASgnC,EAAEtlB,GAAGigD,EAAEzR,KAAKj2D,EAAE+sC,EAAEtlB,EAAE1hB,IAAIy5V,oCAAoCz5V,EAAE0hB,IAAIpsB,GAAG,GAAUA,CAAC,CAA+D,SAASukW,kCAAkC75V,GAAG,OAAOlH,MAAMw2C,UAAUr6C,OAAOyuD,MAAM,GAAGzL,UAAU,CAAqD,SAAS6hT,gCAAgC95V,GAAG,OAAOlH,MAAMw2C,UAAUr6C,OAAOyuD,MAAM,GAAGzL,UAAU,CAChc,SAAS8hT,mCAAmC/5V,GAAG,IAAI2hE,EAAE3hE,EAAEpG,OAAO,GAAG,EAAE+nE,EAAE,CAAC,QAAQ1nE,EAAEnB,MAAM6oE,GAAGrsE,EAAE,EAAEA,EAAEqsE,EAAErsE,IAAI2E,EAAE3E,GAAG0K,EAAE1K,GAAG,OAAO2E,CAAC,CAAC,MAAM,EAAE,CATkMqwV,KAAK3nS,MAAMzhB,MAAMw3T,iCACnPpO,KAAK3nS,MAAMo7C,MAAM46P,iCAAoLrO,KAAK3nS,MAAMhmD,KAAKi8V,gCAC7LtO,KAAK3nS,MAAM7iC,UAAU+4U,qCAAkMvO,KAAK3nS,MAAMq3S,UAAUlB,qCACtOxO,KAAK3nS,MAAMs3S,eAAelB,0CAA8IzO,KAAK3nS,MAAMvsB,SAAS4iU,oCAAsG1O,KAAK3nS,MAAM+8H,QAAQu5K,mCAC5W3O,KAAK3nS,MAAMpG,MAAM28S,iCAAqI5O,KAAK3nS,MAAMo0L,OAAOoiH,kCAAiI7O,KAAK3nS,MAAMu3S,SAASd,oCACvT9O,KAAK3nS,MAAMw3S,cAAcb,yCAA+NhP,KAAK3nS,MAAM0sH,aAAakqL,wCACjPjP,KAAK3nS,MAAMnzB,OAAOgqU,kCAAiMlP,KAAK3nS,MAAMy3S,WAAWV,sCAC3PpP,KAAK3nS,MAAM03S,SAASZ,oCAAmMnP,KAAK3nS,MAAM23S,SAASX,oCACpLrP,KAAK3nS,MAAM43S,YAAYX,uCAAuItP,KAAK3nS,MAAM1tD,OAAO4kW,kCACjXvP,KAAK3nS,MAAMzP,KAAK4mT,gCAAiK,IAAIU,iCAAiClQ,KAAK3nS,MAAMjuB,QAAQqlU,mCACzO,SAASU,kCAAkCz6V,EAAE2hE,GAAG,QAAQ1nE,EAAE,EAAEA,EAAEg+C,UAAUr+C,OAAOK,IAAI,CAAC,IAAI3E,EAAE2iD,UAAUh+C,GAAG,GAAGqwV,KAAKqE,YAAYr5V,GAAG,CAAC,IAAI0xC,EAAEhnC,EAAEpG,QAAQ,EAAE8nB,EAAEpsB,EAAEsE,QAAQ,EAAEoG,EAAEpG,OAAOotC,EAAEtlB,EAAE,QAAQ4iM,EAAE,EAAEA,EAAE5iM,EAAE4iM,IAAItkN,EAAEgnC,EAAEs9K,GAAGhvN,EAAEgvN,EAAE,MAAMtkN,EAAEspC,KAAKh0C,EAAE,CAAC,CAAqD,SAAS+jW,kCAAkCr5V,EAAE2hE,EAAE1nE,EAAE3E,GAAGg1V,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAed,MAAMw2C,UAAUuH,OAAO6M,MAAM1jD,EAAE06V,iCAAiCziT,UAAU,GAAG,CAC5b,SAASyiT,iCAAiC16V,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAe,GAAGq+C,UAAUr+C,OAAOd,MAAMw2C,UAAUlG,MAAM8mB,KAAKlwD,EAAE2hE,GAAG7oE,MAAMw2C,UAAUlG,MAAM8mB,KAAKlwD,EAAE2hE,EAAE1nE,EAAE,CACjL,SAAS0gW,4CAA4C36V,EAAE2hE,EAAE1nE,GAAG0nE,EAAEA,GAAG3hE,EAAE,IAAI1K,EAAE,SAASs1C,GAAG,OAAO0/S,KAAK/gQ,SAAS3+C,GAAG,IAAI0/S,KAAKwE,OAAOlkT,WAAWA,GAAGhuB,OAAO,GAAGguB,CAAC,EAAE3wC,EAAEA,GAAG3E,EAAEA,EAAE,CAAC,EAAE,QAAQ0xC,EAAE,EAAEtlB,EAAE,EAAEA,EAAE1hB,EAAEpG,QAAQ,CAAC,IAAI0qN,EAAEtkN,EAAE0hB,KAAK85F,EAAEvhH,EAAEqqN,GAAG1tL,OAAO0Y,UAAU8qB,eAAelK,KAAK56D,EAAEkmH,KAAKlmH,EAAEkmH,IAAG,EAAG75C,EAAE36B,KAAKs9K,EAAE,CAAC3iJ,EAAE/nE,OAAOotC,CAAC,CAC7R,SAAS4zT,wCAAwC56V,EAAE2hE,EAAE1nE,GAAG,OAAO4gW,yCAAyC76V,EAAE/F,GAAG6gW,2CAA0C,EAAGn5R,EAAE,CAAiE,SAASo5R,wCAAwC/6V,EAAE2hE,EAAE1nE,GAAG,OAAO4gW,yCAAyC76V,EAAE2hE,GAAE,OAAG,EAAO1nE,EAAE,CACrV,SAAS4gW,yCAAyC76V,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAG,QAAuBw0E,EAAf95F,EAAE,EAAE4iM,EAAEtkN,EAAEpG,OAAS8nB,EAAE4iM,GAAG,CAAC,IAAI15K,EAAElpB,GAAG4iM,EAAE5iM,IAAI,GAAOmD,EAAE5qB,EAAE0nE,EAAEzR,KAAKlpB,EAAEhnC,EAAE4qC,GAAGA,EAAE5qC,GAAG2hE,EAAErsE,EAAE0K,EAAE4qC,IAAI,EAAE/lB,EAAEnD,EAAEkpB,EAAE,GAAG05K,EAAE15K,EAAE4wE,GAAG32F,EAAE,CAAC,OAAO22F,EAAE95F,GAAGA,EAAE,CAAC,CAAC,SAASs5U,gCAAgCh7V,EAAE2hE,GAAG3hE,EAAE0hE,KAAKC,GAAGm5R,0CAA0C,CAC1R,SAASG,sCAAsCj7V,EAAE2hE,GAAG,QAAQ1nE,EAAEnB,MAAMkH,EAAEpG,QAAQtE,EAAE,EAAEA,EAAE0K,EAAEpG,OAAOtE,IAAI2E,EAAE3E,GAAG,CAACuqB,MAAMvqB,EAAER,MAAMkL,EAAE1K,IAAI,IAAI0xC,EAAE26B,GAAGm5R,0CAAuI,IAA7FE,gCAAgC/gW,EAAE,SAASynB,EAAE4iM,GAAG,OAAOt9K,EAAEtlB,EAAE5sB,MAAMwvN,EAAExvN,QAAQ4sB,EAAE7B,MAAMykM,EAAEzkM,KAAK,GAAOvqB,EAAE,EAAEA,EAAE0K,EAAEpG,OAAOtE,IAAI0K,EAAE1K,GAAG2E,EAAE3E,GAAGR,KAAK,CACjT,SAASomW,qCAAqCl7V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE2E,GAAG6gW,0CAA0CE,gCAAgCh7V,EAAE,SAASgnC,EAAEtlB,GAAG,OAAOpsB,EAAEqsE,EAAE36B,GAAG26B,EAAEjgD,GAAG,EAAE,CAA2D,SAASy5U,4CAA4Cn7V,EAAE2hE,EAAE1nE,GAAGihW,qCAAqCl7V,EAAE,SAAS1K,GAAG,OAAOA,EAAEqsE,EAAE,EAAE1nE,EAAE,CACtW,SAASmhW,oCAAoCp7V,EAAE2hE,EAAE1nE,GAAG0nE,EAAEA,GAAGm5R,0CAA0C,QAAQxlW,EAAE,EAAEA,EAAE0K,EAAEpG,OAAOtE,IAAI,CAAC,IAAI0xC,EAAE26B,EAAE3hE,EAAE1K,EAAE,GAAG0K,EAAE1K,IAAI,GAAG,EAAE0xC,GAAG,GAAGA,GAAG/sC,EAAE,OAAM,CAAE,CAAC,OAAM,CAAE,CAAyD,SAASohW,kCAAkCr7V,EAAE2hE,EAAE1nE,GAAG,IAAIqwV,KAAKqE,YAAY3uV,KAAKsqV,KAAKqE,YAAYhtR,IAAI3hE,EAAEpG,QAAQ+nE,EAAE/nE,OAAO,OAAM,EAAG,IAAItE,EAAE0K,EAAEpG,OAAOK,EAAEA,GAAGqhW,kDAAkD,QAAQt0T,EAAE,EAAEA,EAAE1xC,EAAE0xC,IAAI,IAAI/sC,EAAE+F,EAAEgnC,GAAG26B,EAAE36B,IAAI,OAAM,EAAG,OAAM,CAAE,CACnb,SAASu0T,oCAAoCv7V,EAAE2hE,EAAE1nE,GAAGA,EAAEA,GAAG6gW,0CAA0C,QAAQxlW,EAAEq/B,KAAKE,IAAI70B,EAAEpG,OAAO+nE,EAAE/nE,QAAQotC,EAAE,EAAEA,EAAE1xC,EAAE0xC,IAAI,CAAC,IAAItlB,EAAEznB,EAAE+F,EAAEgnC,GAAG26B,EAAE36B,IAAI,GAAG,GAAGtlB,EAAE,OAAOA,CAAC,CAAC,OAAOo5U,0CAA0C96V,EAAEpG,OAAO+nE,EAAE/nE,OAAO,CAAyD,SAASkhW,0CAA0C96V,EAAE2hE,GAAG,OAAO3hE,EAAE2hE,EAAE,EAAE3hE,EAAE2hE,GAAE,EAAG,CAAC,CACvb,SAAS65R,iDAAiDx7V,EAAE2hE,GAAG,OAAOm5R,0CAA0C96V,EAAE2hE,EAAE,CAAmF,SAAS25R,kDAAkDt7V,EAAE2hE,GAAG,OAAO3hE,IAAI2hE,CAAC,CACnR,SAAS85R,wCAAwCz7V,EAAE2hE,EAAE1nE,GAAGA,OAAwD,GAAxDA,EAAE2gW,wCAAwC56V,EAAE2hE,EAAE1nE,MAAem/V,oCAAoCp5V,EAAE2hE,IAAI1nE,EAAE,KAAI,EAAM,CAAiE,SAASyhW,wCAAwC17V,EAAE2hE,EAAE1nE,GAAG0nE,OAAwD,IAAxDA,EAAEi5R,wCAAwC56V,EAAE2hE,EAAE1nE,KAAew/V,oCAAoCz5V,EAAE2hE,EAAK,CAC5Y,SAASg6R,kCAAkC37V,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,EAAE,CAAC,EAAE0xC,EAAE,EAAEA,EAAEhnC,EAAEpG,OAAOotC,IAAI,CAAC,IAAItlB,EAAE1hB,EAAEgnC,GAAGs9K,EAAE3iJ,EAAEzR,KAAKj2D,EAAEynB,EAAEslB,EAAEhnC,QAAG,IAASskN,IAAIhvN,EAAEgvN,KAAKhvN,EAAEgvN,GAAG,KAAKh7K,KAAK5nB,EAAE,CAAC,OAAOpsB,CAAC,CAAqD,SAASsmW,oCAAoC57V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,CAAC,EAAE2iW,0CAAmCj4V,EAAE,SAASgnC,EAAEtlB,GAAGpsB,EAAEqsE,EAAEzR,KAAKj2D,EAAE+sC,EAAEtlB,EAAE1hB,IAAIgnC,CAAC,GAAU1xC,CAAC,CAClW,SAASumW,iCAAiC77V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,GAAG0xC,EAAE,EAAEtlB,EAAE1hB,EAA+B,QAAtB,IAAS2hE,IAAI36B,EAAEhnC,EAAE0hB,EAAEigD,GAAM,GAAhC1nE,EAAEA,GAAG,IAAgCynB,EAAEslB,GAAG,MAAM,GAAG,GAAG,EAAE/sC,EAAE,IAAI+F,EAAEgnC,EAAEhnC,EAAE0hB,EAAE1hB,GAAG/F,EAAE3E,EAAEg0C,KAAKtpC,QAAQ,IAAIA,EAAEgnC,EAAEhnC,EAAE0hB,EAAE1hB,GAAG/F,EAAE3E,EAAEg0C,KAAKtpC,GAAG,OAAO1K,CAAC,CAAmD,SAASwmW,kCAAkC97V,EAAE2hE,GAAG,QAAQ1nE,EAAE,GAAG3E,EAAE,EAAEA,EAAEqsE,EAAErsE,IAAI2E,EAAE3E,GAAG0K,EAAE,OAAO/F,CAAC,CAC1U,SAAS8hW,mCAAmC/7V,GAAG,QAAQ2hE,EAAE,GAAG1nE,EAAE,EAAEA,EAAEg+C,UAAUr+C,OAAOK,IAAI,CAAC,IAAI3E,EAAE2iD,UAAUh+C,GAAG,GAAGnB,MAAMC,QAAQzD,GAAG,QAAQ0xC,EAAE,EAAEA,EAAE1xC,EAAEsE,OAAOotC,GAAG,KAAK,CAAC,IAAItlB,EAAEg5U,iCAAiCplW,EAAE0xC,EAAEA,EAAE,MAAMtlB,EAAEq6U,mCAAmCr4S,MAAM,KAAKhiC,GAAG,QAAQ4iM,EAAE,EAAEA,EAAE5iM,EAAE9nB,OAAO0qN,IAAI3iJ,EAAEr4B,KAAK5nB,EAAE4iM,GAAG,MAAM3iJ,EAAEr4B,KAAKh0C,EAAE,CAAC,OAAOqsE,CAAC,CACpU,SAASq6R,kCAAkCh8V,EAAE2hE,GAAG2oR,YAAK8L,QAAQn0I,OAAO,MAAMjiN,EAAEpG,QAAQoG,EAAEpG,SAAqB,GAAZ+nE,GAAG3hE,EAAEpG,QAAWd,MAAMw2C,UAAUyoH,QAAQr0G,MAAM1jD,EAAEA,EAAE62C,QAAQ8qB,EAAEA,IAAI,EAAEA,GAAG7oE,MAAMw2C,UAAUhG,KAAKoa,MAAM1jD,EAAEA,EAAE62C,OAAO,GAAG8qB,KAAY3hE,CAAC,CAAqD,SAASi8V,oCAAoCj8V,EAAE2hE,EAAE1nE,GAAGqwV,KAAK8L,QAAQn0I,OAAO,GAAGtgJ,GAAGA,EAAE3hE,EAAEpG,QAAQ0wV,KAAK8L,QAAQn0I,OAAO,GAAGhoN,GAAGA,EAAE+F,EAAEpG,QAAQ+nE,EAAE7oE,MAAMw2C,UAAUuH,OAAOqZ,KAAKlwD,EAAE2hE,EAAE,GAAG7oE,MAAMw2C,UAAUuH,OAAOqZ,KAAKlwD,EAAE/F,EAAE,EAAE0nE,EAAE,GAAG,CAC3d,SAASu6R,+BAA+Bl8V,GAAG,IAAIi4C,UAAUr+C,OAAO,MAAM,GAAG,QAAQ+nE,EAAE,GAAG1nE,EAAEg+C,UAAU,GAAGr+C,OAAOtE,EAAE,EAAEA,EAAE2iD,UAAUr+C,OAAOtE,IAAI2iD,UAAU3iD,GAAGsE,OAAOK,IAAIA,EAAEg+C,UAAU3iD,GAAGsE,QAAQ,IAAItE,EAAE,EAAEA,EAAE2E,EAAE3E,IAAI,CAAC,QAAQ0xC,EAAE,GAAGtlB,EAAE,EAAEA,EAAEu2B,UAAUr+C,OAAO8nB,IAAIslB,EAAEsC,KAAK2O,UAAUv2B,GAAGpsB,IAAIqsE,EAAEr4B,KAAKtC,EAAE,CAAC,OAAO26B,CAAC,CAA+C,SAASw6R,mCAAmCn8V,EAAE2hE,GAAGA,EAAEA,GAAGhtC,KAAKkzE,OAAO,QAAQ5tG,EAAE+F,EAAEpG,OAAO,EAAE,EAAEK,EAAEA,IAAI,CAAC,IAAI3E,EAAEq/B,KAAK4gB,MAAMosB,KAAK1nE,EAAE,IAAI+sC,EAAEhnC,EAAE/F,GAAG+F,EAAE/F,GAAG+F,EAAE1K,GAAG0K,EAAE1K,GAAG0xC,CAAC,CAAC,CAC5d,SAASo1T,uCAAuCp8V,EAAE2hE,GAAG,IAAI1nE,EAAE,GAAGg+V,0CAAmCt2R,EAAE,SAASrsE,GAAG2E,EAAEqvC,KAAKtpC,EAAE1K,GAAG,GAAU2E,CAAC,CAA+D,SAASoiW,qCAAqCr8V,EAAE2hE,EAAE1nE,GAAG,OAAO4/V,kCAAkCn2S,MAAM,GAAG20S,+BAA+Br4V,EAAE2hE,EAAE1nE,GAAG,CAjBtEqwV,KAAK3nS,MAAMxzB,MAAMqrU,iCACjElQ,KAAK3nS,MAAM25S,OAAO7B,kCAA+MnQ,KAAK3nS,MAAM9L,OAAOwiT,kCAC7R/O,KAAK3nS,MAAMvZ,MAAMsxT,iCAC2FpQ,KAAK3nS,MAAM45S,iBAAiB5B,4CAC7JrQ,KAAK3nS,MAAM65S,aAAa5B,wCAAiKtQ,KAAK3nS,MAAM85S,aAAa1B,wCACnFzQ,KAAK3nS,MAAM+e,KAAKs5R,gCACO1Q,KAAK3nS,MAAM+5S,WAAWzB,sCAC1J3Q,KAAK3nS,MAAMg6S,UAAUzB,qCAAoK5Q,KAAK3nS,MAAMi6S,iBAAiBzB,4CAC7M7Q,KAAK3nS,MAAMk6S,SAASzB,oCAC1M9Q,KAAK3nS,MAAMm6S,OAAOzB,kCAAgS/Q,KAAK3nS,MAAMo6S,SAASxB,oCAAkHjR,KAAK3nS,MAAMq6S,eAAelC,0CAC7VxQ,KAAK3nS,MAAMs6S,sBAAsBzB,iDAA8HlR,KAAK3nS,MAAMu6S,uBAAuB5B,kDAC1IhR,KAAK3nS,MAAMw6S,aAAa1B,wCAAyMnR,KAAK3nS,MAAMy6S,aAAa1B,wCACtQpR,KAAK3nS,MAAM06S,OAAO1B,kCAAkLrR,KAAK3nS,MAAM26S,SAAS1B,oCACvLtR,KAAK3nS,MAAM0hL,MAAMw3H,iCAA0HvR,KAAK3nS,MAAMyqG,OAAO0uM,kCACxBxR,KAAK3nS,MAAM2kS,QAAQyU,mCAC7HzR,KAAK3nS,MAAM4tL,OAAOyrH,kCAA+O1R,KAAK3nS,MAAM46S,SAAStB,oCACtN3R,KAAK3nS,MAAM66S,IAAItB,+BAAoL5R,KAAK3nS,MAAM86S,QAAQtB,mCACzW7R,KAAK3nS,MAAM+6S,YAAYtB,uCAAqL9R,KAAK3nS,MAAMkuJ,UAAUwrJ,qCAAqC/R,KAAK3nO,IAAIyzO,QAAQ,CAAC,EAAE9L,KAAK3nO,IAAIyzO,QAAQuH,iBAAiB,SAAS39V,GAAG,GAAGsqV,KAAK8L,QAAQC,eAAe,CAAC,IAAI10R,EAAE2oR,KAAK3nO,IAAIyzO,QAAQwH,WAAW59V,GAAG2hE,KAAK3hE,KAAKA,aAAa2hE,EAAE64E,WAAWx6I,aAAa2hE,EAAEq0F,UAAUs0L,KAAK8L,QAAQ98P,KAAK,8DAA8DgxP,KAAK3nO,IAAIyzO,QAAQyH,oBAAoB79V,GAAG,CAAC,OAAOA,CAAC,EACltBsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB,SAAS99V,EAAE2hE,GAAG,GAAG2oR,KAAK8L,QAAQC,eAAe,CAAC,IAAIp8V,EAAEqwV,KAAK3nO,IAAIyzO,QAAQwH,WAAW59V,GAAG/F,UAAuBA,EAAE0nE,GAAtB,MAA2B3hE,IAAIA,aAAa/F,EAAE0nE,MAAM3hE,aAAa/F,EAAEugJ,UAAUx6I,aAAa/F,EAAE+7J,WAAWs0L,KAAK8L,QAAQ98P,KAAK,sEAAsE33B,EAAE2oR,KAAK3nO,IAAIyzO,QAAQyH,oBAAoB79V,IAAI,CAAC,OAAOA,CAAC,EAAEsqV,KAAK3nO,IAAIyzO,QAAQ2H,0BAA0B,SAAS/9V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,oBAAoB,EAC3esqV,KAAK3nO,IAAIyzO,QAAQ4H,0BAA0B,SAASh+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,oBAAoB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQ6H,wBAAwB,SAASj+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,kBAAkB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQ8H,yBAAyB,SAASl+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,mBAAmB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQ+H,yBAAyB,SAASn+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,mBAAmB,EACtesqV,KAAK3nO,IAAIyzO,QAAQgI,yBAAyB,SAASp+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,mBAAmB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQiI,yBAAyB,SAASr+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,mBAAmB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQkI,4BAA4B,SAASt+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,sBAAsB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQmI,0BAA0B,SAASv+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,oBAAoB,EAC9esqV,KAAK3nO,IAAIyzO,QAAQoI,yBAAyB,SAASx+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,mBAAmB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQqI,wBAAwB,SAASz+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,kBAAkB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQsI,yBAAyB,SAAS1+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,mBAAmB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQuI,0BAA0B,SAAS3+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,oBAAoB,EACtesqV,KAAK3nO,IAAIyzO,QAAQwI,0BAA0B,SAAS5+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,oBAAoB,EAAEsqV,KAAK3nO,IAAIyzO,QAAQyI,0BAA0B,SAAS7+V,GAAG,OAAOsqV,KAAK3nO,IAAIyzO,QAAQ0H,qBAAqB99V,EAAE,oBAAoB,EACtPsqV,KAAK3nO,IAAIyzO,QAAQyH,oBAAoB,SAAS79V,GAAG,IAAGsqV,KAAK/gQ,SAASvpF,GAAuJ,YAAO,IAASA,EAAE,YAAY,OAAOA,EAAE,cAAcA,EAAzM,IAAI,OAAOA,EAAEiH,YAAYwwV,aAAaz3V,EAAEiH,YAAYjS,MAAM4hC,OAAO0Y,UAAU3G,SAASunB,KAAKlwD,EAAE,OAAU,MAAM,mCAAmC,CAA4D,EAAEsqV,KAAK3nO,IAAIyzO,QAAQwH,WAAW,SAAS59V,GAAG,IAAI,IAAI2hE,EAAE3hE,GAAGA,EAAE41J,cAAc37J,EAAE0nE,IAAIA,EAAEm0F,aAAan0F,EAAEm9R,cAA+B,IAAjB7kW,EAAEA,GAAGqwV,KAAKlsQ,QAAY43E,SAAS/7J,EAAEugJ,SAAS,OAAOvgJ,CAAC,OAAU,CAAC,OAAO,IAAI,EAAEqwV,KAAK3nO,IAAIo8O,YAAY,WAAW,EAAEzU,KAAKhhC,UAAU,CAAC,EAAEghC,KAAKhhC,UAAU01C,SAAS,SAASh/V,GAAG,OAAO,WAAW,OAAOA,CAAC,CAAC,EAAEsqV,KAAKhhC,UAAUpkT,MAAM,WAAW,OAAM,CAAE,EAAEolV,KAAKhhC,UAAUt3T,KAAK,WAAW,OAAM,CAAE,EAAEs4V,KAAKhhC,UAAU21C,KAAK,WAAW,OAAO,IAAI,EAAE3U,KAAKhhC,UAAU41C,SAAS,SAASl/V,EAAE2hE,GAAG,OAAO3hE,CAAC,EAAEsqV,KAAKhhC,UAAUhzT,MAAM,SAAS0J,GAAG,OAAO,WAAW,MAAMqvC,MAAMrvC,EAAG,CAAC,EAAEsqV,KAAKhhC,UAAUhwN,KAAK,SAASt5F,GAAG,OAAO,WAAW,MAAMA,CAAE,CAAC,EACz2BsqV,KAAKhhC,UAAU18G,KAAK,SAAS5sM,EAAE2hE,GAAGA,SAAEA,GAAG,EAAS,WAAW,OAAO3hE,EAAE0jD,MAAMl8C,KAAK1O,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,EAAE0pB,GAAG,CAAC,EAAE2oR,KAAKhhC,UAAU61C,IAAI,SAASn/V,GAAG,OAAO,WAAW,OAAOi4C,UAAUj4C,EAAE,CAAC,EAAEsqV,KAAKhhC,UAAU81C,aAAa,SAASp/V,EAAE2hE,GAAG,IAAI1nE,EAAEnB,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,GAAG,OAAO,WAAW,IAAI3iD,EAAEkS,KAAKlS,IAAIg1V,KAAKlsQ,SAAS9oF,OAAE,GAAQ,IAAI0xC,EAAEluC,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,WAAWjR,SAAEsC,KAAKoa,MAAM1c,EAAE/sC,GAAU+F,EAAE0jD,MAAMpuD,EAAE0xC,EAAE,CAAC,EACtasjT,KAAKhhC,UAAU+1C,gBAAgB,SAASr/V,EAAE2hE,GAAG,OAAO2oR,KAAKhhC,UAAUpwI,SAASl5K,EAAEsqV,KAAKhhC,UAAU01C,SAASr9R,GAAG,EAAE2oR,KAAKhhC,UAAUg2C,QAAQ,SAASt/V,EAAE2hE,GAAG,OAAO,SAAS1nE,GAAG,OAAO0nE,EAAE3hE,GAAG/F,EAAE+F,IAAI/F,CAAC,CAAC,EAAEqwV,KAAKhhC,UAAU75D,QAAQ,SAASzvP,EAAE2hE,GAAG,IAAI1nE,EAAEg+C,UAAU3iD,EAAE2E,EAAEL,OAAO,OAAO,WAAW,IAAIotC,EAAE1xC,IAAI0xC,EAAE/sC,EAAE3E,EAAE,GAAGouD,MAAMl8C,KAAKywC,YAAY,QAAQv2B,EAAEpsB,EAAE,EAAE,GAAGosB,EAAEA,IAAIslB,EAAE/sC,EAAEynB,GAAGwuC,KAAK1oD,KAAKw/B,GAAG,OAAOA,CAAC,CAAC,EAAEsjT,KAAKhhC,UAAUpwI,SAAS,SAASl5K,GAAG,IAAI2hE,EAAE1pB,UAAUh+C,EAAE0nE,EAAE/nE,OAAO,OAAO,WAAW,QAAQtE,EAAE0xC,EAAE,EAAEA,EAAE/sC,EAAE+sC,IAAI1xC,EAAEqsE,EAAE36B,GAAG0c,MAAMl8C,KAAKywC,WAAW,OAAO3iD,CAAC,CAAC,EACxfg1V,KAAKhhC,UAAUi2C,IAAI,SAASv/V,GAAG,IAAI2hE,EAAE1pB,UAAUh+C,EAAE0nE,EAAE/nE,OAAO,OAAO,WAAW,QAAQtE,EAAE,EAAEA,EAAE2E,EAAE3E,IAAI,IAAIqsE,EAAErsE,GAAGouD,MAAMl8C,KAAKywC,WAAW,OAAM,EAAG,OAAM,CAAE,CAAC,EAAEqyS,KAAKhhC,UAAUk2C,GAAG,SAASx/V,GAAG,IAAI2hE,EAAE1pB,UAAUh+C,EAAE0nE,EAAE/nE,OAAO,OAAO,WAAW,QAAQtE,EAAE,EAAEA,EAAE2E,EAAE3E,IAAI,GAAGqsE,EAAErsE,GAAGouD,MAAMl8C,KAAKywC,WAAW,OAAM,EAAG,OAAM,CAAE,CAAC,EAAEqyS,KAAKhhC,UAAUm2C,IAAI,SAASz/V,GAAG,OAAO,WAAW,OAAOA,EAAE0jD,MAAMl8C,KAAKywC,UAAU,CAAC,EACpXqyS,KAAKhhC,UAAUtsR,OAAO,SAASh9B,EAAE2hE,GAAG,IAAI1nE,EAAE,WAAW,EAAEA,SAAEq1C,UAAUtvC,EAAEsvC,UAAUr1C,EAAE,IAAIA,EAAE+F,EAAE0jD,MAAMzpD,EAAEnB,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,IAAWh+C,CAAC,EAAEqwV,KAAKhhC,UAAUo2C,oBAAmB,EAAGpV,KAAKhhC,UAAUq2C,iBAAiB,SAAS3/V,GAAG,IAAS/F,EAAL0nE,GAAE,EAAK,OAAO,WAAW,OAAI2oR,KAAKhhC,UAAUo2C,oBAA8B/9R,IAAI1nE,EAAE+F,IAAI2hE,GAAE,GAAW1nE,GAA3B+F,GAA4B,CAAC,EAAEsqV,KAAKhhC,UAAU5uF,KAAK,SAAS16N,GAAG,IAAI2hE,EAAE3hE,EAAE,OAAO,WAAW,GAAG2hE,EAAE,CAAC,IAAI1nE,EAAE0nE,EAAEA,EAAE,KAAK1nE,GAAG,CAAC,CAAC,EAClaqwV,KAAKhhC,UAAUs2C,SAAS,SAAS5/V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,EAAE,OAAO,SAAS0xC,GAAGsjT,KAAKlsQ,OAAO1gC,aAAapoD,GAAG,IAAIosB,EAAEu2B,UAAU3iD,EAAEg1V,KAAKlsQ,OAAO5pE,WAAW,WAAWxU,EAAE0jD,MAAMzpD,EAAEynB,EAAE,EAAEigD,EAAE,CAAC,EAAE2oR,KAAKhhC,UAAUu2C,SAAS,SAAS7/V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,EAAE0xC,GAAE,EAAGtlB,EAAE,GAAG4iM,EAAE,WAAWhvN,EAAE,EAAE0xC,IAAIA,GAAE,EAAGw0E,IAAI,EAAEA,EAAE,WAAWlmH,EAAEg1V,KAAKlsQ,OAAO5pE,WAAW8vM,EAAE3iJ,GAAG3hE,EAAE0jD,MAAMzpD,EAAEynB,EAAE,EAAE,OAAO,SAASkpB,GAAGlpB,EAAEu2B,UAAU3iD,EAAE0xC,GAAE,EAAGw0E,GAAG,CAAC,EAAE8uO,KAAKhhC,UAAUw2C,UAAU,SAAS9/V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,EAAE0xC,EAAE,WAAW1xC,EAAE,CAAC,EAAE,OAAO,SAASosB,GAAGpsB,IAAIA,EAAEg1V,KAAKlsQ,OAAO5pE,WAAWwyB,EAAE26B,GAAG3hE,EAAE0jD,MAAMzpD,EAAEg+C,WAAW,CAAC,EACnfqyS,KAAKhhC,UAAU9/N,WAAW,SAASxpF,GAAG,MAAM,mBAAoBA,CAAC,EAAEsqV,KAAK3nO,IAAIo9O,QAAQ,WAAW,EAAEzV,KAAK3nO,IAAIo9O,QAAQC,KAAK,SAAShgW,EAAE2hE,GAAG,OAAO3hE,CAAC,EAAEsqV,KAAK3nO,IAAIo9O,QAAQzwT,UAAU3G,SAAS,WAAW,EAAE2hT,KAAK3nO,IAAIo9O,QAAQE,EAAE,IAAI3V,KAAK3nO,IAAIo9O,QAAQG,KAAK,OAAO5V,KAAK3nO,IAAIo9O,QAAQI,QAAQ,UAAU7V,KAAK3nO,IAAIo9O,QAAQK,QAAQ,UAAU9V,KAAK3nO,IAAIo9O,QAAQM,OAAO,SAAS/V,KAAK3nO,IAAIo9O,QAAQO,KAAK,OAAOhW,KAAK3nO,IAAIo9O,QAAQQ,QAAQ,UAAUjW,KAAK3nO,IAAIo9O,QAAQS,MAAM,QAAQlW,KAAK3nO,IAAIo9O,QAAQU,MAAM,QAAQnW,KAAK3nO,IAAIo9O,QAAQW,EAAE,IAAIpW,KAAK3nO,IAAIo9O,QAAQY,KAAK,OAAOrW,KAAK3nO,IAAIo9O,QAAQa,SAAS,WACviBtW,KAAK3nO,IAAIo9O,QAAQc,IAAI,MAAMvW,KAAK3nO,IAAIo9O,QAAQe,IAAI,MAAMxW,KAAK3nO,IAAIo9O,QAAQgB,IAAI,MAAMzW,KAAK3nO,IAAIo9O,QAAQiB,WAAW,aAAa1W,KAAK3nO,IAAIo9O,QAAQkB,KAAK,OAAO3W,KAAK3nO,IAAIo9O,QAAQmB,GAAG,KAAK5W,KAAK3nO,IAAIo9O,QAAQoB,OAAO,SAAS7W,KAAK3nO,IAAIo9O,QAAQqB,OAAO,SAAS9W,KAAK3nO,IAAIo9O,QAAQsB,QAAQ,UAAU/W,KAAK3nO,IAAIo9O,QAAQuB,OAAO,SAAShX,KAAK3nO,IAAIo9O,QAAQwB,KAAK,OAAOjX,KAAK3nO,IAAIo9O,QAAQyB,KAAK,OAAOlX,KAAK3nO,IAAIo9O,QAAQ0B,IAAI,MAAMnX,KAAK3nO,IAAIo9O,QAAQ2B,SAAS,WAAWpX,KAAK3nO,IAAIo9O,QAAQ4B,QAAQ,UAAUrX,KAAK3nO,IAAIo9O,QAAQ6B,KAAK,OACzetX,KAAK3nO,IAAIo9O,QAAQ8B,SAAS,WAAWvX,KAAK3nO,IAAIo9O,QAAQ+B,GAAG,KAAKxX,KAAK3nO,IAAIo9O,QAAQgC,IAAI,MAAMzX,KAAK3nO,IAAIo9O,QAAQiC,QAAQ,UAAU1X,KAAK3nO,IAAIo9O,QAAQkC,IAAI,MAAM3X,KAAK3nO,IAAIo9O,QAAQmC,OAAO,SAAS5X,KAAK3nO,IAAIo9O,QAAQoC,IAAI,MAAM7X,KAAK3nO,IAAIo9O,QAAQqC,IAAI,MAAM9X,KAAK3nO,IAAIo9O,QAAQsC,GAAG,KAAK/X,KAAK3nO,IAAIo9O,QAAQuC,GAAG,KAAKhY,KAAK3nO,IAAIo9O,QAAQwC,GAAG,KAAKjY,KAAK3nO,IAAIo9O,QAAQyC,MAAM,QAAQlY,KAAK3nO,IAAIo9O,QAAQ0C,SAAS,WAAWnY,KAAK3nO,IAAIo9O,QAAQ2C,WAAW,aAAapY,KAAK3nO,IAAIo9O,QAAQ4C,OAAO,SAASrY,KAAK3nO,IAAIo9O,QAAQ6C,KAAK,OAC7dtY,KAAK3nO,IAAIo9O,QAAQ8C,OAAO,SAASvY,KAAK3nO,IAAIo9O,QAAQ+C,KAAK,OAAOxY,KAAK3nO,IAAIo9O,QAAQgD,MAAM,QAAQzY,KAAK3nO,IAAIo9O,QAAQiD,SAAS,WAAW1Y,KAAK3nO,IAAIo9O,QAAQkD,GAAG,KAAK3Y,KAAK3nO,IAAIo9O,QAAQmD,GAAG,KAAK5Y,KAAK3nO,IAAIo9O,QAAQoD,GAAG,KAAK7Y,KAAK3nO,IAAIo9O,QAAQqD,GAAG,KAAK9Y,KAAK3nO,IAAIo9O,QAAQsD,GAAG,KAAK/Y,KAAK3nO,IAAIo9O,QAAQuD,GAAG,KAAKhZ,KAAK3nO,IAAIo9O,QAAQwD,KAAK,OAAOjZ,KAAK3nO,IAAIo9O,QAAQyD,OAAO,SAASlZ,KAAK3nO,IAAIo9O,QAAQ0D,OAAO,SAASnZ,KAAK3nO,IAAIo9O,QAAQ2D,GAAG,KAAKpZ,KAAK3nO,IAAIo9O,QAAQ4D,KAAK,OAAOrZ,KAAK3nO,IAAIo9O,QAAQ6D,EAAE,IAAItZ,KAAK3nO,IAAIo9O,QAAQ8D,OAAO,SAC5dvZ,KAAK3nO,IAAIo9O,QAAQ+D,IAAI,MAAMxZ,KAAK3nO,IAAIo9O,QAAQgE,MAAM,QAAQzZ,KAAK3nO,IAAIo9O,QAAQiE,IAAI,MAAM1Z,KAAK3nO,IAAIo9O,QAAQkE,QAAQ,UAAU3Z,KAAK3nO,IAAIo9O,QAAQmE,IAAI,MAAM5Z,KAAK3nO,IAAIo9O,QAAQoE,OAAO,SAAS7Z,KAAK3nO,IAAIo9O,QAAQqE,MAAM,QAAQ9Z,KAAK3nO,IAAIo9O,QAAQsE,OAAO,SAAS/Z,KAAK3nO,IAAIo9O,QAAQhiC,GAAG,KAAKusB,KAAK3nO,IAAIo9O,QAAQuE,KAAK,OAAOha,KAAK3nO,IAAIo9O,QAAQwE,KAAK,OAAOja,KAAK3nO,IAAIo9O,QAAQyE,IAAI,MAAMla,KAAK3nO,IAAIo9O,QAAQ0E,KAAK,OAAOna,KAAK3nO,IAAIo9O,QAAQ2E,KAAK,OAAOpa,KAAK3nO,IAAIo9O,QAAQ4E,KAAK,OAAOra,KAAK3nO,IAAIo9O,QAAQ6E,SAAS,WAAWta,KAAK3nO,IAAIo9O,QAAQ8E,KAAK,OACpfva,KAAK3nO,IAAIo9O,QAAQ+E,MAAM,QAAQxa,KAAK3nO,IAAIo9O,QAAQgF,IAAI,MAAMza,KAAK3nO,IAAIo9O,QAAQiF,SAAS,WAAW1a,KAAK3nO,IAAIo9O,QAAQkF,SAAS,WAAW3a,KAAK3nO,IAAIo9O,QAAQ7mC,OAAO,SAASoxB,KAAK3nO,IAAIo9O,QAAQmF,GAAG,KAAK5a,KAAK3nO,IAAIo9O,QAAQoF,SAAS,WAAW7a,KAAK3nO,IAAIo9O,QAAQqF,OAAO,SAAS9a,KAAK3nO,IAAIo9O,QAAQsF,OAAO,SAAS/a,KAAK3nO,IAAIo9O,QAAQpjC,EAAE,IAAI2tB,KAAK3nO,IAAIo9O,QAAQuF,MAAM,QAAQhb,KAAK3nO,IAAIo9O,QAAQwF,QAAQ,UAAUjb,KAAK3nO,IAAIo9O,QAAQyF,IAAI,MAAMlb,KAAK3nO,IAAIo9O,QAAQ0F,SAAS,WAAWnb,KAAK3nO,IAAIo9O,QAAQ2F,EAAE,IAAIpb,KAAK3nO,IAAIo9O,QAAQriC,GAAG,KACze4sB,KAAK3nO,IAAIo9O,QAAQtiC,GAAG,KAAK6sB,KAAK3nO,IAAIo9O,QAAQ4F,IAAI,MAAMrb,KAAK3nO,IAAIo9O,QAAQ6F,KAAK,OAAOtb,KAAK3nO,IAAIo9O,QAAQhjB,EAAE,IAAIuN,KAAK3nO,IAAIo9O,QAAQ8F,KAAK,OAAOvb,KAAK3nO,IAAIo9O,QAAQ+F,OAAO,SAASxb,KAAK3nO,IAAIo9O,QAAQgG,QAAQ,UAAUzb,KAAK3nO,IAAIo9O,QAAQiG,OAAO,SAAS1b,KAAK3nO,IAAIo9O,QAAQkG,MAAM,QAAQ3b,KAAK3nO,IAAIo9O,QAAQmG,OAAO,SAAS5b,KAAK3nO,IAAIo9O,QAAQoG,KAAK,OAAO7b,KAAK3nO,IAAIo9O,QAAQqG,OAAO,SAAS9b,KAAK3nO,IAAIo9O,QAAQsG,OAAO,SAAS/b,KAAK3nO,IAAIo9O,QAAQuG,MAAM,QAAQhc,KAAK3nO,IAAIo9O,QAAQwG,IAAI,MAAMjc,KAAK3nO,IAAIo9O,QAAQyG,QAAQ,UAC5dlc,KAAK3nO,IAAIo9O,QAAQ0G,IAAI,MAAMnc,KAAK3nO,IAAIo9O,QAAQ2G,IAAI,MAAMpc,KAAK3nO,IAAIo9O,QAAQ4G,MAAM,QAAQrc,KAAK3nO,IAAIo9O,QAAQ6G,MAAM,QAAQtc,KAAK3nO,IAAIo9O,QAAQ3hC,GAAG,KAAKksB,KAAK3nO,IAAIo9O,QAAQ8G,SAAS,WAAWvc,KAAK3nO,IAAIo9O,QAAQ+G,SAAS,WAAWxc,KAAK3nO,IAAIo9O,QAAQgH,MAAM,QAAQzc,KAAK3nO,IAAIo9O,QAAQ5hC,GAAG,KAAKmsB,KAAK3nO,IAAIo9O,QAAQiH,MAAM,QAAQ1c,KAAK3nO,IAAIo9O,QAAQkH,KAAK,OAAO3c,KAAK3nO,IAAIo9O,QAAQmH,MAAM,QAAQ5c,KAAK3nO,IAAIo9O,QAAQ7hC,GAAG,KAAKosB,KAAK3nO,IAAIo9O,QAAQoH,MAAM,QAAQ7c,KAAK3nO,IAAIo9O,QAAQqH,GAAG,KAAK9c,KAAK3nO,IAAIo9O,QAAQsH,EAAE,IAAI/c,KAAK3nO,IAAIo9O,QAAQuH,GAAG,KACtehd,KAAK3nO,IAAIo9O,QAAQwH,IAAI,MAAMjd,KAAK3nO,IAAIo9O,QAAQyH,MAAM,QAAQld,KAAK3nO,IAAIo9O,QAAQ0H,IAAI,MAAMnd,KAAKt9P,OAAO,CAAC,EAAEs9P,KAAKt9P,OAAOp6D,QAAQ,SAAS5yB,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,KAAK0K,EAAE2hE,EAAEzR,KAAKj2D,EAAE+F,EAAE1K,GAAGA,EAAE0K,EAAE,EAAEsqV,KAAKt9P,OAAO93F,OAAO,SAAS8K,EAAE2hE,EAAE1nE,GAAG,IAAS+sC,EAAL1xC,EAAE,CAAC,EAAI,IAAI0xC,KAAKhnC,EAAE2hE,EAAEzR,KAAKj2D,EAAE+F,EAAEgnC,GAAGA,EAAEhnC,KAAK1K,EAAE0xC,GAAGhnC,EAAEgnC,IAAI,OAAO1xC,CAAC,EAAEg1V,KAAKt9P,OAAO33F,IAAI,SAAS2K,EAAE2hE,EAAE1nE,GAAG,IAAS+sC,EAAL1xC,EAAE,CAAC,EAAI,IAAI0xC,KAAKhnC,EAAE1K,EAAE0xC,GAAG26B,EAAEzR,KAAKj2D,EAAE+F,EAAEgnC,GAAGA,EAAEhnC,GAAG,OAAO1K,CAAC,EAAEg1V,KAAKt9P,OAAOh0F,KAAK,SAASgH,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,KAAK0K,EAAE,GAAG2hE,EAAEzR,KAAKj2D,EAAE+F,EAAE1K,GAAGA,EAAE0K,GAAG,OAAM,EAAG,OAAM,CAAE,EAAEsqV,KAAKt9P,OAAO9rD,MAAM,SAASlhC,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,KAAK0K,EAAE,IAAI2hE,EAAEzR,KAAKj2D,EAAE+F,EAAE1K,GAAGA,EAAE0K,GAAG,OAAM,EAAG,OAAM,CAAE,EACxhBsqV,KAAKt9P,OAAO06Q,SAAS,SAAS1nW,GAAG,IAAQ/F,EAAJ0nE,EAAE,EAAI,IAAI1nE,KAAK+F,EAAE2hE,IAAI,OAAOA,CAAC,EAAE2oR,KAAKt9P,OAAO26Q,UAAU,SAAS3nW,GAAG,QAAQ2hE,KAAK3hE,EAAE,OAAO2hE,CAAC,EAAE2oR,KAAKt9P,OAAO46Q,YAAY,SAAS5nW,GAAG,QAAQ2hE,KAAK3hE,EAAE,OAAOA,EAAE2hE,EAAE,EAAE2oR,KAAKt9P,OAAO52D,SAAS,SAASp2B,EAAE2hE,GAAG,OAAO2oR,KAAKt9P,OAAO66Q,cAAc7nW,EAAE2hE,EAAE,EAAE2oR,KAAKt9P,OAAO86Q,UAAU,SAAS9nW,GAAG,IAAa1K,EAATqsE,EAAE,GAAG1nE,EAAE,EAAI,IAAI3E,KAAK0K,EAAE2hE,EAAE1nE,KAAK+F,EAAE1K,GAAG,OAAOqsE,CAAC,EAAE2oR,KAAKt9P,OAAO+6Q,QAAQ,SAAS/nW,GAAG,IAAa1K,EAATqsE,EAAE,GAAG1nE,EAAE,EAAI,IAAI3E,KAAK0K,EAAE2hE,EAAE1nE,KAAK3E,EAAE,OAAOqsE,CAAC,EACta2oR,KAAKt9P,OAAOg7Q,eAAe,SAAShoW,EAAE2hE,GAAG,IAAI1nE,EAAEqwV,KAAKqE,YAAYhtR,GAAGrsE,EAAE2E,EAAE0nE,EAAE1pB,UAAU,IAAIh+C,EAAEA,EAAE,EAAE,EAAEA,EAAE3E,EAAEsE,OAAOK,IAAI,CAAC,GAAG,MAAM+F,EAAE,OAAOA,EAAEA,EAAE1K,EAAE2E,GAAG,CAAC,OAAO+F,CAAC,EAAEsqV,KAAKt9P,OAAOi7Q,YAAY,SAASjoW,EAAE2hE,GAAG,OAAO,OAAO3hE,GAAG2hE,KAAK3hE,CAAC,EAAEsqV,KAAKt9P,OAAO66Q,cAAc,SAAS7nW,EAAE2hE,GAAG,QAAQ1nE,KAAK+F,EAAE,GAAGA,EAAE/F,IAAI0nE,EAAE,OAAM,EAAG,OAAM,CAAE,EAAE2oR,KAAKt9P,OAAOk7Q,QAAQ,SAASloW,EAAE2hE,EAAE1nE,GAAG,QAAQ3E,KAAK0K,EAAE,GAAG2hE,EAAEzR,KAAKj2D,EAAE+F,EAAE1K,GAAGA,EAAE0K,GAAG,OAAO1K,CAAC,EAAEg1V,KAAKt9P,OAAOm7Q,UAAU,SAASnoW,EAAE2hE,EAAE1nE,GAAG,OAAO0nE,EAAE2oR,KAAKt9P,OAAOk7Q,QAAQloW,EAAE2hE,EAAE1nE,KAAK+F,EAAE2hE,EAAE,EAC5c2oR,KAAKt9P,OAAO0yF,QAAQ,SAAS1/K,GAAG,QAAQ2hE,KAAK3hE,EAAE,OAAM,EAAG,OAAM,CAAE,EAAEsqV,KAAKt9P,OAAOzwC,MAAM,SAASv8C,GAAG,QAAQ2hE,KAAK3hE,SAASA,EAAE2hE,EAAE,EAAE2oR,KAAKt9P,OAAOx9D,OAAO,SAASxvB,EAAE2hE,GAAG,IAAI1nE,EAAE,OAACA,EAAE0nE,KAAK3hE,WAAWA,EAAE2hE,GAAU1nE,CAAC,EAAEqwV,KAAKt9P,OAAOz5E,IAAI,SAASvT,EAAE2hE,EAAE1nE,GAAG,GAAG,OAAO+F,GAAG2hE,KAAK3hE,EAAE,MAAMqvC,MAAM,wCAAwCsyB,EAAE,KAAK2oR,KAAKt9P,OAAOtiD,IAAI1qC,EAAE2hE,EAAE1nE,EAAE,EAAEqwV,KAAKt9P,OAAO98E,IAAI,SAASlQ,EAAE2hE,EAAE1nE,GAAG,OAAO,OAAO+F,GAAG2hE,KAAK3hE,EAAEA,EAAE2hE,GAAG1nE,CAAC,EAAEqwV,KAAKt9P,OAAOtiD,IAAI,SAAS1qC,EAAE2hE,EAAE1nE,GAAG+F,EAAE2hE,GAAG1nE,CAAC,EAClbqwV,KAAKt9P,OAAOo7Q,eAAe,SAASpoW,EAAE2hE,EAAE1nE,GAAG,OAAO0nE,KAAK3hE,EAAEA,EAAE2hE,GAAG3hE,EAAE2hE,GAAG1nE,CAAC,EAAEqwV,KAAKt9P,OAAOq7Q,2BAA2B,SAASroW,EAAE2hE,EAAE1nE,GAAG,OAAG0nE,KAAK3hE,EAASA,EAAE2hE,IAAG1nE,EAAEA,IAAW+F,EAAE2hE,GAAG1nE,EAAC,EAAEqwV,KAAKt9P,OAAO8vQ,OAAO,SAAS98V,EAAE2hE,GAAG,QAAQ1nE,KAAK+F,EAAE,KAAK/F,KAAK0nE,IAAI3hE,EAAE/F,KAAK0nE,EAAE1nE,GAAG,OAAM,EAAG,QAAQ3E,KAAKqsE,EAAE,KAAKrsE,KAAK0K,GAAG,OAAM,EAAG,OAAM,CAAE,EAAEsqV,KAAKt9P,OAAO79D,MAAM,SAASnvB,GAAG,IAAS/F,EAAL0nE,EAAE,CAAC,EAAI,IAAI1nE,KAAK+F,EAAE2hE,EAAE1nE,GAAG+F,EAAE/F,GAAG,OAAO0nE,CAAC,EAChX2oR,KAAKt9P,OAAOs7Q,YAAY,SAAStoW,GAAG,IAAIA,GAAG,iBAAkBA,EAAE,OAAOA,EAAE,GAAG,mBAAoBA,EAAEmvB,MAAM,OAAOnvB,EAAEmvB,QAAQ,IAAgLl1B,EAA5K0nE,EAAE7oE,MAAMC,QAAQiH,GAAG,GAAG,mBAAoB0yO,aAAa,mBAAoBA,YAAYC,SAASD,YAAYC,OAAO3yO,IAAIA,aAAauoW,SAAS,CAAC,EAAE,IAAIvoW,EAAEiH,YAAYjH,EAAEpG,QAAU,IAAIK,KAAK+F,EAAE2hE,EAAE1nE,GAAGqwV,KAAKt9P,OAAOs7Q,YAAYtoW,EAAE/F,IAAI,OAAO0nE,CAAC,EAAE2oR,KAAKt9P,OAAOq4H,UAAU,SAASrlN,GAAG,IAAS/F,EAAL0nE,EAAE,CAAC,EAAI,IAAI1nE,KAAK+F,EAAE2hE,EAAE3hE,EAAE/F,IAAIA,EAAE,OAAO0nE,CAAC,EAAE2oR,KAAKt9P,OAAOw7Q,kBAAkB,gGAAgG71U,MAAM,KACljB23T,KAAKt9P,OAAOsvQ,OAAO,SAASt8V,EAAE2hE,GAAG,QAAQ1nE,EAAE3E,EAAE0xC,EAAE,EAAEA,EAAEiR,UAAUr+C,OAAOotC,IAAI,CAAgB,IAAI/sC,KAAnB3E,EAAE2iD,UAAUjR,GAAchnC,EAAE/F,GAAG3E,EAAE2E,GAAG,QAAQynB,EAAE,EAAEA,EAAE4oU,KAAKt9P,OAAOw7Q,kBAAkB5uW,OAAO8nB,IAAIznB,EAAEqwV,KAAKt9P,OAAOw7Q,kBAAkB9mV,GAAGkV,OAAO0Y,UAAU8qB,eAAelK,KAAK56D,EAAE2E,KAAK+F,EAAE/F,GAAG3E,EAAE2E,GAAG,CAAC,EAC9PqwV,KAAKt9P,OAAOhwD,OAAO,SAASh9B,GAAG,IAAI2hE,EAAE1pB,UAAUr+C,OAAO,GAAG,GAAG+nE,GAAG7oE,MAAMC,QAAQk/C,UAAU,IAAI,OAAOqyS,KAAKt9P,OAAOhwD,OAAO0mB,MAAM,KAAKzL,UAAU,IAAI,GAAG0pB,EAAE,EAAE,MAAMtyB,MAAM,8BAA8B,QAAQp1C,EAAE,CAAC,EAAE3E,EAAE,EAAEA,EAAEqsE,EAAErsE,GAAG,EAAE2E,EAAEg+C,UAAU3iD,IAAI2iD,UAAU3iD,EAAE,GAAG,OAAO2E,CAAC,EAAEqwV,KAAKt9P,OAAOy7Q,UAAU,SAASzoW,GAAG,IAAI2hE,EAAE1pB,UAAUr+C,OAAO,GAAG,GAAG+nE,GAAG7oE,MAAMC,QAAQk/C,UAAU,IAAI,OAAOqyS,KAAKt9P,OAAOy7Q,UAAU/kT,MAAM,KAAKzL,UAAU,IAAI,QAAQh+C,EAAE,CAAC,EAAE3E,EAAE,EAAEA,EAAEqsE,EAAErsE,IAAI2E,EAAEg+C,UAAU3iD,KAAI,EAAG,OAAO2E,CAAC,EAC1cqwV,KAAKt9P,OAAO07Q,oBAAoB,SAAS1oW,GAAG,IAAI2hE,EAAE3hE,EAAE42B,cAAO+xU,WAAW/xU,OAAO+xU,SAAS3oW,KAAK2hE,EAAE/qC,OAAOoG,OAAOh9B,GAAG42B,OAAO2xD,OAAO5mB,IAAWA,CAAC,EAAE2oR,KAAKt9P,OAAO47Q,gBAAgB,SAAS5oW,GAAG,QAAQ42B,OAAO+xU,UAAU/xU,OAAO+xU,SAAS3oW,EAAE,EAC7NsqV,KAAKt9P,OAAO67Q,oBAAoB,SAAS7oW,EAAE2hE,EAAE1nE,GAAG,IAAI+F,EAAE,MAAM,GAAG,IAAI42B,OAAO6lB,sBAAsB7lB,OAAOmnD,eAAe,OAAOusQ,KAAKt9P,OAAO+6Q,QAAQ/nW,GAAG,QAAQ1K,EAAE,CAAC,EAAE0K,IAAIA,IAAI42B,OAAO0Y,WAAWqyB,KAAK3hE,IAAI2+E,SAASrvC,WAAWr1C,IAAI,CAAC,QAAQ+sC,EAAEpQ,OAAO6lB,oBAAoBz8C,GAAG0hB,EAAE,EAAEA,EAAEslB,EAAEptC,OAAO8nB,IAAIpsB,EAAE0xC,EAAEtlB,KAAI,EAAG1hB,EAAE42B,OAAOmnD,eAAe/9E,EAAE,CAAC,OAAOsqV,KAAKt9P,OAAO+6Q,QAAQzyW,EAAE,EAAEg1V,KAAKt9P,OAAO87Q,cAAc,SAAS9oW,GAAG,OAAOA,EAAE42B,OAAOmnD,eAAe/9E,EAAEsvC,aAAatvC,EAAEiH,WAAW,EAAEqjV,KAAK3nO,IAAInmB,KAAK,CAAC,EAAE8tP,KAAK3nO,IAAInmB,KAAKusQ,WAAW,CAAC/+L,MAAK,EAAGhN,MAAK,EAAG8tG,IAAG,EAAG0rB,KAAI,EAAGvgH,SAAQ,EAAG+yL,OAAM,EAAGC,IAAG,EAAGtkM,KAAI,EAAGvuH,OAAM,EAAG8yT,QAAO,EAAG5nU,MAAK,EAAG8vK,MAAK,EAAG9sJ,OAAM,EAAGhJ,QAAO,EAAG2qF,OAAM,EAAGkjO,KAAI,GAAI7e,KAAK3nO,IAAInmB,KAAK4sQ,UAAU,SAASppW,GAAG,OAAM,IAAKsqV,KAAK3nO,IAAInmB,KAAKusQ,WAAW/oW,EAAE,EAAEsqV,KAAKjF,OAAO,CAAC,EAAEiF,KAAKjF,OAAOgkB,YAAY,WAAW,EAAE/e,KAAKjF,OAAOikB,MAAM,SAAStpW,EAAE2hE,GAAGn6D,KAAK+hW,iEAAiEvpW,IAAIsqV,KAAKjF,OAAOikB,MAAME,wCAAwC7nS,GAAG,GAAGn6D,KAAKiiW,wDAAwDnf,KAAKjF,OAAOikB,MAAMI,YAAY,EAAEpf,KAAKjF,OAAOikB,MAAMh6T,UAAUq6T,iCAAgC,EAAGrf,KAAKjF,OAAOikB,MAAMh6T,UAAUs6T,oBAAoB,WAAW,OAAOpiW,KAAK+hW,gEAAgE,EAC7rCjf,KAAKr6S,QAAQq6S,KAAKjF,OAAOikB,MAAMh6T,UAAU3G,SAAS,WAAW,MAAM,SAASnhC,KAAK+hW,iEAAiE,GAAG,GAAGjf,KAAKjF,OAAOikB,MAAMO,OAAO,SAAS7pW,GAAG,OAAGA,aAAasqV,KAAKjF,OAAOikB,OAAOtpW,EAAEiH,cAAcqjV,KAAKjF,OAAOikB,OAAOtpW,EAAEypW,0DAA0Dnf,KAAKjF,OAAOikB,MAAMI,aAAoB1pW,EAAEupW,kEAAiEjf,KAAK8L,QAAQ98P,KAAK,uCAAuCt5F,EAAE,KAAW,mBAAkB,EAChgBsqV,KAAKjF,OAAOikB,MAAM5qS,KAAK,SAAS1+D,GAAG,OAAO,IAAIsqV,KAAKjF,OAAOikB,MAAMhf,KAAKjF,OAAOikB,MAAME,uCAAuCxpW,EAAE,EAAEsqV,KAAKjF,OAAOikB,MAAMI,aAAa,CAAC,EAAEpf,KAAKjF,OAAOikB,MAAME,uCAAuC,CAAC,EAAElf,KAAKjF,OAAOikB,MAAMhvU,MAAMgwT,KAAKjF,OAAOikB,MAAM5qS,KAAK,IAAI4rR,KAAK3kU,KAAK,CAAC,EAAE2kU,KAAK3kU,KAAKmkV,aAAa,CAAC,EAAExf,KAAK3kU,KAAKmkV,aAAaC,kCAAkC,WAAW,OAAIzf,KAAK4K,gCAAsC,IAAS5K,KAAK3kU,KAAKmkV,aAAaE,gBAAgB1f,KAAK3kU,KAAKmkV,aAAaE,cAAc1f,KAAK6K,yBAAyB7K,KAAK4K,0BAA0B,UAAiB5K,KAAK3kU,KAAKmkV,aAAaE,eAA/L,IAA4M,EAAE,IAAIC,+DAA+D,CAAC,EAAEC,gDAAgD,SAASlqW,EAAE2hE,GAAGn6D,KAAK2iW,gDAAgDxoS,IAAIsoS,+DAA+DjqW,EAAE,GAAGwH,KAAKmiW,iCAAgC,CAAE,EAAEO,gDAAgDE,aAAa,SAASpqW,GAAGA,OAAqC,KAArCA,EAAEsqV,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAgBpG,OAAOswW,gDAAgD5vU,MAAM4vU,gDAAgDG,iDAAiDrqW,EAAE,EAC/qCkqW,gDAAgDI,oBAAoB,SAAStqW,EAAE2hE,GAAG,QAAQ1nE,EAAE,GAAG3E,EAAE,EAAEA,EAAE2iD,UAAUr+C,OAAOtE,IAAI2E,EAAEqvC,KAAK4gU,gDAAgDK,WAAWtyT,UAAU3iD,KAAK,OAAO40W,gDAAgDG,iDAAiD,IAAI/f,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,KAAK/F,EAAEi5C,KAAK,MAAM,KAAK,EAAEg3T,gDAAgDM,SAAS,SAASxqW,GAAG,OAAOkqW,gDAAgDG,iDAAiDH,gDAAgDK,WAAWvqW,GAAG,EACvlBkqW,gDAAgD56T,UAAUs6T,oBAAoB,WAAW,OAAOpiW,KAAK2iW,gDAAgDxhU,UAAU,EAAEuhU,gDAAgDL,OAAO,SAAS7pW,GAAG,OAAOkqW,gDAAgDO,oBAAoBzqW,GAAG2oC,UAAU,EAC5TuhU,gDAAgDO,oBAAoB,SAASzqW,GAAG,OAAGA,aAAakqW,iDAAiDlqW,EAAEiH,cAAcijW,gDAAuDlqW,EAAEmqW,oDAAmD7f,KAAK8L,QAAQ98P,MAAM,4CAA4Ct5F,EAAE,aAAasqV,KAAKoE,OAAO1uV,IAAU,wBAAuB,EACxYkqW,gDAAgDK,WAAW,SAASvqW,GAAG,OAAOgF,KAAKutC,UAAUvyC,GAAG6V,QAAQ,KAAK,QAAQ,EAAEq0V,gDAAgDG,iDAAiD,SAASrqW,GAAG,IAAI2hE,EAAE2oR,KAAK3kU,KAAKmkV,aAAaC,oCAAoC/pW,SAAE2hE,EAAEA,EAAE6yR,aAAax0V,GAAGA,EAAS,IAAIkqW,gDAAgDlqW,EAAEiqW,+DAA+D,EACzb3f,KAAKr6S,QAAQi6T,gDAAgD56T,UAAU3G,SAAS,WAAW,MAAM,cAAcnhC,KAAK2iW,gDAAgD,GAAG,GAAGD,gDAAgD5vU,MAAwB4vU,gDAAgDG,iDAAiD,IAAO/f,KAAK3kU,KAAK+kV,WAAWR,gDAAgD5f,KAAKnwG,GAAG,CAAC,EAAEmwG,KAAKnwG,GAAG/3M,IAAI,CAAC,EAAEkoT,KAAKnwG,GAAG/3M,IAAIuoU,gBAAgB,SAAS3qW,GAAG,OAAOsqV,KAAKnwG,GAAG/3M,IAAIwoU,gBAAgBtvM,gBAAgBt7J,EAAE,EAAEsqV,KAAKnwG,GAAG/3M,IAAIyoU,gBAAgB,SAAS7qW,GAAGsqV,KAAKnwG,GAAG/3M,IAAIwoU,gBAAgBE,gBAAgB9qW,EAAE,EAAEsqV,KAAKnwG,GAAG/3M,IAAI2oU,WAAW,WAAW,EAAEzgB,KAAKnwG,GAAG/3M,IAAI2oU,WAAWz7T,UAAUgsH,gBAAgB,SAASt7J,GAAG,EAAEsqV,KAAKnwG,GAAG/3M,IAAI2oU,WAAWz7T,UAAUw7T,gBAAgB,SAAS9qW,GAAG,EAChxBsqV,KAAKnwG,GAAG/3M,IAAIwoU,cAAc,WAAW,IAAI5qW,EAAEsqV,KAAKnwG,GAAG/3M,IAAI4oU,iBAAiB,GAAG,MAAMhrW,EAAE,OAAOA,EAAE,MAAMqvC,MAAM,iDAAkD,EAAEi7S,KAAKnwG,GAAG/3M,IAAI4oU,eAAe,WAAW,YAAO,IAAS1gB,KAAKlsQ,OAAOllC,UAAK,IAASoxS,KAAKlsQ,OAAOllC,IAAIoiH,gBAAgBgvL,KAAKlsQ,OAAOllC,SAAI,IAASoxS,KAAKlsQ,OAAO6sR,gBAAW,IAAS3gB,KAAKlsQ,OAAO6sR,UAAU3vM,gBAAgBgvL,KAAKlsQ,OAAO6sR,eAAU,IAAS3gB,KAAKlsQ,OAAOk9E,gBAAgBgvL,KAAKlsQ,OAAO,IAAI,EACtbksQ,KAAKnwG,GAAG/3M,IAAI8oU,0BAA0B,WAAW,OAAO,MAAM5gB,KAAKnwG,GAAG/3M,IAAI4oU,gBAAgB,EAAE1gB,KAAKnwG,GAAGvyB,KAAK,CAAC,EAAE0iI,KAAKnwG,GAAGvyB,KAAKujJ,QAAQ,SAASnrW,GAAG,IAAI2hE,EAAE2oR,KAAKlsQ,OAAOgtR,aAAa9gB,KAAKlsQ,OAAOitR,kBAAkB,QAAG,IAAS1pS,EAAE,CAACA,EAAE,IAAIA,EAAE,QAAQ1nE,EAAE,EAAEA,EAAEg+C,UAAUr+C,OAAOK,IAAI0nE,EAAE3d,OAAO/L,UAAUh+C,IAAI,OAAO0nE,EAAEwpS,SAAS,CAAC,OAAO7gB,KAAKnwG,GAAGvyB,KAAK0jJ,sBAAsBvR,mCAAmC9hT,WAAW,EACtYqyS,KAAKnwG,GAAGvyB,KAAK0jJ,sBAAsB,SAAStrW,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAEg1V,KAAKlsQ,OAAOgtR,aAAa9gB,KAAKlsQ,OAAOitR,kBAAkB,QAAG,IAAS/1W,EAAE,CAACA,EAAE,IAAIA,EAAE,QAAQ0xC,EAAE,EAAEA,EAAEhnC,EAAEpG,OAAOotC,IAAI1xC,EAAE0uD,OAAOhkD,EAAEgnC,GAAG/sC,GAAG,OAAO3E,EAAE61W,QAAQxpS,EAAE,CAAC,QAAG,IAAS2oR,KAAKlsQ,OAAOk8C,KAAK,OAAOhlI,EAAE,CAAC,EAAEqsE,IAAIrsE,EAAEmgB,KAAKksD,GAAG1nE,IAAI3E,EAAEi2W,QAAQtxW,GAAG,IAAIqgI,KAAKt6H,EAAE1K,GAAG,MAAM+5C,MAAM,sDAAuD,EAAEi7S,KAAKzwU,KAAK,CAAC,EAAEywU,KAAKzwU,KAAK2xV,KAAK,CAAC,EAAElhB,KAAKzwU,KAAK2xV,KAAKC,WAAU,EAC1ZnhB,KAAKzwU,KAAK2xV,KAAKE,OAAOphB,KAAKzwU,KAAK2xV,KAAKC,YAAY,MAAMnhB,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,MAAMw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,MAAMw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,MAAMw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,MAAMw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,MAAMw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,MAAMw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,MAAMw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,MAAMw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,iBAAiB,GAAGw4V,KAAKx/U,OAAOlR,QAClf,KAAK0wV,KAAKx/U,OAAO+R,UAAU,EAAE,IAAI,KAAKytU,KAAKx/U,OAAO+R,UAAU,EAAE,KAAK,GAAGytU,KAAKx/U,OAAOlR,QAAQ,OAAO0wV,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,gBAAgB,GAAGw4V,KAAKx/U,OAAOlR,QAAQ,KAAK0wV,KAAKx/U,OAAO+R,UAAU,EAAE,IAAI,KAAKytU,KAAKx/U,OAAO+R,UAAU,EAAE,KAAK,GAAGytU,KAAKx/U,OAAOlR,SAAS,KAAK0wV,KAAKx/U,OAAO+R,UAAU,EAAE,IAAI,KAAKytU,KAAKx/U,OAAO+R,UAAU,EAAE,MAAM,QAAQytU,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EACtf,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,gBAAgB,GAAGw4V,KAAKx/U,OAAOlR,SAAS,KAAK0wV,KAAKx/U,OAAO+R,UAAU,EAAE,IAAI,KAAKytU,KAAKx/U,OAAO+R,UAAU,EAAE,MAAM,QAAQytU,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAAe,QAAQw4V,KAAKx/U,OAAO+R,UAAU,EAAE,GAAG/qB,eAChfw4V,KAAKzwU,KAAK2xV,KAAKG,OAAO,CAACC,IAAI,SAASC,IAAI,SAASrkJ,IAAI,SAASskJ,IAAI,SAASC,IAAI,UAAUzhB,KAAKzwU,KAAK2xV,KAAKQ,IAAI,CAACC,IAAI,EAAEC,KAAI,EAAGC,QAAQ,GAAG7hB,KAAKzwU,KAAK2xV,KAAKY,MAAM,QAAQ9hB,KAAKzwU,KAAK2xV,KAAKa,KAAK,OAAO/hB,KAAKzwU,KAAK2xV,KAAKc,WAAWhiB,KAAKzwU,KAAK2xV,KAAKE,OAAOphB,KAAKzwU,KAAK2xV,KAAKa,KAAK/hB,KAAKzwU,KAAK2xV,KAAKY,MAAM9hB,KAAKzwU,KAAK2xV,KAAKe,UAAUjiB,KAAKzwU,KAAK2xV,KAAKE,OAAOphB,KAAKzwU,KAAK2xV,KAAKY,MAAM9hB,KAAKzwU,KAAK2xV,KAAKa,KACzW/hB,KAAKzwU,KAAK2xV,KAAKgB,MAAM,SAASxsW,EAAE2hE,GAAG,MAAM,iBAAiB3hE,EAAE,EAAEA,EAAEsqV,KAAKzwU,KAAK2xV,KAAKQ,IAAIC,IAAI,EAAEjsW,EAAEsqV,KAAKzwU,KAAK2xV,KAAKQ,IAAIE,IAAIvqS,EAAE,KAAK2oR,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,QAAQ,MAAMnsW,EAAE,KAAKA,EAAEsqV,KAAKzwU,KAAK2xV,KAAKQ,IAAIE,IAAI5hB,KAAKzwU,KAAK2xV,KAAKQ,IAAIC,GAAG,EAAE3hB,KAAKzwU,KAAK2xV,KAAKiB,UAAU,oJAA8JniB,KAAKzwU,KAAK2xV,KAAKkB,UAAU,uFAClapiB,KAAKzwU,KAAK2xV,KAAKmB,aAAa,mBAAmBriB,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB,SAAS5sW,EAAE2hE,GAAG,OAAOA,EAAE3hE,EAAE6V,QAAQy0U,KAAKzwU,KAAK2xV,KAAKmB,aAAa,IAAI3sW,CAAC,EAAEsqV,KAAKzwU,KAAK2xV,KAAKqB,YAAY,IAAI71R,OAAO,IAAIszQ,KAAKzwU,KAAK2xV,KAAKkB,UAAU,KAAKpiB,KAAKzwU,KAAK2xV,KAAKsB,YAAY,IAAI91R,OAAO,IAAIszQ,KAAKzwU,KAAK2xV,KAAKiB,UAAU,KAAKniB,KAAKzwU,KAAK2xV,KAAKuB,UAAU,SAAS/sW,EAAE2hE,GAAG,OAAO2oR,KAAKzwU,KAAK2xV,KAAKqB,YAAYlqQ,KAAK2nP,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB5sW,EAAE2hE,GAAG,EAAE2oR,KAAKzwU,KAAK2xV,KAAKwB,WAAW1iB,KAAKzwU,KAAK2xV,KAAKuB,UACrcziB,KAAKzwU,KAAK2xV,KAAKyB,UAAU,SAASjtW,EAAE2hE,GAAG,OAAO2oR,KAAKzwU,KAAK2xV,KAAKsB,YAAYnqQ,KAAK2nP,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB5sW,EAAE2hE,GAAG,EAAE2oR,KAAKzwU,KAAK2xV,KAAK0B,OAAO,IAAIl2R,OAAO,KAAKszQ,KAAKzwU,KAAK2xV,KAAKiB,UAAU,KAAKniB,KAAKzwU,KAAK2xV,KAAK2B,OAAO,IAAIn2R,OAAO,KAAKszQ,KAAKzwU,KAAK2xV,KAAKkB,UAAU,KAAKpiB,KAAKzwU,KAAK2xV,KAAK4B,UAAU,SAASptW,GAAG,OAAOsqV,KAAKzwU,KAAK2xV,KAAK2B,OAAOxqQ,KAAK3iG,EAAE,EAAEsqV,KAAKzwU,KAAK2xV,KAAK6B,UAAU,SAASrtW,GAAG,OAAOsqV,KAAKzwU,KAAK2xV,KAAK0B,OAAOvqQ,KAAK3iG,EAAE,EAAEsqV,KAAKzwU,KAAK2xV,KAAK8B,cAAc,SAASttW,GAAG,OAAOsqV,KAAKzwU,KAAK2xV,KAAK6B,UAAUrtW,KAAKsqV,KAAKzwU,KAAK2xV,KAAK4B,UAAUptW,EAAE,EAC9fsqV,KAAKzwU,KAAK2xV,KAAK+B,eAAe,IAAIv2R,OAAO,MAAMszQ,KAAKzwU,KAAK2xV,KAAKkB,UAAU,MAAMpiB,KAAKzwU,KAAK2xV,KAAKiB,UAAU,KAAKniB,KAAKzwU,KAAK2xV,KAAKgC,eAAe,IAAIx2R,OAAO,MAAMszQ,KAAKzwU,KAAK2xV,KAAKiB,UAAU,MAAMniB,KAAKzwU,KAAK2xV,KAAKkB,UAAU,KAAKpiB,KAAKzwU,KAAK2xV,KAAKiC,cAAc,SAASztW,EAAE2hE,GAAG,OAAO2oR,KAAKzwU,KAAK2xV,KAAKgC,eAAe7qQ,KAAK2nP,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB5sW,EAAE2hE,GAAG,EAAE2oR,KAAKzwU,KAAK2xV,KAAKkC,UAAUpjB,KAAKzwU,KAAK2xV,KAAKiC,cAC9XnjB,KAAKzwU,KAAK2xV,KAAKmC,cAAc,SAAS3tW,EAAE2hE,GAAG,OAAO2oR,KAAKzwU,KAAK2xV,KAAK+B,eAAe5qQ,KAAK2nP,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB5sW,EAAE2hE,GAAG,EAAE2oR,KAAKzwU,KAAK2xV,KAAKoC,UAAUtjB,KAAKzwU,KAAK2xV,KAAKmC,cAAcrjB,KAAKzwU,KAAK2xV,KAAKqC,iBAAiB,eAAevjB,KAAKzwU,KAAK2xV,KAAKsC,cAAc,SAAS9tW,EAAE2hE,GAAG3hE,SAAEsqV,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB5sW,EAAE2hE,GAAU2oR,KAAKzwU,KAAK2xV,KAAKqC,iBAAiBlrQ,KAAK3iG,KAAKsqV,KAAKzwU,KAAK2xV,KAAKyB,UAAUjtW,KAAKsqV,KAAKzwU,KAAK2xV,KAAKuB,UAAU/sW,EAAE,EACjasqV,KAAKzwU,KAAK2xV,KAAKuC,mBAAmB,IAAI/2R,OAAO,IAAIszQ,KAAKzwU,KAAK2xV,KAAKiB,UAAU,MAAMniB,KAAKzwU,KAAK2xV,KAAKkB,UAAU,OAAOpiB,KAAKzwU,KAAK2xV,KAAKwC,mBAAmB,IAAIh3R,OAAO,IAAIszQ,KAAKzwU,KAAK2xV,KAAKkB,UAAU,MAAMpiB,KAAKzwU,KAAK2xV,KAAKiB,UAAU,OAAOniB,KAAKzwU,KAAK2xV,KAAKyC,YAAY,SAASjuW,EAAE2hE,GAAG,OAAO2oR,KAAKzwU,KAAK2xV,KAAKuC,mBAAmBprQ,KAAK2nP,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB5sW,EAAE2hE,GAAG,EAAE2oR,KAAKzwU,KAAK2xV,KAAK0C,cAAc5jB,KAAKzwU,KAAK2xV,KAAKyC,YAC5Y3jB,KAAKzwU,KAAK2xV,KAAK2C,YAAY,SAASnuW,EAAE2hE,GAAG,OAAO2oR,KAAKzwU,KAAK2xV,KAAKwC,mBAAmBrrQ,KAAK2nP,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB5sW,EAAE2hE,GAAG,EAAE2oR,KAAKzwU,KAAK2xV,KAAK4C,cAAc9jB,KAAKzwU,KAAK2xV,KAAK2C,YAAY7jB,KAAKzwU,KAAK2xV,KAAK6C,cAAc,qHAAqH/jB,KAAKzwU,KAAK2xV,KAAK8C,cAAc,SAAStuW,GAAG,OAAOsqV,KAAKzwU,KAAK2xV,KAAK6C,cAAc1rQ,KAAK3iG,EAAE,EAAEsqV,KAAKzwU,KAAK2xV,KAAK+C,oBAAoB,6CACncjkB,KAAKzwU,KAAK2xV,KAAKgD,mBAAmB,SAASxuW,EAAE2hE,GAAGA,eAAG,IAASA,EAAE2oR,KAAKzwU,KAAK2xV,KAAKuB,UAAU/sW,GAAG2hE,GAAG2oR,KAAKzwU,KAAK2xV,KAAKG,OAAOI,IAAIzhB,KAAKzwU,KAAK2xV,KAAKG,OAAOG,IAAW9rW,EAAE6V,QAAQy0U,KAAKzwU,KAAK2xV,KAAK+C,oBAAoB5sS,EAAE,KAAKA,EAAE,EAAE2oR,KAAKzwU,KAAK2xV,KAAKiD,iBAAiB,SAASzuW,GAAG,MAAM,KAAKA,EAAE4c,OAAO,GAAG5c,EAAE6V,QAAQ,OAAO,cAAc,mBAAmB7V,EAAE,SAAS,EAAEsqV,KAAKzwU,KAAK2xV,KAAKkD,iBAAiB,SAAS1uW,GAAG,OAAOsqV,KAAKzwU,KAAK2xV,KAAKG,OAAOE,IAAI7rW,EAAEsqV,KAAKzwU,KAAK2xV,KAAKG,OAAOnkJ,GAAG,EAC1b8iI,KAAKzwU,KAAK2xV,KAAKmD,iBAAiB,SAAS3uW,GAAG,MAAM,KAAKA,EAAE4c,OAAO,GAAG5c,EAAE6V,QAAQ,OAAO,cAAc,mBAAmB7V,EAAE,SAAS,EAAEsqV,KAAKzwU,KAAK2xV,KAAKoD,iBAAiB,SAAS5uW,GAAG,OAAOsqV,KAAKzwU,KAAK2xV,KAAKG,OAAOC,IAAI5rW,EAAEsqV,KAAKzwU,KAAK2xV,KAAKG,OAAOnkJ,GAAG,EAAE8iI,KAAKzwU,KAAK2xV,KAAKqD,cAAc,qEAAqEvkB,KAAKzwU,KAAK2xV,KAAKsD,QAAQ,SAASxkB,KAAKzwU,KAAK2xV,KAAKuD,SAAS,UAAUzkB,KAAKzwU,KAAK2xV,KAAKwD,QAAQ,QACva1kB,KAAKzwU,KAAK2xV,KAAKyD,UAAU,SAASjvW,GAAG,OAAOA,EAAE6V,QAAQy0U,KAAKzwU,KAAK2xV,KAAKqD,cAAc,gBAAgBh5V,QAAQy0U,KAAKzwU,KAAK2xV,KAAKsD,QAAQ,QAAQj5V,QAAQy0U,KAAKzwU,KAAK2xV,KAAKuD,SAASzkB,KAAKzwU,KAAK2xV,KAAKa,MAAMx2V,QAAQy0U,KAAKzwU,KAAK2xV,KAAKwD,QAAQ1kB,KAAKzwU,KAAK2xV,KAAKY,MAAM,EAAE9hB,KAAKzwU,KAAK2xV,KAAK0D,yBAAyB,sBAAsB5kB,KAAKzwU,KAAK2xV,KAAK2D,yBAAyB,sBAC3V7kB,KAAKzwU,KAAK2xV,KAAK4D,qBAAqB,SAASpvW,GAAG,OAAOA,EAAE6V,QAAQy0U,KAAKzwU,KAAK2xV,KAAK0D,yBAAyB,YAAYr5V,QAAQy0U,KAAKzwU,KAAK2xV,KAAK2D,yBAAyB,WAAW,EAAE7kB,KAAKzwU,KAAK2xV,KAAK6D,iBAAiB,MAAM/kB,KAAKzwU,KAAK2xV,KAAK8D,eAAe,oBAAoBhlB,KAAKzwU,KAAK2xV,KAAK+D,uBAAuB,GAChTjlB,KAAKzwU,KAAK2xV,KAAKgE,kBAAkB,SAASxvW,EAAE2hE,GAAG,IAAI1nE,EAAE,EAAE3E,EAAE,EAAE0xC,GAAE,EAAmF,IAAhFhnC,EAAEsqV,KAAKzwU,KAAK2xV,KAAKoB,mBAAmB5sW,EAAE2hE,GAAGhvC,MAAM23T,KAAKzwU,KAAK2xV,KAAK6D,kBAAsB1tS,EAAE,EAAEA,EAAE3hE,EAAEpG,OAAO+nE,IAAI,CAAC,IAAIjgD,EAAE1hB,EAAE2hE,GAAG2oR,KAAKzwU,KAAK2xV,KAAKiC,cAAc/rV,IAAIznB,IAAI3E,KAAKg1V,KAAKzwU,KAAK2xV,KAAKqC,iBAAiBlrQ,KAAKjhF,GAAGslB,GAAE,EAAGsjT,KAAKzwU,KAAK2xV,KAAKyB,UAAUvrV,GAAGpsB,IAAIg1V,KAAKzwU,KAAK2xV,KAAK8D,eAAe3sQ,KAAKjhF,KAAKslB,GAAE,EAAG,CAAC,OAAO,GAAG1xC,EAAE0xC,EAAEsjT,KAAKzwU,KAAK2xV,KAAKQ,IAAIC,IAAI3hB,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,QAAQlyW,EAAE3E,EAAEg1V,KAAKzwU,KAAK2xV,KAAK+D,uBAAuBjlB,KAAKzwU,KAAK2xV,KAAKQ,IAAIE,IAAI5hB,KAAKzwU,KAAK2xV,KAAKQ,IAAIC,GAAG,EAC/e3hB,KAAKzwU,KAAK2xV,KAAKiE,wBAAwB,SAASzvW,EAAE2hE,GAAG,OAAO2oR,KAAKzwU,KAAK2xV,KAAKgE,kBAAkBxvW,EAAE2hE,IAAI2oR,KAAKzwU,KAAK2xV,KAAKQ,IAAIE,GAAG,EAAE5hB,KAAKzwU,KAAK2xV,KAAKkE,sBAAsB,SAAS1vW,EAAE2hE,GAAG3hE,IAAI2hE,EAAE2oR,KAAKzwU,KAAK2xV,KAAKgB,MAAM7qS,MAAM3hE,EAAEqxB,MAAM07P,UAAUprN,GAAG2oR,KAAKzwU,KAAK2xV,KAAKQ,IAAIE,IAAI5hB,KAAKzwU,KAAK2xV,KAAKY,MAAM9hB,KAAKzwU,KAAK2xV,KAAKa,KAAKrsW,EAAEu7B,IAAIomC,GAAG2oR,KAAKzwU,KAAK2xV,KAAKQ,IAAIE,IAAI,MAAM,MAAM,EAChV5hB,KAAKzwU,KAAK2xV,KAAKmE,kCAAkC,SAAS3vW,EAAE2hE,GAAG,OAAO2oR,KAAKzwU,KAAK2xV,KAAKgE,kBAAkB7tS,IAAI,KAAK2oR,KAAKzwU,KAAK2xV,KAAKQ,IAAIC,IAAI,QAAQjsW,EAAEu7B,MAAMv7B,EAAEu7B,IAAI,OAAO,MAAM,KAAK+uT,KAAKzwU,KAAK2xV,KAAKQ,IAAIE,IAAI,QAAQlsW,EAAEu7B,MAAMv7B,EAAEu7B,IAAI,OAAO,MAAM,QAAQv7B,EAAEorE,gBAAgB,OAAO,EAAEk/Q,KAAKzwU,KAAK2xV,KAAKoE,kBAAkB,WAAW,EAAEtlB,KAAK3kU,KAAKkqV,mBAAmB,SAAS7vW,EAAE2hE,GAAGn6D,KAAKsoW,wDAAwDnuS,IAAI2oR,KAAK3kU,KAAKkqV,mBAAmBE,2BAA2B/vW,EAAE,EAAE,EAAEsqV,KAAK3kU,KAAKkqV,mBAAmBvgU,UAAUq6T,iCAAgC,EAAGrf,KAAK3kU,KAAKkqV,mBAAmBvgU,UAAUs6T,oBAAoB,WAAW,OAAOpiW,KAAKsoW,wDAAwDnnU,UAAU,EAAE2hT,KAAK3kU,KAAKkqV,mBAAmBvgU,UAAU0gU,yCAAwC,EACnxB1lB,KAAK3kU,KAAKkqV,mBAAmBvgU,UAAUukR,aAAa,WAAW,OAAOy2B,KAAKzwU,KAAK2xV,KAAKQ,IAAIC,GAAG,EAAE3hB,KAAK3kU,KAAKkqV,mBAAmBvgU,UAAU2gU,gBAAgB,SAASjwW,EAAE2hE,GAAG,IAAI1nE,EAAEqwV,KAAK3kU,KAAKkqV,mBAAmBhG,OAAOriW,MAAmElS,GAA7D2E,EAAEqwV,KAAK3kU,KAAKkqV,mBAAmBK,kBAAkB7pS,KAAKpsE,IAAW,IAAI,GAAG,OAAOqwV,KAAK3kU,KAAKkqV,mBAAmBM,yDAAyDl2W,EAAE,GAAGqwV,KAAK3kU,KAAKkqV,mBAAmBO,iBAAiB,IAAIn2W,EAAE,IAAI,GAAG+F,GAAGsqV,KAAK3kU,KAAKkqV,mBAAmBO,iBAAiB,IAAI96W,EAAEqsE,GAAG,EAClf2oR,KAAKr6S,QAAQq6S,KAAK3kU,KAAKkqV,mBAAmBvgU,UAAU3G,SAAS,WAAW,MAAM,sBAAsBnhC,KAAKsoW,wDAAwD,GAAG,GAAGxlB,KAAK3kU,KAAKkqV,mBAAmBhG,OAAO,SAAS7pW,GAAG,OAAOsqV,KAAK3kU,KAAKkqV,mBAAmBQ,uBAAuBrwW,GAAG2oC,UAAU,EAC/R2hT,KAAK3kU,KAAKkqV,mBAAmBQ,uBAAuB,SAASrwW,GAAG,OAAGA,aAAasqV,KAAK3kU,KAAKkqV,oBAAoB7vW,EAAEiH,cAAcqjV,KAAK3kU,KAAKkqV,mBAA0B7vW,EAAE8vW,yDAAwDxlB,KAAK8L,QAAQ98P,KAAK,oDAAoDt5F,EAAE,aAAasqV,KAAKoE,OAAO1uV,IAAU,gCAA+B,EACtWsqV,KAAK3kU,KAAKkqV,mBAAmBpqS,OAAO,SAASzlE,EAAE2hE,GAAG,IAAI1nE,EAAEqwV,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,IAAIsqV,KAAK3kU,KAAKkqV,mBAAmBS,UAAU3tQ,KAAK1oG,GAAG,MAAMo1C,MAAM,sCAAsCp1C,GAAG+F,SAAE/F,EAAE4b,QAAQy0U,KAAK3kU,KAAKkqV,mBAAmBU,eAAe,SAASj7W,EAAE0xC,GAAG,IAAIpQ,OAAO0Y,UAAU8qB,eAAelK,KAAKyR,EAAE36B,GAAG,MAAMqI,MAAM,kBAAkBrI,EAAE,yBAAyB/sC,EAAE,gDAAgD+K,KAAKutC,UAAUovB,IAAIrsE,SAAEqsE,EAAE36B,cAAuBsjT,KAAKjF,OAAOikB,MAAMhf,KAAKjF,OAAOikB,MAAMO,OAAOv0W,GACpf4hF,mBAAmBlkC,OAAO19C,GAAG,GAAUg1V,KAAK3kU,KAAKkqV,mBAAmBM,yDAAyDnwW,EAAE,EAAEsqV,KAAK3kU,KAAKkqV,mBAAmBU,eAAe,YAAYjmB,KAAK3kU,KAAKkqV,mBAAmBS,UAAU,qFAAqFhmB,KAAK3kU,KAAKkqV,mBAAmBK,kBAAkB,iCACpW5lB,KAAK3kU,KAAKkqV,mBAAmBW,iBAAiB,SAASxwW,EAAE2hE,EAAE1nE,EAAE3E,GAAG,OAAOg1V,KAAK3kU,KAAKkqV,mBAAmBpqS,OAAOzlE,EAAE2hE,GAAGsuS,gBAAgBh2W,EAAE3E,EAAE,EAAEg1V,KAAK3kU,KAAKkqV,mBAAmBzF,aAAa,SAASpqW,GAAG,OAAOsqV,KAAK3kU,KAAKkqV,mBAAmBM,yDAAyD7lB,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,EAAEsqV,KAAK3kU,KAAKkqV,mBAAmBY,cAAc,SAASzwW,GAAG,QAAQ2hE,EAAE,GAAG1nE,EAAE,EAAEA,EAAE+F,EAAEpG,OAAOK,IAAI0nE,GAAG2oR,KAAKjF,OAAOikB,MAAMO,OAAO7pW,EAAE/F,IAAI,OAAOqwV,KAAK3kU,KAAKkqV,mBAAmBM,yDAAyDxuS,EAAE,EAC/gB2oR,KAAK3kU,KAAKkqV,mBAAmBa,eAAe,SAAS1wW,GAAGA,SAAEsqV,KAAKnwG,GAAGvyB,KAAK0jJ,sBAAsB,CAACpB,gDAAgDL,OAAO7pW,IAAI,mBAAmBA,EAAEsqV,KAAKnwG,GAAG/3M,IAAIuoU,gBAAgB3qW,GAAUsqV,KAAK3kU,KAAKkqV,mBAAmBM,yDAAyDnwW,EAAE,EAAEsqV,KAAK3kU,KAAKkqV,mBAAmBE,2BAA2B,CAAC,EACvWzlB,KAAK3kU,KAAKkqV,mBAAmBM,yDAAyD,SAASnwW,GAAG,IAAI2hE,EAAE2oR,KAAK3kU,KAAKmkV,aAAaC,oCAAoC/pW,SAAE2hE,EAAEA,EAAE2yR,gBAAgBt0V,GAAGA,EAAS,IAAIsqV,KAAK3kU,KAAKkqV,mBAAmB7vW,EAAEsqV,KAAK3kU,KAAKkqV,mBAAmBE,2BAA2B,EAChSzlB,KAAK3kU,KAAKkqV,mBAAmBO,iBAAiB,SAASpwW,EAAE2hE,EAAE1nE,GAAG,GAAG,MAAMA,EAAE,OAAO0nE,EAAE,GAAG,iBAAkB1nE,EAAE,OAAOA,EAAE+F,EAAEk3E,mBAAmBj9E,GAAG,GAAG,QAAQ3E,KAAK2E,EAAE,GAAG28B,OAAO0Y,UAAU8qB,eAAelK,KAAKj2D,EAAE3E,GAAG,CAAC,IAAI0xC,EAAE/sC,EAAE3E,GAAG0xC,EAAEluC,MAAMC,QAAQiuC,GAAGA,EAAE,CAACA,GAAG,QAAQtlB,EAAE,EAAEA,EAAEslB,EAAEptC,OAAO8nB,IAAI,CAAC,IAAI4iM,EAAEt9K,EAAEtlB,GAAG,MAAM4iM,IAAI3iJ,IAAIA,EAAE3hE,GAAG2hE,IAAIA,EAAE/nE,OAAOoG,EAAEpG,OAAO,IAAI,IAAIs9E,mBAAmB5hF,GAAG,IAAI4hF,mBAAmBlkC,OAAOsxK,IAAI,CAAC,CAAC,OAAO3iJ,CAAC,EAAE2oR,KAAKjF,OAAO5mM,SAAS,CAAC,EAAE6rM,KAAKjF,OAAO5mM,SAAS3nH,WAAW,SAAS92B,EAAE2hE,GAAG,OAAO,GAAG3hE,EAAE42C,YAAY+qB,EAAE,EAAE,EAAE2oR,KAAKjF,OAAO5mM,SAAS1xG,SAAS,SAAS/sC,EAAE2hE,GAAG,IAAI1nE,EAAE+F,EAAEpG,OAAO+nE,EAAE/nE,OAAO,OAAO,GAAGK,GAAG+F,EAAE3G,QAAQsoE,EAAE1nE,IAAIA,CAAC,EAAEqwV,KAAKjF,OAAO5mM,SAASkyN,0BAA0B,SAAS3wW,EAAE2hE,GAAG,OAAO,GAAG2oR,KAAKjF,OAAO5mM,SAASmyN,uBAAuBjvS,EAAE3hE,EAAEwhD,OAAO,EAAEmgB,EAAE/nE,QAAQ,EAAE0wV,KAAKjF,OAAO5mM,SAASoyN,wBAAwB,SAAS7wW,EAAE2hE,GAAG,OAAO,GAAG2oR,KAAKjF,OAAO5mM,SAASmyN,uBAAuBjvS,EAAE3hE,EAAEwhD,OAAOxhD,EAAEpG,OAAO+nE,EAAE/nE,OAAO+nE,EAAE/nE,QAAQ,EACt3B0wV,KAAKjF,OAAO5mM,SAASqyN,sBAAsB,SAAS9wW,EAAE2hE,GAAG,OAAO3hE,EAAElO,eAAe6vE,EAAE7vE,aAAa,EAAEw4V,KAAKjF,OAAO5mM,SAASsyN,oBAAoB,SAAS/wW,GAAG,MAAM,cAAc2iG,KAAK3iG,EAAE,EAAEsqV,KAAKjF,OAAO5mM,SAAS/hI,KAAK4tU,KAAKQ,cAAc93S,OAAO1D,UAAU5yB,KAAK,SAAS1c,GAAG,OAAOA,EAAE0c,MAAM,EAAE,SAAS1c,GAAG,MAAM,iCAAiCqmE,KAAKrmE,GAAG,EAAE,EAAEsqV,KAAKjF,OAAO5mM,SAASmyN,uBAAuB,SAAS5wW,EAAE2hE,GAAG3hE,SAAEgzC,OAAOhzC,GAAGlO,gBAAc6vE,EAAE3uB,OAAO2uB,GAAG7vE,gBAAyB,EAAGkO,GAAG2hE,EAAE,EAAE,CAAC,EACvd2oR,KAAKjF,OAAO5mM,SAASuyN,YAAY,SAAShxW,EAAE2hE,GAAG,OAAO3hE,EAAE6V,QAAQ,gBAAgB8rD,EAAE,SAAS,OAAO,EAClG2oR,KAAKjF,OAAO5mM,SAASwyN,WAAW,SAASjxW,EAAE2hE,GAAG,GAAGA,EAAE3hE,EAAEA,EAAE6V,QAAQy0U,KAAKjF,OAAO5mM,SAASyyN,QAAQ,SAASr7V,QAAQy0U,KAAKjF,OAAO5mM,SAAS0yN,OAAO,QAAQt7V,QAAQy0U,KAAKjF,OAAO5mM,SAAS2yN,OAAO,QAAQv7V,QAAQy0U,KAAKjF,OAAO5mM,SAAS4yN,SAAS,UAAUx7V,QAAQy0U,KAAKjF,OAAO5mM,SAAS6yN,iBAAiB,SAASz7V,QAAQy0U,KAAKjF,OAAO5mM,SAAS8yN,SAAS,YAAY,CAAC,IAAIjnB,KAAKjF,OAAO5mM,SAAS+yN,QAAQ7uQ,KAAK3iG,GAAG,OAAOA,GAAE,GAAIA,EAAE3G,QAAQ,OAAO2G,EAAEA,EAAE6V,QAAQy0U,KAAKjF,OAAO5mM,SAASyyN,QAAQ,WAAU,GAAIlxW,EAAE3G,QAAQ,OAAO2G,EAAEA,EAAE6V,QAAQy0U,KAAKjF,OAAO5mM,SAAS0yN,OACvgB,UAAS,GAAInxW,EAAE3G,QAAQ,OAAO2G,EAAEA,EAAE6V,QAAQy0U,KAAKjF,OAAO5mM,SAAS2yN,OAAO,UAAS,GAAIpxW,EAAE3G,QAAQ,OAAO2G,EAAEA,EAAE6V,QAAQy0U,KAAKjF,OAAO5mM,SAAS4yN,SAAS,YAAW,GAAIrxW,EAAE3G,QAAQ,OAAO2G,EAAEA,EAAE6V,QAAQy0U,KAAKjF,OAAO5mM,SAAS6yN,iBAAiB,WAAU,GAAItxW,EAAE3G,QAAQ,QAAU2G,EAAEA,EAAE6V,QAAQy0U,KAAKjF,OAAO5mM,SAAS8yN,SAAS,QAAQ,CAAC,OAAOvxW,CAAC,EAAEsqV,KAAKjF,OAAO5mM,SAASyyN,QAAQ,KAAK5mB,KAAKjF,OAAO5mM,SAAS0yN,OAAO,KAAK7mB,KAAKjF,OAAO5mM,SAAS2yN,OAAO,KAAK9mB,KAAKjF,OAAO5mM,SAAS4yN,SAAS,KAAK/mB,KAAKjF,OAAO5mM,SAAS6yN,iBAAiB,KAC5ehnB,KAAKjF,OAAO5mM,SAAS8yN,SAAS,QAAQjnB,KAAKjF,OAAO5mM,SAAS+yN,QAAQ,cAAclnB,KAAKjF,OAAO5mM,SAASgzN,iBAAiB,SAASzxW,EAAE2hE,GAAG,OAAO2oR,KAAKjF,OAAO5mM,SAASuyN,YAAYhxW,EAAE6V,QAAQ,MAAM,WAAW8rD,EAAE,EAAE2oR,KAAKjF,OAAO5mM,SAASroH,SAAS,SAASp2B,EAAE2hE,GAAG,OAAM,GAAI3hE,EAAE3G,QAAQsoE,EAAE,EAAE2oR,KAAKjF,OAAO5mM,SAASizN,wBAAwB,SAAS1xW,EAAE2hE,GAAG,OAAO2oR,KAAKjF,OAAO5mM,SAASroH,SAASp2B,EAAElO,cAAc6vE,EAAE7vE,cAAc,EAChZw4V,KAAKjF,OAAO5mM,SAASkzN,gBAAgB,SAAS3xW,EAAE2hE,GAAG,IAAI1nE,EAAE,EAAE+F,EAAEsqV,KAAKjF,OAAO5mM,SAAS/hI,KAAKs2B,OAAOhzC,IAAI2yB,MAAM,KAAKgvC,EAAE2oR,KAAKjF,OAAO5mM,SAAS/hI,KAAKs2B,OAAO2uB,IAAIhvC,MAAM,KAAK,QAAQr9B,EAAEq/B,KAAKC,IAAI50B,EAAEpG,OAAO+nE,EAAE/nE,QAAQotC,EAAE,EAAE,GAAG/sC,GAAG+sC,EAAE1xC,EAAE0xC,IAAI,CAAC,IAAItlB,EAAE1hB,EAAEgnC,IAAI,GAAGs9K,EAAE3iJ,EAAE36B,IAAI,GAAG,EAAE,CAAqF,GAApFtlB,EAAE,iBAAiB2kD,KAAK3kD,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI4iM,EAAE,iBAAiBj+I,KAAKi+I,IAAI,CAAC,GAAG,GAAG,GAAG,IAAO,GAAG5iM,EAAE,GAAG9nB,QAAQ,GAAG0qN,EAAE,GAAG1qN,OAAO,MAAMK,EAAE,GAAGynB,EAAE,GAAG9nB,OAAO,EAAEm6F,SAASryE,EAAE,GAAG,IAAI,IAAI85F,EAAE,GAAG8oG,EAAE,GAAG1qN,OAAO,EAAEm6F,SAASuwH,EAAE,GAAG,IAAIrqN,EAAEqwV,KAAKjF,OAAO5mM,SAASmzN,iBAAiB33W,EAAEuhH,IAAI8uO,KAAKjF,OAAO5mM,SAASmzN,iBAAiB,GACnhBlwV,EAAE,GAAG9nB,OAAO,GAAG0qN,EAAE,GAAG1qN,SAAS0wV,KAAKjF,OAAO5mM,SAASmzN,iBAAiBlwV,EAAE,GAAG4iM,EAAE,IAAI5iM,EAAEA,EAAE,GAAG4iM,EAAEA,EAAE,EAAE,OAAO,GAAGrqN,EAAE,CAAC,OAAOA,CAAC,EAAEqwV,KAAKjF,OAAO5mM,SAASmzN,iBAAiB,SAAS5xW,EAAE2hE,GAAG,OAAO3hE,EAAE2hE,GAAE,EAAG3hE,EAAE2hE,EAAE,EAAE,CAAC,EAAE2oR,KAAK3kU,KAAKksV,QAAQ,SAAS7xW,EAAE2hE,GAAGn6D,KAAKsqW,6CAA6CnwS,IAAI2oR,KAAK3kU,KAAKksV,QAAQ9B,2BAA2B/vW,EAAE,EAAE,EAAEsqV,KAAK3kU,KAAKksV,QAAQE,iBAAiB,0BAA0BznB,KAAK3kU,KAAKksV,QAAQviU,UAAUq6T,iCAAgC,EAAGrf,KAAK3kU,KAAKksV,QAAQviU,UAAUs6T,oBAAoB,WAAW,OAAOpiW,KAAKsqW,6CAA6CnpU,UAAU,EAAE2hT,KAAK3kU,KAAKksV,QAAQviU,UAAU0gU,yCAAwC,EACtoB1lB,KAAK3kU,KAAKksV,QAAQviU,UAAUukR,aAAa,WAAW,OAAOy2B,KAAKzwU,KAAK2xV,KAAKQ,IAAIC,GAAG,EAAE3hB,KAAKr6S,QAAQq6S,KAAK3kU,KAAKksV,QAAQviU,UAAU3G,SAAS,WAAW,MAAM,WAAWnhC,KAAKsqW,6CAA6C,GAAG,GAAGxnB,KAAK3kU,KAAKksV,QAAQhI,OAAO,SAAS7pW,GAAG,OAAGA,aAAasqV,KAAK3kU,KAAKksV,SAAS7xW,EAAEiH,cAAcqjV,KAAK3kU,KAAKksV,QAAe7xW,EAAE8xW,8CAA6CxnB,KAAK8L,QAAQ98P,KAAK,yCAAyCt5F,EAAE,aAAasqV,KAAKoE,OAAO1uV,IAAU,qBAAoB,EAC7esqV,KAAK3kU,KAAKksV,QAAQzH,aAAa,SAASpqW,GAAG,OAAOsqV,KAAK3kU,KAAKksV,QAAQG,8CAA8C1nB,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,EAAEsqV,KAAK3kU,KAAKssV,wBAAwB,gPAAgP3nB,KAAK3kU,KAAKksV,QAAQK,eAAe,SAASlyW,GAAG,OAAOsqV,KAAK3kU,KAAKssV,wBAAwBtvQ,KAAK3iG,EAAE,EAC/fsqV,KAAK3kU,KAAKksV,QAAQM,SAAS,SAASnyW,GAAGA,SAAEsqV,KAAK3kU,KAAKksV,QAAQK,eAAelyW,EAAEyV,MAAM60U,KAAKnwG,GAAG/3M,IAAIuoU,gBAAgB3qW,GAAGsqV,KAAK3kU,KAAKksV,QAAQE,iBAAwBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,EAAE,EAAEsqV,KAAK3kU,KAAKksV,QAAQhH,gBAAgB,SAAS7qW,IAAGA,EAAEA,EAAE4pW,yBAA0Btf,KAAK3kU,KAAKksV,QAAQE,kBAAkBznB,KAAKnwG,GAAG/3M,IAAIyoU,gBAAgB7qW,EAAE,EAC7WsqV,KAAK3kU,KAAKksV,QAAQO,gBAAgB,SAASpyW,GAAGsqV,YAAK8L,QAAQn0I,OAAO,gBAAgBqoI,KAAKlsQ,OAAO,8BAA8Bp+E,EAAEA,aAAaqyW,YAAY/nB,KAAKnwG,GAAG/3M,IAAIuoU,gBAAgB3qW,GAAGsqV,KAAK3kU,KAAKksV,QAAQE,iBAAwBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,EAAE,EAAEsqV,KAAK3kU,KAAK2sV,kBAAkB,qCAChUhoB,KAAK3kU,KAAKksV,QAAQU,eAAe,SAASvyW,GAA4C,IAAI2hE,GAAjC3hE,GAAZA,EAAEgzC,OAAOhzC,IAAO6V,QAAQ,aAAa,KAAYovD,MAAMqlR,KAAK3kU,KAAK2sV,mBAAmB,OAAO3wS,GAAG2oR,KAAK3kU,KAAKksV,QAAQK,eAAevwS,EAAE,IAAI2oR,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,GAAG,IAAI,EAAEsqV,KAAK3kU,KAAKksV,QAAQW,YAAY,SAASxyW,GAAG,OAAOsqV,KAAK3kU,KAAKksV,QAAQU,eAAevyW,IAAIsqV,KAAK3kU,KAAKksV,QAAQY,aAAa,EAChXnoB,KAAK3kU,KAAKksV,QAAQa,WAAW,SAAS1yW,GAAGsqV,YAAKjF,OAAO5mM,SAASkyN,0BAA0B3wW,EAAE,UAAUA,EAAEsqV,KAAK3kU,KAAKksV,QAAQE,kBAAyBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,EAAE,EAAEsqV,KAAK3kU,KAAKgtV,iBAAiB,wEAAwEroB,KAAK3kU,KAAKksV,QAAQe,WAAW,SAAS5yW,GAAGsqV,YAAK3kU,KAAKgtV,iBAAiBhwQ,KAAK/wD,mBAAmB5xC,MAAMA,EAAEsqV,KAAK3kU,KAAKksV,QAAQE,kBAAyBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,EAAE,EACzgBsqV,KAAK3kU,KAAKksV,QAAQgB,yBAAyB,SAAS7yW,GAAGsqV,YAAKjF,OAAO5mM,SAASkyN,0BAA0B3wW,EAAE,0BAA0BA,EAAEsqV,KAAK3kU,KAAKksV,QAAQE,kBAAyBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,EAAE,EAAEsqV,KAAK3kU,KAAKksV,QAAQiB,gBAAgB,SAAS9yW,GAAGsqV,YAAKjF,OAAO5mM,SAASkyN,0BAA0B3wW,EAAE,qBAAqBA,EAAEsqV,KAAK3kU,KAAKksV,QAAQE,kBAAyBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,EAAE,EACtdsqV,KAAK3kU,KAAKksV,QAAQkB,WAAW,SAAS/yW,GAAGsqV,YAAKjF,OAAO5mM,SAASkyN,0BAA0B3wW,EAAE,SAASsqV,KAAK3kU,KAAKksV,QAAQmB,mBAAmBhzW,KAAKA,EAAEsqV,KAAK3kU,KAAKksV,QAAQE,kBAAyBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,EAAE,EAAEsqV,KAAK3kU,KAAKksV,QAAQmB,mBAAmB,SAAShzW,GAAG,IAAI2hE,EAAE3hE,EAAE3G,QAAQ,KAAwD,GAAnD,EAAEsoE,IAAI3hE,EAAEA,EAAE6c,UAAU,EAAE8kD,MAAIA,EAAE3hE,EAAEilE,MAAM,gBAAqB,OAAM,EAAG,GAAG,EAAEtD,EAAE/nE,OAAO,OAAM,EAAoC,KAAjCoG,EAAEA,EAAEilE,MAAM,oBAAoB,IAAS,OAAM,EAAG,IAAIrzB,mBAAmB5xC,EAAE,OAAU,OAAM,CAAE,CAAC,MAAM,qCAAqC2iG,KAAK3iG,EAAE,EAC3iBsqV,KAAK3kU,KAAKksV,QAAQoB,WAAW,SAASjzW,GAAGsqV,YAAKjF,OAAO5mM,SAASkyN,0BAA0B3wW,EAAE,YAAYA,EAAEsqV,KAAK3kU,KAAKksV,QAAQE,kBAAyBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,EAAE,EAAEsqV,KAAK3kU,KAAKksV,QAAQqB,2BAA2B,SAASlzW,EAAE2hE,GAAG,OAAO2oR,KAAK3kU,KAAKksV,QAAQsB,sBAAsB,mCAAmCnzW,EAAE2hE,EAAE,EACxW2oR,KAAK3kU,KAAKksV,QAAQuB,4BAA4B,SAASpzW,EAAE2hE,GAAG,OAAO2oR,KAAK3kU,KAAKksV,QAAQsB,sBAAsB,gCAAgCnzW,EAAE2hE,EAAE,EAAE2oR,KAAK3kU,KAAKksV,QAAQwB,yBAAyB,SAASrzW,EAAE2hE,GAAG,OAAO2oR,KAAK3kU,KAAKksV,QAAQsB,sBAAsB,uCAAuCnzW,EAAE2hE,EAAE,EACpS2oR,KAAK3kU,KAAKksV,QAAQsB,sBAAsB,SAASnzW,EAAE2hE,EAAE1nE,GAAG,OAAC+F,EAAEA,EAAEqmE,KAAK1E,KAAK3hE,EAAEA,EAAE,IAAG,IAAK/F,aAAaqwV,KAAKjF,OAAOikB,MAAM,CAAChf,KAAKjF,OAAOikB,MAAMO,OAAO5vW,IAAIA,EAAE5E,IAAI,SAASC,GAAG,OAAOg1V,KAAKjF,OAAOikB,MAAMO,OAAOv0W,EAAE,IAAI+D,QAAQ2G,KAAK2hE,EAAE2oR,KAAK3kU,KAAKksV,QAAQE,mBAAmBpwS,EAAE2oR,KAAK3kU,KAAKksV,QAAQE,iBAAwBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8CrwS,EAAE,EAAE2oR,KAAK3kU,KAAKksV,QAAQyB,uBAAuB,SAAStzW,GAAG,OAAOsqV,KAAK3kU,KAAKksV,QAAQG,8CAA8C1nB,KAAK3kU,KAAKkqV,mBAAmBhG,OAAO7pW,GAAG,EAC/gBsqV,KAAK3kU,KAAK4tV,kBAAkB,mDAAmDjpB,KAAK3kU,KAAKksV,QAAQ2B,iBAAiBlpB,KAAK3kU,KAAK4tV,kBAAkBjpB,KAAK3kU,KAAKksV,QAAQ4B,YAAY,SAASzzW,GAAG,OAAGA,aAAasqV,KAAK3kU,KAAKksV,QAAe7xW,GAAEA,EAAE,iBAAiBA,GAAGA,EAAE2pW,gCAAgC3pW,EAAE4pW,sBAAsB52T,OAAOhzC,GAAUsqV,KAAK3kU,KAAK4tV,kBAAkB5wQ,KAAK3iG,GAAGsqV,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,GAAGsqV,KAAK3kU,KAAKksV,QAAQU,eAAevyW,GAAE,EAC9csqV,KAAK3kU,KAAKksV,QAAQ/rV,SAAS,SAAS9lB,GAAG,OAAOsqV,KAAK3kU,KAAKksV,QAAQ4B,YAAYzzW,IAAIsqV,KAAK3kU,KAAKksV,QAAQY,aAAa,EAC/GnoB,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB,SAAS1zW,EAAE2hE,GAAG,OAAG3hE,aAAasqV,KAAK3kU,KAAKksV,QAAe7xW,GAAEA,EAAE,iBAAiBA,GAAGA,EAAE2pW,gCAAgC3pW,EAAE4pW,sBAAsB52T,OAAOhzC,GAAM2hE,GAAG,UAAUghC,KAAK3iG,KAAK2hE,EAAE2oR,KAAK3kU,KAAKksV,QAAQW,YAAYxyW,IAAK4pW,uBAAuB5pW,EAAU2hE,GAAE2oR,KAAK8L,QAAQn0I,OAAOqoI,KAAK3kU,KAAK4tV,kBAAkB5wQ,KAAK3iG,GAAG,yCAAyCA,KAAKA,EAAEsqV,KAAK3kU,KAAKksV,QAAQE,kBAAyBznB,KAAK3kU,KAAKksV,QAAQG,8CAA8ChyW,IAAE,EACpfsqV,KAAK3kU,KAAKksV,QAAQ9B,2BAA2B,CAAC,EAAEzlB,KAAK3kU,KAAKksV,QAAQG,8CAA8C,SAAShyW,GAAG,OAAO,IAAIsqV,KAAK3kU,KAAKksV,QAAQ7xW,EAAEsqV,KAAK3kU,KAAKksV,QAAQ9B,2BAA2B,EAAEzlB,KAAK3kU,KAAKksV,QAAQY,cAAcnoB,KAAK3kU,KAAKksV,QAAQG,8CAA8C1nB,KAAK3kU,KAAKksV,QAAQE,kBAAkBznB,KAAK3kU,KAAKksV,QAAQ8B,YAAYrpB,KAAK3kU,KAAKksV,QAAQG,8CAA8C,eAAe1nB,KAAK3kU,KAAKiuV,UAAU,SAAS5zW,EAAE2hE,GAAGn6D,KAAKqsW,+CAA+ClyS,IAAI2oR,KAAK3kU,KAAKiuV,UAAU7D,2BAA2B/vW,EAAE,EAAE,EAAEsqV,KAAK3kU,KAAKiuV,UAAUtkU,UAAUq6T,iCAAgC,EACxoBrf,KAAK3kU,KAAKiuV,UAAUxJ,aAAa,SAASpqW,GAAiC,OAAG,KAAjCA,EAAEsqV,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAYpG,OAAc0wV,KAAK3kU,KAAKiuV,UAAUt5U,OAAMgwT,KAAK8L,QAAQn0I,OAAOqoI,KAAKjF,OAAO5mM,SAAS1xG,SAAS/sC,EAAE,KAAK,8CAA8CA,GAAGsqV,KAAK8L,QAAQn0I,OAAOqoI,KAAKjF,OAAO5mM,SAASroH,SAASp2B,EAAE,KAAK,kFAAkFA,GAAUsqV,KAAK3kU,KAAKiuV,UAAUE,gDAAgD9zW,GAAE,EACjcsqV,KAAK3kU,KAAKiuV,UAAUtkU,UAAUs6T,oBAAoB,WAAW,OAAOpiW,KAAKqsW,8CAA8C,EAAEvpB,KAAKr6S,QAAQq6S,KAAK3kU,KAAKiuV,UAAUtkU,UAAU3G,SAAS,WAAW,MAAM,aAAanhC,KAAKqsW,+CAA+C,GAAG,GAClQvpB,KAAK3kU,KAAKiuV,UAAU/J,OAAO,SAAS7pW,GAAG,OAAGA,aAAasqV,KAAK3kU,KAAKiuV,WAAW5zW,EAAEiH,cAAcqjV,KAAK3kU,KAAKiuV,UAAiB5zW,EAAE6zW,gDAA+CvpB,KAAK8L,QAAQ98P,KAAK,2CAA2Ct5F,EAAE,aAAasqV,KAAKoE,OAAO1uV,IAAU,uBAAsB,EAAEsqV,KAAK3kU,KAAKiuV,UAAU7D,2BAA2B,CAAC,EAAEzlB,KAAK3kU,KAAKiuV,UAAUE,gDAAgD,SAAS9zW,GAAG,OAAO,IAAIsqV,KAAK3kU,KAAKiuV,UAAU5zW,EAAEsqV,KAAK3kU,KAAKiuV,UAAU7D,2BAA2B,EACpfzlB,KAAK3kU,KAAKiuV,UAAUt5U,MAAMgwT,KAAK3kU,KAAKiuV,UAAUE,gDAAgD,IAAIxpB,KAAK3kU,KAAKiuV,UAAU7B,iBAAiB,YACvIznB,KAAK3kU,KAAKiuV,UAAU52U,OAAO,SAASh9B,GAAG,IAAS/F,EAAL0nE,EAAE,GAAK,IAAI1nE,KAAK+F,EAAE,GAAG42B,OAAO0Y,UAAU8qB,eAAelK,KAAKlwD,EAAE/F,GAAG,CAAC,IAAI,mBAAmB0oG,KAAK1oG,GAAG,MAAMo1C,MAAM,wCAAwCp1C,GAAG,IAAI3E,EAAE0K,EAAE/F,GAAG,MAAM3E,IAA4JqsE,GAAG1nE,EAAE,KAA7J3E,EAAEwD,MAAMC,QAAQzD,GAAG+iW,+BAA+B/iW,EAAEg1V,KAAK3kU,KAAKiuV,UAAUG,wBAAwB7gU,KAAK,KAAKo3S,KAAK3kU,KAAKiuV,UAAUG,uBAAuBz+W,IAAc,IAAI,CAAC,OAAOqsE,EAAE2oR,KAAK3kU,KAAKiuV,UAAUE,gDAAgDnyS,GAAG2oR,KAAK3kU,KAAKiuV,UAAUt5U,KAAK,EACvegwT,KAAK3kU,KAAKiuV,UAAUG,uBAAuB,SAAS/zW,GAAG,GAAGA,aAAasqV,KAAK3kU,KAAKksV,QAAQ,MAAM,QAAQvnB,KAAK3kU,KAAKksV,QAAQhI,OAAO7pW,GAAG6V,QAAQ,KAAK,OAAOA,QAAQ,SAAS,QAAQ,KAA8H,GAAzH7V,EAAEA,aAAasqV,KAAKjF,OAAOikB,MAAMhf,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAGsqV,KAAK3kU,KAAKiuV,UAAUI,6BAA6BhhU,OAAOhzC,IAAO,QAAQ2iG,KAAK3iG,GAAG,MAAM,IAAIsqV,KAAK8L,QAAQE,eAAe,uCAAuC,CAACt2V,IAAI,OAAOA,CAAC,EAC3ZsqV,KAAK3kU,KAAKiuV,UAAUI,6BAA6B,SAASh0W,GAAG,IAAI2hE,EAAE3hE,EAAE6V,QAAQy0U,KAAK3kU,KAAKiuV,UAAUK,cAAc,MAAMp+V,QAAQy0U,KAAK3kU,KAAKiuV,UAAUK,cAAc,MAAMp+V,QAAQy0U,KAAK3kU,KAAKiuV,UAAUM,QAAQ,OAAO,OAAG5pB,KAAK3kU,KAAKiuV,UAAUO,UAAUxxQ,KAAKhhC,GAAO2oR,KAAK3kU,KAAKiuV,UAAUQ,YAAYzxQ,KAAK3iG,IAAUsqV,KAAK8L,QAAQ98P,KAAK,yCAAyCt5F,GAAGsqV,KAAK3kU,KAAKiuV,UAAU7B,kBAAqBznB,KAAK3kU,KAAKiuV,UAAUS,mBAAmBr0W,GAC9YsqV,KAAK3kU,KAAKiuV,UAAUU,2BAA2Bt0W,GAAqVsqV,KAAK3kU,KAAKiuV,UAAUW,aAAav0W,IAA5WsqV,KAAK8L,QAAQ98P,KAAK,gGAAgGt5F,GAAGsqV,KAAK3kU,KAAKiuV,UAAU7B,mBADsNznB,KAAK8L,QAAQ98P,KAAK,+CACtdt5F,GAAGsqV,KAAK3kU,KAAKiuV,UAAU7B,mBAAoPznB,KAAK8L,QAAQ98P,KAAK,4BAA4BgxP,KAAK3kU,KAAKiuV,UAAUY,qBAAqB,+BAA+Bx0W,GAAGsqV,KAAK3kU,KAAKiuV,UAAU7B,iBAA2D,EACndznB,KAAK3kU,KAAKiuV,UAAUS,mBAAmB,SAASr0W,GAAG,QAAQ2hE,GAAE,EAAG1nE,GAAE,EAAG3E,EAAE,EAAEA,EAAE0K,EAAEpG,OAAOtE,IAAI,CAAC,IAAI0xC,EAAEhnC,EAAE4c,OAAOtnB,GAAG,KAAK0xC,GAAG/sC,EAAE0nE,GAAGA,EAAE,KAAK36B,GAAG26B,IAAI1nE,GAAGA,EAAE,CAAC,OAAO0nE,GAAG1nE,CAAC,EAAEqwV,KAAK3kU,KAAKiuV,UAAUU,2BAA2B,SAASt0W,GAAG,QAAQ2hE,GAAE,EAAG1nE,EAAE,kBAAkB3E,EAAE,EAAEA,EAAE0K,EAAEpG,OAAOtE,IAAI,CAAC,IAAI0xC,EAAEhnC,EAAE4c,OAAOtnB,GAAG,GAAG,KAAK0xC,EAAE,CAAC,GAAG26B,EAAE,OAAM,EAAGA,GAAE,CAAE,SAAS,KAAK36B,EAAE,CAAC,IAAI26B,EAAE,OAAM,EAAGA,GAAE,CAAE,UAAUA,IAAI1nE,EAAE0oG,KAAK37D,GAAG,OAAM,CAAE,CAAC,OAAO26B,CAAC,EAAE2oR,KAAK3kU,KAAKiuV,UAAUY,qBAAqB,+BAChblqB,KAAK3kU,KAAKiuV,UAAUO,UAAU,IAAIn9R,OAAO,IAAIszQ,KAAK3kU,KAAKiuV,UAAUY,qBAAqB,MAAMlqB,KAAK3kU,KAAKiuV,UAAUM,QAAQ,mFAAmF5pB,KAAK3kU,KAAKiuV,UAAUa,mBAAmB,2HAA2H9hV,MAAM,KACnX23T,KAAK3kU,KAAKiuV,UAAUK,cAAc,IAAIj9R,OAAO,OAAOszQ,KAAK3kU,KAAKiuV,UAAUa,mBAAmBvhU,KAAK,KAAK,iCAAiC,KAAKo3S,KAAK3kU,KAAKiuV,UAAUQ,YAAY,OAAO9pB,KAAK3kU,KAAKiuV,UAAUW,aAAa,SAASv0W,GAAG,OAAOA,EAAE6V,QAAQy0U,KAAK3kU,KAAKiuV,UAAUM,QAAQ,SAASvyS,EAAE1nE,EAAE3E,EAAE0xC,GAAG,IAAItlB,EAAE,GAAGpsB,SAAEA,EAAEugB,QAAQ,iBAAiB,SAASyuM,EAAE9oG,EAAE5wE,GAAGlpB,SAAE85F,EAAS5wE,CAAC,GAAG+2B,EAAE2oR,KAAK3kU,KAAKksV,QAAQ/rV,SAASxwB,GAAGs0W,sBAA6B3vW,EAAEynB,EAAEigD,EAAEjgD,EAAEslB,CAAC,EAAE,EAC3asjT,KAAK3kU,KAAKiuV,UAAU3+W,OAAO,SAAS+K,GAAG,IAAI2hE,EAAE,GAAG1nE,EAAE,SAAS3E,GAAGwD,MAAMC,QAAQzD,GAAG2iW,mCAAmC3iW,EAAE2E,GAAG0nE,GAAG2oR,KAAK3kU,KAAKiuV,UAAU/J,OAAOv0W,EAAE,EAAE2iW,0CAAmChgT,UAAUh+C,GAAU0nE,EAAE2oR,KAAK3kU,KAAKiuV,UAAUE,gDAAgDnyS,GAAG2oR,KAAK3kU,KAAKiuV,UAAUt5U,KAAK,EAAE,IAAIo6U,mEAAmE,CAAC,EAAEC,wDAAwD,SAAS30W,EAAE2hE,GAAGn6D,KAAKotW,oDAAoDjzS,IAAI+yS,mEAAmE10W,EAAE,GAAGwH,KAAKmiW,iCAAgC,CAAE,EAChnBgL,wDAAwDE,WAAW,SAAS70W,EAAE2hE,GAAG,MAAM2oR,KAAKjF,OAAO5mM,SAASroH,UAAUp2B,EAAE,KAAK,MAAMqvC,MAAM,qCAAqCrvC,GAAG,IAAI/F,EAAE+F,EAAE6V,QAAQ,wCAAwC,IAAI,IAAI,qCAAqC8sF,KAAK1oG,GAAG,MAAMo1C,MAAM,2EAA2ErvC,GAAG,IAAI20W,wDAAwDG,qBAAqB76W,GAAG,MAAMo1C,MAAM,gDACxdrvC,GAAG2hE,oBAAa2oR,KAAK3kU,KAAKiuV,YAAYjyS,EAAE2oR,KAAK3kU,KAAKiuV,UAAU52U,OAAO2kC,IAAI3hE,EAAEA,EAAE,IAAIsqV,KAAK3kU,KAAKiuV,UAAU/J,OAAOloS,GAAG9rD,QAAQ,KAAK,SAAS,IAAW8+V,wDAAwDI,qDAAqD/0W,EAAE,EAAE20W,wDAAwDG,qBAAqB,SAAS90W,GAAG,QAAQ2hE,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK1nE,EAAE,GAAG3E,EAAE,EAAEA,EAAE0K,EAAEpG,OAAOtE,IAAI,CAAC,IAAI0xC,EAAEhnC,EAAE1K,GAAG,GAAGqsE,EAAE36B,GAAG/sC,EAAEqvC,KAAKq4B,EAAE36B,SAAE,GAAUsjT,KAAKt9P,OAAO52D,SAASurC,EAAE36B,IAAI/sC,EAAE42P,OAAO7pN,EAAE,OAAM,CAAE,CAAC,OAAO,GAAG/sC,EAAEL,MAAM,EACtf+6W,wDAAwD1/W,OAAO,SAAS+K,GAAG,IAAI2hE,EAAE,GAAG1nE,EAAE,SAAS3E,GAAGwD,MAAMC,QAAQzD,GAAG2iW,mCAAmC3iW,EAAE2E,GAAG0nE,GAAGgzS,wDAAwD9K,OAAOv0W,EAAE,EAAE2iW,0CAAmChgT,UAAUh+C,GAAU06W,wDAAwDI,qDAAqDpzS,EAAE,EACvYgzS,wDAAwDvK,aAAa,SAASpqW,GAAiC,OAAG,KAAjCA,EAAEsqV,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAYpG,OAAc+6W,wDAAwDr6U,UAASgwT,KAAK8L,QAAQn0I,UAAQ,EAAIqoI,KAAKjF,OAAO5mM,SAASroH,UAAUp2B,EAAE,KAAK,kDAAkDA,GAAU20W,wDAAwDI,qDAAqD/0W,GAAE,EACjb20W,wDAAwDrlU,UAAUs6T,oBAAoB,WAAW,OAAOpiW,KAAKotW,mDAAmD,EAChKD,wDAAwD9K,OAAO,SAAS7pW,GAAG,OAAGA,aAAa20W,yDAAyD30W,EAAEiH,cAAc0tW,wDAA+D30W,EAAE40W,wDAAuDtqB,KAAK8L,QAAQ98P,MAAM,gDAAgDt5F,EAAE,aAAasqV,KAAKoE,OAAO1uV,IAAU,4BAA2B,EAC/Z20W,wDAAwDI,qDAAqD,SAAS/0W,GAAG,OAAO,IAAI20W,wDAAwD30W,EAAE00W,mEAAmE,EAAEpqB,KAAKr6S,QAAQ0kU,wDAAwDrlU,UAAU3G,SAAS,WAAW,MAAM,kBAAkBnhC,KAAKotW,oDAAoD,GAAG,GAC1bD,wDAAwDr6U,MAAMq6U,wDAAwDI,qDAAqD,IAAIzqB,KAAK3kU,KAAKqvV,eAAeL,wDAAwDrqB,KAAK2qB,KAAK,CAAC,EAAE3qB,KAAK2qB,KAAKxhR,UAAU,CAAC,EAAE62P,KAAK2qB,KAAKxhR,UAAUyhR,KAAK,CAAC,EAAE5qB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKC,0BAA0B,WAAW,IAAIn1W,EAAEsqV,KAAK2qB,KAAKxhR,UAAUyhR,KAAKE,gBAAgB,OAAOp1W,IAAIA,EAAEA,EAAEyzF,WAAWzzF,EAAE,EAAE,EAAEsqV,KAAK2qB,KAAKxhR,UAAUyhR,KAAKE,cAAc,WAAW,OAAO9qB,KAAKlsQ,OAAO1Z,SAAS,EAAE4lR,KAAK2qB,KAAKxhR,UAAUyhR,KAAKG,WAAW/qB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKC,4BAA4B7qB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKI,aAAa,SAASt1W,GAAGsqV,KAAK2qB,KAAKxhR,UAAUyhR,KAAKG,WAAWr1W,GAAGsqV,KAAK2qB,KAAKxhR,UAAUyhR,KAAKC,2BAA2B,EACnwB7qB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKK,aAAa,WAAW,OAAOjrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKG,UAAU,EAAE/qB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,SAASx1W,GAAG,IAAI2hE,EAAE2oR,KAAK2qB,KAAKxhR,UAAUyhR,KAAKK,eAAe,OAAOjrB,KAAKjF,OAAO5mM,SAASroH,SAASurC,EAAE3hE,EAAE,EAAEsqV,KAAK2qB,KAAKxhR,UAAUyhR,KAAKO,yBAAyB,SAASz1W,GAAG,IAAI2hE,EAAE2oR,KAAK2qB,KAAKxhR,UAAUyhR,KAAKK,eAAe,OAAOjrB,KAAKjF,OAAO5mM,SAASizN,wBAAwB/vS,EAAE3hE,EAAE,EAC9YsqV,KAAK2qB,KAAKxhR,UAAUyhR,KAAKQ,qBAAqB,SAAS11W,GAAG,QAAwD1K,EAAhDqsE,EAAE,yCAAyC1nE,EAAE,GAAK3E,EAAEqsE,EAAE0E,KAAKrmE,IAAI/F,EAAEqvC,KAAK,CAACh0C,EAAE,GAAGA,EAAE,GAAGA,EAAE,SAAI,IAAS,OAAO2E,CAAC,EAAEqwV,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ,CAAC,EAAEi3N,KAAK2qB,KAAKxhR,UAAU4/B,QAAQsiP,YAAY,WAAW,OAAOrrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,QAAQ,EAAElrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQuiP,SAAS,WAAW,OAAOtrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,YAAYlrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,OAAO,EAAElrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQwiP,eAAe,WAAW,OAAOvrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,OAAO,EAAElrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQyiP,mBAAmB,WAAW,OAAOxrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,OAAO,EACjrBlrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ0iP,oBAAoB,WAAW,OAAOzrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,MAAM,EAAElrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ2iP,cAAc,WAAW,OAAO1rB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,YAAYlrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,QAAQ,EAClRlrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ4iP,aAAa,WAAW,OAAO3rB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,aAAalrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ6iP,gBAAgB5rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ8iP,eAAe7rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQsiP,eAAerrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQwiP,kBAAkBvrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQyiP,sBAAsBxrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ0iP,uBAAuBzrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ2iP,iBAAiB1rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ+iP,UAAU9rB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,WAAW,EAC3gBlrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ8iP,YAAY,WAAW,OAAO7rB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,QAAQ,EAAElrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQgjP,iBAAiB,WAAW,OAAO/rB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,SAASlrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,aAAalrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ4iP,iBAAiB3rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ6iP,iBAAiB5rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ8iP,gBAAgB7rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ2iP,iBAAiB1rB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,cAAc,EAC1flrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ6iP,aAAa,WAAW,OAAO5rB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,WAAWlrB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,YAAYlrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQwiP,gBAAgB,EAAEvrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQijP,qBAAqB,WAAW,OAAOhsB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,cAAclrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ09I,YAAYu5E,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ0wF,aAAaumI,KAAK2qB,KAAKxhR,UAAU4/B,QAAQkjP,WAAWjsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ+iP,SAAS,EACte9rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQkjP,QAAQjsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQsiP,YAAYrrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ9/B,KAAK+2P,KAAK2qB,KAAKxhR,UAAU4/B,QAAQuiP,SAAStrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQmjP,OAAOlsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQwiP,eAAevrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQojP,eAAensB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQyiP,mBAAmBxrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQqjP,gBAAgBpsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ0iP,oBAAoBzrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ0wF,UAAUumI,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ2iP,cACxd1rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQsjP,SAASrsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ4iP,aAAa3rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQujP,QAAQtsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ8iP,YAAY7rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQwjP,aAAavsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQgjP,iBAAiB/rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ09I,SAASu5E,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ6iP,aAAa5rB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQyjP,iBAAiBxsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQijP,qBAAqBhsB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ+iP,OAAO,WAAW,OAAO9rB,KAAK2qB,KAAKxhR,UAAUyhR,KAAKM,eAAe,OAAO,EAChgBlrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQlzH,WAAW,WAAW,SAASH,EAAEgnC,GAAGA,SAAE4xT,gCAAgC5xT,EAAE1xC,GAAU2E,EAAE+sC,IAAI,EAAE,CAAC,IAAI26B,EAAE2oR,KAAK2qB,KAAKxhR,UAAUyhR,KAAKK,eAAe,GAAGjrB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ9/B,OAAO,OAAO+2P,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ0jP,cAAcp1S,GAAGA,EAAE2oR,KAAK2qB,KAAKxhR,UAAUyhR,KAAKQ,qBAAqB/zS,GAAG,IAAI1nE,EAAE,CAAC,EAAEg+V,mCAAmCt2R,EAAE,SAAS36B,GAAG/sC,EAAE+sC,EAAE,IAAIA,EAAE,EAAE,GAAG,IAAI1xC,EAAEg1V,KAAKgF,QAAQhF,KAAKt9P,OAAOi7Q,YAAYhuW,GAAG,OAAOqwV,KAAK2qB,KAAKxhR,UAAU4/B,QAAQkjP,UAAUv2W,EAAE,CAAC,UAAU,UAAUsqV,KAAK2qB,KAAKxhR,UAAU4/B,QAAQmjP,SACzgBx2W,EAAE,CAAC,SAASsqV,KAAK2qB,KAAKxhR,UAAU4/B,QAAQojP,iBAAiBz2W,EAAE,CAAC,QAAQsqV,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ09I,WAAW/wQ,EAAE,CAAC,SAAS,QAAQ,oBAAoB2hE,EAAEA,EAAE,KAAKA,EAAE,IAAI,EAAE,EAAE2oR,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ2jP,kBAAkB,SAASh3W,GAAG,OAAO,GAAGsqV,KAAKjF,OAAO5mM,SAASkzN,gBAAgBrnB,KAAK2qB,KAAKxhR,UAAU4/B,QAAQlzH,aAAaH,EAAE,EAC1TsqV,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ0jP,cAAc,SAAS/2W,GAAG,IAAI2hE,EAAE,iBAAiB0E,KAAKrmE,GAAG,GAAG2hE,GAAGA,EAAE,GAAG,OAAOA,EAAE,GAAGA,EAAE,GAAG,IAAI1nE,EAAE,kBAAkBosE,KAAKrmE,GAAG,GAAG/F,GAAGA,EAAE,GAAG,GAAG+F,EAAE,mBAAmBqmE,KAAKrmE,GAAG,OAAO/F,EAAE,GAAG,GAAG+F,GAAGA,EAAE,GAAG,OAAOA,EAAE,IAAI,IAAK,MAAM2hE,EAAE,MAAM,MAAM,IAAK,MAAMA,EAAE,MAAM,MAAM,IAAK,MAAMA,EAAE,OAAO,MAAM,IAAK,MAAMA,EAAE,YAAYA,EAAE,WAAWA,EAAE1nE,EAAE,GAAG,OAAO0nE,CAAC,EAAE2oR,KAAK3kU,KAAKsxV,SAAS,SAASj3W,EAAE2hE,EAAE1nE,GAAGuN,KAAK0vW,8CAA8Cj9W,IAAIqwV,KAAK3kU,KAAKsxV,SAASlH,2BAA2B/vW,EAAE,GAAGwH,KAAK2vW,KAAKx1S,CAAC,EAAE2oR,KAAK3kU,KAAKsxV,SAASG,sBAAsB9sB,KAAKr6S,MAAMq6S,KAAK3kU,KAAKsxV,SAASI,yBAAwB,EAAG/sB,KAAK3kU,KAAKsxV,SAAS3nU,UAAU0gU,yCAAwC,EAAG1lB,KAAK3kU,KAAKsxV,SAAS3nU,UAAUukR,aAAa,WAAW,OAAOrsT,KAAK2vW,IAAI,EAAE7sB,KAAK3kU,KAAKsxV,SAAS3nU,UAAUq6T,iCAAgC,EAC3yBrf,KAAK3kU,KAAKsxV,SAAS3nU,UAAUs6T,oBAAoB,WAAW,OAAOpiW,KAAK0vW,8CAA8CvuU,UAAU,EAAE2hT,KAAKr6S,QAAQq6S,KAAK3kU,KAAKsxV,SAAS3nU,UAAU3G,SAAS,WAAW,MAAM,YAAYnhC,KAAK0vW,8CAA8C,GAAG,GAAG5sB,KAAK3kU,KAAKsxV,SAASpN,OAAO,SAAS7pW,GAAG,OAAOsqV,KAAK3kU,KAAKsxV,SAASK,kBAAkBt3W,GAAG2oC,UAAU,EAC1W2hT,KAAK3kU,KAAKsxV,SAASK,kBAAkB,SAASt3W,GAAG,OAAGA,aAAasqV,KAAK3kU,KAAKsxV,UAAUj3W,EAAEiH,cAAcqjV,KAAK3kU,KAAKsxV,SAAgBj3W,EAAEk3W,+CAA8C5sB,KAAK8L,QAAQ98P,KAAK,0CAA0Ct5F,EAAE,aAAasqV,KAAKoE,OAAO1uV,IAAU,sBAAqB,EACrSsqV,KAAK3kU,KAAKsxV,SAAShG,WAAW,SAASjxW,GAAG,GAAGA,aAAasqV,KAAK3kU,KAAKsxV,SAAS,OAAOj3W,EAAE,IAAI2hE,EAAE,iBAAiB3hE,EAAE/F,EAAE,KAAK0nE,UAAG3hE,EAAEgwW,0CAA0C/1W,EAAE+F,EAAE6zT,gBAAgB7zT,EAAE2hE,GAAG3hE,EAAE2pW,gCAAgC3pW,EAAE4pW,sBAAsB52T,OAAOhzC,GAAUsqV,KAAK3kU,KAAKsxV,SAASM,+CAA+CjtB,KAAKjF,OAAO5mM,SAASwyN,WAAWjxW,GAAG/F,EAAE,EAChXqwV,KAAK3kU,KAAKsxV,SAASO,6BAA6B,SAASx3W,GAAG,OAAGA,aAAasqV,KAAK3kU,KAAKsxV,SAAgBj3W,GAAEA,EAAEsqV,KAAK3kU,KAAKsxV,SAAShG,WAAWjxW,GAAUsqV,KAAK3kU,KAAKsxV,SAASM,+CAA+CjtB,KAAKjF,OAAO5mM,SAASuyN,YAAY1mB,KAAK3kU,KAAKsxV,SAASpN,OAAO7pW,IAAIA,EAAE6zT,gBAAe,EACpSy2B,KAAK3kU,KAAKsxV,SAASQ,sCAAsC,SAASz3W,GAAG,OAAGA,aAAasqV,KAAK3kU,KAAKsxV,SAAgBj3W,GAAEA,EAAEsqV,KAAK3kU,KAAKsxV,SAAShG,WAAWjxW,GAAUsqV,KAAK3kU,KAAKsxV,SAASM,+CAA+CjtB,KAAKjF,OAAO5mM,SAASgzN,iBAAiBnnB,KAAK3kU,KAAKsxV,SAASpN,OAAO7pW,IAAIA,EAAE6zT,gBAAe,EAAEy2B,KAAK3kU,KAAKsxV,SAASv4S,KAAK4rR,KAAK3kU,KAAKsxV,SAAShG,WAC/V3mB,KAAK3kU,KAAKsxV,SAASS,QAAQ,SAAS13W,GAAG,OAAOsqV,KAAK3kU,KAAKsxV,SAASM,+CAA+C,UAAUjtB,KAAKjF,OAAO5mM,SAASwyN,WAAWjxW,GAAG,SAAS,KAAK,EAAEsqV,KAAK3kU,KAAKsxV,SAASU,oBAAoB,kBAAkBrtB,KAAK3kU,KAAKsxV,SAASW,gBAAgB,CAAC5kX,QAAO,EAAG6kX,MAAK,EAAGjjX,MAAK,EAAGkjX,YAAW,EAAGx7V,MAAK,EAAGy7V,UAAS,EAAGC,QAAO,EAAGn8T,KAAI,GACpVyuS,KAAK3kU,KAAKsxV,SAASgB,uBAAuB3tB,KAAKt9P,OAAOy7Q,UAAUne,KAAK3nO,IAAIo9O,QAAQM,OAAO/V,KAAK3nO,IAAIo9O,QAAQY,KAAKrW,KAAK3nO,IAAIo9O,QAAQyC,MAAMlY,KAAK3nO,IAAIo9O,QAAQ8D,OAAOvZ,KAAK3nO,IAAIo9O,QAAQuE,KAAKha,KAAK3nO,IAAIo9O,QAAQ2E,KAAKpa,KAAK3nO,IAAIo9O,QAAQ8E,KAAKva,KAAK3nO,IAAIo9O,QAAQ7mC,OAAOoxB,KAAK3nO,IAAIo9O,QAAQ+F,OAAOxb,KAAK3nO,IAAIo9O,QAAQuG,MAAMhc,KAAK3nO,IAAIo9O,QAAQ2G,IAAIpc,KAAK3nO,IAAIo9O,QAAQ8G,UAC5Uvc,KAAK3kU,KAAKsxV,SAASj6U,OAAO,SAASh9B,EAAE2hE,EAAE1nE,GAAGqwV,YAAK3kU,KAAKsxV,SAASiB,cAAcllU,OAAOhzC,IAAWsqV,KAAK3kU,KAAKsxV,SAASkB,kDAAkDnlU,OAAOhzC,GAAG2hE,EAAE1nE,EAAE,EAChLqwV,KAAK3kU,KAAKsxV,SAASiB,cAAc,SAASl4W,GAAG,IAAIsqV,KAAK3kU,KAAKsxV,SAASU,oBAAoBh1Q,KAAK3iG,GAAG,MAAMqvC,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,qBAAqBp3W,EAAE,KAAK,IAAI,GAAGA,EAAEuhC,gBAAgB+oT,KAAK3kU,KAAKsxV,SAASgB,uBAAuB,MAAM5oU,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,aAAap3W,EAAE,iCAAiC,GAAI,EAC7VsqV,KAAK3kU,KAAKsxV,SAASmB,aAAa,SAASp4W,EAAE2hE,EAAE1nE,EAAE3E,GAAG0K,GAAGsqV,KAAK3kU,KAAKkqV,mBAAmBhG,OAAO7pW,GAAG,IAAIgnC,EAAE,CAAC,EAAEA,SAAE6U,IAAI77C,GAAG,KAAKgnC,EAAEqxU,OAAO12S,GAAG2oR,KAAK3kU,KAAKsxV,SAASpN,OAAOloS,GAAG3hE,EAAEsqV,KAAK3kU,KAAKsxV,SAASqB,kBAAkBtxU,EAAE,CAACgjS,QAAQ,IAAI/vU,GAAUqwV,KAAK3kU,KAAKsxV,SAASkB,kDAAkD,SAASn4W,EAAE1K,EAAE,EAC9Sg1V,KAAK3kU,KAAKsxV,SAASsB,oBAAoB,SAASv4W,EAAE2hE,EAAE1nE,EAAE3E,GAAG,IAAIg1V,KAAK3kU,KAAKsxV,SAASuB,sBAAsB,MAAMnpU,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,kDAAkD,IAAI,IAAIpwU,EAAE,CAAC,EAAEA,SAAE6U,IAAI77C,EAAEsqV,KAAK3kU,KAAKksV,QAAQhI,OAAOvf,KAAK3kU,KAAKksV,QAAQ/rV,SAAS9lB,IAAI,KAAKgnC,EAAEqxU,OAAO12S,GAAG,KAAK36B,EAAEgjS,QAAQ,GAAGhqU,EAAEsqV,KAAK3kU,KAAKsxV,SAASqB,kBAAkBtxU,EAAE,CAAC,EAAE/sC,GAAUqwV,KAAK3kU,KAAKsxV,SAASkB,kDAAkD,SAASn4W,EAAE1K,EAAE,EACrcg1V,KAAK3kU,KAAKsxV,SAASuB,oBAAoB,WAAW,OAAOluB,KAAKlsQ,OAAOq6R,mBAAmB,YAAYnuB,KAAKlsQ,OAAOq6R,kBAAkBnpU,SAAS,EAAEg7S,KAAK3kU,KAAKsxV,SAASyB,gBAAgB,SAAS14W,EAAE2hE,GAAG2oR,YAAK3kU,KAAKkqV,mBAAmBhG,OAAO7pW,GAAGA,EAAEsqV,KAAK3kU,KAAKsxV,SAASqB,kBAAkB,CAACz8T,IAAI77C,GAAG,CAAC,EAAE2hE,GAAU2oR,KAAK3kU,KAAKsxV,SAASkB,kDAAkD,SAASn4W,EAAE,EACjXsqV,KAAK3kU,KAAKsxV,SAASziB,aAAa,SAASx0V,EAAE2hE,GAAG,QAAQ1nE,KAAK0nE,EAAE,GAAG/qC,OAAO0Y,UAAU8qB,eAAelK,KAAKyR,EAAE1nE,GAAG,CAAC,IAAI3E,EAAE2E,EAAEnI,cAAc,GAAG,YAAYwD,GAAG,OAAOA,GAAG,QAAQA,GAAG,QAAQA,EAAE,MAAM+5C,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,eAAe9hX,EAAE,cAAc,GAAI,CAA6C,IAA5C2E,EAAE,GAAG+F,EAAE65V,kCAAkC75V,GAAO1K,EAAE,EAAEA,EAAE0K,EAAEpG,OAAOtE,IAAI2E,GAAGiwW,gDAAgDL,OAAO7pW,EAAE1K,IAAI0K,SAAEsqV,KAAK3kU,KAAKsxV,SAASM,+CAA+Ct9W,EAAEqwV,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,SAAgB7hB,KAAK3kU,KAAKsxV,SAASkB,kDAAkD,SAC5jBx2S,EAAE3hE,EAAE,EAAEsqV,KAAK3kU,KAAKsxV,SAAS0B,YAAY,SAAS34W,EAAE2hE,GAAGA,EAAE2oR,KAAK3kU,KAAKsxV,SAASqB,kBAAkB,CAAC7iW,KAAK,YAAY,CAAC,EAAEksD,GAAG,IAAI1nE,EAAE,GAAG+F,EAAE65V,kCAAkC75V,GAAG,QAAQ1K,EAAE,EAAEA,EAAE0K,EAAEpG,OAAOtE,IAAI2E,GAAG06W,wDAAwD9K,OAAO7pW,EAAE1K,IAAI0K,SAAEsqV,KAAK3kU,KAAKsxV,SAASM,+CAA+Ct9W,EAAEqwV,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,SAAgB7hB,KAAK3kU,KAAKsxV,SAASkB,kDAAkD,QAAQx2S,EAAE3hE,EAAE,EAC/bsqV,KAAK3kU,KAAKsxV,SAAS2B,kBAAkB,SAAS54W,EAAE2hE,GAAG3hE,SAAEsqV,KAAK3kU,KAAKksV,QAAQhI,OAAOvf,KAAK3kU,KAAKksV,QAAQ/rV,SAAS9lB,KAAKsqV,KAAK2qB,KAAKxhR,UAAU4/B,QAAQ9/B,QAAQ+2P,KAAK2qB,KAAKxhR,UAAU4/B,QAAQmjP,WAAWlsB,KAAKjF,OAAO5mM,SAASroH,SAASp2B,EAAE,OAAOA,EAAE,IAAIA,EAAE6V,QAAQ,KAAK,OAAO,KAAYy0U,KAAK3kU,KAAKsxV,SAASkB,kDAAkD,OAAO,CAAC,aAAa,UAAUp5T,SAAS4iB,GAAG,GAAG,SAAS3hE,GAAG,EACvYsqV,KAAK3kU,KAAKsxV,SAAS4B,qBAAqB,SAAS74W,EAAE2hE,EAAE1nE,GAAG,GAAGA,aAAaqwV,KAAKjF,OAAOikB,MAAMrvW,EAAEqwV,KAAKjF,OAAOikB,MAAMO,OAAO5vW,QAAC,GAAU,SAAS0nE,EAAE7vE,cAAc,KAAGw4V,KAAK3kU,KAAKsxV,SAASI,wBAAoE,MAAMhoU,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,mCAAmC,IAApIn9W,EAAEqwV,KAAK3kU,KAAKsxV,SAAS6B,eAAe7+W,EAAkG,KAAM,CAAC,GAAG,OAAO0oG,KAAKhhC,GAAG,MAAMtyB,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,cAAcz1S,EAAE,wCAAwC1nE,EAAE,WAAW,IAAI,GAAG0nE,EAAE7vE,gBACzew4V,KAAK3kU,KAAKsxV,SAASW,gBAAgB,GAAG39W,aAAaqwV,KAAK3kU,KAAKkqV,mBAAmB51W,EAAEqwV,KAAK3kU,KAAKkqV,mBAAmBhG,OAAO5vW,QAAC,GAAUA,aAAaqwV,KAAK3kU,KAAKksV,QAAQ53W,EAAEqwV,KAAK3kU,KAAKksV,QAAQhI,OAAO5vW,OAAC,IAAU,iBAAkBA,EAA6D,MAAMo1C,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,cAAcz1S,EAAE,aAAa3hE,EAAE,sEAAsE/F,EAAE,WAAW,IAAlOA,EAAEqwV,KAAK3kU,KAAKksV,QAAQ/rV,SAAS7rB,GAAG2vW,qBAAoM,CAAE,CAAC3vW,SAAE0vW,kCAAkC1vW,EAAEA,EAAE2vW,uBACzetf,KAAK8L,QAAQn0I,OAAO,iBAAkBhoN,GAAG,iBAAkBA,EAAE,+CAA+CA,EAAE,gBAAgBA,GAAU0nE,EAAE,KAAK2oR,KAAKjF,OAAO5mM,SAASwyN,WAAWj+T,OAAO/4C,IAAI,GAAG,EAAEqwV,KAAK3kU,KAAKsxV,SAAS6B,eAAe,SAAS94W,GAAG,IAAIsqV,KAAK/gQ,SAASvpF,GAAG,MAAMqvC,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,yFAAyFp3W,EAAE,WAAWA,EAAE,IAAIA,oBAAasqV,KAAK3kU,KAAKiuV,YAAY5zW,EAAEsqV,KAAK3kU,KAAKiuV,UAAU52U,OAAOh9B,IAAWsqV,KAAK3kU,KAAKiuV,UAAU/J,OAAO7pW,EAAE,EAC3gBsqV,KAAK3kU,KAAKsxV,SAAS8B,cAAc,SAAS/4W,EAAE2hE,EAAE1nE,EAAE3E,GAAGqsE,SAAE2oR,KAAK3kU,KAAKsxV,SAASj6U,OAAO2kC,EAAE1nE,EAAE3E,IAAK6hX,KAAKn3W,EAAS2hE,CAAC,EACvG2oR,KAAK3kU,KAAKsxV,SAAS/jU,KAAK,SAASlzC,EAAE2hE,GAAsC,IAAI1nE,GAAvC+F,EAAEsqV,KAAK3kU,KAAKsxV,SAAShG,WAAWjxW,IAAW6zT,eAAev+T,EAAE,GAAG0xC,EAAE,SAAStlB,GAAG5oB,MAAMC,QAAQ2oB,GAAGu2U,mCAAmCv2U,EAAEslB,IAAItlB,EAAE4oU,KAAK3kU,KAAKsxV,SAAShG,WAAWvvV,GAAGpsB,EAAEg0C,KAAKghT,KAAK3kU,KAAKsxV,SAASpN,OAAOnoV,IAAIA,EAAEA,EAAEmyS,eAAe55T,GAAGqwV,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,QAAQlyW,EAAEynB,EAAEA,GAAG4oU,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,SAASlyW,GAAGynB,IAAIznB,EAAE,MAAM,EAAEg+V,0CAAmCt2R,EAAE36B,GAAUsjT,KAAK3kU,KAAKsxV,SAASM,+CAA+CjiX,EAAE49C,KAAKo3S,KAAK3kU,KAAKsxV,SAASpN,OAAO7pW,IAAI/F,EAAE,EAClfqwV,KAAK3kU,KAAKsxV,SAAShiX,OAAO,SAAS+K,GAAG,OAAOsqV,KAAK3kU,KAAKsxV,SAAS/jU,KAAKo3S,KAAK3kU,KAAKsxV,SAAS38U,MAAMxhC,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,WAAW,EAAEqyS,KAAK3kU,KAAKsxV,SAAS+B,cAAc,SAASh5W,EAAE2hE,GAAG,IAAI1nE,EAAEqwV,KAAK3kU,KAAKsxV,SAAShiX,OAAOylW,iCAAiCziT,UAAU,IAAIh+C,SAAEk9W,KAAKn3W,EAAS/F,CAAC,EAAEqwV,KAAK3kU,KAAKsxV,SAASlH,2BAA2B,CAAC,EACtUzlB,KAAK3kU,KAAKsxV,SAASM,+CAA+C,SAASv3W,EAAE2hE,GAAG,IAAI1nE,EAAEqwV,KAAK3kU,KAAKmkV,aAAaC,oCAAoC/pW,SAAE/F,EAAEA,EAAEm6V,WAAWp0V,GAAGA,EAAS,IAAIsqV,KAAK3kU,KAAKsxV,SAASj3W,EAAE2hE,EAAE2oR,KAAK3kU,KAAKsxV,SAASlH,2BAA2B,EACvPzlB,KAAK3kU,KAAKsxV,SAASkB,kDAAkD,SAASn4W,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE,KAAS0xC,EAAE,IAAIhnC,EAAEsqV,KAAK3kU,KAAKsxV,SAASgC,oBAAoBj5W,EAAE2hE,GAAG,aAAM1nE,EAAEA,EAAE,GAAGnB,MAAMC,QAAQkB,KAAKA,EAAE,CAACA,IAAIqwV,KAAK3nO,IAAInmB,KAAK4sQ,UAAUppW,EAAElO,gBAAgBw4V,KAAK8L,QAAQn0I,QAAQhoN,EAAEL,OAAO,aAAaoG,EAAE,6BAA6BgnC,GAAG,MAAM1xC,EAAEg1V,KAAK3kU,KAAKsxV,SAAShiX,OAAOgF,GAAG+sC,GAAG,IAAIsjT,KAAK3kU,KAAKsxV,SAASpN,OAAOv0W,GAAG,KAAK0K,EAAE,IAAI1K,EAAEA,EAAEu+T,iBAAiB7zT,EAAE2hE,GAAGA,EAAEpmC,OAAOjmC,EAAE,oBAAoBqtG,KAAK3iG,GAAGsqV,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,QAAQ,MAAa7hB,KAAK3kU,KAAKsxV,SAASM,+CAA+CvwU,EACrjB1xC,EAAE,EAAEg1V,KAAK3kU,KAAKsxV,SAASgC,oBAAoB,SAASj5W,EAAE2hE,GAAG,IAAI1nE,EAAE,GAAG,GAAG0nE,EAAE,QAAQrsE,KAAKqsE,EAAE,GAAG/qC,OAAO0Y,UAAU8qB,eAAelK,KAAKyR,EAAErsE,GAAG,CAAC,IAAIg1V,KAAK3kU,KAAKsxV,SAASU,oBAAoBh1Q,KAAKrtG,GAAG,MAAM+5C,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,2BAA2B9hX,EAAE,KAAK,IAAI,IAAI0xC,EAAE26B,EAAErsE,GAAG,MAAM0xC,IAAI/sC,GAAG,IAAIqwV,KAAK3kU,KAAKsxV,SAAS4B,qBAAqB74W,EAAE1K,EAAE0xC,GAAG,CAAC,OAAO/sC,CAAC,EACtWqwV,KAAK3kU,KAAKsxV,SAASqB,kBAAkB,SAASt4W,EAAE2hE,EAAE1nE,GAAG,IAAS+sC,EAAL1xC,EAAE,CAAC,EAAI,IAAI0xC,KAAKhnC,EAAE42B,OAAO0Y,UAAU8qB,eAAelK,KAAKlwD,EAAEgnC,KAAKsjT,KAAK8L,QAAQn0I,OAAOj7K,EAAEl1C,eAAek1C,EAAE,sBAAsB1xC,EAAE0xC,GAAGhnC,EAAEgnC,IAAI,IAAIA,KAAK26B,EAAE/qC,OAAO0Y,UAAU8qB,eAAelK,KAAKyR,EAAE36B,KAAKsjT,KAAK8L,QAAQn0I,OAAOj7K,EAAEl1C,eAAek1C,EAAE,sBAAsB1xC,EAAE0xC,GAAG26B,EAAE36B,IAAI,GAAG/sC,EAAE,IAAI+sC,KAAK/sC,EAAE,GAAG28B,OAAO0Y,UAAU8qB,eAAelK,KAAKj2D,EAAE+sC,GAAG,CAAC,IAAItlB,EAAEslB,EAAEl1C,cAAc,GAAG4vB,KAAK1hB,EAAE,MAAMqvC,MAAMi7S,KAAK3kU,KAAKsxV,SAASG,sBAAsB,oBAAoB11V,EAAE,qBACveslB,EAAE,iBAAiB/sC,EAAE+sC,GAAG,IAAI,IAAItlB,KAAKigD,UAAUrsE,EAAEosB,GAAGpsB,EAAE0xC,GAAG/sC,EAAE+sC,EAAE,CAAC,OAAO1xC,CAAC,EAAEg1V,KAAK3kU,KAAKsxV,SAASiC,aAA+B5uB,KAAK3kU,KAAKsxV,SAASM,+CAA+C,kBAAkBjtB,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,SAAY7hB,KAAK3kU,KAAKsxV,SAAS38U,MAAM,IAAIgwT,KAAK3kU,KAAKsxV,SAAS3sB,KAAKlsQ,OAAOk3Q,cAAchL,KAAKlsQ,OAAOk3Q,aAAa6jB,WAAW,GAAG7uB,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,QAAQ7hB,KAAK3kU,KAAKsxV,SAASlH,4BAC5YzlB,KAAK3kU,KAAKsxV,SAAS/V,GAAqB5W,KAAK3kU,KAAKsxV,SAASM,+CAA+C,OAAOjtB,KAAKzwU,KAAK2xV,KAAKQ,IAAIG,SAAY7hB,KAAK3kU,KAAKyzV,qBAAqB,CAAC,EAAE9uB,KAAK3kU,KAAKyzV,qBAAqBC,6CAA6C,SAASr5W,EAAE2hE,EAAE1nE,GAAGqwV,YAAK8L,QAAQW,aAAazM,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,8BAA8BsqV,KAAK8L,QAAQn0I,QAAQqoI,KAAKjF,OAAO5mM,SAASsyN,oBAAoBzmB,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAI,wCAA+CsqV,KAAK3kU,KAAKsxV,SAASM,+CAA+C51S,EAAE1nE,GAAG,KAAK,EACxjBqwV,KAAK3kU,KAAKyzV,qBAAqBE,+CAA+C,SAASt5W,EAAE2hE,GAAG2oR,YAAK8L,QAAQW,aAAazM,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,8BAA8BsqV,KAAK8L,QAAQn0I,QAAQqoI,KAAKjF,OAAO5mM,SAASsyN,oBAAoBzmB,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAI,wCAA+CkqW,gDAAgDG,iDAAiD1oS,EAAE,EAC7Z2oR,KAAK3kU,KAAKyzV,qBAAqBG,8CAA8C,SAASv5W,EAAE2hE,GAAG2oR,YAAK8L,QAAQW,aAAazM,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,8BAA8BsqV,KAAK8L,QAAQn0I,QAAQqoI,KAAKjF,OAAO5mM,SAASsyN,oBAAoBzmB,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAI,wCAA+CsqV,KAAK3kU,KAAKiuV,UAAUE,gDAAgDnyS,EAAE,EAC/X2oR,KAAK3kU,KAAKyzV,qBAAqBI,mDAAmD,SAASx5W,EAAE2hE,GAAG2oR,YAAK8L,QAAQW,aAAazM,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,8BAA8BsqV,KAAK8L,QAAQn0I,QAAQqoI,KAAKjF,OAAO5mM,SAASsyN,oBAAoBzmB,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAI,wCAA+C20W,wDAAwDI,qDAAqDpzS,EAAE,EAC7a2oR,KAAK3kU,KAAKyzV,qBAAqBK,4CAA4C,SAASz5W,EAAE2hE,GAAG2oR,YAAK8L,QAAQW,aAAazM,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,8BAA8BsqV,KAAK8L,QAAQn0I,QAAQqoI,KAAKjF,OAAO5mM,SAASsyN,oBAAoBzmB,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAI,wCAA+CsqV,KAAK3kU,KAAKksV,QAAQG,8CAA8CrwS,EAAE,EACzX2oR,KAAK3kU,KAAKyzV,qBAAqBM,uDAAuD,SAAS15W,EAAE2hE,GAAG2oR,YAAK8L,QAAQW,aAAazM,KAAKjF,OAAOikB,MAAMO,OAAO7pW,GAAG,8BAA8BsqV,KAAK8L,QAAQn0I,QAAQqoI,KAAKjF,OAAO5mM,SAASsyN,oBAAoBzmB,KAAKjF,OAAOikB,MAAMO,OAAO7pW,IAAI,wCAA+CsqV,KAAK3kU,KAAKkqV,mBAAmBM,yDAAyDxuS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAK,CAAC,EAAE+4L,KAAK3nO,IAAI4uC,KAAKooN,2BAA2B,CAACC,WAAW,aAAaC,SAAS,WAAWC,YAAY,cAAcC,UAAU,aAAazvB,KAAK3nO,IAAI4uC,KAAKyoN,mBAAmB,SAASh6W,EAAE2hE,EAAE1nE,GAAG+F,EAAEi6W,mBAAmBt4S,EAAE2oR,KAAK3kU,KAAKsxV,SAASK,kBAAkBr9W,GAAG,EAAEqwV,KAAK3nO,IAAI4uC,KAAK2oN,gCAAgC,CAACxV,MAAK,EAAGoB,QAAO,EAAGQ,OAAM,EAAGI,KAAI,EAAGG,UAAS,GAChwBvc,KAAK3nO,IAAI4uC,KAAK4oN,6BAA6B7vB,KAAKhhC,UAAUq2C,iBAAiB,WAAW,GAAGrV,KAAKr6S,cAA4Bx7B,SAArB,IAA8B,OAAM,EAAG,IAAIzU,EAAEyU,SAASknC,cAAc,OAAOgmB,EAAEltD,SAASknC,cAAc,OAAqE,OAA9DgmB,EAAE1lB,YAAYxnC,SAASknC,cAAc,QAAQ37C,EAAEi8C,YAAY0lB,KAAM2oR,KAAKr6S,QAAQjwC,EAAEgc,aAAoB2lD,EAAE3hE,EAAEgc,WAAWA,WAAWhc,EAAEquT,UAAUi8B,KAAK3kU,KAAKsxV,SAASK,kBAAkBhtB,KAAK3kU,KAAKsxV,SAAS38U,OAAcqnC,EAAEwwF,eAAa,GAC/am4L,KAAK3nO,IAAI4uC,KAAK6oN,iCAAiC,SAASp6W,EAAE2hE,GAAG,GAAG2oR,KAAK3nO,IAAI4uC,KAAK4oN,+BAA+B,KAAKn6W,EAAEqxO,WAAWrxO,EAAEuwD,YAAYvwD,EAAEqxO,WAAWrxO,EAAEquT,UAAUi8B,KAAK3kU,KAAKsxV,SAASK,kBAAkB31S,EAAE,EAC7M2oR,KAAK3nO,IAAI4uC,KAAK8oN,aAAa,SAASr6W,EAAE2hE,GAAG,GAAG2oR,KAAK8L,QAAQC,gBAAgBr2V,EAAEmwJ,QAAQ,CAAC,IAAIl2J,EAAE+F,EAAEmwJ,QAAQ5uH,cAAc,GAAG+oT,KAAK3nO,IAAI4uC,KAAK2oN,gCAAgCjgX,GAAG,MAAMo1C,MAAM,+DAA+DrvC,EAAEmwJ,QAAQ,IAAK,CAACm6L,KAAK3nO,IAAI4uC,KAAK6oN,iCAAiCp6W,EAAE2hE,EAAE,EACpT2oR,KAAK3nO,IAAI4uC,KAAK+oN,yBAAyB,SAASt6W,EAAE2hE,GAAG2oR,KAAK3nO,IAAI4uC,KAAK8oN,aAAar6W,EAAEsqV,KAAK3kU,KAAKyzV,qBAAqBC,6CAA6C/uB,KAAKjF,OAAOikB,MAAM5qS,KAAK,0CAA0C4rR,KAAKjF,OAAOikB,MAAMO,OAAOloS,IAAI,EAAE2oR,KAAK3nO,IAAI4uC,KAAKgpN,aAAa,SAASv6W,EAAE2hE,GAAG3hE,EAAEw6W,UAAUlwB,KAAK3kU,KAAKsxV,SAASK,kBAAkB31S,EAAE,EAC1V2oR,KAAK3nO,IAAI4uC,KAAKkpN,qBAAqB,SAASz6W,EAAE2hE,GAAGA,EAAEA,aAAa2oR,KAAK3kU,KAAKksV,QAAQlwS,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,GAAG2oR,KAAK3nO,IAAIyzO,QAAQqI,wBAAwBz+V,GAAGhN,OAAOs3V,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAKmpN,oBAAoB,SAAS16W,EAAE2hE,GAAGA,EAAEA,aAAa2oR,KAAK3kU,KAAKksV,QAAQlwS,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,GAAG2oR,KAAK3nO,IAAIyzO,QAAQ4H,0BAA0Bh+V,GAAG26W,WAAWrwB,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,EAAE,EACra2oR,KAAK3nO,IAAI4uC,KAAKqpN,mBAAmB,SAAS56W,EAAE2hE,GAAGA,EAAEA,aAAa2oR,KAAK3kU,KAAKksV,QAAQlwS,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,GAAG2oR,KAAK3nO,IAAIyzO,QAAQiI,yBAAyBr+V,GAAG26W,WAAWrwB,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAKmuC,SAAS,SAAS1/L,EAAE2hE,GAAG3hE,EAAEqxB,MAAM2wI,QAAQsoL,KAAK3kU,KAAKiuV,UAAU/J,OAAOloS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAKspN,cAAc,SAAS76W,EAAE2hE,GAAG3hE,EAAEk0V,MAAM5J,KAAK3kU,KAAKsxV,SAASK,kBAAkB31S,GAAG,EAClY2oR,KAAK3nO,IAAI4uC,KAAKupN,cAAc,SAAS96W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQ2H,0BAA0B/9V,GAAG2hE,EAAEA,aAAa2oR,KAAK3kU,KAAKksV,QAAQlwS,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,GAAG3hE,EAAEsc,KAAKguU,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAKwpN,YAAY,SAAS/6W,EAAE2hE,GAAgD,GAA7C2oR,KAAK3nO,IAAIyzO,QAAQ8H,yBAAyBl+V,KAAQ2hE,aAAa2oR,KAAK3kU,KAAKksV,SAAS,CAAC,IAAI53W,EAAE,iBAAiB0oG,KAAKhhC,GAAGA,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,EAAE1nE,EAAE,CAAC+F,EAAE67C,IAAIyuS,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,EAAE,EACxb2oR,KAAK3nO,IAAI4uC,KAAKypN,YAAY,SAASh7W,EAAE2hE,GAAgD,GAA7C2oR,KAAK3nO,IAAIyzO,QAAQ+H,yBAAyBn+V,KAAQ2hE,aAAa2oR,KAAK3kU,KAAKksV,SAAS,CAAC,IAAI53W,EAAE,iBAAiB0oG,KAAKhhC,GAAGA,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,EAAE1nE,EAAE,CAAC+F,EAAE67C,IAAIyuS,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAK0pN,YAAY,SAASj7W,EAAE2hE,GAAgD,GAA7C2oR,KAAK3nO,IAAIyzO,QAAQgI,yBAAyBp+V,KAAQ2hE,aAAa2oR,KAAK3kU,KAAKksV,SAAS,CAAC,IAAI53W,EAAE,iBAAiB0oG,KAAKhhC,GAAGA,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,EAAE1nE,EAAE,CAAC+F,EAAE67C,IAAIyuS,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,EAAE,EAC1d2oR,KAAK3nO,IAAI4uC,KAAK2pN,YAAY,SAASl7W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQoI,yBAAyBx+V,GAAGA,EAAE67C,IAAIyuS,KAAK3kU,KAAKkqV,mBAAmBQ,uBAAuB1uS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAK4pN,YAAY,SAASn7W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQsI,yBAAyB1+V,GAAGA,EAAE67C,IAAIyuS,KAAK3kU,KAAKkqV,mBAAmBhG,OAAOloS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAK6pN,aAAa,SAASp7W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQuI,0BAA0B3+V,GAAGA,EAAE67C,IAAIyuS,KAAK3kU,KAAKkqV,mBAAmBhG,OAAOloS,EAAE,EACzZ2oR,KAAK3nO,IAAI4uC,KAAK8pN,gBAAgB,SAASr7W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQuI,0BAA0B3+V,GAAGA,EAAEq4W,OAAO/tB,KAAK3kU,KAAKsxV,SAASK,kBAAkB31S,EAAE,EAC1I2oR,KAAK3nO,IAAI4uC,KAAK+pN,kBAAkB,SAASt7W,EAAE2hE,EAAE1nE,GAAGqwV,KAAK3nO,IAAIyzO,QAAQ6H,wBAAwBj+V,GAAGA,EAAEuwJ,IAAIt2J,EAAEqwV,KAAKjF,OAAO5mM,SAASizN,wBAAwBz3W,EAAE,eAAeqwV,KAAK8L,QAAQn0I,OAAOtgJ,aAAa2oR,KAAK3kU,KAAKkqV,mBAAmB,sEAAsE7vW,EAAEsc,KAAKguU,KAAK3kU,KAAKkqV,mBAAmBhG,OAAOloS,IAAI3hE,EAAEsc,KAAKqlD,aAAa2oR,KAAK3kU,KAAKkqV,mBAAmBvlB,KAAK3kU,KAAKkqV,mBAAmBhG,OAAOloS,GAAkC2oR,KAAK3kU,KAAKksV,QAAQhI,OAAjDloS,aAAa2oR,KAAK3kU,KAAKksV,QAAiClwS,EAA4B2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,GAAG,EAC9iB2oR,KAAK3nO,IAAI4uC,KAAKgqN,cAAc,SAASv7W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQwI,0BAA0B5+V,GAAGA,EAAEpL,KAAK01V,KAAK3kU,KAAKkqV,mBAAmBQ,uBAAuB1uS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAKiqN,aAAa,SAASx7W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQyI,0BAA0B7+V,GAAGA,EAAE67C,IAAIyuS,KAAK3kU,KAAKkqV,mBAAmBQ,uBAAuB1uS,GAAG2oR,KAAK3nO,IAAI4uC,KAAKkqN,0BAA0Bz7W,EAAE,EACrVsqV,KAAK3nO,IAAI4uC,KAAKmqN,iBAAiB,SAAS17W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQyI,0BAA0B7+V,GAAGA,EAAEyvB,YAAYy6U,gDAAgDO,oBAAoB9oS,GAAG2oR,KAAK3nO,IAAI4uC,KAAKkqN,0BAA0Bz7W,EAAE,EAAEsqV,KAAK3nO,IAAI4uC,KAAKkqN,0BAA0B,SAASz7W,GAAG,IAAI2hE,EAAE2oR,KAAKgB,eAAetrV,EAAE41J,eAAe51J,EAAE41J,cAAcE,aAAan0F,GAAG3hE,EAAEovK,aAAa,QAAQztG,EAAE,EACpX2oR,KAAK3nO,IAAI4uC,KAAKoqN,gBAAgB,SAAS37W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQuH,iBAAiB39V,GAAG2hE,EAAEA,aAAa2oR,KAAK3kU,KAAKksV,QAAQlwS,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,GAAG3hE,EAAEsc,KAAKguU,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAKqqN,eAAe,SAAS57W,EAAE2hE,GAAG2oR,KAAK3nO,IAAIyzO,QAAQuH,iBAAiB39V,GAAG2hE,EAAEA,aAAa2oR,KAAK3kU,KAAKksV,QAAQlwS,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,GAAG3hE,EAAE+/C,OAAOuqS,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,GAAG,EAC1Y2oR,KAAK3nO,IAAI4uC,KAAKsqN,gBAAgB,SAAS77W,EAAE2hE,GAAGA,EAAEA,aAAa2oR,KAAK3kU,KAAKksV,QAAQlwS,EAAE2oR,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB/xS,GAAG3hE,EAAE6V,QAAQy0U,KAAK3kU,KAAKksV,QAAQhI,OAAOloS,GAAG,EAAE2oR,KAAK3nO,IAAI4uC,KAAKuqN,aAAa,SAAS97W,EAAE2hE,EAAE1nE,EAAE3E,EAAE0xC,GAAGhnC,SAAEA,aAAasqV,KAAK3kU,KAAKksV,QAAQ7xW,EAAEsqV,KAAK3kU,KAAKksV,QAAQ6B,wBAAwB1zW,GAAG2hE,EAAEA,GAAG2oR,KAAKlsQ,OAAOnkF,EAAEA,aAAaqwV,KAAKjF,OAAOikB,MAAMhf,KAAKjF,OAAOikB,MAAMO,OAAO5vW,GAAGA,GAAG,GAAU0nE,EAAE3Q,KAAKs5R,KAAK3kU,KAAKksV,QAAQhI,OAAO7pW,GAAG/F,EAAE3E,EAAE0xC,EAAE,EACvasjT,KAAK3nO,IAAI4uC,KAAKwqN,oBAAoB,SAAS/7W,EAAE2hE,GAAG,OAAO2oR,KAAK3nO,IAAI4uC,KAAKyqN,gBAAgBh8W,EAAE2hE,EAAE,YAAY,EAAE2oR,KAAK3nO,IAAI4uC,KAAKyqN,gBAAgB,SAASh8W,EAAE2hE,EAAE1nE,GAAG,OAAO+F,EAAEg8W,gBAAgB1xB,KAAK3kU,KAAKsxV,SAASK,kBAAkB31S,GAAG1nE,EAAE,EACxNqwV,KAAK3nO,IAAI4uC,KAAK0qN,oBAAoB,SAASj8W,GAAG,IAAI,cAAc2iG,KAAK3iG,EAAEyV,MAAM,MAAM45B,MAAM,sEAAsE,IAAIsyB,EAAE2oR,KAAKlsQ,OAAOllC,IAAIoiH,gBAAgBt7J,GAAGA,SAAE,IAAIsqV,KAAKlsQ,OAAO4yF,OAAQh1H,OAAO,WAAWsuS,KAAKlsQ,OAAOllC,IAAI4xT,gBAAgBnpS,EAAE,EAAE2oR,KAAK3nO,IAAI4uC,KAAKwpN,YAAY/6W,EAAEsqV,KAAK3kU,KAAKyzV,qBAAqBK,4CAA4CnvB,KAAKjF,OAAOikB,MAAM5qS,KAAK,mBAAmBiD,IAAW3hE,CAAC,EAAEsqV,KAAKjF,OAAO62B,wBAAuB,EAAG5xB,KAAKjF,OAAO82B,+BAA8B,EAAG7xB,KAAKjF,OAAO+2B,QAAQ,CAACC,KAAK,QAAU/xB,KAAKjF,OAAOvuT,WAAWwzT,KAAKjF,OAAO5mM,SAAS3nH,WAAWwzT,KAAKjF,OAAOt4S,SAASu9S,KAAKjF,OAAO5mM,SAAS1xG,SAASu9S,KAAKjF,OAAOsrB,0BAA0BrmB,KAAKjF,OAAO5mM,SAASkyN,0BAA0BrmB,KAAKjF,OAAOwrB,wBAAwBvmB,KAAKjF,OAAO5mM,SAASoyN,wBAAwBvmB,KAAKjF,OAAOyrB,sBAAsBxmB,KAAKjF,OAAO5mM,SAASqyN,sBACr3BxmB,KAAKjF,OAAOi3B,KAAK,SAASt8W,EAAE2hE,GAAG,QAAQ1nE,EAAE+F,EAAE2yB,MAAM,MAAMr9B,EAAE,GAAG0xC,EAAEluC,MAAMw2C,UAAUlG,MAAM8mB,KAAKjY,UAAU,GAAGjR,EAAEptC,QAAQ,EAAEK,EAAEL,QAAQtE,GAAG2E,EAAEirE,QAAQl+B,EAAEk+B,QAAQ,OAAO5vE,EAAE2E,EAAEi5C,KAAK,KAAK,EAAEo3S,KAAKjF,OAAOk3B,mBAAmB,SAASv8W,GAAG,OAAOA,EAAE6V,QAAQ,aAAa,KAAKA,QAAQ,aAAa,GAAG,EAAEy0U,KAAKjF,OAAO0rB,oBAAoBzmB,KAAKjF,OAAO5mM,SAASsyN,oBAAoBzmB,KAAKjF,OAAOm3B,cAAc,SAASx8W,GAAG,OAAO,GAAGA,EAAEpG,MAAM,EAAE0wV,KAAKjF,OAAO3lK,QAAQ4qK,KAAKjF,OAAO0rB,oBAAoBzmB,KAAKjF,OAAOo3B,wBAAwB,SAASz8W,GAAG,OAAOsqV,KAAKjF,OAAO0rB,oBAAoBzmB,KAAKjF,OAAOq3B,SAAS18W,GAAG,EACxjBsqV,KAAKjF,OAAOs3B,YAAYryB,KAAKjF,OAAOo3B,wBAAwBnyB,KAAKjF,OAAOu3B,qBAAqB,SAAS58W,GAAG,OAAO,aAAa2iG,KAAK3iG,EAAE,EAAEsqV,KAAKjF,OAAOw3B,QAAQ,SAAS78W,GAAG,OAAO,YAAY2iG,KAAK3iG,EAAE,EAAEsqV,KAAKjF,OAAOy3B,UAAU,SAAS98W,GAAG,OAAO,SAAS2iG,KAAK3iG,EAAE,EAAEsqV,KAAKjF,OAAO03B,eAAe,SAAS/8W,GAAG,OAAO,eAAe2iG,KAAK3iG,EAAE,EAAEsqV,KAAKjF,OAAO5xF,QAAQ,SAASzzP,GAAG,MAAM,KAAKA,CAAC,EAAEsqV,KAAKjF,OAAO23B,cAAc,SAASh9W,GAAG,OAAO,GAAGA,EAAEpG,QAAQ,KAAKoG,GAAG,KAAKA,GAAG,QAAUA,GAAG,UAAUA,CAAC,EACndsqV,KAAKjF,OAAO43B,cAAc,SAASj9W,GAAG,OAAOA,EAAE6V,QAAQ,iBAAiB,IAAI,EAAEy0U,KAAKjF,OAAO63B,qBAAqB,SAASl9W,GAAG,OAAOA,EAAE6V,QAAQ,gBAAgB,KAAK,EAAEy0U,KAAKjF,OAAO83B,oBAAoB,SAASn9W,GAAG,OAAOA,EAAE6V,QAAQ,WAAW,IAAI,EAAEy0U,KAAKjF,OAAO+3B,gBAAgB,SAASp9W,GAAG,OAAOA,EAAE6V,QAAQ,eAAe,IAAI,EAAEy0U,KAAKjF,OAAOg4B,uBAAuB,SAASr9W,GAAG,OAAOA,EAAE6V,QAAQ,cAAc,KAAKA,QAAQ,2BAA2B,GAAG,EAAEy0U,KAAKjF,OAAO3oU,KAAK4tU,KAAKjF,OAAO5mM,SAAS/hI,KAChe4tU,KAAKjF,OAAOi4B,SAAS,SAASt9W,GAAG,OAAOA,EAAE6V,QAAQ,aAAa,GAAG,EAAEy0U,KAAKjF,OAAOk4B,UAAU,SAASv9W,GAAG,OAAOA,EAAE6V,QAAQ,aAAa,GAAG,EAAEy0U,KAAKjF,OAAOurB,uBAAuBtmB,KAAKjF,OAAO5mM,SAASmyN,uBACjMtmB,KAAKjF,OAAOm4B,oBAAoB,SAASx9W,EAAE2hE,EAAE1nE,GAAG,GAAG+F,GAAG2hE,EAAE,OAAO,EAAE,IAAI3hE,EAAE,OAAM,EAAG,IAAI2hE,EAAE,OAAO,EAAE,QAAQrsE,EAAE0K,EAAElO,cAAcmzE,MAAMhrE,GAAG+sC,EAAE26B,EAAE7vE,cAAcmzE,MAAMhrE,GAAGynB,EAAEiT,KAAKE,IAAIv/B,EAAEsE,OAAOotC,EAAEptC,QAAQ0qN,EAAE,EAAEA,EAAE5iM,EAAE4iM,IAAI,CAAQ,IAAI9oG,EAAEx0E,EAAEs9K,GAAG,IAAlBrqN,EAAE3E,EAAEgvN,KAAoB9oG,EAAE,OAAOx7G,EAAE+zF,SAAS95F,EAAE,KAAK4F,MAAMG,KAAK2hE,EAAEoyB,SAASynB,EAAE,KAAK37G,MAAM8hE,IAAI3hE,EAAE2hE,GAAG3hE,EAAE2hE,EAAE1nE,EAAEuhH,GAAE,EAAG,CAAC,CAAC,OAAOlmH,EAAEsE,QAAQotC,EAAEptC,OAAOtE,EAAEsE,OAAOotC,EAAEptC,OAAOoG,EAAE2hE,GAAE,EAAG,CAAC,EAAE2oR,KAAKjF,OAAOo4B,gBAAgB,SAASz9W,EAAE2hE,GAAG,OAAO2oR,KAAKjF,OAAOm4B,oBAAoBx9W,EAAE2hE,EAAE,WAAW,EAC1c2oR,KAAKjF,OAAOq4B,kBAAkB,SAAS19W,EAAE2hE,GAAG,OAAO2oR,KAAKjF,OAAOm4B,oBAAoBx9W,EAAE2hE,EAAE,iBAAiB,EAAE2oR,KAAKjF,OAAOs4B,gBAAgBrzB,KAAKjF,OAAOq4B,kBAAkBpzB,KAAKjF,OAAOu4B,UAAU,SAAS59W,GAAG,OAAOk3E,mBAAmBlkC,OAAOhzC,GAAG,EAAEsqV,KAAKjF,OAAOw4B,UAAU,SAAS79W,GAAG,OAAO4xC,mBAAmB5xC,EAAE6V,QAAQ,MAAM,KAAK,EAAEy0U,KAAKjF,OAAO2rB,YAAY1mB,KAAKjF,OAAO5mM,SAASuyN,YAC5W1mB,KAAKjF,OAAO4rB,WAAW,SAASjxW,EAAE2hE,GAAG3hE,SAAEsqV,KAAKjF,OAAO5mM,SAASwyN,WAAWjxW,EAAE2hE,GAAG2oR,KAAKjF,OAAO62B,yBAAyBl8W,EAAEA,EAAE6V,QAAQy0U,KAAKjF,OAAOy4B,MAAM,WAAkB99W,CAAC,EAAEsqV,KAAKjF,OAAOy4B,MAAM,KAAKxzB,KAAKjF,OAAO04B,iBAAiB,SAAS/9W,GAAG,OAAOsqV,KAAKjF,OAAOjvT,SAASp2B,EAAE,MAAMsqV,KAAKjF,OAAO82B,+BAA+B,aAAa7xB,KAAKlsQ,OAAOksQ,KAAKjF,OAAO24B,0BAA0Bh+W,GAAGsqV,KAAKjF,OAAO44B,yBAAyBj+W,GAAGA,CAAC,EAC9ZsqV,KAAKjF,OAAO64B,6BAA6B,SAASl+W,EAAE2hE,GAAG,OAAO2oR,KAAKjF,OAAOjvT,SAASp2B,EAAE,KAAKsqV,KAAKjF,OAAO24B,0BAA0Bh+W,EAAE2hE,GAAG3hE,CAAC,EACtIsqV,KAAKjF,OAAO24B,0BAA0B,SAASh+W,EAAE2hE,GAAG,IAAI1nE,EAAE,CAAC,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,SAAS,KAAS3E,EAAEqsE,EAAEA,EAAEhmB,cAAc,OAAO2uS,KAAKlsQ,OAAO3pE,SAASknC,cAAc,OAAO,OAAO37C,EAAE6V,QAAQy0U,KAAKjF,OAAO84B,qBAAqB,SAASn3U,EAAEtlB,GAAG,IAAI4iM,EAAErqN,EAAE+sC,GAAG,OAAGs9K,IAAW,KAAK5iM,EAAE9E,OAAO,KAAK8E,IAAS,IAAIA,EAAE8/B,OAAO,IAAI3hD,MAAM6hB,KAAK4iM,EAAEtxK,OAAOC,aAAavxB,KAAK4iM,IAAIgmI,KAAK3nO,IAAI4uC,KAAK8oN,aAAa/kX,EAAEg1V,KAAK3kU,KAAKyzV,qBAAqBC,6CAA6C/uB,KAAKjF,OAAOikB,MAAM5qS,KAAK,uBACpe13B,EAAE,MAAMs9K,EAAEhvN,EAAE0mB,WAAW+7Q,UAAU3uP,MAAM,GAAE,IAAYnvC,EAAE+sC,GAAGs9K,EAAC,EAAE,EAAEgmI,KAAKjF,OAAO44B,yBAAyB,SAASj+W,GAAG,OAAOA,EAAE6V,QAAQ,aAAa,SAAS8rD,EAAE1nE,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,IAAI,IAAK,KAAK,MAAM,IAAI,IAAK,KAAK,MAAM,IAAI,IAAK,OAAO,MAAM,IAAI,QAAQ,MAAM,KAAKA,EAAE2iB,OAAO,KAAK3iB,IAAS,IAAIA,EAAEunD,OAAO,IAAI3hD,MAAM5F,IAAI0nE,EAAE3uB,OAAOC,aAAah5C,GAAG,EAAE,EAAEqwV,KAAKjF,OAAO84B,qBAAqB,kBAAkB7zB,KAAKjF,OAAOosB,iBAAiB,SAASzxW,EAAE2hE,GAAG,OAAO2oR,KAAKjF,OAAO2rB,YAAYhxW,EAAE6V,QAAQ,MAAM,WAAW8rD,EAAE,EACrf2oR,KAAKjF,OAAO+4B,eAAe,SAASp+W,GAAG,OAAOA,EAAE6V,QAAQ,cAAc,KAAKy0U,KAAKjF,OAAO+2B,QAAQC,KAAK,EAAE/xB,KAAKjF,OAAOg5B,YAAY,SAASr+W,EAAE2hE,GAAG,QAAQ1nE,EAAE0nE,EAAE/nE,OAAOtE,EAAE,EAAEA,EAAE2E,EAAE3E,IAAI,CAAC,IAAI0xC,EAAE,GAAG/sC,EAAE0nE,EAAEA,EAAE/kD,OAAOtnB,GAAG,GAAG0K,EAAE4c,OAAO,IAAIoqB,GAAGhnC,EAAE4c,OAAO5c,EAAEpG,OAAO,IAAIotC,EAAE,OAAOhnC,EAAE6c,UAAU,EAAE7c,EAAEpG,OAAO,EAAE,CAAC,OAAOoG,CAAC,EAAEsqV,KAAKjF,OAAOi5B,SAAS,SAASt+W,EAAE2hE,EAAE1nE,GAAGA,WAAI+F,EAAEsqV,KAAKjF,OAAO04B,iBAAiB/9W,IAAIA,EAAEpG,OAAO+nE,IAAI3hE,EAAEA,EAAE6c,UAAU,EAAE8kD,EAAE,GAAG,OAAO1nE,IAAI+F,EAAEsqV,KAAKjF,OAAO4rB,WAAWjxW,IAAWA,CAAC,EACzbsqV,KAAKjF,OAAOk5B,eAAe,SAASv+W,EAAE2hE,EAAE1nE,EAAE3E,GAA0C,GAAvC2E,IAAI+F,EAAEsqV,KAAKjF,OAAO04B,iBAAiB/9W,IAAO1K,GAAG0K,EAAEpG,OAAO+nE,EAAE,CAACrsE,EAAEqsE,IAAIrsE,EAAEqsE,GAAG,IAAI36B,EAAEhnC,EAAEpG,OAAOtE,EAAE0K,EAAEA,EAAE6c,UAAU,EAAE8kD,EAAErsE,GAAG,MAAM0K,EAAE6c,UAAUmqB,EAAE,MAAMhnC,EAAEpG,OAAO+nE,IAAIrsE,EAAEq/B,KAAK4gB,MAAMosB,EAAE,GAAG36B,EAAEhnC,EAAEpG,OAAOtE,EAAE0K,EAAEA,EAAE6c,UAAU,EAAEvnB,EAAEqsE,EAAE,GAAG,MAAM3hE,EAAE6c,UAAUmqB,IAAI/sC,WAAI+F,EAAEsqV,KAAKjF,OAAO4rB,WAAWjxW,IAAWA,CAAC,EAAEsqV,KAAKjF,OAAOm5B,oBAAoB,CAAC,KAAO,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAO,QAAQ,IAAI,MAAM,KAAK,OAAO,IAAI,WAAWl0B,KAAKjF,OAAOo5B,eAAe,CAAC,IAAI,OAC9en0B,KAAKjF,OAAOq5B,MAAM,SAAS1+W,GAAGA,EAAEgzC,OAAOhzC,GAAG,QAAQ2hE,EAAE,CAAC,KAAK1nE,EAAE,EAAEA,EAAE+F,EAAEpG,OAAOK,IAAI,CAAC,IAAI3E,EAAE0K,EAAE4c,OAAO3iB,GAAG+sC,EAAE1xC,EAAEw8C,WAAW,GAAG6vB,EAAE1nE,EAAE,GAAGqwV,KAAKjF,OAAOm5B,oBAAoBlpX,KAAK,GAAG0xC,GAAG,IAAIA,EAAE1xC,EAAEg1V,KAAKjF,OAAOs5B,WAAWrpX,GAAG,CAACqsE,SAAEr4B,KAAK,KAAYq4B,EAAEzuB,KAAK,GAAG,EAAEo3S,KAAKjF,OAAOu5B,aAAa,SAAS5+W,GAAG,QAAQ2hE,EAAE,GAAG1nE,EAAE,EAAEA,EAAE+F,EAAEpG,OAAOK,IAAI0nE,EAAE1nE,GAAGqwV,KAAKjF,OAAOs5B,WAAW3+W,EAAE4c,OAAO3iB,IAAI,OAAO0nE,EAAEzuB,KAAK,GAAG,EACrWo3S,KAAKjF,OAAOs5B,WAAW,SAAS3+W,GAAG,GAAGA,KAAKsqV,KAAKjF,OAAOo5B,eAAe,OAAOn0B,KAAKjF,OAAOo5B,eAAez+W,GAAG,GAAGA,KAAKsqV,KAAKjF,OAAOm5B,oBAAoB,OAAOl0B,KAAKjF,OAAOo5B,eAAez+W,GAAGsqV,KAAKjF,OAAOm5B,oBAAoBx+W,GAAG,IAAI2hE,EAAE3hE,EAAE8xC,WAAW,GAAG,GAAG,GAAG6vB,GAAG,IAAIA,EAAE,IAAI1nE,EAAE+F,OAAU,IAAI2hE,GAAM1nE,EAAE,OAAM,GAAG0nE,GAAG,IAAIA,KAAE1nE,GAAG,OAASA,EAAE,MAAM,KAAK0nE,IAAI1nE,GAAG,MAAKA,GAAG0nE,EAAEh5B,SAAS,IAAIpH,cAAc,OAAO+oT,KAAKjF,OAAOo5B,eAAez+W,GAAG/F,CAAC,EAAEqwV,KAAKjF,OAAOjvT,SAASk0T,KAAKjF,OAAO5mM,SAASroH,SAASk0T,KAAKjF,OAAOqsB,wBAAwBpnB,KAAKjF,OAAO5mM,SAASizN,wBACvgBpnB,KAAKjF,OAAOw5B,QAAQ,SAAS7+W,EAAE2hE,GAAG,OAAO3hE,GAAG2hE,EAAE3hE,EAAE2yB,MAAMgvC,GAAG/nE,OAAO,EAAE,CAAC,EAAE0wV,KAAKjF,OAAOgV,SAAS,SAASr6V,EAAE2hE,EAAE1nE,GAAG,IAAI3E,EAAE0K,EAAE,UAAG2hE,GAAGA,EAAE3hE,EAAEpG,QAAQ,EAAEK,IAAI3E,EAAE0K,EAAEwhD,OAAO,EAAEmgB,GAAG3hE,EAAEwhD,OAAOmgB,EAAE1nE,EAAE+F,EAAEpG,OAAO+nE,EAAE1nE,IAAW3E,CAAC,EAAEg1V,KAAKjF,OAAO71T,OAAO,SAASxvB,EAAE2hE,GAAG,OAAO3hE,EAAE6V,QAAQ8rD,EAAE,GAAG,EAAE2oR,KAAKjF,OAAOy5B,UAAU,SAAS9+W,EAAE2hE,GAAGA,SAAE,IAAIqV,OAAOszQ,KAAKjF,OAAO05B,aAAap9S,GAAG,KAAY3hE,EAAE6V,QAAQ8rD,EAAE,GAAG,EAAE2oR,KAAKjF,OAAOl+H,WAAW,SAASnnN,EAAE2hE,EAAE1nE,GAAG0nE,SAAE,IAAIqV,OAAOszQ,KAAKjF,OAAO05B,aAAap9S,GAAG,KAAY3hE,EAAE6V,QAAQ8rD,EAAE1nE,EAAE4b,QAAQ,MAAM,QAAQ,EACney0U,KAAKjF,OAAO05B,aAAa,SAAS/+W,GAAG,OAAOgzC,OAAOhzC,GAAG6V,QAAQ,gCAAgC,QAAQA,QAAQ,QAAQ,QAAQ,EAAEy0U,KAAKjF,OAAOj4L,OAAOp6G,OAAO1D,UAAU89G,OAAO,SAASptJ,EAAE2hE,GAAG,OAAO3hE,EAAEotJ,OAAOzrF,EAAE,EAAE,SAAS3hE,EAAE2hE,GAAG,OAAO7oE,MAAM6oE,EAAE,GAAGzuB,KAAKlzC,EAAE,EAAEsqV,KAAKjF,OAAO9nP,UAAU,SAASv9F,EAAE2hE,EAAE1nE,GAAG+F,OAAqD,IAAjB/F,GAApC+F,OAAE,IAAS/F,EAAE+F,EAAEmrF,QAAQlxF,GAAG+4C,OAAOhzC,IAAO3G,QAAQ,QAAaY,EAAE+F,EAAEpG,QAAe0wV,KAAKjF,OAAOj4L,OAAO,IAAIz4H,KAAKC,IAAI,EAAE+sC,EAAE1nE,IAAI+F,CAAC,EAAEsqV,KAAKjF,OAAOq3B,SAAS,SAAS18W,GAAG,OAAO,MAAMA,EAAE,GAAGgzC,OAAOhzC,EAAE,EACndsqV,KAAKjF,OAAO25B,YAAY,SAASh/W,GAAG,OAAOlH,MAAMw2C,UAAU4D,KAAKgd,KAAKjY,UAAU,GAAG,EAAEqyS,KAAKjF,OAAO45B,gBAAgB,WAAW,OAAOtqV,KAAK4gB,MAAM,WAAW5gB,KAAKkzE,UAAUl/D,SAAS,IAAIhU,KAAK82D,IAAI92D,KAAK4gB,MAAM,WAAW5gB,KAAKkzE,UAAUyiP,KAAK70S,OAAO9M,SAAS,GAAG,EAAE2hT,KAAKjF,OAAOssB,gBAAgBrnB,KAAKjF,OAAO5mM,SAASkzN,gBAAgBrnB,KAAKjF,OAAO65B,SAAS,SAASl/W,GAAG,QAAQ2hE,EAAE,EAAE1nE,EAAE,EAAEA,EAAE+F,EAAEpG,SAASK,EAAE0nE,EAAE,GAAGA,EAAE3hE,EAAE8xC,WAAW73C,KAAK,EAAE,OAAO0nE,CAAC,EAAE2oR,KAAKjF,OAAO85B,qBAAqB,WAAWxqV,KAAKkzE,SAAS,EAC5dyiP,KAAKjF,OAAO+5B,mBAAmB,WAAW,MAAM,QAAQ90B,KAAKjF,OAAO85B,sBAAsB,EAAE70B,KAAKjF,OAAOg6B,SAAS,SAASr/W,GAAG,IAAI2hE,EAAE3Z,OAAOhoD,GAAG,OAAO,GAAG2hE,GAAG2oR,KAAKjF,OAAO0rB,oBAAoB/wW,GAAGwyN,IAAI7wJ,CAAC,EAAE2oR,KAAKjF,OAAOi6B,iBAAiB,SAASt/W,GAAG,MAAM,yBAAyB2iG,KAAK3iG,EAAE,EAAEsqV,KAAKjF,OAAOk6B,iBAAiB,SAASv/W,GAAG,MAAM,mBAAmB2iG,KAAK3iG,EAAE,EAAEsqV,KAAKjF,OAAOm6B,YAAY,SAASx/W,GAAG,OAAOgzC,OAAOhzC,GAAG6V,QAAQ,aAAa,SAAS8rD,EAAE1nE,GAAG,OAAOA,EAAEsnC,aAAa,EAAE,EAChd+oT,KAAKjF,OAAOo6B,eAAe,SAASz/W,GAAG,OAAOgzC,OAAOhzC,GAAG6V,QAAQ,WAAW,OAAO/jB,aAAa,EAAEw4V,KAAKjF,OAAOq6B,YAAY,SAAS1/W,EAAE2hE,GAAGA,SAAE,iBAAkBA,EAAE2oR,KAAKjF,OAAO05B,aAAap9S,GAAG,MAAa3hE,EAAE6V,QAAQ,IAAImhE,OAAO,MAAMrV,EAAE,KAAKA,EAAE,KAAK,IAAI,WAAW,KAAK,SAAS1nE,EAAE3E,EAAE0xC,GAAG,OAAO1xC,EAAE0xC,EAAEzF,aAAa,EAAE,EAAE+oT,KAAKjF,OAAOs6B,WAAW,SAAS3/W,GAAG,OAAOgzC,OAAOhzC,EAAE4c,OAAO,IAAI2kB,cAAcyR,OAAOhzC,EAAEwhD,OAAO,IAAI1vD,aAAa,EAC5Zw4V,KAAKjF,OAAOtxP,SAAS,SAAS/zF,GAAGikV,gBAASjkV,KAAKA,EAAEgzC,OAAOhzC,IAAU,iBAAkBA,EAAE,YAAY2iG,KAAK3iG,GAAG+zF,SAAS/zF,EAAE,IAAI+zF,SAAS/zF,EAAE,IAAIwyN,GAAG,EAAE83H,KAAKjF,OAAOu6B,WAAW,SAAS5/W,EAAE2hE,EAAE1nE,GAAG+F,EAAEA,EAAE2yB,MAAMgvC,GAAG,QAAQrsE,EAAE,GAAG,EAAE2E,GAAG+F,EAAEpG,QAAQtE,EAAEg0C,KAAKtpC,EAAEklE,SAASjrE,IAAI+F,SAAEpG,QAAQtE,EAAEg0C,KAAKtpC,EAAEkzC,KAAKyuB,IAAWrsE,CAAC,EAAEg1V,KAAKjF,OAAOw6B,cAAc,SAAS7/W,EAAE2hE,GAAG,IAAGA,EAAmC,OAAO3hE,EAAxC,iBAAiB2hE,IAAIA,EAAE,CAACA,IAAkB,QAAQ1nE,GAAE,EAAG3E,EAAE,EAAEA,EAAEqsE,EAAE/nE,OAAOtE,IAAI,GAAG,IAAIqsE,EAAErsE,GAAG,CAAC,IAAI0xC,EAAEhnC,EAAE42C,YAAY+qB,EAAErsE,IAAI0xC,EAAE/sC,IAAIA,EAAE+sC,EAAE,CAAC,OAAM,GAAI/sC,EAAE+F,EAAEA,EAAEopC,MAAMnvC,EAAE,EAAE,EAC5dqwV,KAAKjF,OAAOy6B,aAAa,SAAS9/W,EAAE2hE,GAAG,IAAI1nE,EAAE,GAAG3E,EAAE,GAAG,GAAG0K,GAAG2hE,EAAE,OAAO,EAAE,IAAI3hE,EAAEpG,SAAS+nE,EAAE/nE,OAAO,OAAO+6B,KAAKC,IAAI50B,EAAEpG,OAAO+nE,EAAE/nE,QAAQ,QAAQotC,EAAE,EAAEA,EAAE26B,EAAE/nE,OAAO,EAAEotC,IAAI/sC,EAAE+sC,GAAGA,EAAE,IAAIA,EAAE,EAAEA,EAAEhnC,EAAEpG,OAAOotC,IAAI,CAAC1xC,EAAE,GAAG0xC,EAAE,EAAE,QAAQtlB,EAAE,EAAEA,EAAEigD,EAAE/nE,OAAO8nB,IAAIpsB,EAAEosB,EAAE,GAAGiT,KAAKE,IAAIv/B,EAAEosB,GAAG,EAAEznB,EAAEynB,EAAE,GAAG,EAAEznB,EAAEynB,MAAU1hB,EAAEgnC,IAAI26B,EAAEjgD,KAAK,IAAIA,EAAE,EAAEA,EAAEznB,EAAEL,OAAO8nB,IAAIznB,EAAEynB,GAAGpsB,EAAEosB,EAAE,CAAC,OAAOpsB,EAAEqsE,EAAE/nE,OAAO,EAAE0wV,KAAKy1B,OAAO,CAAC,EAAEz1B,KAAKy1B,OAAOC,WAAW,SAAShgX,EAAE2hE,EAAE1nE,GAAqI,IAAlIuN,KAAKy4W,aAAajgX,EAAEwH,KAAK04W,MAAMv+S,EAAE3sE,MAAM,KAAKwS,KAAK24W,UAAUx+S,EAAEy+S,UAAU,KAAK54W,KAAK64W,gBAAgB1+S,EAAE2+S,eAAe94W,KAAK+4W,QAAQ,CAAC,EAAMvgX,EAAE,EAAEA,EAAE/F,EAAEL,OAAOoG,IAAWwH,KAAK+4W,SAAZ5+S,EAAE1nE,EAAE+F,IAAkBwgX,UAAU7+S,CAAC,EAAE2oR,KAAKy1B,OAAOC,WAAW1wU,UAAUtzC,QAAQ,WAAW,OAAOwL,KAAK04W,KAAK,EAAE51B,KAAKy1B,OAAOC,WAAW1wU,UAAUmxU,YAAY,WAAW,OAAOj5W,KAAK24W,SAAS,EACrtB71B,KAAKy1B,OAAOC,WAAW1wU,UAAUoxU,kBAAkB,WAAW,OAAOl5W,KAAK64W,gBAAgB74W,KAAK64W,gBAAgBM,gBAAgB,IAAI,EAAEr2B,KAAKy1B,OAAOC,WAAW1wU,UAAUsxU,UAAU,WAAW,IAAI5gX,EAAEsqV,KAAKt9P,OAAO86Q,UAAUtgW,KAAK+4W,SAASvlB,uCAAgCh7V,EAAE,SAAS2hE,EAAE1nE,GAAG,OAAO0nE,EAAE6+S,SAASvmX,EAAEumX,QAAQ,GAAUxgX,CAAC,EAAEsqV,KAAKy1B,OAAOC,WAAW1wU,UAAUuxU,aAAa,WAAW,OAAOr5W,KAAK+4W,OAAO,EAC1Yj2B,KAAKy1B,OAAOC,WAAW1wU,UAAUwxU,gBAAgB,SAAS9gX,GAAG,OAAOsqV,KAAKt9P,OAAOm7Q,UAAU3gW,KAAK+4W,QAAQ,SAAS5+S,EAAE1nE,EAAE3E,GAAG,OAAOqsE,EAAE3lE,WAAWgE,CAAC,IAAI,IAAI,EAAEsqV,KAAKy1B,OAAOC,WAAW1wU,UAAUyxU,eAAe,SAAS/gX,GAAGsqV,YAAK8L,QAAQn0I,OAAOqoI,KAAKjF,OAAOy3B,UAAU98W,IAAWwH,KAAK+4W,QAAQxsR,SAAS/zF,EAAE,MAAM,IAAI,EAAEsqV,KAAKy1B,OAAOC,WAAW1wU,UAAU0xU,sBAAsB,WAAW,OAAO,IAAIx5W,KAAKy4W,YAAY,EAAE31B,KAAKy1B,OAAOkB,gBAAgB,SAASjhX,EAAE2hE,EAAE1nE,GAAoR,OAAjRuN,KAAK05W,QAAQlhX,EAAEsqV,KAAK8L,QAAQn0I,OAAOqoI,KAAKjF,OAAOy3B,UAAUn7S,IAAIn6D,KAAK25W,KAAKx/S,EAAEn6D,KAAK04W,MAAMjmX,EAAEjF,KAAKwS,KAAK45W,YAAYnnX,EAAEonX,OAAO75W,KAAK85W,cAAcrnX,EAAEsnX,SAAS/5W,KAAKg6W,cAAcvnX,EAAE0Y,SAASnL,KAAKi6W,WAAWxnX,EAAE0oR,UAAUn7Q,KAAKk6W,YAAYznX,EAAEwb,KAAKjO,KAAKm6W,qCAAoC,EAAUn6W,KAAKi6W,YAAY,KAAKn3B,KAAKy1B,OAAOkB,gBAAgBW,UAAUC,MAAM,KAAKv3B,KAAKy1B,OAAOkB,gBAAgBW,UAAUE,OAAO,KAAKx3B,KAAKy1B,OAAOkB,gBAAgBW,UAAUG,QAAQ,KAAKz3B,KAAKy1B,OAAOkB,gBAAgBW,UAAUI,SAAS,KAAK13B,KAAKy1B,OAAOkB,gBAAgBW,UAAUK,OAAO,KAAK33B,KAAKy1B,OAAOkB,gBAAgBW,UAAUM,MAAM,KAAK53B,KAAKy1B,OAAOkB,gBAAgBW,UAAUO,OAAO36W,KAAKm6W,qCACpkC,EAAGn6W,KAAK46W,cAAcnoX,EAAEszF,YAAY,EAAE+8P,KAAKy1B,OAAOkB,gBAAgBW,UAAU,CAACO,OAAO,EAAED,MAAM,EAAEL,MAAM,EAAEC,OAAO,EAAEO,MAAM,EAAEN,QAAQ,EAAEO,QAAQ,EAAEC,KAAK,EAAEppD,OAAO,EAAEqpD,MAAM,GAAGC,QAAQ,GAAGC,MAAM,GAAGC,OAAO,GAAGC,KAAK,GAAGC,SAAS,GAAGb,SAAS,GAAGc,OAAO,GAAGb,OAAO,IAAI33B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAUkxU,OAAO,WAAW,OAAOh5W,KAAK25W,IAAI,EAAE72B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAUoxU,kBAAkB,WAAW,OAAOl5W,KAAK05W,QAAQ5xU,UAAUqxU,eAAe,EAAEr2B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAUtzC,QAAQ,WAAW,OAAOwL,KAAK04W,KAAK,EAC7f51B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAUyzU,gBAAgB,WAAW,QAAG,IAASv7W,KAAK46W,cAAc,CAAC,IAAIpiX,EAAEwH,KAAKk6W,YAAY,GAAG1hX,IAAIg9D,QAAQx1D,KAAK46W,eAAc,UAAWpiX,IAAIgoD,OAAOxgD,KAAK46W,cAAc,UAAUpiX,IAAIgzC,OAA+E,OAAO,IAAIhzC,EAAnFwH,KAAK46W,cAAc56W,KAAKm6W,oCAAoC,IAAI,EAAmB,CAAC,CAAC,OAAOn6W,KAAK46W,aAAa,EAAE93B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAU0zU,aAAa,WAAW,OAAOx7W,KAAKi6W,UAAU,EAAEn3B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAU2zU,cAAc,WAAW,OAAOz7W,KAAKk6W,WAAW,EACpfp3B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAU4zU,mCAAmC,WAAW,OAAO17W,KAAKm6W,mCAAmC,EAAEr3B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAU6zU,oBAAoB,WAAW,OAAO37W,KAAKk6W,YAAYpyU,UAAUqxU,eAAe,EAAEr2B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAU8zU,gBAAgB,WAAW,OAAO57W,KAAKi6W,YAAYn3B,KAAKy1B,OAAOkB,gBAAgBW,UAAUa,SAASj7W,KAAKi6W,YAAYn3B,KAAKy1B,OAAOkB,gBAAgBW,UAAUY,KAAK,EAAEl4B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAU+zU,SAAS,WAAW,OAAO77W,KAAK45W,SAAS,EAClhB92B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAUg0U,WAAW,WAAW,OAAO97W,KAAK85W,WAAW,EAAEh3B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAU8mF,WAAW,WAAW,OAAO5uH,KAAKg6W,WAAW,EAAEl3B,KAAKy1B,OAAOkB,gBAAgB3xU,UAAUi0U,WAAW,WAAW,OAAO/7W,KAAK85W,cAAc95W,KAAKg6W,WAAW,EAAEl3B,KAAKy1B,OAAOyD,QAAQ,WAAWh8W,KAAKi8W,QAAQ,CAAC,EAAEj8W,KAAK+4W,QAAQ/4W,KAAKm5W,gBAAgBE,eAAer5W,KAAKk8W,oBAAoBl8W,KAAKm8W,kBAAkB,IAAI,EAAEr5B,KAAKy1B,OAAOyD,QAAQ5B,UAAU,CAACO,OAAO,EAAED,MAAM,EAAEL,MAAM,EAAEC,OAAO,EAAEO,MAAM,EAAEN,QAAQ,EAAEO,QAAQ,EAAEC,KAAK,EAAEppD,OAAO,EAAEqpD,MAAM,GAAGC,QAAQ,GAAGC,MAAM,GAAGC,OAAO,GAAGC,KAAK,GAAGC,SAAS,GAAGb,SAAS,GAAGc,OAAO,GAAGb,OAAO,IAAI33B,KAAKy1B,OAAOyD,QAAQl0U,UAAUs0U,8BAA8B,SAAS5jX,EAAE2hE,GAAGn6D,KAAKm8W,kBAAkB3jX,EAAEwH,KAAKi8W,QAAQ9hT,EAAEn6D,KAAKk8W,oBAAoB,CAAC,CAAC,EAC9vBp5B,KAAKy1B,OAAOyD,QAAQl0U,UAAUu0U,WAAW,SAAS7jX,EAAE2hE,GAAG2oR,KAAK8L,QAAQn0I,QAAQz6M,KAAK+4W,QAAQvgX,GAAG,wCAAwCsqV,KAAK8L,QAAQn0I,OAAO,GAAGjiN,EAAE,OAAOA,EAAE,eAAe2hE,EAAE,mBAAmBn6D,KAAKm5W,gBAAgB3kX,WAAWsuV,KAAK8L,QAAQn0I,OAAO,OAAOtgJ,EAAE,wBAAwBn6D,KAAKi8W,QAAQzjX,GAAG2hE,EAAEn6D,KAAKk8W,4BAA4Bl8W,KAAKk8W,oBAAoB1jX,EAAE,EAC7WsqV,KAAKy1B,OAAOyD,QAAQl0U,UAAUw0U,eAAe,SAAS9jX,EAAE2hE,GAAa,QAAQ1nE,KAAlB0nE,EAAEA,GAAGn6D,KAAkBA,KAAKi8W,QAAQ,CAAC,IAAInuX,EAAE0yD,OAAO/tD,GAAGuN,KAAK+4W,QAAQjrX,IAAI0K,EAAEkwD,KAAKyR,EAAErsE,EAAEkS,KAAKi8W,QAAQxpX,GAAG,CAAC,EAAEqwV,KAAKy1B,OAAOyD,QAAQl0U,UAAUqxU,cAAcr2B,KAAK8C,eAAe9C,KAAKy1B,OAAOyD,QAAQl0U,UAAUrO,IAAI,SAASjhC,GAAGsqV,YAAK8L,QAAQn0I,OAAOjiN,EAAE0gX,qBAAqBl5W,KAAKm5W,gBAAgB,wDAA+Dn5W,KAAKu8W,UAAU/jX,EAAEwgX,SAAS,EACtal2B,KAAKy1B,OAAOyD,QAAQl0U,UAAU00U,QAAQ,SAAShkX,GAAGsqV,YAAK8L,QAAQn0I,OAAOjiN,EAAE0gX,qBAAqBl5W,KAAKm5W,gBAAgB,wDAA+Dn5W,KAAKy8W,aAAajkX,EAAEwgX,SAAS,EAAEl2B,KAAKy1B,OAAOyD,QAAQl0U,UAAUuvU,QAAQ,SAAS7+W,GAAGsqV,YAAK8L,QAAQn0I,OAAOjiN,EAAE0gX,qBAAqBl5W,KAAKm5W,gBAAgB,wDAA+Dn5W,KAAK08W,aAAalkX,EAAEwgX,SAAS,EAC9Zl2B,KAAKy1B,OAAOyD,QAAQl0U,UAAUp/B,IAAI,SAASlQ,EAAE2hE,GAAG2oR,YAAK8L,QAAQn0I,OAAOjiN,EAAE0gX,qBAAqBl5W,KAAKm5W,gBAAgB,wDAA+Dn5W,KAAK28W,UAAUnkX,EAAEwgX,SAAS7+S,EAAE,EAAE2oR,KAAKy1B,OAAOyD,QAAQl0U,UAAU80U,aAAa,SAASpkX,EAAE2hE,GAAG2oR,YAAK8L,QAAQn0I,OAAOjiN,EAAE0gX,qBAAqBl5W,KAAKm5W,gBAAgB,wDAA+Dn5W,KAAK68W,mBAAmBrkX,EAAEwgX,SAAS7+S,EAAE,EAC1a2oR,KAAKy1B,OAAOyD,QAAQl0U,UAAU5E,IAAI,SAAS1qC,EAAE2hE,GAAG2oR,KAAK8L,QAAQn0I,OAAOjiN,EAAE0gX,qBAAqBl5W,KAAKm5W,gBAAgB,wDAAwDn5W,KAAK88W,UAAUtkX,EAAEwgX,SAAS7+S,EAAE,EAAE2oR,KAAKy1B,OAAOyD,QAAQl0U,UAAU/7B,IAAI,SAASvT,EAAE2hE,GAAG2oR,KAAK8L,QAAQn0I,OAAOjiN,EAAE0gX,qBAAqBl5W,KAAKm5W,gBAAgB,wDAAwDn5W,KAAK+8W,UAAUvkX,EAAEwgX,SAAS7+S,EAAE,EAC1Y2oR,KAAKy1B,OAAOyD,QAAQl0U,UAAUiN,MAAM,SAASv8C,GAAGsqV,KAAK8L,QAAQn0I,OAAOjiN,EAAE0gX,qBAAqBl5W,KAAKm5W,gBAAgB,wDAAwDn5W,KAAKg9W,YAAYxkX,EAAEwgX,SAAS,EACpMl2B,KAAKy1B,OAAOyD,QAAQl0U,UAAUwtT,OAAO,SAAS98V,GAAG,IAAIA,GAAGwH,KAAKP,aAAajH,EAAEiH,YAAY,OAAM,EAAG,QAAQ06D,EAAEn6D,KAAKm5W,gBAAgBC,YAAY3mX,EAAE,EAAEA,EAAE0nE,EAAE/nE,OAAOK,IAAI,CAAC,IAAI3E,EAAEqsE,EAAE1nE,GAAG+sC,EAAE1xC,EAAEkrX,SAAS,GAAGh5W,KAAKu8W,UAAU/8U,IAAIhnC,EAAE+jX,UAAU/8U,GAAG,OAAM,EAAG,GAAGx/B,KAAKu8W,UAAU/8U,GAAG,CAAC,IAAItlB,EAAEpsB,EAAE8tX,kBAAkB9+J,EAAE98M,KAAKi9W,gBAAgBz9U,GAA0B,GAAvBA,EAAEhnC,EAAEykX,gBAAgBz9U,GAAM1xC,EAAEguX,aAAa,CAAC,GAAGh/J,EAAE1qN,QAAQotC,EAAEptC,OAAO,OAAM,EAAG,IAAItE,EAAE,EAAEA,EAAEgvN,EAAE1qN,OAAOtE,IAAI,CAAC,IAAIkmH,EAAE8oG,EAAEhvN,GAAGs1C,EAAE5D,EAAE1xC,GAAG,GAAGosB,GAAG85F,EAAEshP,OAAOlyT,GAAG4wE,GAAG5wE,EAAE,OAAM,CAAE,CAAC,SAASlpB,GAAG4iM,EAAEw4I,OAAO91T,GAAGs9K,GAAGt9K,EAAE,OAAM,CAAE,CAAC,CAAC,OAAM,CAAE,EAClfsjT,KAAKy1B,OAAOyD,QAAQl0U,UAAUo1U,SAAS,SAAS1kX,GAAGsqV,KAAK8L,QAAQn0I,OAAOz6M,KAAKP,aAAajH,EAAEiH,YAAY,+CAA+CO,MAAMxH,IAAIwH,KAAKi8W,QAAQ,CAAC,EAAEj8W,KAAKk8W,sBAAsBl8W,KAAKk8W,oBAAoB,CAAC,GAAGl8W,KAAKm9W,UAAU3kX,GAAG,EAC1PsqV,KAAKy1B,OAAOyD,QAAQl0U,UAAUq1U,UAAU,SAAS3kX,GAAGsqV,KAAK8L,QAAQn0I,OAAOz6M,KAAKP,aAAajH,EAAEiH,YAAY,+CAA+C,QAAQ06D,EAAEn6D,KAAKm5W,gBAAgBC,YAAY3mX,EAAE,EAAEA,EAAE0nE,EAAE/nE,OAAOK,IAAI,CAAC,IAAI3E,EAAEqsE,EAAE1nE,GAAG+sC,EAAE1xC,EAAEkrX,SAAS,GAAGxgX,EAAE+jX,UAAU/8U,GAAG,CAACx/B,KAAKk8W,4BAA4Bl8W,KAAKk8W,oBAAoBpuX,EAAEkrX,UAAU,IAAI9+V,EAAEpsB,EAAE8tX,kBAAkB,GAAG9tX,EAAEguX,aAAa,CAAChuX,EAAE0K,EAAEikX,aAAaj9U,GAAG,QAAQs9K,EAAE,EAAEA,EAAEhvN,EAAEsE,OAAO0qN,IAAI98M,KAAK+8W,UAAUv9U,EAAEtlB,EAAEpsB,EAAEgvN,GAAGn1L,QAAQ75B,EAAEgvN,GAAG,MAAMhvN,EAAE0K,EAAEykX,gBAAgBz9U,GAAGtlB,GAAGA,EAAEla,KAAKi9W,gBAAgBz9U,IAC/ftlB,EAAEijW,UAAUrvX,GAAGkS,KAAK88W,UAAUt9U,EAAE1xC,EAAE65B,SAAS3nB,KAAK88W,UAAUt9U,EAAE1xC,EAAE,CAAC,CAAC,EAAEg1V,KAAKy1B,OAAOyD,QAAQl0U,UAAUngB,MAAM,WAAW,IAAInvB,EAAE,IAAIwH,KAAKP,YAAYjH,SAAE0kX,SAASl9W,MAAaxH,CAAC,EACrKsqV,KAAKy1B,OAAOyD,QAAQl0U,UAAUs1U,aAAa,SAAS5kX,GAAG,QAAQ2hE,EAAEn6D,KAAKm5W,gBAAgBC,YAAY3mX,EAAE,EAAEA,EAAE0nE,EAAE/nE,OAAOK,IAAI,CAAC,IAAI3E,EAAEqsE,EAAE1nE,GAAG+sC,EAAE1xC,EAAEkrX,SAAS9+V,EAAEpsB,EAAE8tX,kBAA0I,GAAxH57W,KAAKu8W,UAAU/8U,IAAI1xC,EAAEguX,eAAe5hW,EAAEla,KAAKi8W,QAAQz8U,GAAG,IAAK1xC,EAAE2tX,iBAAiBjjX,IAAIwH,KAAKi8W,QAAQz8U,GAAG1xC,EAAEytX,oBAAuBrhW,EAAE,GAAGpsB,EAAEguX,aAAa,IAAIhuX,EAAEkS,KAAKy8W,aAAaj9U,GAAGA,EAAE,EAAEA,EAAE1xC,EAAEsE,OAAOotC,IAAI1xC,EAAE0xC,GAAG49U,aAAa5kX,QAAQwH,KAAK28W,UAAUn9U,GAAG49U,aAAa5kX,EAAE,CAAC,EAAEsqV,KAAKy1B,OAAOyD,QAAQl0U,UAAUy0U,UAAU,SAAS/jX,GAAG,OAAO,MAAMwH,KAAKi8W,QAAQzjX,EAAE,EAC/esqV,KAAKy1B,OAAOyD,QAAQl0U,UAAUm1U,gBAAgB,SAASzkX,GAAG,IAAI2hE,EAAEn6D,KAAKi8W,QAAQzjX,GAAG,OAAO,MAAM2hE,EAAE,KAAKn6D,KAAKm8W,kBAAkB3jX,KAAKwH,KAAKk8W,oBAAoBl8W,KAAKk8W,oBAAoB1jX,IAAI2hE,EAAEn6D,KAAKm8W,kBAAkBkB,iBAAiBr9W,KAAKA,KAAK+4W,QAAQvgX,GAAG2hE,GAAGn6D,KAAKk8W,oBAAoB1jX,GAAG2hE,GAAGA,CAAC,EACxR2oR,KAAKy1B,OAAOyD,QAAQl0U,UAAU60U,UAAU,SAASnkX,EAAE2hE,GAAG,IAAI1nE,EAAEuN,KAAKi9W,gBAAgBzkX,GAAG,OAAOwH,KAAK+4W,QAAQvgX,GAAGsjX,cAAqBh5B,KAAK8L,QAAQn0I,OAAO,IAA3BjiN,EAAE2hE,GAAG,IAA4B3hE,EAAE/F,EAAEL,OAAO,8DAA8DoG,EAAE/F,EAAEL,QAAQK,EAAE+F,IAAI/F,CAAC,EAAEqwV,KAAKy1B,OAAOyD,QAAQl0U,UAAU+0U,mBAAmB,SAASrkX,EAAE2hE,GAAG,OAAOn6D,KAAKu8W,UAAU/jX,GAAGwH,KAAK28W,UAAUnkX,EAAE2hE,GAAGn6D,KAAK+4W,QAAQvgX,GAAG+iX,iBAAiB,EAAEz4B,KAAKy1B,OAAOyD,QAAQl0U,UAAU20U,aAAa,SAASjkX,GAAG,OAAOwH,KAAKi9W,gBAAgBzkX,IAAI,EAAE,EAChesqV,KAAKy1B,OAAOyD,QAAQl0U,UAAU40U,aAAa,SAASlkX,GAAG,OAAOwH,KAAK+4W,QAAQvgX,GAAGsjX,aAAa97W,KAAKu8W,UAAU/jX,GAAGwH,KAAKi8W,QAAQzjX,GAAGpG,OAAO,EAAE4N,KAAKu8W,UAAU/jX,GAAG,EAAE,CAAC,EAAEsqV,KAAKy1B,OAAOyD,QAAQl0U,UAAUg1U,UAAU,SAAStkX,EAAE2hE,GAAG2oR,KAAK8L,QAAQC,gBAAgB7uV,KAAKs9W,gBAAgBt9W,KAAK+4W,QAAQvgX,GAAG2hE,GAAGn6D,KAAKi8W,QAAQzjX,GAAG2hE,EAAEn6D,KAAKk8W,sBAAsBl8W,KAAKk8W,oBAAoB1jX,GAAG2hE,EAAE,EACnW2oR,KAAKy1B,OAAOyD,QAAQl0U,UAAUi1U,UAAU,SAASvkX,EAAE2hE,GAAG2oR,KAAK8L,QAAQC,gBAAgB7uV,KAAKs9W,gBAAgBt9W,KAAK+4W,QAAQvgX,GAAG2hE,GAAGn6D,KAAKi8W,QAAQzjX,KAAKwH,KAAKi8W,QAAQzjX,GAAG,IAAIwH,KAAKi8W,QAAQzjX,GAAGspC,KAAKq4B,GAAGn6D,KAAKk8W,4BAA4Bl8W,KAAKk8W,oBAAoB1jX,EAAE,EAAEsqV,KAAKy1B,OAAOyD,QAAQl0U,UAAUw1U,gBAAgB,SAAS9kX,EAAE2hE,GAAG3hE,EAAEgjX,gBAAgB14B,KAAKy1B,OAAOkB,gBAAgBW,UAAUgB,KAAKt4B,KAAK8L,QAAQU,aAAan1R,GAAG2oR,KAAK8L,QAAQn0I,OAAOrrL,OAAO+qC,GAAG16D,aAAajH,EAAEijX,gBAAgB,EAC1c34B,KAAKy1B,OAAOyD,QAAQl0U,UAAUk1U,YAAY,SAASxkX,UAAUwH,KAAKi8W,QAAQzjX,GAAGwH,KAAKk8W,4BAA4Bl8W,KAAKk8W,oBAAoB1jX,EAAE,EAAEsqV,KAAKy1B,OAAOyD,QAAQuB,iBAAiB,SAAS/kX,EAAE2hE,GAAG,IAAgB36B,EAAZ/sC,EAAE,GAAG3E,EAAEqsE,EAAE,GAAK,IAAI36B,KAAK26B,EAAE,GAAG36B,GAAG/sC,EAAEqvC,KAAK,IAAIghT,KAAKy1B,OAAOkB,gBAAgBjhX,EAAEgnC,EAAE26B,EAAE36B,KAAK,OAAO,IAAIsjT,KAAKy1B,OAAOC,WAAWhgX,EAAE1K,EAAE2E,EAAE,EAAEqwV,KAAKy1B,OAAOjqP,WAAW,WAAW,EAAEw0N,KAAKy1B,OAAOjqP,WAAWkvP,uBAAsB,EAAG16B,KAAKy1B,OAAOjqP,WAAWxmF,UAAUsI,UAAU0yS,KAAK8C,eAAe9C,KAAKy1B,OAAOjqP,WAAWxmF,UAAU21U,mBAAmB,SAASjlX,EAAE2hE,GAAG,OAAO3hE,EAAEojX,kBAAkB57W,KAAKowC,UAAU+pB,GAAG,iBAAkBA,GAAGsiR,SAAStiR,GAAGA,EAAEA,EAAEh5B,UAAU,EAAE2hT,KAAKy1B,OAAOjqP,WAAWxmF,UAAUuvL,YAAY,SAAS7+N,EAAE2hE,GAAG3hE,SAAEA,EAAEghX,wBAAwBx5W,KAAK09W,cAAcllX,EAAE2hE,GAAG2oR,KAAK8L,QAAQn0I,OAAOjiN,aAAasqV,KAAKy1B,OAAOyD,SAAgBxjX,CAAC,EAC7xBsqV,KAAKy1B,OAAOjqP,WAAWxmF,UAAU41U,cAAc56B,KAAK8C,eACpD9C,KAAKy1B,OAAOjqP,WAAWxmF,UAAU61U,qBAAqB,SAASnlX,EAAE2hE,GAAG,GAAG3hE,EAAEojX,kBAAkB,OAAOzhT,aAAa2oR,KAAKy1B,OAAOyD,QAAQ7hT,EAAEn6D,KAAKq3N,YAAY7+N,EAAEmjX,sBAAsBxhT,GAAG,GAAG3hE,EAAEgjX,gBAAgB14B,KAAKy1B,OAAOkB,gBAAgBW,UAAUgB,KAAK,OAAOt4B,KAAKy1B,OAAOjqP,WAAWkvP,uBAAuB,iBAAkBrjT,IAAI3hE,EAAEA,EAAEijX,iBAAkB7oT,eAAeuH,GAAI3hE,EAAE2hE,GAAG,iBAAkBA,GAAG2oR,KAAKy1B,OAAOjqP,WAAWsvP,cAAcziR,KAAKhhC,IAAiB,GAAZ3hE,EAAEgoD,OAAO2Z,IAAQ3hE,EAAE2hE,EAAE,IAAI3hE,EAAEkjX,qCAAqC,OAAOvhT,EACje,IAApB3hE,EAAEA,EAAEijX,mBAAuBjwU,QAAQ,GAAG,iBAAkB2uB,EAAE,OAAO3uB,OAAO2uB,QAAC,GAAU3hE,IAAIgoD,QAAQ,iBAAkB2Z,IAAI,aAAaA,GAAG,cAAcA,GAAG,QAAQA,GAAG2oR,KAAKy1B,OAAOjqP,WAAWsvP,cAAcziR,KAAKhhC,IAAI,OAAO3Z,OAAO2Z,GAAG,OAAOA,CAAC,EAAE2oR,KAAKy1B,OAAOjqP,WAAWsvP,cAAc,aAAa96B,KAAKy1B,OAAOsF,iBAAiB,WAAW,EAAE/6B,KAAK6F,SAAS7F,KAAKy1B,OAAOsF,iBAAiB/6B,KAAKy1B,OAAOjqP,YAAYw0N,KAAKy1B,OAAOsF,iBAAiB/1U,UAAUuvL,YAAY,SAAS7+N,EAAE2hE,GAAG3hE,SAAEA,EAAEghX,yBAA0B4C,8BAA8Bp8W,KAAKm6D,GAAG2oR,KAAK8L,QAAQn0I,OAAOjiN,aAAasqV,KAAKy1B,OAAOyD,SAAgBxjX,CAAC,EAAEsqV,KAAKy1B,OAAOsF,iBAAiB/1U,UAAU41U,cAAc,SAASllX,EAAE2hE,GAAG,MAAMtyB,MAAM,gBAAiB,EAAEi7S,KAAKy1B,OAAOsF,iBAAiB/1U,UAAUu1U,iBAAiBv6B,KAAK8C,eAAe9C,KAAKy1B,OAAOuF,iBAAiB,WAAW,EAAEh7B,KAAK6F,SAAS7F,KAAKy1B,OAAOuF,iBAAiBh7B,KAAKy1B,OAAOsF,kBAAkB/6B,KAAKy1B,OAAOuF,iBAAiBh2U,UAAUi2U,eAAc,EAAGj7B,KAAKy1B,OAAOuF,iBAAiBh2U,UAAUk2U,eAAe,SAASxlX,GAAGwH,KAAK+9W,cAAcvlX,CAAC,EAC7/BsqV,KAAKy1B,OAAOuF,iBAAiBh2U,UAAUsI,UAAU,SAAS53C,GAAG,QAAQ2hE,EAAE3hE,EAAE2gX,gBAAgBC,YAAY3mX,EAAE,GAAG3E,EAAEkS,KAAK+9W,cAAcv+U,EAAE,EAAEA,EAAE26B,EAAE/nE,OAAOotC,IAAI,CAAC,IAAItlB,EAAEigD,EAAE36B,GAAG,GAAGhnC,EAAEihC,IAAIvf,GAAG,CAAC,IAAI4iM,EAAE5iM,EAAE8+V,SAAmB,GAAVl8J,EAAEhvN,EAAEgvN,EAAE,EAAEA,EAAK5iM,EAAE4hW,aAAa,CAACrpX,EAAEqqN,GAAG,GAAG,QAAQ9oG,EAAE,EAAEA,EAAEx7G,EAAE6+W,QAAQn9V,GAAG85F,IAAIvhH,EAAEqqN,GAAG9oG,GAAGh0G,KAAKy9W,mBAAmBvjW,EAAE1hB,EAAEkQ,IAAIwR,EAAE85F,GAAG,MAAMvhH,EAAEqqN,GAAG98M,KAAKy9W,mBAAmBvjW,EAAE1hB,EAAEkQ,IAAIwR,GAAG,CAAC,CAAC1hB,SAAE8jX,eAAe,SAASl5U,EAAE/lB,GAAG5qB,EAAE3E,EAAEs1C,EAAE,EAAEA,GAAG/lB,CAAC,GAAU5qB,CAAC,EACnZqwV,KAAKy1B,OAAOuF,iBAAiBh2U,UAAUu1U,iBAAiB,SAAS7kX,EAAE2hE,EAAE1nE,GAAG,GAAG,MAAMA,EAAE,OAAOA,EAAE,GAAG0nE,EAAE2hT,aAAa,CAACtjX,EAAE,GAAGsqV,KAAK8L,QAAQn0I,OAAOnpN,MAAMC,QAAQkB,GAAG,0BAA0BA,GAAG,QAAQ3E,EAAE,EAAEA,EAAE2E,EAAEL,OAAOtE,IAAI0K,EAAE1K,GAAGkS,KAAK29W,qBAAqBxjT,EAAE1nE,EAAE3E,IAAI,OAAO0K,CAAC,CAAC,OAAOwH,KAAK29W,qBAAqBxjT,EAAE1nE,EAAE,EACtSqwV,KAAKy1B,OAAOuF,iBAAiBh2U,UAAU21U,mBAAmB,SAASjlX,EAAE2hE,GAAG,OAAO3hE,EAAEgjX,gBAAgB14B,KAAKy1B,OAAOkB,gBAAgBW,UAAUW,KAAK5gT,EAAE,EAAE,EAAE2oR,KAAKy1B,OAAOjqP,WAAWxmF,UAAU21U,mBAAmBvhU,MAAMl8C,KAAKywC,UAAU,EAC3NqyS,KAAKy1B,OAAOuF,iBAAiBh2U,UAAU61U,qBAAqB,SAASnlX,EAAE2hE,GAAG,OAAO3hE,EAAEgjX,gBAAgB14B,KAAKy1B,OAAOkB,gBAAgBW,UAAUW,MAAMj4B,KAAK8L,QAAQn0I,OAAO,iBAAkBtgJ,GAAG,kBAAmBA,EAAE,iDAAiDA,GAAG2oR,KAAKy1B,OAAOjqP,WAAWxmF,UAAU61U,qBAAqBzhU,MAAMl8C,KAAKywC,UAAU,EAC5UqyS,KAAKy1B,OAAOuF,iBAAiBh2U,UAAUuvL,YAAY,SAAS7+N,EAAE2hE,GAAG,IAAI1nE,EAAE0nE,EAAE,GAAGn6D,KAAK+9W,cAAoB,QAAQjwX,KAAb2E,EAAE,GAAgB0nE,EAAE1nE,EAAE85F,SAASz+F,EAAE,IAAI,GAAGqsE,EAAErsE,GAAG,OAAOg1V,KAAKy1B,OAAOuF,iBAAiBl1B,YAAYvxH,YAAY3uK,KAAK1oD,KAAKxH,EAAE/F,EAAE,EAAEqwV,KAAKjF,OAAOogC,aAAa,SAASzlX,EAAE2hE,GAAG,MAAM3hE,GAAGwH,KAAKw8C,OAAON,MAAMl8C,KAAKywC,UAAU,EAAEqyS,KAAKjF,OAAOogC,aAAan2U,UAAUo2U,QAAQ,GAAGp7B,KAAKjF,OAAOogC,aAAan2U,UAAU5E,IAAI,SAAS1qC,GAAGwH,KAAKk+W,QAAQ,GAAG1lX,CAAC,EAAEsqV,KAAKjF,OAAOogC,aAAan2U,UAAU0U,OAAO,SAAShkD,EAAE2hE,EAAE1nE,GAA2B,GAAxBuN,KAAKk+W,SAAS1yU,OAAOhzC,GAAM,MAAM2hE,EAAE,QAAQrsE,EAAE,EAAEA,EAAE2iD,UAAUr+C,OAAOtE,IAAIkS,KAAKk+W,SAASztU,UAAU3iD,GAAG,OAAOkS,IAAI,EAAE8iV,KAAKjF,OAAOogC,aAAan2U,UAAUiN,MAAM,WAAW/0C,KAAKk+W,QAAQ,EAAE,EAAEp7B,KAAKjF,OAAOogC,aAAan2U,UAAUq2U,UAAU,WAAW,OAAOn+W,KAAKk+W,QAAQ9rX,MAAM,EAC/tB0wV,KAAKjF,OAAOogC,aAAan2U,UAAU3G,SAAS,WAAW,OAAOnhC,KAAKk+W,OAAO,EAkB1E,IAAI7rW,KAAK,CAAC+rW,aAAa,CAAC,GAAG/rW,KAAK+rW,aAAar/D,aAAa,WAAW+jC,KAAKy1B,OAAOyD,QAAQtzT,KAAK1oD,KAAK,EAAE8iV,KAAK6F,SAASt2U,KAAK+rW,aAAar/D,aAAa+jC,KAAKy1B,OAAOyD,SAAS3pW,KAAK+rW,aAAar/D,aAAas/D,YAAY,KAAKhsW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU0rM,WAAW,WAAW,OAAOxzO,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUw2U,oBAAoB,WAAW,OAAOt+W,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUy2U,WAAW,SAAS/lX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAC9e6Z,KAAK+rW,aAAar/D,aAAaj3Q,UAAU02U,WAAW,WAAW,OAAOx+W,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU22U,aAAa,WAAW,OAAOz+W,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU42U,aAAa,WAAW1+W,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU62U,UAAU,WAAW,OAAO3+W,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU82U,mBAAmB,WAAW,OAAO5+W,KAAK68W,mBAAmB,EAAE,EAC7cxqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU+2U,UAAU,SAASrmX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAar/D,aAAaj3Q,UAAUg3U,UAAU,WAAW,OAAO9+W,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUi3U,YAAY,WAAW,OAAO/+W,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUk3U,YAAY,WAAWh/W,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUm3U,wBAAwB,SAASzmX,GAAG,OAAOwH,KAAK28W,UAAU,EAAEnkX,EAAE,EACrc6Z,KAAK+rW,aAAar/D,aAAaj3Q,UAAUo3U,iCAAiC,SAAS1mX,GAAG,OAAOwH,KAAK68W,mBAAmB,EAAErkX,EAAE,EAAE6Z,KAAK+rW,aAAar/D,aAAaj3Q,UAAUq3U,wBAAwB,SAAS3mX,GAAGwH,KAAK+8W,UAAU,EAAEvkX,EAAE,EAAE6Z,KAAK+rW,aAAar/D,aAAaj3Q,UAAUs3U,0BAA0B,WAAW,OAAOp/W,KAAKy8W,aAAa,EAAE,EAAEpqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUu3U,wBAAwB,WAAW,OAAOr/W,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUw3U,0BAA0B,WAAW,OAAOt/W,KAAK08W,aAAa,EAAE,EACvhBrqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUy3U,0BAA0B,WAAWv/W,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU03U,gCAAgC,WAAW,OAAOx/W,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU23U,yCAAyC,WAAW,OAAOz/W,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU43U,gCAAgC,SAASlnX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EACzb6Z,KAAK+rW,aAAar/D,aAAaj3Q,UAAU63U,gCAAgC,WAAW,OAAO3/W,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU83U,kCAAkC,WAAW,OAAO5/W,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU+3U,kCAAkC,WAAW7/W,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUg4U,wCAAwC,WAAW,OAAO9/W,KAAK28W,UAAU,EAAE,EAChctqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUi4U,iDAAiD,WAAW,OAAO//W,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUk4U,wCAAwC,SAASxnX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAar/D,aAAaj3Q,UAAUm4U,wCAAwC,WAAW,OAAOjgX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUo4U,0CAA0C,WAAW,OAAOlgX,KAAK08W,aAAa,EAAE,EACzerqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUq4U,0CAA0C,WAAWngX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUs4U,qCAAqC,WAAW,OAAOpgX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUu4U,8CAA8C,WAAW,OAAOrgX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUw4U,qCAAqC,SAAS9nX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EACxd6Z,KAAK+rW,aAAar/D,aAAaj3Q,UAAUy4U,qCAAqC,WAAW,OAAOvgX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU04U,uCAAuC,WAAW,OAAOxgX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAar/D,aAAaj3Q,UAAU24U,uCAAuC,WAAWzgX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAasC,gBAAgB,WAAW59B,KAAKy1B,OAAOyD,QAAQtzT,KAAK1oD,KAAK,EAAE8iV,KAAK6F,SAASt2U,KAAK+rW,aAAasC,gBAAgB59B,KAAKy1B,OAAOyD,SACpe3pW,KAAK+rW,aAAasC,gBAAgBrC,YAAY,KAAKhsW,KAAK+rW,aAAasC,gBAAgB54U,UAAU64U,yBAAyB,WAAW,OAAO3gX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAasC,gBAAgB54U,UAAU84U,kCAAkC,WAAW,OAAO5gX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAasC,gBAAgB54U,UAAU+4U,yBAAyB,SAASroX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAasC,gBAAgB54U,UAAUg5U,yBAAyB,WAAW,OAAO9gX,KAAKu8W,UAAU,EAAE,EACvelqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUi5U,2BAA2B,WAAW,OAAO/gX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUk5U,2BAA2B,WAAWhhX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAasC,gBAAgB54U,UAAUm5U,kBAAkB,SAASzoX,GAAG,OAAOwH,KAAK28W,UAAU,EAAEnkX,EAAE,EAAE6Z,KAAK+rW,aAAasC,gBAAgB54U,UAAUo5U,2BAA2B,SAAS1oX,GAAG,OAAOwH,KAAK68W,mBAAmB,EAAErkX,EAAE,EAClb6Z,KAAK+rW,aAAasC,gBAAgB54U,UAAUq5U,kBAAkB,SAAS3oX,GAAGwH,KAAK+8W,UAAU,EAAEvkX,EAAE,EAAE6Z,KAAK+rW,aAAasC,gBAAgB54U,UAAUs5U,oBAAoB,WAAW,OAAOphX,KAAKy8W,aAAa,EAAE,EAAEpqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUu5U,kBAAkB,WAAW,OAAOrhX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUw5U,oBAAoB,WAAW,OAAOthX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUy5U,oBAAoB,WAAWvhX,KAAKg9W,YAAY,EAAE,EAChf3qW,KAAK+rW,aAAasC,gBAAgB54U,UAAU05U,2BAA2B,SAAShpX,GAAG,OAAOwH,KAAK28W,UAAU,GAAGnkX,EAAE,EAAE6Z,KAAK+rW,aAAasC,gBAAgB54U,UAAU25U,oCAAoC,SAASjpX,GAAG,OAAOwH,KAAK68W,mBAAmB,GAAGrkX,EAAE,EAAE6Z,KAAK+rW,aAAasC,gBAAgB54U,UAAU45U,2BAA2B,SAASlpX,GAAGwH,KAAK+8W,UAAU,GAAGvkX,EAAE,EAAE6Z,KAAK+rW,aAAasC,gBAAgB54U,UAAU65U,6BAA6B,WAAW,OAAO3hX,KAAKy8W,aAAa,GAAG,EAC3cpqW,KAAK+rW,aAAasC,gBAAgB54U,UAAU85U,2BAA2B,WAAW,OAAO5hX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAasC,gBAAgB54U,UAAU+5U,6BAA6B,WAAW,OAAO7hX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUg6U,6BAA6B,WAAW9hX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAasC,gBAAgB54U,UAAUi6U,iBAAiB,WAAW,OAAO/hX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUk6U,0BAA0B,WAAW,OAAOhiX,KAAK68W,mBAAmB,EAAE,EAC7hBxqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUm6U,iBAAiB,SAASzpX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAasC,gBAAgB54U,UAAUo6U,iBAAiB,WAAW,OAAOliX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUq6U,mBAAmB,WAAW,OAAOniX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAasC,gBAAgB54U,UAAUs6U,mBAAmB,WAAWpiX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAc,WAAWv/B,KAAKy1B,OAAOyD,QAAQtzT,KAAK1oD,KAAK,EAC/c8iV,KAAK6F,SAASt2U,KAAK+rW,aAAaiE,cAAcv/B,KAAKy1B,OAAOyD,SAAS3pW,KAAK+rW,aAAaiE,cAAchE,YAAY,KAAKhsW,KAAK+rW,aAAaiE,cAAcv6U,UAAUw6U,eAAe,WAAW,OAAOtiX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUy6U,wBAAwB,WAAW,OAAOviX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU06U,eAAe,SAAShqX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU26U,eAAe,WAAW,OAAOziX,KAAKu8W,UAAU,EAAE,EACxflqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU46U,iBAAiB,WAAW,OAAO1iX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU66U,iBAAiB,WAAW3iX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU86U,aAAa,WAAW,OAAO5iX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU+6U,sBAAsB,WAAW,OAAO7iX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUg7U,aAAa,SAAStqX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAC9d6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUi7U,aAAa,WAAW,OAAO/iX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUk7U,eAAe,WAAW,OAAOhjX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUm7U,eAAe,WAAWjjX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUo7U,UAAU,WAAW,OAAOljX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUq7U,mBAAmB,WAAW,OAAOnjX,KAAK68W,mBAAmB,EAAE,EACxdxqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUs7U,UAAU,SAAS5qX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUu7U,UAAU,WAAW,OAAOrjX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUw7U,YAAY,WAAW,OAAOtjX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUy7U,YAAY,WAAWvjX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU07U,YAAY,WAAW,OAAOxjX,KAAK28W,UAAU,EAAE,EAC3btqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU27U,qBAAqB,WAAW,OAAOzjX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU47U,YAAY,SAASlrX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU67U,YAAY,WAAW,OAAO3jX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU87U,cAAc,WAAW,OAAO5jX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU+7U,cAAc,WAAW7jX,KAAKg9W,YAAY,EAAE,EACrd3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUg8U,eAAe,WAAW,OAAO9jX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUi8U,wBAAwB,WAAW,OAAO/jX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUk8U,eAAe,SAASxrX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUm8U,eAAe,WAAW,OAAOjkX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUo8U,iBAAiB,WAAW,OAAOlkX,KAAK08W,aAAa,EAAE,EACverqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUq8U,iBAAiB,WAAWnkX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUs8U,cAAc,WAAW,OAAOpkX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUu8U,uBAAuB,WAAW,OAAOrkX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUw8U,cAAc,SAAS9rX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUy8U,cAAc,WAAW,OAAOvkX,KAAKu8W,UAAU,EAAE,EAC3dlqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU08U,gBAAgB,WAAW,OAAOxkX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU28U,gBAAgB,WAAWzkX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU48U,kBAAkB,WAAW,OAAO1kX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU68U,2BAA2B,WAAW,OAAO3kX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU88U,kBAAkB,SAASpsX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAC3e6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU+8U,kBAAkB,WAAW,OAAO7kX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUg9U,oBAAoB,WAAW,OAAO9kX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUi9U,oBAAoB,WAAW/kX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUk9U,QAAQ,WAAW,OAAOhlX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUm9U,iBAAiB,WAAW,OAAOjlX,KAAK68W,mBAAmB,EAAE,EACnexqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUo9U,QAAQ,SAAS1sX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUq9U,QAAQ,WAAW,OAAOnlX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUs9U,UAAU,WAAW,OAAOplX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUu9U,UAAU,WAAWrlX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUw9U,SAAS,WAAW,OAAOtlX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUy9U,kBAAkB,WAAW,OAAOvlX,KAAK68W,mBAAmB,GAAG,EAC5hBxqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU09U,SAAS,SAAShtX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU29U,SAAS,WAAW,OAAOzlX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU49U,WAAW,WAAW,OAAO1lX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU69U,WAAW,WAAW3lX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU89U,OAAO,WAAW,OAAO5lX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU+9U,gBAAgB,WAAW,OAAO7lX,KAAK68W,mBAAmB,GAAG,EAChiBxqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUg+U,OAAO,SAASttX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUi+U,OAAO,WAAW,OAAO/lX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUk+U,SAAS,WAAW,OAAOhmX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUm+U,SAAS,WAAWjmX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUo+U,aAAa,WAAW,OAAOlmX,KAAK28W,UAAU,GAAG,EACrbtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUq+U,sBAAsB,WAAW,OAAOnmX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUs+U,aAAa,SAAS5tX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUu+U,aAAa,WAAW,OAAOrmX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUw+U,eAAe,WAAW,OAAOtmX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUy+U,eAAe,WAAWvmX,KAAKg9W,YAAY,GAAG,EAC/d3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU0+U,aAAa,WAAW,OAAOxmX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU2+U,sBAAsB,WAAW,OAAOzmX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU4+U,aAAa,SAASluX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU6+U,aAAa,WAAW,OAAO3mX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU8+U,eAAe,WAAW,OAAO5mX,KAAK08W,aAAa,GAAG,EAClerqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU++U,eAAe,WAAW7mX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUg/U,aAAa,WAAW,OAAO9mX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUi/U,sBAAsB,WAAW,OAAO/mX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUk/U,aAAa,SAASxuX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUm/U,aAAa,WAAW,OAAOjnX,KAAKu8W,UAAU,GAAG,EAC1dlqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUo/U,eAAe,WAAW,OAAOlnX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUq/U,eAAe,WAAWnnX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUs/U,gBAAgB,WAAW,OAAOpnX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUu/U,yBAAyB,WAAW,OAAOrnX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUw/U,gBAAgB,SAAS9uX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EACxe6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUy/U,gBAAgB,WAAW,OAAOvnX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU0/U,kBAAkB,WAAW,OAAOxnX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU2/U,kBAAkB,WAAWznX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU4/U,mBAAmB,WAAW,OAAO1nX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU6/U,4BAA4B,WAAW,OAAO3nX,KAAK68W,mBAAmB,GAAG,EACxfxqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU8/U,mBAAmB,SAASpvX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU+/U,mBAAmB,WAAW,OAAO7nX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUggV,qBAAqB,WAAW,OAAO9nX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUigV,qBAAqB,WAAW/nX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUkgV,eAAe,WAAW,OAAOhoX,KAAK28W,UAAU,GAAG,EACvetqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUmgV,wBAAwB,WAAW,OAAOjoX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUogV,eAAe,SAAS1vX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUqgV,eAAe,WAAW,OAAOnoX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUsgV,iBAAiB,WAAW,OAAOpoX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUugV,iBAAiB,WAAWroX,KAAKg9W,YAAY,GAAG,EACze3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUwgV,2BAA2B,WAAW,OAAOtoX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUygV,oCAAoC,WAAW,OAAOvoX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU0gV,2BAA2B,SAAShwX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU2gV,2BAA2B,WAAW,OAAOzoX,KAAKu8W,UAAU,GAAG,EACxblqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU4gV,6BAA6B,WAAW,OAAO1oX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU6gV,6BAA6B,WAAW3oX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUiwL,MAAM,WAAW,OAAO/3N,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU8gV,eAAe,WAAW,OAAO5oX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU+gV,MAAM,SAASrwX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EACne6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUghV,MAAM,WAAW,OAAO9oX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUihV,QAAQ,WAAW,OAAO/oX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUkhV,QAAQ,WAAWhpX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU68B,eAAe,WAAW,OAAO3kE,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUmhV,wBAAwB,WAAW,OAAOjpX,KAAK68W,mBAAmB,GAAG,EAC/cxqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUohV,eAAe,SAAS1wX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUqhV,eAAe,WAAW,OAAOnpX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUshV,iBAAiB,WAAW,OAAOppX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUuhV,iBAAiB,WAAWrpX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUwhV,uBAAuB,WAAW,OAAOtpX,KAAK28W,UAAU,GAAG,EAC/dtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUyhV,gCAAgC,WAAW,OAAOvpX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU0hV,uBAAuB,SAAShxX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU2hV,uBAAuB,WAAW,OAAOzpX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU4hV,yBAAyB,WAAW,OAAO1pX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU6hV,yBAAyB,WAAW3pX,KAAKg9W,YAAY,GAAG,EACjhB3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU8hV,gCAAgC,WAAW,OAAO5pX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU+hV,yCAAyC,WAAW,OAAO7pX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUgiV,gCAAgC,SAAStxX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUiiV,gCAAgC,WAAW,OAAO/pX,KAAKu8W,UAAU,GAAG,EAC5clqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUkiV,kCAAkC,WAAW,OAAOhqX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUmiV,kCAAkC,WAAWjqX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUoiV,kBAAkB,WAAW,OAAOlqX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUqiV,2BAA2B,WAAW,OAAOnqX,KAAK68W,mBAAmB,GAAG,EACtbxqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUsiV,kBAAkB,SAAS5xX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUuiV,kBAAkB,WAAW,OAAOrqX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUwiV,oBAAoB,WAAW,OAAOtqX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUyiV,oBAAoB,WAAWvqX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU0iV,uBAAuB,WAAW,OAAOxqX,KAAK28W,UAAU,GAAG,EAC3etqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU2iV,gCAAgC,WAAW,OAAOzqX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU4iV,uBAAuB,SAASlyX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU6iV,uBAAuB,WAAW,OAAO3qX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU8iV,yBAAyB,WAAW,OAAO5qX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU+iV,yBAAyB,WAAW7qX,KAAKg9W,YAAY,GAAG,EACjhB3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUgjV,4BAA4B,WAAW,OAAO9qX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUijV,qCAAqC,WAAW,OAAO/qX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUkjV,4BAA4B,SAASxyX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUmjV,4BAA4B,WAAW,OAAOjrX,KAAKu8W,UAAU,GAAG,EAC5blqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUojV,8BAA8B,WAAW,OAAOlrX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUqjV,8BAA8B,WAAWnrX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUsjV,+BAA+B,WAAW,OAAOprX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUujV,wCAAwC,WAAW,OAAOrrX,KAAK68W,mBAAmB,GAAG,EACxcxqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUwjV,+BAA+B,SAAS9yX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUyjV,+BAA+B,WAAW,OAAOvrX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU0jV,iCAAiC,WAAW,OAAOxrX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU2jV,iCAAiC,WAAWzrX,KAAKg9W,YAAY,GAAG,EACxb3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAU4jV,iCAAiC,WAAW,OAAO1rX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU6jV,0CAA0C,WAAW,OAAO3rX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU8jV,iCAAiC,SAASpzX,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU+jV,iCAAiC,WAAW,OAAO7rX,KAAKu8W,UAAU,GAAG,EAChdlqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUgkV,mCAAmC,WAAW,OAAO9rX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUikV,mCAAmC,WAAW/rX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUkkV,gBAAgB,SAASxzX,GAAG,OAAOwH,KAAK28W,UAAU,GAAGnkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUmkV,yBAAyB,SAASzzX,GAAG,OAAOwH,KAAK68W,mBAAmB,GAAGrkX,EAAE,EAC1b6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUokV,gBAAgB,SAAS1zX,GAAGwH,KAAK+8W,UAAU,GAAGvkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUqkV,kBAAkB,WAAW,OAAOnsX,KAAKy8W,aAAa,GAAG,EAAEpqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUskV,gBAAgB,WAAW,OAAOpsX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUukV,kBAAkB,WAAW,OAAOrsX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUwkV,kBAAkB,WAAWtsX,KAAKg9W,YAAY,GAAG,EACje3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUykV,oBAAoB,SAAS/zX,GAAG,OAAOwH,KAAK28W,UAAU,GAAGnkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU0kV,6BAA6B,SAASh0X,GAAG,OAAOwH,KAAK68W,mBAAmB,GAAGrkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU2kV,oBAAoB,SAASj0X,GAAGwH,KAAK+8W,UAAU,GAAGvkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAU4kV,sBAAsB,WAAW,OAAO1sX,KAAKy8W,aAAa,GAAG,EAAEpqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU6kV,oBAAoB,WAAW,OAAO3sX,KAAKu8W,UAAU,GAAG,EAC3gBlqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU8kV,sBAAsB,WAAW,OAAO5sX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU+kV,sBAAsB,WAAW7sX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUglV,sBAAsB,WAAW,OAAO9sX,KAAK28W,UAAU,GAAG,EAAEtqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUilV,+BAA+B,WAAW,OAAO/sX,KAAK68W,mBAAmB,GAAG,EACtaxqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUklV,sBAAsB,SAASx0X,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUmlV,sBAAsB,WAAW,OAAOjtX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUolV,wBAAwB,WAAW,OAAOltX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUqlV,wBAAwB,WAAWntX,KAAKg9W,YAAY,GAAG,EAAE3qW,KAAK+rW,aAAaiE,cAAcv6U,UAAUslV,iBAAiB,WAAW,OAAOptX,KAAK28W,UAAU,GAAG,EACrftqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUulV,0BAA0B,WAAW,OAAOrtX,KAAK68W,mBAAmB,GAAG,EAAExqW,KAAK+rW,aAAaiE,cAAcv6U,UAAUwlV,iBAAiB,SAAS90X,GAAGwH,KAAK88W,UAAU,GAAGtkX,EAAE,EAAE6Z,KAAK+rW,aAAaiE,cAAcv6U,UAAUylV,iBAAiB,WAAW,OAAOvtX,KAAKu8W,UAAU,GAAG,EAAElqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU0lV,mBAAmB,WAAW,OAAOxtX,KAAK08W,aAAa,GAAG,EAAErqW,KAAK+rW,aAAaiE,cAAcv6U,UAAU2lV,mBAAmB,WAAWztX,KAAKg9W,YAAY,GAAG,EACnf3qW,KAAK+rW,aAAasP,wBAAwB,WAAW5qC,KAAKy1B,OAAOyD,QAAQtzT,KAAK1oD,KAAK,EAAE8iV,KAAK6F,SAASt2U,KAAK+rW,aAAasP,wBAAwB5qC,KAAKy1B,OAAOyD,SAAS3pW,KAAK+rW,aAAasP,wBAAwBrP,YAAY,KAAKhsW,KAAK+rW,aAAasP,wBAAwB5lV,UAAUsQ,YAAY,SAAS5/C,GAAG,OAAOwH,KAAK28W,UAAU,EAAEnkX,EAAE,EAAE6Z,KAAK+rW,aAAasP,wBAAwB5lV,UAAU6lV,qBAAqB,SAASn1X,GAAG,OAAOwH,KAAK68W,mBAAmB,EAAErkX,EAAE,EAC7b6Z,KAAK+rW,aAAasP,wBAAwB5lV,UAAU8lV,YAAY,SAASp1X,GAAGwH,KAAK+8W,UAAU,EAAEvkX,EAAE,EAAE6Z,KAAK+rW,aAAasP,wBAAwB5lV,UAAU+lV,cAAc,WAAW,OAAO7tX,KAAKy8W,aAAa,EAAE,EAAEpqW,KAAK+rW,aAAasP,wBAAwB5lV,UAAUgmV,YAAY,WAAW,OAAO9tX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAasP,wBAAwB5lV,UAAUimV,cAAc,WAAW,OAAO/tX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAasP,wBAAwB5lV,UAAUkmV,cAAc,WAAWhuX,KAAKg9W,YAAY,EAAE,EAC1f3qW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUqxU,cAAc,WAAW,IAAI3gX,EAAE6Z,KAAK+rW,aAAar/D,aAAas/D,YAAY7lX,WAAI6Z,KAAK+rW,aAAar/D,aAAas/D,YAAY7lX,EAAEsqV,KAAKy1B,OAAOyD,QAAQuB,iBAAiBlrW,KAAK+rW,aAAar/D,aAAa,CAAC,EAAE,CAACvxT,KAAK,eAAeorX,SAAS,kCAAkC,EAAE,CAACprX,KAAK,UAAU2d,UAAS,EAAGgwQ,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,EAAE,CAACh+C,KAAK,SAAS2d,UAAS,EAAGgwQ,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,EAAE,CAACh+C,KAAK,yBACteusX,UAAS,EAAG5+F,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,EAAE,CAACh+C,KAAK,kCAAkC2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,EAAE,CAACh+C,KAAK,2CAA2C2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUW,KAAKh1R,cAAa,EAAG93E,KAAKunD,SAAS,EAAE,CAAChoE,KAAK,wCAAwC2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,WAAkBhzC,CAAC,EAAE6Z,KAAK+rW,aAAar/D,aAAao6D,cAAc9mW,KAAK+rW,aAAar/D,aAAaj3Q,UAAUqxU,cAC3f9mW,KAAK+rW,aAAasC,gBAAgB54U,UAAUqxU,cAAc,WAAW,IAAI3gX,EAAE6Z,KAAK+rW,aAAasC,gBAAgBrC,YAAY7lX,WAAI6Z,KAAK+rW,aAAasC,gBAAgBrC,YAAY7lX,EAAEsqV,KAAKy1B,OAAOyD,QAAQuB,iBAAiBlrW,KAAK+rW,aAAasC,gBAAgB,CAAC,EAAE,CAAClzX,KAAK,kBAAkBorX,SAAS,qCAAqC,EAAE,CAACprX,KAAK,0BAA0B2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,EAAE,CAACh+C,KAAK,kBAAkBusX,UAAS,EAAG5+F,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUS,MAAM5sW,KAAKuyC,QACpf,GAAG,CAAChzD,KAAK,6BAA6BusX,UAAS,EAAG5+F,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUS,MAAM5sW,KAAKuyC,QAAQ,EAAE,CAAChzD,KAAK,iBAAiB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,WAAkBhzC,CAAC,EAAE6Z,KAAK+rW,aAAasC,gBAAgBvH,cAAc9mW,KAAK+rW,aAAasC,gBAAgB54U,UAAUqxU,cAC3S9mW,KAAK+rW,aAAaiE,cAAcv6U,UAAUqxU,cAAc,WAAW,IAAI3gX,EAAE6Z,KAAK+rW,aAAaiE,cAAchE,YAAY7lX,WAAI6Z,KAAK+rW,aAAaiE,cAAchE,YAAY7lX,EAAEsqV,KAAKy1B,OAAOyD,QAAQuB,iBAAiBlrW,KAAK+rW,aAAaiE,cAAc,CAAC,EAAE,CAAC70X,KAAK,gBAAgBorX,SAAS,mCAAmC,EAAE,CAACprX,KAAK,eAAe2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,EAAE,CAAClzX,KAAK,aAAa2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAC5f,EAAE,CAAClzX,KAAK,SAAS2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,EAAE,CAAClzX,KAAK,YAAY2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,EAAE,CAAClzX,KAAK,eAAe2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,EAAE,CAAClzX,KAAK,cAAc2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,EAAE,CAAClzX,KAAK,kBAAkB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QACpfhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,EAAE,CAAClzX,KAAK,OAAO2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,QAAQ2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,MAAM2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,YAAY2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,YAAY2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QACzgBhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,aAAa2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,gBAAgB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,mBAAmB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,eAAe2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,GAAG,CAAClzX,KAAK,4BACpf2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAasC,iBAAiB,EAAE,CAAClzX,KAAK,KAAK2d,UAAS,EAAGgwQ,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,GAAG,CAACh+C,KAAK,eAAe2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUS,MAAM5sW,KAAKuyC,QAAQ,GAAG,CAAChzD,KAAK,uBAAuB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,GAAG,CAACh+C,KAAK,iCAAiC2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,GAAG,CAACh+C,KAAK,kBAAkB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OACrgB1jT,KAAKu9B,QAAQ,GAAG,CAACh+C,KAAK,wBAAwB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,GAAG,CAACh+C,KAAK,8BAA8B2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,GAAG,CAACh+C,KAAK,iCAAiC2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,GAAG,CAACh+C,KAAK,qCAAqC2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUW,KAAKh1R,cAAa,EAAG93E,KAAKunD,SAAS,GAAG,CAAChoE,KAAK,gBAAgBusX,UAAS,EAAG5+F,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QACzfhtW,KAAKoE,KAAK+rW,aAAar/D,cAAc,GAAG,CAACvxT,KAAK,qBAAqBusX,UAAS,EAAG5+F,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAar/D,cAAc,GAAG,CAACvxT,KAAK,wBAAwB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUW,KAAKh1R,cAAa,EAAG93E,KAAKunD,SAAS,GAAG,CAAChoE,KAAK,iBAAiB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,WAAkBhzC,CAAC,EAAE6Z,KAAK+rW,aAAaiE,cAAclJ,cAAc9mW,KAAK+rW,aAAaiE,cAAcv6U,UAAUqxU,cAC3c9mW,KAAK+rW,aAAasP,wBAAwB5lV,UAAUqxU,cAAc,WAAW,IAAI3gX,EAAE6Z,KAAK+rW,aAAasP,wBAAwBrP,YAAY7lX,WAAI6Z,KAAK+rW,aAAasP,wBAAwBrP,YAAY7lX,EAAEsqV,KAAKy1B,OAAOyD,QAAQuB,iBAAiBlrW,KAAK+rW,aAAasP,wBAAwB,CAAC,EAAE,CAAClgY,KAAK,0BAA0BorX,SAAS,6CAA6C,EAAE,CAACprX,KAAK,WAAWusX,UAAS,EAAG5+F,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUa,QAAQhtW,KAAKoE,KAAK+rW,aAAaiE,kBAAyB7pX,CAAC,EAC7e6Z,KAAK+rW,aAAasP,wBAAwBvU,cAAc9mW,KAAK+rW,aAAasP,wBAAwB5lV,UAAUqxU,cAAc9mW,KAAK+rW,aAAa6P,YAAY,WAAWnrC,KAAKy1B,OAAOyD,QAAQtzT,KAAK1oD,KAAK,EAAE8iV,KAAK6F,SAASt2U,KAAK+rW,aAAa6P,YAAYnrC,KAAKy1B,OAAOyD,SAAS3pW,KAAK+rW,aAAa6P,YAAY5P,YAAY,KAAKhsW,KAAK+rW,aAAa6P,YAAYnmV,UAAU68B,eAAe,WAAW,OAAO3kE,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUmhV,wBAAwB,WAAW,OAAOjpX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUohV,eAAe,SAAS1wX,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EACnlB6Z,KAAK+rW,aAAa6P,YAAYnmV,UAAUqhV,eAAe,WAAW,OAAOnpX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUshV,iBAAiB,WAAW,OAAOppX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUuhV,iBAAiB,WAAWrpX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAa6P,YAAYnmV,UAAUk9B,kBAAkB,WAAW,OAAOhlE,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUomV,2BAA2B,WAAW,OAAOluX,KAAK68W,mBAAmB,EAAE,EACpexqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUqmV,kBAAkB,SAAS31X,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAa6P,YAAYnmV,UAAUsmV,kBAAkB,WAAW,OAAOpuX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUumV,oBAAoB,WAAW,OAAOruX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUwmV,oBAAoB,WAAWtuX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAa6P,YAAYnmV,UAAUymV,aAAa,WAAW,OAAOvuX,KAAK28W,UAAU,EAAE,EACldtqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU0mV,sBAAsB,WAAW,OAAOxuX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU2mV,aAAa,SAASj2X,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAa6P,YAAYnmV,UAAU4mV,aAAa,WAAW,OAAO1uX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU6mV,eAAe,WAAW,OAAO3uX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU8mV,eAAe,WAAW5uX,KAAKg9W,YAAY,EAAE,EAChd3qW,KAAK+rW,aAAa6P,YAAYnmV,UAAU+mV,sBAAsB,WAAW,OAAO7uX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUgnV,+BAA+B,WAAW,OAAO9uX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUinV,sBAAsB,SAASv2X,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAa6P,YAAYnmV,UAAUknV,sBAAsB,WAAW,OAAOhvX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUmnV,wBAAwB,WAAW,OAAOjvX,KAAK08W,aAAa,EAAE,EAChgBrqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUonV,wBAAwB,WAAWlvX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAa6P,YAAYnmV,UAAUqnV,wBAAwB,WAAW,OAAOnvX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUsnV,iCAAiC,WAAW,OAAOpvX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUunV,wBAAwB,SAAS72X,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAa6P,YAAYnmV,UAAUwnV,wBAAwB,WAAW,OAAOtvX,KAAKu8W,UAAU,EAAE,EAChgBlqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUynV,0BAA0B,WAAW,OAAOvvX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU0nV,0BAA0B,WAAWxvX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAa6P,YAAYnmV,UAAU2nV,YAAY,WAAW,OAAOzvX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU4nV,qBAAqB,WAAW,OAAO1vX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU6nV,YAAY,SAASn3X,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EACne6Z,KAAK+rW,aAAa6P,YAAYnmV,UAAU8nV,YAAY,WAAW,OAAO5vX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU+nV,cAAc,WAAW,OAAO7vX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUgoV,cAAc,WAAW9vX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAa6P,YAAYnmV,UAAUioV,qBAAqB,WAAW,OAAO/vX,KAAK28W,UAAU,EAAE,EAAEtqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUkoV,8BAA8B,WAAW,OAAOhwX,KAAK68W,mBAAmB,EAAE,EACjexqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUmoV,qBAAqB,SAASz3X,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAa6P,YAAYnmV,UAAUooV,qBAAqB,WAAW,OAAOlwX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUqoV,uBAAuB,WAAW,OAAOnwX,KAAK08W,aAAa,EAAE,EAAErqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUsoV,uBAAuB,WAAWpwX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAa6P,YAAYnmV,UAAUuoV,gCAAgC,WAAW,OAAOrwX,KAAK28W,UAAU,EAAE,EACjftqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUwoV,yCAAyC,WAAW,OAAOtwX,KAAK68W,mBAAmB,EAAE,EAAExqW,KAAK+rW,aAAa6P,YAAYnmV,UAAUyoV,gCAAgC,SAAS/3X,GAAGwH,KAAK88W,UAAU,EAAEtkX,EAAE,EAAE6Z,KAAK+rW,aAAa6P,YAAYnmV,UAAU0oV,gCAAgC,WAAW,OAAOxwX,KAAKu8W,UAAU,EAAE,EAAElqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU2oV,kCAAkC,WAAW,OAAOzwX,KAAK08W,aAAa,EAAE,EACrcrqW,KAAK+rW,aAAa6P,YAAYnmV,UAAU4oV,kCAAkC,WAAW1wX,KAAKg9W,YAAY,EAAE,EAAE3qW,KAAK+rW,aAAa6P,YAAY0C,kBAAkB,CAACC,YAAY,EAAEC,2BAA2B,EAAEC,qBAAqB,EAAEC,8BAA8B,GAAGC,qBAAqB,IACnR3+W,KAAK+rW,aAAa6P,YAAYnmV,UAAUqxU,cAAc,WAAW,IAAI3gX,EAAE6Z,KAAK+rW,aAAa6P,YAAY5P,YAAY7lX,WAAI6Z,KAAK+rW,aAAa6P,YAAY5P,YAAY7lX,EAAEsqV,KAAKy1B,OAAOyD,QAAQuB,iBAAiBlrW,KAAK+rW,aAAa6P,YAAY,CAAC,EAAE,CAACzgY,KAAK,cAAcorX,SAAS,iCAAiC,EAAE,CAACprX,KAAK,eAAe2d,UAAS,EAAGgwQ,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUS,MAAM5sW,KAAKuyC,QAAQ,EAAE,CAAChzD,KAAK,kBAAkB2d,UAAS,EAAGgwQ,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUE,OAAOrsW,KAAKuyC,QAAQ,EAAE,CAAChzD,KAAK,YAC7e2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,EAAE,CAACh+C,KAAK,uBAAuB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUW,KAAK9sW,KAAKunD,SAAS,EAAE,CAAChoE,KAAK,0BAA0B2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUS,MAAM90R,aAAa,EAAE93E,KAAKuyC,QAAQ,EAAE,CAAChzD,KAAK,YAAY2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,QAAQ,EAAE,CAACh+C,KAAK,sBAAsB2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUgB,KAAKr1R,aAAa1zE,KAAK+rW,aAAa6P,YAAY0C,kBAAkBC,YAAY3iX,KAAKoE,KAAK+rW,aAAa6P,YAAY0C,mBACzgB,EAAE,CAACnjY,KAAK,kCAAkC2tR,UAAU2nE,KAAKy1B,OAAOyD,QAAQ5B,UAAUzoD,OAAO1jT,KAAKu9B,WAAkBhzC,CAAC,EAAE6Z,KAAK+rW,aAAa6P,YAAY5sE,KAAKhvS,KAAK+rW,aAAa6P,YAAY57W,KAAK+rW,aAAa6P,YAAY5sE,KAAK83D,cAAc9mW,KAAK+rW,aAAa6P,YAAYnmV,UAAUqxU,cAgB7Q9mW,KAAK+rW,aAAapmU,SAAS,CAAC,EAC5B3lC,KAAK+rW,aAAapmU,SAASi5U,2BAA2B,CAAC,EAAE,6EAA6E9lW,MAAM,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAClf,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MACvf,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MACxf,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAA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G3lW,UAAUuU,EA7ElB,QA+ETquZ,EAAcv7c,QAChB,EAQA2iD,MAAO,WACLuK,EAAU,CAAC,EACX1qC,OAAOpnB,KAAO,GACdmgd,EAAcv7c,OAAS,CACzB,EAQA04F,UACS,iBAAoBl2E,QAAU,iBAAoBA,OAAOpnB,OA9FpE,SAASwkH,IACP,GAAK27V,EAAc7iX,UAEnB,KAEI5pD,EAFA9zC,EAAOwnB,OAAOpnB,KACd4E,EAAS,EAOb,IAAK8uC,KAJLoe,EAdW,SAcDlyD,EAAKgoB,OAAO,GAClBs7X,EAAGjzY,MAAMrQ,EAAKw0C,MAAM,IACpB,CAAC,EAGCnI,EAAIivB,KAAKpJ,EAASpe,IAAM9uC,IAG9Bu7c,EAAcv7c,OAASA,EACzB,CAqFA4/G,oBCjHA,IAAAnkH,EAAA,CACA,aACA,gBACA,YACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,eACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,eACA,kBACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,YACA,eACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,YACA,gBACA,mBACA,gBACA,mBACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,sBACA,mBACA,sBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,iBACA,oBACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,WACA,cACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,iBACA,oBACA,gBACA,mBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,kBACA,qBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,cACA,kBACA,qBACA,iBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,WACA,kBACA,qBACA,cACA,aACA,gBACA,mBACA,sBACA,aACA,gBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,oBAIA,SAAA+/c,EAAAr0a,GACA,IAAA/wC,EAAAqld,EAAAt0a,GACA,OAAAw6C,EAAAvrF,EACA,CACA,SAAAqld,EAAAt0a,GACA,IAAAw6C,EAAA+C,EAAAjpF,EAAA0rC,GAAA,CACA,IAAAiG,EAAA,IAAAqI,MAAA,uBAAAtO,EAAA,KACA,MAAAiG,EAAAjzC,KAAA,mBACAizC,CACA,CACA,OAAA3xC,EAAA0rC,EACA,CACAq0a,EAAAv+a,KAAA,WACA,OAAAD,OAAAC,KAAAxhC,EACA,EACA+/c,EAAAr5Z,QAAAs5Z,EACAr1H,EAAA9oI,QAAAk+P,EACAA,EAAApld,GAAA,8NCrRI6pL,EACH,SAAUA,IAKPA,UAAsBA,GAAsBtoL,MAAW,GAAK,QAK5DsoL,GAAsBA,GAAsBI,WAAgB,GAAK,aAKjEJ,GAAsBA,GAAsBnpG,SAAc,GAAK,WAK/DmpG,GAAsBA,GAAsBO,MAAW,GAAK,QAK5DP,GAAsBA,GAAsBS,QAAa,GAAK,UAK9DT,GAAsBA,GAAsBW,UAAe,GAAK,YAKhEX,GAAsBA,GAAsBa,MAAW,GAAK,QAK5Db,GAAsBA,GAAsBC,QAAa,GAAK,UAK9DD,GAAsBA,GAAsBe,UAAe,GAAK,YAKhEf,GAAsBA,GAAsBiB,aAAkB,GAAK,eAKnEjB,GAAsBA,GAAsBmB,WAAgB,IAAM,aAKlEnB,GAAsBA,GAAsBqB,MAAW,IAAM,QAK7DrB,GAAsBA,GAAsBuB,QAAa,IAAM,UAjExDvB,EAkEX,CAlEC,CAkEEA,GAAkD,CAAC,GAMtD,MAAM3E,EAAa,IAqJnB,SAAS9jJ,EAAQp8B,GAAMwoL,IACnB,MAAO,CAAE/nK,KAAMokK,EAAsBC,QAAS9kL,QAAMwoL,eAAapvJ,QAAS,CAAC,EAC/E,CA2DA,SAASqD,EAAQymJ,GAAS7/I,GAAS,MAC/B,MAAO,CAAE5iB,KAAMokK,EAAsBS,QAASjiJ,UAAQ6/I,WAC1D,CAkCA,SAAS5kK,EAAM2lK,GAAO7qJ,GAAU,MAC5B,MAAO,CAAE3Y,KAAMokK,EAAsBO,MAAOnB,SAAO7qJ,WACvD,CAkCA,SAAS8qJ,EAASD,GAAO7qJ,GAAU,MAC/B,MAAO,CAAE3Y,KAAMokK,EAAsBnpG,SAAUuoG,SAAO7qJ,WAC1D,CAwCA,SAASiD,EAAM8pH,IACX,MAAO,CAAE1lI,KAAMokK,EAAsBa,MAAOriJ,OAAQ8iH,GAAQoa,OAAQ,KACxE,CA8BA,SAAS/kK,EAAMwE,GAAMqjC,GAAQjK,IACzB,MAAO,CAAE3Y,KAAMokK,EAAsBtoL,MAAOyD,QAAMqjC,UAAQjK,WAC9D,CA8CA,SAASimJ,GAAU4E,IACf,MAAO,CAAExjK,KAAMokK,EAAsBW,UAAWvB,SACpD,CAmJA,SAASznJ,GAAW8jb,GAAiBr8R,GAAO7qJ,GAAU,MAClD,MAAO,CAAE3Y,KAAMokK,EAAsBI,WAAY2E,KAAM02R,GAAiBh9a,UAAW2gJ,GAAO7qJ,WAC9F,CAoEA,SAASmnb,GAAannb,GAAU,MAC5B,MAAO,CAAE3Y,KAAMokK,EAAsBiB,aAAc1sJ,WACvD,CAsIA,SAASzP,GAAM4oJ,GAAUjvI,GAAWlK,GAAU,MAC1C,MAAO,CAAE3Y,KAAMokK,EAAsBqB,MAAO3T,YAAUjvI,aAAWlK,WACrE,CAqFA,IA8CMonb,GAAgB,MAAtB,MAAMA,UACOhuc,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFy/b,GAAgB,CAAsD,QACxKhuc,KAAKszD,WADmFrzD,MAAE,CAAAhQ,MACY+9c,GAAgBvtc,eAAwCwwB,OAAOg9a,IAAwBttc,WAAzD,QAA8D,EAC9M,OAHKqtc,EAAgB,KAetB,MAAME,IACL,IACKD,GAAuB,MAA7B,MAAMA,WAAgCD,GAClCvuc,YAAY0uc,GAAc7hX,IAWtB,GAVA97C,QACAxwC,KAAKouc,uBAAsBn9a,OAAOspK,MAAuB,CAAEzhJ,UAAU,IACrE94C,KAAKquc,iBAAmB,EAOxBruc,KAAKsuc,UAAYH,GAAal1Q,eAAe3sG,GAAI9iG,KANhC,CACbhB,GAAI,IACJ+gC,cAAeglb,MAAkB99a,KACjCI,OAAQ,GACRzjC,KAAM,CAAE0jC,UAAW,MAGU,OAA7B9wB,KAAKouc,sBA6GjB,SAASI,GAAoBr1Q,IACzB,MAAMlrL,GAAOkrL,GAAShC,WACtB,OAAgB,IAATlpL,IAA2D,IAATA,EAC7D,CAhHkDugc,CAAoBxuc,KAAKsuc,WAE/D,MAAM,IAAIjiS,MAAc,MAAwHC,EAIxJ,CACAn1B,MAAMrmH,IACF,MAAMtoC,GAAKwX,KAAKquc,iBAChBruc,KAAKquc,mBACL,MAAMv1W,GAAQxnG,MAAMC,QAAQu/B,IAAa4gJ,EAAS5gJ,IAAaA,GAC/D29a,UAAsBzuc,KAAKsuc,UAAW,KAAM9ld,GAAI,WAAY,CAACswG,KACtD,IAAI41W,GAAwBlmd,GAAIwX,KAAKsuc,UAChD,QACStuc,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0/b,IA1CVhuc,MA0CmDA,OA1CnDA,MA0CmFwoB,MAAQ,CAA+C,QAClOzoB,KAAKszD,WA3CmFrzD,MAAE,CAAAhQ,MA2CYg+c,GAAuBxtc,QAAvBwtc,GAAuBvtc,UAAAC,WAAc,QAAW,EAClK,OA5BKstc,EAAuB,KAoC7B,MAAMS,WAAgCR,GAClCzuc,YAAY2yG,GAAKk8V,IACb99Z,QACAxwC,KAAKoyG,IAAMA,GACXpyG,KAAKsuc,UAAYA,EACrB,CACA94a,OAAO1F,GAASlJ,IACZ,OAAO,IAAI+nb,GAAwB3uc,KAAKoyG,IAAKtiF,GAASlJ,IAAW,CAAC,EAAG5mB,KAAKsuc,UAC9E,EAEJ,MAAMK,GACFlvc,YAAYjX,GAAIsnC,GAASlJ,GAAS0nb,IAC9Btuc,KAAKxX,GAAKA,GACVwX,KAAK8vB,QAAUA,GACf9vB,KAAKsuc,UAAYA,GACjBtuc,KAAK8vL,aAAe,KACpB9vL,KAAK80L,UAAW,EAChB90L,KAAKsuK,UAAY,EACjBtuK,KAAK4uc,SAAS,SAAUhob,GAC5B,CACAiob,QAAQnsW,GAAWv5C,IACf,OAAOnpD,KAAKsuc,UAAUzoR,OAAO7lL,KAAK8vB,QAAS,KAAK9vB,KAAKxX,MAAMk6G,KAAav5C,GAC5E,CACAylZ,SAASngS,MAAY1lI,IACjB0la,GAAsBzuc,KAAKsuc,UAAWtuc,KAAK8vB,QAAS9vB,KAAKxX,GAAIimL,GAAS1lI,GAC1E,CACAilI,OAAOrxJ,IACH3c,KAAK6uc,QAAQ,OAAQlyb,GACzB,CACA45I,QAAQ55I,IACJ3c,KAAK6uc,QAAQ,QAASlyb,GAC1B,CACAsxJ,UAAUtxJ,IACN3c,KAAK6uc,QAAQ,UAAWlyb,GAC5B,CACAq0B,OACIhxC,KAAK4uc,SAAS,OAClB,CACA78Q,aACI,OAAO/xL,KAAK80L,QAChB,CACA/O,OACI/lL,KAAK4uc,SAAS,QACd5uc,KAAK80L,UAAW,CACpB,CACAp/D,QACI11H,KAAK4uc,SAAS,QAClB,CACA5oR,UACIhmL,KAAK4uc,SAAS,UAClB,CACA3oR,SACIjmL,KAAK4uc,SAAS,SAClB,CACAnhb,UACIztB,KAAK4uc,SAAS,UAClB,CACA9rd,QACIkd,KAAK4uc,SAAS,SACd5uc,KAAK80L,UAAW,CACpB,CACA5O,YAAY93K,IACRpO,KAAK4uc,SAAS,cAAexgc,GACjC,CACA4jL,cACI,OAUR,SAAS88Q,GAAwB31Q,IAC7B,MAAMlrL,GAAOkrL,GAAShC,WACtB,OAAa,IAATlpL,GACOkrL,GAEO,IAATlrL,GACEkrL,GAAS41Q,kBAEb,IACX,CAnBeD,CAAwB9uc,KAAKsuc,YAAYzkR,QAAQrd,QAAQxsK,KAAKxX,KAAKwpM,eAAiB,CAC/F,EAEJ,SAASy8Q,GAAsBt1Q,GAAUrpK,GAAStnC,GAAIimL,GAAS1lI,IAC3DowJ,GAASf,YAAYtoK,GAAS,KAAKtnC,MAAMimL,KAAW1lI,GACxD,CA+BA,MAAM0jI,GACFhtK,YAAYqzC,GAAW,EAAGlb,GAAQ,GAC9B53B,KAAKy0L,WAAa,GAClBz0L,KAAK00L,YAAc,GACnB10L,KAAK20L,cAAgB,GACrB30L,KAAKg1L,mBAAqB,GAC1Bh1L,KAAKi1L,oBAAsB,GAC3Bj1L,KAAK80L,UAAW,EAChB90L,KAAK+0L,YAAa,EAClB/0L,KAAK60L,WAAY,EACjB70L,KAAK4uT,UAAY,EACjB5uT,KAAK8vL,aAAe,KACpB9vL,KAAKsuK,UAAYx7H,GAAWlb,EAChC,CACAy9J,YACSr1L,KAAK60L,YACN70L,KAAK60L,WAAY,EACjB70L,KAAKy0L,WAAWrpK,QAASzO,IAAOA,MAChC3c,KAAKy0L,WAAa,GAE1B,CACAl+B,QAAQ55I,IACJ3c,KAAKi1L,oBAAoBnzJ,KAAKnlB,IAC9B3c,KAAK00L,YAAY5yJ,KAAKnlB,GAC1B,CACAqxJ,OAAOrxJ,IACH3c,KAAKg1L,mBAAmBlzJ,KAAKnlB,IAC7B3c,KAAKy0L,WAAW3yJ,KAAKnlB,GACzB,CACAsxJ,UAAUtxJ,IACN3c,KAAK20L,cAAc7yJ,KAAKnlB,GAC5B,CACAo1K,aACI,OAAO/xL,KAAK80L,QAChB,CACA9jJ,OAAS,CACT+0I,OACS/lL,KAAK+xL,eACN/xL,KAAKgvc,WACLhvc,KAAKivc,oBAETjvc,KAAK80L,UAAW,CACpB,CAEAm6Q,mBACI53Q,eAAe,IAAMr3L,KAAKq1L,YAC9B,CACA25Q,WACIhvc,KAAK00L,YAAYtpK,QAASzO,IAAOA,MACjC3c,KAAK00L,YAAc,EACvB,CACAh/D,QAAU,CACVswD,UAAY,CACZC,SACIjmL,KAAKq1L,WACT,CACA5nK,UACSztB,KAAK+0L,aACN/0L,KAAK+0L,YAAa,EACb/0L,KAAK+xL,cACN/xL,KAAKgvc,WAEThvc,KAAKimL,SACLjmL,KAAK20L,cAAcvpK,QAASzO,IAAOA,MACnC3c,KAAK20L,cAAgB,GAE7B,CACA7xM,QACIkd,KAAK80L,UAAW,EAChB90L,KAAK60L,WAAY,EACjB70L,KAAK00L,YAAc10L,KAAKi1L,oBACxBj1L,KAAKy0L,WAAaz0L,KAAKg1L,kBAC3B,CACA9O,YAAYvwJ,IACR31B,KAAK4uT,UAAY5uT,KAAKsuK,UAAY34I,GAAW31B,KAAKsuK,UAAY,CAClE,CACA0jB,cACI,OAAOhyL,KAAKsuK,UAAYtuK,KAAK4uT,UAAY5uT,KAAKsuK,UAAY,CAC9D,CAEAujB,gBAAgB3jB,IACZ,MAAM6nB,GAAuB,SAAb7nB,GAAuBluK,KAAK00L,YAAc10L,KAAKy0L,WAC/DsB,GAAQ3qK,QAASzO,IAAOA,MACxBo5K,GAAQ3jM,OAAS,CACrB,EAWJ,MAAM88c,GACFzvc,YAAY0vc,IACRnvc,KAAKy0L,WAAa,GAClBz0L,KAAK00L,YAAc,GACnB10L,KAAK60L,WAAY,EACjB70L,KAAK80L,UAAW,EAChB90L,KAAK+0L,YAAa,EAClB/0L,KAAK20L,cAAgB,GACrB30L,KAAK8vL,aAAe,KACpB9vL,KAAKsuK,UAAY,EACjBtuK,KAAKwsK,QAAU2iS,GACf,IAAIC,GAAY,EACZC,GAAe,EACfC,GAAa,EACjB,MAAMr0V,GAAQj7G,KAAKwsK,QAAQp6K,OACd,GAAT6oH,GACAo8E,eAAe,IAAMr3L,KAAKq1L,aAG1Br1L,KAAKwsK,QAAQphJ,QAAS0iJ,KAClBA,GAAOE,OAAO,OACJohS,IAAan0V,IACfj7G,KAAKq1L,WAAU,GAGvBvnB,GAAOG,UAAU,OACPohS,IAAgBp0V,IAClBj7G,KAAKk3L,YAAW,GAGxBppB,GAAOvX,QAAQ,OACL+4S,IAAcr0V,IAChBj7G,KAAKgvc,UAAS,EAErB,GAGThvc,KAAKsuK,UAAYtuK,KAAKwsK,QAAQroI,OAAO,CAACg6B,GAAM2vG,KAAW3gJ,KAAKC,IAAI+wC,GAAM2vG,GAAOQ,WAAY,EAC7F,CACA+mB,YACSr1L,KAAK60L,YACN70L,KAAK60L,WAAY,EACjB70L,KAAKy0L,WAAWrpK,QAASzO,IAAOA,MAChC3c,KAAKy0L,WAAa,GAE1B,CACAzjJ,OACIhxC,KAAKwsK,QAAQphJ,QAAS0iJ,IAAWA,GAAO98H,OAC5C,CACAulH,QAAQ55I,IACJ3c,KAAK00L,YAAY5yJ,KAAKnlB,GAC1B,CACAqyb,WACShvc,KAAK+xL,eACN/xL,KAAK80L,UAAW,EAChB90L,KAAK00L,YAAYtpK,QAASzO,IAAOA,MACjC3c,KAAK00L,YAAc,GAE3B,CACA1mB,OAAOrxJ,IACH3c,KAAKy0L,WAAW3yJ,KAAKnlB,GACzB,CACAsxJ,UAAUtxJ,IACN3c,KAAK20L,cAAc7yJ,KAAKnlB,GAC5B,CACAo1K,aACI,OAAO/xL,KAAK80L,QAChB,CACA/O,OACS/lL,KAAK8vL,cACN9vL,KAAKgxC,OAEThxC,KAAKgvc,WACLhvc,KAAKwsK,QAAQphJ,QAAS0iJ,IAAWA,GAAOiY,OAC5C,CACArwD,QACI11H,KAAKwsK,QAAQphJ,QAAS0iJ,IAAWA,GAAOp4C,QAC5C,CACAswD,UACIhmL,KAAKwsK,QAAQphJ,QAAS0iJ,IAAWA,GAAOkY,UAC5C,CACAC,SACIjmL,KAAKq1L,YACLr1L,KAAKwsK,QAAQphJ,QAAS0iJ,IAAWA,GAAOmY,SAC5C,CACAx4J,UACIztB,KAAKk3L,YACT,CACAA,aACSl3L,KAAK+0L,aACN/0L,KAAK+0L,YAAa,EAClB/0L,KAAKq1L,YACLr1L,KAAKwsK,QAAQphJ,QAAS0iJ,IAAWA,GAAOrgJ,WACxCztB,KAAK20L,cAAcvpK,QAASzO,IAAOA,MACnC3c,KAAK20L,cAAgB,GAE7B,CACA7xM,QACIkd,KAAKwsK,QAAQphJ,QAAS0iJ,IAAWA,GAAOhrL,SACxCkd,KAAK+0L,YAAa,EAClB/0L,KAAK60L,WAAY,EACjB70L,KAAK80L,UAAW,CACpB,CACA5O,YAAY93K,IACR,MAAMmhc,GAAiBnhc,GAAIpO,KAAKsuK,UAChCtuK,KAAKwsK,QAAQphJ,QAAS0iJ,KAClB,MAAMn4I,GAAWm4I,GAAOQ,UAAYnhJ,KAAKE,IAAI,EAAGkib,GAAiBzhS,GAAOQ,WAAa,EACrFR,GAAOoY,YAAYvwJ,GAAQ,EAEnC,CACAq8J,cACI,MAAMw9Q,GAAgBxvc,KAAKwsK,QAAQroI,OAAO,CAACsra,GAAc3hS,KACT,OAAjB2hS,IAAyB3hS,GAAOQ,UAAYmhS,GAAanhS,UACxDR,GAAS2hS,GACtC,MACH,OAAwB,MAAjBD,GAAwBA,GAAcx9Q,cAAgB,CACjE,CACAjB,gBACI/wL,KAAKwsK,QAAQphJ,QAAS0iJ,KACdA,GAAOijB,eACPjjB,GAAOijB,eAAc,EAGjC,CAEAc,gBAAgB3jB,IACZ,MAAM6nB,GAAuB,SAAb7nB,GAAuBluK,KAAK00L,YAAc10L,KAAKy0L,WAC/DsB,GAAQ3qK,QAASzO,IAAOA,MACxBo5K,GAAQ3jM,OAAS,CACrB,EAGJ,MAAMq7K,GAAa,kcCl0CnB,MAAMiiS,GAAqC,IAAI9pZ,IAE/C,IAAI+pZ,GAEEC,GAAY,MAAlB,MAAMA,GACFnwc,YAAYowc,GAAWC,IACnB9vc,KAAK6vc,UAAYA,GACjB7vc,KAAK8vc,OAASA,GACd9vc,KAAK+vc,YACD/vc,KAAK6vc,UAAUG,WAAap7b,OAAO43M,WAG3B53M,OAAO43M,WAAWv1M,KAAKrC,QACzBq7b,EACd,CAOAzjP,WAAWr1M,IACP,OAAInX,KAAK6vc,UAAUK,QAAUlwc,KAAK6vc,UAAUM,QA0BpD,SAASC,GAAqBj5b,GAAOo2B,IACjC,IAAImia,GAAmCj2a,IAAItiB,IAG3C,IACSw4b,KACDA,GAAsB1ic,SAASknC,cAAc,SACzC5G,IACAoia,GAAoB/nS,aAAa,QAASr6H,IAE9Coia,GAAoB/nS,aAAa,OAAQ,YACzC36J,SAASmoJ,KAAK3gH,YAAYk7Z,KAE1BA,GAAoBx1S,QACpBw1S,GAAoBx1S,MAAMQ,WAAW,UAAUxjJ,eAAmB,GAClEu4b,GAAmC3jc,IAAIoL,IAE/C,OACOqoB,IACH/qB,QAAQ3lB,MAAM0wC,GAClB,CACJ,CA9CY4wa,CAAqBj5b,GAAOnX,KAAK8vc,QAE9B9vc,KAAK+vc,YAAY54b,GAC5B,QACSnX,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFqhc,IArCV3vc,MAqCwCC,MArCxCD,MAqCgE2zU,MAAS,IAA+D,QAC/N5zU,KAAKszD,WAtCkFrzD,MAAE,CAAAhQ,MAsCY2/c,GAAYnvc,QAAZmvc,GAAYlvc,UAAAC,WAAc,QAAW,EACtJ,OAzBKivc,EAAY,KAmElB,SAASK,GAAe94b,IAGpB,MAAO,CACHwkF,QAAmB,QAAVxkF,IAA6B,KAAVA,GAC5Bk5b,MAAOl5b,GACPgrb,YAAaA,OACbC,eAAgBA,OAExB,CAEA,IACMkO,GAAkB,MAAxB,MAAMA,GACF7wc,YAAY8wc,GAAe53Q,IACvB34L,KAAKuwc,cAAgBA,GACrBvwc,KAAK24L,MAAQA,GAEb34L,KAAKwwc,SAAW,IAAIvta,IAEpBjjC,KAAKywc,gBAAkB,IAAInqb,GAC/B,CAEApY,cACIlO,KAAKywc,gBAAgB9jc,OACrB3M,KAAKywc,gBAAgBtpb,UACzB,CAMA+gD,UAAU56E,IAEN,OADgBojd,MAAal8H,OAAYlnV,KAC1BkE,KAAKm/c,IAAc3wc,KAAK4wc,eAAeD,IAAYE,IAAIl1W,QAC1E,CAOAgxD,QAAQr/J,IAEJ,MAAMuyc,GADU6Q,MAAal8H,OAAYlnV,KACbO,IAAIspB,IAASnX,KAAK4wc,eAAez5b,IAAOukb,YACpE,IAAIoV,MAAkBvjc,MAAcsyb,IAEpCiR,aAAkBrjd,MAAOqjd,GAAgBjmc,QAAK2C,MAAK,IAAKsjc,GAAgBjmc,QAAK46L,MAAK,IAAC,EAAG8E,KAAa,KAC5FumQ,GAAgBjmc,QAAKhd,MAAIkjd,KAC5B,MAAM/qa,GAAW,CACb21D,SAAS,EACTq1W,YAAa,CAAC,GAElBD,UAAiB3lb,QAAQ,EAAGuwE,WAASxkF,aACjC6uB,GAAS21D,QAAU31D,GAAS21D,SAAWA,GACvC31D,GAASgra,YAAY75b,IAASwkF,KAE3B31D,KAEf,CAEA4qa,eAAez5b,IAEX,GAAInX,KAAKwwc,SAAS/2a,IAAItiB,IAClB,OAAOnX,KAAKwwc,SAAS9nc,IAAIyO,IAE7B,MAAM05b,GAAM7wc,KAAKuwc,cAAc/jP,WAAWr1M,IAepC+yB,GAAS,CAAEwxZ,WAbO,IAAI5yP,KAAYj/C,KAMpC,MAAMj1C,GAAWp1E,IAAMx/B,KAAK24L,MAAMviK,IAAI,IAAMyzH,GAASl9I,KAAK6yB,KAC1Dqxa,UAAI1O,YAAYvtV,IACT,KACHi8V,GAAIzO,eAAextV,GAAO,CAC9B,GACD/pG,QAAK8hB,MAAUkkb,KAAG,EAAGhjd,MAAI,EAAG8tG,eAAQ,CAASxkF,SAAOwkF,eAAU,EAAG9mE,MAAU70B,KAAKywc,kBAErCI,QAC9C,OAAA7wc,KAAKwwc,SAAStta,IAAI/rB,GAAO+yB,IAClBA,EACX,QACSlqC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF+hc,IArKVrwc,MAqK8C2vc,IArK9C3vc,MAqKuEA,OAAS,CAA+C,QACtND,KAAKszD,WAtKkFrzD,MAAE,CAAAhQ,MAsKYqgd,GAAkB7vc,QAAlB6vc,GAAkB5vc,UAAAC,WAAc,QAAW,EAC5J,OA1EK2vc,EAAkB,KAmFxB,SAASI,GAAaO,IAClB,OAAOA,GACFpjd,IAAIspB,IAASA,GAAMgU,MAAM,MACzBgZ,OAAO,CAAC+sa,GAAI3xP,KAAO2xP,GAAGzjd,OAAO8xN,KAC7B1xN,IAAIspB,IAASA,GAAMjC,OAC5B,CAIA,MCnLMi8b,GAAe,IAKrB,SAASC,GAAoBl4a,GAAIstH,GAAMh+J,IACnC,MAAM4kP,GAAMikO,GAAoBn4a,GAAIstH,IACpCh+J,GAAKA,GAAG0sB,QACJk4N,GAAI57O,KAAK8/c,IAAcA,GAAWp8b,SAAW1sB,MAGjD4kP,GAAItrM,KAAKt5C,IACT0wC,GAAG0uI,aAAaphB,GAAM4mF,GAAI1hM,KAAKyla,KACnC,CAKA,SAASI,GAAuBr4a,GAAIstH,GAAMh+J,IACtC,MAAM4kP,GAAMikO,GAAoBn4a,GAAIstH,IACpCh+J,GAAKA,GAAG0sB,OACR,MAAMs8b,GAAcpkO,GAAI1/O,OAAO22C,IAAOA,KAAQ77C,IAC1Cgpd,GAAYp/c,OACZ8mC,GAAG0uI,aAAaphB,GAAMgrT,GAAY9la,KAAKyla,KAGvCj4a,GAAG0qC,gBAAgB4iF,GAE3B,CAKA,SAAS6qT,GAAoBn4a,GAAIstH,IAG7B,OADkBttH,GAAGotH,aAAaE,KAChB/oF,MAAM,SAAW,EACvC,CAOA,MAMMg0Y,GAA4B,0BAM5BC,GAAiC,uBAEvC,IAAIl/V,GAAS,EAMPm/V,GAAa,MAAnB,MAAMA,GACFlyc,YAAYumB,GAKZ6pb,IACI7vc,KAAK6vc,UAAYA,GAEjB7vc,KAAK4xc,iBAAmB,IAAI3ua,IAE5BjjC,KAAK6xc,mBAAqB,KAE1B7xc,KAAKoyG,IAAM,GAAGI,KACdxyG,KAAKgmB,UAAYA,GACjBhmB,KAAKoyG,OAAMnhF,OAAO6gb,OAAU,IAAMt/V,IACtC,CACAu/V,SAAS3qR,GAAa78I,GAASx6C,IAC3B,IAAKiQ,KAAKgyc,gBAAgB5qR,GAAa78I,IACnC,OAEJ,MAAMrJ,GAAM+wa,GAAO1na,GAASx6C,IACL,iBAAZw6C,IAEP2na,GAAa3na,GAASvqC,KAAKoyG,KAC3BpyG,KAAK4xc,iBAAiB1ua,IAAIhC,GAAK,CAAEixa,eAAgB5na,GAAS6na,eAAgB,KAEpEpyc,KAAK4xc,iBAAiBn4a,IAAIyH,KAChClhC,KAAKqyc,sBAAsB9na,GAASx6C,IAEnCiQ,KAAKsyc,6BAA6BlrR,GAAalmJ,KAChDlhC,KAAKuyc,qBAAqBnrR,GAAalmJ,GAE/C,CACAsxa,kBAAkBprR,GAAa78I,GAASx6C,IACpC,IAAKw6C,KAAYvqC,KAAKyyc,eAAerrR,IACjC,OAEJ,MAAMlmJ,GAAM+wa,GAAO1na,GAASx6C,IAM5B,GALIiQ,KAAKsyc,6BAA6BlrR,GAAalmJ,KAC/ClhC,KAAK0yc,wBAAwBtrR,GAAalmJ,IAIvB,iBAAZqJ,GAAsB,CAC7B,MAAMooa,GAAoB3yc,KAAK4xc,iBAAiBlpc,IAAIw4B,IAChDyxa,IAA0D,IAArCA,GAAkBP,gBACvCpyc,KAAK4yc,sBAAsB1xa,GAEnC,CACmD,IAA/ClhC,KAAK6xc,oBAAoBliL,WAAWv9R,SACpC4N,KAAK6xc,mBAAmB7pb,SACxBhoB,KAAK6xc,mBAAqB,KAElC,CAEA3jc,cACI,MAAM2kc,GAAoB7yc,KAAKgmB,UAAU8B,iBAAiB,IAAI4pb,OAAmC1xc,KAAKoyG,SACtG,QAASrqF,GAAI,EAAGA,GAAI8qb,GAAkBzgd,OAAQ21B,KAC1C/nB,KAAK8yc,kCAAkCD,GAAkB9qb,KACzD8qb,GAAkB9qb,IAAG67C,gBAAgB8tY,IAEzC1xc,KAAK6xc,oBAAoB7pb,SACzBhoB,KAAK6xc,mBAAqB,KAC1B7xc,KAAK4xc,iBAAiB78Z,OAC1B,CAKAs9Z,sBAAsB9na,GAASx6C,IAC3B,MAAMoid,GAAiBnyc,KAAKgmB,UAAUmuB,cAAc,OACpD+9Z,GAAaC,GAAgBnyc,KAAKoyG,KAClC+/V,GAAelqb,YAAcsiB,GACzBx6C,IACAoid,GAAevqS,aAAa,OAAQ73K,IAExCiQ,KAAK+yc,2BACL/yc,KAAK6xc,mBAAmBp9Z,YAAY09Z,IACpCnyc,KAAK4xc,iBAAiB1ua,IAAI+ua,GAAO1na,GAASx6C,IAAO,CAAEoid,kBAAgBC,eAAgB,GACvF,CAEAQ,sBAAsB1xa,IAClBlhC,KAAK4xc,iBAAiBlpc,IAAIw4B,KAAMixa,gBAAgBnqb,SAChDhoB,KAAK4xc,iBAAiBlqa,OAAOxG,GACjC,CAEA6xa,2BACI,GAAI/yc,KAAK6xc,mBACL,OAEJ,MAAM/lL,GAAqB,oCACrBknL,GAAmBhzc,KAAKgmB,UAAU8B,iBAAiB,IAAIgkQ,yBAC7D,QAAS/jQ,GAAI,EAAGA,GAAIirb,GAAiB5gd,OAAQ21B,KAKzCirb,GAAiBjrb,IAAGC,SAExB,MAAMirb,GAAoBjzc,KAAKgmB,UAAUmuB,cAAc,OAKvD8+Z,GAAkBppb,MAAMuqB,WAAa,SAGrC6+Z,GAAkB3nb,UAAUvf,IAAI+/Q,IAChCmnL,GAAkB3nb,UAAUvf,IAAI,uBAE5B/L,KAAK6vc,YAAc7vc,KAAK6vc,UAAUG,WAClCiD,GAAkBrrS,aAAa,WAAY,UAE/C5nK,KAAKgmB,UAAUx8B,KAAKirD,YAAYw+Z,IAChCjzc,KAAK6xc,mBAAqBoB,EAC9B,CAEAH,kCAAkChjb,IAE9B,MAAMojb,GAAuB7B,GAAoBvhb,GAAS,oBAAoBpiC,OAAOlF,IAA+C,GAAzCA,GAAGqJ,QAAQ4/c,KACtG3hb,GAAQ83I,aAAa,mBAAoBsrS,GAAqBxna,KAAK,KACvE,CAKA6ma,qBAAqBzib,GAASoR,IAC1B,MAAMyxa,GAAoB3yc,KAAK4xc,iBAAiBlpc,IAAIw4B,IAGpDkwa,GAAoBthb,GAAS,mBAAoB6ib,GAAkBR,eAAe3pd,IAClFsnC,GAAQ83I,aAAa8pS,GAAgC1xc,KAAKoyG,KAC1DugW,GAAkBP,gBACtB,CAKAM,wBAAwB5ib,GAASoR,IAC7B,MAAMyxa,GAAoB3yc,KAAK4xc,iBAAiBlpc,IAAIw4B,IACpDyxa,GAAkBP,iBAClBb,GAAuBzhb,GAAS,mBAAoB6ib,GAAkBR,eAAe3pd,IACrFsnC,GAAQ8zC,gBAAgB8tY,GAC5B,CAEAY,6BAA6Bxib,GAASoR,IAClC,MAAMiya,GAAe9B,GAAoBvhb,GAAS,oBAC5C6ib,GAAoB3yc,KAAK4xc,iBAAiBlpc,IAAIw4B,IAC9Ckya,GAAYT,IAAqBA,GAAkBR,eAAe3pd,GACxE,QAAS4qd,KAAgD,GAAnCD,GAAathd,QAAQuhd,GAC/C,CAEApB,gBAAgBlib,GAASya,IACrB,IAAKvqC,KAAKyyc,eAAe3ib,IACrB,OAAO,EAEX,GAAIya,IAA8B,iBAAZA,GAIlB,OAAO,EAEX,MAAM8oa,GAA4B,MAAX9oa,GAAkB,GAAK,GAAGA,KAAUr1B,OACrDuQ,GAAYqK,GAAQw2H,aAAa,cAGvC,SAAO+sT,IAAkB5tb,IAAaA,GAAUvQ,SAAWm+b,GAC/D,CAEAZ,eAAe3ib,IACX,OAAOA,GAAQg4H,WAAa9nJ,KAAKgmB,UAAUmiI,YAC/C,QACSnoJ,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFojc,IAAV1xc,MAAyCwoB,MAAzCxoB,MAA8DC,MAAW,CAA+C,QAC/MF,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACY0hd,GAAalxc,QAAbkxc,GAAajxc,UAAAC,WAAc,QAAW,EACvJ,OA/KKgxc,EAAa,KAwLnB,SAASM,GAAO1na,GAASx6C,IACrB,MAA0B,iBAAZw6C,GAAuB,GAAGx6C,IAAQ,MAAMw6C,KAAYA,EACtE,CAEA,SAAS2na,GAAapib,GAASwjb,IACtBxjb,GAAQtnC,KACTsnC,GAAQtnC,GAAK,GAAGipd,MAA6B6B,MAAa9gW,OAElE,CAMA,MAAM+gW,GACF9zc,YAAY+zc,GAAQC,IAChBzzc,KAAKwzc,OAASA,GACdxzc,KAAK0zc,kBAAmB,EACxB1zc,KAAK2zc,YAAc,KACnB3zc,KAAK4zc,OAAQ,EACb5zc,KAAK6zc,iBAAmB,IAAIvtb,IAC5BtmB,KAAK8zc,uBAAyBvoc,KAAaunB,MAC3C9yB,KAAK+zc,WAAY,EACjB/zc,KAAKg0c,qBAAuB,GAC5Bh0c,KAAKi0c,aAAc,EACnBj0c,KAAKk0c,eAAiB,CAAEh2W,SAAS,EAAOmhH,MAAO,IAK/Cr/M,KAAKm0c,iBAAoB57b,IAASA,GAAKwB,SAEvC/Z,KAAKo0c,gBAAkB,GAKvBp0c,KAAKysB,OAAS,IAAInG,IAElBtmB,KAAKg2B,OAAS,IAAI1P,IAIdktb,cAAkB5nb,MAClB5rB,KAAKq0c,yBAA2Bb,GAAO9mb,QAAQrgB,UAAWioc,IAAat0c,KAAKu0c,cAAcD,GAASpnb,aAAU,EAExGsnb,OAAShB,MAIdxzc,KAAKy0c,cAAaC,OAAO,IAAM10c,KAAKu0c,cAAcf,MAAW,CAAEC,cAEvE,CAMAkB,cAAc9tQ,IACV,OAAA7mM,KAAKm0c,iBAAmBttQ,GACjB7mM,IACX,CAMAssB,SAASsob,IAAa,GAClB,OAAA50c,KAAK4zc,MAAQgB,GACN50c,IACX,CAKA60c,wBAAwB32W,IAAU,GAC9B,OAAAl+F,KAAK+zc,UAAY71W,GACVl+F,IACX,CAMA80c,0BAA0B7mb,IACtB,OAAAjuB,KAAK+0c,YAAc9mb,GACZjuB,IACX,CAKAg1c,wBAAwB3lb,IACpB,OAAArvB,KAAKg0c,qBAAuB3kb,GACrBrvB,IACX,CAKAusB,cAAc0ob,GAAmB,KAO7B,OAAAj1c,KAAK8zc,uBAAuB3lc,cAI5BnO,KAAK8zc,uBAAyB9zc,KAAK6zc,iBAC9Bhpc,QAAKmB,KAAIo2E,IAAUpiF,KAAKo0c,gBAAgBtya,KAAKsgD,MAAO,EAAGmoH,KAAa0qQ,KAAgB,EAAGvnd,MAAO,IAAMsS,KAAKo0c,gBAAgBhid,OAAS,IAAC,EAAGvE,MAAI,IAAMmS,KAAKo0c,gBAAgB1oa,KAAK,MAC1Kr/B,UAAU4ib,KACX,MAAMt/b,GAAQqQ,KAAKk1c,iBAGnB,QAASntb,GAAI,EAAGA,GAAIp4B,GAAMyC,OAAS,EAAG21B,KAAK,CACvC,MAAM1P,IAASrY,KAAK0zc,iBAAmB3rb,IAAKp4B,GAAMyC,OAC5CmmB,GAAO5oB,GAAM0oB,IACnB,IAAKrY,KAAKm0c,iBAAiB57b,KACuC,IAA9DA,GAAKmP,WAAWqS,cAAc7kB,OAAOrjB,QAAQo9b,IAAoB,CACjEjvb,KAAKutB,cAAclV,IACnB,KACJ,CACJ,CACArY,KAAKo0c,gBAAkB,KAEpBp0c,IACX,CAEAm1c,kBACI,OAAAn1c,KAAKo0c,gBAAkB,GAChBp0c,IACX,CAMAwsB,eAAe0xE,IAAU,GACrB,OAAAl+F,KAAKi0c,YAAc/1W,GACZl+F,IACX,CAOAo1c,eAAel3W,IAAU,EAAMmhH,GAAQ,IACnC,OAAAr/M,KAAKk0c,eAAiB,CAAEh2W,WAASmhH,UAC1Br/M,IACX,CACAutB,cAAchV,IACV,MAAM88b,GAAqBr1c,KAAK2zc,YAChC3zc,KAAK8sB,iBAAiBvU,IAClBvY,KAAK2zc,cAAgB0B,IACrBr1c,KAAKg2B,OAAOrpB,KAAK3M,KAAK0zc,iBAE9B,CAKAplb,UAAU9iB,IACN,MAAMoiB,GAAUpiB,GAAMoiB,QAEhB0nb,GADY,CAAC,SAAU,UAAW,UAAW,YACf57a,MAAM+qP,KAC9Bj5Q,GAAMi5Q,KAAazkR,KAAKg0c,qBAAqBnid,QAAQ4yR,KAAY,GAE7E,OAAQ72P,IACJ,KAAK2nb,KAED,YADAv1c,KAAKysB,OAAO9f,OAEhB,KAAKyhB,KACD,GAAIpuB,KAAK+zc,WAAauB,GAAmB,CACrCt1c,KAAKwtB,oBACL,KACJ,CAEI,OAER,KAAKW,KACD,GAAInuB,KAAK+zc,WAAauB,GAAmB,CACrCt1c,KAAKw1c,wBACL,KACJ,CAEI,OAER,KAAKtnb,KACD,GAAIluB,KAAK+0c,aAAeO,GAAmB,CAClB,QAArBt1c,KAAK+0c,YAAwB/0c,KAAKw1c,wBAA0Bx1c,KAAKwtB,oBACjE,KACJ,CAEI,OAER,KAAKO,KACD,GAAI/tB,KAAK+0c,aAAeO,GAAmB,CAClB,QAArBt1c,KAAK+0c,YAAwB/0c,KAAKwtB,oBAAsBxtB,KAAKw1c,wBAC7D,KACJ,CAEI,OAER,KAAKC,KACD,GAAIz1c,KAAKi0c,aAAeqB,GAAmB,CACvCt1c,KAAK6uB,qBACL,KACJ,CAEI,OAER,KAAK6mb,KACD,GAAI11c,KAAKi0c,aAAeqB,GAAmB,CACvCt1c,KAAK21c,oBACL,KACJ,CAEI,OAER,KAAKC,KACD,GAAI51c,KAAKk0c,eAAeh2W,SAAWo3W,GAAmB,CAClD,MAAMO,GAAc71c,KAAK0zc,iBAAmB1zc,KAAKk0c,eAAe70P,MAChEr/M,KAAK81c,sBAAsBD,GAAc,EAAIA,GAAc,EAAG,GAC9D,KACJ,CAEI,OAER,KAAKE,KACD,GAAI/1c,KAAKk0c,eAAeh2W,SAAWo3W,GAAmB,CAClD,MAAMO,GAAc71c,KAAK0zc,iBAAmB1zc,KAAKk0c,eAAe70P,MAC1D22P,GAAch2c,KAAKk1c,iBAAiB9id,OAC1C4N,KAAK81c,sBAAsBD,GAAcG,GAAcH,GAAcG,GAAc,GAAG,GACtF,KACJ,CAEI,OAER,QAaI,aAZIV,OAAqBxnb,MAAetiB,GAAO,eAGvCA,GAAM01B,KAA4B,IAArB11B,GAAM01B,IAAI9uC,OACvB4N,KAAK6zc,iBAAiBlnc,KAAKnB,GAAM01B,IAAI+0a,sBAE/Brob,IAAW6qU,KAAK7qU,IAAWw0W,KAAOx0W,IAAWsob,MAAQtob,IAAWuob,OACtEn2c,KAAK6zc,iBAAiBlnc,KAAK6+B,OAAOC,aAAa7d,OAO/D5tB,KAAKo0c,gBAAkB,GACvB5oc,GAAM+b,gBACV,CAEA,mBAAI+F,GACA,OAAOttB,KAAK0zc,gBAChB,CAEA,cAAIzmb,GACA,OAAOjtB,KAAK2zc,WAChB,CAEAyC,WACI,OAAOp2c,KAAKo0c,gBAAgBhid,OAAS,CACzC,CAEAy8B,qBACI7uB,KAAK81c,sBAAsB,EAAG,EAClC,CAEAH,oBACI31c,KAAK81c,sBAAsB91c,KAAKk1c,iBAAiB9id,OAAS,GAAG,EACjE,CAEAo7B,oBACIxtB,KAAK0zc,iBAAmB,EAAI1zc,KAAK6uB,qBAAuB7uB,KAAKq2c,sBAAsB,EACvF,CAEAb,wBACIx1c,KAAK0zc,iBAAmB,GAAK1zc,KAAK4zc,MAC5B5zc,KAAK21c,oBACL31c,KAAKq2c,uBAAsB,EACrC,CACAvpb,iBAAiBvU,IACb,MAAM+9b,GAAYt2c,KAAKk1c,iBACjB78b,GAAwB,iBAATE,GAAoBA,GAAO+9b,GAAUzkd,QAAQ0mB,IAGlEvY,KAAK2zc,YAFc2C,GAAUj+b,KAEW,KACxCrY,KAAK0zc,iBAAmBr7b,EAC5B,CAEAoV,UACIztB,KAAK8zc,uBAAuB3lc,cAC5BnO,KAAKq0c,0BAA0Blmc,cAC/BnO,KAAKy0c,YAAYhnb,UACjBztB,KAAK6zc,iBAAiB1sb,WACtBnnB,KAAKysB,OAAOtF,WACZnnB,KAAKg2B,OAAO7O,WACZnnB,KAAKo0c,gBAAkB,EAC3B,CAMAiC,sBAAsBh3P,IAClBr/M,KAAK4zc,MAAQ5zc,KAAKu2c,qBAAqBl3P,IAASr/M,KAAKw2c,wBAAwBn3P,GACjF,CAMAk3P,qBAAqBl3P,IACjB,MAAM1vN,GAAQqQ,KAAKk1c,iBACnB,QAASntb,GAAI,EAAGA,IAAKp4B,GAAMyC,OAAQ21B,KAAK,CACpC,MAAM1P,IAASrY,KAAK0zc,iBAAmBr0P,GAAQt3L,GAAIp4B,GAAMyC,QAAUzC,GAAMyC,OAEzE,IAAK4N,KAAKm0c,iBADGxkd,GAAM0oB,KAGf,YADArY,KAAKutB,cAAclV,GAG3B,CACJ,CAMAm+b,wBAAwBn3P,IACpBr/M,KAAK81c,sBAAsB91c,KAAK0zc,iBAAmBr0P,GAAOA,GAC9D,CAMAy2P,sBAAsBz9b,GAAOo+b,IACzB,MAAM9md,GAAQqQ,KAAKk1c,iBACnB,GAAKvld,GAAM0oB,IAGX,MAAOrY,KAAKm0c,iBAAiBxkd,GAAM0oB,MAE/B,IAAK1oB,GADL0oB,IAASo+b,IAEL,OAGRz2c,KAAKutB,cAAclV,GAAK,CAC5B,CAEA68b,iBACI,SAAIV,OAASx0c,KAAKwzc,QACPxzc,KAAKwzc,SAETxzc,KAAKwzc,kBAAkB5nb,MAAY5rB,KAAKwzc,OAAOtmb,UAAYltB,KAAKwzc,MAC3E,CAEAe,cAAcD,IACV,GAAIt0c,KAAK2zc,YAAa,CAClB,MAAM+C,GAAWpC,GAASzid,QAAQmO,KAAK2zc,aACnC+C,IAAW,GAAMA,KAAa12c,KAAK0zc,mBACnC1zc,KAAK0zc,iBAAmBgD,GAEhC,CACJ,EAGJ,MAAMC,WAAmCpD,GACrChmb,cAAclV,IACNrY,KAAKitB,YACLjtB,KAAKitB,WAAW2pb,oBAEpBpma,MAAMjjB,cAAclV,IAChBrY,KAAKitB,YACLjtB,KAAKitB,WAAW4pb,iBAExB,EAGJ,MAAMxqb,WAAwBknb,GAC1B9zc,cACI+wC,SAASC,WACTzwC,KAAK82c,QAAU,SACnB,CAKAzob,eAAe1H,IACX,OAAA3mB,KAAK82c,QAAUnwb,GACR3mB,IACX,CACAutB,cAAchV,IACVi4B,MAAMjjB,cAAchV,IAChBvY,KAAKitB,YACLjtB,KAAKitB,WAAW9f,MAAMnN,KAAK82c,QAEnC,EAiBJ,IAIMC,GAAoB,MAA1B,MAAMA,GACFt3c,YAAYowc,IACR7vc,KAAK6vc,UAAYA,EACrB,CAOA9jU,WAAWj8G,IAGP,OAAOA,GAAQ42H,aAAa,WAChC,CASAptI,UAAUwW,IACN,OAyGR,SAASknb,GAAYlnb,IAGjB,SAAUA,GAAQ+gR,aACd/gR,GAAQmnb,cAC2B,mBAA3Bnnb,GAAQitM,gBAAiCjtM,GAAQitM,iBAAiB3qO,OAClF,CA/Ge4kd,CAAYlnb,KAAqD,YAAzCsyI,iBAAiBtyI,IAASskB,UAC7D,CAQA8ia,WAAWpnb,IAEP,IAAK9vB,KAAK6vc,UAAUG,UAChB,OAAO,EAEX,MAAMmH,GAkFd,SAASC,GAAgBxic,IACrB,IACI,OAAOA,GAAOuic,YAClB,OAEI,OAAO,IACX,CACJ,CAzF6BC,CAsK7B,SAASlsX,GAAUi8D,IAEf,OAAQA,GAAKiH,eAAiBjH,GAAKiH,cAAcE,aAAgB15I,MACrE,CAzK6Cs2E,CAAUp7D,KAC/C,GAAIqnb,MAEuC,IAAnCE,GAAiBF,MAIhBn3c,KAAKsZ,UAAU69b,KAChB,OAAO,EAGf,IAAIvuT,GAAW94H,GAAQ84H,SAASt+J,cAC5Bgtd,GAAgBD,GAAiBvnb,IACrC,OAAIA,GAAQ42H,aAAa,oBACI,IAAlB4wT,KAEM,WAAb1uT,IAAsC,WAAbA,IAOzB5oJ,KAAK6vc,UAAUK,QAAUlwc,KAAK6vc,UAAU0H,MAwHpD,SAASC,GAAyB1nb,IAC9B,IAAI84H,GAAW94H,GAAQ84H,SAASt+J,cAC5B68R,GAAyB,UAAbv+H,IAAwB94H,GAAQ7hB,KAChD,MAAsB,SAAdk5Q,IACU,aAAdA,IACa,WAAbv+H,IACa,aAAbA,EACR,CA/H4D4uT,CAAyB1nb,OAG5D,UAAb84H,KAGK94H,GAAQ42H,aAAa,cAKD,IAAlB4wT,GAEM,UAAb1uT,IAKsB,IAAlB0uT,KAKkB,OAAlBA,IAMGt3c,KAAK6vc,UAAU4H,SAAW3nb,GAAQ42H,aAAa,aAEnD52H,GAAQs2L,UAAY,EAC/B,CAQAsxP,YAAY5nb,GAAS9/B,IAGjB,OAyFR,SAAS2nd,GAAuB7nb,IAE5B,OAlDJ,SAAS8nb,GAAc9nb,IACnB,OAOJ,SAAS+nb,GAAe/nb,IACpB,MAAyC,SAAlCA,GAAQ84H,SAASt+J,aAC5B,CATWutd,CAAe/nb,KAA4B,UAAhBA,GAAQ7hB,IAC9C,CAgDQ2pc,CAAc9nb,MA1DtB,SAASgob,GAAoBhob,IACzB,IAAI84H,GAAW94H,GAAQ84H,SAASt+J,cAChC,MAAqB,UAAbs+J,IACS,WAAbA,IACa,WAAbA,IACa,aAAbA,EACR,CAuDYkvT,CAAoBhob,KAjDhC,SAASiob,GAAiBjob,IACtB,OAOJ,SAASkob,GAAgBlob,IACrB,MAAyC,KAAlCA,GAAQ84H,SAASt+J,aAC5B,CATW0td,CAAgBlob,KAAYA,GAAQ42H,aAAa,OAC5D,CAgDQqxT,CAAiBjob,KACjBA,GAAQ42H,aAAa,oBACrBuxT,GAAiBnob,IACzB,CAlGgB6nb,CAAuB7nb,MAC1B9vB,KAAK+rI,WAAWj8G,MAChB9/B,IAAQkod,kBAAoBl4c,KAAKsZ,UAAUwW,IACpD,QACS9vB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFwoc,IAliBV92c,MAkiBgDC,MAAW,CAA+C,QACjMF,KAAKszD,WAniBkFrzD,MAAE,CAAAhQ,MAmiBY8md,GAAoBt2c,QAApBs2c,GAAoBr2c,UAAAC,WAAc,QAAW,EAC9J,OA9GKo2c,EAAoB,KAiK1B,SAASkB,GAAiBnob,IACtB,IAAKA,GAAQ42H,aAAa,kBAAoCr4J,IAArByhC,GAAQs2L,SAC7C,OAAO,EAEX,IAAIA,GAAWt2L,GAAQw2H,aAAa,YACpC,SAAU8/D,IAAa/tN,MAAMk0F,SAAS65H,GAAU,KACpD,CAKA,SAASixP,GAAiBvnb,IACtB,IAAKmob,GAAiBnob,IAClB,OAAO,KAGX,MAAMs2L,GAAW75H,SAASz8D,GAAQw2H,aAAa,aAAe,GAAI,IAClE,OAAOjuJ,MAAM+tN,KAAY,EAAKA,EAClC,CAqCA,MAAM+xP,GAEF,WAAIj6W,GACA,OAAOl+F,KAAKi+F,QAChB,CACA,WAAIC,CAAQ5wG,IACR0S,KAAKi+F,SAAW3wG,GACZ0S,KAAKo4c,cAAgBp4c,KAAKq4c,aAC1Br4c,KAAKs4c,sBAAsBhrd,GAAO0S,KAAKo4c,cACvCp4c,KAAKs4c,sBAAsBhrd,GAAO0S,KAAKq4c,YAE/C,CACA54c,YAAY8yB,GAAUgmb,GAAUhtb,GAASvF,GAAWwyb,IAAe,GAC/Dx4c,KAAKuyB,SAAWA,GAChBvyB,KAAKu4c,SAAWA,GAChBv4c,KAAKurB,QAAUA,GACfvrB,KAAKgmB,UAAYA,GACjBhmB,KAAKy4c,cAAe,EAEpBz4c,KAAK04c,oBAAsB,IAAM14c,KAAK24c,2BACtC34c,KAAK44c,kBAAoB,IAAM54c,KAAK64c,4BACpC74c,KAAKi+F,UAAW,EACXu6W,IACDx4c,KAAK84c,eAEb,CAEArrb,UACI,MAAMsrb,GAAc/4c,KAAKo4c,aACnBY,GAAYh5c,KAAKq4c,WACnBU,KACAA,GAAYllb,oBAAoB,QAAS7zB,KAAK04c,qBAC9CK,GAAY/wb,UAEZgxb,KACAA,GAAUnlb,oBAAoB,QAAS7zB,KAAK44c,mBAC5CI,GAAUhxb,UAEdhoB,KAAKo4c,aAAep4c,KAAKq4c,WAAa,KACtCr4c,KAAKy4c,cAAe,CACxB,CAOAK,gBAEI,QAAI94c,KAAKy4c,eAGTz4c,KAAKurB,QAAQ41H,kBAAkB,KACtBnhJ,KAAKo4c,eACNp4c,KAAKo4c,aAAep4c,KAAKi5c,gBACzBj5c,KAAKo4c,aAAa1kb,iBAAiB,QAAS1zB,KAAK04c,sBAEhD14c,KAAKq4c,aACNr4c,KAAKq4c,WAAar4c,KAAKi5c,gBACvBj5c,KAAKq4c,WAAW3kb,iBAAiB,QAAS1zB,KAAK44c,mBAAiB,GAGpE54c,KAAKuyB,SAASo2B,aACd3oD,KAAKuyB,SAASo2B,WAAWk/G,aAAa7nK,KAAKo4c,aAAcp4c,KAAKuyB,UAC9DvyB,KAAKuyB,SAASo2B,WAAWk/G,aAAa7nK,KAAKq4c,WAAYr4c,KAAKuyB,SAAS0lK,aACrEj4L,KAAKy4c,cAAe,GAEjBz4c,KAAKy4c,aAChB,CAMAS,6BAA6Btyb,IACzB,OAAO,IAAI0tB,QAAQC,KACfv0C,KAAKm5c,iBAAiB,IAAM5ka,GAAQv0C,KAAKo5c,oBAAoBxyb,KAAS,EAE9E,CAOAyyb,mCAAmCzyb,IAC/B,OAAO,IAAI0tB,QAAQC,KACfv0C,KAAKm5c,iBAAiB,IAAM5ka,GAAQv0C,KAAK64c,0BAA0Bjyb,KAAS,EAEpF,CAOA0yb,kCAAkC1yb,IAC9B,OAAO,IAAI0tB,QAAQC,KACfv0C,KAAKm5c,iBAAiB,IAAM5ka,GAAQv0C,KAAK24c,yBAAyB/xb,KAAS,EAEnF,CAMA2yb,mBAAmBC,IAEf,MAAMC,GAAUz5c,KAAKuyB,SAASzK,iBAAiB,qBAAqB0xb,uBAA+BA,mBAA2BA,OAgB9H,MAAa,SAATA,GACOC,GAAQrnd,OAASqnd,GAAQ,GAAKz5c,KAAK05c,yBAAyB15c,KAAKuyB,UAErEknb,GAAQrnd,OACTqnd,GAAQA,GAAQrnd,OAAS,GACzB4N,KAAK25c,wBAAwB35c,KAAKuyB,SAC5C,CAKA6mb,oBAAoBxyb,IAEhB,MAAMgzb,GAAoB55c,KAAKuyB,SAASglC,cAAc,0CACtD,GAAIqiZ,GAAmB,CAcnB,IAAK55c,KAAKu4c,SAASb,YAAYkC,IAAoB,CAC/C,MAAMC,GAAiB75c,KAAK05c,yBAAyBE,IACrDC,WAAgB1sc,MAAMyZ,MACbizb,EACb,CACAD,UAAkBzsc,MAAMyZ,KACjB,CACX,CACA,OAAO5mB,KAAK64c,0BAA0Bjyb,GAC1C,CAKAiyb,0BAA0Bjyb,IACtB,MAAMgzb,GAAoB55c,KAAKu5c,mBAAmB,SAClD,OAAIK,IACAA,GAAkBzsc,MAAMyZ,MAEnBgzb,EACb,CAKAjB,yBAAyB/xb,IACrB,MAAMgzb,GAAoB55c,KAAKu5c,mBAAmB,OAClD,OAAIK,IACAA,GAAkBzsc,MAAMyZ,MAEnBgzb,EACb,CAIAE,cACI,OAAO95c,KAAKy4c,YAChB,CAEAiB,yBAAyBp+S,IACrB,GAAIt7J,KAAKu4c,SAASb,YAAYp8S,KAASt7J,KAAKu4c,SAASrB,WAAW57S,IAC5D,OAAOA,GAEX,MAAMxuD,GAAWwuD,GAAKxuD,SACtB,QAAS/kF,GAAI,EAAGA,GAAI+kF,GAAS16G,OAAQ21B,KAAK,CACtC,MAAMgyb,GAAgBjtW,GAAS/kF,IAAG+/H,WAAa9nJ,KAAKgmB,UAAUmiI,aACxDnoJ,KAAK05c,yBAAyB5sW,GAAS/kF,KACvC,KACN,GAAIgyb,GACA,OAAOA,EAEf,CACA,OAAO,IACX,CAEAJ,wBAAwBr+S,IACpB,GAAIt7J,KAAKu4c,SAASb,YAAYp8S,KAASt7J,KAAKu4c,SAASrB,WAAW57S,IAC5D,OAAOA,GAGX,MAAMxuD,GAAWwuD,GAAKxuD,SACtB,QAAS/kF,GAAI+kF,GAAS16G,OAAS,EAAG21B,IAAK,EAAGA,KAAK,CAC3C,MAAMgyb,GAAgBjtW,GAAS/kF,IAAG+/H,WAAa9nJ,KAAKgmB,UAAUmiI,aACxDnoJ,KAAK25c,wBAAwB7sW,GAAS/kF,KACtC,KACN,GAAIgyb,GACA,OAAOA,EAEf,CACA,OAAO,IACX,CAEAd,gBACI,MAAMh+J,GAASj7S,KAAKgmB,UAAUmuB,cAAc,OAC5C,OAAAn0C,KAAKs4c,sBAAsBt4c,KAAKi+F,SAAUg9M,IAC1CA,GAAO3vR,UAAUvf,IAAI,uBACrBkvS,GAAO3vR,UAAUvf,IAAI,yBACrBkvS,GAAOrzI,aAAa,cAAe,QAC5BqzI,EACX,CAMAq9J,sBAAsBx7W,GAAWm+M,IAG7Bn+M,GAAYm+M,GAAOrzI,aAAa,WAAY,KAAOqzI,GAAOr3O,gBAAgB,WAC9E,CAKAo2Y,cAAc97W,IACNl+F,KAAKo4c,cAAgBp4c,KAAKq4c,aAC1Br4c,KAAKs4c,sBAAsBp6W,GAASl+F,KAAKo4c,cACzCp4c,KAAKs4c,sBAAsBp6W,GAASl+F,KAAKq4c,YAEjD,CAEAc,iBAAiBx8b,IACT3c,KAAKurB,QAAQ0ub,SACbt9b,KAGA3c,KAAKurB,QAAQiD,SAAS3jB,QAAK2C,MAAK,IAAInB,UAAUsQ,GAEtD,EAEJ,IAGMu9b,GAAgB,MAAtB,MAAMA,GACFz6c,YAAY84c,GAAUhtb,GAASvF,IAC3BhmB,KAAKu4c,SAAWA,GAChBv4c,KAAKurB,QAAUA,GACfvrB,KAAKgmB,UAAYA,EACrB,CAQAwP,OAAO1F,GAASqqb,IAAuB,GACnC,OAAO,IAAIhC,GAAUrob,GAAS9vB,KAAKu4c,SAAUv4c,KAAKurB,QAASvrB,KAAKgmB,UAAWm0b,GAC/E,QACSn6c,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF2rc,IAv6BVj6c,MAu6B4C82c,IAv6B5C92c,MAu6B6EA,OAv6B7EA,MAu6BmGwoB,MAAQ,CAA+C,QACjPzoB,KAAKszD,WAx6BkFrzD,MAAE,CAAAhQ,MAw6BYiqd,GAAgBz5c,QAAhBy5c,GAAgBx5c,UAAAC,WAAc,QAAW,EAC1J,OAlBKu5c,EAAgB,KA2BhBE,GAAY,MAAlB,MAAMA,GAEF,WAAIl8W,GACA,OAAOl+F,KAAKq6c,WAAWn8W,UAAW,CACtC,CACA,WAAIA,CAAQ5wG,IACJ0S,KAAKq6c,YACLr6c,KAAKq6c,UAAUn8W,QAAU5wG,GAEjC,CACAmS,YAAYsmB,GAAau0b,GAKzBt0b,IACIhmB,KAAK+lB,YAAcA,GACnB/lB,KAAKs6c,kBAAoBA,GAEzBt6c,KAAKu6c,0BAA4B,QAChBtpb,OAAOupb,MACXxK,YACThwc,KAAKq6c,UAAYr6c,KAAKs6c,kBAAkB9kb,OAAOx1B,KAAK+lB,YAAYsB,eAAe,GAEvF,CACAnZ,cACIlO,KAAKq6c,WAAW5sb,UAGZztB,KAAKu6c,4BACLv6c,KAAKu6c,0BAA0Bptc,QAC/BnN,KAAKu6c,0BAA4B,KAEzC,CACArub,qBACIlsB,KAAKq6c,WAAWvB,gBACZ94c,KAAKy6c,aACLz6c,KAAK06c,eAEb,CACAC,YACQ36c,KAAKq6c,YAAcr6c,KAAKq6c,UAAUP,eAClC95c,KAAKq6c,UAAUvB,eAEvB,CACA8B,YAAYlub,IACR,MAAMmub,GAAoBnub,GAAQ+tb,YAC9BI,KACCA,GAAkBC,aACnB96c,KAAKy6c,aACLz6c,KAAKq6c,WAAWP,eAChB95c,KAAK06c,eAEb,CACAA,gBACI16c,KAAKu6c,6BAA4BQ,QACjC/6c,KAAKq6c,WAAWnB,8BACpB,QACSl5c,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF6rc,IA5+BVn6c,MA4+BwCA,OA5+BxCA,MA4+BkEi6c,IA5+BlEj6c,MA4+B+FwoB,MAAQ,CAA8C,QAC5OzoB,KAAKi4B,UA7+BkFh4B,MAAE,CAAAgO,KA6+BJmsc,GAAYzrc,UAAA,yBAAAgH,OAAA,CAAAuoF,QAAA,CA7+BVj+F,MAAE6oB,2BAAA,yBA6+ByGC,OAAgB0xb,YAAA,CA7+B3Hx6c,MAAE6oB,2BAAA,wCA6+BoLC,QAAgBC,SAAA,iBAAAC,YAAA,EAAAC,SAAA,CA7+BtMjpB,cA6+B6Q,EAChX,OA5DKm6c,EAAY,KAoQlB,SAAS7ib,GAAgC/rB,IAMrC,OAAyB,IAAlBA,GAAM+5M,SAAkC,IAAjB/5M,GAAMk0Q,MACxC,CAEA,SAASxsP,GAAiC1nB,IACtC,MAAMwvc,GAASxvc,GAAMyvc,SAAWzvc,GAAMyvc,QAAQ,IAAQzvc,GAAM0vc,gBAAkB1vc,GAAM0vc,eAAe,GAKnG,SAAUF,KACe,IAArBA,GAAMhsX,YACY,MAAjBgsX,GAAMG,SAAqC,IAAlBH,GAAMG,SACd,MAAjBH,GAAMI,SAAqC,IAAlBJ,GAAMI,QACxC,CAMA,MAAMC,GAAkC,IAAIx1b,MAAe,uCAiBrDy1b,GAA0C,CAC5CC,WAAY,CAACC,KAAKC,KAASC,KAAUr+G,KAAMs+G,OAczCC,IAA+Blqb,QAAgC,CACjEC,SAAS,EACT4xE,SAAS,IAEb,IAcMs4W,GAAqB,MAA3B,MAAMA,GAEF,sBAAIC,GACA,OAAO97c,KAAK+7c,UAAUzud,KAC1B,CACAmS,YAAYowc,GAAWroQ,GAAQv6L,GAAU2Z,IACrC5mB,KAAK6vc,UAAYA,GAKjB7vc,KAAKg8c,kBAAoB,KAEzBh8c,KAAK+7c,UAAY,IAAIplc,IAAgB,MAKrC3W,KAAKi8c,aAAe,EAKpBj8c,KAAKk8c,WAAc1wc,KAGXxL,KAAKm8c,UAAUZ,YAAY/pd,KAAKo8B,IAAWA,KAAYpiB,GAAMoiB,WAGjE5tB,KAAK+7c,UAAUpvc,KAAK,YACpB3M,KAAKg8c,qBAAoBI,MAAgB5wc,IAAK,EAMlDxL,KAAKq8c,aAAgB7wc,KAIbwiC,KAAKC,MAAQjuC,KAAKi8c,aA/DV,MAoEZj8c,KAAK+7c,UAAUpvc,KAAK4qB,GAAgC/rB,IAAS,WAAa,SAC1ExL,KAAKg8c,qBAAoBI,MAAgB5wc,IAAK,EAMlDxL,KAAKs8c,cAAiB9wc,KAGd0nB,GAAiC1nB,IACjCxL,KAAK+7c,UAAUpvc,KAAK,aAKxB3M,KAAKi8c,aAAejua,KAAKC,MACzBjuC,KAAK+7c,UAAUpvc,KAAK,SACpB3M,KAAKg8c,qBAAoBI,MAAgB5wc,IAAK,EAElDxL,KAAKm8c,SAAW,IACTb,MACA10b,IAGP5mB,KAAKu8c,iBAAmBv8c,KAAK+7c,UAAUlxc,QAAK46L,MAAK,IACjDzlM,KAAKw8c,gBAAkBx8c,KAAKu8c,iBAAiB1xc,QAAK46b,SAG9CoK,GAAUG,WACVxoQ,GAAOrmD,kBAAkB,KACrBl0I,GAASymB,iBAAiB,UAAW1zB,KAAKk8c,WAAYN,IACtD3uc,GAASymB,iBAAiB,YAAa1zB,KAAKq8c,aAAcT,IAC1D3uc,GAASymB,iBAAiB,aAAc1zB,KAAKs8c,cAAeV,GAA4B,EAGpG,CACA1tc,cACIlO,KAAK+7c,UAAU50b,WACXnnB,KAAK6vc,UAAUG,YACf/ic,SAAS4mB,oBAAoB,UAAW7zB,KAAKk8c,WAAYN,IACzD3uc,SAAS4mB,oBAAoB,YAAa7zB,KAAKq8c,aAAcT,IAC7D3uc,SAAS4mB,oBAAoB,aAAc7zB,KAAKs8c,cAAeV,IAEvE,QACS57c,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFstc,IA31CV57c,MA21CiDC,MA31CjDD,MA21CyEA,OA31CzEA,MA21C+FwoB,MA31C/FxoB,MA21CoHo7c,GAA+B,IAA+D,QACzSr7c,KAAKszD,WA51CkFrzD,MAAE,CAAAhQ,MA41CY4rd,GAAqBp7c,QAArBo7c,GAAqBn7c,UAAAC,WAAc,QAAW,EAC/J,OA5FKk7c,EAAqB,KA0G3B,MAAMY,GAA+B,IAAI52b,MAAe,uBAAwB,CAC5EllB,WAAY,OACZF,QAGJ,SAASi8c,KACL,OAAO,IACX,IAEMC,GAAiC,IAAI92b,MAAe,kCAE1D,IAAI+2b,GAAY,EACVC,GAAa,MAAnB,MAAMA,GACFp9c,YAAYq9c,GAAcvxb,GAASvF,GAAW+2b,IAC1C/8c,KAAKurB,QAAUA,GACfvrB,KAAK+8c,gBAAkBA,GAIvB/8c,KAAKgmB,UAAYA,GACjBhmB,KAAKg9c,aAAeF,IAAgB98c,KAAKi9c,oBAC7C,CACAC,SAAS3ya,MAAYxB,IACjB,MAAMvd,GAAiBxrB,KAAK+8c,gBAC5B,IAAII,GACArqa,GACJ,OAAoB,IAAhB/J,GAAK32C,QAAmC,iBAAZ22C,GAAK,GACjC+J,GAAW/J,GAAK,IAGfo0a,GAAYrqa,IAAY/J,GAE7B/oC,KAAK+0C,QACLmB,aAAal2C,KAAKo9c,kBACbD,KACDA,GACI3xb,IAAkBA,GAAe2xb,WAAa3xb,GAAe2xb,WAAa,UAElE,MAAZrqa,IAAoBtnB,KACpBsnB,GAAWtnB,GAAesnB,UAG9B9yC,KAAKg9c,aAAap1S,aAAa,YAAau1S,IACxCn9c,KAAKg9c,aAAax0d,IAClBwX,KAAKq9c,yBAAyBr9c,KAAKg9c,aAAax0d,IAO7CwX,KAAKurB,QAAQ41H,kBAAkB,KAC7BnhJ,KAAKs9c,kBACNt9c,KAAKs9c,gBAAkB,IAAIhpa,QAAQC,IAAYv0C,KAAKu9c,gBAAkBhpa,KAE1E2B,aAAal2C,KAAKo9c,kBAClBp9c,KAAKo9c,iBAAmBpwc,WAAW,KAC/BhN,KAAKg9c,aAAa/0b,YAAcsiB,GACR,iBAAbuI,KACP9yC,KAAKo9c,iBAAmBpwc,WAAW,IAAMhN,KAAK+0C,QAASjC,KAI3D9yC,KAAKu9c,oBACLv9c,KAAKs9c,gBAAkBt9c,KAAKu9c,qBAAkBlvd,GAC/C,KACI2R,KAAKs9c,iBAEpB,CAMAvoa,QACQ/0C,KAAKg9c,eACLh9c,KAAKg9c,aAAa/0b,YAAc,GAExC,CACA/Z,cACIgoC,aAAal2C,KAAKo9c,kBAClBp9c,KAAKg9c,cAAch1b,SACnBhoB,KAAKg9c,aAAe,KACpBh9c,KAAKu9c,oBACLv9c,KAAKs9c,gBAAkBt9c,KAAKu9c,qBAAkBlvd,CAClD,CACA4ud,qBACI,MAAMO,GAAe,6BACfC,GAAmBz9c,KAAKgmB,UAAU03b,uBAAuBF,IACzDG,GAAS39c,KAAKgmB,UAAUmuB,cAAc,OAE5C,QAASpsB,GAAI,EAAGA,GAAI01b,GAAiBrrd,OAAQ21B,KACzC01b,GAAiB11b,IAAGC,SAExB21b,UAAOryb,UAAUvf,IAAIyxc,IACrBG,GAAOryb,UAAUvf,IAAI,uBACrB4xc,GAAO/1S,aAAa,cAAe,QACnC+1S,GAAO/1S,aAAa,YAAa,UACjC+1S,GAAOn1d,GAAK,sBAAsBo0d,KAClC58c,KAAKgmB,UAAUx8B,KAAKirD,YAAYkpa,IACzBA,EACX,CAMAN,yBAAyB70d,IAOrB,MAAMo1d,GAAS59c,KAAKgmB,UAAU8B,iBAAiB,qDAC/C,QAASC,GAAI,EAAGA,GAAI61b,GAAOxrd,OAAQ21B,KAAK,CACpC,MAAM81b,GAAQD,GAAO71b,IACf+1b,GAAWD,GAAMv3T,aAAa,aAC/Bw3T,IAG6B,IAAzBA,GAASjsd,QAAQrJ,KACtBq1d,GAAMj2S,aAAa,YAAak2S,GAAW,IAAMt1d,IAHjDq1d,GAAMj2S,aAAa,YAAap/K,GAKxC,CACJ,QACSwX,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFsuc,IAz+CV58c,MAy+CyCw8c,GAA4B,GAz+CrEx8c,MAy+CkGA,OAz+ClGA,MAy+CwHwoB,MAz+CxHxoB,MAy+C6I08c,GAA8B,IAA+D,QACjU38c,KAAKszD,WA1+CkFrzD,MAAE,CAAAhQ,MA0+CY4sd,GAAap8c,QAAbo8c,GAAan8c,UAAAC,WAAc,QAAW,EACvJ,OApHKk8c,EAAa,KAqMnB,IAAIkB,GACH,SAAUA,IAMPA,UAA0BA,GAA0BC,UAAe,GAAK,YAKxED,GAA0BA,GAA0BE,SAAc,GAAK,WAXhEF,EAYX,CAZC,CAYEA,IAA0D,CAAC,GAE9D,MAAMG,GAAgC,IAAIr4b,MAAe,qCAKnDs4b,IAA8Bzsb,QAAgC,CAChEC,SAAS,EACT4xE,SAAS,IAEb,IACM66W,GAAY,MAAlB,MAAMA,GACF3+c,YAAY8rB,GAASskb,GAAWwO,GAEhCpxc,GAAU2Z,IACN5mB,KAAKurB,QAAUA,GACfvrB,KAAK6vc,UAAYA,GACjB7vc,KAAKq+c,uBAAyBA,GAE9Br+c,KAAK82c,QAAU,KAEf92c,KAAKs+c,gBAAiB,EAKtBt+c,KAAKu+c,6BAA8B,EAEnCv+c,KAAKw+c,aAAe,IAAIv7a,IAExBjjC,KAAKy+c,uBAAyB,EAO9Bz+c,KAAK0+c,4BAA8B,IAAIz7a,IAKvCjjC,KAAK2+c,qBAAuB,KAGxB3+c,KAAKs+c,gBAAiB,EACtBt+c,KAAK4+c,sBAAwBhqc,OAAO5H,WAAW,IAAOhN,KAAKs+c,gBAAiB,EAAM,EAGtFt+c,KAAK6+c,2BAA6B,IAAIv4b,IAKtCtmB,KAAK8+c,8BAAiCtzc,KAGlC,QAASskB,IAFHg5B,EAASszZ,MAAgB5wc,IAEJskB,GAASA,GAAUA,GAAQ66H,cAC/B,UAAfn/I,GAAMyC,KACNjO,KAAK++c,SAASvzc,GAAOskB,IAGrB9vB,KAAKg/c,QAAQxzc,GAAOskB,GAAO,EAIvC9vB,KAAKgmB,UAAY/Y,GACjBjN,KAAKi/c,eAAiBr4b,IAASs4b,eAAiBnB,GAA0BC,SAC9E,CACAh3b,QAAQ8I,GAASqvb,IAAgB,GAC7B,MAAM93b,MAAgB+3b,OAActvb,IAEpC,IAAK9vB,KAAK6vc,UAAUG,WAAwC,IAA3B3ob,GAAcygI,SAE3C,SAAO3zI,QAKX,MAAMkrc,MAAWC,MAAej4b,KAAkBrnB,KAAKu/c,eACjDC,GAAax/c,KAAKw+c,aAAa91c,IAAI2e,IAEzC,GAAIm4b,GACA,OAAIL,KAIAK,GAAWL,eAAgB,GAExBK,GAAWniB,QAGtB,MAAM53Z,GAAO,CACT05a,cAAeA,GACf9hB,QAAS,IAAI/2a,IACb+4b,aAEJ,OAAAr/c,KAAKw+c,aAAat7a,IAAI7b,GAAeoe,IACrCzlC,KAAKy/c,yBAAyBh6a,IACvBA,GAAK43Z,OAChB,CACAp2a,eAAe6I,IACX,MAAMzI,MAAgB+3b,OAActvb,IAC9B4vb,GAAc1/c,KAAKw+c,aAAa91c,IAAI2e,IACtCq4b,KACAA,GAAYriB,QAAQl2a,WACpBnnB,KAAK2/c,YAAYt4b,IACjBrnB,KAAKw+c,aAAa92a,OAAOrgB,IACzBrnB,KAAK4/c,uBAAuBF,IAEpC,CACA74b,SAASiJ,GAASnJ,GAAQC,IACtB,MAAMS,MAAgB+3b,OAActvb,IAKhCzI,KAJmBrnB,KAAKu/c,eAAe/2b,cAKvCxoB,KAAK6/c,wBAAwBx4b,IAAe+D,QAAQ,EAAE00b,GAAgBr6a,MAAUzlC,KAAK+/c,eAAeD,GAAgBn5b,GAAQ8e,MAG5HzlC,KAAKggd,WAAWr5b,IAEmB,mBAAxBU,GAAcla,OACrBka,GAAcla,MAAMyZ,IAGhC,CACA1Y,cACIlO,KAAKw+c,aAAapzb,QAAQ,CAAC60b,GAAOnwb,KAAY9vB,KAAKinB,eAAe6I,IACtE,CAEAyvb,eACI,OAAOv/c,KAAKgmB,WAAa/Y,QAC7B,CAEAizc,aAEI,OADYlgd,KAAKu/c,eACNjxT,aAAe15I,MAC9B,CACAurc,gBAAgBC,IACZ,OAAIpgd,KAAK82c,QAGD92c,KAAKu+c,4BACEv+c,KAAKqgd,2BAA2BD,IAAoB,QAAU,UAG9Dpgd,KAAK82c,QAYhB92c,KAAKs+c,gBAAkBt+c,KAAKsgd,iBACrBtgd,KAAKsgd,iBAMZF,IAAoBpgd,KAAKugd,iCAAiCH,IACnD,QAEJ,SACX,CASAC,2BAA2BD,IAWvB,OAAQpgd,KAAKi/c,iBAAmBlB,GAA0BE,YACpDmC,IAAkBxxb,SAAS5uB,KAAKq+c,uBAAuBrC,kBACjE,CAMA2D,YAAY7vb,GAASnJ,IACjBmJ,GAAQxE,UAAUooM,OAAO,gBAAiB/sM,IAC1CmJ,GAAQxE,UAAUooM,OAAO,oBAAgC,UAAX/sM,IAC9CmJ,GAAQxE,UAAUooM,OAAO,uBAAmC,aAAX/sM,IACjDmJ,GAAQxE,UAAUooM,OAAO,oBAAgC,UAAX/sM,IAC9CmJ,GAAQxE,UAAUooM,OAAO,sBAAkC,YAAX/sM,GACpD,CAQAq5b,WAAWr5b,GAAQ65b,IAAoB,GACnCxgd,KAAKurB,QAAQ41H,kBAAkB,KAC3BnhJ,KAAK82c,QAAUnwb,GACf3mB,KAAKu+c,4BAAyC,UAAX53b,IAAsB65b,GAMrDxgd,KAAKi/c,iBAAmBlB,GAA0BC,YAClD9na,aAAal2C,KAAKygd,kBAElBzgd,KAAKygd,iBAAmBzzc,WAAW,IAAOhN,KAAK82c,QAAU,KAD9C92c,KAAKu+c,4BAhkBR,IAgkBwD,GAEpE,EAER,CAMAQ,SAASvzc,GAAOskB,IAOZ,MAAM4vb,GAAc1/c,KAAKw+c,aAAa91c,IAAIonB,IACpCswb,MAAmBhE,MAAgB5wc,KACpCk0c,KAAiBA,GAAYP,eAAiBrvb,KAAYswb,IAG/Dpgd,KAAK+/c,eAAejwb,GAAS9vB,KAAKmgd,gBAAgBC,IAAmBV,GACzE,CAMAV,QAAQxzc,GAAOskB,IAGX,MAAM4vb,GAAc1/c,KAAKw+c,aAAa91c,IAAIonB,KACrC4vb,IACAA,GAAYP,eACT3zc,GAAM24J,yBAAyBjc,MAC/Bp4H,GAAQlB,SAASpjB,GAAM24J,iBAG/BnkK,KAAK2/c,YAAY7vb,IACjB9vB,KAAK0gd,YAAYhB,GAAa,MAClC,CACAgB,YAAYj7a,GAAM9e,IACV8e,GAAK43Z,QAAQD,UAAUhrc,QACvB4N,KAAKurB,QAAQ6K,IAAI,IAAMqP,GAAK43Z,QAAQ1wb,KAAKga,IAEjD,CACA84b,yBAAyBC,IACrB,IAAK1/c,KAAK6vc,UAAUG,UAChB,OAEJ,MAAMqP,GAAWK,GAAYL,SACvBsB,GAAyB3gd,KAAK0+c,4BAA4Bh2c,IAAI22c,KAAa,EAC5EsB,IACD3gd,KAAKurB,QAAQ41H,kBAAkB,KAC3Bk+T,GAAS3rb,iBAAiB,QAAS1zB,KAAK8+c,8BAA+BX,IACvEkB,GAAS3rb,iBAAiB,OAAQ1zB,KAAK8+c,8BAA+BX,GAA2B,GAGzGn+c,KAAK0+c,4BAA4Bx7a,IAAIm8a,GAAUsB,GAAyB,GAElC,KAAhC3gd,KAAKy+c,yBAGPz+c,KAAKurB,QAAQ41H,kBAAkB,KACZnhJ,KAAKkgd,aACbxsb,iBAAiB,QAAS1zB,KAAK2+c,qBAAoB,GAG9D3+c,KAAKq+c,uBAAuB9B,iBACvB1xc,QAAKgqB,MAAU70B,KAAK6+c,6BACpBxyc,UAAUu0c,KACX5gd,KAAKggd,WAAWY,IAAU,EAA4B,GAGlE,CACAhB,uBAAuBF,IACnB,MAAML,GAAWK,GAAYL,SAC7B,GAAIr/c,KAAK0+c,4BAA4Bjlb,IAAI4lb,IAAW,CAChD,MAAMsB,GAAyB3gd,KAAK0+c,4BAA4Bh2c,IAAI22c,IAChEsB,GAAyB,EACzB3gd,KAAK0+c,4BAA4Bx7a,IAAIm8a,GAAUsB,GAAyB,IAGxEtB,GAASxrb,oBAAoB,QAAS7zB,KAAK8+c,8BAA+BX,IAC1EkB,GAASxrb,oBAAoB,OAAQ7zB,KAAK8+c,8BAA+BX,IACzEn+c,KAAK0+c,4BAA4Bh3a,OAAO23a,IAEhD,GAEOr/c,KAAKy+c,yBACOz+c,KAAKkgd,aACbrsb,oBAAoB,QAAS7zB,KAAK2+c,sBAEzC3+c,KAAK6+c,2BAA2Blyc,OAEhCupC,aAAal2C,KAAK4+c,uBAClB1oa,aAAal2C,KAAKygd,kBAE1B,CAEAV,eAAejwb,GAASnJ,GAAQ+4b,IAC5B1/c,KAAK2/c,YAAY7vb,GAASnJ,IAC1B3mB,KAAK0gd,YAAYhB,GAAa/4b,IAC9B3mB,KAAKsgd,iBAAmB35b,EAC5B,CAMAk5b,wBAAwB/vb,IACpB,MAAMq0D,GAAU,GAChB,OAAAnkF,KAAKw+c,aAAapzb,QAAQ,CAACqa,GAAMq6a,OACzBA,KAAmBhwb,IAAY2V,GAAK05a,eAAiBW,GAAelxb,SAASkB,MAC7Eq0D,GAAQriD,KAAK,CAACg+a,GAAgBr6a,IAAK,GAGpC0+C,EACX,CAMAo8X,iCAAiCH,IAC7B,MAAQpE,kBAAmB6E,GAAkB/E,uBAAuB97c,KAAKq+c,uBAIzE,GAA2B,UAAvBvC,KACC+E,IACDA,KAAqBT,IACU,UAA9BA,GAAiBx3T,UAAsD,aAA9Bw3T,GAAiBx3T,UAC3Dw3T,GAAiBrmc,SACjB,OAAO,EAEX,MAAM69I,GAASwoT,GAAiBxoT,OAChC,GAAIA,GACA,QAAS7vI,GAAI,EAAGA,GAAI6vI,GAAOxlK,OAAQ21B,KAC/B,GAAI6vI,GAAO7vI,IAAG6G,SAASiyb,IACnB,OAAO,EAInB,OAAO,CACX,QACS7gd,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF6vc,IA77DVn+c,MA67DwCA,OA77DxCA,MA67D8DC,MA77D9DD,MA67DsF47c,IA77DtF57c,MA67DwHwoB,KAAQ,GA77DhIxoB,MA67D6Ji+c,GAA6B,IAA+D,QAChVl+c,KAAKszD,WA97DkFrzD,MAAE,CAAAhQ,MA87DYmud,GAAY39c,QAAZ29c,GAAY19c,UAAAC,WAAc,QAAW,EACtJ,OA1WKy9c,EAAY,KAkYZ0C,GAAe,MAArB,MAAMA,GACFrhd,YAAYsmB,GAAaE,IACrBjmB,KAAK+lB,YAAcA,GACnB/lB,KAAKimB,cAAgBA,GACrBjmB,KAAK+gd,aAAe,KACpB/gd,KAAKghd,eAAiB,IAAIl1b,KAC9B,CACA,eAAIm1b,GACA,OAAOjhd,KAAK+gd,YAChB,CACAh6b,kBACI,MAAM+I,GAAU9vB,KAAK+lB,YAAYsB,cACjCrnB,KAAKkhd,qBAAuBlhd,KAAKimB,cAC5Be,QAAQ8I,GAA8B,IAArBA,GAAQg4H,UAAkBh4H,GAAQ42H,aAAa,2BAChEr6I,UAAUsa,KACX3mB,KAAK+gd,aAAep6b,GACpB3mB,KAAKghd,eAAe77b,KAAKwB,GAAM,EAEvC,CACAzY,cACIlO,KAAKimB,cAAcgB,eAAejnB,KAAK+lB,aACnC/lB,KAAKkhd,sBACLlhd,KAAKkhd,qBAAqB/yc,aAElC,QACSnO,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFuyc,IAh/DV7gd,MAg/D2CA,OAh/D3CA,MAg/DqEm+c,IAAY,CAA8C,QACtNp+c,KAAKi4B,UAj/DkFh4B,MAAE,CAAAgO,KAi/DJ6yc,GAAenyc,UAAA,oEAAA+hB,QAAA,CAAAswb,eAAA,kBAAAh4b,SAAA,oBAAAC,YAAA,GAAqL,EACrS,OA3BK63b,EAAe,KAwCrB,IAAIK,GACH,SAAUA,IACPA,UAAiBA,GAAiB94a,KAAU,GAAK,OACjD84a,GAAiBA,GAAiBC,eAAoB,GAAK,iBAC3DD,GAAiBA,GAAiBE,eAAoB,GAAK,iBAHpDF,EAIX,CAJC,CAIEA,IAAwC,CAAC,GAE5C,MAAMG,GAA2B,mCAE3BC,GAA2B,mCAE3BC,GAAsC,2BAC5C,IAWMC,GAAwB,MAA9B,MAAMA,GACFhid,YAAYowc,GAAW5ic,IACnBjN,KAAK6vc,UAAYA,GACjB7vc,KAAKgmB,UAAY/Y,GACjBjN,KAAK0hd,2BAA0Bzwb,OAAOq/a,IACjC3jT,QAAQ,2BACRtgJ,UAAU,KACPrM,KAAK2hd,8BACL3hd,KAAK2hd,6BAA8B,EACnC3hd,KAAK4hd,uCAAqC,EAGtD,CAEAC,sBACI,IAAK7hd,KAAK6vc,UAAUG,UAChB,OAAOmR,GAAiB94a,KAK5B,MAAMy5a,GAAc9hd,KAAKgmB,UAAUmuB,cAAc,OACjD2ta,GAAYj4b,MAAMsuN,gBAAkB,aACpC2pO,GAAYj4b,MAAM8L,SAAW,WAC7B31B,KAAKgmB,UAAUx8B,KAAKirD,YAAYqta,IAKhC,MAAMC,GAAiB/hd,KAAKgmB,UAAUsoI,aAAe15I,OAC/Cotc,GAAgBD,IAAkBA,GAAe3/S,iBACjD2/S,GAAe3/S,iBAAiB0/S,IAChC,KACAz1P,IAAkB21P,IAAiBA,GAAc7pO,iBAAoB,IAAI9pO,QAAQ,KAAM,IAE7F,OADAyzc,GAAY95b,SACJqkM,IAEJ,IAAK,aAEL,IAAK,gBACL,IAAK,gBACD,OAAO80P,GAAiBE,eAE5B,IAAK,mBAEL,IAAK,mBACD,OAAOF,GAAiBC,eAEhC,OAAOD,GAAiB94a,IAC5B,CACAn6B,cACIlO,KAAK0hd,wBAAwBvzc,aACjC,CAEAyzc,uCACI,IAAK5hd,KAAK2hd,6BAA+B3hd,KAAK6vc,UAAUG,WAAahwc,KAAKgmB,UAAUx8B,KAAM,CACtF,MAAMy4d,GAAcjid,KAAKgmB,UAAUx8B,KAAK8hC,UACxC22b,GAAYj6b,OAAOw5b,GAAqCF,GAA0BC,IAClFvhd,KAAK2hd,6BAA8B,EACnC,MAAM9kb,GAAO78B,KAAK6hd,sBACdhlb,KAASskb,GAAiBC,eAC1Ba,GAAYl2c,IAAIy1c,GAAqCF,IAEhDzkb,KAASskb,GAAiBE,gBAC/BY,GAAYl2c,IAAIy1c,GAAqCD,GAE7D,CACJ,QACSvhd,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFkzc,IA1lEVxhd,MA0lEoDC,MA1lEpDD,MA0lE4EwoB,MAAQ,CAA+C,QAC1NzoB,KAAKszD,WA3lEkFrzD,MAAE,CAAAhQ,MA2lEYwxd,GAAwBhhd,QAAxBghd,GAAwB/gd,UAAAC,WAAc,QAAW,EAClK,OAtEK8gd,EAAwB,KA+ExBS,GAAU,MAAhB,MAAMA,GACFzid,YAAY0id,IACRA,GAAyBP,sCAC7B,QACS5hd,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF2zc,IAzmEVjid,MAymEsCwhd,IAAwB,CAA6C,QAClMzhd,KAAKm4B,UA1mEkFl4B,KAAE,CAAAgO,KA0mESi0c,IAA8I,QAChPlid,KAAKo4B,UA3mEkFn4B,MAAE,CAAAq4B,QAAA,CA2mE+B8pb,QAAqB,EACzJ,OAPKF,EAAU,wFC70EhB,MAAMG,EAAe,IAAIx8b,MAAe,cAAe,CACnDllB,WAAY,OACZF,QAGJ,SAAS6hd,IACL,SAAOrxb,OAAOxI,KAClB,IAGM85b,EAAqB,qHAS3B,IAIMC,EAAc,MAApB,MAAMA,EACF/id,YAAYumB,IAERhmB,KAAK1S,MAAQ,MAEb0S,KAAKg2B,OAAS,IAAIlK,MACd9F,KAGAhmB,KAAK1S,MApBjB,SAASm1d,EAAuBC,GAC5B,MAAMp1d,GAAQo1d,GAAUp4d,eAAiB,GACzC,MAAc,SAAVgD,WAA2B4vE,UAAc,KAAeA,WAAWjxE,SAC5Ds2d,EAAmBpnX,KAAKj+B,UAAUjxE,UAAY,MAAQ,MAEhD,QAAVqB,GAAkB,MAAQ,KACrC,CAcyBm1d,EAFGz8b,GAAUx8B,KAAOw8B,GAAUx8B,KAAKuqC,IAAM,QACtC/N,GAAU6Y,gBAAkB7Y,GAAU6Y,gBAAgB9K,IAAM,OAClB,OAElE,CACA7lB,cACIlO,KAAKg2B,OAAO7O,UAChB,QACSnnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFi0c,GAAVvid,MAA0Coid,EAAY,IAA+D,QAC5Mrid,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACYuyd,EAAc/hd,QAAd+hd,EAAc9hd,UAAAC,WAAc,QAAW,EACxJ,OAjBK6hd,CAAc,KAwFdG,EAAU,MAAhB,MAAMA,SACO3id,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFo0c,EAAU,CAAoD,QAC/J3id,KAAKm4B,UA3EkFl4B,KAAE,CAAAgO,KA2ES00c,GAA+C,QACjJ3id,KAAKo4B,UA5EkFn4B,MAAE,GA4EwB,EAC7H,OAJK0id,CAAU,gHC/HhB,SAASC,EAAsBt1d,GAC3B,OAAgB,MAATA,GAAgC,SAAf,GAAGA,GAC/B,CAEA,SAASu1d,EAAqBv1d,EAAOw1d,EAAgB,GACjD,OAMJ,SAASC,EAAez1d,GAIpB,OAAQ+K,MAAM62H,WAAW5hI,MAAY+K,MAAMmoD,OAAOlzD,GACtD,CAXWy1d,CAAez1d,GAASkzD,OAAOlzD,GAASw1d,CACnD,CAYA,SAAStuI,EAAYlnV,GACjB,OAAOgE,MAAMC,QAAQjE,GAASA,EAAQ,CAACA,EAC3C,CAGA,SAAS01d,EAAoB11d,GACzB,OAAa,MAATA,EACO,GAEa,iBAAVA,EAAqBA,EAAQ,GAAGA,KAClD,CAMA,SAAS8xd,EAAc6D,GACnB,OAAOA,aAAwBC,MAAaD,EAAa57b,cAAgB47b,CAC7E,CAmBA,SAASE,EAAkB71d,EAAO+pL,EAAY,OAC1C,MAAM/5K,GAAS,GACf,GAAa,MAAThQ,EAAe,CACf,MAAM81d,GAAe9xd,MAAMC,QAAQjE,GAASA,EAAQ,GAAGA,IAAQ69B,MAAMksJ,GACrE,UAAWgsS,MAAeD,GAAc,CACpC,MAAME,GAAgB,GAAGD,KAAcnuc,OACnCouc,IACAhmd,GAAOwkC,KAAKwhb,GAEpB,CACJ,CACA,OAAOhmd,EACX,yGC2IA,MAAMimd,GAEF,YAAI3pM,GACA,OAAK55Q,KAAK+0S,YACN/0S,KAAK+0S,UAAYzjT,MAAM4lE,KAAKl3D,KAAKwjd,WAAW/3c,WAEzCzL,KAAK+0S,SAChB,CACAt1S,YAAYgkd,IAAY,EAAOC,GAAyBC,IAAe,EAAMC,IACzE5jd,KAAKyjd,UAAYA,GACjBzjd,KAAK2jd,aAAeA,GACpB3jd,KAAK4jd,YAAcA,GAEnB5jd,KAAKwjd,WAAa,IAAI59Z,IAEtB5lD,KAAK6jd,kBAAoB,GAEzB7jd,KAAK8jd,gBAAkB,GAEvB9jd,KAAK+jd,QAAU,IAAIz9b,IACfo9b,IAA2BA,GAAwBtxd,SAC/Cqxd,GACAC,GAAwBt4b,QAAQ99B,IAAS0S,KAAKgkd,cAAc12d,KAG5D0S,KAAKgkd,cAAcN,GAAwB,IAG/C1jd,KAAK8jd,gBAAgB1xd,OAAS,EAEtC,CAOA0Y,UAAUW,IACNzL,KAAKikd,uBAAuBx4c,IAC5BA,GAAO2f,QAAQ99B,IAAS0S,KAAKgkd,cAAc12d,KAC3C,MAAMy2d,GAAU/jd,KAAKkkd,oBACrB,OAAAlkd,KAAKmkd,mBACEJ,EACX,CAOAK,YAAY34c,IACRzL,KAAKikd,uBAAuBx4c,IAC5BA,GAAO2f,QAAQ99B,IAAS0S,KAAKqkd,gBAAgB/2d,KAC7C,MAAMy2d,GAAU/jd,KAAKkkd,oBACrB,OAAAlkd,KAAKmkd,mBACEJ,EACX,CAOAO,gBAAgB74c,IACZzL,KAAKikd,uBAAuBx4c,IAC5B,MAAM84c,GAAYvkd,KAAK45Q,SACjB4qM,GAAiB,IAAI5+Z,IAAIn6C,IAC/BA,GAAO2f,QAAQ99B,IAAS0S,KAAKgkd,cAAc12d,KAC3Ci3d,GACK72d,OAAOJ,KAAUk3d,GAAe/qb,IAAIz5B,KAAKykd,kBAAkBn3d,GAAOk3d,MAClEp5b,QAAQ99B,IAAS0S,KAAKqkd,gBAAgB/2d,KAC3C,MAAMy2d,GAAU/jd,KAAKkkd,oBACrB,OAAAlkd,KAAKmkd,mBACEJ,EACX,CAOArwP,OAAOpmO,IACH,OAAO0S,KAAK46N,WAAWttO,IAAS0S,KAAKokd,SAAS92d,IAAS0S,KAAK8K,OAAOxd,GACvE,CAQAynD,MAAM2va,IAAa,GACf1kd,KAAK2kd,aACL,MAAMZ,GAAU/jd,KAAKkkd,oBACrB,OAAIQ,IACA1kd,KAAKmkd,mBAEFJ,EACX,CAIAnpP,WAAWttO,IACP,OAAO0S,KAAKwjd,WAAW/pb,IAAIz5B,KAAKykd,kBAAkBn3d,IACtD,CAIA4qL,UACI,OAAgC,IAAzBl4K,KAAKwjd,WAAWloX,IAC3B,CAIAulW,WACI,OAAQ7gc,KAAKk4K,SACjB,CAIAh+G,KAAK2sI,IACG7mM,KAAKyjd,WAAazjd,KAAK45Q,UACvB55Q,KAAK+0S,UAAU76O,KAAK2sI,GAE5B,CAIAy8B,sBACI,OAAOtjO,KAAKyjd,SAChB,CAEAU,mBAEInkd,KAAK+0S,UAAY,MACb/0S,KAAK8jd,gBAAgB1xd,QAAU4N,KAAK6jd,kBAAkBzxd,UACtD4N,KAAK+jd,QAAQp3c,KAAK,CACdmnC,OAAQ9zC,KACRwkG,MAAOxkG,KAAK8jd,gBACZ5lV,QAASl+H,KAAK6jd,oBAElB7jd,KAAK6jd,kBAAoB,GACzB7jd,KAAK8jd,gBAAkB,GAE/B,CAEAE,cAAc12d,IACVA,GAAQ0S,KAAKykd,kBAAkBn3d,IAC1B0S,KAAK46N,WAAWttO,MACZ0S,KAAKyjd,WACNzjd,KAAK2kd,aAEJ3kd,KAAK46N,WAAWttO,KACjB0S,KAAKwjd,WAAWz3c,IAAIze,IAEpB0S,KAAK2jd,cACL3jd,KAAK8jd,gBAAgBhib,KAAKx0C,IAGtC,CAEA+2d,gBAAgB/2d,IACZA,GAAQ0S,KAAKykd,kBAAkBn3d,IAC3B0S,KAAK46N,WAAWttO,MAChB0S,KAAKwjd,WAAW97a,OAAOp6C,IACnB0S,KAAK2jd,cACL3jd,KAAK6jd,kBAAkB/hb,KAAKx0C,IAGxC,CAEAq3d,aACS3kd,KAAKk4K,WACNl4K,KAAKwjd,WAAWp4b,QAAQ99B,IAAS0S,KAAKqkd,gBAAgB/2d,IAE9D,CAKA22d,uBAAuBx4c,IAIvB,CAEAy4c,oBACI,SAAUlkd,KAAK6jd,kBAAkBzxd,SAAU4N,KAAK8jd,gBAAgB1xd,OACpE,CAEAqyd,kBAAkBG,GAAYtwP,IAC1B,GAAKt0N,KAAK4jd,YAGL,CACDtvP,GAAYA,IAAat0N,KAAKwjd,WAC9B,QAASqB,MAAiBvwP,GACtB,GAAIt0N,KAAK4jd,YAAYgB,GAAYC,IAC7B,OAAOA,GAGf,OAAOD,EACX,CAVI,OAAOA,EAWf,EAWJ,IASME,GAAyB,MAA/B,MAAMA,GACFrld,cACIO,KAAK+kd,WAAa,EACtB,CAMArxT,OAAOlrK,GAAIgF,IACP,QAASy4D,MAAYjmD,KAAK+kd,WACtB9+Z,GAASz9D,GAAIgF,GAErB,CAKAq4L,OAAO5/H,IACH,OAAAjmD,KAAK+kd,WAAWjjb,KAAKmkB,IACd,KACHjmD,KAAK+kd,WAAa/kd,KAAK+kd,WAAWr3d,OAAQs3d,IAC/B/+Z,KAAa++Z,GACvB,CAET,CACA92c,cACIlO,KAAK+kd,WAAa,EACtB,QACS/kd,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFu2c,GAAyB,CAAsD,QAChL9kd,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACY60d,GAAyBrkd,QAAzBqkd,GAAyBpkd,UAAAC,WAAc,QAAW,EACnK,OA/BKmkd,EAAyB,iQChb/B,MAEMvP,EAAM,EAEN99a,EAAQ,GACRkkb,EAAQ,GACRF,EAAU,GACVD,EAAM,GAGN3tb,GAAS,GACT6J,GAAQ,GACRk+a,GAAU,GACVG,GAAY,GACZL,GAAM,GACND,GAAO,GACP1nb,GAAa,GACbI,GAAW,GACXD,GAAc,GACdE,GAAa,GAKb8nb,GAAO,GASPC,GAAO,GAKP19G,GAAI,GAyBJ2pC,GAAI,GACJ/kC,GAAO,GAsDPq+G,GAAW,IAMjB,SAAS5tb,GAAetiB,MAAUy5c,IAC9B,OAAIA,GAAU7yd,OACH6yd,GAAUzzd,KAAKizR,IAAYj5Q,GAAMi5Q,KAErCj5Q,GAAMmgN,QAAUngN,GAAMsgN,UAAYtgN,GAAMogN,SAAWpgN,GAAMqgN,OACpE,iECjGA,IAIMq5P,EAAuB,MAA7B,MAAMA,EACF1vb,OAAO2zB,GACH,cAAc2gG,iBAAqB,IAAc,KAAO,IAAIA,iBAAiB3gG,EACjF,QACSnpD,KAAKU,UAAI,SAAA6N,GAAA,WAAAA,GAAwF22c,EAAuB,CAAsD,QAC9Klld,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACYi1d,EAAuBzkd,QAAvBykd,EAAuBxkd,UAAAC,WAAc,QAAW,EACjK,OANKukd,CAAuB,KAgKvB9C,EAAe,MAArB,MAAMA,SACOpid,KAAKU,UAAI,SAAA6N,GAAA,WAAAA,GAAwF6zc,EAAe,CAAoD,QACpKpid,KAAKm4B,UA9JkFl4B,KAAE,CAAAgO,KA8JSm0c,GAAgF,QAClLpid,KAAKo4B,UA/JkFn4B,MAAE,CAAAo4B,UA+JqC,CAAC6sb,IAA6B,EACxK,OAJK9C,CAAe,wSCnLrB,MAAM+C,IAA0BC,UAIhC,MAAMC,GACF5ld,YAAY6ld,GAAgBr4c,IACxBjN,KAAKsld,eAAiBA,GACtBtld,KAAKuld,oBAAsB,CAAEt1a,IAAK,GAAIJ,KAAM,IAC5C7vC,KAAKwld,YAAa,EAClBxld,KAAKgmB,UAAY/Y,EACrB,CAEAunB,SAAW,CAEX4jM,SACI,GAAIp4N,KAAKyld,gBAAiB,CACtB,MAAMnqT,GAAOt7J,KAAKgmB,UAAU6Y,gBAC5B7+B,KAAK0ld,wBAA0B1ld,KAAKsld,eAAeK,4BAEnD3ld,KAAKuld,oBAAoB11a,KAAOyrH,GAAKzxI,MAAMgmB,MAAQ,GACnD7vC,KAAKuld,oBAAoBt1a,IAAMqrH,GAAKzxI,MAAMomB,KAAO,GAGjDqrH,GAAKzxI,MAAMgmB,QAAOmza,OAAqBhjd,KAAK0ld,wBAAwB71a,MACpEyrH,GAAKzxI,MAAMomB,OAAM+ya,OAAqBhjd,KAAK0ld,wBAAwBz1a,KACnEqrH,GAAKhwI,UAAUvf,IAAI,0BACnB/L,KAAKwld,YAAa,CACtB,CACJ,CAEA9xR,UACI,GAAI1zL,KAAKwld,WAAY,CACjB,MAAMrnc,GAAOne,KAAKgmB,UAAU6Y,gBAEtB+mb,GAAYznc,GAAK0L,MACjBg8b,GAFO7ld,KAAKgmB,UAAUx8B,KAELqgC,MACjBi8b,GAA6BF,GAAUG,gBAAkB,GACzDC,GAA6BH,GAAUE,gBAAkB,GAC/D/ld,KAAKwld,YAAa,EAClBI,GAAU/1a,KAAO7vC,KAAKuld,oBAAoB11a,KAC1C+1a,GAAU31a,IAAMjwC,KAAKuld,oBAAoBt1a,IACzC9xB,GAAKmN,UAAUtD,OAAO,0BAMlBm9b,KACAS,GAAUG,eAAiBF,GAAUE,eAAiB,QAE1Dnxc,OAAOw0T,OAAOppU,KAAK0ld,wBAAwB71a,KAAM7vC,KAAK0ld,wBAAwBz1a,KAC1Ek1a,KACAS,GAAUG,eAAiBD,GAC3BD,GAAUE,eAAiBC,GAEnC,CACJ,CACAP,gBAKI,GADazld,KAAKgmB,UAAU6Y,gBACnBvT,UAAUsD,SAAS,2BAA6B5uB,KAAKwld,WAC1D,OAAO,EAEX,MAAMh8d,GAAOwW,KAAKgmB,UAAUx8B,KACtB4vK,GAAWp5J,KAAKsld,eAAeW,kBACrC,OAAOz8d,GAAK2lT,aAAe/1I,GAASppH,QAAUxmD,GAAK4lT,YAAch2I,GAASzpH,KAC9E,EAaJ,MAAMu2a,GACFzmd,YAAY0md,GAAmB56b,GAAS+5b,GAAgBjrV,IACpDr6H,KAAKmmd,kBAAoBA,GACzBnmd,KAAKurB,QAAUA,GACfvrB,KAAKsld,eAAiBA,GACtBtld,KAAKq6H,QAAUA,GACfr6H,KAAKomd,oBAAsB,KAE3Bpmd,KAAKqmd,QAAU,KACXrmd,KAAK0zL,UACD1zL,KAAK2yB,YAAYmnb,eACjB95c,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAK2yB,YAAYsC,SAAQ,CAG5D,CAEAT,OAAOL,IAIHn0B,KAAK2yB,YAAcwB,EACvB,CAEAikM,SACI,GAAIp4N,KAAKomd,oBACL,OAEJ,MAAM/0N,GAASrxP,KAAKmmd,kBAAkBG,SAAS,GAAGz7c,QAAKnd,KAAO64d,KACjDA,KACJvmd,KAAK2yB,YAAY6zb,eAAe53b,SAAS23b,GAAWE,gBAAgBp/b,iBAEzErnB,KAAKq6H,SAAWr6H,KAAKq6H,QAAQ+/T,WAAap6b,KAAKq6H,QAAQ+/T,UAAY,GACnEp6b,KAAK0md,uBAAyB1md,KAAKsld,eAAeK,4BAA4B11a,IAC9EjwC,KAAKomd,oBAAsB/0N,GAAOhlP,UAAU,KACxC,MAAMs6c,GAAiB3md,KAAKsld,eAAeK,4BAA4B11a,IACnE9iB,KAAK82D,IAAI0iY,GAAiB3md,KAAK0md,wBAA0B1md,KAAKq6H,QAAQ+/T,UACtEp6b,KAAKqmd,UAGLrmd,KAAK2yB,YAAYqC,gBAAe,IAKxCh1B,KAAKomd,oBAAsB/0N,GAAOhlP,UAAUrM,KAAKqmd,QAEzD,CAEA3yR,UACQ1zL,KAAKomd,sBACLpmd,KAAKomd,oBAAoBj4c,cACzBnO,KAAKomd,oBAAsB,KAEnC,CACAnxb,SACIj1B,KAAK0zL,UACL1zL,KAAK2yB,YAAc,IACvB,EAIJ,MAAMi0b,GAEFxuP,SAAW,CAEX1kC,UAAY,CAEZl/J,SAAW,EAUf,SAASqyb,GAA6B/2b,GAASg3b,IAC3C,OAAOA,GAAiBt1d,KAAKu1d,IACJj3b,GAAQyyI,OAASwkT,GAAgB92a,KACjCngB,GAAQmgB,IAAM82a,GAAgBxkT,QAC/BzyI,GAAQurE,MAAQ0rX,GAAgBl3a,MAC/B/f,GAAQ+f,KAAOk3a,GAAgB1rX,MAG5D,CAQA,SAAS2rX,GAA4Bl3b,GAASg3b,IAC1C,OAAOA,GAAiBt1d,KAAKy1d,IACJn3b,GAAQmgB,IAAMg3a,GAAoBh3a,KAClCngB,GAAQyyI,OAAS0kT,GAAoB1kT,QACtCzyI,GAAQ+f,KAAOo3a,GAAoBp3a,MAClC/f,GAAQurE,MAAQ4rX,GAAoB5rX,MAGjE,CAKA,MAAM6rX,GACFznd,YAAY0md,GAAmBb,GAAgB/5b,GAAS8uG,IACpDr6H,KAAKmmd,kBAAoBA,GACzBnmd,KAAKsld,eAAiBA,GACtBtld,KAAKurB,QAAUA,GACfvrB,KAAKq6H,QAAUA,GACfr6H,KAAKomd,oBAAsB,IAC/B,CAEA5xb,OAAOL,IAIHn0B,KAAK2yB,YAAcwB,EACvB,CAEAikM,SACSp4N,KAAKomd,sBAENpmd,KAAKomd,oBAAsBpmd,KAAKmmd,kBAAkBG,SADjCtmd,KAAKq6H,QAAUr6H,KAAKq6H,QAAQ8sV,eAAiB,GACO96c,UAAU,KAG3E,GAFArM,KAAK2yB,YAAYqC,iBAEbh1B,KAAKq6H,SAAWr6H,KAAKq6H,QAAQ+sV,UAAW,CACxC,MAAMC,GAAcrnd,KAAK2yB,YAAY6zb,eAAev4T,yBAC5Ct+G,SAAOK,WAAWhwC,KAAKsld,eAAeW,kBAI1CY,GAA6BQ,GADb,CAAC,CAAE13a,SAAOK,UAAQuyH,OAAQvyH,GAAQqrD,MAAO1rD,GAAOM,IAAK,EAAGJ,KAAM,OAE9E7vC,KAAK0zL,UACL1zL,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAK2yB,YAAYsC,UAEhD,IAGZ,CAEAy+J,UACQ1zL,KAAKomd,sBACLpmd,KAAKomd,oBAAoBj4c,cACzBnO,KAAKomd,oBAAsB,KAEnC,CACAnxb,SACIj1B,KAAK0zL,UACL1zL,KAAK2yB,YAAc,IACvB,EAGJ,IAMM20b,GAAqB,MAA3B,MAAMA,GACF7nd,YAAY0md,GAAmBb,GAAgB/5b,GAASte,IACpDjN,KAAKmmd,kBAAoBA,GACzBnmd,KAAKsld,eAAiBA,GACtBtld,KAAKurB,QAAUA,GAEfvrB,KAAKg1Z,KAAO,IAAM,IAAI4xD,GAKtB5md,KAAK+rB,MAAS/7B,IAAW,IAAIk2d,GAAoBlmd,KAAKmmd,kBAAmBnmd,KAAKurB,QAASvrB,KAAKsld,eAAgBt1d,IAE5GgQ,KAAK2jO,MAAQ,IAAM,IAAI0hP,GAAoBrld,KAAKsld,eAAgBtld,KAAKgmB,WAMrEhmB,KAAKoxB,WAAcphC,IAAW,IAAIk3d,GAAyBlnd,KAAKmmd,kBAAmBnmd,KAAKsld,eAAgBtld,KAAKurB,QAASv7B,IACtHgQ,KAAKgmB,UAAY/Y,EACrB,QACSjN,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF+4c,IAAVrnd,MAAiDC,KAAjDD,MAAiFC,MAAjFD,MAA8GA,OAA9GA,MAAoIwoB,MAAQ,CAA+C,QAClRzoB,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACYq3d,GAAqB7md,QAArB6md,GAAqB5md,UAAAC,WAAc,QAAW,EAC/J,OAxBK2md,EAAqB,KAkC3B,MAAM5xb,GACFj2B,YAAYzP,IAeR,GAbAgQ,KAAKyyB,eAAiB,IAAIm0b,GAE1B5md,KAAK8qB,WAAa,GAElB9qB,KAAKisB,aAAc,EAEnBjsB,KAAKyqB,cAAgB,4BAMrBzqB,KAAKund,qBAAsB,EACvBv3d,GAAQ,CAIR,MAAMw3d,GAAap4b,OAAOC,KAAKr/B,IAC/B,UAAWkxC,MAAOsmb,QACMn5d,IAAhB2B,GAAOkxC,MAOPlhC,KAAKkhC,IAAOlxC,GAAOkxC,IAG/B,CACJ,EAiDJ,MAAMumb,GACFhod,YAEAw2B,GAEAyxb,IACI1nd,KAAKi2B,eAAiBA,GACtBj2B,KAAK0nd,yBAA2BA,EACpC,EA2BJ,IAKMC,GAAqB,MAA3B,MAAMA,GACFlod,YAAYwN,IAERjN,KAAK4nd,kBAAoB,GACzB5nd,KAAKgmB,UAAY/Y,EACrB,CACAiB,cACIlO,KAAKi1B,QACT,CAEAlpB,IAAIooB,IAEAn0B,KAAKgoB,OAAOmM,IACZn0B,KAAK4nd,kBAAkB9lb,KAAK3N,GAChC,CAEAnM,OAAOmM,IACH,MAAM9b,GAAQrY,KAAK4nd,kBAAkB/1d,QAAQsiC,IACzC9b,IAAQ,GACRrY,KAAK4nd,kBAAkBv4a,OAAOh3B,GAAO,GAGH,IAAlCrY,KAAK4nd,kBAAkBx1d,QACvB4N,KAAKi1B,QAEb,QACSj1B,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFo5c,IAhKV1nd,MAgKiDwoB,MAAQ,CAA+C,QAC/LzoB,KAAKszD,WAjKkFrzD,MAAE,CAAAhQ,MAiKY03d,GAAqBlnd,QAArBknd,GAAqBjnd,UAAAC,WAAc,QAAW,EAC/J,OA5BKgnd,EAAqB,KA0CrBE,GAAyB,MAA/B,MAAMA,WAAkCF,GACpClod,YAAYwN,GAEZse,IACIilB,MAAMvjC,IACNjN,KAAKurB,QAAUA,GAEfvrB,KAAK8nd,iBAAoBt8c,KACrB,MAAMu8c,GAAW/nd,KAAK4nd,kBACtB,QAAS7/b,GAAIggc,GAAS31d,OAAS,EAAG21B,IAAI,EAAIA,KAOtC,GAAIggc,GAAShgc,IAAGigc,eAAe5qB,UAAUhrc,OAAS,EAAG,CACjD,MAAMqjC,GAAgBsyb,GAAShgc,IAAGigc,eAE9Bhod,KAAKurB,QACLvrB,KAAKurB,QAAQ6K,IAAI,IAAMX,GAAc9oB,KAAKnB,KAG1CiqB,GAAc9oB,KAAKnB,IAEvB,KACJ,EAGZ,CAEAO,IAAIooB,IACAqc,MAAMzkC,IAAIooB,IAELn0B,KAAKiod,cAEFjod,KAAKurB,QACLvrB,KAAKurB,QAAQ41H,kBAAkB,IAAMnhJ,KAAKgmB,UAAUx8B,KAAKkqC,iBAAiB,UAAW1zB,KAAK8nd,mBAG1F9nd,KAAKgmB,UAAUx8B,KAAKkqC,iBAAiB,UAAW1zB,KAAK8nd,kBAEzD9nd,KAAKiod,aAAc,EAE3B,CAEAhzb,SACQj1B,KAAKiod,cACLjod,KAAKgmB,UAAUx8B,KAAKqqC,oBAAoB,UAAW7zB,KAAK8nd,kBACxD9nd,KAAKiod,aAAc,EAE3B,QACSjod,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFs5c,IApOV5nd,MAoOqDwoB,MApOrDxoB,MAoO0EA,MAAS,IAA+D,QACzOD,KAAKszD,WArOkFrzD,MAAE,CAAAhQ,MAqOY43d,GAAyBpnd,QAAzBond,GAAyBnnd,UAAAC,WAAc,QAAW,EACnK,OAtDKknd,EAAyB,KAsEzBK,GAA6B,MAAnC,MAAMA,WAAsCP,GACxClod,YAAYwN,GAAU4ic,GAEtBtkb,IACIilB,MAAMvjC,IACNjN,KAAK6vc,UAAYA,GACjB7vc,KAAKurB,QAAUA,GACfvrB,KAAKmod,mBAAoB,EAEzBnod,KAAKood,qBAAwB58c,KACzBxL,KAAKqod,2BAA0BjM,MAAgB5wc,GAAK,EAGxDxL,KAAKsod,eAAkB98c,KACnB,MAAMs9C,MAASszZ,MAAgB5wc,IAOzBmb,GAAwB,UAAfnb,GAAMyC,MAAoBjO,KAAKqod,wBACxCrod,KAAKqod,wBACLv/Z,GAGN9oD,KAAKqod,wBAA0B,KAI/B,MAAMN,GAAW/nd,KAAK4nd,kBAAkBhmb,QAKxC,QAAS7Z,GAAIggc,GAAS31d,OAAS,EAAG21B,IAAI,EAAIA,KAAK,CAC3C,MAAMoM,GAAa4zb,GAAShgc,IAC5B,GAAIoM,GAAWo0b,sBAAsBnrB,UAAUhrc,OAAS,IAAM+hC,GAAW2lb,cACrE,SAKJ,GAAI3lb,GAAWqyb,eAAe53b,SAASk6B,KACnC30B,GAAWqyb,eAAe53b,SAASjI,IACnC,MAEJ,MAAM6hc,GAAuBr0b,GAAWo0b,sBAEpCvod,KAAKurB,QACLvrB,KAAKurB,QAAQ6K,IAAI,IAAMoyb,GAAqB77c,KAAKnB,KAGjDg9c,GAAqB77c,KAAKnB,GAElC,EAER,CAEAO,IAAIooB,IAQA,GAPAqc,MAAMzkC,IAAIooB,KAOLn0B,KAAKiod,YAAa,CACnB,MAAMz+d,GAAOwW,KAAKgmB,UAAUx8B,KAExBwW,KAAKurB,QACLvrB,KAAKurB,QAAQ41H,kBAAkB,IAAMnhJ,KAAKskG,mBAAmB96G,KAG7DwW,KAAKskG,mBAAmB96G,IAIxBwW,KAAK6vc,UAAU0H,MAAQv3c,KAAKmod,oBAC5Bnod,KAAKyod,qBAAuBj/d,GAAKqgC,MAAMw7M,OACvC77O,GAAKqgC,MAAMw7M,OAAS,UACpBrlO,KAAKmod,mBAAoB,GAE7Bnod,KAAKiod,aAAc,CACvB,CACJ,CAEAhzb,SACI,GAAIj1B,KAAKiod,YAAa,CAClB,MAAMz+d,GAAOwW,KAAKgmB,UAAUx8B,KAC5BA,GAAKqqC,oBAAoB,cAAe7zB,KAAKood,sBAAsB,GACnE5+d,GAAKqqC,oBAAoB,QAAS7zB,KAAKsod,gBAAgB,GACvD9+d,GAAKqqC,oBAAoB,WAAY7zB,KAAKsod,gBAAgB,GAC1D9+d,GAAKqqC,oBAAoB,cAAe7zB,KAAKsod,gBAAgB,GACzDtod,KAAK6vc,UAAU0H,KAAOv3c,KAAKmod,oBAC3B3+d,GAAKqgC,MAAMw7M,OAASrlO,KAAKyod,qBACzBzod,KAAKmod,mBAAoB,GAE7Bnod,KAAKiod,aAAc,CACvB,CACJ,CACA3jX,mBAAmB96G,IACfA,GAAKkqC,iBAAiB,cAAe1zB,KAAKood,sBAAsB,GAChE5+d,GAAKkqC,iBAAiB,QAAS1zB,KAAKsod,gBAAgB,GACpD9+d,GAAKkqC,iBAAiB,WAAY1zB,KAAKsod,gBAAgB,GACvD9+d,GAAKkqC,iBAAiB,cAAe1zB,KAAKsod,gBAAgB,EAC9D,QACStod,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF25c,IAjWVjod,MAiWyDwoB,MAjWzDxoB,MAiW8E+3B,MAjW9E/3B,MAiWwGA,MAAS,IAA+D,QACvQD,KAAKszD,WAlWkFrzD,MAAE,CAAAhQ,MAkWYi4d,GAA6Bznd,QAA7Bynd,GAA6Bxnd,UAAAC,WAAc,QAAW,EACvK,OA7GKund,EAA6B,KAyH7BQ,GAAgB,MAAtB,MAAMA,GACFjpd,YAAYwN,GAAU4ic,IAClB7vc,KAAK6vc,UAAYA,GACjB7vc,KAAKgmB,UAAY/Y,EACrB,CACAiB,cACIlO,KAAK2od,mBAAmB3gc,QAC5B,CAOA4gc,sBACI,OAAK5od,KAAK2od,mBACN3od,KAAK09Q,mBAEF19Q,KAAK2od,iBAChB,CAKAjrM,mBACI,MAAMmrM,GAAiB,wBAIvB,GAAI7od,KAAK6vc,UAAUG,cAAa8Y,QAAsB,CAClD,MAAMC,GAA6B/od,KAAKgmB,UAAU8B,iBAAiB,IAAI+gc,2BAA4CA,uBAGnH,QAAS9gc,GAAI,EAAGA,GAAIghc,GAA2B32d,OAAQ21B,KACnDghc,GAA2Bhhc,IAAGC,QAEtC,CACA,MAAM2qB,GAAY3yC,KAAKgmB,UAAUmuB,cAAc,OAC/CxB,GAAUrnB,UAAUvf,IAAI88c,KAAc,EAUlCC,QACAn2a,GAAUi1H,aAAa,WAAY,QAE7B5nK,KAAK6vc,UAAUG,WACrBr9Z,GAAUi1H,aAAa,WAAY,UAEvC5nK,KAAKgmB,UAAUx8B,KAAKirD,YAAY9B,IAChC3yC,KAAK2od,kBAAoBh2a,EAC7B,QACS3yC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFm6c,IAxaVzod,MAwa4CwoB,MAxa5CxoB,MAwaiE+3B,MAAa,CAA+C,QACpNh4B,KAAKszD,WAzakFrzD,MAAE,CAAAhQ,MAyaYy4d,GAAgBjod,QAAhBiod,GAAgBhod,UAAAC,WAAc,QAAW,EAC1J,OA3DK+nd,EAAgB,KAwEtB,MAAMM,GACFvpd,YAAYwpd,GAAeC,GAAOC,GAAO9uV,GAAS9uG,GAAS69b,GAAqBpjc,GAAWu7F,GAAW8nW,GAAyBC,IAAsB,GACjJtpd,KAAKipd,cAAgBA,GACrBjpd,KAAKkpd,MAAQA,GACblpd,KAAKmpd,MAAQA,GACbnpd,KAAKq6H,QAAUA,GACfr6H,KAAKurB,QAAUA,GACfvrB,KAAKopd,oBAAsBA,GAC3Bppd,KAAKgmB,UAAYA,GACjBhmB,KAAKuhH,UAAYA,GACjBvhH,KAAKqpd,wBAA0BA,GAC/Brpd,KAAKspd,oBAAsBA,GAC3Btpd,KAAKupd,iBAAmB,KACxBvpd,KAAKwpd,eAAiB,IAAIljc,KAC1BtmB,KAAKypd,aAAe,IAAInjc,KACxBtmB,KAAK0pd,aAAe,IAAIpjc,KACxBtmB,KAAK2pd,iBAAmBp+c,MAAaunB,MACrC9yB,KAAK4pd,sBAAyBp+c,IAAUxL,KAAKwpd,eAAe78c,KAAKnB,IACjExL,KAAK6pd,8BAAiCr+c,KAClCxL,KAAK8pd,iBAAiBt+c,GAAMs9C,OAAM,EAGtC9oD,KAAKgod,eAAiB,IAAI1hc,KAE1BtmB,KAAKuod,sBAAwB,IAAIjic,KAC7B+zG,GAAQ5nG,iBACRzyB,KAAKyzB,gBAAkB4mG,GAAQ5nG,eAC/BzyB,KAAKyzB,gBAAgBe,OAAOx0B,OAEhCA,KAAK+pd,kBAAoB1vV,GAAQ/lG,gBACrC,CAEA,kBAAIkyb,GACA,OAAOxmd,KAAKmpd,KAChB,CAEA,mBAAIa,GACA,OAAOhqd,KAAKupd,gBAChB,CAMA,eAAIniS,GACA,OAAOpnL,KAAKkpd,KAChB,CAQA10b,OAAOy1b,KAGEjqd,KAAKkpd,MAAMv+T,eAAiB3qJ,KAAKkqd,qBAClClqd,KAAKkqd,oBAAoBz1a,YAAYz0C,KAAKkpd,OAE9C,MAAMiB,GAAenqd,KAAKipd,cAAcz0b,OAAOy1b,IAC/C,OAAIjqd,KAAK+pd,mBACL/pd,KAAK+pd,kBAAkBv1b,OAAOx0B,MAElCA,KAAKoqd,uBACLpqd,KAAKqqd,qBACLrqd,KAAKsqd,0BACDtqd,KAAKyzB,iBACLzzB,KAAKyzB,gBAAgB2kM,SAKzBp4N,KAAKurB,QAAQiD,SAAS3jB,QAAK2C,KAAK,IAAInB,UAAU,KAEtCrM,KAAK85c,eACL95c,KAAKg1B,gBAAe,GAI5Bh1B,KAAKuqd,sBAAqB,GACtBvqd,KAAKq6H,QAAQpuG,aACbjsB,KAAKwqd,kBAELxqd,KAAKq6H,QAAQvvG,YACb9qB,KAAKyqd,eAAezqd,KAAKmpd,MAAOnpd,KAAKq6H,QAAQvvG,YAAY,GAG7D9qB,KAAKypd,aAAa98c,OAElB3M,KAAKopd,oBAAoBr9c,IAAI/L,MACzBA,KAAKq6H,QAAQktV,sBACbvnd,KAAK2pd,iBAAmB3pd,KAAKuhH,UAAUl1G,UAAU,IAAMrM,KAAK4zB,YAEhE5zB,KAAKqpd,wBAAwBt9c,IAAI/L,MAIM,mBAA5Bmqd,IAAcl8S,WAMrBk8S,GAAal8S,UAAU,KACfjuK,KAAK85c,eAIL95c,KAAKurB,QAAQ41H,kBAAkB,IAAM7sG,QAAQC,UAAUge,KAAK,IAAMvyD,KAAKi1B,UAAS,GAIrFk1b,EACX,CAKAl1b,SACI,IAAKj1B,KAAK85c,cACN,OAEJ95c,KAAK0qd,iBAIL1qd,KAAKuqd,sBAAqB,GACtBvqd,KAAK+pd,mBAAqB/pd,KAAK+pd,kBAAkB90b,QACjDj1B,KAAK+pd,kBAAkB90b,SAEvBj1B,KAAKyzB,iBACLzzB,KAAKyzB,gBAAgBigK,UAEzB,MAAMi3R,GAAmB3qd,KAAKipd,cAAch0b,SAE5C,OAAAj1B,KAAK0pd,aAAa/8c,OAElB3M,KAAKopd,oBAAoBphc,OAAOhoB,MAGhCA,KAAK4qd,2BACL5qd,KAAK2pd,iBAAiBx7c,cACtBnO,KAAKqpd,wBAAwBrhc,OAAOhoB,MAC7B2qd,EACX,CAEA/2b,UACI,MAAMwuH,GAAapiJ,KAAK85c,cACpB95c,KAAK+pd,mBACL/pd,KAAK+pd,kBAAkBn2b,UAE3B5zB,KAAK6qd,yBACL7qd,KAAK8pd,iBAAiB9pd,KAAKupd,kBAC3Bvpd,KAAK2pd,iBAAiBx7c,cACtBnO,KAAKopd,oBAAoBphc,OAAOhoB,MAChCA,KAAKipd,cAAcr1b,UACnB5zB,KAAKypd,aAAatic,WAClBnnB,KAAKwpd,eAAeric,WACpBnnB,KAAKgod,eAAe7gc,WACpBnnB,KAAKuod,sBAAsBphc,WAC3BnnB,KAAKqpd,wBAAwBrhc,OAAOhoB,MACpCA,KAAKkpd,OAAOlhc,SACZhoB,KAAKkqd,oBAAsBlqd,KAAKmpd,MAAQnpd,KAAKkpd,MAAQ,KACjD9mU,IACApiJ,KAAK0pd,aAAa/8c,OAEtB3M,KAAK0pd,aAAavic,UACtB,CAEA2yb,cACI,OAAO95c,KAAKipd,cAAcnP,aAC9B,CAEA7ib,gBACI,OAAOj3B,KAAKwpd,cAChB,CAEAsB,cACI,OAAO9qd,KAAKypd,YAChB,CAEAvyb,cACI,OAAOl3B,KAAK0pd,YAChB,CAEAj0b,gBACI,OAAOz1B,KAAKgod,cAChB,CAEAQ,uBACI,OAAOxod,KAAKuod,qBAChB,CAEAzzd,YACI,OAAOkL,KAAKq6H,OAChB,CAEArlG,iBACQh1B,KAAK+pd,mBACL/pd,KAAK+pd,kBAAkB7ta,OAE/B,CAEA6ua,uBAAuBC,IACfA,KAAahrd,KAAK+pd,oBAGlB/pd,KAAK+pd,mBACL/pd,KAAK+pd,kBAAkBn2b,UAE3B5zB,KAAK+pd,kBAAoBiB,GACrBhrd,KAAK85c,gBACLkR,GAASx2b,OAAOx0B,MAChBA,KAAKg1B,kBAEb,CAEAi2b,WAAWC,IACPlrd,KAAKq6H,QAAU,IAAKr6H,KAAKq6H,WAAY6wV,IACrClrd,KAAKqqd,oBACT,CAEAc,aAAap3b,IACT/zB,KAAKq6H,QAAU,IAAKr6H,KAAKq6H,QAASpsG,UAAW8F,IAC7C/zB,KAAKsqd,yBACT,CAEAc,cAAcrgc,IACN/qB,KAAKmpd,OACLnpd,KAAKyqd,eAAezqd,KAAKmpd,MAAOp+b,IAAS,EAEjD,CAEAsgc,iBAAiBtgc,IACT/qB,KAAKmpd,OACLnpd,KAAKyqd,eAAezqd,KAAKmpd,MAAOp+b,IAAS,EAEjD,CAIAshS,eACI,MAAMp+R,GAAYjuB,KAAKq6H,QAAQpsG,UAC/B,OAAKA,GAGuB,iBAAdA,GAAyBA,GAAYA,GAAU3gC,MAFlD,KAGf,CAEAg+d,qBAAqBN,IACbA,KAAahrd,KAAKyzB,kBAGtBzzB,KAAK6qd,yBACL7qd,KAAKyzB,gBAAkBu3b,GACnBhrd,KAAK85c,gBACLkR,GAASx2b,OAAOx0B,MAChBgrd,GAAS5yP,UAEjB,CAEAkyP,0BACItqd,KAAKkpd,MAAMthT,aAAa,MAAO5nK,KAAKqsT,eACxC,CAEAg+J,qBACI,IAAKrqd,KAAKmpd,MACN,OAEJ,MAAMt/b,GAAQ7pB,KAAKmpd,MAAMt/b,MACzBA,GAAM8lB,SAAQqza,MAAoBhjd,KAAKq6H,QAAQ1qF,OAC/C9lB,GAAMmmB,UAASgza,MAAoBhjd,KAAKq6H,QAAQrqF,QAChDnmB,GAAM87M,YAAWq9O,MAAoBhjd,KAAKq6H,QAAQsrG,UAClD97M,GAAMg8M,aAAYm9O,MAAoBhjd,KAAKq6H,QAAQwrG,WACnDh8M,GAAMm+M,YAAWg7O,MAAoBhjd,KAAKq6H,QAAQ2tG,UAClDn+M,GAAMo+M,aAAY+6O,MAAoBhjd,KAAKq6H,QAAQ4tG,UACvD,CAEAsiP,qBAAqBgB,IACjBvrd,KAAKmpd,MAAMt/b,MAAM2hc,cAAgBD,GAAgB,GAAK,MAC1D,CAEAf,kBACI,MAAMiB,GAAe,+BACrBzrd,KAAKupd,iBAAmBvpd,KAAKgmB,UAAUmuB,cAAc,OACrDn0C,KAAKupd,iBAAiBj+b,UAAUvf,IAAI,wBAChC/L,KAAKspd,qBACLtpd,KAAKupd,iBAAiBj+b,UAAUvf,IAAI,uCAEpC/L,KAAKq6H,QAAQ5vG,eACbzqB,KAAKyqd,eAAezqd,KAAKupd,iBAAkBvpd,KAAKq6H,QAAQ5vG,eAAe,GAI3EzqB,KAAKkpd,MAAMv+T,cAAckd,aAAa7nK,KAAKupd,iBAAkBvpd,KAAKkpd,OAGlElpd,KAAKupd,iBAAiB71b,iBAAiB,QAAS1zB,KAAK4pd,wBAEhD5pd,KAAKspd,4BAA8BrmT,sBAA0B,IAC9DjjK,KAAKurB,QAAQ41H,kBAAkB,KAC3B8hB,sBAAsB,KACdjjK,KAAKupd,kBACLvpd,KAAKupd,iBAAiBj+b,UAAUvf,IAAI0/c,GAAY,EAEvD,GAILzrd,KAAKupd,iBAAiBj+b,UAAUvf,IAAI0/c,GAE5C,CAQArB,uBACQpqd,KAAKkpd,MAAMjxR,aACXj4L,KAAKkpd,MAAMvga,WAAWlU,YAAYz0C,KAAKkpd,MAE/C,CAEAwB,iBACI,MAAMgB,GAAmB1rd,KAAKupd,iBAC9B,GAAKmC,GAGL,IAAI1rd,KAAKspd,oBAEL,YADAtpd,KAAK8pd,iBAAiB4B,IAG1BA,GAAiBpgc,UAAUtD,OAAO,gCAClChoB,KAAKurB,QAAQ41H,kBAAkB,KAC3BuqU,GAAiBh4b,iBAAiB,gBAAiB1zB,KAAK6pd,8BAA6B,GAIzF6B,GAAiB7hc,MAAM2hc,cAAgB,OAIvCxrd,KAAK2rd,iBAAmB3rd,KAAKurB,QAAQ41H,kBAAkB,IAAMn0I,WAAW,KACpEhN,KAAK8pd,iBAAiB4B,GAAgB,EACvC,KAAI,CACX,CAEAjB,eAAe36b,GAAS87b,GAAYC,IAChC,MAAM9gc,MAAUypT,MAAYo3I,IAAc,IAAIl+d,OAAO+E,MAAOA,IACxDs4B,GAAQ34B,SACRy5d,GAAQ/7b,GAAQxE,UAAUvf,OAAOgf,IAAW+E,GAAQxE,UAAUtD,UAAU+C,IAEhF,CAEA6/b,2BAII5qd,KAAKurB,QAAQ41H,kBAAkB,KAI3B,MAAMk6S,GAAer7b,KAAKurB,QAAQiD,SAC7B3jB,QAAKgqB,QAAUjnB,MAAM5N,KAAKypd,aAAczpd,KAAK0pd,gBAC7Cr9c,UAAU,OAGNrM,KAAKmpd,QAAUnpd,KAAKkpd,OAAwC,IAA/Blpd,KAAKmpd,MAAMr8W,SAAS16G,UAC9C4N,KAAKmpd,OAASnpd,KAAKq6H,QAAQvvG,YAC3B9qB,KAAKyqd,eAAezqd,KAAKmpd,MAAOnpd,KAAKq6H,QAAQvvG,YAAY,GAEzD9qB,KAAKkpd,OAASlpd,KAAKkpd,MAAMv+T,gBACzB3qJ,KAAKkqd,oBAAsBlqd,KAAKkpd,MAAMv+T,cACtC3qJ,KAAKkpd,MAAMlhc,UAEfqza,GAAaltb,cAAY,EAEhC,EAET,CAEA08c,yBACI,MAAMp4b,GAAiBzyB,KAAKyzB,gBACxBhB,KACAA,GAAeihK,UACXjhK,GAAewC,QACfxC,GAAewC,SAG3B,CAEA60b,iBAAiB9yb,IACTA,KACAA,GAASnD,oBAAoB,QAAS7zB,KAAK4pd,uBAC3C5yb,GAASnD,oBAAoB,gBAAiB7zB,KAAK6pd,+BACnD7yb,GAAShP,SAILhoB,KAAKupd,mBAAqBvyb,KAC1Bh3B,KAAKupd,iBAAmB,OAG5Bvpd,KAAK2rd,mBACLz1a,aAAal2C,KAAK2rd,kBAClB3rd,KAAK2rd,sBAAmBt9d,EAEhC,EAMJ,MAAMy9d,GAAmB,8CAEnBC,GAAiB,gBAQvB,MAAMC,GAEF,aAAI98N,GACA,OAAOlvP,KAAKisd,mBAChB,CACAxsd,YAAYysd,GAAa5G,GAAgBt/b,GAAW6pb,GAAWsc,IAC3Dnsd,KAAKsld,eAAiBA,GACtBtld,KAAKgmB,UAAYA,GACjBhmB,KAAK6vc,UAAYA,GACjB7vc,KAAKmsd,kBAAoBA,GAEzBnsd,KAAKosd,qBAAuB,CAAEz8a,MAAO,EAAGK,OAAQ,GAEhDhwC,KAAKqsd,WAAY,EAEjBrsd,KAAKssd,UAAW,EAEhBtsd,KAAKusd,gBAAiB,EAEtBvsd,KAAKwsd,wBAAyB,EAE9Bxsd,KAAKysd,iBAAkB,EAEvBzsd,KAAK0sd,gBAAkB,EAEvB1sd,KAAK2sd,aAAe,GAEpB3sd,KAAKisd,oBAAsB,GAE3Bjsd,KAAK4sd,iBAAmB,IAAItmc,KAE5BtmB,KAAK6sd,oBAAsBthd,MAAaunB,MAExC9yB,KAAK8sd,SAAW,EAEhB9sd,KAAK+sd,SAAW,EAEhB/sd,KAAKgtd,qBAAuB,GAE5Bhtd,KAAK+1B,gBAAkB/1B,KAAK4sd,iBAC5B5sd,KAAKitd,UAAUf,GACnB,CAEA13b,OAAOL,IAMHn0B,KAAKktd,qBACL/4b,GAAWizJ,YAAY97J,UAAUvf,IAAI+/c,IACrC9rd,KAAK2yB,YAAcwB,GACnBn0B,KAAKmtd,aAAeh5b,GAAWizJ,YAC/BpnL,KAAKmpd,MAAQh1b,GAAWqyb,eACxBxmd,KAAKotd,aAAc,EACnBptd,KAAKqtd,kBAAmB,EACxBrtd,KAAKstd,cAAgB,KACrBttd,KAAK6sd,oBAAoB1+c,cACzBnO,KAAK6sd,oBAAsB7sd,KAAKsld,eAAetvb,SAAS3pB,UAAU,KAI9DrM,KAAKqtd,kBAAmB,EACxBrtd,KAAKk8C,OAAM,EAEnB,CAeAA,QAEI,GAAIl8C,KAAKotd,cAAgBptd,KAAK6vc,UAAUG,UACpC,OAKJ,IAAKhwc,KAAKqtd,kBAAoBrtd,KAAKysd,iBAAmBzsd,KAAKstd,cAEvD,YADAttd,KAAK+0B,sBAGT/0B,KAAKutd,qBACLvtd,KAAKwtd,6BACLxtd,KAAKytd,0BAILztd,KAAK0td,cAAgB1td,KAAK2td,2BAC1B3td,KAAK4td,YAAc5td,KAAK6td,iBACxB7td,KAAK8td,aAAe9td,KAAKmpd,MAAMl7T,wBAC/BjuJ,KAAK+td,eAAiB/td,KAAKmsd,kBAAkBvD,sBAAsB36T,wBACnE,MAAM+/T,GAAahud,KAAK4td,YAClBvG,GAAcrnd,KAAK8td,aACnBG,GAAejud,KAAK0td,cACpBQ,GAAgBlud,KAAK+td,eAErBI,GAAe,GAErB,IAAI7qO,GAGJ,QAASz5M,MAAO7pC,KAAKisd,oBAAqB,CAEtC,IAAImC,GAAcpud,KAAKqud,gBAAgBL,GAAYE,GAAerkb,IAI9Dykb,GAAetud,KAAKuud,iBAAiBH,GAAa/G,GAAax9a,IAE/D2kb,GAAaxud,KAAKyud,eAAeH,GAAcjH,GAAa4G,GAAcpkb,IAE9E,GAAI2kb,GAAWE,2BAGX,OAFA1ud,KAAKqsd,WAAY,OACjBrsd,KAAK2ud,eAAe9kb,GAAKukb,IAKzBpud,KAAK4ud,8BAA8BJ,GAAYF,GAAcL,IAG7DE,GAAarsb,KAAK,CACdnM,SAAUkU,GACVljB,OAAQync,GACR/G,eACAwH,gBAAiB7ud,KAAK8ud,0BAA0BV,GAAavkb,QAOhEy5M,IAAYA,GAASkrO,WAAWO,YAAcP,GAAWO,eAC1DzrO,GAAW,CAAEkrO,cAAYF,gBAAcF,eAAaz4b,SAAUkU,GAAKw9a,gBAE3E,CAGA,GAAI8G,GAAa/7d,OAAQ,CACrB,IAAI48d,GAAU,KACVC,IAAY,EAChB,UAAWC,MAAOf,GAAc,CAC5B,MAAM5lC,GAAQ2mC,GAAIL,gBAAgBl/a,MAAQu/a,GAAIL,gBAAgB7+a,QAAUk/a,GAAIv5b,SAAS06M,QAAU,GAC3Fk4M,GAAQ0mC,KACRA,GAAY1mC,GACZymC,GAAUE,GAElB,CAGA,OAFAlvd,KAAKqsd,WAAY,OACjBrsd,KAAK2ud,eAAeK,GAAQr5b,SAAUq5b,GAAQroc,OAElD,CAGA,GAAI3mB,KAAKssd,SAIL,OAFAtsd,KAAKqsd,WAAY,OACjBrsd,KAAK2ud,eAAerrO,GAAS3tN,SAAU2tN,GAAS8qO,aAKpDpud,KAAK2ud,eAAerrO,GAAS3tN,SAAU2tN,GAAS8qO,YACpD,CACAn5b,SACIj1B,KAAKutd,qBACLvtd,KAAKstd,cAAgB,KACrBttd,KAAKmvd,oBAAsB,KAC3Bnvd,KAAK6sd,oBAAoB1+c,aAC7B,CAEAylB,UACQ5zB,KAAKotd,cAKLptd,KAAKmtd,cACLiC,GAAapvd,KAAKmtd,aAAatjc,MAAO,CAClComB,IAAK,GACLJ,KAAM,GACNwrD,MAAO,GACPknE,OAAQ,GACRvyH,OAAQ,GACRL,MAAO,GACP0/a,WAAY,GACZC,eAAgB,KAGpBtvd,KAAKmpd,OACLnpd,KAAKwtd,6BAELxtd,KAAK2yB,aACL3yB,KAAK2yB,YAAYy0J,YAAY97J,UAAUtD,OAAO8jc,IAElD9rd,KAAKi1B,SACLj1B,KAAK4sd,iBAAiBzlc,WACtBnnB,KAAK2yB,YAAc3yB,KAAKmtd,aAAe,KACvCntd,KAAKotd,aAAc,EACvB,CAMAr4b,sBACI,GAAI/0B,KAAKotd,cAAgBptd,KAAK6vc,UAAUG,UACpC,OAEJ,MAAMuf,GAAevvd,KAAKstd,cAC1B,GAAIiC,GAAc,CACdvvd,KAAK4td,YAAc5td,KAAK6td,iBACxB7td,KAAK8td,aAAe9td,KAAKmpd,MAAMl7T,wBAC/BjuJ,KAAK0td,cAAgB1td,KAAK2td,2BAC1B3td,KAAK+td,eAAiB/td,KAAKmsd,kBAAkBvD,sBAAsB36T,wBACnE,MAAMmgU,GAAcpud,KAAKqud,gBAAgBrud,KAAK4td,YAAa5td,KAAK+td,eAAgBwB,IAChFvvd,KAAK2ud,eAAeY,GAAcnB,GACtC,MAEIpud,KAAKk8C,OAEb,CAMAsza,yBAAyBC,IACrB,OAAAzvd,KAAK2sd,aAAe8C,GACbzvd,IACX,CAKA+2B,cAAcm4N,IACV,OAAAlvP,KAAKisd,oBAAsB/8N,IAGmB,IAA1CA,GAAUr9P,QAAQmO,KAAKstd,iBACvBttd,KAAKstd,cAAgB,MAEzBttd,KAAKktd,qBACEltd,IACX,CAKA0vd,mBAAmBC,IACf,OAAA3vd,KAAK0sd,gBAAkBiD,GAChB3vd,IACX,CAEA4vd,uBAAuBC,IAAqB,GACxC,OAAA7vd,KAAKwsd,uBAAyBqD,GACvB7vd,IACX,CAEA61B,kBAAkBi6b,IAAgB,GAC9B,OAAA9vd,KAAKusd,eAAiBuD,GACf9vd,IACX,CAEA+vd,SAASC,IAAU,GACf,OAAAhwd,KAAKssd,SAAW0D,GACThwd,IACX,CAOA80B,mBAAmBozK,IAAW,GAC1B,OAAAloM,KAAKysd,gBAAkBvkR,GAChBloM,IACX,CAQAitd,UAAUtmc,IACN,OAAA3mB,KAAK82c,QAAUnwb,GACR3mB,IACX,CAKAiwd,mBAAmBliU,IACf,OAAA/tJ,KAAK8sd,SAAW/+T,GACT/tJ,IACX,CAKAkwd,mBAAmBniU,IACf,OAAA/tJ,KAAK+sd,SAAWh/T,GACT/tJ,IACX,CASA81B,sBAAsBiqI,IAClB,OAAA//J,KAAKmwd,yBAA2BpwT,GACzB//J,IACX,CAIAqud,gBAAgBL,GAAYE,GAAerkb,IACvC,IAAI1rC,GAgBA8uC,GAfJ,GAAmB,UAAfpD,GAAIxT,QAGJl4B,GAAI6vd,GAAWn+a,KAAOm+a,GAAWr+a,MAAQ,MAExC,CACD,MAAM45M,GAASvpP,KAAKowd,SAAWpC,GAAW3yX,MAAQ2yX,GAAWn+a,KACvDwgb,GAAOrwd,KAAKowd,SAAWpC,GAAWn+a,KAAOm+a,GAAW3yX,MAC1Dl9F,GAAmB,SAAf0rC,GAAIxT,QAAqBkzN,GAAS8mO,EAC1C,CAOA,OAJInC,GAAcr+a,KAAO,IACrB1xC,IAAK+vd,GAAcr+a,MAInB5C,GADe,UAAfpD,GAAIrT,QACAw3b,GAAW/9a,IAAM+9a,GAAWh+a,OAAS,EAGtB,OAAfnG,GAAIrT,QAAmBw3b,GAAW/9a,IAAM+9a,GAAWzrT,OAOvD2rT,GAAcj+a,IAAM,IACpBhD,IAAKihb,GAAcj+a,KAEhB,CAAE9xC,KAAG8uC,KAChB,CAKAshb,iBAAiBH,GAAa/G,GAAax9a,IAGvC,IAAIymb,GAUAC,GACJ,OATID,GADgB,UAAhBzmb,GAAI3T,UACamxb,GAAY13a,MAAQ,EAEf,UAAjB9F,GAAI3T,SACOl2B,KAAKowd,UAAY/I,GAAY13a,MAAQ,EAGrC3vC,KAAKowd,SAAW,GAAK/I,GAAY13a,MAIjD4gb,GADgB,UAAhB1mb,GAAI1T,UACakxb,GAAYr3a,OAAS,EAGN,OAAhBnG,GAAI1T,SAAoB,GAAKkxb,GAAYr3a,OAGtD,CACH7xC,EAAGiwd,GAAYjwd,EAAImyd,GACnBrjb,EAAGmhb,GAAYnhb,EAAIsjb,GAE3B,CAEA9B,eAAepoP,GAAOmqP,GAAgBp3T,GAAUzjI,IAG5C,MAAM3E,GAAUy/b,GAA6BD,IAC7C,IAAMryd,KAAG8uC,MAAMo5L,GACX3lB,GAAU1gN,KAAK0wd,WAAW/6b,GAAU,KACpCgB,GAAU32B,KAAK0wd,WAAW/6b,GAAU,KAEpC+qL,KACAviN,IAAKuiN,IAEL/pL,KACAsW,IAAKtW,IAGT,IAEIg6b,GAAc,EAAI1jb,GAClB2jb,GAAiB3jb,GAAIjc,GAAQgf,OAASopH,GAASppH,OAE/C6gb,GAAe7wd,KAAK8wd,mBAAmB9/b,GAAQ2e,MALhC,EAAIxxC,GACHA,GAAI6yB,GAAQ2e,MAAQypH,GAASzpH,OAK7Cohb,GAAgB/wd,KAAK8wd,mBAAmB9/b,GAAQgf,OAAQ2gb,GAAaC,IACrE7B,GAAc8B,GAAeE,GACjC,MAAO,CACHhC,eACAL,2BAA4B19b,GAAQ2e,MAAQ3e,GAAQgf,SAAW++a,GAC/DiC,yBAA0BD,KAAkB//b,GAAQgf,OACpDihb,2BAA4BJ,IAAgB7/b,GAAQ2e,MAE5D,CAOAi/a,8BAA8BM,GAAK7oP,GAAOjtE,IACtC,GAAIp5J,KAAKwsd,uBAAwB,CAC7B,MAAM0E,GAAkB93T,GAASmJ,OAAS8jE,GAAMp5L,EAC1Ckkb,GAAiB/3T,GAAS/9D,MAAQgrI,GAAMloO,EACxC0nO,GAAYurP,GAAcpxd,KAAK2yB,YAAY79B,YAAY+wO,WACvDF,GAAWyrP,GAAcpxd,KAAK2yB,YAAY79B,YAAY6wO,UAG5D,OAFoBupP,GAAI8B,0BAA0C,MAAbnrP,IAAqBA,IAAaqrP,MACjEhC,GAAI+B,4BAA2C,MAAZtrP,IAAoBA,IAAYwrP,GAE7F,CACA,OAAO,CACX,CAYAE,qBAAqB38a,GAAO87a,GAAgB7J,IAIxC,GAAI3md,KAAKmvd,qBAAuBnvd,KAAKysd,gBACjC,MAAO,CACHtud,EAAGu2C,GAAMv2C,EAAI6B,KAAKmvd,oBAAoBhxd,EACtC8uC,EAAGyH,GAAMzH,EAAIjtC,KAAKmvd,oBAAoBlib,GAK9C,MAAMjc,GAAUy/b,GAA6BD,IACvCp3T,GAAWp5J,KAAK0td,cAGhB4D,GAAgBnkc,KAAKC,IAAIsnB,GAAMv2C,EAAI6yB,GAAQ2e,MAAQypH,GAASzpH,MAAO,GACnE4hb,GAAiBpkc,KAAKC,IAAIsnB,GAAMzH,EAAIjc,GAAQgf,OAASopH,GAASppH,OAAQ,GACtEwhb,GAAcrkc,KAAKC,IAAIgsI,GAASnpH,IAAM02a,GAAe12a,IAAMyE,GAAMzH,EAAG,GACpEwkb,GAAetkc,KAAKC,IAAIgsI,GAASvpH,KAAO82a,GAAe92a,KAAO6E,GAAMv2C,EAAG,GAE7E,IAAIuzd,GAAQ,EACRC,GAAQ,EAIZ,OACID,GADA1gc,GAAQ2e,OAASypH,GAASzpH,MAClB8hb,KAAiBH,GAGjB58a,GAAMv2C,EAAI6B,KAAK0sd,gBAAkBtzT,GAASvpH,KAAO82a,GAAe92a,KAAO6E,GAAMv2C,EAAI,EAGzFwzd,GADA3gc,GAAQgf,QAAUopH,GAASppH,OACnBwhb,KAAgBD,GAGhB78a,GAAMzH,EAAIjtC,KAAK0sd,gBAAkBtzT,GAASnpH,IAAM02a,GAAe12a,IAAMyE,GAAMzH,EAAI,EAE3FjtC,KAAKmvd,oBAAsB,CAAEhxd,EAAGuzd,GAAOzkb,EAAG0kb,IACnC,CACHxzd,EAAGu2C,GAAMv2C,EAAIuzd,GACbzkb,EAAGyH,GAAMzH,EAAI0kb,GAErB,CAMAhD,eAAeh5b,GAAUy4b,IAUrB,GATApud,KAAK4xd,oBAAoBj8b,IACzB31B,KAAK6xd,yBAAyBzD,GAAaz4b,IAC3C31B,KAAK8xd,sBAAsB1D,GAAaz4b,IACpCA,GAAS7K,YACT9qB,KAAK+xd,iBAAiBp8b,GAAS7K,YAK/B9qB,KAAK4sd,iBAAiBxvB,UAAUhrc,OAAQ,CACxC,MAAM4/d,GAAmBhyd,KAAKiyd,uBAG9B,GAAIt8b,KAAa31B,KAAKstd,gBACjBttd,KAAKkyd,wBAobtB,SAASC,GAAwB35d,GAAG2hE,IAChC,OAAI3hE,KAAM2hE,IAGF3hE,GAAE45d,kBAAoBj4Z,GAAEi4Z,iBAC5B55d,GAAE65d,sBAAwBl4Z,GAAEk4Z,qBAC5B75d,GAAE85d,mBAAqBn4Z,GAAEm4Z,kBACzB95d,GAAE+5d,uBAAyBp4Z,GAAEo4Z,oBACrC,CA3biBJ,CAAwBnyd,KAAKkyd,sBAAuBF,IAAmB,CACxE,MAAMQ,GAAc,IAAI/K,GAA+B9xb,GAAUq8b,IACjEhyd,KAAK4sd,iBAAiBjgd,KAAK6ld,GAC/B,CACAxyd,KAAKkyd,sBAAwBF,EACjC,CAEAhyd,KAAKstd,cAAgB33b,GACrB31B,KAAKqtd,kBAAmB,CAC5B,CAEAuE,oBAAoBj8b,IAChB,IAAK31B,KAAKmwd,yBACN,OAEJ,MAAMnuT,GAAWhiK,KAAKmtd,aAAarlc,iBAAiB9nB,KAAKmwd,0BACzD,IAAIsC,GACAC,GAAU/8b,GAASQ,SAEnBs8b,GADsB,WAAtB98b,GAASO,SACC,SAELl2B,KAAKowd,SACsB,UAAtBz6b,GAASO,SAAuB,QAAU,OAGpB,UAAtBP,GAASO,SAAuB,OAAS,QAEvD,QAASnO,GAAI,EAAGA,GAAIi6I,GAAS5vK,OAAQ21B,KACjCi6I,GAASj6I,IAAG8B,MAAM8oc,gBAAkB,GAAGF,MAAWC,IAE1D,CAOA5D,0BAA0Bnoc,GAAQgP,IAC9B,MAAMyjI,GAAWp5J,KAAK0td,cAChBkF,GAAQ5yd,KAAKowd,SACnB,IAAIpgb,GAAQC,GAAKsyH,GA8Bb5yH,GAAOE,GAAMwrD,GA7BjB,GAA0B,QAAtB1lE,GAASQ,SAET8Z,GAAMtpB,GAAOsmB,EACb+C,GAASopH,GAASppH,OAASC,GAAMjwC,KAAK0sd,wBAEX,WAAtB/2b,GAASQ,SAIdosI,GAASnJ,GAASppH,OAASrpB,GAAOsmB,EAA2B,EAAvBjtC,KAAK0sd,gBAC3C18a,GAASopH,GAASppH,OAASuyH,GAASviK,KAAK0sd,oBAExC,CAKD,MAAMmG,GAAiC1lc,KAAKE,IAAI+rI,GAASmJ,OAAS57I,GAAOsmB,EAAImsH,GAASnpH,IAAKtpB,GAAOsmB,GAC5F6lb,GAAiB9yd,KAAKosd,qBAAqBp8a,OACjDA,GAA0C,EAAjC6ib,GACT5ib,GAAMtpB,GAAOsmB,EAAI4lb,GACb7ib,GAAS8ib,KAAmB9yd,KAAKqtd,mBAAqBrtd,KAAKusd,iBAC3Dt8a,GAAMtpB,GAAOsmB,EAAI6lb,GAAiB,EAE1C,CAMA,GAF2D,QAAtBn9b,GAASO,WAAuB08b,IAAiC,UAAtBj9b,GAASO,UAAwB08b,GAG7Gv3X,GAAQ+9D,GAASzpH,MAAQhpB,GAAOxoB,EAA2B,EAAvB6B,KAAK0sd,gBACzC/8a,GAAQhpB,GAAOxoB,EAAI6B,KAAK0sd,wBANgC,UAAtB/2b,GAASO,WAAyB08b,IAAiC,QAAtBj9b,GAASO,UAAsB08b,GAS9G/ib,GAAOlpB,GAAOxoB,EACdwxC,GAAQypH,GAAS/9D,MAAQ10E,GAAOxoB,MAE/B,CAKD,MAAM00d,GAAiC1lc,KAAKE,IAAI+rI,GAAS/9D,MAAQ10E,GAAOxoB,EAAIi7J,GAASvpH,KAAMlpB,GAAOxoB,GAC5F40d,GAAgB/yd,KAAKosd,qBAAqBz8a,MAChDA,GAAyC,EAAjCkjb,GACRhjb,GAAOlpB,GAAOxoB,EAAI00d,GACdljb,GAAQojb,KAAkB/yd,KAAKqtd,mBAAqBrtd,KAAKusd,iBACzD18a,GAAOlpB,GAAOxoB,EAAI40d,GAAgB,EAE1C,CACA,MAAO,CAAE9ib,IAAKA,GAAKJ,KAAMA,GAAM0yH,OAAQA,GAAQlnE,MAAOA,GAAO1rD,SAAOK,UACxE,CAQA8hb,sBAAsBnrc,GAAQgP,IAC1B,MAAMk5b,GAAkB7ud,KAAK8ud,0BAA0Bnoc,GAAQgP,KAG1D31B,KAAKqtd,mBAAqBrtd,KAAKusd,iBAChCsC,GAAgB7+a,OAAS7iB,KAAKE,IAAIwhc,GAAgB7+a,OAAQhwC,KAAKosd,qBAAqBp8a,QACpF6+a,GAAgBl/a,MAAQxiB,KAAKE,IAAIwhc,GAAgBl/a,MAAO3vC,KAAKosd,qBAAqBz8a,QAEtF,MAAM9e,GAAS,CAAC,EAChB,GAAI7wB,KAAKgzd,oBACLnic,GAAOof,IAAMpf,GAAOgf,KAAO,IAC3Bhf,GAAO0xI,OAAS1xI,GAAOwqE,MAAQxqE,GAAOo3M,UAAYp3M,GAAOm3M,SAAW,GACpEn3M,GAAO8e,MAAQ9e,GAAOmf,OAAS,WAE9B,CACD,MAAMi4L,GAAYjoO,KAAK2yB,YAAY79B,YAAYmzO,UACzCD,GAAWhoO,KAAK2yB,YAAY79B,YAAYkzO,SAC9Cn3M,GAAOmf,UAASgza,MAAoB6L,GAAgB7+a,QACpDnf,GAAOof,OAAM+ya,MAAoB6L,GAAgB5+a,KACjDpf,GAAO0xI,UAASygT,MAAoB6L,GAAgBtsT,QACpD1xI,GAAO8e,SAAQqza,MAAoB6L,GAAgBl/a,OACnD9e,GAAOgf,QAAOmza,MAAoB6L,GAAgBh/a,MAClDhf,GAAOwqE,SAAQ2nX,MAAoB6L,GAAgBxzX,OAG/CxqE,GAAOw+b,WADe,WAAtB15b,GAASO,SACW,SAGsB,QAAtBP,GAASO,SAAqB,WAAa,aAG/DrF,GAAOy+b,eADe,WAAtB35b,GAASQ,SACe,SAGsB,WAAtBR,GAASQ,SAAwB,WAAa,aAEtE8xM,KACAp3M,GAAOo3M,aAAY+6O,MAAoB/6O,KAEvCD,KACAn3M,GAAOm3M,YAAWg7O,MAAoBh7O,IAE9C,CACAhoO,KAAKosd,qBAAuByC,GAC5BO,GAAapvd,KAAKmtd,aAAatjc,MAAOgH,GAC1C,CAEA48b,0BACI2B,GAAapvd,KAAKmtd,aAAatjc,MAAO,CAClComB,IAAK,IACLJ,KAAM,IACNwrD,MAAO,IACPknE,OAAQ,IACRvyH,OAAQ,GACRL,MAAO,GACP0/a,WAAY,GACZC,eAAgB,IAExB,CAEA9B,6BACI4B,GAAapvd,KAAKmpd,MAAMt/b,MAAO,CAC3BomB,IAAK,GACLJ,KAAM,GACN0yH,OAAQ,GACRlnE,MAAO,GACP1lE,SAAU,GACV5L,UAAW,IAEnB,CAEA8nc,yBAAyBzD,GAAaz4b,IAClC,MAAM9E,GAAS,CAAC,EACVoic,GAAmBjzd,KAAKgzd,oBACxBE,GAAwBlzd,KAAKwsd,uBAC7Bx8d,GAASgQ,KAAK2yB,YAAY79B,YAChC,GAAIm+d,GAAkB,CAClB,MAAMtM,GAAiB3md,KAAKsld,eAAeK,4BAC3CyJ,GAAav+b,GAAQ7wB,KAAKmzd,kBAAkBx9b,GAAUy4b,GAAazH,KACnEyI,GAAav+b,GAAQ7wB,KAAKozd,kBAAkBz9b,GAAUy4b,GAAazH,IACvE,MAEI91b,GAAO8E,SAAW,SAOtB,IAAI09b,GAAkB,GAClB3yQ,GAAU1gN,KAAK0wd,WAAW/6b,GAAU,KACpCgB,GAAU32B,KAAK0wd,WAAW/6b,GAAU,KACpC+qL,KACA2yQ,IAAmB,cAAc3yQ,UAEjC/pL,KACA08b,IAAmB,cAAc18b,SAErC9F,GAAO9G,UAAYspc,GAAgBn+c,OAM/BllB,GAAOi4O,YACHgrP,GACApic,GAAOo3M,aAAY+6O,MAAoBhzd,GAAOi4O,WAEzCirP,KACLric,GAAOo3M,UAAY,KAGvBj4O,GAAOg4O,WACHirP,GACApic,GAAOm3M,YAAWg7O,MAAoBhzd,GAAOg4O,UAExCkrP,KACLric,GAAOm3M,SAAW,KAG1BonP,GAAapvd,KAAKmpd,MAAMt/b,MAAOgH,GACnC,CAEAsic,kBAAkBx9b,GAAUy4b,GAAazH,IAGrC,IAAI91b,GAAS,CAAEof,IAAK,GAAIsyH,OAAQ,IAC5B+rT,GAAetud,KAAKuud,iBAAiBH,GAAapud,KAAK8td,aAAcn4b,IAezE,OAdI31B,KAAKqsd,YACLiC,GAAetud,KAAKqxd,qBAAqB/C,GAActud,KAAK8td,aAAcnH,KAIpD,WAAtBhxb,GAASQ,SAITtF,GAAO0xI,OADgBviK,KAAKgmB,UAAU6Y,gBAAgBotH,cACjBqiU,GAAarhb,EAAIjtC,KAAK8td,aAAa99a,QAAxD,KAGhBnf,GAAOof,OAAM+ya,MAAoBsL,GAAarhb,GAE3Cpc,EACX,CAEAuic,kBAAkBz9b,GAAUy4b,GAAazH,IAGrC,IASI2M,GATAzic,GAAS,CAAEgf,KAAM,GAAIwrD,MAAO,IAC5BizX,GAAetud,KAAKuud,iBAAiBH,GAAapud,KAAK8td,aAAcn4b,IAwBzE,OAvBI31B,KAAKqsd,YACLiC,GAAetud,KAAKqxd,qBAAqB/C,GAActud,KAAK8td,aAAcnH,KAQ1E2M,GADAtzd,KAAKowd,SAC2C,QAAtBz6b,GAASO,SAAqB,OAAS,QAGjB,QAAtBP,GAASO,SAAqB,QAAU,OAItC,UAA5Bo9b,GAEAzic,GAAOwqE,MADer7F,KAAKgmB,UAAU6Y,gBAAgBC,aAClBwvb,GAAanwd,EAAI6B,KAAK8td,aAAan+a,OAAvD,KAGf9e,GAAOgf,QAAOmza,MAAoBsL,GAAanwd,GAE5C0yB,EACX,CAKAohc,uBAEI,MAAMsB,GAAevzd,KAAK6td,iBACpB2F,GAAgBxzd,KAAKmpd,MAAMl7T,wBAI3BwlU,GAAwBzzd,KAAK2sd,aAAa9+d,IAAI04d,IACzCA,GAAWE,gBAAgBp/b,cAAc4mI,yBAEpD,MAAO,CACHmkU,gBAAiBpL,GAA4BuM,GAAcE,IAC3DpB,oBAAqBxL,GAA6B0M,GAAcE,IAChEnB,iBAAkBtL,GAA4BwM,GAAeC,IAC7DlB,qBAAsB1L,GAA6B2M,GAAeC,IAE1E,CAEA3C,mBAAmB1+d,MAAWshe,IAC1B,OAAOA,GAAUvvb,OAAO,CAACwvb,GAAcC,KAC5BD,GAAexmc,KAAKC,IAAIwmc,GAAiB,GACjDxhe,GACP,CAEAu7d,2BAMI,MAAMh+a,GAAQ3vC,KAAKgmB,UAAU6Y,gBAAgBC,YACvCkR,GAAShwC,KAAKgmB,UAAU6Y,gBAAgBotH,aACxC06T,GAAiB3md,KAAKsld,eAAeK,4BAC3C,MAAO,CACH11a,IAAK02a,GAAe12a,IAAMjwC,KAAK0sd,gBAC/B78a,KAAM82a,GAAe92a,KAAO7vC,KAAK0sd,gBACjCrxX,MAAOsrX,GAAe92a,KAAOF,GAAQ3vC,KAAK0sd,gBAC1CnqT,OAAQokT,GAAe12a,IAAMD,GAAShwC,KAAK0sd,gBAC3C/8a,MAAOA,GAAQ,EAAI3vC,KAAK0sd,gBACxB18a,OAAQA,GAAS,EAAIhwC,KAAK0sd,gBAElC,CAEA0D,SACI,MAA2C,QAApCpwd,KAAK2yB,YAAY05R,cAC5B,CAEA2mK,oBACI,OAAQhzd,KAAKwsd,wBAA0Bxsd,KAAKqsd,SAChD,CAEAqE,WAAW/6b,GAAUk+b,IACjB,MAAa,MAATA,GAG2B,MAApBl+b,GAAS+qL,QAAkB1gN,KAAK8sd,SAAWn3b,GAAS+qL,QAEpC,MAApB/qL,GAASgB,QAAkB32B,KAAK+sd,SAAWp3b,GAASgB,OAC/D,CAEAu2b,qBAcA,CAEA6E,iBAAiBnG,IACT5rd,KAAKmpd,UACL30I,MAAYo3I,IAAYxgc,QAAQ0oc,KACX,KAAbA,KAAmE,IAAhD9zd,KAAKgtd,qBAAqBn7d,QAAQiie,MACrD9zd,KAAKgtd,qBAAqBlrb,KAAKgyb,IAC/B9zd,KAAKmpd,MAAM79b,UAAUvf,IAAI+nd,IAAQ,EAIjD,CAEAvG,qBACQvtd,KAAKmpd,QACLnpd,KAAKgtd,qBAAqB5hc,QAAQ0oc,KAC9B9zd,KAAKmpd,MAAM79b,UAAUtD,OAAO8rc,GAAQ,GAExC9zd,KAAKgtd,qBAAuB,GAEpC,CAEAa,iBACI,MAAMlnc,GAAS3mB,KAAK82c,QACpB,GAAInwb,cAAkBu8b,MAClB,OAAOv8b,GAAOU,cAAc4mI,wBAGhC,GAAItnI,cAAkB6nI,QAClB,OAAO7nI,GAAOsnI,wBAElB,MAAMt+G,GAAQhpB,GAAOgpB,OAAS,EACxBK,GAASrpB,GAAOqpB,QAAU,EAEhC,MAAO,CACHC,IAAKtpB,GAAOsmB,EACZs1H,OAAQ57I,GAAOsmB,EAAI+C,GACnBH,KAAMlpB,GAAOxoB,EACbk9F,MAAO10E,GAAOxoB,EAAIwxC,GAClBK,UACAL,SAER,EAGJ,SAASy/a,GAAajsM,GAAarvO,IAC/B,QAAS5S,MAAO4S,GACRA,GAAO8e,eAAe1xB,MACtBiiP,GAAYjiP,IAAO4S,GAAO5S,KAGlC,OAAOiiP,EACX,CAKA,SAASiuM,GAAcxib,IACnB,GAAqB,iBAAVA,IAA+B,MAATA,GAAe,CAC5C,MAAOthD,GAAOokb,IAAS9iY,GAAMzjB,MAAM4gc,IACnC,OAAQr6C,IAAmB,OAAVA,GAAqC,KAApBxiT,WAAW5hI,GACjD,CACA,OAAOshD,IAAS,IACpB,CAOA,SAAS6hb,GAA6BsD,IAClC,MAAO,CACH9jb,IAAK9iB,KAAK4gB,MAAMgmb,GAAW9jb,KAC3BorD,MAAOluE,KAAK4gB,MAAMgmb,GAAW14X,OAC7BknE,OAAQp1I,KAAK4gB,MAAMgmb,GAAWxxT,QAC9B1yH,KAAM1iB,KAAK4gB,MAAMgmb,GAAWlkb,MAC5BF,MAAOxiB,KAAK4gB,MAAMgmb,GAAWpkb,OAC7BK,OAAQ7iB,KAAK4gB,MAAMgmb,GAAW/jb,QAEtC,CAWA,MAcMgkb,GAAe,6BAOrB,MAAMC,GACFx0d,cACIO,KAAKk0d,aAAe,SACpBl0d,KAAKm0d,WAAa,GAClBn0d,KAAKo0d,cAAgB,GACrBp0d,KAAKq0d,YAAc,GACnBr0d,KAAK2qB,WAAa,GAClB3qB,KAAKs0d,SAAW,GAChBt0d,KAAKu0d,OAAS,GACdv0d,KAAKw0d,QAAU,GACfx0d,KAAKotd,aAAc,CACvB,CACA54b,OAAOL,IACH,MAAMnkC,GAASmkC,GAAWr/B,YAC1BkL,KAAK2yB,YAAcwB,GACfn0B,KAAKu0d,SAAWvke,GAAO2/C,OACvBxb,GAAW82b,WAAW,CAAEt7a,MAAO3vC,KAAKu0d,SAEpCv0d,KAAKw0d,UAAYxke,GAAOggD,QACxB7b,GAAW82b,WAAW,CAAEj7a,OAAQhwC,KAAKw0d,UAEzCrgc,GAAWizJ,YAAY97J,UAAUvf,IAAIiod,IACrCh0d,KAAKotd,aAAc,CACvB,CAKAn9a,IAAI3iD,GAAQ,IACR,OAAA0S,KAAKo0d,cAAgB,GACrBp0d,KAAKm0d,WAAa7me,GAClB0S,KAAKq0d,YAAc,aACZr0d,IACX,CAKA6vC,KAAKviD,GAAQ,IACT,OAAA0S,KAAKs0d,SAAWhne,GAChB0S,KAAK2qB,WAAa,OACX3qB,IACX,CAKAuiK,OAAOj1K,GAAQ,IACX,OAAA0S,KAAKm0d,WAAa,GAClBn0d,KAAKo0d,cAAgB9me,GACrB0S,KAAKq0d,YAAc,WACZr0d,IACX,CAKAq7F,MAAM/tG,GAAQ,IACV,OAAA0S,KAAKs0d,SAAWhne,GAChB0S,KAAK2qB,WAAa,QACX3qB,IACX,CAMA00C,MAAMpnD,GAAQ,IACV,OAAA0S,KAAKs0d,SAAWhne,GAChB0S,KAAK2qB,WAAa,QACX3qB,IACX,CAMA2pG,IAAIr8G,GAAQ,IACR,OAAA0S,KAAKs0d,SAAWhne,GAChB0S,KAAK2qB,WAAa,MACX3qB,IACX,CAOA2vC,MAAMriD,GAAQ,IACV,OAAI0S,KAAK2yB,YACL3yB,KAAK2yB,YAAYs4b,WAAW,CAAEt7a,MAAOriD,KAGrC0S,KAAKu0d,OAASjne,GAEX0S,IACX,CAOAgwC,OAAO1iD,GAAQ,IACX,OAAI0S,KAAK2yB,YACL3yB,KAAK2yB,YAAYs4b,WAAW,CAAEj7a,OAAQ1iD,KAGtC0S,KAAKw0d,QAAUlne,GAEZ0S,IACX,CAOAy0d,mBAAmB1mU,GAAS,IACxB,OAAA/tJ,KAAK6vC,KAAKk+G,IACV/tJ,KAAK2qB,WAAa,SACX3qB,IACX,CAOA00d,iBAAiB3mU,GAAS,IACtB,OAAA/tJ,KAAKiwC,IAAI89G,IACT/tJ,KAAKq0d,YAAc,SACZr0d,IACX,CAKAk8C,QAII,IAAKl8C,KAAK2yB,cAAgB3yB,KAAK2yB,YAAYmnb,cACvC,OAEJ,MAAMjpb,GAAS7wB,KAAK2yB,YAAY6zb,eAAe38b,MACzC8qc,GAAe30d,KAAK2yB,YAAYy0J,YAAYv9J,MAC5C75B,GAASgQ,KAAK2yB,YAAY79B,aACxB66C,SAAOK,UAAQg4L,YAAUC,cAAcj4O,GACzC4ke,KAAuC,SAAVjlb,IAA8B,UAAVA,IACjDq4L,IAAyB,SAAbA,IAAoC,UAAbA,IACnC6sP,KAAsC,SAAX7kb,IAAgC,UAAXA,IAChDi4L,IAA2B,SAAdA,IAAsC,UAAdA,IACrC19M,GAAYvqB,KAAK2qB,WACjBmqc,GAAU90d,KAAKs0d,SACf1B,GAAmD,QAA3C5yd,KAAK2yB,YAAY79B,YAAYm5B,UAC3C,IAAI8mc,GAAa,GACbC,GAAc,GACd1F,GAAiB,GACjBsF,GACAtF,GAAiB,aAEE,WAAd/kc,IACL+kc,GAAiB,SACbsD,GACAoC,GAAcF,GAGdC,GAAaD,IAGZlC,GACa,SAAdroc,IAAsC,QAAdA,IACxB+kc,GAAiB,WACjByF,GAAaD,KAEM,UAAdvqc,IAAuC,UAAdA,MAC9B+kc,GAAiB,aACjB0F,GAAcF,IAGC,SAAdvqc,IAAsC,UAAdA,IAC7B+kc,GAAiB,aACjByF,GAAaD,KAEM,UAAdvqc,IAAuC,QAAdA,MAC9B+kc,GAAiB,WACjB0F,GAAcF,IAElBjkc,GAAO8E,SAAW31B,KAAKk0d,aACvBrjc,GAAOkkc,WAAaH,GAA4B,IAAMG,GACtDlkc,GAAOokc,UAAYJ,GAA0B,IAAM70d,KAAKm0d,WACxDtjc,GAAOqkc,aAAel1d,KAAKo0d,cAC3Bvjc,GAAOmkc,YAAcJ,GAA4B,IAAMI,GACvDL,GAAarF,eAAiBA,GAC9BqF,GAAatF,WAAawF,GAA0B,aAAe70d,KAAKq0d,WAC5E,CAKAzgc,UACI,GAAI5zB,KAAKotd,cAAgBptd,KAAK2yB,YAC1B,OAEJ,MAAM9B,GAAS7wB,KAAK2yB,YAAY6zb,eAAe38b,MACzCw8B,GAASrmD,KAAK2yB,YAAYy0J,YAC1ButS,GAAetua,GAAOx8B,MAC5Bw8B,GAAO/6B,UAAUtD,OAAOgsc,IACxBW,GAAarF,eACTqF,GAAatF,WACTx+b,GAAOokc,UACHpkc,GAAOqkc,aACHrkc,GAAOkkc,WACHlkc,GAAOmkc,YACHnkc,GAAO8E,SACH,GAC5B31B,KAAK2yB,YAAc,KACnB3yB,KAAKotd,aAAc,CACvB,EAGJ,IACM+H,GAAsB,MAA5B,MAAMA,GACF11d,YAAY6ld,GAAgBt/b,GAAW6pb,GAAWsc,IAC9Cnsd,KAAKsld,eAAiBA,GACtBtld,KAAKgmB,UAAYA,GACjBhmB,KAAK6vc,UAAYA,GACjB7vc,KAAKmsd,kBAAoBA,EAC7B,CAIAv1Y,SACI,OAAO,IAAIq9Y,EACf,CAKAr+b,oBAAoBjP,IAChB,OAAO,IAAIqlc,GAAkCrlc,GAAQ3mB,KAAKsld,eAAgBtld,KAAKgmB,UAAWhmB,KAAK6vc,UAAW7vc,KAAKmsd,kBACnH,QACSnsd,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF4md,IA7iEVl1d,MA6iEkDC,MA7iElDD,MA6iE+EwoB,MA7iE/ExoB,MA6iEoG+3B,MA7iEpG/3B,MA6iE8Hyod,IAAgB,CAA+C,QACpR1od,KAAKszD,WA9iEkFrzD,MAAE,CAAAhQ,MA8iEYkle,GAAsB10d,QAAtB00d,GAAsBz0d,UAAAC,WAAc,QAAW,EAChK,OAtBKw0d,EAAsB,KAgCxBC,GAAe,EAWblkc,GAAO,MAAb,MAAMA,GACFzxB,YAEA0xB,GAAkBg7b,GAAmBkJ,GAA2BC,GAAkBlM,GAAqBmM,GAAWhqc,GAASvF,GAAWwvc,GAAiBj0W,GAAW8nW,GAAyBoM,IACvLz1d,KAAKmxB,iBAAmBA,GACxBnxB,KAAKmsd,kBAAoBA,GACzBnsd,KAAKq1d,0BAA4BA,GACjCr1d,KAAKs1d,iBAAmBA,GACxBt1d,KAAKopd,oBAAsBA,GAC3Bppd,KAAKu1d,UAAYA,GACjBv1d,KAAKurB,QAAUA,GACfvrB,KAAKgmB,UAAYA,GACjBhmB,KAAKw1d,gBAAkBA,GACvBx1d,KAAKuhH,UAAYA,GACjBvhH,KAAKqpd,wBAA0BA,GAC/Brpd,KAAKy1d,sBAAwBA,EACjC,CAMAjgc,OAAOxlC,IACH,MAAMk0E,GAAOlkE,KAAK01d,qBACZC,GAAO31d,KAAK41d,mBAAmB1xZ,IAC/B2xZ,GAAe71d,KAAK81d,oBAAoBH,IACxCthc,GAAgB,IAAIqB,GAAc1lC,IACxCqkC,UAAcpG,UAAYoG,GAAcpG,WAAajuB,KAAKw1d,gBAAgBloe,MACnE,IAAI07d,GAAW6M,GAAc3xZ,GAAMyxZ,GAAMthc,GAAer0B,KAAKurB,QAASvrB,KAAKopd,oBAAqBppd,KAAKgmB,UAAWhmB,KAAKuhH,UAAWvhH,KAAKqpd,wBAAwD,mBAA/Brpd,KAAKy1d,sBAC9K,CAMA9/b,WACI,OAAO31B,KAAKs1d,gBAChB,CAKAM,mBAAmB1xZ,IACf,MAAMyxZ,GAAO31d,KAAKgmB,UAAUmuB,cAAc,OAC1Cwhb,UAAKnte,GAAK,eAAe4se,KACzBO,GAAKrqc,UAAUvf,IAAI,oBACnBm4D,GAAKzvB,YAAYkhb,IACVA,EACX,CAMAD,qBACI,MAAMxxZ,GAAOlkE,KAAKgmB,UAAUmuB,cAAc,OAC1C,OAAAn0C,KAAKmsd,kBAAkBvD,sBAAsBn0a,YAAYyvB,IAClDA,EACX,CAMA4xZ,oBAAoBH,IAGhB,OAAK31d,KAAK+1d,UACN/1d,KAAK+1d,QAAU/1d,KAAKu1d,UAAU7sd,IAAIstd,QAE/B,IAAIC,MAAgBN,GAAM31d,KAAKq1d,0BAA2Br1d,KAAK+1d,QAAS/1d,KAAKu1d,UAAWv1d,KAAKgmB,UACxG,QACShmB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF2iB,IA5oEVjxB,MA4oEmCqnd,IA5oEnCrnd,MA4oEqEyod,IA5oErEzod,MA4oEkGA,OA5oElGA,MA4oE0Ik1d,IA5oE1Il1d,MA4oE6K4nd,IA5oE7K5nd,MA4oEmNA,OA5oEnNA,MA4oE2OA,OA5oE3OA,MA4oEiQwoB,MA5oEjQxoB,MA4oEsRK,MA5oEtRL,MA4oEoTM,MA5oEpTN,MA4oE4Uiod,IA5oE5Ujod,MA4oEsXs6L,MAAqB,IAA+D,QACjiBv6L,KAAKszD,WA7oEkFrzD,MAAE,CAAAhQ,MA6oEYihC,GAAOzwB,QAAPywB,GAAOxwB,UAAAC,WAAc,QAAW,EACjJ,OA1EKuwB,EAAO,KAyFb,MAAMglc,GAAsB,CACxB,CACI7/b,QAAS,QACTG,QAAS,SACTN,SAAU,QACVC,SAAU,OAEd,CACIE,QAAS,QACTG,QAAS,MACTN,SAAU,QACVC,SAAU,UAEd,CACIE,QAAS,MACTG,QAAS,MACTN,SAAU,MACVC,SAAU,UAEd,CACIE,QAAS,MACTG,QAAS,SACTN,SAAU,MACVC,SAAU,QAIZggc,GAAwC,IAAItwc,MAAe,wCAAyC,CACtGllB,WAAY,OACZF,QAASA,KACL,MAAMuwB,MAAUC,OAAOC,IACvB,MAAO,IAAMF,GAAQG,iBAAiBC,YAAW,IAGzD,IAIMglc,GAAgB,MAAtB,MAAMA,GACF32d,YAEA42d,IACIr2d,KAAKq2d,WAAaA,EACtB,QACSr2d,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF6nd,IAzsEVn2d,MAysE4CA,OAAa,CAA8C,QAC9LD,KAAKi4B,UA1sEkFh4B,MAAE,CAAAgO,KA0sEJmod,GAAgBznd,UAAA,mFAAAqa,SAAA,qBAAAC,YAAA,GAA+I,EAChQ,OARKmtc,EAAgB,KAqBhBE,GAAmB,MAAzB,MAAMA,GAEF,WAAI51Q,GACA,OAAO1gN,KAAK8sd,QAChB,CACA,WAAIpsQ,CAAQA,IACR1gN,KAAK8sd,SAAWpsQ,GACZ1gN,KAAK4uT,WACL5uT,KAAKu2d,wBAAwBv2d,KAAK4uT,UAE1C,CAEA,WAAIj4R,GACA,OAAO32B,KAAK+sd,QAChB,CACA,WAAIp2b,CAAQA,IACR32B,KAAK+sd,SAAWp2b,GACZ32B,KAAK4uT,WACL5uT,KAAKu2d,wBAAwBv2d,KAAK4uT,UAE1C,CAEA,uBAAI24J,GACA,OAAOvnd,KAAKw2d,oBAChB,CACA,uBAAIjP,CAAoBj6d,IACpB0S,KAAKw2d,qBAAuBlpe,EAChC,CAEAmS,YAAY6yB,GAAU9B,GAAaimc,GAAkBC,GAAuBhkc,IACxE1yB,KAAKsyB,SAAWA,GAChBtyB,KAAK0yB,KAAOA,GACZ1yB,KAAK22d,sBAAwBprd,MAAaunB,MAC1C9yB,KAAK42d,oBAAsBrrd,MAAaunB,MACxC9yB,KAAK62d,oBAAsBtrd,MAAaunB,MACxC9yB,KAAK82d,sBAAwBvrd,MAAaunB,MAC1C9yB,KAAKw2d,sBAAuB,EAC5Bx2d,KAAKurB,WAAU0F,OAAOmpK,OAEtBp6L,KAAK+2d,eAAiB,EAEtB/2d,KAAKwpD,MAAO,EAEZxpD,KAAK0rK,cAAe,EAEpB1rK,KAAKisB,aAAc,EAEnBjsB,KAAKg3d,cAAe,EAEpBh3d,KAAK6vd,oBAAqB,EAE1B7vd,KAAK8vd,eAAgB,EAErB9vd,KAAK8hC,MAAO,EAEZ9hC,KAAKi3B,cAAgB,IAAInL,MAEzB9rB,KAAKi3d,eAAiB,IAAInrc,MAE1B9rB,KAAKw0B,OAAS,IAAI1I,MAElB9rB,KAAKi1B,OAAS,IAAInJ,MAElB9rB,KAAKk3d,eAAiB,IAAIprc,MAE1B9rB,KAAKm3d,oBAAsB,IAAIrrc,MAC/B9rB,KAAKo3d,gBAAkB,IAAIr/b,MAAevH,GAAaimc,IACvDz2d,KAAKq3d,uBAAyBX,GAC9B12d,KAAKyyB,eAAiBzyB,KAAKq3d,wBAC/B,CAEA,cAAIljc,GACA,OAAOn0B,KAAK2yB,WAChB,CAEA,OAAIoB,GACA,OAAO/zB,KAAK0yB,KAAO1yB,KAAK0yB,KAAKplC,MAAQ,KACzC,CACA4gB,cACIlO,KAAK42d,oBAAoBzod,cACzBnO,KAAK62d,oBAAoB1od,cACzBnO,KAAK22d,sBAAsBxod,cAC3BnO,KAAK82d,sBAAsB3od,cACvBnO,KAAK2yB,aACL3yB,KAAK2yB,YAAYiB,SAEzB,CACAgnb,YAAYlub,IACJ1sB,KAAK4uT,YACL5uT,KAAKu2d,wBAAwBv2d,KAAK4uT,WAClC5uT,KAAK2yB,YAAYs4b,WAAW,CACxBt7a,MAAO3vC,KAAK2vC,MACZg2L,SAAU3lO,KAAK2lO,SACf31L,OAAQhwC,KAAKgwC,OACb61L,UAAW7lO,KAAK6lO,YAEhBn5M,GAAQ/F,QAAa3mB,KAAKwpD,MAC1BxpD,KAAK4uT,UAAU1yQ,SAGnBxvB,GAAQ88B,OACRxpD,KAAKwpD,KAAOxpD,KAAKs3d,iBAAmBt3d,KAAKu3d,iBAEjD,CAEAnjc,mBACSp0B,KAAKkvP,YAAclvP,KAAKkvP,UAAU98P,UACnC4N,KAAKkvP,UAAYgnO,IAErB,MAAM/hc,GAAcn0B,KAAK2yB,YAAc3yB,KAAKsyB,SAASkD,OAAOx1B,KAAKw3d,gBACjEx3d,KAAK42d,oBAAsBzic,GAAW22b,cAAcz+c,UAAU,IAAMrM,KAAKw0B,OAAOrP,QAChFnlB,KAAK62d,oBAAsB1ic,GAAW+C,cAAc7qB,UAAU,IAAMrM,KAAKi1B,OAAO9P,QAChFgP,GAAWsB,gBAAgBppB,UAAWb,KAClCxL,KAAKk3d,eAAevqd,KAAKnB,IACrBA,GAAMoiB,UAAYC,QAAW7tB,KAAK0rK,gBAAgB,EAAC59I,OAAetiB,MAClEA,GAAM+b,iBACNvnB,KAAKu3d,iBAAe,GAG5Bv3d,KAAK2yB,YAAY61b,uBAAuBn8c,UAAWb,KAC/C,MAAMmb,GAAS3mB,KAAKy3d,oBACd3ua,MAASszZ,MAAgB5wc,MAC1Bmb,IAAWA,KAAWmiC,KAAWniC,GAAOiI,SAASk6B,MAClD9oD,KAAKm3d,oBAAoBxqd,KAAKnB,GAAK,EAG/C,CAEAgsd,eACI,MAAMljc,GAAoBt0B,KAAK4uT,UAC3B5uT,KAAKs0B,kBAAoBt0B,KAAK03d,0BAC5Brjc,GAAgB,IAAIqB,GAAc,CACpCzH,UAAWjuB,KAAK0yB,KAChB4B,oBACA7B,eAAgBzyB,KAAKyyB,eACrBxG,YAAajsB,KAAKisB,YAClBs7b,oBAAqBvnd,KAAKund,sBAE9B,OAAIvnd,KAAK2vC,OAAwB,IAAf3vC,KAAK2vC,SACnBtb,GAAcsb,MAAQ3vC,KAAK2vC,QAE3B3vC,KAAKgwC,QAA0B,IAAhBhwC,KAAKgwC,UACpB3b,GAAc2b,OAAShwC,KAAKgwC,SAE5BhwC,KAAK2lO,UAA8B,IAAlB3lO,KAAK2lO,YACtBtxM,GAAcsxM,SAAW3lO,KAAK2lO,WAE9B3lO,KAAK6lO,WAAgC,IAAnB7lO,KAAK6lO,aACvBxxM,GAAcwxM,UAAY7lO,KAAK6lO,WAE/B7lO,KAAKyqB,gBACL4J,GAAc5J,cAAgBzqB,KAAKyqB,eAEnCzqB,KAAK8qB,aACLuJ,GAAcvJ,WAAa9qB,KAAK8qB,YAE7BuJ,EACX,CAEAkic,wBAAwBjic,IACpB,MAAM46N,GAAYlvP,KAAKkvP,UAAUrhQ,IAAI8pe,MACjCthc,QAASshc,GAAgBthc,QACzBG,QAASmhc,GAAgBnhc,QACzBN,SAAUyhc,GAAgBzhc,SAC1BC,SAAUwhc,GAAgBxhc,SAC1BuqL,QAASi3Q,GAAgBj3Q,SAAW1gN,KAAK0gN,QACzC/pL,QAASghc,GAAgBhhc,SAAW32B,KAAK22B,QACzC7L,WAAY6sc,GAAgB7sc,iBAAcz8B,KAE9C,OAAOimC,GACF24b,UAAUjtd,KAAK43d,cACf7gc,cAAcm4N,IACd0gO,uBAAuB5vd,KAAK6vd,oBAC5BE,SAAS/vd,KAAK8hC,MACdjM,kBAAkB71B,KAAK8vd,eACvBJ,mBAAmB1vd,KAAK+2d,gBACxBjic,mBAAmB90B,KAAKg3d,cACxBlhc,sBAAsB91B,KAAK63d,wBACpC,CAEAH,0BACI,MAAM1M,GAAWhrd,KAAKsyB,SAASqD,WAAWC,oBAAoB51B,KAAK43d,cACnE,OAAA53d,KAAKu2d,wBAAwBvL,IACtBA,EACX,CACA4M,aACI,OAAI53d,KAAK2mB,kBAAkByvc,GAChBp2d,KAAK2mB,OAAO0vc,WAGZr2d,KAAK2mB,MAEpB,CACA8wc,oBACI,OAAIz3d,KAAK2mB,kBAAkByvc,GAChBp2d,KAAK2mB,OAAO0vc,WAAWhvc,cAE9BrnB,KAAK2mB,kBAAkBu8b,MAChBljd,KAAK2mB,OAAOU,qBAEZmnI,QAAY,KAAexuJ,KAAK2mB,kBAAkB6nI,QAClDxuJ,KAAK2mB,OAET,IACX,CAEA2wc,iBACSt3d,KAAK2yB,YAKN3yB,KAAK2yB,YAAY79B,YAAYm3B,YAAcjsB,KAAKisB,YAJhDjsB,KAAKo0B,iBAMJp0B,KAAK2yB,YAAYmnb,eAClB95c,KAAK2yB,YAAY6B,OAAOx0B,KAAKo3d,iBAE7Bp3d,KAAKisB,YACLjsB,KAAK22d,sBAAwB32d,KAAK2yB,YAAYsE,gBAAgB5qB,UAAUb,KACpExL,KAAKi3B,cAAc9R,KAAK3Z,GAAK,GAIjCxL,KAAK22d,sBAAsBxod,cAE/BnO,KAAK82d,sBAAsB3od,cAGvBnO,KAAKi3d,eAAe75B,UAAUhrc,OAAS,IACvC4N,KAAK82d,sBAAwB92d,KAAK4uT,UAAU74R,gBACvClrB,QAAKoU,KAAU,IAAMjf,KAAKi3d,eAAe75B,UAAUhrc,OAAS,IAC5Dia,UAAUspB,KACX31B,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAKi3d,eAAe9xc,KAAKwQ,KACH,IAAzC31B,KAAKi3d,eAAe75B,UAAUhrc,QAC9B4N,KAAK82d,sBAAsB3od,aAAY,GAIvD,CAEAopd,iBACQv3d,KAAK2yB,aACL3yB,KAAK2yB,YAAYsC,SAErBj1B,KAAK22d,sBAAsBxod,cAC3BnO,KAAK82d,sBAAsB3od,aAC/B,QACSnO,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF+nd,IA/8EVr2d,MA+8E+CixB,IA/8E/CjxB,MA+8EmEA,OA/8EnEA,MA+8E8FA,OA/8E9FA,MA+8E8Hk2d,IA/8E9Hl2d,MA+8EgLK,KAAiB,IAA8D,QACtVN,KAAKi4B,UAh9EkFh4B,MAAE,CAAAgO,KAg9EJqod,GAAmB3nd,UAAA,4FAAAgH,OAAA,CAAAgR,OAAA,CAh9EjB1mB,MAAEwwB,KAAA,sCAAAy+N,UAAA,CAAFjvP,MAAEwwB,KAAA,4CAAA6D,iBAAA,CAAFr0B,MAAEwwB,KAAA,0DAAAiwL,QAAA,CAAFzgN,MAAEwwB,KAAA,wCAAAkG,QAAA,CAAF12B,MAAEwwB,KAAA,wCAAAkf,MAAA,CAAF1vC,MAAEwwB,KAAA,oCAAAuf,OAAA,CAAF/vC,MAAEwwB,KAAA,sCAAAk1M,SAAA,CAAF1lO,MAAEwwB,KAAA,0CAAAo1M,UAAA,CAAF5lO,MAAEwwB,KAAA,4CAAAhG,cAAA,CAAFxqB,MAAEwwB,KAAA,oDAAA3F,WAAA,CAAF7qB,MAAEwwB,KAAA,8CAAAsmc,eAAA,CAAF92d,MAAEwwB,KAAA,sDAAAgC,eAAA,CAAFxyB,MAAEwwB,KAAA,sDAAA+4B,KAAA,CAAFvpD,MAAEwwB,KAAA,kCAAAi7I,aAAA,CAAFzrK,MAAEwwB,KAAA,kDAAAonc,wBAAA,CAAF53d,MAAEwwB,KAAA,kEAAAxE,YAAA,CAAFhsB,MAAE6oB,2BAAA,+CAg9EkpCC,OAAgBiuc,aAAA,CAh9EpqC/2d,MAAE6oB,2BAAA,iDAg9EuuCC,OAAgB8mc,mBAAA,CAh9EzvC5vd,MAAE6oB,2BAAA,6DAg9E80CC,OAAgB+mc,cAAA,CAh9Eh2C7vd,MAAE6oB,2BAAA,mDAg9Es6CC,OAAgB+Y,KAAA,CAh9Ex7C7hC,MAAE6oB,2BAAA,iCAg9Em+CC,OAAgBw+b,oBAAA,CAh9Er/Ctnd,MAAE6oB,2BAAA,+DAg9E6kDC,QAAgB2H,QAAA,CAAAuG,cAAA,gBAAAggc,eAAA,iBAAAzic,OAAA,SAAAS,OAAA,SAAAiic,eAAA,iBAAAC,oBAAA,uBAAAnuc,SAAA,wBAAAC,YAAA,EAAAC,SAAA,CAh9E/lDjpB,cAg9E82D,EACj9D,OAzPKq2d,EAAmB,KA0VzB,MAAMwB,GAAiD,CACnDnnc,QAASwlc,GACT7kc,KAAM,CAACJ,IACPK,WAPJ,SAASwmc,GAAuD/mc,IAC5D,MAAO,IAAMA,GAAQG,iBAAiBC,YAC1C,GAME,IAEIqH,GAAa,MAAnB,MAAMA,UACOz4B,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFkqB,GAAa,CAAoD,QAClKz4B,KAAKm4B,UA1jFkFl4B,KAAE,CAAAgO,KA0jFSwqB,IAAkL,QACpRz4B,KAAKo4B,UA3jFkFn4B,MAAE,CAAAo4B,UA2jFmC,CAACnH,GAAS4mc,IAA+Cx/b,QAAA,CAAYqqb,KAAYqV,MAAcjgd,KAAiBA,OAAqB,EAC7Q,OAJK0gB,EAAa,+JC30FnB,IAAIw/b,EAMJ,IACIA,SAA4Bn5K,KAAS,KAAeA,KAAKo5K,eAC7D,OAEID,GAAqB,CACzB,CACA,IA4HIE,EAxHE3d,EAAQ,MAAd,MAAMA,GACF/6c,YAAY24d,IACRp4d,KAAKo4d,YAAcA,GAKnBp4d,KAAKgwc,UAAYhwc,KAAKo4d,eAChBC,MAAkBr4d,KAAKo4d,aACH,iBAAbnrd,YAA2BA,SAExCjN,KAAKs4d,KAAOt4d,KAAKgwc,WAAa,UAAU70W,KAAKj+B,UAAU+uB,WAEvDjsF,KAAKu4d,QAAUv4d,KAAKgwc,WAAa,kBAAkB70W,KAAKj+B,UAAU+uB,WAGlEjsF,KAAKmwc,MAAQnwc,KAAKgwc,cACXp7b,OAAO40P,SAAUyuN,WACbx7Q,IAAQ,MACdz8M,KAAKs4d,OACLt4d,KAAKu4d,QAIVv4d,KAAKkwc,OAASlwc,KAAKgwc,WACf,eAAe70W,KAAKj+B,UAAU+uB,aAC7BjsF,KAAKmwc,QACLnwc,KAAKs4d,OACLt4d,KAAKu4d,QAEVv4d,KAAKu3c,IAAMv3c,KAAKgwc,WAAa,mBAAmB70W,KAAKj+B,UAAU+uB,cAAgB,aAAcr3E,QAM7F5U,KAAKy3c,QAAUz3c,KAAKgwc,WAAa,uBAAuB70W,KAAKj+B,UAAU+uB,WAGvEjsF,KAAKw4d,QAAUx4d,KAAKgwc,WAAa,WAAW70W,KAAKj+B,UAAU+uB,aAAejsF,KAAKu4d,QAK/Ev4d,KAAKy4d,OAASz4d,KAAKgwc,WAAa,UAAU70W,KAAKj+B,UAAU+uB,YAAcjsF,KAAKkwc,MAChF,QACSlwc,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFisc,IAAVv6c,MAAoC8hJ,OAAW,CAA+C,QACrL/hJ,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACYuqd,GAAQ/5c,QAAR+5c,GAAQ95c,UAAAC,WAAc,QAAW,EAClJ,OAhDK65c,EAAQ,KAgJd,SAAS9ob,GAAgC9K,IACrC,OApBJ,SAAS8xc,IACL,GAA6B,MAAzBP,UAAwCvjd,OAAW,IACnD,IACIA,OAAO8e,iBAAiB,OAAQ,KAAMtE,OAAO0rD,eAAe,CAAC,EAAG,UAAW,CACvEpyE,IAAKA,IAAOyvd,GAAwB,IAE5C,SAEIA,EAAwBA,IAAyB,CACrD,CAEJ,OAAOA,CACX,CAQWO,GAAkC9xc,KAAYA,GAAQ28E,OACjE,CAGA,IAAIo1X,GACH,SAAUA,IAKPA,UAAkBA,GAAkBC,OAAY,GAAK,SAKrDD,GAAkBA,GAAkBE,QAAa,GAAK,UAKtDF,GAAkBA,GAAkBG,SAAc,GAAK,WAfhDH,EAgBX,CAhBC,CAgBEA,IAA0C,CAAC,GAE9C,IAAII,GAEA5T,GA2EA6T,GAzEJ,SAAS5T,KACL,GAA+B,MAA3BD,GAAiC,CAGjC,GAAwB,iBAAbl4c,WAA0BA,UAA+B,mBAAZuhJ,UAA2BA,QAC/E22T,WAA0B,EACnBA,GAGX,GAAI,mBAAoBl4c,SAAS4xB,gBAAgBhV,MAC7Cs7b,IAA0B,MAEzB,CAGD,MAAM8T,GAAmBzqU,QAAQ1mH,UAAUoxb,SAMvC/T,KALA8T,KAK2B,4BAA4B99X,KAAK89X,GAAiB93b,WAKrF,CACJ,CACA,OAAOgkb,EACX,CAKA,SAASgU,KAEL,GAAwB,iBAAblsd,WAA0BA,SACjC,OAAO0rd,GAAkBC,OAE7B,GAAyB,MAArBG,GAA2B,CAE3B,MAAMK,GAAkBnsd,SAASknC,cAAc,OACzCklb,GAAiBD,GAAgBvvc,MACvCuvc,GAAgBrlc,IAAM,MACtBslc,GAAe1pb,MAAQ,MACvB0pb,GAAehqL,SAAW,OAC1BgqL,GAAejlb,WAAa,SAC5Bilb,GAAe7N,cAAgB,OAC/B6N,GAAe1jc,SAAW,WAC1B,MAAM4hB,GAAUtqC,SAASknC,cAAc,OACjCmlb,GAAe/hb,GAAQ1tB,MAC7Byvc,GAAa3pb,MAAQ,MACrB2pb,GAAatpb,OAAS,MACtBopb,GAAgB3kb,YAAY8C,IAC5BtqC,SAASzjB,KAAKirD,YAAY2kb,IAC1BL,GAAoBJ,GAAkBC,OAIH,IAA/BQ,GAAgB7gU,aAKhB6gU,GAAgB7gU,WAAa,EAC7BwgU,GACmC,IAA/BK,GAAgB7gU,WAAmBogU,GAAkBE,QAAUF,GAAkBG,UAEzFM,GAAgBpxc,QACpB,CACA,OAAO+wc,EACX,CAYA,SAASzZ,GAAexvb,IACpB,GATJ,SAASypc,KACL,GAA4B,MAAxBP,GAA8B,CAC9B,MAAM5jU,UAAcnoJ,SAAa,IAAcA,SAASmoJ,KAAO,KAC/D4jU,MAA0B5jU,KAASA,GAAKokU,mBAAoBpkU,GAAK3G,aACrE,CACA,OAAOuqU,EACX,CAGQO,GAAsB,CACtB,MAAMla,GAAWvvb,GAAQ2pc,YAAc3pc,GAAQ2pc,cAAgB,KAG/D,UAAW/qU,WAAe,KAAeA,YAAc2wT,cAAoB3wT,WACvE,OAAO2wT,EAEf,CACA,OAAO,IACX,CAKA,SAAStE,KACL,IAAIvyb,UAAuBvb,SAAa,KAAeA,SACjDA,SAASub,cACT,KACN,KAAOA,IAAiBA,GAAcglI,YAAY,CAC9C,MAAMksU,GAAmBlxc,GAAcglI,WAAWhlI,cAClD,GAAIkxc,KAAqBlxc,GACrB,MAGAA,GAAgBkxc,EAExB,CACA,OAAOlxc,EACX,CAEA,SAAS4zb,GAAgB5wc,IAGrB,OAAQA,GAAMmud,aAAenud,GAAMmud,eAAe,GAAKnud,GAAMs9C,MACjE,CAGA,SAASgga,KAKL,cAEQ8Q,UAAc,OAAiBA,kBAE3BC,QAAY,OAAiBA,gBAE7BC,KAAS,OAAiBA,aAE1BC,MAAU,OAAiBA,KAC3C,6HCrRA,MAAMC,EAEFxlc,OAAO0vC,IASH,OAAAlkE,KAAKi6d,cAAgB/1Z,GACdA,GAAK1vC,OAAOx0B,KACvB,CAEAi1B,SACI,IAAIivC,GAAOlkE,KAAKi6d,cACJ,MAAR/1Z,KACAlkE,KAAKi6d,cAAgB,KACrB/1Z,GAAKjvC,SAKb,CAEA,cAAImtH,GACA,OAA6B,MAAtBpiJ,KAAKi6d,aAChB,CAKAC,gBAAgBh2Z,IACZlkE,KAAKi6d,cAAgB/1Z,EACzB,EAKJ,MAAMi2Z,UAAwBH,EAC1Bv6d,YAAYw0E,GAAWwiZ,GAAkBhjB,GAAU2mB,GAA0BC,IACzE7pb,QACAxwC,KAAKi0E,UAAYA,GACjBj0E,KAAKy2d,iBAAmBA,GACxBz2d,KAAKyzc,SAAWA,GAChBzzc,KAAKo6d,yBAA2BA,GAChCp6d,KAAKq6d,iBAAmBA,EAC5B,EAKJ,MAAMtic,WAAuBiic,EACzBv6d,YAEA+wB,GAEAimc,GAEA9nX,GAEA8kW,IACIjja,QACAxwC,KAAKwwB,YAAcA,GACnBxwB,KAAKy2d,iBAAmBA,GACxBz2d,KAAK2uG,QAAUA,GACf3uG,KAAKyzc,SAAWA,EACpB,CACA,UAAI9sb,GACA,OAAO3mB,KAAKwwB,YAAY6lc,UAC5B,CAMA7hc,OAAO0vC,GAAMyqC,GAAU3uG,KAAK2uG,SACxB,OAAA3uG,KAAK2uG,QAAUA,GACRn+D,MAAMhc,OAAO0vC,GACxB,CACAjvC,SACI,OAAAj1B,KAAK2uG,aAAUtgH,EACRmiD,MAAMvb,QACjB,EAOJ,MAAMqlc,WAAkBN,EACpBv6d,YAAYqwB,IACR0gB,QACAxwC,KAAK8vB,QAAUA,cAAmBozb,MAAapzb,GAAQzI,cAAgByI,EAC3E,EAMJ,MAAMyqc,GACF96d,cAEIO,KAAKotd,aAAc,EAEnBptd,KAAKw6d,gBAAkB,IAC3B,CAEA1gB,cACI,QAAS95c,KAAKy6d,eAClB,CAEAjmc,OAAOy1b,IAYH,OAAIA,cAAkBkQ,GAClBn6d,KAAKy6d,gBAAkBxQ,GAChBjqd,KAAK06d,sBAAsBzQ,KAE7BA,cAAkBlyb,IACvB/3B,KAAKy6d,gBAAkBxQ,GAChBjqd,KAAK26d,qBAAqB1Q,KAG5Bjqd,KAAKw6d,iBAAmBvQ,cAAkBqQ,IAC/Ct6d,KAAKy6d,gBAAkBxQ,GAChBjqd,KAAKw6d,gBAAgBvQ,UAF3B,CAOT,CAEAh1b,SACQj1B,KAAKy6d,kBACLz6d,KAAKy6d,gBAAgBP,gBAAgB,MACrCl6d,KAAKy6d,gBAAkB,MAE3Bz6d,KAAK46d,kBACT,CAEAhnc,UACQ5zB,KAAK85c,eACL95c,KAAKi1B,SAETj1B,KAAK46d,mBACL56d,KAAKotd,aAAc,CACvB,CAEAyN,aAAal+c,IACT3c,KAAK86d,WAAan+c,EACtB,CACAi+c,mBACQ56d,KAAK86d,aACL96d,KAAK86d,aACL96d,KAAK86d,WAAa,KAE1B,EAaJ,MAAM7E,WAAwBsE,GAY1B96d,YAEAs7d,GAAe1F,GAA2BU,GAASiF,GAKnDh1c,IACIwqB,QACAxwC,KAAK+6d,cAAgBA,GACrB/6d,KAAKq1d,0BAA4BA,GACjCr1d,KAAK+1d,QAAUA,GACf/1d,KAAKg7d,iBAAmBA,GAOxBh7d,KAAKw6d,gBAAmBvQ,KAMpB,MAAMn6b,GAAUm6b,GAAOn6b,QAMjBkkM,GAAah0N,KAAKgmB,UAAUuxK,cAAc,cAChDznK,GAAQ64B,WAAWk/G,aAAamsD,GAAYlkM,IAC5C9vB,KAAK+6d,cAActmb,YAAY3kB,IAC/B9vB,KAAKy6d,gBAAkBxQ,GACvBz5a,MAAMqqb,aAAa,KAEX7mQ,GAAWrrK,YACXqrK,GAAWrrK,WAAWy+P,aAAat3R,GAASkkM,GAAU,EAE7D,EAELh0N,KAAKgmB,UAAYA,EACrB,CAMA00c,sBAAsBzQ,IAKlB,MAAMgR,IAJYhR,GAAOmQ,0BAA4Bp6d,KAAKq1d,2BAIxB6F,wBAAwBjR,GAAOh2Y,WACjE,IAAIknZ,GAKJ,OAAIlR,GAAOwM,kBACP0E,GAAelR,GAAOwM,iBAAiB2E,gBAAgBH,GAAkBhR,GAAOwM,iBAAiBrke,OAAQ63d,GAAOxW,UAAYwW,GAAOwM,iBAAiBhjB,SAAUwW,GAAOoQ,uBAAoBhse,GACzL2R,KAAK66d,aAAa,IAAMM,GAAa1tc,aAMrC0tc,GAAeF,GAAiBzlc,OAAOy0b,GAAOxW,UAAYzzc,KAAKg7d,kBAAoBK,MAAS5jI,MAC5Fz3V,KAAK+1d,QAAQuF,WAAWH,GAAaI,UACrCv7d,KAAK66d,aAAa,KAGV76d,KAAK+1d,QAAQyF,UAAY,GACzBx7d,KAAK+1d,QAAQ0F,WAAWN,GAAaI,UAEzCJ,GAAa1tc,SAAQ,IAK7BztB,KAAK+6d,cAActmb,YAAYz0C,KAAK07d,sBAAsBP,KAC1Dn7d,KAAKy6d,gBAAkBxQ,GAChBkR,EACX,CAMAR,qBAAqB1Q,IACjB,IAAI0R,GAAgB1R,GAAOwM,iBACvBmF,GAAUD,GAAcE,mBAAmB5R,GAAOz5b,YAAay5b,GAAOt7W,QAAS,CAC/E8kW,SAAUwW,GAAOxW,WAMrBmoB,UAAQE,UAAU1wc,QAAQi0b,IAAYr/c,KAAK+6d,cAActmb,YAAY4qa,KAIrEuc,GAAQl/c,gBACR1c,KAAK66d,aAAa,KACd,IAAIxid,GAAQsjd,GAAc9pe,QAAQ+pe,KACpB,IAAVvjd,IACAsjd,GAAc3zc,OAAO3P,GAAK,GAGlCrY,KAAKy6d,gBAAkBxQ,GAEhB2R,EACX,CAIAhoc,UACI4c,MAAM5c,UACN5zB,KAAK+6d,cAAc/yc,QACvB,CAEA0zc,sBAAsBP,IAClB,OAAOA,GAAaI,SAASO,UAAU,EAC3C,EASJ,IAqDMC,GAAe,MAArB,MAAMA,WAAwBxB,GAC1B96d,YAAY41d,GAA2B7ic,GAKvCxM,IACIwqB,QACAxwC,KAAKq1d,0BAA4BA,GACjCr1d,KAAKwyB,kBAAoBA,GAEzBxyB,KAAKs6H,gBAAiB,EAEtBt6H,KAAK0uO,SAAW,IAAI5iN,MAOpB9rB,KAAKw6d,gBAAmBvQ,KAMpB,MAAMn6b,GAAUm6b,GAAOn6b,QAMjBkkM,GAAah0N,KAAKgmB,UAAUuxK,cAAc,cAChD0yR,GAAOiQ,gBAAgBl6d,MACvB8vB,GAAQ64B,WAAWk/G,aAAamsD,GAAYlkM,IAC5C9vB,KAAKg8d,eAAevnb,YAAY3kB,IAChC9vB,KAAKy6d,gBAAkBxQ,GACvBz5a,MAAMqqb,aAAa,KACX7mQ,GAAWrrK,YACXqrK,GAAWrrK,WAAWy+P,aAAat3R,GAASkkM,GAAU,EAE7D,EAELh0N,KAAKgmB,UAAYA,EACrB,CAEA,UAAIikc,GACA,OAAOjqd,KAAKy6d,eAChB,CACA,UAAIxQ,CAAOA,IAKHjqd,KAAK85c,gBAAkBmQ,KAAWjqd,KAAKs6H,iBAGvCt6H,KAAK85c,eACLtpa,MAAMvb,SAENg1b,IACAz5a,MAAMhc,OAAOy1b,IAEjBjqd,KAAKy6d,gBAAkBxQ,IAAU,KACrC,CAEA,eAAIgS,GACA,OAAOj8d,KAAKk8d,YAChB,CACArwd,WACI7L,KAAKs6H,gBAAiB,CAC1B,CACApsH,cACIsiC,MAAM5c,UACN5zB,KAAKk8d,aAAel8d,KAAKy6d,gBAAkB,IAC/C,CAOAC,sBAAsBzQ,IAClBA,GAAOiQ,gBAAgBl6d,MAGvB,MAAMy2d,GAA8C,MAA3BxM,GAAOwM,iBAA2BxM,GAAOwM,iBAAmBz2d,KAAKwyB,kBAEpFyoc,IADWhR,GAAOmQ,0BAA4Bp6d,KAAKq1d,2BACvB6F,wBAAwBjR,GAAOh2Y,WAC3Dw3L,GAAMgrN,GAAiB2E,gBAAgBH,GAAkBxE,GAAiBrke,OAAQ63d,GAAOxW,UAAYgjB,GAAiBhjB,SAAUwW,GAAOoQ,uBAAoBhse,GAIjK,OAAIooe,KAAqBz2d,KAAKwyB,mBAC1BxyB,KAAKg8d,eAAevnb,YAAYg3N,GAAI8vN,SAASO,UAAU,IAE3Dtrb,MAAMqqb,aAAa,IAAMpvN,GAAIh+O,WAC7BztB,KAAKy6d,gBAAkBxQ,GACvBjqd,KAAKk8d,aAAezwN,GACpBzrQ,KAAK0uO,SAASvpN,KAAKsmP,IACZA,EACX,CAMAkvN,qBAAqB1Q,IACjBA,GAAOiQ,gBAAgBl6d,MACvB,MAAM47d,GAAU57d,KAAKwyB,kBAAkBqpc,mBAAmB5R,GAAOz5b,YAAay5b,GAAOt7W,QAAS,CAC1F8kW,SAAUwW,GAAOxW,WAErB,OAAAjja,MAAMqqb,aAAa,IAAM76d,KAAKwyB,kBAAkBuiB,SAChD/0C,KAAKy6d,gBAAkBxQ,GACvBjqd,KAAKk8d,aAAeN,GACpB57d,KAAK0uO,SAASvpN,KAAKy2c,IACZA,EACX,CAEAI,eACI,MAAM30c,GAAgBrnB,KAAKwyB,kBAAkB1C,QAAQzI,cAGrD,OAAQA,GAAcygI,WAAazgI,GAAc8gI,aAC3C9gI,GACAA,GAAcshC,UACxB,QACS3oD,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFwtd,IA5KV97d,MA4K2CA,OA5K3CA,MA4KmFA,OA5KnFA,MA4KmHwoB,MAAQ,CAA8C,QAChQzoB,KAAKi4B,UA7KkFh4B,MAAE,CAAAgO,KA6KJ8td,GAAeptd,UAAA,4BAAAgH,OAAA,CAAAs0c,OAAA,CA7Kbhqd,MAAEwwB,KAAA,6BAAAC,QAAA,CAAAg+M,SAAA,YAAA1lN,SAAA,oBAAAC,YAAA,EAAAC,SAAA,CAAFjpB,QA6K+N,EAClU,OAjIK87d,EAAe,KA8Kf/D,GAAY,MAAlB,MAAMA,UACOh4d,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFypd,GAAY,CAAoD,QACjKh4d,KAAKm4B,UA7NkFl4B,KAAE,CAAAgO,KA6NS+pd,IAA2L,QAC7Rh4d,KAAKo4B,UA9NkFn4B,MAAE,GA8N0B,EAC/H,OAJK+3d,EAAY,4PC7XlB,IAIMmE,GAAgB,MAAtB,MAAMA,GACF18d,YAAY8rB,GAASskb,GAAW5ic,IAC5BjN,KAAKurB,QAAUA,GACfvrB,KAAK6vc,UAAYA,GAEjB7vc,KAAKo8d,UAAY,IAAI91c,IAErBtmB,KAAKq8d,oBAAsB,KAE3Br8d,KAAKs8d,eAAiB,EAKtBt8d,KAAK8md,iBAAmB,IAAI7jb,IAC5BjjC,KAAKgmB,UAAY/Y,EACrB,CAMAo4K,SAASkhS,IACAvmd,KAAK8md,iBAAiBrtb,IAAI8sb,KAC3Bvmd,KAAK8md,iBAAiB5jb,IAAIqjb,GAAYA,GAAWgW,kBAAkBlwd,UAAU,IAAMrM,KAAKo8d,UAAUzvd,KAAK45c,KAE/G,CAKA19R,WAAW09R,IACP,MAAMiW,GAAsBx8d,KAAK8md,iBAAiBp+c,IAAI69c,IAClDiW,KACAA,GAAoBrud,cACpBnO,KAAK8md,iBAAiBp/a,OAAO6+a,IAErC,CAWAD,SAASmW,GArDe,IAsDpB,OAAKz8d,KAAK6vc,UAAUG,UAGb,IAAIlnQ,IAAYj/C,KACd7pJ,KAAKq8d,qBACNr8d,KAAK08d,qBAIT,MAAMrhC,GAAeohC,GAAgB,EAC/Bz8d,KAAKo8d,UAAUvxd,QAAKq0B,KAAUu9b,KAAgBpwd,UAAUw9I,IACxD7pJ,KAAKo8d,UAAU/vd,UAAUw9I,IAC/B,OAAA7pJ,KAAKs8d,iBACE,KACHjhC,GAAaltb,cACbnO,KAAKs8d,iBACAt8d,KAAKs8d,gBACNt8d,KAAK28d,uBAAsB,CAEnC,IACH,EAnBUxod,OAoBf,CACAjG,cACIlO,KAAK28d,wBACL38d,KAAK8md,iBAAiB17b,QAAQ,CAACq2C,GAAG9uB,KAAc3yC,KAAK6oL,WAAWl2I,KAChE3yC,KAAKo8d,UAAUj1c,UACnB,CAOAy1c,iBAAiBC,GAAqBJ,IAClC,MAAMK,GAAY98d,KAAK+8d,4BAA4BF,IACnD,OAAO78d,KAAKsmd,SAASmW,IAAe5xd,QAAKnd,KAAOo7D,KACpCA,IAAUg0a,GAAUjre,QAAQi3D,KAAU,GAEtD,CAEAi0a,4BAA4BF,IACxB,MAAMG,GAAsB,GAC5B,OAAAh9d,KAAK8md,iBAAiB17b,QAAQ,CAAC6xc,GAAe1W,MACtCvmd,KAAKk9d,2BAA2B3W,GAAYsW,KAC5CG,GAAoBl7b,KAAKykb,GAAU,GAGpCyW,EACX,CAEA9c,aACI,OAAOlgd,KAAKgmB,UAAUsoI,aAAe15I,MACzC,CAEAsod,2BAA2B3W,GAAYsW,IACnC,IAAI/sc,MAAUsvb,MAAcyd,IACxBM,GAAoB5W,GAAWE,gBAAgBp/b,cAGnD,MACQyI,IAAWqtc,GACX,OAAO,QAELrtc,GAAUA,GAAQ66H,eAC5B,OAAO,CACX,CAEA+xU,qBACI18d,KAAKq8d,oBAAsBr8d,KAAKurB,QAAQ41H,kBAAkB,KACtD,MAAMvsI,GAAS5U,KAAKkgd,aACpB,SAAOjhb,KAAUrqB,GAAO3H,SAAU,UAAUZ,UAAU,IAAMrM,KAAKo8d,UAAUzvd,OAAM,EAEzF,CAEAgwd,wBACQ38d,KAAKq8d,sBACLr8d,KAAKq8d,oBAAoBlud,cACzBnO,KAAKq8d,oBAAsB,KAEnC,QACSr8d,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF4td,IArKVl8d,MAqK4CA,OArK5CA,MAqKkEC,OArKlED,MAqK0FwoB,MAAQ,IAA+D,QACxPzoB,KAAKszD,WAtKkFrzD,MAAE,CAAAhQ,MAsKYkse,GAAgB17d,QAAhB07d,GAAgBz7d,UAAAC,WAAc,QAAW,EAC1J,OAnIKw7d,EAAgB,KAmJhBiB,GAAa,MAAnB,MAAMA,GACF39d,YAAY42d,GAAYgH,GAAkB71R,GAAQzzK,IAC9C/zB,KAAKq2d,WAAaA,GAClBr2d,KAAKq9d,iBAAmBA,GACxBr9d,KAAKwnM,OAASA,GACdxnM,KAAK+zB,IAAMA,GACX/zB,KAAK+0L,WAAa,IAAIzuK,IACtBtmB,KAAKs9d,iBAAmB,IAAIx0R,IAAYj/C,IAAa7pJ,KAAKwnM,OAAOrmD,kBAAkB,OAAMliH,KAAUj/B,KAAKq2d,WAAWhvc,cAAe,UAC7Hxc,QAAKgqB,MAAU70B,KAAK+0L,aACpB1oL,UAAUw9I,KACnB,CACAh+I,WACI7L,KAAKq9d,iBAAiBh4S,SAASrlL,KACnC,CACAkO,cACIlO,KAAKq9d,iBAAiBx0S,WAAW7oL,MACjCA,KAAK+0L,WAAWpoL,OAChB3M,KAAK+0L,WAAW5tK,UACpB,CAEAo1c,kBACI,OAAOv8d,KAAKs9d,gBAChB,CAEA7W,gBACI,OAAOzmd,KAAKq2d,UAChB,CASA6C,SAAStyc,IACL,MAAMsS,GAAKl5B,KAAKq2d,WAAWhvc,cACrBurc,GAAQ5yd,KAAK+zB,KAAyB,OAAlB/zB,KAAK+zB,IAAIzmC,MAEf,MAAhBs5B,GAAQipB,OACRjpB,GAAQipB,KAAO+ib,GAAQhsc,GAAQ+iF,IAAM/iF,GAAQ8tB,OAE5B,MAAjB9tB,GAAQy0E,QACRz0E,GAAQy0E,MAAQu3X,GAAQhsc,GAAQ8tB,MAAQ9tB,GAAQ+iF,KAG9B,MAAlB/iF,GAAQ27I,SACR37I,GAAQqpB,IACJ/W,GAAGi2Q,aAAej2Q,GAAG+yH,aAAerlI,GAAQ27I,QAGhDqwT,OAASuG,UAA0BR,MAAkBC,QACjC,MAAhBhyc,GAAQipB,OACRjpB,GAAQy0E,MACJniE,GAAGk2Q,YAAcl2Q,GAAG4F,YAAclY,GAAQipB,SAE9Cspb,UAA0BR,MAAkBG,SAC5Clyc,GAAQipB,KAAOjpB,GAAQy0E,SAElB89X,UAA0BR,MAAkBE,UACjDjyc,GAAQipB,KAAOjpB,GAAQy0E,OAASz0E,GAAQy0E,MAAQz0E,GAAQy0E,QAIvC,MAAjBz0E,GAAQy0E,QACRz0E,GAAQipB,KACJ3W,GAAGk2Q,YAAcl2Q,GAAG4F,YAAclY,GAAQy0E,OAGtDr7F,KAAKu9d,sBAAsB32c,GAC/B,CACA22c,sBAAsB32c,IAClB,MAAMsS,GAAKl5B,KAAKq2d,WAAWhvc,eAC3B,EAAI+9b,SACAlsb,GAAGggc,SAAStyc,KAGO,MAAfA,GAAQqpB,MACR/W,GAAGnJ,UAAYnJ,GAAQqpB,KAEP,MAAhBrpB,GAAQipB,OACR3W,GAAGq/H,WAAa3xI,GAAQipB,MAGpC,CAUA2tb,oBAAoBtma,IAChB,MAAM2tS,GAAO,OAEP3rU,GAAKl5B,KAAKq2d,WAAWhvc,cAC3B,GAAY,OAAR6vC,GACA,OAAOh+B,GAAGnJ,UAEd,GAAY,UAARmnC,GACA,OAAOh+B,GAAGi2Q,aAAej2Q,GAAG+yH,aAAe/yH,GAAGnJ,UAGlD,MAAM6ic,GAAQ5yd,KAAK+zB,KAAyB,OAAlB/zB,KAAK+zB,IAAIzmC,MAOnC,MANY,SAAR4pE,GACAA,GAAO07Z,GAXG,QAWa/tH,GAEV,OAAR3tS,KACLA,GAAO07Z,GAAQ/tH,GAdL,SAgBV+tH,OAASuG,UAA0BR,MAAkBG,SAGjD5ha,IAAQ2tS,GACD3rU,GAAGk2Q,YAAcl2Q,GAAG4F,YAAc5F,GAAGq/H,WAGrCr/H,GAAGq/H,WAGTq6T,OAASuG,UAA0BR,MAAkBE,QAGtD3ha,IAAQ2tS,GACD3rU,GAAGq/H,WAAar/H,GAAGk2Q,YAAcl2Q,GAAG4F,aAGnC5F,GAAGq/H,WAMXrhG,IAAQ2tS,GACD3rU,GAAGq/H,WAGHr/H,GAAGk2Q,YAAcl2Q,GAAG4F,YAAc5F,GAAGq/H,UAGxD,QACSv4J,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF6ud,IAtUVn9d,MAsUyCA,OAtUzCA,MAsUmEk8d,IAtUnEl8d,MAsUgGA,OAtUhGA,MAsUsHE,MAAiB,IAA8D,QAC5RH,KAAKi4B,UAvUkFh4B,MAAE,CAAAgO,KAuUJmvd,GAAazud,UAAA,mDAAAsa,YAAA,GAAsF,EACpM,OAjJKm0c,EAAa,KAkKbK,GAAa,MAAnB,MAAMA,GACFh+d,YAAYowc,GAAWroQ,GAAQv6L,IAC3BjN,KAAK6vc,UAAYA,GAEjB7vc,KAAK09d,QAAU,IAAIp3c,IAEnBtmB,KAAK29d,gBAAmBnyd,KACpBxL,KAAK09d,QAAQ/wd,KAAKnB,GAAK,EAE3BxL,KAAKgmB,UAAY/Y,GACjBu6L,GAAOrmD,kBAAkB,KACrB,GAAI0uT,GAAUG,UAAW,CACrB,MAAMp7b,GAAS5U,KAAKkgd,aAGpBtrc,GAAO8e,iBAAiB,SAAU1zB,KAAK29d,iBACvC/od,GAAO8e,iBAAiB,oBAAqB1zB,KAAK29d,gBACtD,CAGA39d,KAAKg2B,SAAS3pB,UAAU,IAAOrM,KAAK49d,cAAgB,KAAK,EAEjE,CACA1vd,cACI,GAAIlO,KAAK6vc,UAAUG,UAAW,CAC1B,MAAMp7b,GAAS5U,KAAKkgd,aACpBtrc,GAAOif,oBAAoB,SAAU7zB,KAAK29d,iBAC1C/od,GAAOif,oBAAoB,oBAAqB7zB,KAAK29d,gBACzD,CACA39d,KAAK09d,QAAQv2c,UACjB,CAEA8+b,kBACSjmd,KAAK49d,eACN59d,KAAK69d,sBAET,MAAM3zb,GAAS,CAAEyF,MAAO3vC,KAAK49d,cAAcjub,MAAOK,OAAQhwC,KAAK49d,cAAc5tb,QAE7E,OAAKhwC,KAAK6vc,UAAUG,YAChBhwc,KAAK49d,cAAgB,MAElB1zb,EACX,CAEA4zb,kBAUI,MAAMnX,GAAiB3md,KAAK2ld,6BACpBh2a,SAAOK,WAAWhwC,KAAKimd,kBAC/B,MAAO,CACHh2a,IAAK02a,GAAe12a,IACpBJ,KAAM82a,GAAe92a,KACrB0yH,OAAQokT,GAAe12a,IAAMD,GAC7BqrD,MAAOsrX,GAAe92a,KAAOF,GAC7BK,UACAL,SAER,CAEAg2a,4BAGI,IAAK3ld,KAAK6vc,UAAUG,UAChB,MAAO,CAAE//Z,IAAK,EAAGJ,KAAM,GAQ3B,MAAM5iC,GAAWjN,KAAKgmB,UAChBpR,GAAS5U,KAAKkgd,aACdrhb,GAAkB5xB,GAAS4xB,gBAC3Bk/b,GAAel/b,GAAgBovH,wBAWrC,MAAO,CAAEh+G,KAVI8tb,GAAa9tb,KACtBhjC,GAASzjB,KAAKumC,WACdnb,GAAOopd,SACPn/b,GAAgB9O,WAChB,EAMU8f,MALAkub,GAAalub,MACvB5iC,GAASzjB,KAAK+uK,YACd3jJ,GAAOqpd,SACPp/b,GAAgB05H,YAChB,EAER,CAMAviI,OAAO0/B,GAxGiB,IAyGpB,OAAOA,GAAe,EAAI11D,KAAK09d,QAAQ7yd,QAAKq0B,KAAUw2B,KAAiB11D,KAAK09d,OAChF,CAEAxd,aACI,OAAOlgd,KAAKgmB,UAAUsoI,aAAe15I,MACzC,CAEAipd,sBACI,MAAMjpd,GAAS5U,KAAKkgd,aACpBlgd,KAAK49d,cAAgB59d,KAAK6vc,UAAUG,UAC9B,CAAErga,MAAO/6B,GAAO4kJ,WAAYxpH,OAAQp7B,GAAO6kJ,aAC3C,CAAE9pH,MAAO,EAAGK,OAAQ,EAC9B,QACShwC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFkvd,IA1cVx9d,MA0cyCC,OA1czCD,MA0ciEA,OA1cjEA,MA0cuFwoB,MAAQ,IAA+D,QACrPzoB,KAAKszD,WA3ckFrzD,MAAE,CAAAhQ,MA2cYwte,GAAah9d,QAAbg9d,GAAa/8d,UAAAC,WAAc,QAAW,EACvJ,OAnHK88d,EAAa,KAq4Bb/kc,GAAmB,MAAzB,MAAMA,UACO14B,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFmqB,GAAmB,CAAoD,QACxK14B,KAAKm4B,UAhuCkFl4B,KAAE,CAAAgO,KAguCSyqB,IAA4E,QAC9K14B,KAAKo4B,UAjuCkFn4B,MAAE,GAiuCiC,EACtI,OAJKy4B,EAAmB,KAenB3gB,GAAe,MAArB,MAAMA,UACO/X,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFwJ,GAAe,CAAoD,QACpK/X,KAAKm4B,UA/uCkFl4B,KAAE,CAAAgO,KA+uCS8J,IAQlE,QAChC/X,KAAKo4B,UAxvCkFn4B,MAAE,CAAAq4B,QAAA,CAwvCoCqqb,MAC9Hjqb,GAAqBiqb,MAAYjqb,KAAyB,EACrE,OAbK3gB,EAAe,6ZCl6CrB,IAAImmd,EAAO,KACX,SAASC,IACL,OAAOD,CACX,CACA,SAASE,EAAkBC,IACvBH,IAASG,EACb,CAQA,MAAMC,GAuBN,MAAM71c,EAAW,IAAI5C,MAA6C,IAElE,IAsBM04c,EAAgB,MAAtB,MAAMA,GACFC,UAAUC,IACN,MAAM,IAAI52b,MAAsC,GACpD,QACS7nC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFgwd,GAAgB,CAAsD,QACxKv+d,KAAKszD,WA5CmFrzD,MAAE,CAAAhQ,MA4CYsue,GAAgB99d,eAA4CwwB,OAAOytc,GAAwB/9d,WAA7D,YAAkE,EAClN,OANK49d,EAAgB,KAiBtB,MAAMI,EAAuB,IAAI94c,MAAoD,IACrF,IAOM64c,EAAuB,MAA7B,MAAMA,WAAgCH,EAClC9+d,cACI+wC,QACAxwC,KAAKy8F,QAAOxrE,OAAOxI,GACnBzoB,KAAKuhH,UAAY3sG,OAAOC,SACxB7U,KAAK4hH,SAAWhtG,OAAO42E,OAC3B,CACAozY,qBACI,OAAOT,IAAS1zU,YAAYzqJ,KAAKy8F,KACrC,CACAoiY,WAAWlid,IACP,MAAM/H,GAASupd,IAASW,qBAAqB9+d,KAAKy8F,KAAM,UACxD7nF,UAAO8e,iBAAiB,WAAY/W,IAAI,GACjC,IAAM/H,GAAOif,oBAAoB,WAAYlX,GACxD,CACAoid,aAAapid,IACT,MAAM/H,GAASupd,IAASW,qBAAqB9+d,KAAKy8F,KAAM,UACxD7nF,UAAO8e,iBAAiB,aAAc/W,IAAI,GACnC,IAAM/H,GAAOif,oBAAoB,aAAclX,GAC1D,CACA,QAAI7H,GACA,OAAO9U,KAAKuhH,UAAUzsG,IAC1B,CACA,YAAIiqF,GACA,OAAO/+F,KAAKuhH,UAAUxiB,QAC1B,CACA,YAAIigY,GACA,OAAOh/d,KAAKuhH,UAAUy9W,QAC1B,CACA,QAAIl3X,GACA,OAAO9nG,KAAKuhH,UAAUzZ,IAC1B,CACA,YAAI1jC,GACA,OAAOpkE,KAAKuhH,UAAUn9C,QAC1B,CACA,UAAIhO,GACA,OAAOp2D,KAAKuhH,UAAUnrD,MAC1B,CACA,QAAIhrB,GACA,OAAOprC,KAAKuhH,UAAUn2E,IAC1B,CACA,YAAIg5B,CAAS66Z,IACTj/d,KAAKuhH,UAAUn9C,SAAW66Z,EAC9B,CACAn9W,UAAU94H,GAAOkiF,GAAOtwC,IACpB56B,KAAK4hH,SAASE,UAAU94H,GAAOkiF,GAAOtwC,GAC1C,CACAmnF,aAAa/4H,GAAOkiF,GAAOtwC,IACvB56B,KAAK4hH,SAASG,aAAa/4H,GAAOkiF,GAAOtwC,GAC7C,CACA8gR,UACI17S,KAAK4hH,SAAS85L,SAClB,CACAD,OACIz7S,KAAK4hH,SAAS65L,MAClB,CACA+iL,UAAUC,GAAmB,GACzBz+d,KAAK4hH,SAASs9W,GAAGT,GACrB,CACAU,WACI,OAAOn/d,KAAK4hH,SAAS54H,KACzB,QACSgX,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFmwd,GAAuB,CAAsD,QAC/K1+d,KAAKszD,WA/HmFrzD,MAAE,CAAAhQ,MA+HYyue,GAAuBj+d,YAA4C,IAAIi+d,GAAyB/9d,WAA3D,YAAgE,EACvN,OAhEK+9d,EAAuB,KAkF7B,SAASU,GAAc1qb,GAAOi1D,IAC1B,GAAoB,GAAhBj1D,GAAMtiD,OACN,OAAOu3G,GAEX,GAAkB,GAAdA,GAAIv3G,OACJ,OAAOsiD,GAEX,IAAI2qb,GAAU,EAOd,OANI3qb,GAAMnP,SAAS,MACf85b,KAEA11X,GAAIr6E,WAAW,MACf+vc,KAEW,GAAXA,GACO3qb,GAAQi1D,GAAIt0F,UAAU,GAElB,GAAXgqd,GACO3qb,GAAQi1D,GAEZj1D,GAAQ,IAAMi1D,EACzB,CAUA,SAAS21X,GAAmB1kc,IACxB,MAAM6iC,GAAQ7iC,GAAI6iC,MAAM,UAClB8ha,GAAc9ha,IAASA,GAAMplD,OAAUuiB,GAAIxoC,OAEjD,OAAOwoC,GAAIgH,MAAM,EADO29b,IAAsC,MAAxB3kc,GAAI2kc,GAAa,GAAa,EAAI,IACjC3kc,GAAIgH,MAAM29b,GACrD,CAQA,SAASC,GAAqBpyd,IAC1B,OAAOA,IAAwB,MAAdA,GAAO,GAAa,IAAMA,GAASA,EACxD,CAEA,IAiBMqyd,GAAgB,MAAtB,MAAMA,GACFjB,UAAUC,IACN,MAAM,IAAI52b,MAAsC,GACpD,QACS7nC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFkxd,GAAgB,CAAsD,QACxKz/d,KAAKszD,WAxNmFrzD,MAAE,CAAAhQ,MAwNYwve,GAAgBh/d,eAAwCwwB,OAAOyuc,IAAqB/+d,WAAtD,QAA2D,EAC3M,OANK8+d,EAAgB,KAkCtB,MAAME,GAAgB,IAAI95c,MAA2C,IACrE,IA+BM65c,GAAoB,MAA1B,MAAMA,WAA6BD,GAC/Bhge,YAAYmge,GAAmB9qd,IAC3B07B,QACAxwC,KAAK4/d,kBAAoBA,GACzB5/d,KAAK6/d,mBAAqB,GAC1B7/d,KAAK8/d,UACDhrd,IACI9U,KAAK4/d,kBAAkBhB,uBAAmB,EAC1C3tc,OAAOxI,GAAU5T,UAAU8R,QAC3B,EACZ,CAEAzY,cACI,KAAOlO,KAAK6/d,mBAAmBzte,QAC3B4N,KAAK6/d,mBAAmBx2O,KAAxBrpP,EAER,CACA6+d,WAAWlid,IACP3c,KAAK6/d,mBAAmB/9b,KAAK9hC,KAAK4/d,kBAAkBf,WAAWlid,IAAK3c,KAAK4/d,kBAAkBb,aAAapid,IAC5G,CACA8tI,cACI,OAAOzqJ,KAAK8/d,SAChB,CACAC,mBAAmB9oV,IACf,OAAOmoV,GAAcp/d,KAAK8/d,UAAW7oV,GACzC,CACApgJ,KAAKmpe,IAAc,GACf,MAAM57Z,GAAWpkE,KAAK4/d,kBAAkBx7Z,SAAWo7Z,GAAqBx/d,KAAK4/d,kBAAkBxpa,QACzFhrB,GAAOprC,KAAK4/d,kBAAkBx0b,KACpC,OAAOA,IAAQ40b,GAAc,GAAG57Z,KAAWh5B,KAASg5B,EACxD,CACA09C,UAAU94H,GAAOkiF,GAAOtwC,GAAKruB,IACzB,MAAM0zd,GAAcjge,KAAK+/d,mBAAmBnlc,GAAM4kc,GAAqBjzd,KACvEvM,KAAK4/d,kBAAkB99W,UAAU94H,GAAOkiF,GAAO+0Z,GACnD,CACAl+W,aAAa/4H,GAAOkiF,GAAOtwC,GAAKruB,IAC5B,MAAM0zd,GAAcjge,KAAK+/d,mBAAmBnlc,GAAM4kc,GAAqBjzd,KACvEvM,KAAK4/d,kBAAkB79W,aAAa/4H,GAAOkiF,GAAO+0Z,GACtD,CACAvkL,UACI17S,KAAK4/d,kBAAkBlkL,SAC3B,CACAD,OACIz7S,KAAK4/d,kBAAkBnkL,MAC3B,CACA0jL,WACI,OAAOn/d,KAAK4/d,kBAAkBT,UAClC,CACAX,UAAUC,GAAmB,GACzBz+d,KAAK4/d,kBAAkBpB,YAAYC,GACvC,QACSz+d,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFmxd,IAxUVz/d,MAwUgDs+d,GAxUhDt+d,MAwU6E0/d,GAAa,IAA+D,QACjP3/d,KAAKszD,WAzUmFrzD,MAAE,CAAAhQ,MAyUYyve,GAAoBj/d,QAApBi/d,GAAoBh/d,UAAAC,WAAc,QAAW,EAC/J,OArDK++d,EAAoB,KAkFpBQ,GAAoB,MAA1B,MAAMA,WAA6BT,GAC/Bhge,YAAYmge,GAAmBE,IAC3Btvb,QACAxwC,KAAK4/d,kBAAoBA,GACzB5/d,KAAK8/d,UAAY,GACjB9/d,KAAK6/d,mBAAqB,GACT,MAAbC,KACA9/d,KAAK8/d,UAAYA,GAEzB,CAEA5xd,cACI,KAAOlO,KAAK6/d,mBAAmBzte,QAC3B4N,KAAK6/d,mBAAmBx2O,KAAxBrpP,EAER,CACA6+d,WAAWlid,IACP3c,KAAK6/d,mBAAmB/9b,KAAK9hC,KAAK4/d,kBAAkBf,WAAWlid,IAAK3c,KAAK4/d,kBAAkBb,aAAapid,IAC5G,CACA8tI,cACI,OAAOzqJ,KAAK8/d,SAChB,CACAjpe,KAAKmpe,IAAc,GAGf,MAAMnpe,GAAOmJ,KAAK4/d,kBAAkBx0b,MAAQ,IAC5C,OAAOv0C,GAAKzE,OAAS,EAAIyE,GAAKwe,UAAU,GAAKxe,EACjD,CACAkpe,mBAAmB9oV,IACf,MAAMr8G,GAAMwkc,GAAcp/d,KAAK8/d,UAAW7oV,IAC1C,OAAOr8G,GAAIxoC,OAAS,EAAI,IAAMwoC,GAAMA,EACxC,CACAknF,UAAU94H,GAAOkiF,GAAOr0E,GAAM0V,IAC1B,IAAIquB,GAAM56B,KAAK+/d,mBAAmBlpe,GAAO2oe,GAAqBjzd,KAC5C,GAAdquB,GAAIxoC,SACJwoC,GAAM56B,KAAK4/d,kBAAkBx7Z,UAEjCpkE,KAAK4/d,kBAAkB99W,UAAU94H,GAAOkiF,GAAOtwC,GACnD,CACAmnF,aAAa/4H,GAAOkiF,GAAOr0E,GAAM0V,IAC7B,IAAIquB,GAAM56B,KAAK+/d,mBAAmBlpe,GAAO2oe,GAAqBjzd,KAC5C,GAAdquB,GAAIxoC,SACJwoC,GAAM56B,KAAK4/d,kBAAkBx7Z,UAEjCpkE,KAAK4/d,kBAAkB79W,aAAa/4H,GAAOkiF,GAAOtwC,GACtD,CACA8gR,UACI17S,KAAK4/d,kBAAkBlkL,SAC3B,CACAD,OACIz7S,KAAK4/d,kBAAkBnkL,MAC3B,CACA0jL,WACI,OAAOn/d,KAAK4/d,kBAAkBT,UAClC,CACAX,UAAUC,GAAmB,GACzBz+d,KAAK4/d,kBAAkBpB,YAAYC,GACvC,QACSz+d,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF2xd,IAjaVjge,MAiagDs+d,GAjahDt+d,MAia6E0/d,GAAa,IAA+D,QACjP3/d,KAAKszD,WAlamFrzD,MAAE,CAAAhQ,MAkaYiwe,GAAoBz/d,QAApBy/d,GAAoBx/d,WAAK,EAC3I,OA5DKw/d,EAAoB,KAkGpBltV,GAAQ,MAAd,MAAMA,GACFvzI,YAAY0ge,IAERnge,KAAKoge,SAAW,IAAIt0c,MAEpB9rB,KAAKqge,oBAAsB,GAE3Brge,KAAKsge,uBAAyB,KAC9Btge,KAAKuge,kBAAoBJ,GACzB,MAAMK,GAAWxge,KAAKuge,kBAAkB91U,cAOxCzqJ,KAAKyge,UA6Nb,SAASC,GAAaF,IAOlB,GADsB,IAAIhxZ,OAAO,iBAAiB2rB,KAAKqlY,IACpC,CACf,MAAM,CAAGp8Z,IAAYo8Z,GAASr1c,MAAM,cACpC,OAAOi5C,EACX,CACA,OAAOo8Z,EACX,CAzOyBE,CAAapB,GAAmBqB,GAAgBH,MACjExge,KAAKuge,kBAAkB1B,WAAYtvb,KAC/BvvC,KAAKoge,SAASj7c,KAAK,CACfyV,IAAO56B,KAAKnJ,MAAK,GACjBwyP,KAAO,EACPrgQ,MAASumD,GAAGvmD,MACZilB,KAAQshC,GAAGthC,MACd,EAET,CAEAC,cACIlO,KAAKsge,wBAAwBnyd,cAC7BnO,KAAKqge,oBAAsB,EAC/B,CAUAxpe,KAAKmpe,IAAc,GACf,OAAOhge,KAAK4/M,UAAU5/M,KAAKuge,kBAAkB1pe,KAAKmpe,IACtD,CAKAb,WACI,OAAOn/d,KAAKuge,kBAAkBpB,UAClC,CAUAyB,qBAAqB/pe,GAAMsgB,GAAQ,IAC/B,OAAOnX,KAAKnJ,QAAUmJ,KAAK4/M,UAAU/oN,GAAO2oe,GAAqBrod,IACrE,CAQAyoM,UAAUhlL,IACN,OAAOo4G,GAASssV,mBA0JxB,SAASuB,GAAen7I,GAAU9qT,IAC9B,IAAK8qT,KAAa9qT,GAAItL,WAAWo2T,IAC7B,OAAO9qT,GAEX,MAAMkmc,GAAclmc,GAAIvlB,UAAUqwU,GAAStzV,QAC3C,MAAoB,KAAhB0ue,IAAsB,CAAC,IAAK,IAAK,IAAK,KAAK3oe,SAAS2oe,GAAY,IACzDA,GAEJlmc,EACX,CAnK2Cimc,CAAe7ge,KAAKyge,UAAWE,GAAgB/lc,KACtF,CAWAmlc,mBAAmBnlc,IACf,OAAIA,IAAkB,MAAXA,GAAI,KACXA,GAAM,IAAMA,IAET56B,KAAKuge,kBAAkBR,mBAAmBnlc,GACrD,CAWAskc,GAAGroe,GAAMsgB,GAAQ,GAAInuB,GAAQ,MACzBgX,KAAKuge,kBAAkBz+W,UAAU94H,GAAO,GAAI6N,GAAMsgB,IAClDnX,KAAK+ge,0BAA0B/ge,KAAK+/d,mBAAmBlpe,GAAO2oe,GAAqBrod,KAASnuB,GAChG,CASA+4H,aAAalrH,GAAMsgB,GAAQ,GAAInuB,GAAQ,MACnCgX,KAAKuge,kBAAkBx+W,aAAa/4H,GAAO,GAAI6N,GAAMsgB,IACrDnX,KAAK+ge,0BAA0B/ge,KAAK+/d,mBAAmBlpe,GAAO2oe,GAAqBrod,KAASnuB,GAChG,CAIA0yT,UACI17S,KAAKuge,kBAAkB7kL,SAC3B,CAIAD,OACIz7S,KAAKuge,kBAAkB9kL,MAC3B,CAaA+iL,UAAUC,GAAmB,GACzBz+d,KAAKuge,kBAAkB/B,YAAYC,GACvC,CAQAuC,YAAYrkd,IACR,OAAA3c,KAAKqge,oBAAoBv+b,KAAKnlB,IAC9B3c,KAAKsge,yBAA2Btge,KAAKqM,UAAW0lB,KAC5C/xB,KAAK+ge,0BAA0Bhvc,GAAE6I,IAAK7I,GAAE/oC,MAAK,GAE1C,KACH,MAAMi4e,GAAUjhe,KAAKqge,oBAAoBxue,QAAQ8qB,IACjD3c,KAAKqge,oBAAoBhxb,OAAO4xb,GAAS,GACD,IAApCjhe,KAAKqge,oBAAoBjue,SACzB4N,KAAKsge,wBAAwBnyd,cAC7BnO,KAAKsge,uBAAyB,MAG1C,CAEAS,0BAA0Bnmc,GAAM,GAAI5xC,IAChCgX,KAAKqge,oBAAoBj1c,QAASzO,IAAOA,GAAGie,GAAK5xC,IACrD,CAcAqjB,UAAU43b,GAAQi9B,GAASC,IACvB,OAAOnhe,KAAKoge,SAAS/zd,UAAU,CAAEM,KAAMs3b,GAAQn1c,MAAOoye,GAAS/5c,SAAUg6c,IAC7E,QAQSnhe,KAAKw/d,qBAAuBA,EAAsB,QAUlDx/d,KAAKo/d,cAAgBA,EAAe,QAUpCp/d,KAAKs/d,mBAAqBA,EAAoB,QAC9Ct/d,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFykI,IA3pBV/yI,MA2pBoCw/d,IAAgB,CAA+C,QAC3Lz/d,KAAKszD,WA5pBmFrzD,MAAE,CAAAhQ,MA4pBY+iJ,GAAQvyI,YAU3H,SAAS2ge,KACL,OAAO,IAAIpuV,MAASquV,OAAS5B,IACjC,CAZ6J2B,GAAczge,WAAlC,QAAuC,EAC/K,OApNKqyI,EAAQ,KA0Od,SAAS2tV,GAAgB/lc,IACrB,OAAOA,GAAIvsB,QAAQ,gBAAiB,GACxC,CAyBA,IAkCIizd,GACH,SAAUA,IACPA,UAAUA,GAAUn9H,OAAY,GAAK,SACrCm9H,GAAUA,GAAUC,WAAgB,GAAK,aAFlCD,EAGX,CAHC,CAGEA,IAA0B,CAAC,GAQ1BE,GACH,SAAUA,IAEPA,UAAiBA,GAAiBC,OAAY,GAAK,SAEnDD,GAAiBA,GAAiBE,YAAiB,GAAK,cAExDF,GAAiBA,GAAiBG,KAAU,GAAK,OAEjDH,GAAiBA,GAAiBI,MAAW,GAAK,QAR3CJ,EASX,CATC,CASEA,IAAwC,CAAC,GAYxCK,GACH,SAAUA,IAKPA,UAAYA,GAAYD,MAAW,GAAK,QAKxCC,GAAYA,GAAYC,OAAY,GAAK,SAKzCD,GAAYA,GAAYE,KAAU,GAAK,OAKvCF,GAAYA,GAAYG,KAAU,GAAK,OApBhCH,EAqBX,CArBC,CAqBEA,IAA8B,CAAC,GAalC,MAAMI,GAAe,CAMjBC,QAAS,EAMTtvT,MAAO,EAKPuvT,KAAM,EAKNC,YAAa,EAKbC,SAAU,EAKVC,UAAW,EAKXC,YAAa,EAKbC,uBAAwB,EAKxBC,SAAU,EAKV/1R,SAAU,EAKVse,IAAK,GAKL03Q,cAAe,GAKfC,gBAAiB,GAKjBC,cAAe,IA6DnB,SAASC,GAAkB9we,GAAQ+we,GAAWnzb,IAC1C,MAAMviD,MAAO21e,OAAgBhxe,IAKvB43F,GAAOq5Y,GAJI,CACb51e,GAAK61e,MAAiBC,YACtB91e,GAAK61e,MAAiBE,iBAEiBL,IAC3C,OAAOE,GAAoBr5Y,GAAMh6C,GACrC,CAaA,SAASyzb,GAAoBrxe,GAAQ+we,GAAWnzb,IAC5C,MAAMviD,MAAO21e,OAAgBhxe,IAKvBk5a,GAAS+3D,GAJI,CACf51e,GAAK61e,MAAiBI,cACtBj2e,GAAK61e,MAAiBK,mBAEqBR,IAC/C,OAAOE,GAAoB/3D,GAAQt7X,GACvC,CAwDA,SAAS4zb,GAAoBxxe,GAAQ49C,IAEjC,OAAOqzb,IADD51e,EAAO21e,OAAgBhxe,IACGkxe,MAAiBO,YAAa7zb,GAClE,CAYA,SAAS8zb,GAAoB1xe,GAAQ49C,IAEjC,OAAOqzb,IADD51e,EAAO21e,OAAgBhxe,IACGkxe,MAAiBS,YAAa/zb,GAClE,CAYA,SAASg0b,GAAwB5xe,GAAQ49C,IAGrC,OAAOqzb,IADDY,EADOb,OAAgBhxe,IACGkxe,MAAiBhkL,gBACFtvQ,GACnD,CAWA,SAASk0b,GAAsB9xe,GAAQsrV,IACnC,MAAMjwV,MAAO21e,OAAgBhxe,IACvB0pB,GAAMruB,GAAK61e,MAAiBa,eAAezmJ,IACjD,UAAW5hU,GAAQ,IAAa,CAC5B,GAAI4hU,KAAW4kJ,GAAaU,gBACxB,OAAOv1e,GAAK61e,MAAiBa,eAAe7B,GAAaC,SAExD,GAAI7kJ,KAAW4kJ,GAAaW,cAC7B,OAAOx1e,GAAK61e,MAAiBa,eAAe7B,GAAarvT,MAEjE,CACA,OAAOn3J,EACX,CAiGA,SAASsod,GAAc32e,IACnB,IAAKA,GAAK61e,MAAiBe,WACvB,MAAM,IAAIn8b,MAAM,6CAA6Cz6C,GAAK61e,MAAiBgB,0GAE3F,CAqFA,SAASjB,GAAoB51e,GAAMirB,IAC/B,QAAS0P,GAAI1P,GAAO0P,IAAI,EAAIA,KACxB,UAAW36B,GAAK26B,IAAO,IACnB,OAAO36B,GAAK26B,IAGpB,MAAM,IAAI8f,MAAM,yCACpB,CAIA,SAASq8b,GAAY/la,IACjB,MAAO61C,GAAGhmG,IAAKmwD,GAAKhzC,MAAM,KAC1B,MAAO,CAAEsgZ,OAAQz3T,GAAG03T,SAAU19Z,GAClC,CA6CA,MAAMm2d,GAAqB,wGAErBC,GAAgB,CAAC,EACjBC,GAAqB,oNAC3B,IAAIC,GACH,SAAUA,IACPA,UAAUA,GAAU1C,MAAW,GAAK,QACpC0C,GAAUA,GAAUC,SAAc,GAAK,WACvCD,GAAUA,GAAUvC,KAAU,GAAK,OACnCuC,GAAUA,GAAUE,SAAc,GAAK,WAJhCF,EAKX,CALC,CAKEA,IAA0B,CAAC,GAC1BG,GACH,SAAUA,IACPA,UAASA,GAASC,SAAc,GAAK,WACrCD,GAASA,GAASE,MAAW,GAAK,QAClCF,GAASA,GAASz2b,KAAU,GAAK,OACjCy2b,GAASA,GAASG,MAAW,GAAK,QAClCH,GAASA,GAASI,QAAa,GAAK,UACpCJ,GAASA,GAASK,QAAa,GAAK,UACpCL,GAASA,GAASM,kBAAuB,GAAK,oBAC9CN,GAASA,GAASO,IAAS,GAAK,MARzBP,EASX,CATC,CASEA,IAAwB,CAAC,GACxBQ,GACH,SAAUA,IACPA,UAAgBA,GAAgBC,WAAgB,GAAK,aACrDD,GAAgBA,GAAgBE,KAAU,GAAK,OAC/CF,GAAgBA,GAAgBG,OAAY,GAAK,SACjDH,GAAgBA,GAAgBI,KAAU,GAAK,OAJxCJ,EAKX,CALC,CAKEA,IAAsC,CAAC,GAsB1C,SAAStna,GAAWrwE,GAAO2wE,GAAQlsE,GAAQuze,IACvC,IAAIzya,GA+nBR,SAASy9X,GAAOhjc,IACZ,GAAImrZ,GAAOnrZ,IACP,OAAOA,GAEX,GAAqB,iBAAVA,KAAuB+K,MAAM/K,IACpC,OAAO,IAAI0gD,KAAK1gD,IAEpB,GAAqB,iBAAVA,GAAoB,CAE3B,GADAA,GAAQA,GAAM4nB,OACV,kCAAkCimF,KAAK7tG,IAAQ,CAQ/C,MAAO2/C,GAAGj/B,GAAI,EAAGlgB,GAAI,GAAKR,GAAM69B,MAAM,KAAKt9B,IAAKw2C,KAASA,IACzD,OAAOk7Y,GAAWtyY,GAAGj/B,GAAI,EAAGlgB,GAChC,CACA,MAAMy3e,GAAWr2W,WAAW5hI,IAE5B,IAAK+K,MAAM/K,GAAQi4e,IACf,OAAO,IAAIv3b,KAAKu3b,IAEpB,IAAI9na,GACJ,GAAKA,GAAQnwE,GAAMmwE,MAAM0ma,IACrB,OAaZ,SAASqB,GAAgB/na,IACrB,MAAM5K,GAAO,IAAI7kB,KAAK,GACtB,IAAIy3b,GAAS,EACTC,GAAQ,EAEZ,MAAMC,GAAaloa,GAAM,GAAK5K,GAAK4qX,eAAiB5qX,GAAK6qX,YACnDkoD,GAAanoa,GAAM,GAAK5K,GAAKwqX,YAAcxqX,GAAKyqX,SAElD7/W,GAAM,KACNgoa,GAASjlb,OAAOid,GAAM,GAAKA,GAAM,KACjCioa,GAAQllb,OAAOid,GAAM,GAAKA,GAAM,MAEpCkoa,GAAWj9a,KAAKmK,GAAMrS,OAAOid,GAAM,IAAKjd,OAAOid,GAAM,IAAM,EAAGjd,OAAOid,GAAM,KAC3E,MAAMu2C,GAAIxzD,OAAOid,GAAM,IAAM,GAAKgoa,GAC5Bz3d,GAAIwyC,OAAOid,GAAM,IAAM,GAAKioa,GAC5Bpze,GAAIkuD,OAAOid,GAAM,IAAM,GAIvB+rB,GAAKr8D,KAAK4gB,MAA2C,IAArCmhF,WAAW,MAAQzxD,GAAM,IAAM,KACrDmoa,UAAWl9a,KAAKmK,GAAMmhD,GAAGhmG,GAAG1b,GAAGk3F,IACxB32B,EACX,CAnCmB2ya,CAAgB/na,GAE/B,CACA,MAAM5K,GAAO,IAAI7kB,KAAK1gD,IACtB,IAAKmrZ,GAAO5lV,IACR,MAAM,IAAIhrB,MAAM,sBAAsBv6C,mBAE1C,OAAOulE,EACX,CAlqBey9X,CAAOhjc,IAElB2wE,GADoB4na,GAAe9ze,GAAQksE,KACnBA,GACxB,IACIR,GADAhL,GAAQ,GAEZ,KAAOwL,IAEH,IADAR,GAAQ4ma,GAAmBxla,KAAKZ,KAC5BR,GAQC,CACDhL,GAAM3wB,KAAKm8B,IACX,KACJ,CAXW,CACPxL,GAAQA,GAAMhlE,OAAOgwE,GAAM77B,MAAM,IACjC,MAAMmI,GAAO0oB,GAAM42L,MACnB,IAAKt/M,GACD,MAEJk0B,GAASl0B,EACb,CAIA,CAEJ,IAAI+7b,GAAqBjza,GAAKo3X,oBAC1Bq7C,KACAQ,GAAqBC,GAAiBT,GAAUQ,IAChDjza,GAslBR,SAASmza,GAAuBnza,GAAMyya,GAAUr3Z,IAC5C,MAAMg4Z,GAAeh4Z,IAAU,EAAK,EAC9B63Z,GAAqBjza,GAAKo3X,oBAEhC,OATJ,SAASi8C,GAAerza,GAAM64W,IAC1B74W,UAAO,IAAI7kB,KAAK6kB,GAAKyyB,YAChB83V,WAAWvqX,GAAK6pX,aAAehR,IAC7B74W,EACX,CAKWqza,CAAerza,GAAMoza,IADLF,GAAiBT,GAAUQ,IACWA,IACjE,CA3lBeE,CAAuBnza,GAAMyya,IAAU,IAElD,IAAI3ub,GAAO,GACX8b,UAAMrnC,QAAS99B,KACX,MAAM64e,GAuVd,SAASC,GAAiBnoa,IACtB,GAAIooa,GAAapoa,IACb,OAAOooa,GAAapoa,IAExB,IAAIqoa,GACJ,OAAQroa,IAEJ,IAAK,IACL,IAAK,KACL,IAAK,MACDqoa,GAAYC,GAActB,GAAgBI,KAAM7D,GAAiBE,aACjE,MACJ,IAAK,OACD4E,GAAYC,GAActB,GAAgBI,KAAM7D,GAAiBG,MACjE,MACJ,IAAK,QACD2E,GAAYC,GAActB,GAAgBI,KAAM7D,GAAiBC,QACjE,MAEJ,IAAK,IACD6E,GAAYE,GAAW/B,GAASC,SAAU,EAAG,GAAG,GAAO,GACvD,MAEJ,IAAK,KACD4B,GAAYE,GAAW/B,GAASC,SAAU,EAAG,GAAG,GAAM,GACtD,MAEJ,IAAK,MACD4B,GAAYE,GAAW/B,GAASC,SAAU,EAAG,GAAG,GAAO,GACvD,MAEJ,IAAK,OACD4B,GAAYE,GAAW/B,GAASC,SAAU,EAAG,GAAG,GAAO,GACvD,MAEJ,IAAK,IACD4B,GAAYG,GAAwB,GACpC,MAGJ,IAAK,KACDH,GAAYG,GAAwB,GAAG,GACvC,MAGJ,IAAK,MACDH,GAAYG,GAAwB,GACpC,MAEJ,IAAK,OACDH,GAAYG,GAAwB,GACpC,MAEJ,IAAK,IACL,IAAK,IACDH,GAAYE,GAAW/B,GAASE,MAAO,EAAG,GAC1C,MACJ,IAAK,KACL,IAAK,KACD2B,GAAYE,GAAW/B,GAASE,MAAO,EAAG,GAC1C,MAEJ,IAAK,MACD2B,GAAYC,GAActB,GAAgBG,OAAQ5D,GAAiBE,aACnE,MACJ,IAAK,OACD4E,GAAYC,GAActB,GAAgBG,OAAQ5D,GAAiBG,MACnE,MACJ,IAAK,QACD2E,GAAYC,GAActB,GAAgBG,OAAQ5D,GAAiBC,QACnE,MAEJ,IAAK,MACD6E,GAAYC,GAActB,GAAgBG,OAAQ5D,GAAiBE,YAAaJ,GAAUC,YAC1F,MACJ,IAAK,OACD+E,GAAYC,GAActB,GAAgBG,OAAQ5D,GAAiBG,KAAML,GAAUC,YACnF,MACJ,IAAK,QACD+E,GAAYC,GAActB,GAAgBG,OAAQ5D,GAAiBC,OAAQH,GAAUC,YACrF,MAEJ,IAAK,IACD+E,GAAYI,GAAW,GACvB,MACJ,IAAK,KACDJ,GAAYI,GAAW,GACvB,MAEJ,IAAK,IACDJ,GAAYI,GAAW,GAAG,GAC1B,MAEJ,IAAK,IACDJ,GAAYE,GAAW/B,GAASz2b,KAAM,GACtC,MACJ,IAAK,KACDs4b,GAAYE,GAAW/B,GAASz2b,KAAM,GACtC,MAEJ,IAAK,IACL,IAAK,KACDs4b,GAAYE,GAAW/B,GAASO,IAAK,GACrC,MACJ,IAAK,MACDsB,GAAYC,GAActB,GAAgBE,KAAM3D,GAAiBE,YAAaJ,GAAUC,YACxF,MACJ,IAAK,OACD+E,GAAYC,GAActB,GAAgBE,KAAM3D,GAAiBG,KAAML,GAAUC,YACjF,MACJ,IAAK,QACD+E,GAAYC,GAActB,GAAgBE,KAAM3D,GAAiBC,OAAQH,GAAUC,YACnF,MACJ,IAAK,SACD+E,GAAYC,GAActB,GAAgBE,KAAM3D,GAAiBI,MAAON,GAAUC,YAClF,MAEJ,IAAK,IACL,IAAK,KACL,IAAK,MACD+E,GAAYC,GAActB,GAAgBE,KAAM3D,GAAiBE,aACjE,MACJ,IAAK,OACD4E,GAAYC,GAActB,GAAgBE,KAAM3D,GAAiBG,MACjE,MACJ,IAAK,QACD2E,GAAYC,GAActB,GAAgBE,KAAM3D,GAAiBC,QACjE,MACJ,IAAK,SACD6E,GAAYC,GAActB,GAAgBE,KAAM3D,GAAiBI,OACjE,MAEJ,IAAK,IACL,IAAK,KACL,IAAK,MACD0E,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBE,aACvE,MACJ,IAAK,OACD4E,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBG,MACvE,MACJ,IAAK,QACD2E,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBC,QACvE,MAEJ,IAAK,IACL,IAAK,KACL,IAAK,MACD6E,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBE,YAAaJ,GAAUC,YAAY,GAC1G,MACJ,IAAK,OACD+E,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBG,KAAML,GAAUC,YAAY,GACnG,MACJ,IAAK,QACD+E,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBC,OAAQH,GAAUC,YAAY,GACrG,MAEJ,IAAK,IACL,IAAK,KACL,IAAK,MACD+E,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBE,YAAaJ,GAAUn9H,QAAQ,GACtG,MACJ,IAAK,OACDmiI,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBG,KAAML,GAAUn9H,QAAQ,GAC/F,MACJ,IAAK,QACDmiI,GAAYC,GAActB,GAAgBC,WAAY1D,GAAiBC,OAAQH,GAAUn9H,QAAQ,GACjG,MAEJ,IAAK,IACDmiI,GAAYE,GAAW/B,GAASG,MAAO,GAAG,IAC1C,MACJ,IAAK,KACD0B,GAAYE,GAAW/B,GAASG,MAAO,GAAG,IAC1C,MAEJ,IAAK,IACD0B,GAAYE,GAAW/B,GAASG,MAAO,GACvC,MAEJ,IAAK,KACD0B,GAAYE,GAAW/B,GAASG,MAAO,GACvC,MAEJ,IAAK,IACD0B,GAAYE,GAAW/B,GAASI,QAAS,GACzC,MACJ,IAAK,KACDyB,GAAYE,GAAW/B,GAASI,QAAS,GACzC,MAEJ,IAAK,IACDyB,GAAYE,GAAW/B,GAASK,QAAS,GACzC,MACJ,IAAK,KACDwB,GAAYE,GAAW/B,GAASK,QAAS,GACzC,MAEJ,IAAK,IACDwB,GAAYE,GAAW/B,GAASM,kBAAmB,GACnD,MACJ,IAAK,KACDuB,GAAYE,GAAW/B,GAASM,kBAAmB,GACnD,MACJ,IAAK,MACDuB,GAAYE,GAAW/B,GAASM,kBAAmB,GACnD,MAEJ,IAAK,IACL,IAAK,KACL,IAAK,MACDuB,GAAYK,GAAerC,GAAU1C,OACrC,MAEJ,IAAK,QACD0E,GAAYK,GAAerC,GAAUE,UACrC,MAEJ,IAAK,IACL,IAAK,KACL,IAAK,MAEL,IAAK,IACL,IAAK,KACL,IAAK,MACD8B,GAAYK,GAAerC,GAAUC,UACrC,MAEJ,IAAK,OACL,IAAK,OAEL,IAAK,OACD+B,GAAYK,GAAerC,GAAUvC,MACrC,MACJ,QACI,OAAO,KAEfsE,UAAapoa,IAAUqoa,GAChBA,EACX,CArkB8BF,CAAiB94e,IACvCqpD,IAAQwvb,GACFA,GAActza,GAAM9gE,GAAQ+ze,IAClB,OAAVx4e,GACI,IACAA,GAAM+gB,QAAQ,WAAY,IAAIA,QAAQ,MAAO,IAAG,GAEvDsoC,EACX,CAWA,SAAS4oY,GAAW7+W,GAAMC,GAAO9N,IAK7B,MAAM+za,GAAU,IAAI54b,KAAK,GAMzB44b,UAAQlpD,YAAYh9W,GAAMC,GAAO9N,IAIjC+za,GAAQtpD,SAAS,EAAG,EAAG,GAChBspD,EACX,CACA,SAASf,GAAe9ze,GAAQksE,IAC5B,MAAM4oa,GA1hBV,SAASC,GAAY/0e,IACjB,SAAOgxe,OAAgBhxe,IAAQkxe,MAAiBgB,SACpD,CAwhBqB6C,CAAY/0e,IAE7B,GADAqye,GAAcyC,MAAc,CAAC,EACzBzC,GAAcyC,IAAU5oa,IACxB,OAAOmma,GAAcyC,IAAU5oa,IAEnC,IAAI8rP,GAAc,GAClB,OAAQ9rP,IACJ,IAAK,YACD8rP,GAAcw5K,GAAoBxxe,GAAQ8ve,GAAYD,OACtD,MACJ,IAAK,aACD73K,GAAcw5K,GAAoBxxe,GAAQ8ve,GAAYC,QACtD,MACJ,IAAK,WACD/3K,GAAcw5K,GAAoBxxe,GAAQ8ve,GAAYE,MACtD,MACJ,IAAK,WACDh4K,GAAcw5K,GAAoBxxe,GAAQ8ve,GAAYG,MACtD,MACJ,IAAK,YACDj4K,GAAc05K,GAAoB1xe,GAAQ8ve,GAAYD,OACtD,MACJ,IAAK,aACD73K,GAAc05K,GAAoB1xe,GAAQ8ve,GAAYC,QACtD,MACJ,IAAK,WACD/3K,GAAc05K,GAAoB1xe,GAAQ8ve,GAAYE,MACtD,MACJ,IAAK,WACDh4K,GAAc05K,GAAoB1xe,GAAQ8ve,GAAYG,MACtD,MACJ,IAAK,QACD,MAAM+E,GAAYlB,GAAe9ze,GAAQ,aACnCi1e,GAAYnB,GAAe9ze,GAAQ,aACzCg4T,GAAck9K,GAAetD,GAAwB5xe,GAAQ8ve,GAAYD,OAAQ,CAC7EmF,GACAC,KAEJ,MACJ,IAAK,SACD,MAAME,GAAarB,GAAe9ze,GAAQ,cACpCo1e,GAAatB,GAAe9ze,GAAQ,cAC1Cg4T,GAAck9K,GAAetD,GAAwB5xe,GAAQ8ve,GAAYC,QAAS,CAC9EoF,GACAC,KAEJ,MACJ,IAAK,OACD,MAAMC,GAAWvB,GAAe9ze,GAAQ,YAClCs1e,GAAWxB,GAAe9ze,GAAQ,YACxCg4T,GAAck9K,GAAetD,GAAwB5xe,GAAQ8ve,GAAYE,MAAO,CAC5EqF,GACAC,KAEJ,MACJ,IAAK,OACD,MAAMC,GAAWzB,GAAe9ze,GAAQ,YAClCw1e,GAAW1B,GAAe9ze,GAAQ,YACxCg4T,GAAck9K,GAAetD,GAAwB5xe,GAAQ8ve,GAAYG,MAAO,CAC5EsF,GACAC,KAIZ,OAAIx9K,KACAq6K,GAAcyC,IAAU5oa,IAAU8rP,IAE/BA,EACX,CACA,SAASk9K,GAAe7kc,GAAKolc,IACzB,OAAIA,KACAplc,GAAMA,GAAI/zB,QAAQ,cAAe,SAAUovD,GAAOv8B,IAC9C,OAAqB,MAAdsmc,IAAsBtmc,MAAOsmc,GAAaA,GAAWtmc,IAAOu8B,EACvE,IAEGr7B,EACX,CACA,SAAS2zD,GAAU3S,GAAKqkZ,GAAQC,GAAY,IAAKxyd,GAAMyyd,IACnD,IAAIC,GAAM,IACNxkZ,GAAM,GAAMukZ,IAAWvkZ,IAAO,KAC1BukZ,GACAvkZ,GAAa,EAANA,IAGPA,IAAOA,GACPwkZ,GAAMF,KAGd,IAAIG,GAASr8b,OAAO43C,IACpB,KAAOykZ,GAAOz1e,OAASq1e,IACnBI,GAAS,IAAMA,GAEnB,OAAI3yd,KACA2yd,GAASA,GAAOjmc,MAAMimc,GAAOz1e,OAASq1e,KAEnCG,GAAMC,EACjB,CAQA,SAASrB,GAAWh5e,GAAM8tG,GAAMyyD,GAAS,EAAG74I,IAAO,EAAOyyd,IAAU,GAChE,OAAO,SAAU90a,GAAM9gE,IACnB,IAAIg4C,GAgBZ,SAAS+9b,GAAY/9b,GAAM8oB,IACvB,OAAQ9oB,IACJ,KAAK06b,GAASC,SACV,OAAO7xa,GAAKw0R,cAChB,KAAKo9I,GAASE,MACV,OAAO9xa,GAAKkqX,WAChB,KAAK0nD,GAASz2b,KACV,OAAO6kB,GAAK+pX,UAChB,KAAK6nD,GAASG,MACV,OAAO/xa,GAAK8pX,WAChB,KAAK8nD,GAASI,QACV,OAAOhya,GAAK6pX,aAChB,KAAK+nD,GAASK,QACV,OAAOjya,GAAK4pX,aAChB,KAAKgoD,GAASM,kBACV,OAAOlya,GAAK2pX,kBAChB,KAAKioD,GAASO,IACV,OAAOnya,GAAKiqX,SAChB,QACI,MAAM,IAAIj1Y,MAAM,2BAA2BkC,QAEvD,CArCmB+9b,CAAYt6e,GAAMqlE,IAI7B,IAHIk7F,GAAS,GAAKhkH,IAAQgkH,MACtBhkH,IAAQgkH,IAERvgK,KAASi3e,GAASG,MACL,IAAT76b,KAAyB,KAAXgkH,KACdhkH,GAAO,YAGNv8C,KAASi3e,GAASM,kBACvB,OAnBZ,SAASgD,GAAwBhwD,GAAc0vD,IAE3C,OADc1xY,GAAUgiV,GAAc,GACzB1ia,UAAU,EAAGoyd,GAC9B,CAgBmBM,CAAwBh+b,GAAMuxD,IAEzC,MAAM0sY,GAAcnE,GAAsB9xe,GAAQkwe,GAAaK,WAC/D,OAAOvsY,GAAUhsD,GAAMuxD,GAAM0sY,GAAa9yd,GAAMyyd,GACpD,CACJ,CA0BA,SAASpB,GAAc/4e,GAAMmiD,GAAOlnC,GAAO64d,GAAUn9H,OAAQh9Q,IAAW,GACpE,OAAO,SAAUt0B,GAAM9gE,IACnB,OAMR,SAASk2e,GAAmBp1a,GAAM9gE,GAAQvE,GAAMmiD,GAAOlnC,GAAM0+E,IACzD,OAAQ35F,IACJ,KAAKy3e,GAAgBG,OACjB,OAAOhC,GAAoBrxe,GAAQ0W,GAAMknC,IAAOkjB,GAAKkqX,YACzD,KAAKkoD,GAAgBE,KACjB,OAAOtC,GAAkB9we,GAAQ0W,GAAMknC,IAAOkjB,GAAKiqX,UACvD,KAAKmoD,GAAgBC,WACjB,MAAMgD,GAAer1a,GAAK8pX,WACpBwrD,GAAiBt1a,GAAK6pX,aAC5B,GAAIv1V,GAAU,CACV,MAAM8zE,GAlZtB,SAASmtU,GAA6Br2e,IAClC,MAAM3E,MAAO21e,OAAgBhxe,IAC7Bgye,UAAc32e,KACAA,GAAK61e,MAAiBe,WAAW,IAAuD,IACzFn2e,IAAKm3J,IACM,iBAATA,GACAk/U,GAAYl/U,IAEhB,CAACk/U,GAAYl/U,GAAK,IAAKk/U,GAAYl/U,GAAK,KAEvD,CAwY8BojV,CAA6Br2e,IACrCs2e,GAvXtB,SAASC,GAAyBv2e,GAAQ+we,GAAWnzb,IACjD,MAAMviD,MAAO21e,OAAgBhxe,IAC7Bgye,GAAc32e,IACd,MAIMi7e,GAAarF,GAJI,CACnB51e,GAAK61e,MAAiBe,WAAW,GACjC52e,GAAK61e,MAAiBe,WAAW,IAEkBlB,KAAc,GACrE,OAAOE,GAAoBqF,GAAY14b,KAAU,EACrD,CA8WmC24b,CAAyBv2e,GAAQ0W,GAAMknC,IACpDt3B,GAAQ4iJ,GAAM3iJ,UAAW0sI,KAC3B,GAAI1zJ,MAAMC,QAAQyzJ,IAAO,CAErB,MAAO9tF,GAAM2kB,IAAMmpE,GACbujV,GAAYL,IAAgBhxa,GAAKu0W,OAAS08D,IAAkBjxa,GAAKw0W,QACjE88D,GAAWN,GAAersZ,GAAG4vV,OAAUy8D,KAAiBrsZ,GAAG4vV,OAAS08D,GAAiBtsZ,GAAG6vV,QAW9F,GAAIx0W,GAAKu0W,MAAQ5vV,GAAG4vV,OAChB,GAAI88D,IAAaC,GACb,OAAO,UAGND,IAAaC,GAClB,OAAO,CAEf,SAGQxjV,GAAKymR,QAAUy8D,IAAgBljV,GAAK0mR,UAAYy8D,GAChD,OAAO,EAGf,OAAO,IAEX,IAAc,IAAV9vd,GACA,OAAOgwd,GAAWhwd,GAE1B,CAEA,OAztBZ,SAASowd,GAAoB12e,GAAQ+we,GAAWnzb,IAC5C,MAAMviD,MAAO21e,OAAgBhxe,IAKvB22e,GAAO1F,GAJI,CACb51e,GAAK61e,MAAiB0F,kBACtBv7e,GAAK61e,MAAiB2F,uBAEiB9F,IAC3C,OAAOE,GAAoB0F,GAAM/4b,GACrC,CAitBmB84b,CAAoB12e,GAAQ0W,GAAMknC,IAAOu4b,GAAe,GAAK,EAAI,GAC5E,KAAKjD,GAAgBI,KACjB,OA7pBZ,SAASwD,GAAkB92e,GAAQ49C,IAG/B,OAAOqzb,IADD8F,EADO/F,OAAgBhxe,IACPkxe,MAAiBoC,MACF11b,GACzC,CAypBmBk5b,CAAkB92e,GAAQ49C,IAAOkjB,GAAKw0R,eAAiB,EAAI,EAAI,GAC1E,QAMI,MAAM,IAAIx/S,MAAM,+BADGr6C,MAG/B,CAnEey6e,CAAmBp1a,GAAM9gE,GAAQvE,GAAMmiD,GAAOlnC,GAAM0+E,GAC/D,CACJ,CAuEA,SAASw/Y,GAAeh3b,IACpB,OAAO,SAAUkjB,GAAM9gE,GAAQg8J,IAC3B,MAAMnP,IAAO,EAAKmP,GACZ25U,GAAY7D,GAAsB9xe,GAAQkwe,GAAaK,WACvD72D,GAAQ7sR,GAAO,EAAIzxH,KAAK4gB,MAAM6wG,GAAO,IAAMzxH,KAAKwnN,KAAK/1F,GAAO,IAClE,OAAQjvG,IACJ,KAAK20b,GAAU1C,MACX,OAAShjV,IAAQ,EAAI,IAAM,IACvB7oD,GAAU01U,GAAO,EAAGi8D,IACpB3xY,GAAU5oE,KAAK82D,IAAI26D,GAAO,IAAK,EAAG8oV,IAC1C,KAAKpD,GAAUC,SACX,MAAO,OAAS3lV,IAAQ,EAAI,IAAM,IAAM7oD,GAAU01U,GAAO,EAAGi8D,IAChE,KAAKpD,GAAUvC,KACX,MAAQ,OACHnjV,IAAQ,EAAI,IAAM,IACnB7oD,GAAU01U,GAAO,EAAGi8D,IACpB,IACA3xY,GAAU5oE,KAAK82D,IAAI26D,GAAO,IAAK,EAAG8oV,IAC1C,KAAKpD,GAAUE,SACX,OAAe,IAAXz2U,GACO,KAGEnP,IAAQ,EAAI,IAAM,IACvB7oD,GAAU01U,GAAO,EAAGi8D,IACpB,IACA3xY,GAAU5oE,KAAK82D,IAAI26D,GAAO,IAAK,EAAG8oV,IAE9C,QACI,MAAM,IAAI7/b,MAAM,uBAAuB8H,OAEnD,CACJ,CACA,MAAMo5b,GAAU,EACVC,GAAW,EAQjB,SAASC,GAAuBC,IAE5B,MAAMC,GAAaD,GAASpsD,SAEtBssD,GAAiC,IAAfD,IAAmB,EAAKH,GAAWG,GAC3D,OAAO5pD,GAAW2pD,GAAS7hJ,cAAe6hJ,GAASnsD,WAAYmsD,GAAStsD,UAAYwsD,GACxF,CACA,SAAS1C,GAAWprY,GAAM+tY,IAAa,GACnC,OAAO,SAAUx2a,GAAM9gE,IACnB,IAAIuL,GACJ,GAAI+re,GAAY,CACZ,MAAMC,GAA4B,IAAIt7b,KAAK6kB,GAAKw0R,cAAex0R,GAAKkqX,WAAY,GAAGD,SAAW,EACxFysD,GAAQ12a,GAAK+pX,UACnBt/a,GAAS,EAAI6vB,KAAK4gB,OAAOw7b,GAAQD,IAA6B,EAClE,KACK,CACD,MAAME,GAAYP,GAAuBp2a,IAGnC42a,GA1BlB,SAASC,GAAuBhpa,IAC5B,MAAMm1X,GAAiBtW,GAAW7+W,GAAMqoa,GAAS,GAAGjsD,SACpD,OAAOyC,GAAW7+W,GAAM,EAAG,GAAKm1X,IAAkBmzC,GAAWA,GAAWA,GAAW,GAAKnzC,GAC5F,CAuB+B6zC,CAAuBF,GAAUniJ,eAC9Cx2S,GAAO24b,GAAUlkZ,UAAYmkZ,GAAWnkZ,UAC9ChoF,GAAS,EAAI6vB,KAAK2iB,MAAMe,GAAO,OACnC,CACA,OAAOklD,GAAUz4F,GAAQg+F,GAAMuoY,GAAsB9xe,GAAQkwe,GAAaK,WAC9E,CACJ,CAIA,SAASmE,GAAwBnrY,GAAMpmF,IAAO,GAC1C,OAAO,SAAU29C,GAAM9gE,IAGnB,OAAOgkG,GAFWkzY,GAAuBp2a,IACLw0R,cACA/rP,GAAMuoY,GAAsB9xe,GAAQkwe,GAAaK,WAAYptd,GACrG,CACJ,CACA,MAAMmxd,GAAe,CAAC,EAoPtB,SAASN,GAAiBT,GAAUhiP,IAGhCgiP,GAAWA,GAASj3d,QAAQ,KAAM,IAClC,MAAMs7d,GAA0B37b,KAAKvwC,MAAM,yBAA2B6ne,IAAY,IAClF,OAAOjte,MAAMsxe,IAA2BrmP,GAAWqmP,EACvD,CAuFA,SAASlxF,GAAOnrZ,IACZ,OAAOA,cAAiB0gD,OAAS31C,MAAM/K,GAAM6lE,UACjD,CA0dA,SAASy2a,EAAiBC,GAAWr8e,IACjCA,GAAOkiF,mBAAmBliF,IAC1B,UAAW2mJ,MAAU01V,GAAU1+c,MAAM,KAAM,CACvC,MAAM2+c,GAAU31V,GAAOtiJ,QAAQ,MACxBk4e,GAAYpqY,KAA0B,GAAXmqY,GAAgB,CAAC31V,GAAQ,IAAM,CAACA,GAAOvyG,MAAM,EAAGkoc,IAAU31V,GAAOvyG,MAAMkoc,GAAU,IACnH,GAAIC,GAAW70d,SAAW1nB,GACtB,OAAO48C,mBAAmBu1D,GAElC,CACA,OAAO,IACX,CAEA,MAAMqqY,EAAY,MACZC,GAAc,GACpB,IA4BMC,GAAO,MAAb,MAAMA,GACFzqe,YAAY0qe,GAAO77B,IACftuc,KAAKmqe,MAAQA,GACbnqe,KAAKsuc,UAAYA,GACjBtuc,KAAKoqe,eAAiBH,GACtBjqe,KAAK6kL,SAAW,IAAI5hJ,GACxB,CACA,SAAIonc,CAAM/8e,IACN0S,KAAKoqe,eAA0B,MAAT98e,GAAgBA,GAAM4nB,OAAOiW,MAAM6+c,GAAaC,EAC1E,CACA,WAAIK,CAAQh9e,IACR0S,KAAKuqe,SAA4B,iBAAVj9e,GAAqBA,GAAM4nB,OAAOiW,MAAM6+c,GAAa18e,EAChF,CA0BAqtd,YAEI,UAAW0vB,MAASrqe,KAAKoqe,eACrBpqe,KAAKwqe,aAAaH,IAAO,GAG7B,MAAME,GAAWvqe,KAAKuqe,SACtB,GAAIj5e,MAAMC,QAAQg5e,KAAaA,cAAoB3kb,IAC/C,UAAWykb,MAASE,GAChBvqe,KAAKwqe,aAAaH,IAAO,QAAI,GAGhB,MAAZE,GACL,UAAWF,MAASj7c,OAAOC,KAAKk7c,IAC5Bvqe,KAAKwqe,aAAaH,KAAeE,GAASF,KAGlDrqe,KAAKyqe,iBACT,CACAD,aAAaH,GAAOK,IAChB,MAAM1hf,GAAQgX,KAAK6kL,SAASn8K,IAAI2he,SAClBh8e,IAAVrF,IACIA,GAAMk1G,UAAYwsY,KAClB1hf,GAAM+6d,SAAU,EAChB/6d,GAAMk1G,QAAUwsY,IAEpB1hf,GAAMqmF,SAAU,GAGhBrvE,KAAK6kL,SAAS3hJ,IAAImnc,GAAO,CAAEnsY,QAASwsY,GAAa3mB,SAAS,EAAM10Y,SAAS,GAEjF,CACAo7Z,kBACI,UAAWE,MAAc3qe,KAAK6kL,SAAU,CACpC,MAAMwlT,GAAQM,GAAW,GACnB3hf,GAAQ2hf,GAAW,GACrB3hf,GAAM+6d,SACN/jd,KAAK4qe,aAAaP,GAAOrhf,GAAMk1G,SAC/Bl1G,GAAM+6d,SAAU,GAEV/6d,GAAMqmF,UAGRrmF,GAAMk1G,SACNl+F,KAAK4qe,aAAaP,IAAO,GAE7Brqe,KAAK6kL,SAASn9I,OAAO2ic,KAEzBrhf,GAAMqmF,SAAU,CACpB,CACJ,CACAu7Z,aAAaP,GAAOnsY,KAMhBmsY,GAAQA,GAAMn1d,QACJ9iB,OAAS,GACfi4e,GAAMl/c,MAAM6+c,GAAW5+c,QAASi/c,KACxBnsY,GACAl+F,KAAKsuc,UAAU7kS,SAASzpK,KAAKmqe,MAAM9id,cAAegjd,IAGlDrqe,KAAKsuc,UAAU1kS,YAAY5pK,KAAKmqe,MAAM9id,cAAegjd,GAAK,EAI1E,QACSrqe,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF27d,IA/pFVjqe,MA+pFmCA,OA/pFnCA,MA+pF6DA,OAAY,CAA8C,QAC/MD,KAAKi4B,UAhqFmFh4B,MAAE,CAAAgO,KAgqFJi8d,GAAOv7d,UAAA,oBAAAgH,OAAA,CAAA00d,MAAA,CAhqFLpqe,MAAEwwB,KAAA,iBAAA65c,QAAA,WAAArhd,YAAA,GAgqF4H,EAClO,OA7GKihd,EAAO,KAoTb,MAAMW,EACFpre,YAAYgS,GAAWq5d,GAASzyd,GAAOk+E,IACnCv2F,KAAKyR,UAAYA,GACjBzR,KAAK8qe,QAAUA,GACf9qe,KAAKqY,MAAQA,GACbrY,KAAKu2F,MAAQA,EACjB,CACA,SAAI7nE,GACA,OAAsB,IAAf1uB,KAAKqY,KAChB,CACA,QAAIqlI,GACA,OAAO19I,KAAKqY,QAAUrY,KAAKu2F,MAAQ,CACvC,CACA,QAAIw0Y,GACA,OAAO/qe,KAAKqY,MAAQ,GAAM,CAC9B,CACA,OAAI2yd,GACA,OAAQhre,KAAK+qe,IACjB,EAEJ,IAkGME,GAAO,MAAb,MAAMA,GAKF,WAAIH,CAAQA,IACR9qe,KAAKkre,SAAWJ,GAChB9qe,KAAKmre,eAAgB,CACzB,CAmBA,gBAAIC,CAAazud,IAKb3c,KAAKqre,WAAa1ud,EACtB,CACA,gBAAIyud,GACA,OAAOpre,KAAKqre,UAChB,CACA5re,YAAY6re,GAAgBC,GAAWC,IACnCxre,KAAKsre,eAAiBA,GACtBtre,KAAKure,UAAYA,GACjBvre,KAAKwre,SAAWA,GAChBxre,KAAKkre,SAAW,KAChBlre,KAAKmre,eAAgB,EACrBnre,KAAKyre,QAAU,IACnB,CAKA,iBAAIC,CAAcp+e,IAIVA,KACA0S,KAAKure,UAAYj+e,GAEzB,CAKAqtd,YACI,GAAI36c,KAAKmre,cAAe,CACpBnre,KAAKmre,eAAgB,EAErB,MAAM79e,GAAQ0S,KAAKkre,UACdlre,KAAKyre,SAAWn+e,KAmBb0S,KAAKyre,QAAUzre,KAAKwre,SAASr2e,KAAK7H,IAAOkoC,OAAOx1B,KAAKore,cAGjE,CACA,GAAIpre,KAAKyre,QAAS,CACd,MAAM/+c,GAAU1sB,KAAKyre,QAAQ56b,KAAK7wC,KAAKkre,UACnCx+c,IACA1sB,KAAK2re,cAAcj/c,GAC3B,CACJ,CACAi/c,cAAcj/c,IACV,MAAMivc,GAAgB37d,KAAKsre,eAC3B5+c,GAAQk/c,iBAAiB,CAACrzd,GAAMszd,GAAuBj8L,MACnD,GAA0B,MAAtBr3R,GAAKuzd,cAILnQ,GAAcE,mBAAmB77d,KAAKure,UAAW,IAAIV,EAAetyd,GAAKA,KAAMvY,KAAKkre,UAAU,GAAI,GAAsB,OAAjBt7L,QAAwBvhT,EAAYuhT,SAAY,GAElI,MAAhBA,GACL+rL,GAAc3zc,OAAiC,OAA1B6jd,QAAiCx9e,EAAYw9e,SAAqB,GAExD,OAA1BA,GAAgC,CACrC,MAAM53O,GAAO0nO,GAAcjzd,IAAImje,IAC/BlQ,GAAchgQ,KAAKs4B,GAAM27C,IACzBm8L,GAAgB93O,GAAM17O,GAC1B,IAEJ,QAASwP,GAAI,EAAGikd,GAAOrQ,GAAcvpe,OAAQ21B,GAAIikd,GAAMjkd,KAAK,CAExD,MAAM4mF,GADUgtX,GAAcjzd,IAAIqf,IACV4mF,QACxBA,GAAQt2F,MAAQ0P,GAChB4mF,GAAQpY,MAAQy1Y,GAChBr9X,GAAQm8X,QAAU9qe,KAAKkre,QAC3B,CACAx+c,GAAQu/c,sBAAuBC,KAE3BH,GADgBpQ,GAAcjzd,IAAIwje,GAAOt8L,cAChBs8L,GAAM,EAEvC,CAOA,6BAAOC,CAAuBp4c,GAAK9kB,IAC/B,OAAO,CACX,QACSjP,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF08d,IApmGVhre,MAomGmCA,OApmGnCA,MAomGmEA,OApmGnEA,MAomG8FA,OAAkB,CAA8C,QACtPD,KAAKi4B,UArmGmFh4B,MAAE,CAAAgO,KAqmGJg9d,GAAOt8d,UAAA,+BAAAgH,OAAA,CAAAm1d,QAAA,UAAAM,aAAA,eAAAM,cAAA,iBAAAzid,YAAA,GAAmK,EAC5Q,OAxIKgid,EAAO,KAsJb,SAASc,GAAgB93O,GAAMi4O,IAC3Bj4O,GAAKtlJ,QAAQl9F,UAAYy6d,GAAO3zd,IACpC,CAKA,IA2IM6zd,GAAI,MAAV,MAAMA,GACF3se,YAAY6re,GAAgB96c,IACxBxwB,KAAKsre,eAAiBA,GACtBtre,KAAK0qI,SAAW,IAAI2hW,GACpBrse,KAAKsse,iBAAmB,KACxBtse,KAAKuse,iBAAmB,KACxBvse,KAAKwse,aAAe,KACpBxse,KAAKyse,aAAe,KACpBzse,KAAKsse,iBAAmB97c,EAC5B,CAIA,QAAIgL,CAAKb,IACL36B,KAAK0qI,SAASj5H,UAAYzR,KAAK0qI,SAASlvG,KAAOb,GAC/C36B,KAAK0se,aACT,CAIA,YAAIC,CAASn8c,IACTo8c,GAAe,WAAYp8c,IAC3BxwB,KAAKsse,iBAAmB97c,GACxBxwB,KAAKwse,aAAe,KACpBxse,KAAK0se,aACT,CAIA,YAAIG,CAASr8c,IACTo8c,GAAe,WAAYp8c,IAC3BxwB,KAAKuse,iBAAmB/7c,GACxBxwB,KAAKyse,aAAe,KACpBzse,KAAK0se,aACT,CACAA,cACQ1se,KAAK0qI,SAASj5H,UACTzR,KAAKwse,eACNxse,KAAKsre,eAAev2b,QACpB/0C,KAAKyse,aAAe,KAChBzse,KAAKsse,mBACLtse,KAAKwse,aAAexse,KAAKsre,eAAezP,mBAAmB77d,KAAKsse,iBAAkBtse,KAAK0qI,YAK1F1qI,KAAKyse,eACNzse,KAAKsre,eAAev2b,QACpB/0C,KAAKwse,aAAe,KAChBxse,KAAKuse,mBACLvse,KAAKyse,aAAezse,KAAKsre,eAAezP,mBAAmB77d,KAAKuse,iBAAkBvse,KAAK0qI,WAIvG,CAOA,6BAAOyhW,CAAuBp4c,GAAK9kB,IAC/B,OAAO,CACX,QACSjP,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF69d,IAt0GVnse,MAs0GgCA,OAt0GhCA,MAs0GgEA,OAAc,CAA8C,QACpND,KAAKi4B,UAv0GmFh4B,MAAE,CAAAgO,KAu0GJm+d,GAAIz9d,UAAA,iBAAAgH,OAAA,CAAA6lB,KAAA,OAAAmxc,SAAA,WAAAE,SAAA,YAAA5jd,YAAA,GAAiI,EACvO,OAlEKmjd,EAAI,KAmFV,MAAMC,GACF5se,cACIO,KAAKyR,UAAY,KACjBzR,KAAKw7B,KAAO,IAChB,EAEJ,SAASoxc,GAAe/hZ,GAAUr6D,IAE9B,GADgCA,KAAeA,GAAYqrc,mBAEvD,MAAM,IAAIh0b,MAAM,GAAGgjD,4CAAQ,EAAyCiiZ,OAAWt8c,QAEvF,CAQA,MAAMu8c,GACFtte,YAAY+yB,GAAmBw6c,IAC3Bhte,KAAKwyB,kBAAoBA,GACzBxyB,KAAKgte,aAAeA,GACpBhte,KAAKite,UAAW,CACpB,CACAz3c,SACIx1B,KAAKite,UAAW,EAChBjte,KAAKwyB,kBAAkBqpc,mBAAmB77d,KAAKgte,aACnD,CACAv/c,UACIztB,KAAKite,UAAW,EAChBjte,KAAKwyB,kBAAkBuiB,OAC3B,CACAm4b,aAAalub,IACLA,KAAYh/C,KAAKite,SACjBjte,KAAKw1B,UAECwpB,IAAWh/C,KAAKite,UACtBjte,KAAKytB,SAEb,EAEJ,IAkEM0/c,GAAQ,MAAd,MAAMA,GACF1te,cACIO,KAAKote,cAAgB,GACrBpte,KAAKqte,cAAe,EACpBrte,KAAKste,WAAa,EAClBtte,KAAKute,oBAAsB,EAC3Bvte,KAAKwte,mBAAoB,CAC7B,CACA,YAAIC,CAAS/lZ,IACT1nF,KAAK0te,UAAYhmZ,GACO,IAApB1nF,KAAKste,YACLtte,KAAK2te,qBAAoB,EAEjC,CAEAC,WACI,OAAO5te,KAAKste,YAChB,CAEAO,YAAY55O,IACRj0P,KAAKote,cAActrc,KAAKmyN,GAC5B,CAEA65O,WAAWxgf,IACP,MAAMutb,GACAvtb,KAAU0S,KAAK0te,UAOrB,OAAA1te,KAAKwte,oBAAsB3yD,GAC3B76a,KAAKute,sBACDvte,KAAKute,sBAAwBvte,KAAKste,aAClCtte,KAAK2te,qBAAqB3te,KAAKwte,mBAC/Bxte,KAAKute,oBAAsB,EAC3Bvte,KAAKwte,mBAAoB,GAEtB3yD,EACX,CACA8yD,oBAAoBI,IAChB,GAAI/te,KAAKote,cAAch7e,OAAS,GAAK27e,KAAe/te,KAAKqte,aAAc,CACnErte,KAAKqte,aAAeU,GACpB,UAAWz/U,MAAetuJ,KAAKote,cAC3B9+U,GAAY4+U,aAAaa,GAEjC,CACJ,QACS/te,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF4+d,GAAQ,CAAqD,QAC/Jnte,KAAKi4B,UAv/GmFh4B,MAAE,CAAAgO,KAu/GJk/d,GAAQx+d,UAAA,qBAAAgH,OAAA,CAAA83d,SAAA,YAAAxkd,YAAA,GAAiG,EAC3M,OAnDKkkd,EAAQ,KA8FRa,GAAY,MAAlB,MAAMA,GACFvue,YAAYk8d,GAAenrc,GAAai9c,IACpCzte,KAAKyte,SAAWA,GAIhBA,GAASG,WACT5te,KAAKiue,MAAQ,IAAIlB,GAAWpR,GAAenrc,GAC/C,CAKAmqb,YACI36c,KAAKiue,MAAMf,aAAalte,KAAKyte,SAASK,WAAW9te,KAAKkue,cAC1D,QACSlue,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFy/d,IAnjHV/te,MAmjHwCA,OAnjHxCA,MAmjHwEA,OAnjHxEA,MAmjHmGkte,GAAQ,IAA0E,QAC7Qnte,KAAKi4B,UApjHmFh4B,MAAE,CAAAgO,KAojHJ+/d,GAAYr/d,UAAA,yBAAAgH,OAAA,CAAAu4d,aAAA,gBAAAjld,YAAA,GAA6G,EAC3N,OAlBK+kd,EAAY,KA8CZG,GAAe,MAArB,MAAMA,GACF1ue,YAAYk8d,GAAenrc,GAAai9c,IAIpCA,GAASI,YAAY,IAAId,GAAWpR,GAAenrc,IACvD,QACSxwB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF4/d,IAxlHVlue,MAwlH2CA,OAxlH3CA,MAwlH2EA,OAxlH3EA,MAwlHsGkte,GAAQ,IAA0E,QAChRnte,KAAKi4B,UAzlHmFh4B,MAAE,CAAAgO,KAylHJkge,GAAex/d,UAAA,4BAAAsa,YAAA,GAAsE,EACvL,OATKkld,EAAe,KAkLfC,GAAO,MAAb,MAAMA,GACF3ue,YAAY0qe,GAAOqB,GAAUl9B,IACzBtuc,KAAKmqe,MAAQA,GACbnqe,KAAKwre,SAAWA,GAChBxre,KAAKsuc,UAAYA,GACjBtuc,KAAKque,SAAW,KAChBrue,KAAKyre,QAAU,IACnB,CACA,WAAI6C,CAAQ7ie,IACRzL,KAAKque,SAAW5ie,IACXzL,KAAKyre,SAAWhge,KACjBzL,KAAKyre,QAAUzre,KAAKwre,SAASr2e,KAAKsW,IAAQ+pB,SAElD,CACAmlb,YACI,GAAI36c,KAAKyre,QAAS,CACd,MAAM/+c,GAAU1sB,KAAKyre,QAAQ56b,KAAK7wC,KAAKque,UACnC3hd,IACA1sB,KAAK2re,cAAcj/c,GAE3B,CACJ,CACA6hd,UAAUC,GAAalhf,IACnB,MAAOE,GAAMgjL,IAAQg+T,GAAYrjd,MAAM,KACjC46E,IAA8B,IAAtBv4G,GAAKqE,QAAQ,UAAcxD,EAAYogf,MAAoBC,SAC5D,MAATphf,GACA0S,KAAKsuc,UAAUp2Q,SAASl4L,KAAKmqe,MAAM9id,cAAe75B,GAAMgjL,GAAO,GAAGljL,KAAQkjL,KAASljL,GAAOy4G,IAG1F/lG,KAAKsuc,UAAUn2Q,YAAYn4L,KAAKmqe,MAAM9id,cAAe75B,GAAMu4G,GAEnE,CACA4lY,cAAcj/c,IACVA,GAAQiid,mBAAoBzC,IAAWlse,KAAKuue,UAAUrC,GAAOhrc,IAAK,OAClExU,GAAQkid,iBAAkB1C,IAAWlse,KAAKuue,UAAUrC,GAAOhrc,IAAKgrc,GAAOvY,eACvEjnc,GAAQmid,mBAAoB3C,IAAWlse,KAAKuue,UAAUrC,GAAOhrc,IAAKgrc,GAAOvY,cAC7E,QACS3zd,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF6/d,IAxyHVnue,MAwyHmCA,OAxyHnCA,MAwyH6DA,OAxyH7DA,MAwyH4FA,OAAY,CAA8C,QAC9OD,KAAKi4B,UAzyHmFh4B,MAAE,CAAAgO,KAyyHJmge,GAAOz/d,UAAA,oBAAAgH,OAAA,CAAA24d,QAAA,WAAArld,YAAA,GAA8F,EACvM,OAvCKmld,EAAO,KA2EPU,GAAgB,MAAtB,MAAMA,GACFrve,YAAY+yB,IACRxyB,KAAKwyB,kBAAoBA,GACzBxyB,KAAK+ue,SAAW,KAOhB/ue,KAAKgve,wBAA0B,KAI/Bhve,KAAKive,iBAAmB,KAExBjve,KAAKkve,yBAA2B,IACpC,CACAt0B,YAAYlub,IACR,GAAI1sB,KAAKmve,oBAAoBzid,IAAU,CACnC,MAAM+pc,GAAmBz2d,KAAKwyB,kBAK9B,GAJIxyB,KAAK+ue,UACLtY,GAAiBzuc,OAAOyuc,GAAiB5ke,QAAQmO,KAAK+ue,YAGrD/ue,KAAKive,iBAEN,YADAjve,KAAK+ue,SAAW,MAKpB,MAAMK,GAAcpve,KAAKqve,6BACzBrve,KAAK+ue,SAAWtY,GAAiBoF,mBAAmB77d,KAAKive,iBAAkBG,GAAa,CACpF37B,SAAUzzc,KAAKkve,+BAA4B7gf,GAEnD,CACJ,CAMA8gf,oBAAoBzid,IAChB,QAASA,GAAQuid,oBAAyBvid,GAAQwid,wBACtD,CAMAG,6BACI,OAAO,IAAIC,MAAM,CAAC,EAAG,CACjBpsc,IAAKA,CAACqsc,GAASv4Z,GAAM0Q,OACZ1nF,KAAKgve,yBAGHQ,QAAQtsc,IAAIljC,KAAKgve,wBAAyBh4Z,GAAM0Q,IAE3Dh/E,IAAKA,CAAC6me,GAASv4Z,GAAMy4Z,MACjB,GAAKzve,KAAKgve,wBAGV,OAAOQ,QAAQ9me,IAAI1I,KAAKgve,wBAAyBh4Z,GAAMy4Z,GAAQ,GAG3E,QACSzve,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFuge,IAh5HV7ue,MAg5H4CA,OAAmB,CAA8C,QACrMD,KAAKi4B,UAj5HmFh4B,MAAE,CAAAgO,KAi5HJ6ge,GAAgBnge,UAAA,6BAAAgH,OAAA,CAAAq5d,wBAAA,0BAAAC,iBAAA,mBAAAC,yBAAA,4BAAAjmd,YAAA,EAAAC,SAAA,CAj5HdjpB,QAi5HsQ,EAC1W,OApEK6ue,EAAgB,KAqGtB,SAASY,GAAyBzhe,GAAM3gB,IACpC,OAAO,IAAI++K,MAAc,MAAmDC,EAChF,CAEA,MAAMqjU,GACFC,mBAAmBj4W,GAAOk4W,IAQtB,SAAOC,OAAU,IAAMn4W,GAAMtrH,UAAU,CACnCM,KAAMkje,GACN/gf,MAAQ0wC,KACJ,MAAMA,MAGlB,CACA5L,QAAQyna,KAEJy0C,SAAU,IAAMz0C,GAAaltb,cACjC,EAEJ,MAAM4he,GACFH,mBAAmBj4W,GAAOk4W,IACtB,OAAOl4W,GAAMplE,KAAKs9a,GAAoBrwc,KAClC,MAAMA,IAEd,CACA5L,QAAQyna,IAAgB,EAE5B,MAAM20C,GAAmB,IAAID,GACvBE,GAAwB,IAAIN,GAClC,IA4BMO,GAAS,MAAf,MAAMA,GACFzwe,YAAYgsQ,IACRzrQ,KAAKmwe,aAAe,KACpBnwe,KAAKowe,2BAA4B,EACjCpwe,KAAKi9d,cAAgB,KACrBj9d,KAAKqwe,KAAO,KACZrwe,KAAKswe,UAAY,KAGjBtwe,KAAKg8C,KAAOyvN,EAChB,CACAv9P,cACQlO,KAAKi9d,eACLj9d,KAAKmmD,WAMTnmD,KAAKg8C,KAAO,IAChB,CACAjyB,UAAUkX,IACN,IAAKjhC,KAAKqwe,KAAM,CACZ,GAAIpvc,GACA,IAIIjhC,KAAKowe,2BAA4B,EACjCpwe,KAAKo7b,WAAWn6Z,GACpB,SAEIjhC,KAAKowe,2BAA4B,CACrC,CAEJ,OAAOpwe,KAAKmwe,YAChB,CACA,OAAIlvc,KAAQjhC,KAAKqwe,MACbrwe,KAAKmmD,WACEnmD,KAAK+pB,UAAUkX,KAEnBjhC,KAAKmwe,YAChB,CACA/0C,WAAWn6Z,IACPjhC,KAAKqwe,KAAOpvc,GACZjhC,KAAKswe,UAAYtwe,KAAKuwe,gBAAgBtvc,IACtCjhC,KAAKi9d,cAAgBj9d,KAAKswe,UAAUV,mBAAmB3uc,GAAM3zC,IAAU0S,KAAKwwe,mBAAmBvvc,GAAK3zC,IACxG,CACAijf,gBAAgBtvc,IACZ,MAAIwvc,OAAWxvc,IACX,OAAO+uc,GAEX,MAAIU,OAAgBzvc,IAChB,OAAOgvc,GAEX,MAAMP,IACV,CACAvpb,WAGInmD,KAAKswe,UAAU18c,QAAQ5zB,KAAKi9d,eAC5Bj9d,KAAKmwe,aAAe,KACpBnwe,KAAKi9d,cAAgB,KACrBj9d,KAAKqwe,KAAO,IAChB,CACAG,mBAAmB74W,GAAOrqI,IAClBqqI,KAAU33H,KAAKqwe,OACfrwe,KAAKmwe,aAAe7if,GAChB0S,KAAKowe,2BACLpwe,KAAKg8C,MAAM5zB,eAGvB,QACSpoB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF2he,IA3jIVjwe,MA2jIqCA,MAAoB,KAAyC,QAC1LD,KAAK2we,WA5jImF1we,MAAE,CAAAzS,KAAA,QAAAygB,KA4jIMiie,GAASU,MAAA,EAAA3nd,YAAA,GAAqD,EAC1K,OA3EKind,EAAS,KAoGTW,GAAa,MAAnB,MAAMA,GACF9md,UAAUz8B,IACN,GAAa,MAATA,GACA,OAAO,KACX,GAAqB,iBAAVA,GACP,MAAMoif,KAEV,OAAOpif,GAAMhD,aACjB,QACS0V,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFsie,GAAa,CAAgD,QAC/J7we,KAAK2we,WAhmImF1we,MAAE,CAAAzS,KAAA,YAAAygB,KAgmIM4ie,GAAaD,MAAA,EAAA3nd,YAAA,GAA4C,EACrK,OAXK4nd,EAAa,KA2BnB,MAAMC,GAAmB,qrPACzB,IAiBMC,GAAa,MAAnB,MAAMA,GACFhnd,UAAUz8B,IACN,GAAa,MAATA,GACA,OAAO,KACX,GAAqB,iBAAVA,GACP,MAAMoif,KAEV,OAAOpif,GAAM+gB,QAAQyie,GAAmBE,IAAQA,GAAI,GAAGj3c,cAAgBi3c,GAAIpvc,MAAM,GAAGt3C,cACxF,QACS0V,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFwie,GAAa,CAAgD,QAC/J/we,KAAK2we,WA7oImF1we,MAAE,CAAAzS,KAAA,YAAAygB,KA6oIM8ie,GAAaH,MAAA,EAAA3nd,YAAA,GAA4C,EACrK,OAXK8nd,EAAa,KA2BbE,GAAa,MAAnB,MAAMA,GACFlnd,UAAUz8B,IACN,GAAa,MAATA,GACA,OAAO,KACX,GAAqB,iBAAVA,GACP,MAAMoif,KAEV,OAAOpif,GAAMysC,aACjB,QACS/5B,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0ie,GAAa,CAAgD,QAC/Jjxe,KAAK2we,WAxqImF1we,MAAE,CAAAzS,KAAA,YAAAygB,KAwqIMgje,GAAaL,MAAA,EAAA3nd,YAAA,GAA4C,EACrK,OAXKgod,EAAa,KAwBnB,MAQMC,GAA6B,IAAIrrd,MAA0D,IAgC3Fsrd,GAA4B,IAAItrd,MAAyD,IAgK/F,IACMurd,GAAQ,MAAd,MAAMA,GACF3xe,YAAY1N,GAAQs/e,GAAiB7ld,IACjCxrB,KAAKjO,OAASA,GACdiO,KAAKqxe,gBAAkBA,GACvBrxe,KAAKwrB,eAAiBA,EAC1B,CACAzB,UAAUz8B,GAAO2wE,GAAQqna,GAAUvze,IAC/B,GAAa,MAATzE,IAA2B,KAAVA,IAAgBA,IAAUA,GAC3C,OAAO,KACX,IAGI,OAAOqwE,GAAWrwE,GAFF2wE,IAAUj+D,KAAKwrB,gBAAgBw5Z,YAnN/B,aAqNkBjzb,IAAUiO,KAAKjO,OAD/Buze,IAAYtle,KAAKwrB,gBAAgB85c,UAAYtle,KAAKqxe,sBAAmBhjf,EAE3F,OACOS,IACH,MAAM4gf,IACV,CACJ,QACS1ve,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF6ie,IAj5IVnxe,MAi5IoCqxe,MAAS,IAj5I7Crxe,MAi5I0Dixe,GAA0B,IAj5IpFjxe,MAi5IiHkxe,GAAyB,KAAyD,QAC3Rnxe,KAAK2we,WAl5ImF1we,MAAE,CAAAzS,KAAA,OAAAygB,KAk5IMmje,GAAQR,MAAA,EAAA3nd,YAAA,GAAuC,EAC3J,OApBKmod,EAAQ,KAiMRG,GAAY,MAAlB,MAAMA,GACF9xe,YAAY+xe,IACRxxe,KAAKwxe,QAAUA,GACfxxe,KAAKopG,UAAY,GACjBppG,KAAK68U,UAAY40J,EACrB,CACA1nd,UAAU6kB,GAAOiuS,GAAY40J,IACzB,IAAK7ic,MAAYA,cAAiB3L,MAAyB,iBAAV2L,GAC7C,OAAO,KAGX5uC,KAAK0xe,SAAW1xe,KAAKwxe,QAAQr8e,KAAKy5C,IAAOpZ,SACzC,MAAMm8c,GAAgB3xe,KAAK0xe,OAAO7gc,KAAKjC,IACjCgjc,GAAmB/0J,KAAc78U,KAAK68U,UAC5C,OAAI80J,KACA3xe,KAAKopG,UAAY,GACjBuoY,GAAcE,YAAal4c,KACvB35B,KAAKopG,UAAUtnE,KAxC/B,SAASgwc,GAAiB5wc,GAAK5zC,IAC3B,MAAO,CAAE4zC,IAAKA,GAAK5zC,MAAOA,GAC9B,CAsCoCwkf,CAAiBn4c,GAAEuH,IAAKvH,GAAEg6b,cAAa,KAG/Dge,IAAiBC,MACjB5xe,KAAKopG,UAAUlvC,KAAK2iR,IACpB78U,KAAK68U,UAAYA,IAEd78U,KAAKopG,SAChB,QACSppG,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFgje,IA1lJVtxe,MA0lJwCA,MAAkB,KAAyC,QAC3LD,KAAK2we,WA3lJmF1we,MAAE,CAAAzS,KAAA,WAAAygB,KA2lJMsje,GAAYX,MAAA,EAAA3nd,YAAA,GAAwD,EAChL,OA5BKsod,EAAY,KAqClB,SAASE,GAAkBM,GAAWC,IAClC,MAAMx5e,GAAIu5e,GAAU7wc,IACdi5B,GAAI63a,GAAU9wc,IAEpB,GAAI1oC,KAAM2hE,GACN,OAAO,EAEX,QAAU9rE,IAANmK,GACA,OAAO,EACX,QAAUnK,IAAN8rE,GACA,OAAO,EAEX,GAAU,OAAN3hE,GACA,OAAO,EACX,GAAU,OAAN2hE,GACA,OAAO,EACX,GAAgB,iBAAL3hE,IAA6B,iBAAL2hE,GAC/B,OAAO3hE,GAAI2hE,IAAI,EAAK,EAExB,GAAgB,iBAAL3hE,IAA6B,iBAAL2hE,GAC/B,OAAO3hE,GAAI2hE,GAEf,GAAgB,kBAAL3hE,IAA8B,kBAAL2hE,GAChC,OAAO3hE,GAAI2hE,IAAI,EAAK,EAGxB,MAAM83a,GAAUzmc,OAAOhzC,IACjB05e,GAAU1mc,OAAO2uB,IACvB,OAAO83a,IAAWC,GAAU,EAAID,GAAUC,IAAU,EAAK,CAC7D,CA6RA,IAmCMC,GAAS,MAAf,MAAMA,GACFpod,UAAUz8B,GAAOonD,GAAOi1D,IACpB,GAAa,MAATr8G,GACA,OAAO,KACX,IAAK0S,KAAK08M,SAASpvN,IACf,MAAMoif,KAEV,OAAOpif,GAAMs0C,MAAM8S,GAAOi1D,GAC9B,CACA+yG,SAASz7K,IACL,MAAsB,iBAARA,IAAoB3vC,MAAMC,QAAQ0vC,GACpD,QACSjhC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF4je,GAAS,CAAgD,QAC3Jnye,KAAK2we,WA/8JmF1we,MAAE,CAAAzS,KAAA,QAAAygB,KA+8JMkke,GAASvB,MAAA,EAAA3nd,YAAA,GAAqD,EAC1K,OAdKkpd,EAAS,KA0DTzre,GAAY,MAAlB,MAAMA,UACO1G,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF7H,GAAY,CAAoD,QAClK1G,KAAKm4B,UA9/JmFl4B,KAAE,CAAAgO,KA8/JSvH,IAA+oB,QAClvB1G,KAAKo4B,UA//JmFn4B,MAAE,GA+/J0B,EAChI,OAJKyG,EAAY,KAalB,MAAM0re,GAAsB,UACtBC,GAAqB,SAO3B,SAASha,GAAkBv5U,IACvB,OAAOA,KAAeszV,EAC1B,CAKA,SAAS1vV,GAAiB5D,IACtB,OAAOA,KAAeuzV,EAC1B,CA8BA,IAKMC,GAAgB,MAAtB,MAAMA,UAIOtye,KAAKszD,cAAQi/a,OAAmB,CACrCtif,MAAOqif,GACP3xe,WAAY,OACZF,QAASA,IAAM43d,MAAkBpnc,OAAO8wH,QAClC,IAAIywV,MAAwBvhd,OAAOxI,GAAW7T,QAC9C,IAAI69d,IACV,EACP,OAXKH,EAAgB,KAetB,MAAME,GACF/ye,YAAYwN,GAAU2H,IAClB5U,KAAKiN,SAAWA,GAChBjN,KAAK4U,OAASA,GACd5U,KAAK+tJ,OAAS,IAAM,CAAC,EAAG,EAC5B,CAOA2kV,UAAU3kV,IAEF/tJ,KAAK+tJ,OADLz8J,MAAMC,QAAQw8J,IACA,IAAMA,GAGNA,EAEtB,CAKA4kV,oBACI,MAAO,CAAC3ye,KAAK4U,OAAOqpd,QAASj+d,KAAK4U,OAAOopd,QAC7C,CAKA4U,iBAAiBj9c,IACb31B,KAAK4U,OAAOskd,SAASvjc,GAAS,GAAIA,GAAS,GAC/C,CAYAk9c,eAAe/pb,IACX,MAAMgqb,GAgCd,SAASC,GAAuB9le,GAAU67C,IACtC,MAAMkqb,GAAiB/le,GAASC,eAAe47C,KAAW77C,GAAS60Q,kBAAkBh5N,IAAQ,GAC7F,GAAIkqb,GACA,OAAOA,GAIX,GAAyC,mBAA9B/le,GAAS89I,kBAChB99I,GAASzjB,MAC6B,mBAA/ByjB,GAASzjB,KAAKilK,aAA6B,CAClD,MAAMwkV,GAAahme,GAAS89I,iBAAiB99I,GAASzjB,KAAMwhK,WAAWC,cACvE,IAAIM,GAAc0nV,GAAW1nV,YAC7B,KAAOA,IAAa,CAChB,MAAMiC,GAAajC,GAAYiC,WAC/B,GAAIA,GAAY,CAGZ,MAAMlwJ,GAASkwJ,GAAWtgJ,eAAe47C,KAAW0kG,GAAWj2F,cAAc,UAAUzO,QACvF,GAAIxrD,GACA,OAAOA,EAEf,CACAiuJ,GAAc0nV,GAAW3nV,UAC7B,CACJ,CACA,OAAO,IACX,CA1D2BynV,CAAuB/ye,KAAKiN,SAAU67C,IACrDgqb,KACA9ye,KAAKkze,gBAAgBJ,IAOrBA,GAAW3le,QAEnB,CAIAgme,4BAA4BC,IACxBpze,KAAK4U,OAAO42E,QAAQ4nZ,kBAAoBA,EAC5C,CAOAF,gBAAgBh6c,IACZ,MAAMopI,GAAOppI,GAAG+0H,wBACVp+G,GAAOyyH,GAAKzyH,KAAO7vC,KAAK4U,OAAO0jJ,YAC/BroH,GAAMqyH,GAAKryH,IAAMjwC,KAAK4U,OAAO4jJ,YAC7BzK,GAAS/tJ,KAAK+tJ,SACpB/tJ,KAAK4U,OAAOskd,SAASrpb,GAAOk+G,GAAO,GAAI99G,GAAM89G,GAAO,GACxD,EAgCJ,MAAM0kV,GAIFC,UAAU3kV,IAAU,CAIpB4kV,oBACI,MAAO,CAAC,EAAG,EACf,CAIAC,iBAAiBj9c,IAAY,CAI7Bk9c,eAAe53L,IAAU,CAIzBk4L,4BAA4BC,IAAqB,EAQrD,MAAMC,gNC7tKN,MAAMC,IAYN,MAAMC,IAUN,MAAMC,GAEF/ze,YAAY2nC,GAKRpnC,KAAKyze,gBAAkB,IAAIxwc,IAI3BjjC,KAAK0ze,WAAa,KACbtsc,EAGuB,iBAAZA,EACZpnC,KAAK2ze,SAAW,KACZ3ze,KAAKonC,QAAU,IAAInE,IACnBmE,EAAQjc,MAAM,MAAMC,QAASkvE,IACzB,MAAMjiF,GAAQiiF,EAAKzoG,QAAQ,KAC3B,GAAIwmB,GAAQ,EAAG,CACX,MAAM7qB,GAAO8sG,EAAK14D,MAAM,EAAGvpB,IACrB6oB,GAAM1zC,GAAKlD,cACXgD,GAAQgtG,EAAK14D,MAAMvpB,GAAQ,GAAGnD,OACpClV,KAAK4ze,uBAAuBpmf,GAAM0zC,IAC9BlhC,KAAKonC,QAAQ3N,IAAIyH,IACjBlhC,KAAKonC,QAAQ1+B,IAAIw4B,IAAKY,KAAKx0C,IAG3B0S,KAAKonC,QAAQlE,IAAIhC,GAAK,CAAC5zC,IAE/B,GACH,SAGOymI,QAAY,KAAe3sF,aAAmB2sF,SAC1D/zH,KAAKonC,QAAU,IAAInE,IACnBmE,EAAQhc,QAAQ,CAAC3f,EAAQje,MACrBwS,KAAK6ze,iBAAiBrmf,GAAMie,EAAM,IAItCzL,KAAK2ze,SAAW,KAIZ3ze,KAAKonC,QAAU,IAAInE,IACnB7T,OAAOihB,QAAQjJ,GAAShc,QAAQ,EAAE59B,EAAMie,OACpCzL,KAAK6ze,iBAAiBrmf,EAAMie,GAAM,EACrC,EApCLzL,KAAKonC,QAAU,IAAInE,GAuC3B,CAQAxJ,IAAIjsC,GACA,OAAAwS,KAAKgxC,OACEhxC,KAAKonC,QAAQ3N,IAAIjsC,EAAKlD,cACjC,CAQAoe,IAAIlb,GACAwS,KAAKgxC,OACL,MAAMvlC,EAASzL,KAAKonC,QAAQ1+B,IAAIlb,EAAKlD,eACrC,OAAOmhB,GAAUA,EAAOrZ,OAAS,EAAIqZ,EAAO,GAAK,IACrD,CAMA4jB,OACI,OAAArvB,KAAKgxC,OACE1/C,MAAM4lE,KAAKl3D,KAAKyze,gBAAgBhoe,SAC3C,CAQA8gO,OAAO/+O,GACH,OAAAwS,KAAKgxC,OACEhxC,KAAKonC,QAAQ1+B,IAAIlb,EAAKlD,gBAAkB,IACnD,CAUAkyD,OAAOhvD,EAAMF,GACT,OAAO0S,KAAK2nB,MAAM,CAAEn6B,OAAMF,QAAO6iQ,GAAI,KACzC,CAWAjtN,IAAI11C,EAAMF,GACN,OAAO0S,KAAK2nB,MAAM,CAAEn6B,OAAMF,QAAO6iQ,GAAI,KACzC,CASAzoN,OAAOl6C,EAAMF,GACT,OAAO0S,KAAK2nB,MAAM,CAAEn6B,OAAMF,QAAO6iQ,GAAI,KACzC,CACAyjP,uBAAuBpmf,EAAMsmf,GACpB9ze,KAAKyze,gBAAgBh6c,IAAIq6c,IAC1B9ze,KAAKyze,gBAAgBvwc,IAAI4wc,EAAQtmf,EAEzC,CACAwjD,OACUhxC,KAAK2ze,WACH3ze,KAAK2ze,oBAAoBH,GACzBxze,KAAKk9W,SAASl9W,KAAK2ze,UAGnB3ze,KAAK2ze,WAET3ze,KAAK2ze,SAAW,KACV3ze,KAAK0ze,aACP1ze,KAAK0ze,WAAWtod,QAAS4mF,GAAWhyG,KAAK+ze,YAAY/hY,IACrDhyG,KAAK0ze,WAAa,MAG9B,CACAx2H,SAASpqG,GACLA,EAAM9hO,OACN1/C,MAAM4lE,KAAK47M,EAAM1rO,QAAQ/X,QAAQjE,QAAS8V,IACtClhC,KAAKonC,QAAQlE,IAAIhC,EAAK4xO,EAAM1rO,QAAQ1+B,IAAIw4B,IACxClhC,KAAKyze,gBAAgBvwc,IAAIhC,EAAK4xO,EAAM2gO,gBAAgB/qe,IAAIw4B,GAAI,EAEpE,CACAvZ,MAAMqqF,GACF,MAAMrqF,EAAQ,IAAI6rd,GAClB7rd,SAAMgsd,SAAa3ze,KAAK2ze,UAAY3ze,KAAK2ze,oBAAoBH,GAAcxze,KAAK2ze,SAAW3ze,KAC3F2nB,EAAM+rd,YAAc1ze,KAAK0ze,YAAc,IAAIjmf,OAAO,CAACukH,IAC5CrqF,CACX,CACAosd,YAAY/hY,GACR,MAAM9wE,EAAM8wE,EAAOxkH,KAAKlD,cACxB,OAAQ0nH,EAAOm+I,IACX,IAAK,IACL,IAAK,IACD,IAAI7iQ,GAAQ0kH,EAAO1kH,MAInB,GAHqB,iBAAVA,KACPA,GAAQ,CAACA,KAEQ,IAAjBA,GAAM8E,OACN,OAEJ4N,KAAK4ze,uBAAuB5hY,EAAOxkH,KAAM0zC,GACzC,MAAMs0H,IAAsB,MAAdxjD,EAAOm+I,GAAanwP,KAAKonC,QAAQ1+B,IAAIw4B,QAAO7yC,IAAc,GACxEmnK,GAAK1zH,QAAQx0C,IACb0S,KAAKonC,QAAQlE,IAAIhC,EAAKs0H,IACtB,MACJ,IAAK,IACD,MAAMw+U,GAAWhiY,EAAO1kH,MACxB,GAAK0mf,GAIA,CACD,IAAIp1b,GAAW5+C,KAAKonC,QAAQ1+B,IAAIw4B,GAChC,IAAK0d,GACD,OAEJA,GAAWA,GAASlxD,OAAQJ,IAAsC,IAA5B0mf,GAASnif,QAAQvE,IAC/B,IAApBsxD,GAASxsD,QACT4N,KAAKonC,QAAQM,OAAOxG,GACpBlhC,KAAKyze,gBAAgB/rc,OAAOxG,IAG5BlhC,KAAKonC,QAAQlE,IAAIhC,EAAK0d,GAE9B,MAhBI5+C,KAAKonC,QAAQM,OAAOxG,GACpBlhC,KAAKyze,gBAAgB/rc,OAAOxG,GAkB5C,CACA2yc,iBAAiBrmf,EAAMie,GACnB,MAAMwoe,IAAgB3if,MAAMC,QAAQka,GAAUA,EAAS,CAACA,IAAS5d,IAAKP,IAAUA,GAAM6zC,YAChFD,GAAM1zC,EAAKlD,cACjB0V,KAAKonC,QAAQlE,IAAIhC,GAAK+yc,IACtBj0e,KAAK4ze,uBAAuBpmf,EAAM0zC,GACtC,CAIA9V,QAAQzO,GACJ3c,KAAKgxC,OACL1/C,MAAM4lE,KAAKl3D,KAAKyze,gBAAgBpkd,QAAQjE,QAAS8V,GAAQvkB,EAAG3c,KAAKyze,gBAAgB/qe,IAAIw4B,GAAMlhC,KAAKonC,QAAQ1+B,IAAIw4B,IAChH,EA0BJ,MAAMgzc,GAMFC,UAAUjzc,GACN,OAAOkzc,GAAiBlzc,EAC5B,CAMAmzc,YAAY/mf,GACR,OAAO8mf,GAAiB9mf,EAC5B,CAMAgnf,UAAUpzc,GACN,OAAOkJ,mBAAmBlJ,EAC9B,CAMAqzc,YAAYjnf,GACR,OAAO88C,mBAAmB98C,EAC9B,EAwBJ,MAAMknf,GAA0B,kBAC1BC,GAAiC,CACnC,GAAM,IACN,KAAM,IACN,GAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,KAEV,SAASL,GAAiBrid,IACtB,OAAO29C,mBAAmB39C,IAAG1jB,QAAQmme,GAAyB,CAAClif,EAAGic,IAAMkme,GAA+Blme,IAAMjc,EACjH,CACA,SAASoif,GAAcpnf,IACnB,MAAO,GAAGA,IACd,CASA,MAAMqnf,GACFl1e,YAAYmnB,EAAU,CAAC,GAInB,GAHA5mB,KAAK40e,QAAU,KACf50e,KAAK60e,UAAY,KACjB70e,KAAK80e,QAAUlud,EAAQkud,SAAW,IAAIZ,GAChCttd,EAAQumb,WAAY,CACtB,GAAMvmb,EAAQmud,WACV,MAAM,IAAIltc,MAAM,kDAEpB7nC,KAAKnS,IAxDjB,SAASmnf,GAAYC,GAAWC,GAC5B,MAAMrnf,EAAM,IAAIo1C,IAChB,OAAIgyc,GAAU7if,OAAS,GAIJ6if,GAAU5me,QAAQ,MAAO,IAAI8c,MAAM,KAC3CC,QAAS0xB,KACZ,MAAMq4b,GAAQr4b,GAAMjrD,QAAQ,MACrBqvC,GAAKmD,IAAgB,GAAT8wc,GACb,CAACD,EAAMZ,UAAUx3b,IAAQ,IACzB,CAACo4b,EAAMZ,UAAUx3b,GAAMlb,MAAM,EAAGuzc,KAASD,EAAMX,YAAYz3b,GAAMlb,MAAMuzc,GAAQ,KAC/E/pf,GAAOyC,EAAI6a,IAAIw4B,KAAQ,GAC7B91C,GAAK02C,KAAKuC,GACVx2C,EAAIq1C,IAAIhC,GAAK91C,GAAI,GAGlByC,CACX,CAsCuBmnf,CAAYpud,EAAQumb,WAAYntc,KAAK80e,QACpD,MACWlud,EAAQmud,YACf/0e,KAAKnS,IAAM,IAAIo1C,IACf7T,OAAOC,KAAKzI,EAAQmud,YAAY3pd,QAAS8V,IACrC,MAAM5zC,GAAQs5B,EAAQmud,WAAW7zc,GAE3Bz1B,GAASna,MAAMC,QAAQjE,IAASA,GAAMO,IAAI6mf,IAAiB,CAACA,GAAcpnf,KAChF0S,KAAKnS,IAAIq1C,IAAIhC,EAAKz1B,GAAM,IAI5BzL,KAAKnS,IAAM,IAEnB,CAOA4rC,IAAIqjB,GACA,OAAA98C,KAAKgxC,OACEhxC,KAAKnS,IAAI4rC,IAAIqjB,EACxB,CAOAp0C,IAAIo0C,GACA98C,KAAKgxC,OACL,MAAMv1B,EAAMzb,KAAKnS,IAAI6a,IAAIo0C,GACzB,OAASrhC,EAAMA,EAAI,GAAK,IAC5B,CAOA8wN,OAAOzvL,GACH,OAAA98C,KAAKgxC,OACEhxC,KAAKnS,IAAI6a,IAAIo0C,IAAU,IAClC,CAKAztB,OACI,OAAArvB,KAAKgxC,OACE1/C,MAAM4lE,KAAKl3D,KAAKnS,IAAIwhC,OAC/B,CAOAmtB,OAAOM,EAAOxvD,GACV,OAAO0S,KAAK2nB,MAAM,CAAEm1B,QAAOxvD,QAAO6iQ,GAAI,KAC1C,CAMAilP,UAAUhoe,GACN,MAAMwne,EAAU,GAChBxld,cAAOC,KAAKjiB,GAAQge,QAAS0xB,KACzB,MAAMxvD,GAAQ8f,EAAO0vC,IACjBxrD,MAAMC,QAAQjE,IACdA,GAAM89B,QAASs3M,KACXkyQ,EAAQ9yc,KAAK,CAAEgb,SAAOxvD,MAAOo1O,GAAQytB,GAAI,KAAK,GAIlDykP,EAAQ9yc,KAAK,CAAEgb,SAAOxvD,MAAOA,GAAO6iQ,GAAI,KAAK,GAG9CnwP,KAAK2nB,MAAMitd,EACtB,CAOA1xc,IAAI4Z,EAAOxvD,GACP,OAAO0S,KAAK2nB,MAAM,CAAEm1B,QAAOxvD,QAAO6iQ,GAAI,KAC1C,CAQAzoN,OAAOoV,EAAOxvD,GACV,OAAO0S,KAAK2nB,MAAM,CAAEm1B,QAAOxvD,QAAO6iQ,GAAI,KAC1C,CAKAhvN,WACI,OAAAnhC,KAAKgxC,OACGhxC,KAAKqvB,OACRxhC,IAAKqzC,IACN,MAAMm0c,EAAOr1e,KAAK80e,QAAQX,UAAUjzc,GAIpC,OAAOlhC,KAAKnS,IAAI6a,IAAIw4B,GACfrzC,IAAKP,IAAU+nf,EAAO,IAAMr1e,KAAK80e,QAAQT,YAAY/mf,KACrDo+C,KAAK,IAAG,GAIZh+C,OAAQovD,GAAoB,KAAVA,GAClBpR,KAAK,IACd,CACA/jB,MAAMqqF,GACF,MAAMrqF,EAAQ,IAAIgtd,GAAW,CAAEG,QAAS90e,KAAK80e,UAC7Cntd,SAAMktd,UAAY70e,KAAK60e,WAAa70e,KACpC2nB,EAAMitd,SAAW50e,KAAK40e,SAAW,IAAInnf,OAAOukH,GACrCrqF,CACX,CACAqpB,OACqB,OAAbhxC,KAAKnS,MACLmS,KAAKnS,IAAM,IAAIo1C,KAEI,OAAnBjjC,KAAK60e,YACL70e,KAAK60e,UAAU7jc,OACfhxC,KAAK60e,UAAUxld,OAAOjE,QAAS8V,GAAQlhC,KAAKnS,IAAIq1C,IAAIhC,EAAKlhC,KAAK60e,UAAUhnf,IAAI6a,IAAIw4B,KAChFlhC,KAAK40e,QAAQxpd,QAAS4mF,IAClB,OAAQA,EAAOm+I,IACX,IAAK,IACL,IAAK,IACD,MAAM36F,GAAsB,MAAdxjD,EAAOm+I,GAAanwP,KAAKnS,IAAI6a,IAAIspG,EAAOl1D,YAASzuD,IAAc,GAC7EmnK,EAAK1zH,KAAK4yc,GAAc1iY,EAAO1kH,QAC/B0S,KAAKnS,IAAIq1C,IAAI8uE,EAAOl1D,MAAO04G,GAC3B,MACJ,IAAK,IACD,QAAqBnnK,IAAjB2jH,EAAO1kH,MAaN,CACD0S,KAAKnS,IAAI65C,OAAOsqE,EAAOl1D,OACvB,KACJ,CAhBgC,CAC5B,IAAI04G,GAAOx1J,KAAKnS,IAAI6a,IAAIspG,EAAOl1D,QAAU,GACzC,MAAM3N,GAAMqmH,GAAK3jK,QAAQ6if,GAAc1iY,EAAO1kH,SAClC,IAAR6hD,IACAqmH,GAAKnmH,OAAOF,GAAK,GAEjBqmH,GAAKpjK,OAAS,EACd4N,KAAKnS,IAAIq1C,IAAI8uE,EAAOl1D,MAAO04G,IAG3Bx1J,KAAKnS,IAAI65C,OAAOsqE,EAAOl1D,MAE/B,EAKR,GAEJ98C,KAAK60e,UAAY70e,KAAK40e,QAAU,KAExC,EA8CJ,MAAMU,GACF71e,cACIO,KAAKnS,IAAM,IAAIo1C,GACnB,CASAC,IAAIjzC,EAAO3C,GACP,OAAA0S,KAAKnS,IAAIq1C,IAAIjzC,EAAO3C,GACb0S,IACX,CAQA0I,IAAIzY,GACA,OAAK+P,KAAKnS,IAAI4rC,IAAIxpC,IACd+P,KAAKnS,IAAIq1C,IAAIjzC,EAAOA,EAAM81F,gBAEvB/lF,KAAKnS,IAAI6a,IAAIzY,EACxB,CAQAy3C,OAAOz3C,GACH,OAAA+P,KAAKnS,IAAI65C,OAAOz3C,GACT+P,IACX,CAQAy5B,IAAIxpC,GACA,OAAO+P,KAAKnS,IAAI4rC,IAAIxpC,EACxB,CAIAo/B,OACI,OAAOrvB,KAAKnS,IAAIwhC,MACpB,EAuBJ,SAASkpX,GAAcjrZ,IACnB,cAAc49O,YAAgB,KAAe59O,cAAiB49O,WAClE,CAMA,SAASqqQ,GAAOjof,IACZ,cAAcwlI,KAAS,KAAexlI,cAAiBwlI,IAC3D,CAMA,SAAS0iX,GAAWlof,IAChB,cAAcmof,SAAa,KAAenof,cAAiBmof,QAC/D,CAmBA,MAAM3vU,GACFrmK,YAAY2pC,EAAQxO,EAAK86c,GAAOC,IAiC5B,IAAI/ud,GAuCJ,GAvEA5mB,KAAK46B,IAAMA,EAQX56B,KAAKxW,KAAO,KASZwW,KAAK41e,gBAAiB,EAItB51e,KAAKq7P,iBAAkB,EAOvBr7P,KAAKmlC,aAAe,OACpBnlC,KAAKopC,OAASA,EAAOrP,cArF7B,SAAS87c,GAAczsc,IACnB,OAAQA,IACJ,IAAK,SACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,QACD,OAAO,EACX,QACI,OAAO,EAEnB,CAgFYysc,CAAc71e,KAAKopC,SAAausc,IAEhC31e,KAAKxW,UAAiB6E,IAAVqnf,GAAsBA,GAAQ,KAC1C9ud,GAAU+ud,IAIV/ud,GAAU8ud,GAGV9ud,KAEA5mB,KAAK41e,iBAAmBhvd,GAAQgvd,eAChC51e,KAAKq7P,kBAAoBz0O,GAAQy0O,gBAE3Bz0O,GAAQue,eACVnlC,KAAKmlC,aAAeve,GAAQue,cAG1Bve,GAAQwgB,UACVpnC,KAAKonC,QAAUxgB,GAAQwgB,SAErBxgB,GAAQ+nF,UACV3uG,KAAK2uG,QAAU/nF,GAAQ+nF,SAErB/nF,GAAQxZ,SACVpN,KAAKoN,OAASwZ,GAAQxZ,QAG1BpN,KAAK81e,cAAgBlvd,GAAQkvd,eAGjC91e,KAAKonC,UAAY,IAAIosc,GAErBxze,KAAK2uG,UAAY,IAAI2mY,GAEhBt1e,KAAKoN,OAIL,CAED,MAAMA,GAASpN,KAAKoN,OAAO+zB,WAC3B,GAAsB,IAAlB/zB,GAAOhb,OAEP4N,KAAK+1e,cAAgBn7c,MAEpB,CAED,MAAMo7c,EAAOp7c,EAAI/oC,QAAQ,KASzBmO,KAAK+1e,cAAgBn7c,IADA,IAATo7c,EAAc,IAAMA,EAAOp7c,EAAIxoC,OAAS,EAAI,IAAM,IAC7Bgb,EACrC,CACJ,MAvBIpN,KAAKoN,OAAS,IAAIune,GAClB30e,KAAK+1e,cAAgBn7c,CAuB7B,CAKAq7c,gBAEI,OAAkB,OAAdj2e,KAAKxW,KACE,KAIc,iBAAdwW,KAAKxW,MACZ+uZ,GAAcv4Y,KAAKxW,OACnB+rf,GAAOv1e,KAAKxW,OACZgsf,GAAWx1e,KAAKxW,OA9H5B,SAAS0sf,GAAkB5of,IACvB,cAAcqkD,gBAAoB,KAAerkD,cAAiBqkD,eACtE,CA6HYukc,CAAkBl2e,KAAKxW,MAChBwW,KAAKxW,KAGZwW,KAAKxW,gBAAgBmrf,GACd30e,KAAKxW,KAAK23C,WAGI,iBAAdnhC,KAAKxW,MACS,kBAAdwW,KAAKxW,MACZ8H,MAAMC,QAAQyO,KAAKxW,MACZgU,KAAKutC,UAAU/qC,KAAKxW,MAGxBwW,KAAKxW,KAAK23C,UACrB,CAOAg1c,0BAMI,OAJkB,OAAdn2e,KAAKxW,MAILgsf,GAAWx1e,KAAKxW,MACT,KAIP+rf,GAAOv1e,KAAKxW,MACLwW,KAAKxW,KAAKykB,MAAQ,KAGzBsqY,GAAcv4Y,KAAKxW,MACZ,KAIc,iBAAdwW,KAAKxW,KACL,aAGPwW,KAAKxW,gBAAgBmrf,GACd,kDAGc,iBAAd30e,KAAKxW,MACS,iBAAdwW,KAAKxW,MACS,kBAAdwW,KAAKxW,KACL,mBAGJ,IACX,CACAm+B,MAAMqqF,EAAS,CAAC,GAGZ,MAAM5oE,EAAS4oE,EAAO5oE,QAAUppC,KAAKopC,OAC/BxO,GAAMo3E,EAAOp3E,KAAO56B,KAAK46B,IACzBuK,GAAe6sE,EAAO7sE,cAAgBnlC,KAAKmlC,aAG3C2wc,GAAgB9jY,EAAO8jY,eAAiB91e,KAAK81e,cAK7Ctsf,QAAuB6E,IAAhB2jH,EAAOxoH,KAAqBwoH,EAAOxoH,KAAOwW,KAAKxW,KAGtD6xQ,EAAkBrpJ,EAAOqpJ,iBAAmBr7P,KAAKq7P,gBACjDu6O,GAAiB5jY,EAAO4jY,gBAAkB51e,KAAK41e,eAGrD,IAAIxuc,GAAU4qE,EAAO5qE,SAAWpnC,KAAKonC,QACjCh6B,GAAS4kG,EAAO5kG,QAAUpN,KAAKoN,OAEnC,MAAMuhG,GAAUqD,EAAOrD,SAAW3uG,KAAK2uG,QAEvC,YAA0BtgH,IAAtB2jH,EAAOi6D,aAEP7kI,GAAUhY,OAAOC,KAAK2iF,EAAOi6D,YAAY9nI,OAAO,CAACiD,GAAS55C,KAAS45C,GAAQlE,IAAI11C,GAAMwkH,EAAOi6D,WAAWz+K,KAAQ45C,KAG/G4qE,EAAOokY,YAEPhpe,GAASgiB,OAAOC,KAAK2iF,EAAOokY,WAAWjyc,OAAO,CAAC/2B,GAAQ0vC,KAAU1vC,GAAO81B,IAAI4Z,GAAOk1D,EAAOokY,UAAUt5b,KAAS1vC,KAG1G,IAAI04J,GAAY18H,EAAQxO,GAAKpxC,GAAM,CACtC4jB,UACAg6B,WACAunE,WACAinY,kBACAzwc,gBACAk2N,kBACAy6O,kBAER,EAQJ,IAAIO,GACH,SAAUA,IAIPA,UAAcA,GAAcC,KAAU,GAAK,OAM3CD,GAAcA,GAAcE,eAAoB,GAAK,iBAIrDF,GAAcA,GAAcG,eAAoB,GAAK,iBAIrDH,GAAcA,GAAcI,iBAAsB,GAAK,mBAIvDJ,GAAcA,GAAcnrO,SAAc,GAAK,WAI/CmrO,GAAcA,GAAchxb,KAAU,GAAK,OA1BpCgxb,EA2BX,CA3BC,CA2BEA,IAAkC,CAAC,GAMtC,MAAMK,GAOFj3e,YAAYuxC,EAAM2lc,EAAgBC,GAAeC,GAAIC,GAAoB,MAGrE92e,KAAKonC,QAAU4J,EAAK5J,SAAW,IAAIosc,GACnCxze,KAAK1P,YAAyBjC,IAAhB2iD,EAAK1gD,OAAuB0gD,EAAK1gD,OAASqmf,EACxD32e,KAAK62C,WAAa7F,EAAK6F,YAAcigc,GACrC92e,KAAK46B,IAAMoW,EAAKpW,KAAO,KAEvB56B,KAAK02C,GAAK12C,KAAK1P,QAAU,KAAO0P,KAAK1P,OAAS,GAClD,EAWJ,MAAMymf,WAA2BL,GAI7Bj3e,YAAYuxC,EAAO,CAAC,GAChBR,MAAMQ,GACNhxC,KAAKiO,KAAOooe,GAAcG,cAC9B,CAKA7ud,MAAMqqF,EAAS,CAAC,GAGZ,OAAO,IAAI+kY,GAAmB,CAC1B3vc,QAAS4qE,EAAO5qE,SAAWpnC,KAAKonC,QAChC92C,YAA0BjC,IAAlB2jH,EAAO1hH,OAAuB0hH,EAAO1hH,OAAS0P,KAAK1P,OAC3DumD,WAAYm7D,EAAOn7D,YAAc72C,KAAK62C,WACtCjc,IAAKo3E,EAAOp3E,KAAO56B,KAAK46B,UAAOvsC,GAEvC,EAWJ,MAAM2of,WAAqBN,GAIvBj3e,YAAYuxC,EAAO,CAAC,GAChBR,MAAMQ,GACNhxC,KAAKiO,KAAOooe,GAAcnrO,SAC1BlrQ,KAAKxW,UAAqB6E,IAAd2iD,EAAKxnD,KAAqBwnD,EAAKxnD,KAAO,IACtD,CACAm+B,MAAMqqF,EAAS,CAAC,GACZ,OAAO,IAAIglY,GAAa,CACpBxtf,UAAsB6E,IAAhB2jH,EAAOxoH,KAAqBwoH,EAAOxoH,KAAOwW,KAAKxW,KACrD49C,QAAS4qE,EAAO5qE,SAAWpnC,KAAKonC,QAChC92C,YAA0BjC,IAAlB2jH,EAAO1hH,OAAuB0hH,EAAO1hH,OAAS0P,KAAK1P,OAC3DumD,WAAYm7D,EAAOn7D,YAAc72C,KAAK62C,WACtCjc,IAAKo3E,EAAOp3E,KAAO56B,KAAK46B,UAAOvsC,GAEvC,EAeJ,MAAM4of,WAA0BP,GAC5Bj3e,YAAYuxC,GAERR,MAAMQ,EAAM,EAAG,iBACfhxC,KAAKxS,KAAO,oBAIZwS,KAAK02C,IAAK,EAKN12C,KAAKuqC,QADLvqC,KAAK1P,QAAU,KAAO0P,KAAK1P,OAAS,IACrB,mCAAmC0gD,EAAKpW,KAAO,kBAG/C,6BAA6BoW,EAAKpW,KAAO,oBAAoBoW,EAAK1gD,UAAU0gD,EAAK6F,aAEpG72C,KAAKlR,MAAQkiD,EAAKliD,OAAS,IAC/B,EAOJ,IAAI8nf,GACH,SAAUA,IACPA,UAAeA,GAAeM,SAAc,KAAO,WACnDN,GAAeA,GAAeO,mBAAwB,KAAO,qBAC7DP,GAAeA,GAAeQ,WAAgB,KAAO,aACrDR,GAAeA,GAAeS,WAAgB,KAAO,aACrDT,GAAeA,GAAeC,GAAQ,KAAO,KAC7CD,GAAeA,GAAeU,QAAa,KAAO,UAClDV,GAAeA,GAAeW,SAAc,KAAO,WACnDX,GAAeA,GAAeY,4BAAiC,KAAO,8BACtEZ,GAAeA,GAAea,UAAe,KAAO,YACpDb,GAAeA,GAAec,aAAkB,KAAO,eACvDd,GAAeA,GAAee,eAAoB,KAAO,iBACzDf,GAAeA,GAAegB,YAAiB,KAAO,cACtDhB,GAAeA,GAAeiB,gBAAqB,KAAO,kBAC1DjB,GAAeA,GAAekB,OAAY,KAAO,SACjDlB,GAAeA,GAAemB,gBAAqB,KAAO,kBAC1DnB,GAAeA,GAAeoB,iBAAsB,KAAO,mBAC3DpB,GAAeA,GAAeqB,MAAW,KAAO,QAChDrB,GAAeA,GAAesB,SAAc,KAAO,WACnDtB,GAAeA,GAAeuB,YAAiB,KAAO,cACtDvB,GAAeA,GAAewB,SAAc,KAAO,WACnDxB,GAAeA,GAAeyB,OAAY,KAAO,SACjDzB,GAAeA,GAAe0B,kBAAuB,KAAO,oBAC5D1B,GAAeA,GAAe2B,kBAAuB,KAAO,oBAC5D3B,GAAeA,GAAe4B,WAAgB,KAAO,aACrD5B,GAAeA,GAAe6B,aAAkB,KAAO,eACvD7B,GAAeA,GAAe8B,gBAAqB,KAAO,kBAC1D9B,GAAeA,GAAe+B,UAAe,KAAO,YACpD/B,GAAeA,GAAegC,SAAc,KAAO,WACnDhC,GAAeA,GAAeiC,iBAAsB,KAAO,mBAC3DjC,GAAeA,GAAekC,cAAmB,KAAO,gBACxDlC,GAAeA,GAAemC,4BAAiC,KAAO,8BACtEnC,GAAeA,GAAeoC,eAAoB,KAAO,iBACzDpC,GAAeA,GAAeqC,SAAc,KAAO,WACnDrC,GAAeA,GAAesC,KAAU,KAAO,OAC/CtC,GAAeA,GAAeuC,eAAoB,KAAO,iBACzDvC,GAAeA,GAAewC,mBAAwB,KAAO,qBAC7DxC,GAAeA,GAAeyC,gBAAqB,KAAO,kBAC1DzC,GAAeA,GAAe0C,WAAgB,KAAO,aACrD1C,GAAeA,GAAe2C,qBAA0B,KAAO,uBAC/D3C,GAAeA,GAAe4C,oBAAyB,KAAO,sBAC9D5C,GAAeA,GAAe6C,kBAAuB,KAAO,oBAC5D7C,GAAeA,GAAe8C,UAAe,KAAO,YACpD9C,GAAeA,GAAe+C,mBAAwB,KAAO,qBAC7D/C,GAAeA,GAAegD,oBAAyB,KAAO,sBAC9DhD,GAAeA,GAAeiD,OAAY,KAAO,SACjDjD,GAAeA,GAAekD,iBAAsB,KAAO,mBAC3DlD,GAAeA,GAAemD,SAAc,KAAO,WACnDnD,GAAeA,GAAeoD,gBAAqB,KAAO,kBAC1DpD,GAAeA,GAAeqD,qBAA0B,KAAO,uBAC/DrD,GAAeA,GAAesD,gBAAqB,KAAO,kBAC1DtD,GAAeA,GAAeuD,4BAAiC,KAAO,8BACtEvD,GAAeA,GAAewD,2BAAgC,KAAO,6BACrExD,GAAeA,GAAeyD,oBAAyB,KAAO,sBAC9DzD,GAAeA,GAAe0D,eAAoB,KAAO,iBACzD1D,GAAeA,GAAe2D,WAAgB,KAAO,aACrD3D,GAAeA,GAAe4D,mBAAwB,KAAO,qBAC7D5D,GAAeA,GAAe6D,eAAoB,KAAO,iBACzD7D,GAAeA,GAAe8D,wBAA6B,KAAO,0BAClE9D,GAAeA,GAAe+D,sBAA2B,KAAO,wBAChE/D,GAAeA,GAAegE,oBAAyB,KAAO,sBAC9DhE,GAAeA,GAAeiE,aAAkB,KAAO,eACvDjE,GAAeA,GAAekE,YAAiB,KAAO,cACtDlE,GAAeA,GAAemE,8BAAmC,KAAO,gCA/DjEnE,EAgEX,CAhEC,CAgEEA,IAAoC,CAAC,GAYxC,SAASoE,GAAQp0d,GAASp9B,GACtB,MAAO,CACHA,OACA49C,QAASxgB,GAAQwgB,QACjBunE,QAAS/nF,GAAQ+nF,QACjBg+C,QAAS/lI,GAAQ+lI,QACjBv/I,OAAQwZ,GAAQxZ,OAChBwoe,eAAgBhvd,GAAQgvd,eACxBzwc,aAAcve,GAAQue,aACtBk2N,gBAAiBz0O,GAAQy0O,gBACzBy6O,cAAelvd,GAAQkvd,cAE/B,CACA,IAuDMmF,GAAU,MAAhB,MAAMA,GACFx7e,YAAYm1G,GACR50G,KAAK40G,QAAUA,CACnB,CA2BA7uE,QAAQrX,EAAOkM,GAAKhU,GAAU,CAAC,GAC3B,IAAI2S,GAEJ,GAAI7K,aAAiBo3I,GAGjBvsI,GAAM7K,MAEL,CAKD,IAAI0Y,GAQAh6B,GANAg6B,GADAxgB,GAAQwgB,mBAAmBosc,GACjB5sd,GAAQwgB,QAGR,IAAIosc,GAAY5sd,GAAQwgB,SAIhCxgB,GAAQxZ,SAENA,GADAwZ,GAAQxZ,kBAAkBune,GACjB/td,GAAQxZ,OAGR,IAAIune,GAAW,CAAEI,WAAYnud,GAAQxZ,UAItDmsB,GAAM,IAAIusI,GAAYp3I,EAAOkM,QAAsBvsC,IAAjBu4B,GAAQp9B,KAAqBo9B,GAAQp9B,KAAO,KAAM,CAChF49C,WACAunE,QAAS/nF,GAAQ+nF,QACjBvhG,UACAwoe,eAAgBhvd,GAAQgvd,eAExBzwc,aAAcve,GAAQue,cAAgB,OACtCk2N,gBAAiBz0O,GAAQy0O,gBACzBy6O,cAAelvd,GAAQkvd,eAE/B,CAKA,MAAMoF,MAAU/me,MAAGolB,IAAK1uB,QAAKw+L,KAAW9vK,IAAQv5B,KAAK40G,QAAQ7mD,OAAOx0B,MAIpE,GAAI7K,aAAiBo3I,IAAmC,WAApBl/I,GAAQ+lI,QACxC,OAAOuuV,GAKX,MAAMC,EAAQD,GAAQrwe,QAAKnd,KAAQ8d,IAAUA,cAAiBwre,KAE9D,OAAQpwd,GAAQ+lI,SAAW,QACvB,IAAK,OAMD,OAAQpzH,GAAI4L,cACR,IAAK,cACD,OAAOg2c,EAAKtwe,QAAKhd,KAAK4tB,KAElB,GAAiB,OAAbA,GAAIjyB,QAAmBiyB,GAAIjyB,gBAAgB0hP,aAC3C,MAAM,IAAIrjM,MAAM,mCAEpB,OAAOpsB,GAAIjyB,QAEnB,IAAK,OACD,OAAO2xf,EAAKtwe,QAAKhd,KAAK4tB,KAElB,GAAiB,OAAbA,GAAIjyB,QAAmBiyB,GAAIjyB,gBAAgBspI,MAC3C,MAAM,IAAIjrF,MAAM,2BAEpB,OAAOpsB,GAAIjyB,QAEnB,IAAK,OACD,OAAO2xf,EAAKtwe,QAAKhd,KAAK4tB,KAElB,GAAiB,OAAbA,GAAIjyB,MAAqC,iBAAbiyB,GAAIjyB,KAChC,MAAM,IAAIq+C,MAAM,6BAEpB,OAAOpsB,GAAIjyB,QAGnB,QAEI,OAAO2xf,EAAKtwe,QAAKhd,KAAK4tB,IAAQA,GAAIjyB,OAE9C,IAAK,WAED,OAAO2xf,EACX,QAEI,MAAM,IAAItzc,MAAM,uCAAuCjhB,GAAQ+lI,YAE3E,CAUAjlH,OAAO9M,EAAKhU,GAAU,CAAC,GACnB,OAAO5mB,KAAK+lC,QAAQ,SAAUnL,EAAKhU,GACvC,CAMAle,IAAIkyB,EAAKhU,GAAU,CAAC,GAChB,OAAO5mB,KAAK+lC,QAAQ,MAAOnL,EAAKhU,GACpC,CAQAwuI,KAAKx6H,EAAKhU,GAAU,CAAC,GACjB,OAAO5mB,KAAK+lC,QAAQ,OAAQnL,EAAKhU,GACrC,CAmBAw0d,MAAMxgd,EAAKygd,IACP,OAAOr7e,KAAK+lC,QAAQ,QAASnL,EAAK,CAC9BxtB,QAAQ,IAAIune,IAAan4b,OAAO6+b,GAAe,kBAC/C1uV,QAAS,OACTxnH,aAAc,QAEtB,CAQAve,QAAQgU,EAAKhU,GAAU,CAAC,GACpB,OAAO5mB,KAAK+lC,QAAQ,UAAWnL,EAAKhU,GACxC,CAMA00d,MAAM1gd,EAAKpxC,GAAMo9B,GAAU,CAAC,GACxB,OAAO5mB,KAAK+lC,QAAQ,QAASnL,EAAKogd,GAAQp0d,GAASp9B,IACvD,CAOAu7C,KAAKnK,EAAKpxC,GAAMo9B,GAAU,CAAC,GACvB,OAAO5mB,KAAK+lC,QAAQ,OAAQnL,EAAKogd,GAAQp0d,GAASp9B,IACtD,CAOAm7C,IAAI/J,EAAKpxC,GAAMo9B,GAAU,CAAC,GACtB,OAAO5mB,KAAK+lC,QAAQ,MAAOnL,EAAKogd,GAAQp0d,GAASp9B,IACrD,QACSwW,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0se,IAAVh7e,MAAsCqze,IAAW,CAA+C,QACxLtze,KAAKszD,WADmFrzD,MAAE,CAAAhQ,MACYgrf,GAAUx6e,QAAVw6e,GAAUv6e,WAAK,EACjI,OAlOKu6e,EAAU,KAuchB,SAASM,GAAsBhid,GAAKiid,GAChC,OAAOA,EAAejid,GAC1B,CAKA,SAASkid,GAA8BC,GAAanjF,GAChD,MAAO,CAACojF,EAAgBH,KAAmBjjF,EAAYxsP,UAAU4vU,EAAgB,CAC7E5tb,OAAS6tb,IAAsBF,GAAYE,GAAmBJ,KAEtE,CAgBA,MAAMhoK,GAAoB,IAAI3tT,MAAiD,IAIzEg2d,GAAuB,IAAIh2d,MAAoD,IAI/Ei2d,GAA4B,IAAIj2d,MAAyD,IAIzFk2d,GAAuB,IAAIl2d,MAAoD,IAKrF,SAASm2d,KACL,IAAI3iX,GAAQ,KACZ,MAAO,CAAC9/F,EAAKq7E,KACK,OAAVykB,KAMAA,OALqBpoG,OAAOuiT,GAAmB,CAAE16R,UAAU,KAAW,IAKjDk4S,YAAYyqJ,GAA+BF,KAEpE,MAAMU,MAAehrd,OAAOird,OACtBC,GAASF,GAAalwe,MAC5B,OAAOstH,GAAM9/F,EAAKq7E,GAAS/pG,QAAK+T,KAAS,IAAMq9d,GAAaj0d,OAAOm0d,KAAQ,CAEnF,CAKC,IACKC,GAAsB,MAA5B,MAAMA,WAA+B9I,GACjC7ze,YAAY48e,EAAS5oC,IACjBjja,QACAxwC,KAAKq8e,QAAUA,EACfr8e,KAAKyzc,SAAWA,GAChBzzc,KAAKq5H,MAAQ,KACbr5H,KAAKi8e,gBAAehrd,OAAOird,OAI3B,MAAMI,MAAqBrrd,OAAO8qd,GAAsB,CAAEjjc,UAAU,IACpE94C,KAAKq8e,QAAUC,IAAsBD,CAkBzC,CACAtub,OAAO4tb,GACH,GAAmB,OAAf37e,KAAKq5H,MAAgB,CACrB,MAAMkjX,GAAwBjrf,MAAM4lE,KAAK,IAAItR,IAAI,IAC1C5lD,KAAKyzc,SAAS/qc,IAAImze,OAClB77e,KAAKyzc,SAAS/qc,IAAIoze,GAA2B,OAMpD97e,KAAKq5H,MAAQkjX,GAAsBvrJ,YAAY,CAACwrJ,GAAiBC,KAzF7E,SAASC,GAAqBhB,GAAae,EAAehpC,GAEtD,MAAO,CAACkoC,GAAgBH,QAAmBmB,OAAsBlpC,EAAU,IAAMgpC,EAAcd,GAAiBC,IAAsBF,GAAYE,GAAmBJ,KAEzK,CAqF+FkB,CAAqBF,GAAiBC,GAAez8e,KAAKyzc,UAAW8nC,GAC5J,CACA,MAAMY,GAASn8e,KAAKi8e,aAAalwe,MACjC,OAAO/L,KAAKq5H,MAAMsiX,EAAiBC,IAAsB57e,KAAKq8e,QAAQtub,OAAO6tb,KAAoB/we,QAAK+T,KAAS,IAAM5e,KAAKi8e,aAAaj0d,OAAOm0d,KAClJ,QACSn8e,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF6te,IArVVn8e,MAqVkDsze,IArVlDtze,MAqV0EA,OAAsB,CAA+C,QACvOD,KAAKszD,WAtVmFrzD,MAAE,CAAAhQ,MAsVYmsf,GAAsB37e,QAAtB27e,GAAsB17e,WAAK,EAC7I,OA/CK07e,EAAsB,KAwS5B,MAAMQ,GAAc,eAcpB,IAOMC,GAAc,MAApB,MAAMA,GACFp9e,YAAYq9e,GACR98e,KAAK88e,WAAaA,CACtB,CAMA/ub,OAAOx0B,GAGH,GAAmB,UAAfA,EAAI6P,OACJ,MAAM,IAAIijI,OAAc,MAAwFC,GAMpH,MAAMwwU,GAAa98e,KAAK88e,WAIxB,OAHeA,GAAWC,kBACpB7lb,KAAK4lb,GAAWC,mBAAW,EAC3B5oe,MAAG,OACKtJ,QAAK+hB,KAAU,IAElB,IAAIk8K,IAAYj/C,KAGnB,MAAM95B,GAAM+sX,GAAW3lW,QAYvB,GAXApnB,GAAIvmE,KAAKjwB,EAAI6P,OAAQ7P,EAAIw8c,eACrBx8c,EAAI8hO,kBACJtrI,GAAIsrI,iBAAkB,GAG1B9hO,EAAI6N,QAAQhc,QAAQ,CAAC59B,GAAMie,KAAWskH,GAAI4sI,iBAAiBnvQ,GAAMie,GAAOigC,KAAK,OAExEnS,EAAI6N,QAAQ3N,IAAI,WACjBs2F,GAAI4sI,iBAAiB,SAAU,sCAG9BpjO,EAAI6N,QAAQ3N,IAAI,gBAAiB,CAClC,MAAMujd,GAAezjd,EAAI48c,0BAEJ,OAAjB6G,IACAjtX,GAAI4sI,iBAAiB,eAAgBqgP,GAE7C,CAEA,GAAIzjd,EAAI4L,aAAc,CAClB,MAAMA,GAAe5L,EAAI4L,aAAa76C,cAMtCylI,GAAI5qF,aAAiC,SAAjBA,GAA0BA,GAAe,MACjE,CAEA,MAAM83c,EAAU1jd,EAAI08c,gBAOpB,IAAIiH,GAAiB,KAGrB,MAAMC,GAAiBA,KACnB,GAAuB,OAAnBD,GACA,OAAOA,GAEX,MAAMrmc,GAAak5E,GAAIl5E,YAAc,KAE/BzP,GAAU,IAAIosc,GAAYzjX,GAAIuuI,yBAG9B1jO,GA7F1B,SAASwid,GAAertX,IACpB,MAAI,gBAAiBA,IAAOA,GAAI2H,YACrB3H,GAAI2H,YAEX,mBAAmBv8B,KAAK40B,GAAIuuI,yBACrBvuI,GAAI0c,kBAAkB,iBAE1B,IACX,CAqFgC2wW,CAAertX,KAAQx2F,EAAIqB,IAEvCsid,UAAiB,IAAInG,GAAmB,CAAE3vc,WAAS92C,OAAQy/H,GAAIz/H,OAAQumD,cAAYjc,SAC5Esid,IAKLtyJ,GAASA,KAEX,IAAMxjT,WAAS92C,UAAQumD,cAAYjc,QAAQuid,KAEvC3zf,GAAO,KACP8G,KAAWsmf,GAAea,YAE1Bjuf,UAAcumI,GAAI/pF,SAAa,IAAc+pF,GAAI54E,aAAe44E,GAAI/pF,UAGzD,IAAX11C,KACAA,GAAW9G,GAAOotf,GAAeC,GAAK,GAM1C,IAAIngc,GAAKpmD,IAAU,KAAOA,GAAS,IAGnC,GAAyB,SAArBipC,EAAI4L,cAA2C,iBAAT37C,GAAmB,CAEzD,MAAM6zf,GAAe7zf,GACrBA,GAAOA,GAAK6kB,QAAQuue,GAAa,IACjC,IAGIpzf,GAAgB,KAATA,GAAcgU,KAAKC,MAAMjU,IAAQ,IAC5C,OACOsF,IAIHtF,GAAO6zf,GAGH3mc,KAEAA,IAAK,EAELltD,GAAO,CAAEsF,SAAO6nD,KAAMntD,IAE9B,CACJ,CACIktD,IAEAmzG,GAASl9I,KAAK,IAAIqqe,GAAa,CAC3Bxtf,QACA49C,WACA92C,UACAumD,cACAjc,IAAKA,SAAOvsC,KAIhBw7J,GAAS1iI,YAIT0iI,GAAS/6J,MAAM,IAAImof,GAAkB,CAEjCnof,MAAOtF,GACP49C,WACA92C,UACAumD,cACAjc,IAAKA,SAAOvsC,IACd,EAMJwuQ,GAAW/tQ,KACb,MAAQ8rC,QAAQuid,KACV1he,GAAM,IAAIw7d,GAAkB,CAC9Bnof,SACAwB,OAAQy/H,GAAIz/H,QAAU,EACtBumD,WAAYk5E,GAAIl5E,YAAc,gBAC9Bjc,IAAKA,SAAOvsC,IAEhBw7J,GAAS/6J,MAAM2sB,GAAG,EAMtB,IAAI6he,IAAc,EAGlB,MAAMC,GAAkB/xe,KAEf8xe,KACDzzV,GAASl9I,KAAKwwe,MACdG,IAAc,GAIlB,IAAIE,GAAgB,CAChBvve,KAAMooe,GAAcI,iBACpB5nQ,OAAQrjO,GAAMqjO,QAGdrjO,GAAM+yP,mBACNi/O,GAAcviY,MAAQzvG,GAAMyvG,OAKP,SAArB1hF,EAAI4L,cAA6B4qF,GAAI54E,eACrCqmc,GAAcC,YAAc1tX,GAAI54E,cAGpC0yG,GAASl9I,KAAK6we,GAAa,EAIzBE,GAAgBlye,KAGlB,IAAImye,GAAW,CACX1ve,KAAMooe,GAAcE,eACpB1nQ,OAAQrjO,GAAMqjO,QAIdrjO,GAAM+yP,mBACNo/O,GAAS1iY,MAAQzvG,GAAMyvG,OAG3B4uC,GAASl9I,KAAKgxe,GAAQ,EAG1B5tX,UAAIr8F,iBAAiB,OAAQk3T,IAC7B76N,GAAIr8F,iBAAiB,QAASmpO,IAC9B9sI,GAAIr8F,iBAAiB,UAAWmpO,IAChC9sI,GAAIr8F,iBAAiB,QAASmpO,IAE1BtjO,EAAIq8c,iBAEJ7lX,GAAIr8F,iBAAiB,WAAY6pd,IAEjB,OAAZN,GAAoBltX,GAAI6tX,QACxB7tX,GAAI6tX,OAAOlqd,iBAAiB,WAAYgqd,KAIhD3tX,GAAIp7E,KAAKsoc,GACTpzV,GAASl9I,KAAK,CAAEsB,KAAMooe,GAAcC,OAG7B,KAEHvmX,GAAIl8F,oBAAoB,QAASgpO,IACjC9sI,GAAIl8F,oBAAoB,QAASgpO,IACjC9sI,GAAIl8F,oBAAoB,OAAQ+2T,IAChC76N,GAAIl8F,oBAAoB,UAAWgpO,IAC/BtjO,EAAIq8c,iBACJ7lX,GAAIl8F,oBAAoB,WAAY0pd,IACpB,OAAZN,GAAoBltX,GAAI6tX,QACxB7tX,GAAI6tX,OAAO/pd,oBAAoB,WAAY6pd,KAI/C3tX,GAAI0H,aAAe1H,GAAIswF,MACvBtwF,GAAIh6E,OAAM,CAElB,IAGZ,QACS/1C,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFsue,IAp2BV58e,MAo2B0CC,OAAa,CAA+C,QAC9LF,KAAKszD,WAr2BmFrzD,MAAE,CAAAhQ,MAq2BY4sf,GAAcp8e,QAAdo8e,GAAcn8e,WAAK,EACrI,OAjQKm8e,EAAc,KAsQpB,MAAMgB,GAAe,IAAIh4d,MAA4C,IAE/Di4d,GAAmB,IAAIj4d,MAAgD,GAAI,CAC7EllB,WAAY,OACZF,QAASA,IAHoB,eAM3Bs9e,GAAmB,IAAIl4d,MAAgD,GAAI,CAC7EllB,WAAY,OACZF,QAASA,IAHoB,iBAUjC,MAAMu9e,IAEN,IAGMC,GAAuB,MAA7B,MAAMA,GACFx+e,YAAY6sF,EAAK8vH,GAAU2tR,IACvB/pe,KAAKssF,IAAMA,EACXtsF,KAAKo8M,SAAWA,GAChBp8M,KAAK+pe,WAAaA,GAClB/pe,KAAKk+e,iBAAmB,GACxBl+e,KAAKm+e,UAAY,KAIjBn+e,KAAKo+e,WAAa,CACtB,CACAC,WACI,GAAsB,WAAlBr+e,KAAKo8M,SACL,OAAO,KAEX,MAAMkiS,EAAet+e,KAAKssF,IAAI6nD,QAAU,GACxC,OAAImqW,IAAiBt+e,KAAKk+e,mBACtBl+e,KAAKo+e,aACLp+e,KAAKm+e,aAAYI,OAAkBD,EAAct+e,KAAK+pe,YACtD/pe,KAAKk+e,iBAAmBI,GAErBt+e,KAAKm+e,SAChB,QACSn+e,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0ve,IAx5BVh+e,MAw5BmDwoB,OAx5BnDxoB,MAw5BwE8hJ,OAx5BxE9hJ,MAw5BgG69e,IAAgB,CAA+C,QACvP99e,KAAKszD,WAz5BmFrzD,MAAE,CAAAhQ,MAy5BYguf,GAAuBx9e,QAAvBw9e,GAAuBv9e,WAAK,EAC9I,OA1BKu9e,EAAuB,KAuC7B,SAASO,GAAkBjld,GAAK5sB,GAC5B,MAAM8xe,EAAQlld,GAAIqB,IAAItwC,cAKtB,KAAI,EAAC2mC,OAAO4sd,KACO,QAAftkd,GAAI6P,QACW,SAAf7P,GAAI6P,QACJq1c,EAAMnvd,WAAW,YACjBmvd,EAAMnvd,WAAW,YACjB,OAAO3iB,EAAK4sB,IAEhB,MAAMtpC,MAAQghC,OAAO+sd,IAAwBK,WACvC/mc,MAAarmB,OAAO8sd,IAE1B,OAAa,MAAT9tf,KAAkBspC,GAAI6N,QAAQ3N,IAAI6d,MAClC/d,GAAMA,GAAI5R,MAAM,CAAEyf,QAAS7N,GAAI6N,QAAQlE,IAAIoU,GAAYrnD,OAEpD0c,EAAK4sB,GAChB,CAuBA,IAAImld,GACH,SAAUA,IACPA,UAAgBA,GAAgBC,aAAkB,GAAK,eACvDD,GAAgBA,GAAgBE,mBAAwB,GAAK,qBAC7DF,GAAgBA,GAAgBG,wBAA6B,GAAK,0BAClEH,GAAgBA,GAAgBI,iBAAsB,GAAK,mBAC3DJ,GAAgBA,GAAgBK,aAAkB,GAAK,eACvDL,GAAgBA,GAAgBM,sBAA2B,GAAK,wBAChEN,GAAgBA,GAAgBO,MAAW,GAAK,QAPzCP,EAQX,CARC,CAQEA,IAAsC,CAAC,GAC1C,SAASQ,GAAgB5oZ,GAAMj+D,GAC3B,MAAO,CACH8md,WAAO7oZ,GACP8oZ,gBAAY/md,EAEpB,CA8BA,SAASgnd,MAAqBn2d,IAU1B,MAAMmP,EAAY,CACd4id,GACA4B,GACAT,GACA,CAAEzrd,QAAS2id,GAAa1id,YAAawrd,IACrC,CAAEzrd,QAAS4id,GAAa3id,YAAaisd,IACrC,CACIlsd,QAASkrd,GACTz5a,SAAUo8a,GACVx7a,OAAO,GAEX,CAAEryC,QAASktd,GAAcz7a,UAAU,GACnC,CAAEzxC,QAASqtd,GAAwB97a,SAAU+7a,KAEjD,UAAWqB,KAAWp2d,GAClBmP,EAAUyJ,QAAQw9c,EAAQF,iBAE9B,SAAOlwS,OAAyB72K,EACpC,CAkBA,MAAMknd,GAAwB,IAAI15d,MAAqD,IAoIvF,IAyEMguT,GAAgB,MAAtB,MAAMA,UACO7zU,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFslU,GAAgB,CAAoD,QACtK7zU,KAAKm4B,UA5vCmFl4B,KAAE,CAAAgO,KA4vCS4lU,IAAqB,QACxH7zU,KAAKo4B,UA7vCmFn4B,MAAE,CAAAo4B,UA6vCsC,CAACgnd,GA9LnIH,GAAgBR,GAAgBE,mBAAoB,CACvD,CACIjud,QAAS4ud,GACThud,WAAYyqd,IAEhB,CACIrrd,QAASkrd,GACTjrd,YAAa2ud,GACbv8a,OAAO,QAsL4K,EAC9L,OAJK6wQ,EAAgB,mCC5pFtB,SAAS2rK,EAAchnf,EAAG2hE,GACtB,OAAO/qC,OAAOwzT,GAAGpqV,EAAG2hE,EACxB,i4DAOA,IAAIslb,EAAiB,KACjBC,GAAsB,EAItBC,EAAQ,EAMZ,MAAMC,EAAyBpsP,OAAO,UACtC,SAASqsP,EAAkBC,GACvB,MAAMj4O,EAAO43O,EACbA,SAAiBK,EACVj4O,CACX,CAUA,MAAMk4O,GAAgB,CAClBplb,QAAS,EACTqlb,eAAgB,EAChB/4a,OAAO,EACPg5a,kBAAc5xf,EACd6xf,6BAAyB7xf,EACzB8xf,yBAAqB9xf,EACrB+xf,kBAAmB,EACnBC,sBAAkBhyf,EAClBiyf,6BAAyBjyf,EACzBkyf,2BAA2B,EAC3BC,sBAAsB,EACtBC,sBAAuBA,KAAM,EAC7BC,uBAAwBA,OACxBC,oBAAqBA,OACrBC,qBAAsBA,QAK1B,SAASC,GAAiB15V,GACtB,GAAIu4V,EACA,MAAM,IAAI73c,MAEN,IAER,GAAuB,OAAnB43c,EAEA,OAEJA,EAAemB,qBAAqBz5V,GAEpC,MAAMh4G,EAAMswc,EAAeW,oBAC3BU,GAAmBrB,GACftwc,EAAMswc,EAAeQ,aAAa7tf,QAAUqtf,EAAeQ,aAAa9wc,KAASg4G,GAQ7E45V,GAAetB,IAEfuB,GADsBvB,EAAeQ,aAAa9wc,GACDswc,EAAeU,oBAAoBhxc,IAKxFswc,EAAeQ,aAAa9wc,KAASg4G,IAErCs4V,EAAeQ,aAAa9wc,GAAOg4G,EAGnCs4V,EAAeU,oBAAoBhxc,GAC/B4xc,GAAetB,GAAkBwB,GAAwB95V,EAAMs4V,EAAgBtwc,GAAO,GAE9Fswc,EAAeS,wBAAwB/wc,GAAOg4G,EAAKxsF,OACvD,CAYA,SAASumb,GAA2B/5V,GAChC,KAAI45V,GAAe55V,IAAUA,EAAKlgF,SAK7BkgF,EAAKlgF,OAASkgF,EAAK64V,iBAAmBL,GAM3C,KAAKx4V,EAAKs5V,sBAAsBt5V,KAAUg6V,GAA+Bh6V,GAKrE,OAFAA,EAAKlgF,OAAQ,OACbkgF,EAAK64V,eAAiBL,GAG1Bx4V,EAAKu5V,uBAAuBv5V,GAE5BA,EAAKlgF,OAAQ,EACbkgF,EAAK64V,eAAiBL,EAC1B,CAIA,SAASyB,GAAwBj6V,GAC7B,QAA8B94J,IAA1B84J,EAAKk5V,iBACL,OAGJ,MAAMx4O,EAAO63O,EACbA,GAAsB,EACtB,IACI,UAAWI,KAAY34V,EAAKk5V,iBACnBP,EAAS74a,OACVo6a,GAAkBvB,EAG9B,SAEIJ,EAAsB73O,CAC1B,CACJ,CAKA,SAASy5O,KACL,OAAqD,IAA9C7B,GAAgBc,yBAC3B,CACA,SAASc,GAAkBl6V,GACvBA,EAAKlgF,OAAQ,EACbm6a,GAAwBj6V,GACxBA,EAAKw5V,sBAAsBx5V,EAC/B,CAOA,SAASo6V,GAA0Bp6V,GAC/BA,WAASA,EAAKi5V,kBAAoB,GAC3BP,EAAkB14V,EAC7B,CAOA,SAASq6V,GAAyBr6V,EAAMs6V,GAEpC,GADA5B,EAAkB4B,GACbt6V,QAA8B94J,IAAtB84J,EAAK84V,mBAA2D5xf,IAA7B84J,EAAKg5V,0BAChB9xf,IAAjC84J,EAAK+4V,wBAGT,IAAIa,GAAe55V,GAGf,QAASp/H,EAAIo/H,EAAKi5V,kBAAmBr4d,EAAIo/H,EAAK84V,aAAa7tf,OAAQ21B,IAC/Di5d,GAAkC75V,EAAK84V,aAAal4d,GAAIo/H,EAAKg5V,oBAAoBp4d,IAMzF,KAAOo/H,EAAK84V,aAAa7tf,OAAS+0J,EAAKi5V,mBACnCj5V,EAAK84V,aAAa52P,MAClBliG,EAAK+4V,wBAAwB72P,MAC7BliG,EAAKg5V,oBAAoB92P,KAAI,CAErC,CAKA,SAAS83P,GAA+Bh6V,GACpC25V,GAAmB35V,GAEnB,QAASp/H,EAAI,EAAGA,EAAIo/H,EAAK84V,aAAa7tf,OAAQ21B,IAAK,CAC/C,MAAM25d,EAAWv6V,EAAK84V,aAAal4d,GAC7B45d,EAAcx6V,EAAK+4V,wBAAwBn4d,GAWjD,GARI45d,IAAgBD,EAAS/mb,UAK7Bumb,GAA2BQ,GAGvBC,IAAgBD,EAAS/mb,SACzB,OAAO,CAEf,CACA,OAAO,CACX,CAIA,SAASinb,GAAgBz6V,GAErB,GADA25V,GAAmB35V,GACf45V,GAAe55V,GAEf,QAASp/H,EAAI,EAAGA,EAAIo/H,EAAK84V,aAAa7tf,OAAQ21B,IAC1Ci5d,GAAkC75V,EAAK84V,aAAal4d,GAAIo/H,EAAKg5V,oBAAoBp4d,IAIzFo/H,EAAK84V,aAAa7tf,OAAS+0J,EAAK+4V,wBAAwB9tf,OAAS+0J,EAAKg5V,oBAAoB/tf,OACtF,EACA+0J,EAAKk5V,mBACLl5V,EAAKk5V,iBAAiBjuf,OAAS+0J,EAAKm5V,wBAAwBluf,OAAS,EAE7E,CAOA,SAAS6uf,GAAwB95V,EAAM24V,EAAU+B,GAG7C,GAFAC,GAAmB36V,GACnB25V,GAAmB35V,GACkB,IAAjCA,EAAKk5V,iBAAiBjuf,OAEtB,QAAS21B,EAAI,EAAGA,EAAIo/H,EAAK84V,aAAa7tf,OAAQ21B,IAC1Co/H,EAAKg5V,oBAAoBp4d,GAAKk5d,GAAwB95V,EAAK84V,aAAal4d,GAAIo/H,EAAMp/H,GAG1Fo/H,SAAKm5V,wBAAwBx+c,KAAK+/c,GAC3B16V,EAAKk5V,iBAAiBv+c,KAAKg+c,GAAY,CAClD,CAIA,SAASkB,GAAkC75V,EAAMh4G,GAM7C,GALA2yc,GAAmB36V,GACnB25V,GAAmB35V,GAIkB,IAAjCA,EAAKk5V,iBAAiBjuf,OAItB,QAAS21B,EAAI,EAAGA,EAAIo/H,EAAK84V,aAAa7tf,OAAQ21B,IAC1Ci5d,GAAkC75V,EAAK84V,aAAal4d,GAAIo/H,EAAKg5V,oBAAoBp4d,IAKzF,MAAMg6d,EAAU56V,EAAKk5V,iBAAiBjuf,OAAS,EAQ/C,GAPA+0J,EAAKk5V,iBAAiBlxc,GAAOg4G,EAAKk5V,iBAAiB0B,GACnD56V,EAAKm5V,wBAAwBnxc,GAAOg4G,EAAKm5V,wBAAwByB,GAEjE56V,EAAKk5V,iBAAiBjuf,SACtB+0J,EAAKm5V,wBAAwBluf,SAGzB+8C,EAAMg4G,EAAKk5V,iBAAiBjuf,OAAQ,CACpC,MAAM4vf,EAAc76V,EAAKm5V,wBAAwBnxc,GAC3C2wc,EAAW34V,EAAKk5V,iBAAiBlxc,GACvC2xc,GAAmBhB,GACnBA,EAASK,oBAAoB6B,GAAe7yc,CAChD,CACJ,CACA,SAAS4xc,GAAe55V,GACpB,OAAOA,EAAKq5V,uBAAyBr5V,GAAMk5V,kBAAkBjuf,QAAU,GAAK,CAChF,CACA,SAAS0uf,GAAmB35V,GACxBA,EAAK84V,eAAiB,GACtB94V,EAAKg5V,sBAAwB,GAC7Bh5V,EAAK+4V,0BAA4B,EACrC,CACA,SAAS4B,GAAmB36V,GACxBA,EAAKk5V,mBAAqB,GAC1Bl5V,EAAKm5V,0BAA4B,EACrC,CAyBA,MAAM2B,GAAwBzuP,OAAO,SAM/B0uP,GAA4B1uP,OAAO,aAMnC2uP,GAA0B3uP,OAAO,WAIjC4uP,GACK,IACArC,GACHzyf,MAAO20f,GACPh7a,OAAO,EACPn4E,MAAO,KACPuzf,MAAO7C,EACPiB,sBAAsBt5V,GAGXA,EAAK75J,QAAU20f,IAAS96V,EAAK75J,QAAU40f,GAElDxB,uBAAuBv5V,GACnB,GAAIA,EAAK75J,QAAU40f,GAEf,MAAM,IAAIr6c,MAAM,mCAEpB,MAAMqqJ,EAAW/qC,EAAK75J,MACtB65J,EAAK75J,MAAQ40f,GACb,MAAMT,EAAeF,GAA0Bp6V,GAC/C,IAAIz/D,EACJ,IACIA,EAAWy/D,EAAKm7V,aACpB,OACOn5c,GACHu+C,EAAWy6Z,GACXh7V,EAAKr4J,MAAQq6C,CACjB,SAEIq4c,GAAyBr6V,EAAMs6V,EACnC,CACIvvT,IAAa+vT,IAAS/vT,IAAaiwT,IAAWz6Z,IAAay6Z,IAC3Dh7V,EAAKk7V,MAAMnwT,EAAUxqG,GAGrBy/D,EAAK75J,MAAQ4kM,GAGjB/qC,EAAK75J,MAAQo6F,EACby/D,EAAKxsF,UACT,GAOR,IAAI4nb,GAHJ,SAASC,KACL,MAAM,IAAI36c,KACd,EAEA,SAAS46c,KACLF,IACJ,CAWA,IAAIG,GAAkB,KAuBtB,SAASC,GAAYx7V,EAAMz/D,GAClB45Z,MACDmB,KAECt7V,EAAKk7V,MAAMl7V,EAAK75J,MAAOo6F,KACxBy/D,EAAK75J,MAAQo6F,EAoBrB,SAASk7Z,GAAmBz7V,GACxBA,EAAKxsF,UAvWT,SAASkob,KACLlD,GACJ,CAsWIkD,GACAzB,GAAwBj6V,GACxBu7V,MACJ,CAxBQE,CAAmBz7V,GAE3B,CAUA,MAAM27V,GACK,IACA/C,GACHsC,MAAO7C,EACPlyf,WAAOe,GAiEf,MAAM00f,GAAkBA,OAIlBC,GACK,IACAjD,GACHS,sBAAsB,EACtBD,2BAA2B,EAC3BI,oBAAsBx5V,IACI,OAAlBA,EAAK45S,UACL55S,EAAK45S,SAAS55S,EAAKskH,IAAG,EAG9B35J,QAAQ,EACRmxY,UAAWF,wDC9gBnB,MAIMG,GAAmB,+BAkBzB,MAAMC,WAAqBt7c,MACvBpoC,YAAYlT,EAAMg+C,GACdiG,MAAM4yc,GAAmB72f,EAAMg+C,IAC/BvqC,KAAKzT,KAAOA,CAChB,EAMJ,SAAS62f,GAAmB72f,EAAMg+C,GAY9B,MAPmB,MADIpd,KAAK82D,IAAI13F,KACCg+C,EAAU,KAAOA,EAAU,IAQhE,CAuDA,SAAS84c,GAAc1me,GACnB,MAAO,CAAEwkB,SAAUxkB,GAAKwkB,UAC5B,CAEA,MACMmid,GAAa,iBA8CnB,SAASC,GAAmB/1f,EAAMvM,EAAOuigB,GACrC,OAAOH,GAAc,KACjB,MAAMI,EAZd,SAASC,GAAiBzigB,GACtB,OAAO,YAAiB8nD,GACpB,GAAI9nD,EAAO,CACP,MAAMwqB,EAASxqB,KAAS8nD,GACxB,UAAW46c,KAAYl4e,EACnBzL,KAAK2jf,GAAYl4e,EAAOk4e,EAEhC,CACJ,CACJ,CAGyBD,CAAiBzigB,GAClC,SAAS2igB,KAAyB76c,GAC9B,GAAI/oC,gBAAgB4jf,EAChBH,SAASvnc,MAAMl8C,KAAM+oC,GACd/oC,KAEX,MAAM6jf,EAAqB,IAAID,KAAyB76c,GACxD+6c,SAAe7mR,WAAa4mR,EACrBC,EACP,SAASA,EAAeC,GAAKC,GAAW3re,IAGpC,MAAM6oN,GAAa6iR,GAAInxb,eAAe0wb,IAClCS,GAAIT,IACJl0d,OAAO0rD,eAAeipa,GAAKT,GAAY,CAAEh2f,MAAO,KAAMg2f,IAG1D,KAAOpiR,GAAW9uO,QAAUimB,IACxB6oN,GAAWp/L,KAAK,MAEpB,OAACo/L,GAAW7oN,IAAS6oN,GAAW7oN,KAAU,IAAIypB,KAAK+hd,GAC5CE,EACX,CACJ,CACA,OAAIP,IACAI,EAAsB97c,UAAY1Y,OAAOoG,OAAOgud,EAAY17c,YAEhE87c,EAAsB97c,UAAUm8c,eAAiBz2f,EACjDo2f,EAAsBM,cAAgBN,EAC/BA,GAEf,CAsCA,MAAMh0W,GAAUj5D,WAkFhB,SAASwta,GAAuBC,GAC5B,QAASljd,KAAOkjd,EACZ,GAAIA,EAAyBljd,KAASijd,GAClC,OAAOjjd,EAGf,MAAM2G,MAAM,oDAChB,CAOA,SAASw8c,GAAev7b,EAAQhV,GAC5B,UAAW5S,KAAO4S,EACVA,EAAO8e,eAAe1xB,KAAS4nB,EAAO8J,eAAe1xB,KACrD4nB,EAAO5nB,GAAO4S,EAAO5S,GAGjC,CAEA,SAAS6J,GAAU96C,GACf,GAAqB,iBAAVA,EACP,OAAOA,EAEX,GAAIqB,MAAMC,QAAQtB,GACd,MAAO,IAAMA,EAAMpC,IAAIk9C,IAAWW,KAAK,MAAQ,IAEnD,GAAa,MAATz7C,EACA,MAAO,GAAKA,EAEhB,GAAIA,EAAMq0f,eACN,MAAO,GAAGr0f,EAAMq0f,iBAEpB,GAAIr0f,EAAMzC,KACN,MAAO,GAAGyC,EAAMzC,OAEpB,MAAMiuB,EAAMxrB,EAAMkxC,WAClB,GAAW,MAAP1lB,EACA,MAAO,GAAKA,EAEhB,MAAM8oe,EAAe9oe,EAAI5pB,QAAQ,MACjC,OAAwB,IAAjB0yf,EAAsB9oe,EAAMA,EAAIpG,UAAU,EAAGkve,EACxD,CASA,SAASC,GAAuBl9Q,EAAQwmD,GACpC,OAAkB,MAAVxmD,GAA6B,KAAXA,EACX,OAAVwmD,EAAiB,GAAKA,EACZ,MAATA,GAA2B,KAAVA,EAAgBxmD,EAASA,EAAS,IAAMwmD,CACnE,CAiBA,MAAM22N,GAAkBN,GAAuB,CAAEM,gBAAiBN,KAwClE,SAASO,GAAWC,GAChBA,SAAaF,gBAAkBC,GAC/BC,EAAaxjd,SAAW,WACpB,OAAO4J,GAAU/qC,OACrB,EACO2kf,CACX,CAcA,SAASC,GAAkB32e,GACvB,OAAO42e,GAAa52e,GAAQA,IAASA,CACzC,CAEA,SAAS42e,GAAaloe,GAClB,MAAqB,mBAAPA,GAAqBA,EAAGi2C,eAAe6xb,KACjD9ne,EAAG8ne,kBAAoBC,EAC/B,CAuBA,SAASI,GAAYC,EAAQC,EAAU12Z,GAC7By2Z,GAAUC,GAiDpB,SAASlgd,GAAWwpD,EAAKy2Z,EAAQC,EAAUC,GACvC,MAAM,IAAIp9c,MAAM,oBAAoBymD,KACjB,MAAd22Z,EAAqB,GAAK,gBAAgBD,KAAYC,KAAcF,eAC7E,CAnDQjgd,CAAWwpD,EAAKy2Z,EAAQC,EAAU,KAE1C,CAgGA,SAASzS,GAAmBhrc,GACxB,MAAO,CACHt3C,MAAOs3C,EAAKt3C,MACZ0Q,WAAY4mC,EAAK5mC,YAAc,KAC/BF,QAAS8mC,EAAK9mC,QACdnT,WAAOe,EAEf,CAwBA,SAAS62f,GAAiBt+d,GACtB,MAAO,CAAEyR,UAAWzR,EAAQyR,WAAa,GAAIC,QAAS1R,EAAQ0R,SAAW,GAC7E,CAOA,SAAS6sd,GAAiBl3e,GACtB,OAAOm3e,GAAiBn3e,EAAMo3e,KAAgBD,GAAiBn3e,EAAMq3e,EACzE,CACA,SAASC,GAAat3e,GAClB,OAAkC,OAA3Bk3e,GAAiBl3e,EAC5B,CAKA,SAASm3e,GAAiBn3e,EAAM+L,GAC5B,OAAO/L,EAAK2kD,eAAe54C,GAAS/L,EAAK+L,GAAS,IACtD,CA0BA,SAASwre,GAAev3e,GACpB,OAAOA,IAASA,EAAK2kD,eAAe6yb,IAAex3e,EAAK2kD,eAAe8yb,KACnEz3e,EAAKw3e,GACL,IACR,CACA,MAAMJ,GAAclB,GAAuB,CAAE7wb,WAAO6wb,KAC9CsB,EAAatB,GAAuB,CAAE/rd,UAAM+rd,KAE5CmB,EAAoBnB,GAAuB,CAAEwB,gBAAiBxB,KAC9DuB,GAAkBvB,GAAuB,CAAEyB,cAAezB,KAmDhE,MAAMt+d,GAOFpmB,YAAYomf,EAAOj/d,GACf5mB,KAAK6lf,MAAQA,EAEb7lf,KAAKikf,eAAiB,iBACtBjkf,KAAKszD,gBAAQjlE,EACS,iBAAXu4B,EAKP5mB,KAAK8lf,kBAAoBl/d,OAERv4B,IAAZu4B,IACL5mB,KAAKszD,WAAQi/a,GAAmB,CAC5Btif,MAAO+P,KACPW,WAAYimB,EAAQjmB,YAAc,OAClCF,QAASmmB,EAAQnmB,UAG7B,CAIA,SAAIuiE,GACA,OAAOhjE,IACX,CACAmhC,WACI,MAAO,kBAAkBnhC,KAAK6lf,OAClC,EAkHJ,SAASE,GAAuBz4f,GAC5B,OAAOA,KAAWA,EAAM8xf,eAC5B,CAEA,MAAM4G,GAAc7B,GAAuB,CAAEz7d,UAAMy7d,KAC7C8B,GAAa9B,GAAuB,CAAElsd,UAAMksd,KAC5C+B,GAAc/B,GAAuB,CAAExT,WAAOwT,KAC9CgC,GAAahC,GAAuB,CAAEhsd,UAAMgsd,KAC5CiC,GAAiBjC,GAAuB,CAAEzjf,UAAMyjf,KAOhDkC,GAAgBlC,GAAuB,CAAE2B,kBAAmB3B,KAS5DmC,GAAYnC,GAAuB,CAAEoC,cAAepC,KAQ1D,SAASqC,GAAgBl5f,GACrB,MAAqB,iBAAVA,EACAA,EACE,MAATA,EACO,GAGJk+C,OAAOl+C,EAClB,CAmEA,SAASm5f,GAA2Bx2f,EAAOy2f,GAGvC,MAAM,IAAIvD,IAAa,KAAgD5ya,EAC3E,CAQA,IAAIo2a,GACH,SAAUA,GAIPA,SAAYA,EAAYC,QAAa,GAAK,UAK1CD,EAAYA,EAAYE,KAAU,GAAK,OAEvCF,EAAYA,EAAYG,KAAU,GAAK,OAEvCH,EAAYA,EAAYI,SAAc,GAAK,WAE3CJ,EAAYA,EAAYK,SAAc,GAAK,WAfpCL,CAgBX,CAhBC,CAgBEA,IAA8B,CAAC,GAWlC,IAAIM,GACJ,SAASC,KACL,OAAOD,EACX,CAIA,SAASE,GAAwBC,GAC7B,MAAMtuM,EAAWmuM,GACjBA,UAAwBG,EACjBtuM,CACX,CAQA,SAASuuM,GAAmBp3f,EAAOq3f,EAAevhZ,GAC9C,MAAMwhZ,EAAgBpC,GAAiBl1f,GACvC,OAAIs3f,GAA6C,QAA5BA,EAAc5mf,gBACAtS,IAAxBk5f,EAAcj6f,MAAsBi6f,EAAcj6f,MAAQi6f,EAAc9mf,UAC3E8mf,EAAcj6f,MAElBy4G,EAAQ4gZ,GAAYK,SACb,UACW34f,IAAlBi5f,EACOA,OACXb,IACJ,CAcA,MAAMe,GADsB,CAAC,EAOvBC,GAAoB,iBACpBC,GAAqB,kBAErBC,GAAW,OAEXjpJ,GAAS,WAOf,IAAIkpJ,GAIJ,SAASC,GAAmBp0C,GACxB,MAAMq0C,EAASF,GACfA,UAAmBn0C,EACZq0C,CACX,CACA,SAASC,GAAmB93f,EAAO81G,EAAQ4gZ,GAAYC,SACnD,QAAyBv4f,IAArBu5f,GACA,MAAM,IAAIzE,IAAa,KAAuD72U,GAG7E,OAAyB,OAArBs7U,GACEP,GAAmBp3f,OAAO5B,EAAW03G,GAG9B6hZ,GAAiBl/e,IAAIzY,EAAO81G,EAAQ4gZ,GAAYK,SAAW,UAAO34f,EAAW03G,EAInG,CACA,SAASs7X,GAASpxe,EAAO81G,EAAQ4gZ,GAAYC,SACzC,OAAQM,MAA6Ba,IAAoBnD,GAAkB30f,GAAQ81G,EACvF,CAkFA,SAAS90E,GAAOhhC,EAAO81G,EAAQ4gZ,GAAYC,SAGvC,OAAOvlB,GAASpxe,EAAO+3f,GAAkBjiZ,GAC7C,CAEA,SAASiiZ,GAAkBjiZ,GACvB,cAAWA,EAAU,KAAgC,iBAAVA,EAChCA,GAMNA,EAAMjtD,UAAY,IAClBitD,EAAM7hC,MAAQ,IACd6hC,EAAM57C,MAAQ,IACd47C,EAAMkiZ,UAAY,EAC3B,CACA,SAASC,GAAWvke,GAChB,MAAMolB,EAAO,GACb,QAAShhB,EAAI,EAAGA,EAAIpE,EAAMvxB,OAAQ21B,IAAK,CACnC,MAAMw/D,EAAMq9Z,GAAkBjhe,EAAMoE,IACpC,GAAIz2B,MAAMC,QAAQg2F,GAAM,CACpB,GAAmB,IAAfA,EAAIn1F,OACJ,MAAM,IAAI+wf,GAAa,KAAiD72U,GAE5E,IAAIr+J,EACA83F,EAAQ4gZ,GAAYC,QACxB,QAAS7qa,EAAI,EAAGA,EAAIwL,EAAIn1F,OAAQ2pF,IAAK,CACjC,MAAM6tH,EAAOriH,EAAIxL,GACXlqE,GAAOs2e,GAAcv+S,GACP,iBAAT/3L,IAEM,IAATA,GACA5D,EAAO27L,EAAK35M,MAGZ81G,GAASl0F,GAIb5D,EAAO27L,CAEf,CACA7gK,EAAKjH,KAAKu/b,GAASpzd,EAAM83F,GAC7B,MAEIh9D,EAAKjH,KAAKu/b,GAAS95Y,GAE3B,CACA,OAAOx+C,CACX,CAWA,SAASq/c,GAAiBC,EAAWx2e,GACjCw2e,SAAUZ,IAAqB51e,EAC/Bw2e,EAAUvgd,UAAU2/c,IAAqB51e,EAClCw2e,CACX,CAMA,SAASF,GAAcl4f,GACnB,OAAOA,EAAMw3f,GACjB,CAoCA,MAAMa,GAASF,GAGf7E,GAAmB,SAAWtzf,KAAaA,YAAW,GAOhD+2f,GAGNoB,GAAiB7E,GAAmB,YAAa,GAiB3CwD,GAGNqB,GAAiB7E,GAAmB,YAAa,GAYjD,SAASgF,GAAct6e,EAAMu6e,GAKzB,OAJsBv6e,EAAK2kD,eAAewzb,IAInBn4e,EAAKm4e,IAAkB,IAClD,CAgCA,SAASqC,GAAY75c,EAAOjyB,GACxBiyB,EAAMxjB,QAAQ99B,GAASgE,MAAMC,QAAQjE,GAASm7f,GAAYn7f,EAAOqvB,GAAMA,EAAGrvB,GAC9E,CACA,SAASo7f,GAAW78c,EAAKxzB,EAAO/qB,GAExB+qB,GAASwzB,EAAIz5C,OACby5C,EAAI/J,KAAKx0C,GAGTu+C,EAAIwD,OAAOh3B,EAAO,EAAG/qB,EAE7B,CACA,SAASq7f,GAAgB98c,EAAKxzB,GAE1B,OAAIA,GAASwzB,EAAIz5C,OAAS,EACfy5C,EAAIw9M,MAGJx9M,EAAIwD,OAAOh3B,EAAO,GAAG,EAEpC,CAgHA,SAASuwe,GAAiBC,EAAe3nd,EAAK5zC,GAC1C,IAAI+qB,EAAQywe,GAAqBD,EAAe3nd,GAChD,OAAI7oB,GAAS,EAETwwe,EAAsB,EAARxwe,GAAa/qB,GAG3B+qB,GAASA,EAvDjB,SAAS0we,GAAa5tc,EAAO9iC,EAAO2we,EAAQC,GAExC,IAAIt/Y,EAAMxuD,EAAM/oD,OAChB,GAAIu3G,GAAOtxF,EAEP8iC,EAAMrZ,KAAKknd,EAAQC,QAAM,GAEZ,IAARt/Y,EAELxuD,EAAMrZ,KAAKmnd,EAAQ9tc,EAAM,IACzBA,EAAM,GAAK6tc,MAEV,CAGD,IAFAr/Y,IACAxuD,EAAMrZ,KAAKqZ,EAAMwuD,EAAM,GAAIxuD,EAAMwuD,IAC1BA,EAAMtxF,GAET8iC,EAAMwuD,GAAOxuD,EADOwuD,EAAM,GAE1BA,IAEJxuD,EAAM9iC,GAAS2we,EACf7tc,EAAM9iC,EAAQ,GAAK4we,CACvB,CACJ,CAiCQF,CAAaF,EAAexwe,EAAO6oB,EAAK5zC,IAErC+qB,CACX,CAQA,SAAS6we,GAAiBL,EAAe3nd,GACrC,MAAM7oB,EAAQywe,GAAqBD,EAAe3nd,GAClD,GAAI7oB,GAAS,EAET,OAAOwwe,EAAsB,EAARxwe,EAG7B,CAWA,SAASywe,GAAqBD,EAAe3nd,GACzC,OAqCJ,SAASiod,GAAoBhuc,EAAO7tD,EAAOowE,GAEvC,IAAIhpB,EAAQ,EACRi1D,EAAMxuD,EAAM/oD,QAAUsrE,EAC1B,KAAOisC,IAAQj1D,GAAO,CAClB,MAAMsiP,EAAStiP,GAAUi1D,EAAMj1D,GAAU,GACnC4tG,EAAUnnG,EAAM67O,GAAUt5N,GAChC,GAAIpwE,IAAUg1J,EACV,OAAQ00I,GAAUt5N,EAEb4kF,EAAUh1J,EACfq8G,EAAMqtL,EAGNtiP,EAAQsiP,EAAS,CAEzB,CACA,QAASrtL,GAAOjsC,EACpB,CAvDWyrb,CAAoBN,EAAe3nd,EAAK,EACnD,CA8DA,MAAMkod,GAAY,CAAC,EACbnf,GAAc,GAiBdof,GAA0B,IAAIxje,GAAuD,IAUrFyje,GAAa,IAAIzje,GAAwC,IAG/D,GAEM0je,GAAqB,IAAI1je,GAAkD,IAEjF,MAAM2je,GACF9gf,IAAIzY,EAAOq3f,EAAgBE,IACvB,GAAIF,IAAkBE,GAAoB,CACtC,MAAM14f,EAAQ,IAAI+4C,MAAM,sCAAsCkD,GAAU96C,OACxEnB,QAAMtB,KAAO,oBACPsB,CACV,CACA,OAAOw4f,CACX,EAWJ,IAAImC,GACH,SAAUA,GAOPA,SAAwBA,EAAwBC,OAAY,GAAK,SAKjED,EAAwBA,EAAwB7C,QAAa,GAAK,UAZ3D6C,CAaX,CAbC,CAaEA,IAAsD,CAAC,GAetDE,GACH,SAAUp7C,GAUPA,SAAkBA,EAAkBq7C,SAAc,GAAK,WAOvDr7C,EAAkBA,EAAkB99a,KAAU,GAAK,OAMnD89a,EAAkBA,EAAkBs7C,UAAe,GAAK,YAvBjDt7C,CAwBX,CAxBC,CAwBEo7C,IAA8C,CAAC,GAG9CG,GACH,SAAUA,GACPA,SAAWA,EAAWr5d,KAAU,GAAK,OACrCq5d,EAAWA,EAAWC,YAAiB,GAAK,cAC5CD,EAAWA,EAAWhhe,2BAAgC,GAAK,6BAHpDghe,CAIX,CAJC,CAIEA,IAA4B,CAAC,GAYhC,SAASE,GAAa3+d,EAAW4+d,EAAeC,GAE5C,IAAIvgZ,EAAMt+E,EAAUj5B,OACpB,OAAa,CACT,MAAM+3f,EAAa9+d,EAAUx5B,QAAQo4f,EAAeC,GACpD,IAAmB,IAAfC,EACA,OAAOA,EACX,GAAmB,IAAfA,GAAoB9+d,EAAUif,WAAW6/c,EAAa,IAAM,GAAyB,CAErF,MAAM/3f,EAAS63f,EAAc73f,OAC7B,GAAI+3f,EAAa/3f,IAAWu3G,GACxBt+E,EAAUif,WAAW6/c,EAAa/3f,IAAW,GAE7C,OAAO+3f,CAEf,CAEAD,EAAgBC,EAAa,CACjC,CACJ,CA6BA,SAASC,GAAgBjxT,EAAUkxT,EAAQlhe,GACvC,IAAIpB,EAAI,EACR,KAAOA,EAAIoB,EAAM/2B,QAAQ,CACrB,MAAM9E,EAAQ67B,EAAMpB,GACpB,GAAqB,iBAAVz6B,EAAoB,CAG3B,GAAc,IAAVA,EACA,MAIJy6B,IACA,MAAMigI,EAAe7+H,EAAMpB,KACrBkgS,EAAW9+R,EAAMpB,KACjBuie,EAAUnhe,EAAMpB,KAEtBoxK,EAASvxB,aAAayiV,EAAQpiM,EAAUqiM,EAAStiW,EACrD,KACK,CAED,MAAMigK,EAAW36T,EACXg9f,EAAUnhe,IAAQpB,GAGpBwie,GAAgBtiM,GAChB9uH,EAASf,YAAYiyT,EAAQpiM,EAAUqiM,GAGvCnxT,EAASvxB,aAAayiV,EAAQpiM,EAAUqiM,GAE5Cvie,GACJ,CACJ,CAKA,OAAOA,CACX,CAQA,SAASyie,GAA0BC,GAC/B,OAAkB,IAAXA,GAA0D,IAAXA,GACvC,IAAXA,CACR,CACA,SAASF,GAAgB/8f,GAIrB,OAA8B,KAAvBA,EAAK88C,WAAW,EAC3B,CASA,SAASogd,GAAeC,EAAKt2c,GACzB,GAAY,OAARA,GAA+B,IAAfA,EAAIjiD,OAGnB,GAAY,OAARu4f,GAA+B,IAAfA,EAAIv4f,OAEzBu4f,EAAMt2c,EAAIzS,YAET,CACD,IAAIgpd,GAAY,EAChB,QAAS7ie,EAAI,EAAGA,EAAIssB,EAAIjiD,OAAQ21B,IAAK,CACjC,MAAMxP,EAAO87B,EAAItsB,GACG,iBAATxP,EACPqye,EAAYrye,EAGM,IAAdqye,GAMAC,GAAmBF,EAAKC,EAAWrye,EAAM,MAHtB,IAAdqye,GACS,IAAdA,EAE+Cv2c,IAAMtsB,GAIN,KAG3D,CACJ,CACA,OAAO4ie,CACX,CAUA,SAASE,GAAmBF,EAAKF,EAAQ3lU,EAAMC,EAAMz3L,GACjD,IAAIy6B,EAAI,EAEJ+ie,EAAuBH,EAAIv4f,OAE/B,IAAe,IAAXq4f,EACAK,GAAuB,OAGvB,KAAO/ie,EAAI4ie,EAAIv4f,QAAQ,CACnB,MAAM24f,EAAWJ,EAAI5ie,KACrB,GAAwB,iBAAbgje,EAAa,CACpB,GAAIA,IAAaN,EAAQ,CACrBK,GAAuB,EACvB,KACJ,IACSC,EAAWN,EAAQ,CAExBK,EAAuB/ie,EAAI,EAC3B,KACJ,EAER,CAGJ,KAAOA,EAAI4ie,EAAIv4f,QAAQ,CACnB,MAAMmmB,EAAOoye,EAAI5ie,GACjB,GAAoB,iBAATxP,EAGP,MAEC,GAAIA,IAASusK,GAEd,GAAa,OAATC,EAIA,YAHc,OAAVz3L,IACAq9f,EAAI5ie,EAAI,GAAKz6B,IAGrB,GACSy3L,IAAS4lU,EAAI5ie,EAAI,GAEtB,YADA4ie,EAAI5ie,EAAI,GAAKz6B,EAEjB,CAGJy6B,IACa,OAATg9J,GACAh9J,IACU,OAAVz6B,GACAy6B,GACR,EAE6B,IAAzB+ie,IACAH,EAAIt7c,OAAOy7c,EAAsB,EAAGL,GACpC1ie,EAAI+ie,EAAuB,GAE/BH,EAAIt7c,OAAOtnB,IAAK,EAAG+8J,GACN,OAATC,GACA4lU,EAAIt7c,OAAOtnB,IAAK,EAAGg9J,GAET,OAAVz3L,GACAq9f,EAAIt7c,OAAOtnB,IAAK,EAAGz6B,EAE3B,CAEA,MAAM09f,GAAuB,cAU7B,SAASC,GAAmBC,EAAO/he,EAAOgie,EAAiBC,GAGvD,IAAIrje,EAAI,EACR,GAAIqje,GACA,KAAOrje,EAAIoB,EAAM/2B,QAA8B,iBAAb+2B,EAAMpB,GAAiBA,GAAK,EAE1D,GAAiB,UAAboB,EAAMpB,KAC2D,IAAjEiie,GAAa7ge,EAAMpB,EAAI,GAAGz9B,cAAe6ggB,EAAiB,GAC1D,OAAO,UAIVE,GAAiBH,GAItB,OAAO,EAIX,GADAnje,EAAIoB,EAAMt3B,QAAQ,EAAiCk2B,GAC/CA,GAAI,EAAI,CAER,IAAIxP,EACJ,OAASwP,EAAIoB,EAAM/2B,QAAuC,iBAArBmmB,EAAO4Q,EAAMpB,KAC9C,GAAIxP,EAAKjuB,gBAAkB6ggB,EACvB,OAAO,CAGnB,CACA,OAAO,CACX,CAMA,SAASE,GAAiBH,GACtB,OAAsB,IAAfA,EAAMj9e,MAAwCi9e,EAAM59f,QAAU09f,EACzE,CAYA,SAASM,GAAmBJ,EAAOK,EAAiBH,GAEhD,OAAOG,KADiC,IAAfL,EAAMj9e,MAAyCm9e,EAA0CF,EAAM59f,MAA7B09f,GAE/F,CAUA,SAASQ,GAAuBN,EAAOnrV,EAAUqrV,GAE7C,IAAIvud,EAAO,EACX,MAAM4ud,EAAYP,EAAM/he,MAElBuie,EAAkC,OAAdD,EAmK9B,SAASE,GAAuBF,GAC5B,QAAS1je,EAAI,EAAGA,EAAI0je,EAAUr5f,OAAQ21B,IAElC,GAAIyie,GADaiB,EAAU1je,IAEvB,OAAOA,EAGf,OAAO0je,EAAUr5f,MACrB,CA3KmDu5f,CAAuBF,GAAa,EAGnF,IAAIG,GAAqB,EACzB,QAAS7je,EAAI,EAAGA,EAAIg4I,EAAS3tK,OAAQ21B,IAAK,CACtC,MAAMu6H,GAAUyd,EAASh4I,GACzB,GAAuB,iBAAZu6H,IAaX,IAAIspW,EAEJ,GAAW,EAAP/ud,GAEA,GADAA,EAAO,EAAyC,EAAPA,EACzB,KAAZylH,KAAmBgpW,GAAmBJ,EAAO5oW,GAAS8oW,IAC1C,KAAZ9oW,IAAsC,IAApByd,EAAS3tK,OAAc,CACzC,GAAIy5f,GAAWhvd,GACX,OAAO,EACX+ud,GAAqB,CACzB,UAEY,EAAP/ud,GACL,GAAkB,OAAd4ud,IAAuBR,GAAmBC,EAAOO,EAAWnpW,GAAS8oW,GAAmB,CACxF,GAAIS,GAAWhvd,GACX,OAAO,EACX+ud,GAAqB,CACzB,MAEC,CACD,MAAME,GAAoB/rV,IAAWh4I,GAC/Bgke,GAAkBC,GAAoB1pW,GAASmpW,EAAWJ,GAAiBH,GAAQE,GACzF,IAAwB,IAApBW,GAAwB,CACxB,GAAIF,GAAWhvd,GACX,OAAO,EACX+ud,GAAqB,EACrB,QACJ,CACA,GAA0B,KAAtBE,GAA0B,CAC1B,IAAIG,GAYJ,GAVIA,GADAF,GAAkBL,EACF,GAQAD,EAAUM,GAAkB,GAAGzhgB,cAExC,EAAPuyC,GAA0Civd,KAAsBG,GAAe,CAC/E,GAAIJ,GAAWhvd,GACX,OAAO,EACX+ud,GAAqB,CACzB,CACJ,CACJ,MA3DA,CAEI,IAAKA,IAAuBC,GAAWhvd,KAAUgvd,GAAWvpW,IACxD,OAAO,EAIX,GAAIspW,GAAsBC,GAAWvpW,IACjC,SACJspW,GAAqB,EACrB/ud,EAAOylH,GAAkB,EAAPzlH,CAEtB,CAgDJ,CACA,OAAOgvd,GAAWhvd,IAAS+ud,CAC/B,CACA,SAASC,GAAWhvd,GAChB,QAAe,EAAPA,EACZ,CA8BA,SAASmvd,GAAoBx+f,EAAM27B,EAAOkie,EAAkBD,GACxD,GAAc,OAAVjie,EACA,OAAO,EACX,IAAIpB,EAAI,EACR,GAAIqje,IAAqBC,EAAkB,CACvC,IAAIa,GAAe,EACnB,KAAOnke,EAAIoB,EAAM/2B,QAAQ,CACrB,MAAM+5f,EAAgBhje,EAAMpB,GAC5B,GAAIoke,IAAkB3+f,EAClB,OAAOu6B,EAEN,GAAsB,IAAlBoke,GAAwE,IAAlBA,EAC3DD,GAAe,UAEQ,IAAlBC,GAAuE,IAAlBA,EAAkD,CAC5G,IAAI7+f,EAAQ67B,IAAQpB,GAGpB,KAAwB,iBAAVz6B,GACVA,EAAQ67B,IAAQpB,GAEpB,QACJ,CACK,GAAsB,IAAlBoke,EAEL,MAEC,GAAsB,IAAlBA,EAAwD,CAE7Dpke,GAAK,EACL,QACJ,EAEAA,GAAKmke,EAAe,EAAI,CAC5B,CAEA,OAAO,CACX,CAEI,OAgCR,SAASE,GAAuBjje,EAAO37B,GACnC,IAAIu6B,EAAIoB,EAAMt3B,QAAQ,GACtB,GAAIk2B,GAAI,EAEJ,IADAA,IACOA,EAAIoB,EAAM/2B,QAAQ,CACrB,MAAMo0J,EAAOr9H,EAAMpB,GAGnB,GAAoB,iBAATy+H,EACP,OAAO,EACX,GAAIA,IAASh5J,EACT,OAAOu6B,EACXA,GACJ,CAEJ,OAAO,CACX,CAhDeqke,CAAuBjje,EAAO37B,EAE7C,CACA,SAAS6+f,GAA2BnB,EAAOnrV,EAAUqrV,GAAmB,GACpE,QAASrje,EAAI,EAAGA,EAAIg4I,EAAS3tK,OAAQ21B,IACjC,GAAIyje,GAAuBN,EAAOnrV,EAASh4I,GAAIqje,GAC3C,OAAO,EAGf,OAAO,CACX,CA4CA,SAASkB,GAAyBvsV,EAAU30K,GACxCmhgB,EAAkB,QAASxke,EAAI,EAAGA,EAAI38B,EAAKgH,OAAQ21B,IAAK,CACpD,MAAMyke,EAAwBphgB,EAAK28B,GACnC,GAAIg4I,EAAS3tK,SAAWo6f,EAAsBp6f,OAG9C,SAAS2pF,EAAI,EAAGA,EAAIgkF,EAAS3tK,OAAQ2pF,IACjC,GAAIgkF,EAAShkF,KAAOywa,EAAsBzwa,GACtC,SAASwwa,EAGjB,OAAO,EACX,CACA,OAAO,CACX,CACA,SAASE,GAAuBC,EAAgB/wS,GAC5C,OAAO+wS,EAAiB,QAAU/wS,EAAMzmM,OAAS,IAAMymM,CAC3D,CACA,SAASgxS,GAAqB5sV,GAC1B,IAAIziK,EAASyiK,EAAS,GAClBh4I,EAAI,EACJ8U,EAAO,EACP+vd,EAAe,GACfF,GAAiB,EACrB,KAAO3ke,EAAIg4I,EAAS3tK,QAAQ,CACxB,IAAIy6f,EAAgB9sV,EAASh4I,GAC7B,GAA6B,iBAAlB8ke,EACP,GAAW,EAAPhwd,EAAwC,CACxC,MAAMiwd,EAAY/sV,IAAWh4I,GAC7B6ke,GACI,IAAMC,GAAiBC,EAAU16f,OAAS,EAAI,KAAO06f,EAAY,IAAM,IAAM,GACrF,MACgB,EAAPjwd,EACL+vd,GAAgB,IAAMC,EAEV,EAAPhwd,IACL+vd,GAAgB,IAAMC,OAqBL,KAAjBD,IAAwBf,GAAWgB,KACnCvvf,GAAUmvf,GAAuBC,EAAgBE,GACjDA,EAAe,IAEnB/vd,EAAOgwd,EAGPH,EAAiBA,IAAmBb,GAAWhvd,GAEnD9U,GACJ,CACA,MAAqB,KAAjB6ke,IACAtvf,GAAUmvf,GAAuBC,EAAgBE,IAE9Ctvf,CACX,CAwEA,SAASyvf,GAAkBC,GACvB,OAAO3J,GAAc,KAIjB,MAAM4J,EAAUC,GAAkBF,GAC5B/2U,EAAM,IACLg3U,EACHr+e,MAAOo+e,EAAoBp+e,MAC3BC,KAAMm+e,EAAoBn+e,KAC1BE,SAAUi+e,EAAoBj+e,SAC9BD,OAAQk+e,EAAoBl+e,QAAU,KACtCsa,mBAAoB4je,EAAoB5je,mBACxC+je,OAAQH,EAAoBxje,kBAAoBige,GAAwBC,OACxE0D,cAAe,KACfC,SAAU,KACVhke,aAAc4je,EAAQhke,YAAc+je,EAAoB3je,cAAgB,KACxEike,sBAAuB,KACvBC,QAASP,EAAoBO,UAAW,EACxCnggB,KAAM4/f,EAAoB5/f,MAAQ,CAAC,EACnCm8B,cAAeyje,EAAoBzje,eAAiBoge,GAAoBC,SACxE/4d,OAAQm8d,EAAoBn8d,QAAUo5c,GACtCxoa,EAAG,KACH+rb,QAASR,EAAoBQ,SAAW,KACxCC,MAAO,KACPjlgB,GAAI,IAERklgB,GAAaz3U,GACb,MAAM5sJ,EAAe2je,EAAoB3je,aACzC4sJ,SAAIm3U,cAAgBO,GAAwBtke,GAA4B,GACxE4sJ,EAAIo3U,SAAWM,GAAwBtke,GAA4B,GACnE4sJ,EAAIztL,GA8LZ,SAASolgB,GAAeC,GACpB,IAAIzid,EAAO,EAUX,MAAM0id,EAAgB,CAClBD,EAAal/e,UACbk/e,EAAazke,mBACbyke,EAAajle,SACbile,EAAalle,UACbkle,EAAa/+e,OACb++e,EAAah/e,KACbg/e,EAAaj/e,MACbi/e,EAAatke,cACbske,EAAa5ke,WACb4ke,EAAaN,QACbM,EAAa7ke,SACbxrB,KAAKutC,UAAU8id,EAAal4e,QAC5BnY,KAAKutC,UAAU8id,EAAan9d,SAG5BtB,OAAO6lB,oBAAoB44c,EAAa5/e,KAAK65B,aAC3C+ld,EAAa39d,iBACb29d,EAAav9d,WACjBob,KAAK,KACP,UAAWonQ,KAAQg7M,EACf1id,EAAOje,KAAK4ge,KAAK,GAAI3id,GAAQ0nQ,EAAKxoQ,WAAW,GAAM,EAIvDc,UAAQ,WACO,IAAMA,CAczB,CAjPiBwid,CAAe33U,GACjBA,GAEf,CACA,SAAS+3U,GAAoB//e,GACzB,OAAOggf,GAAgBhgf,IAASigf,GAAgBjgf,EACpD,CACA,SAASkgf,GAAQ7ggB,GACb,OAAiB,OAAVA,CACX,CAIA,SAAS8ggB,GAAiBn4U,GACtB,OAAOotU,GAAc,MAEbp1e,KAAMgoK,EAAIhoK,KACVklU,UAAWl9J,EAAIk9J,WAAa82J,GAC5BokB,aAAcp4U,EAAIo4U,cAAgBpkB,GAClC3xc,QAAS29I,EAAI39I,SAAW2xc,GACxBv6R,QAASz5B,EAAIy5B,SAAWu6R,GACxBqkB,wBAAyB,KACzBd,QAASv3U,EAAIu3U,SAAW,KACxBhlgB,GAAIytL,EAAIztL,IAAM,OAI1B,CACA,SAAS+lgB,GAAqCttd,EAAKutd,GAC/C,GAAW,MAAPvtd,EACA,OAAOmod,GACX,MAAMqF,EAAY,CAAC,EACnB,UAAWC,KAAeztd,EACtB,GAAIA,EAAI2xB,eAAe87b,GAAc,CACjC,MAAMphgB,EAAQ2zC,EAAIytd,GAClB,IAAIC,EACAC,EACAC,EAAa/E,GAAWr5d,KACxBn/B,MAAMC,QAAQjE,IACduhgB,EAAavhgB,EAAM,GACnBqhgB,EAAarhgB,EAAM,GACnBshgB,EAAethgB,EAAM,IAAMqhgB,IAG3BA,EAAarhgB,EACbshgB,EAAethgB,GAGfkhgB,GAEAC,EAAUE,GACNE,IAAe/E,GAAWr5d,KAAO,CAACi+d,EAAaG,GAAcH,EACjEF,EAAeG,GAAcC,GAG7BH,EAAUE,GAAcD,CAEhC,CAEJ,OAAOD,CACX,CAiBA,SAASK,GAAkBC,GACvB,OAAO1L,GAAc,KACjB,MAAMptU,EAAMi3U,GAAkB6B,GAC9BrB,UAAaz3U,GACNA,GAEf,CAiBA,SAAS+4U,GAAaC,GAClB,MAAO,CACHhhf,KAAMghf,EAAQhhf,KACdzgB,KAAMyhgB,EAAQzhgB,KACdiT,QAAS,KACTmwe,MAAuB,IAAjBqe,EAAQre,KACd3nd,YAAmC,IAAvBgme,EAAQhme,WACpBglJ,UAAWghV,EAAQhhf,KAAK65B,UAAU55B,aAAe,KAEzD,CAMA,SAAS+/e,GAAgBhgf,GACrB,OAAOA,EAAK+3e,KAAgB,IAChC,CACA,SAASkI,GAAgBjgf,GACrB,OAAOA,EAAKg4e,KAAe,IAC/B,CACA,SAASiJ,GAAajhf,GAClB,OAAOA,EAAKi4e,KAAgB,IAChC,CASA,SAASiJ,GAAalhf,GAClB,MAAMgoK,EAAMg4U,GAAgBhgf,IAASigf,GAAgBjgf,IAASihf,GAAajhf,GAC3E,OAAe,OAARgoK,GAAeA,EAAIhtJ,UAC9B,CACA,SAASmme,GAAenhf,EAAMu6e,GAC1B,MAAM6G,EAAcphf,EAAKk4e,KAAe,KACxC,IAAKkJ,IAAiC,IAAlB7G,EAChB,MAAM,IAAI3gd,MAAM,QAAQkD,GAAU98B,0CAEtC,OAAOohf,CACX,CACA,SAASnC,GAAkB6B,GACvB,MAAMP,EAAiB,CAAC,EACxB,MAAO,CACHvgf,KAAM8gf,EAAoB9gf,KAC1Bqhf,kBAAmB,KACnB7uf,QAAS,KACTooB,aAAckme,EAAoBlme,cAAgB,KAClDD,SAAUmme,EAAoBnme,UAAY,EAC1CD,UAAWome,EAAoBpme,WAAa,KAC5CuH,eAAgB6+d,EAAoB7+d,gBAAkB,KACtDs+d,eAAgBA,EAChBe,gBAAiB,KACjBC,YAAaT,EAAoBp5e,QAAUyze,GAC3Cpge,SAAU+le,EAAoB/le,UAAY,KAC1CC,YAA+C,IAAnC8le,EAAoB9le,WAChCske,SAAyC,IAAhCwB,EAAoBxB,QAC7B5+e,UAAWogf,EAAoBpgf,WAAas7d,GAC5C35c,UAAWy+d,EAAoBz+d,WAAa,KAC5CpH,SAAU6le,EAAoB7le,UAAY,KAC1Cume,SAAU,KACVC,sBAAuB,KACvBC,eAAgB,KAChBh6e,OAAQ44e,GAAqCQ,EAAoBp5e,OAAQ64e,GACzE99d,QAAS69d,GAAqCQ,EAAoBr+d,SAClEk/d,UAAW,KAEnB,CACA,SAASlC,GAAa/9S,GAClBA,EAAWzmL,UAAUkC,QAASzO,GAAOA,EAAGgzL,GAC5C,CACA,SAASg+S,GAAwBtke,EAAc4le,GAC3C,IAAK5le,EACD,OAAO,KAEX,MAAMwme,EAAeZ,EAAUC,GAAelB,GAC9C,MAAO,KAA+B,mBAAjB3ke,EAA8BA,IAAiBA,GAC/Dx7B,IAAIiigB,GAAOD,EAAaC,IACxBpigB,OAAOyggB,GAChB,CAkEA,SAASj/S,GAAyB72K,GAC9B,MAAO,CACH+md,gBAAY/md,EAEpB,CAyCA,SAAS03d,MAAuB/gY,GAC5B,MAAO,CACHowX,gBAAY4Q,GAA4B,EAAMhhY,GAC9CihY,oBAAe,EAEvB,CACA,SAASD,GAA4BE,KAA0BlhY,GAC3D,MAAMmhY,EAAe,GACfC,EAAQ,IAAIxqc,IAClB,IAAIyqc,EACJ,MAAMC,EAAoBC,IACtBJ,EAAarud,KAAKyud,EAAQ,EAE9B9H,UAAYz5X,EAASl7E,IAQjB,MAAM08c,EAAiB18c,EACnB28c,GAAiBD,EAAgBF,EAAkB,GAAIF,KACvDC,IAA+B,GAC/BA,EAA2Bvud,KAAK0ud,GAAc,QAInBnigB,IAA/BgigB,GACAK,GAAkCL,EAA4BC,GAE3DH,CACX,CAKA,SAASO,GAAkCC,EAAoBv+U,GAC3D,QAASrqJ,EAAI,EAAGA,EAAI4oe,EAAmBv+f,OAAQ21B,IAAK,CAChD,MAAQu7H,WAAUjrH,aAAcs4d,EAAmB5oe,GACnD6oe,GAAoBv4d,EAAWk4d,IAE3Bn+U,EAAQm+U,EAAUjtW,EAAQ,EAElC,CACJ,CAUA,SAASmtW,GAAiB99c,EAAWy/H,EAASy+U,EAAST,GAEnD,KADAz9c,EAAYiyc,GAAkBjyc,IAE1B,OAAO,EAGX,IAAIm+c,EAAU,KACVC,EAASvL,GAAe7yc,GAC5B,MAAMq+c,GAAUD,GAAU9C,GAAgBt7c,GAC1C,GAAKo+c,GAAWC,EAgBX,IAAIA,IAAWA,EAAO/ne,WACvB,OAAO,EAGP6ne,EAAUn+c,MApBU,CAMpB,MAAM2wG,GAAW3wG,EAAU2wG,SAE3B,GADAytW,EAASvL,GAAeliW,KACpBytW,EAKA,OAAO,EAJPD,EAAUxtW,EAMlB,CAcA,MAAM2tW,EAAcb,EAAM32d,IAAIq3d,GAC9B,GAAIE,EAAQ,CACR,GAAIC,EAEA,OAAO,EAGX,GADAb,EAAMrkf,IAAI+kf,GACNE,EAAO3ne,aAAc,CACrB,MAAMiI,GAAsC,mBAAxB0/d,EAAO3ne,aAA8B2ne,EAAO3ne,eAAiB2ne,EAAO3ne,aACxF,UAAWyme,MAAOx+d,GACdm/d,GAAiBX,GAAK19U,EAASy+U,EAAST,EAEhD,CACJ,UACSW,EAwDL,OAAO,EAxDM,CAEb,GAAsB,MAAlBA,EAAOz4d,UAAoB24d,EAAa,CAMxC,IAAIC,GADJd,EAAMrkf,IAAI+kf,GAEV,IACIrI,GAAYsI,EAAOz4d,QAAS64d,KACpBV,GAAiBU,GAAU/+U,EAASy+U,EAAST,KAC7Cc,KAA6B,GAG7BA,GAAyBpvd,KAAKqvd,IAAQ,EAGlD,SAIA,MAIiC9igB,IAA7B6igB,IACAR,GAAkCQ,GAA0B9+U,EAEpE,CACA,IAAK6+U,EAAa,CAGd,MAAMxwf,GAAU8nf,GAAcuI,IAAO,KAAY,IAAIA,GAKrD1+U,EAAQ,CAAEzhJ,QAASmge,EAASv/d,WAAY9wB,GAAS6wB,KAAM24c,IAAe6mB,GAEtE1+U,EAAQ,CAAEzhJ,QAAS44d,GAAoBnnb,SAAU0ub,EAAS9tb,OAAO,GAAQ8tb,GAEzE1+U,EAAQ,CAAEzhJ,QAAS04d,GAAyBjnb,SAAUA,IAAMi/Z,GAASyvB,GAAU9tb,OAAO,GAAQ8tb,EAClG,CAEA,MAAMM,GAAeL,EAAO14d,UAC5B,GAAoB,MAAhB+4d,KAAyBH,EAAa,CACtC,MAAMI,GAAe1+c,EACrBi+c,GAAoBQ,GAAcb,KAE9Bn+U,EAAQm+U,GAAUc,GAAY,EAEtC,CACJ,CAGW,CAEX,OAAQP,IAAYn+c,QACQtkD,IAAxBskD,EAAUta,SAClB,CAYA,SAASu4d,GAAoBv4d,EAAW1b,GACpC,QAAS4ze,KAAYl4d,EACb0td,GAAuBwK,KACvBA,EAAWA,EAASnR,iBAEpB9tf,MAAMC,QAAQg/f,GACdK,GAAoBL,EAAU5ze,GAG9BA,EAAG4ze,EAGf,CACA,MAAMe,GAAcnN,GAAuB,CAAExzd,QAAS6a,OAAQ42B,SAAU+hb,KACxE,SAASoN,GAAgBjkgB,GACrB,OAAiB,OAAVA,GAAkC,iBAATA,GAAqBgkgB,MAAehkgB,CACxE,CAOA,SAASkkgB,GAAelkgB,GACpB,MAAwB,mBAAVA,CAClB,CAUA,MAAMmkgB,GAAiB,IAAI5re,GAAmD,IAKxE6re,GAAU,CAAC,EAQXC,GAAW,CAAC,EAIlB,IAAIC,GACJ,SAASC,KACL,YAAsBxjgB,IAAlBujgB,KACAA,GAAgB,IAAIpI,IAEjBoI,EACX,CAKA,MAAME,IAEN,MAAMC,WAAmBD,GAIrB,aAAIrnU,GACA,OAAOzqL,KAAK+0L,UAChB,CACAt1L,YAAY44B,EAAWguB,EAAQvS,EAAQyR,GACnC/U,QACAxwC,KAAKqmD,OAASA,EACdrmD,KAAK8zC,OAASA,EACd9zC,KAAKulD,OAASA,EAMdvlD,KAAKgyf,QAAU,IAAI/ud,IAInBjjC,KAAKiyf,kBAAoB,IAAIrsc,IAC7B5lD,KAAKkyf,gBAAkB,GACvBlyf,KAAK+0L,YAAa,EAElBo9T,GAAsB95d,EAAWk4d,GAAYvwf,KAAKoyf,gBAAgB7B,IAElEvwf,KAAKgyf,QAAQ9ud,IAAIomd,GAAY+I,QAAWhkgB,EAAW2R,OAE/CulD,EAAO9rB,IAAI,gBACXz5B,KAAKgyf,QAAQ9ud,IAAI4ud,GAAqBO,QAAWhkgB,EAAW2R,OAIhE,MAAMkse,EAASlse,KAAKgyf,QAAQtpf,IAAI+of,IAClB,MAAVvlB,GAA0C,iBAAjBA,EAAO5+e,OAChC0S,KAAKulD,OAAOx5C,IAAImge,EAAO5+e,OAE3B0S,KAAKsyf,iBAAmB,IAAI1sc,IAAI5lD,KAAK0I,IAAI6gf,GAAoBtf,GAAa0c,GAAYG,MAC1F,CAOAr5d,UACIztB,KAAKuyf,qBAELvyf,KAAK+0L,YAAa,EAClB,MAAM0sT,EAAe+Q,EAAoB,MACzC,IAEI,UAAWC,KAAWzyf,KAAKiyf,kBACvBQ,EAAQvkf,cAEZ,MAAMwkf,EAAiB1yf,KAAKkyf,gBAG5Blyf,KAAKkyf,gBAAkB,GACvB,UAAWh/Y,KAAQw/Y,EACfx/Y,GAER,SAGIlzG,KAAKgyf,QAAQj9c,QACb/0C,KAAKiyf,kBAAkBl9c,QACvB/0C,KAAKsyf,iBAAiBv9c,QACtBy9c,EAAoB/Q,EACxB,CACJ,CACAxzU,UAAU9kH,GACN,OAAAnpD,KAAKuyf,qBACLvyf,KAAKkyf,gBAAgBpwd,KAAKqnB,GACnB,IAAMnpD,KAAK2yf,gBAAgBxpc,EACtC,CACAuzV,aAAa//X,GACT3c,KAAKuyf,qBACL,MAAMK,EAAmB/K,GAAmB7nf,MACtC6yf,EAA+B1L,QAAwB94f,GAK7D,IACI,OAAOsuB,GACX,SAEIkre,GAAmB+K,GACnBzL,GAAwB0L,EAE5B,CACJ,CACAnqf,IAAIzY,EAAOq3f,EAAgBE,GAAoBzhZ,EAAQ4gZ,GAAYC,SAE/D,GADA5mf,KAAKuyf,qBACDtigB,EAAM2iE,eAAe0zb,IACrB,OAAOr2f,EAAMq2f,IAAWtmf,MAE5B+lG,EAAQiiZ,GAAkBjiZ,GAM1B,MAAM6sZ,EAAmB/K,GAAmB7nf,MACtC6yf,EAA+B1L,QAAwB94f,GAC7D,IAEI,KAAM03G,EAAQ4gZ,GAAYI,UAAW,CAEjC,IAAI7a,GAASlse,KAAKgyf,QAAQtpf,IAAIzY,GAC9B,QAAe5B,IAAX69e,GAAsB,CAGtB,MAAMj2T,GAqS1B,SAAS68U,GAAsBxlgB,GAC3B,MAAyB,mBAAVA,GACO,iBAAVA,GAAsBA,aAAiBu4B,EACvD,CAxSgCite,CAAsB7igB,IAAUk1f,GAAiBl1f,GASzDi8e,GARAj2T,IAAOj2K,KAAK+yf,qBAAqB98U,IAQxBo8U,GAAWW,GAAkC/igB,GAAQyhgB,IAGrD,KAEb1xf,KAAKgyf,QAAQ9ud,IAAIjzC,EAAOi8e,GAC5B,CAEA,GAAc,MAAVA,GACA,OAAOlse,KAAKizf,QAAQhjgB,EAAOi8e,GAEnC,CAMAob,OAHuBvhZ,EAAQ4gZ,GAAYG,KAAsB+K,KAAd7xf,KAAKqmD,QAMpC39C,IAAIzY,EAHxBq3f,EAAiBvhZ,EAAQ4gZ,GAAYK,UAAaM,IAAkBE,GAChE,KACAF,EAER,OACO9nd,GACH,GAAe,sBAAXA,EAAEhyC,KAA8B,CAGhC,IAFagyC,EAAEkod,IAAsBlod,EAAEkod,KAAuB,IACzDn3V,QAAQxlH,GAAU96C,IACnB2igB,EAEA,MAAMpzd,EAIN,OAhzDpB,SAAS0zd,GAAmB1zd,EAAGvvC,EAAOkjgB,EAAmBr/c,GACrD,MAAMs/c,EAAY5zd,EAAEkod,IACpB,MAAIz3f,EAAMyuW,KACN00J,EAAU7iW,QAAQtgK,EAAMyuW,KAE5Bl/T,EAAE+K,QAKN,SAASgwD,GAAY5jD,EAAM1V,EAAKkyd,EAAmBr/c,EAAS,MACxD6C,EAAOA,GAA2B,OAAnBA,EAAKvhC,OAAO,IA1MX,UA0M0BuhC,EAAKvhC,OAAO,GAAoBuhC,EAAK/U,MAAM,GAAK+U,EAC1F,IAAIg4D,EAAU5jE,GAAU9J,GACxB,GAAI3vC,MAAMC,QAAQ0vC,GACd0tE,EAAU1tE,EAAIpzC,IAAIk9C,IAAWW,KAAK,aAAM,GAEpB,iBAARzK,EAAkB,CAC9B,IAAIwxB,EAAQ,GACZ,QAASvxB,KAAOD,EACZ,GAAIA,EAAI2xB,eAAe1xB,GAAM,CACzB,IAAI5zC,EAAQ2zC,EAAIC,GAChBuxB,EAAM3wB,KAAKZ,EAAM,KAAwB,iBAAV5zC,EAAqBkQ,KAAKutC,UAAUz9C,GAASy9C,GAAUz9C,IAC1F,CAEJqhH,EAAU,IAAIl8C,EAAM/mB,KAAK,QAC7B,CACA,MAAO,GAAGynd,IAAoBr/c,EAAS,IAAMA,EAAS,IAAM,MAAM66D,OAAah4D,EAAKtoC,QAAQs5e,GAAU,SAC1G,CAtBgBptZ,CAAY,KAAO/6D,EAAE+K,QAAS6od,EAAWD,EAAmBr/c,GACxEtU,EAAe,YAAI4zd,EACnB5zd,EAAEkod,IAAsB,KAClBlod,CACV,CAuyD2B0zd,CAAmB1zd,EAAGvvC,EAAO,kBAAmB+P,KAAK8zC,OAEpE,CAEI,MAAMtU,CAEd,SAGI2nd,GAAwB0L,GACxBhL,GAAmB+K,EAEvB,CACJ,CAEAS,8BACI,MAAM5R,EAAe+Q,EAAoB,MACnCI,EAAmB/K,GAAmB7nf,MACtC6yf,EAA+B1L,QAAwB94f,GAK7D,IACI,MAAMigJ,EAAetuI,KAAK0I,IAAI2gf,GAAyBpf,GAAa0c,GAAYG,MAOhF,UAAWzmY,KAAeiuB,EACtBjuB,GAER,SAEIwnY,GAAmB+K,GACnBzL,GAAwB0L,GAExBL,EAAoB/Q,EACxB,CACJ,CACAtgd,WACI,MAAMwyG,EAAS,GACTq+W,EAAUhyf,KAAKgyf,QACrB,UAAW/hgB,KAAS+hgB,EAAQ3ie,OACxBskH,EAAO7xG,KAAKiJ,GAAU96C,IAE1B,MAAO,cAAc0jJ,EAAOjoG,KAAK,QACrC,CACA6md,qBACI,GAAIvyf,KAAK+0L,WACL,MAAM,IAAIouT,GAAa,KAAuD72U,EAEtF,CAIA8lV,gBAAgB7B,GAIZ,IAAItggB,EAAQuhgB,GADZjB,EAAW3L,GAAkB2L,IACUA,EAAW3L,GAAkB2L,GAAYA,EAAS5/d,SAEzF,MAAMu7c,EA6Hd,SAASonB,GAAiB/C,GACtB,OAAIgB,GAAgBhB,GACT8B,QAAWhkgB,EAAWkigB,EAASnub,UAI/Biwb,GADSkB,GAAkBhD,GACPmB,GAEnC,CArIuB4B,CAAiB/C,GAYhC,IAAKiB,GAAejB,KAAgC,IAAnBA,EAASvtb,MAAgB,CAGtD,IAAIwwb,EAAcxzf,KAAKgyf,QAAQtpf,IAAIzY,GAC/BujgB,IAOAA,EAAcnB,QAAWhkgB,EAAWqjgB,IAAS,GAC7C8B,EAAY/yf,QAAU,IAAMynf,GAAWsL,EAAYxwb,OACnDhjE,KAAKgyf,QAAQ9ud,IAAIjzC,EAAOujgB,IAE5BvjgB,EAAQsggB,EACRiD,EAAYxwb,MAAMlhC,KAAKyud,EAC3B,CASAvwf,KAAKgyf,QAAQ9ud,IAAIjzC,EAAOi8e,EAC5B,CACA+mB,QAAQhjgB,EAAOi8e,GACX,MAAMuV,EAAe+Q,EAAoB,MACzC,IAIS,OAAItmB,EAAO5+e,QAAUokgB,KACtBxlB,EAAO5+e,MAAQqkgB,GAQXzlB,EAAO5+e,MAAQ4+e,EAAOzre,WAGF,iBAAjByre,EAAO5+e,OAAsB4+e,EAAO5+e,OA8H3D,SAASmmgB,GAAanmgB,GAClB,OAAiB,OAAVA,GAAmC,iBAAVA,GACC,mBAAtBA,EAAM4gB,WACrB,CAjIoEulf,CAAavnB,EAAO5+e,QACxE0S,KAAKiyf,kBAAkBlmf,IAAImge,EAAO5+e,OAE/B4+e,EAAO5+e,KAClB,SAEIklgB,EAAoB/Q,EACxB,CACJ,CACAsR,qBAAqB98U,GACjB,IAAKA,EAAIt1K,WACL,OAAO,EAEX,MAAMA,EAAaikf,GAAkB3uU,EAAIt1K,YACzC,MAA0B,iBAAfA,EACe,QAAfA,GAAyBX,KAAKulD,OAAO9rB,IAAI94B,GAGzCX,KAAKsyf,iBAAiB74d,IAAI94B,EAEzC,CACAgyf,gBAAgBxpc,GACZ,MAAMuqc,EAAe1zf,KAAKkyf,gBAAgBrggB,QAAQs3D,IAC7B,IAAjBuqc,GACA1zf,KAAKkyf,gBAAgB7id,OAAOqkd,EAAc,EAElD,EAEJ,SAASV,GAAkC/igB,GAEvC,MAAMs3f,EAAgBpC,GAAiBl1f,GACjCwQ,EAA4B,OAAlB8mf,EAAyBA,EAAc9mf,QAAU8nf,GAAct4f,GAC/E,GAAgB,OAAZwQ,EACA,OAAOA,EAIX,GAAIxQ,aAAiB41B,GACjB,MAAM,IAAIs9d,GAAa,KAAoD72U,GAG/E,GAAIr8K,aAAiBknF,SACjB,OAKR,SAASw8a,GAAgC1jgB,GAGrC,GADoBA,EAAMmC,OACR,EACd,MAAM,IAAI+wf,GAAa,KAAoD72U,GAQ/E,MAAMsnV,EA/kFV,SAASC,GAA0B5lf,GAE/B,OADYA,IAASA,EAAKo3e,KAAgBp3e,EAAKq3e,KAQpC,IAEf,CAokFmCuO,CAA0B5jgB,GACzD,OAA+B,OAA3B2jgB,EACO,IAAMA,EAAuBnzf,QAAQxQ,GAGrC,IAAM,IAAIA,CAEzB,CAxBe0jgB,CAAgC1jgB,GAG3C,MAAM,IAAIkzf,GAAa,KAAoD72U,EAC/E,CAmCA,SAASinV,GAAkBhD,EAAUuD,EAAcz7d,GAC/C,IAAI53B,EAIJ,GAAI+wf,GAAejB,GAAW,CAC1B,MAAMwD,EAAoBnP,GAAkB2L,GAC5C,OAAOhI,GAAcwL,IAAsBf,GAAkCe,EACjF,IAEQxC,GAAgBhB,GAChB9vf,EAAUA,IAAMmkf,GAAkB2L,EAASnub,eAAQ,GA/Z/D,SAAS4xb,GAAkB1mgB,GACvB,SAAUA,IAASA,EAAMikC,WAC7B,CA+ZiByie,CAAkBzD,GACvB9vf,EAAUA,IAAM8vf,EAASh/d,cAAc22d,GAAWqI,EAASj/d,MAAQ,UAAG,GAralF,SAAS2ie,GAAmB3mgB,GACxB,SAAUA,IAASA,EAAMsjC,YAC7B,CAqaiBqje,CAAmB1D,GACxB9vf,EAAUA,IAAM4ge,GAASujB,GAAkB2L,EAAS3/d,kBAEnD,CACD,MAAMsje,EAAWtP,GAAkB2L,IAC9BA,EAASrub,UAAYqub,EAAS5/d,UAInC,IAiBZ,SAASwje,GAAQ7mgB,GACb,QAASA,EAAMgkC,IACnB,CAnBgB6ie,CAAQ5D,GAIR,OAAOhI,GAAc2L,IAAalB,GAAkCkB,GAHpEzzf,EAAUA,IAAM,IAAKyzf,KAAahM,GAAWqI,EAASj/d,MAK9D,CAEJ,OAAO7wB,CACX,CACA,SAAS4xf,GAAW5xf,EAASnT,EAAO01E,GAAQ,GACxC,MAAO,CACHviE,QAASA,EACTnT,MAAOA,EACP01E,MAAOA,EAAQ,QAAK30E,EAE5B,CAYA,SAAS8jgB,GAAsB95d,EAAW1b,GACtC,UAAW4ze,KAAYl4d,EACf/mC,MAAMC,QAAQg/f,GACd4B,GAAsB5B,EAAU5ze,GAE3B4ze,GAAYxK,GAAuBwK,GACxC4B,GAAsB5B,EAASnR,gBAAYzie,GAG3CA,EAAG4ze,EAGf,CAgBA,SAAS5T,GAAsBlpC,EAAU92b,GACjC82b,aAAoBs+C,IACpBt+C,EAAS8+C,qBAMb,MAAM6B,EAAevM,GAAmBp0C,GAClCo/C,EAA+B1L,QAAwB94f,GAC7D,IACI,OAAOsuB,GACX,SAEIkre,GAAmBuM,GAEnBjN,GAAwB0L,EAC5B,CACJ,CAIA,SAASwB,KACL,YAAqChmgB,IAA9B64f,MAAmE,MAzxE9E,SAASoN,KACL,OAAO1M,EACX,CAuxEsD0M,EACtD,CASA,SAASC,GAAyBC,GAG9B,IAAKH,KACD,MAAM,IAAIlR,IAAa,KAAuD72U,EAItF,CAoVA,MAAMmoV,GAAO,EACPC,GAAQ,EAERC,GAAQ,EACRj7M,GAAS,EACTk7M,GAAO,EACPC,GAAS,EAETC,GAAY,EACZC,GAAU,EACVC,GAAU,EACVC,GAAW,EACXt4f,GAAc,GACdu4f,GAAW,GACXC,GAAa,GACbC,GAAa,GAEbC,GAAmB,GACnBC,GAA6B,GAC7BC,GAAyB,GACzBC,GAAsB,GACtBC,GAAU,GACVx+H,GAAK,GACLy+H,GAAyB,GACzBC,GAAmB,GACnBC,GAAsB,GACtBC,GAA6B,GAQ7BC,GAAgB,GAOhBC,GAAO,EASPC,GAAS,EAETC,GAAc,EAOdC,GAA0B,GAEhC,IAAIC,GACH,SAAUA,GACPA,SAAgBA,EAAgB1le,KAAU,GAAK,OAO/C0le,EAAgBA,EAAgBC,qBAA0B,GAAK,uBARxDD,CASX,CATC,CASEA,IAAsC,CAAC,GAM1C,SAASE,GAAQ/ogB,GACb,OAAOgE,MAAMC,QAAQjE,IAAiC,iBAAhBA,EAAMyogB,GAChD,CAKA,SAASO,GAAahpgB,GAClB,OAAOgE,MAAMC,QAAQjE,KAA0B,IAAhBA,EAAMyogB,GACzC,CACA,SAASQ,GAAmBrL,GACxB,SAAsB,EAAdA,EAAMnlZ,MAClB,CACA,SAASywZ,GAAgBtL,GACrB,OAAOA,EAAMuL,iBAAkB,CACnC,CACA,SAASC,GAAgBxL,GACrB,QAA8D,GAAtDA,EAAMnlZ,MAClB,CACA,SAAS4wZ,GAAe1gV,GACpB,QAASA,EAAIlnK,QACjB,CACA,SAAS6nf,GAAW9tc,GAChB,SAAwB,IAAhBA,EAAO6rc,IACnB,CAiJA,MAAMkC,GACFp3f,YAAY0uL,EAAewlS,EAAc7Y,GACrC96c,KAAKmuL,cAAgBA,EACrBnuL,KAAK2zd,aAAeA,EACpB3zd,KAAK86c,YAAcA,CACvB,CAIAg8C,gBACI,OAAO92f,KAAK86c,WAChB,EAGJ,SAASi8C,GAAuBzrD,EAAU0rD,EAAiBC,EAAa3pgB,GAC5C,OAApB0pgB,EACAA,EAAgBE,wBAAwBF,EAAiB1pgB,GAGzDg+c,EAAS2rD,GAAe3pgB,CAEhC,CAwBA,SAAS6pgB,KACL,OAAOC,EACX,CACA,SAASA,GAAuBznT,GAC5B,OAAIA,EAAW1hM,KAAK65B,UAAU8ya,cAC1BjrQ,EAAW8/S,SAAW4H,IAEnBC,EACX,CAgBA,SAASA,KACL,MAAMC,EAAqBC,GAAsBx3f,MAC3CsiJ,EAAUi1W,GAAoBj1W,QACpC,GAAIA,EAAS,CACT,MAAMw2J,EAAWy+M,EAAmBz+M,SACpC,GAAIA,IAAaswM,GACbmO,EAAmBz+M,SAAWx2J,OAK9B,QAASphH,KAAOohH,EACZw2J,EAAS53Q,GAAOohH,EAAQphH,GAGhCq2d,EAAmBj1W,QAAU,KAC7BtiJ,KAAK46c,YAAYt4T,EACrB,CACJ,CACA,SAAS+0W,GAAoB/rD,EAAU0rD,EAAiB1pgB,EAAOqhgB,EAAYsI,GACvE,MAAMrI,EAAe5uf,KAAKwuf,eAAeG,GAEnC4I,EAAqBC,GAAsBlsD,IAYrD,SAASmsD,GAAsBnsD,EAAU3rc,GACrC,OAAO2rc,EAASosD,IAAwB/3f,CAC5C,CAbQ83f,CAAsBnsD,EAAU,CAAExyJ,SAAUswM,GAAW9mW,QAAS,OAC9DA,EAAUi1W,EAAmBj1W,UAAYi1W,EAAmBj1W,QAAU,CAAC,GACvEw2J,GAAWy+M,EAAmBz+M,SAC9B6+M,GAAiB7+M,GAAS81M,GAChCtsW,EAAQssW,GAAgB,IAAIiI,GAAac,IAAkBA,GAAehkC,aAAcrme,EAAOwrT,KAAaswM,IAC5G2N,GAAuBzrD,EAAU0rD,EAAiBC,EAAa3pgB,EACnE,CAxCA6pgB,GAAqBS,WAAY,EAyCjC,MAAMF,GAAuB,sBAC7B,SAASF,GAAsBlsD,GAC3B,OAAOA,EAASosD,KAAyB,IAC7C,CAgBA,MAYMG,GAAW,SAAUrsf,EAAO8/b,EAAUwsD,GAI5C,EAEMC,GAAgB,MAItB,IAAIC,IAAsC,EA4B1C,SAASC,GAAY3qgB,GACjB,KAAOgE,MAAMC,QAAQjE,IACjBA,EAAQA,EAAMmngB,IAElB,OAAOnngB,CACX,CAmBA,SAAS4qgB,GAAiB7/e,EAAO8/e,GAG7B,OAAOF,GAAYE,EAAM9/e,GAC7B,CASA,SAAS+/e,GAAiBlN,EAAOiN,GAI7B,OADaF,GAAYE,EAAMjN,EAAM7ye,OAEzC,CAmBA,SAASggf,GAAS5K,EAAOp1e,GAKrB,OAFco1e,EAAMrggB,KAAKirB,EAG7B,CAEA,SAASq6B,GAAKuhN,EAAM57O,GAEhB,OAAO47O,EAAK57O,EAChB,CACA,SAASigf,GAAyBv/L,EAAWwiK,GAGzC,MAAMg9B,EAAYh9B,EAASxiK,GAE3B,OADcs9L,GAAQkC,GAAaA,EAAYA,EAAU9D,GAE7D,CAWA,SAAS+D,GAA6BvkQ,GAClC,QAAyD,KAAjDA,EAAK0gQ,IACjB,CAKA,SAAS8D,GAAY3pf,EAAQuJ,GACzB,OAAc,MAAVA,EACO,KAEJvJ,EAAOuJ,EAClB,CAKA,SAASqgf,GAAuBP,GAC5BA,EAAM3C,IAAuB,CACjC,CAKA,SAASmD,GAAmBR,GACL,KAAfA,EAAMxD,MAGVwD,EAAMxD,KAAU,KACZ6D,GAA6BL,IAC7BS,GAA0BT,GAElC,CAeA,SAASU,GAA2BV,GAChC,SAA0B,KAAhBA,EAAMxD,KACZwD,EAAMtC,KAA6B5ub,MAC3C,CAKA,SAAS6xb,GAAqCX,GAC1CA,EAAMx7f,IAAao8f,0BAA0BrlW,OAAO,GAIhDmlW,GAA2BV,GAC3BS,GAA0BT,GAEN,GAAfA,EAAMxD,MApLnB,SAASqE,KACL,OAAOhB,EACX,CAmLYgB,IACAb,EAAMxD,KAAU,KAChBiE,GAA0BT,IAG1BA,EAAMx7f,IAAao8f,0BAA0BrlW,SAGzD,CAQA,SAASklW,GAA0BT,GAC/BA,EAAMx7f,IAAao8f,0BAA0BrlW,SAC7C,IAAIrtG,EAAS4yc,GAAed,GAC5B,KAAkB,OAAX9xc,KAGiB,KAAhBA,EAAOsuc,OAGXtuc,EAAOsuc,KAAU,KACZ6D,GAA6Bnyc,KAGlCA,EAAS4yc,GAAe5yc,EAEhC,CAIA,SAAS6yc,GAAoBf,EAAOgB,GAChC,KAAwD,KAAnDhB,EAAMxD,KACP,MAAM,IAAIxR,GAAa,KAAmD72U,GAE9C,OAA5B6rV,EAAMxC,MACNwC,EAAMxC,IAAoB,IAE9BwC,EAAMxC,IAAkB7zd,KAAKq3d,EACjC,CAiBA,SAASF,GAAed,GAEpB,MAAM9xc,EAAS8xc,EAAMz+M,IACrB,OAAO48M,GAAajwc,GAAUA,EAAOqzP,IAAUrzP,CACnD,CAEA,MAAM+yc,GAAmB,CACrBC,OAAQC,GAAa,MACrBC,iBAAiB,EACjBC,uBAAwB,MA4B5B,SAASC,KACL,OAAOL,GAAiBG,eAC5B,CAKA,SAASG,KACL,OAAmD,OAA5CN,GAAiBI,sBAC5B,CAqEA,SAASG,KACL,OAAOP,GAAiBC,OAAOlB,KACnC,CAIA,SAASyB,KACL,OAAOR,GAAiBC,OAAO5L,KACnC,CAaA,SAASoM,GAAcC,GACnBV,UAAiBC,OAAOU,aAAeD,EAChCA,EAAc9E,GACzB,CAOA,SAASgF,GAAY1sgB,GACjB8rgB,UAAiBC,OAAOU,aAAe,KAChCzsgB,CACX,CACA,SAAS2sgB,KACL,IAAIC,EAAeC,KACnB,KAAwB,OAAjBD,GAA+C,KAAtBA,EAAajsf,MACzCisf,EAAeA,EAAa7zc,OAEhC,OAAO6zc,CACX,CACA,SAASC,KACL,OAAOf,GAAiBC,OAAOa,YACnC,CACA,SAASE,KACL,MAAMf,EAASD,GAAiBC,OAC1Ba,EAAeb,EAAOa,aAC5B,OAAOb,EAAOgB,SAAWH,EAAeA,EAAa7zc,MACzD,CACA,SAASi0c,GAAgBpP,EAAOmP,GAE5B,MAAMhB,EAASD,GAAiBC,OAChCA,EAAOa,aAAehP,EACtBmO,EAAOgB,SAAWA,CACtB,CACA,SAASE,KACL,OAAOnB,GAAiBC,OAAOgB,QACnC,CACA,SAASG,KACLpB,GAAiBC,OAAOgB,UAAW,CACvC,CAeA,SAASI,KACL,MAAMpB,EAASD,GAAiBC,OAChC,IAAIhhf,EAAQghf,EAAOqB,iBACnB,OAAc,IAAVrif,IACAA,EAAQghf,EAAOqB,iBAAmBrB,EAAO5L,MAAMkN,mBAE5Ctif,CACX,CACA,SAASuif,KACL,OAAOxB,GAAiBC,OAAOwB,YACnC,CAIA,SAASC,IACL,OAAO1B,GAAiBC,OAAOwB,cACnC,CACA,SAASE,GAAsBxka,GAC3B,MAAM8ia,EAASD,GAAiBC,OAC1Bhhf,EAAQghf,EAAOwB,aACrBxB,SAAOwB,aAAexB,EAAOwB,aAAetka,EACrCl+E,CACX,CAIA,SAAS2if,EAAeC,GACpB7B,GAAiBC,OAAO6B,OAASD,CACrC,CAYA,SAASE,GAA8BT,EAAkBU,GACrD,MAAM/B,EAASD,GAAiBC,OAChCA,EAAOwB,aAAexB,EAAOqB,iBAAmBA,EAChDW,GAAyBD,EAC7B,CAcA,SAASC,GAAyBD,GAC9BhC,GAAiBC,OAAO+B,sBAAwBA,CACpD,CAOA,SAASE,GAAuBC,GAC5B,MAAMH,EAAwBhC,GAAiBC,OAAO+B,sBACtD,OAAiC,IAA1BA,EAA+B,KAAOG,EAAMH,EACvD,CACA,SAASI,KACL,OAAOpC,GAAiBC,OAAO76U,iBACnC,CACA,SAASi9U,GAAqBnugB,GAC1B8rgB,GAAiBC,OAAO76U,kBAAoBlxL,CAChD,CAMA,SAASougB,GAAoBvD,GACzB,MAAM1K,EAAQ0K,EAAMzD,IAEpB,OAAmB,IAAfjH,EAAMx/e,KAECw/e,EAAMkO,UAKE,IAAflO,EAAMx/e,KACCkqf,EAAMtD,IAGV,IACX,CAcA,SAAS+G,GAAQzD,EAAOjN,EAAOnlZ,GAE3B,GAAIA,EAAQ4gZ,GAAYI,SAAU,CAE9B,IAAI8U,EAAc3Q,EACd4Q,EAAc3D,EAClB,OAEI0D,EAAcA,EAAYx1c,OACN,OAAhBw1c,GAA0B91Z,EAAQ4gZ,GAAYE,OAC9CgV,EAAcH,GAAoBI,GACd,OAAhBD,IAKJC,EAAcA,EAAYzG,IAIF,GAApBwG,EAAY5tf,UAQxB,GAAoB,OAAhB4tf,EAEA,OAAO,EAGP3Q,EAAQ2Q,EACR1D,EAAQ2D,CAEhB,CAEA,MAAMzC,EAASD,GAAiBC,OAAS0C,KACzC1C,SAAOa,aAAehP,EACtBmO,EAAOlB,MAAQA,GACR,CACX,CAYA,SAAS6D,GAAUC,GAGf,MAAMC,EAAYH,KAYZtO,EAAQwO,EAAQvH,IACtB0E,GAAiBC,OAAS6C,EAE1BA,EAAUhC,aAAezM,EAAMj5e,WAC/B0nf,EAAU/D,MAAQ8D,EAClBC,EAAUzO,MAAQA,EAClByO,EAAUnC,aAAekC,EACzBC,EAAUrB,aAAepN,EAAMkN,kBAC/BuB,EAAUhB,QAAS,CACvB,CAIA,SAASa,KACL,MAAMI,EAAgB/C,GAAiBC,OACjC+C,EAAgC,OAAlBD,EAAyB,KAAOA,EAAcryR,MAElE,OADkC,OAAhBsyR,EAAuB9C,GAAa6C,GAAiBC,CAE3E,CACA,SAAS9C,GAAajzc,GAClB,MAAMgzc,EAAS,CACXa,aAAc,KACdG,UAAU,EACVlC,MAAO,KACP1K,MAAO,KACP5zO,eAAe,EACfkgP,aAAc,KACdsC,kBAAmB,EACnBC,iBAAkB,KAClBlB,uBAAuB,EACvBV,kBAAkB,EAClBG,cAAc,EACdr8U,kBAAmB,EACnBn4H,OAAQA,EACRyjL,MAAO,KACPoxR,QAAQ,GAEZ70c,OAAW,OAAXA,IAAoBA,EAAOyjL,MAAQuvR,GAC5BA,CACX,CAUA,SAASkD,KACL,MAAMC,EAAYpD,GAAiBC,OACnCD,UAAiBC,OAASmD,EAAUn2c,OACpCm2c,EAAUtC,aAAe,KACzBsC,EAAUrE,MAAQ,KACXqE,CACX,CAOA,MAAMC,GAAUF,GAShB,SAASG,KACL,MAAMF,EAAYD,KAClBC,EAAUnC,UAAW,EACrBmC,EAAU/O,MAAQ,KAClB+O,EAAU3iP,eAAgB,EAC1B2iP,EAAUzC,aAAe,KACzByC,EAAUH,kBAAoB,EAC9BG,EAAUpB,uBAAwB,EAClCoB,EAAUF,iBAAmB,KAC7BE,EAAU9B,kBAAmB,EAC7B8B,EAAU3B,cAAe,EACzB2B,EAAUh+U,kBAAoB,CAClC,CAYA,SAASm+U,KACL,OAAOvD,GAAiBC,OAAOx/O,aACnC,CAUA,SAAS+iP,GAAiBvkf,GAKtB+gf,GAAiBC,OAAOx/O,cAAgBxhQ,CAC5C,CAIA,SAASwkf,KACL,MAAMxD,EAASD,GAAiBC,OAChC,OAAOhB,GAASgB,EAAO5L,MAAO4L,EAAOx/O,cACzC,CAMA,SAASijP,KACL1D,GAAiBC,OAAOiD,iBAAmBvE,EAC/C,CAeA,SAASgF,MAOT,SAASC,KACL5D,GAAiBC,OAAOiD,iBAAmB,IAC/C,CARIU,EACJ,CAWA,IAAIC,IAAsB,EAK1B,SAASC,KACL,OAAOD,EACX,CAKA,SAASE,GAAmBtrf,GACxBorf,GAAsBprf,CAC1B,CAgDA,SAASurf,GAAuB3P,EAAOvC,GAKnC,QAASnje,EAAImje,EAAMmS,eAAgB1zZ,EAAMuhZ,EAAMoS,aAAcv1e,EAAI4hF,EAAK5hF,IAAK,CAGvE,MAAMw1e,EAFe9P,EAAMrggB,KAAK26B,GAEI9Z,KAAK65B,WACjC5b,qBAAoBsxe,wBAAuBz2e,mBAAiB02e,sBAAoBvvf,gBAAgBqvf,EACpGrxe,IACCuhe,EAAMiQ,eAAiB,IAAI57d,MAAM/Z,EAAGmE,GAErCsxe,KACC/P,EAAMiQ,eAAiB,IAAI57d,KAAK/Z,EAAGy1e,IACnC/P,EAAMkQ,oBAAsB,IAAI77d,KAAK/Z,EAAGy1e,IAEzCz2e,KACC0me,EAAMmQ,YAAc,IAAI97d,MAAM/Z,EAAGhB,IAElC02e,MACChQ,EAAMmQ,YAAc,IAAI97d,KAAK/Z,EAAG01e,KAChChQ,EAAMoQ,iBAAmB,IAAI/7d,KAAK/Z,EAAG01e,KAEvB,MAAfvvf,KACCu/e,EAAMqQ,eAAiB,IAAIh8d,KAAK/Z,EAAG7Z,GAE5C,CACJ,CAiCA,SAAS6vf,GAAkB5F,EAAOrlZ,EAAOimN,GACrCilM,GAAU7F,EAAOrlZ,EAAO,EAA2CimN,EACvE,CAcA,SAASklM,GAAyB9F,EAAOrlZ,EAAOorZ,EAAWnlM,IAGnC,EAAfo/L,EAAMxD,OAAoDuJ,GAC3DF,GAAU7F,EAAOrlZ,EAAOorZ,EAAWnlM,EAE3C,CACA,SAASolM,GAAwBhG,EAAO+F,GAGpC,IAAIn4Z,EAAQoyZ,EAAMxD,KACL,EAAR5uZ,KAAmDm4Z,IACpDn4Z,GAAS,MACTA,GAAS,EACToyZ,EAAMxD,IAAS5uZ,EAEvB,CAeA,SAASi4Z,GAAUI,EAAavyd,EAAKqyd,EAAWG,GAG5C,MAGMC,EAAiBD,IAA8C,EAC/Djxe,EAAMye,EAAIz5C,OAAS,EACzB,IAAImsgB,EAAqB,EACzB,QAASx2e,QAN+B15B,IAArBgwgB,EACqB,MAAnCD,EAAY5I,IACb,EAIqBzte,GAAIqF,EAAKrF,KAE9B,GAAoB,iBADP8jB,EAAI9jB,GAAI,IAGjB,GADAw2e,EAAqB1yd,EAAI9jB,IACD,MAApBs2e,GAA4BE,GAAsBF,EAClD,WAIexyd,EAAI9jB,IAAK,IAExBq2e,EAAY5I,KAAwB,QAEpC+I,EAAqBD,IAAoC,GAAlBA,KACvCE,GAASJ,EAAaF,EAAWryd,EAAK9jB,IACtCq2e,EAAY5I,KAC4B,WAAnC4I,EAAY5I,KAAyFzte,GAClG,GAEZA,IAGZ,CAMA,SAAS02e,GAAiBC,EAAWxrZ,GACjC2kZ,GAAS,EAA0C6G,EAAWxrZ,GAC9D,MAAMuuY,EAAe+Q,EAAoB,MACzC,IACIt/Y,EAAKxqD,KAAKg2c,EACd,SAEIlM,EAAoB/Q,GACpBoW,GAAS,EAAwC6G,EAAWxrZ,EAChE,CACJ,CASA,SAASsrZ,GAASJ,EAAaF,EAAWryd,EAAK9jB,GAC3C,MAAM42e,EAAa9yd,EAAI9jB,GAAK,EACtBmrF,EAAOrnE,EAAI9jB,EAAI,GAEf22e,EAAYN,EADKO,GAAc9yd,EAAI9jB,GAAK8jB,EAAI9jB,IAE9C42e,EAC8BP,EAAYzJ,KAAU,GAG/CyJ,EAAY5I,KAAwB,KACf,EAArB4I,EAAYzJ,OAAoDuJ,IACjEE,EAAYzJ,KAAU,MACtB8J,GAAiBC,EAAWxrZ,IAIhCurZ,GAAiBC,EAAWxrZ,EAEpC,CAEA,MAAM0rZ,IAAqB,EA+F3B,MAAMC,GACFp/f,YAIAgB,EAIAq+f,EAAgBC,GACZ/+f,KAAKS,QAAUA,EAKfT,KAAKg/f,WAAY,EAGjBh/f,KAAKi/f,oBAAsBH,EAC3B9+f,KAAKk/f,WAAaH,CACtB,EAyGJ,SAASI,GAAkBC,GACvB,OAAOA,IAAmBR,EAC9B,CACA,SAASS,GAAuBD,GAO5B,OAAwB,MAAjBA,CACX,CAaA,SAASE,GAAsBzqf,EAAU0qf,GACrC,IAAIC,EAbR,SAASC,GAA4BL,GACjC,OAAOA,GAAkB,EAC7B,CAWqBK,CAA4B5qf,GACzC6qf,EAAaH,EAKjB,KAAOC,EAAa,GAChBE,EAAaA,EAAWrK,IACxBmK,IAEJ,OAAOE,CACX,CAsCA,IAAIC,IAAuB,EAC3B,SAASC,GAAwB7te,GAC7B,MAAMmgK,EAAWytU,GACjBA,UAAuB5te,EAChBmgK,CACX,CAOA,MAAM2tU,GADa,IAObC,GAAoB,EAE1B,IAAIC,GAAkB,EAEtB,MAAMjuN,GAAY,CAAC,EA0CnB,SAASkuN,GAA+B9U,EAAOiN,GAC3C,MAAM8H,EAAwBC,GAAiBhV,EAAOiN,GACtD,IAA8B,IAA1B8H,EACA,OAAOA,EAEX,MAAMxS,EAAQ0K,EAAMzD,IAChBjH,EAAM0S,kBACNjV,EAAMkV,cAAgBjI,EAAM/lgB,OAC5BiugB,GAAY5S,EAAMrggB,KAAM89f,GACxBmV,GAAYlI,EAAO,MACnBkI,GAAY5S,EAAM6S,UAAW,OAEjC,MAAMC,EAAYC,GAA0BtV,EAAOiN,GAC7CiI,EAAgBlV,EAAMkV,cAG5B,GAAIjB,GAAkBoB,GAAY,CAC9B,MAAME,EAAcpB,GAAuBkB,GACrCzE,EAAcwD,GAAsBiB,EAAWpI,GAC/CuI,GAAa5E,EAAYpH,IAAOtngB,KAGtC,QAAS26B,GAAI,EAAGA,GAAI,EAAuCA,KACvDowe,EAAMiI,EAAgBr4e,IAAK+ze,EAAY2E,EAAc14e,IAAK24e,GAAWD,EAAc14e,GAE3F,CACAowe,SAAMiI,EAAgB,GAAqCG,EACpDH,CACX,CACA,SAASC,GAAYx0d,EAAK80d,GACtB90d,EAAI/J,KAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG6+d,EACrC,CACA,SAAST,GAAiBhV,EAAOiN,GAC7B,OAA4B,IAAxBjN,EAAMkV,eAGLlV,EAAM7kc,QAAU6kc,EAAM7kc,OAAO+5c,gBAAkBlV,EAAMkV,eAGa,OAAnEjI,EAAMjN,EAAMkV,cAAgB,IACrB,EAIAlV,EAAMkV,aAErB,CAQA,SAASI,GAA0BtV,EAAOiN,GACtC,GAAIjN,EAAM7kc,SAAyC,IAA/B6kc,EAAM7kc,OAAO+5c,cAG7B,OAAOlV,EAAM7kc,OAAO+5c,cAKxB,IAAIQ,EAAwB,EACxB/E,EAAc,KACdgF,EAAc1I,EAIlB,KAAuB,OAAhB0I,GAAsB,CAEzB,GADAhF,EAAciF,GAAkBD,GACZ,OAAhBhF,EAEA,OAAO+C,GAMX,GAFAgC,IACAC,EAAcA,EAAYxL,KACQ,IAA9BwG,EAAYuE,cAEZ,OAAQvE,EAAYuE,cACfQ,GAAyB,EAEtC,CACA,OAAOhC,EACX,CAQA,SAASmC,GAAmBX,EAAe3S,EAAOx9f,IA/HlD,SAAS+wgB,GAASZ,EAAe3S,EAAOx/e,GAEpC,IAAIzlB,EACgB,iBAATylB,EACPzlB,EAAKylB,EAAKq8B,WAAW,IAAM,EAEtBr8B,EAAK2kD,eAAeyzb,MACzB79f,EAAKylB,EAAKo4e,KAIJ,MAAN79f,IACAA,EAAKylB,EAAKo4e,IAAiB0Z,MAI/B,MAAMkB,EAAYz4gB,EAAKq3gB,GAQvBpS,EAAMrggB,KAAKgzgB,GAAiBa,GAAanB,MAJ5B,GAAKmB,CAKtB,CAuGID,CAASZ,EAAe3S,EAAOx9f,EACnC,CA2EA,SAASixgB,GAAqB5Z,EAAer3f,EAAO81G,GAChD,GAAKA,EAAQ4gZ,GAAYK,eAA+B34f,IAAlBi5f,EAClC,OAAOA,EAGPb,IAER,CAUA,SAAS0a,GAA+BhJ,EAAOlogB,EAAO81G,EAAOuhZ,GAKzD,GAJKvhZ,EAAQ4gZ,GAAYK,eAA+B34f,IAAlBi5f,IAElCA,EAAgB,QAEfvhZ,GAAS4gZ,GAAYG,KAAOH,GAAYE,OAAc,CACvD,MAAMua,EAAiBjJ,EAAMlD,IAIvBpC,EAA+B1L,QAAwB94f,GAC7D,IACI,OAAI+ygB,EACOA,EAAe14f,IAAIzY,EAAOq3f,EAAevhZ,EAAQ4gZ,GAAYK,UAG7DK,GAAmBp3f,EAAOq3f,EAAevhZ,EAAQ4gZ,GAAYK,SAE5E,SAEIG,GAAwB0L,EAC5B,CACJ,CACA,OAAOqO,GAAqB5Z,EAAer3f,EAAO81G,EACtD,CAiBA,SAASs7Z,GAAsBnW,EAAOiN,EAAOlogB,EAAO81G,EAAQ4gZ,GAAYC,QAASU,GAC7E,GAAc,OAAV4D,EAAgB,CAGhB,GAAmB,KAAfiN,EAAMxD,OAGJ5uZ,EAAQ4gZ,GAAYG,MAAO,CAC7B,MAAMwa,EAyWlB,SAASC,GAAiCrW,EAAOiN,EAAOlogB,EAAO81G,EAAOuhZ,GAClE,IAAI4S,EAAehP,EACfsW,EAAerJ,EAOnB,KAAwB,OAAjB+B,GAA0C,OAAjBsH,GACL,KAAtBA,EAAa7M,OACU,IAAtB6M,EAAa7M,MAAuC,CAKtD,MAAM8M,EAAoBC,GAA6BxH,EAAcsH,EAAcvxgB,EAAO81G,EAAQ4gZ,GAAYG,KAAMh1M,IACpH,GAAI2vN,IAAsB3vN,GACtB,OAAO2vN,EAGX,IAAI5F,GAAc3B,EAAa7zc,OAG/B,IAAKw1c,GAAa,CAEd,MAAM8F,GAAuBH,EAAa9L,IAC1C,GAAIiM,GAAsB,CACtB,MAAMC,GAA4BD,GAAqBj5f,IAAIzY,EAAO6hT,GAAW/rM,GAC7E,GAAI67Z,KAA8B9vN,GAC9B,OAAO8vN,EAEf,CAEA/F,GAAciF,GAAkBU,GAChCA,EAAeA,EAAanM,GAChC,CACA6E,EAAe2B,EACnB,CACA,OAAOvU,CACX,CAjZ0Cia,CAAiCrW,EAAOiN,EAAOlogB,EAAO81G,EAAO+rM,IAC3F,GAAIwvN,IAA0BxvN,GAC1B,OAAOwvN,CAEf,CAEA,MAAMh0gB,EAAQo0gB,GAA6BxW,EAAOiN,EAAOlogB,EAAO81G,EAAO+rM,IACvE,GAAIxkT,IAAUwkT,GACV,OAAOxkT,CAEf,CAEA,OAAO6zgB,GAA+BhJ,EAAOlogB,EAAO81G,EAAOuhZ,EAC/D,CAWA,SAASoa,GAA6BxW,EAAOiN,EAAOlogB,EAAO81G,EAAOuhZ,GAC9D,MAAM2Z,EAqOV,SAASY,GAAsB5xgB,GAE3B,GAAqB,iBAAVA,EACP,OAAOA,EAAMq6C,WAAW,IAAM,EAElC,MAAMw3d,EAEN7xgB,EAAM2iE,eAAeyzb,IAAiBp2f,EAAMo2f,SAAiBh4f,EAE7D,MAAuB,iBAAZyzgB,EACHA,GAAW,EACJA,EAAUjC,GAKVkC,GAIJD,CAEf,CA3PsBD,CAAsB5xgB,GAGxC,GAAyB,mBAAdgxgB,EAA0B,CACjC,IAAKrF,GAAQzD,EAAOjN,EAAOnlZ,GAGvB,OAAQA,EAAQ4gZ,GAAYE,KACxBqa,GAAqB5Z,EAAer3f,EAAO81G,GAC3Co7Z,GAA+BhJ,EAAOlogB,EAAO81G,EAAOuhZ,GAE5D,IACI,IAAIh6f,EAYJ,GAFIA,EAAQ2zgB,EAAUl7Z,GAET,MAATz4G,GAAmBy4G,EAAQ4gZ,GAAYK,SAIvC,OAAO15f,EAHPm5f,IAKR,SAEIgW,IACJ,CACJ,SAC8B,iBAAdwE,EAAwB,CAIpC,IAAIe,EAAgB,KAChB5B,EAAgBF,GAAiBhV,EAAOiN,GACxCiH,GAAiBR,GACjBqD,GAAmBl8Z,EAAQ4gZ,GAAYE,KAAOsR,EAAM7C,IAA4BT,IAAU,KAiB9F,MAdsB,IAAlBuL,GAAwBr6Z,EAAQ4gZ,GAAYI,YAC5CqY,IAAmC,IAAlBgB,EAAuBI,GAA0BtV,EAAOiN,GACrEA,EAAMiI,EAAgB,GACtBhB,KAAmBR,IAAuBsD,GAAmBn8Z,GAAO,IAIpEi8Z,EAAgB7J,EAAMzD,IACtB0L,EAAgBf,GAAuBD,IACvCjH,EAAQmH,GAAsBF,GAAgBjH,IAL9CiI,GAAgB,IAUC,IAAlBA,GAAsB,CAGzB,MAAM3S,GAAQ0K,EAAMzD,IAGpB,GAAIyN,GAAclB,EAAWb,EAAe3S,GAAMrggB,MAAO,CAIrD,MAAMk+c,GAAW82D,GAAuBhC,EAAejI,EAAOlogB,EAAO+xgB,EAAej8Z,EAAOk8Z,IAC3F,GAAI32D,KAAax5J,GACb,OAAOw5J,EAEf,CACA8zD,GAAiBjH,EAAMiI,EAAgB,GACnChB,KAAmBR,IACnBsD,GAAmBn8Z,EAAOoyZ,EAAMzD,IAAOtngB,KAAKgzgB,EAAgB,KAAsC6B,KAClGE,GAAclB,EAAWb,EAAejI,IAGxC6J,EAAgBvU,GAChB2S,EAAgBf,GAAuBD,IACvCjH,EAAQmH,GAAsBF,GAAgBjH,IAM9CiI,GAAgB,CAExB,CACJ,CACA,OAAO9Y,CACX,CACA,SAAS8a,GAAuBhC,EAAejI,EAAOlogB,EAAO+xgB,EAAej8Z,EAAOk8Z,GAC/E,MAAMI,EAAelK,EAAMzD,IACrBxJ,EAAQmX,EAAaj1gB,KAAKgzgB,EAAgB,GAsB1CkC,GAAgBC,GAA0BrX,EAAOmX,EAAcpygB,EAnBrB,MAAjB+xgB,EAQ1BxL,GAAgBtL,IAAUyU,GAO1BqC,GAAiBK,MAA+B,EAAbnX,EAAMj9e,MAGnB83F,EAAQ4gZ,GAAYE,MAASob,IAAqB/W,GAE7E,OAAsB,OAAlBoX,GACOE,GAAkBrK,EAAOkK,EAAcC,GAAepX,GAGtDp5M,EAEf,CAWA,SAASywN,GAA0BrX,EAAOuC,EAAOx9f,EAAOwygB,EAAwBC,GAC5E,MAAMC,EAAsBzX,EAAM0X,gBAC5BC,EAAepV,EAAMrggB,KACrB01gB,EAAyC,QAAtBH,EACnBI,GAAkB7X,EAAMmS,eAExB2F,GAAwBL,GAAuB,GAG/CM,GAAWP,EAAoBI,EAAmBE,GAJnC9X,EAAMoS,aAK3B,QAASv1e,GAHa06e,EAAyBK,EAAmBA,EAAmBE,GAGzDj7e,GAAIk7e,GAAUl7e,KAAK,CAC3C,MAAMm7e,GAAqBL,EAAa96e,IACxC,GAAIA,GAAIg7e,IAAmB9ygB,IAAUizgB,IACjCn7e,IAAKg7e,IAAmBG,GAAmBj1f,OAAShe,EACpD,OAAO83B,EAEf,CACA,GAAI26e,EAAmB,CACnB,MAAMS,GAASN,EAAaE,IAC5B,GAAII,IAAUxM,GAAewM,KAAWA,GAAOl1f,OAAShe,EACpD,OAAO8ygB,EAEf,CACA,OAAO,IACX,CAQA,SAASP,GAAkBrK,EAAO1K,EAAOp1e,EAAO6ye,GAC5C,IAAI59f,EAAQ6qgB,EAAM9/e,GAClB,MAAMkjf,EAAQ9N,EAAMrggB,KACpB,GAlqBJ,SAASg2gB,GAAUnie,GACf,OAAOA,aAAe49d,EAC1B,CAgqBQuE,CAAU91gB,GAAQ,CAClB,MAAMmT,EAAUnT,EACZmT,EAAQu+f,WAj5JpB,SAASqE,GAA2BpzgB,EAAO4G,GAEvC,MADgBA,GAA6BA,EAAK60C,KAAK,OACjD,IAAIy3c,IAAa,IAA4Hlzf,EACvJ,CA+4JYozgB,CAr7JZ,SAASC,GAAkBh2gB,GACvB,MAAqB,mBAAVA,EACAA,EAAME,MAAQF,EAAM6zC,WACV,iBAAV7zC,GAA+B,MAATA,GAAuC,mBAAfA,EAAM2gB,KACpD3gB,EAAM2gB,KAAKzgB,MAAQF,EAAM2gB,KAAKkzB,WAElCqld,GAAgBl5f,EAC3B,CA86JuCg2gB,CAAkB/H,EAAMljf,KAEvD,MAAMkrf,EAA+B3D,GAAwBn/f,EAAQw+f,qBACrEx+f,EAAQu+f,WAAY,EAWpB,MAAMnM,GAA+Bpyf,EAAQy+f,WAAa/X,GAAwB1mf,EAAQy+f,YAAc,KACxFtD,GAAQzD,EAAOjN,EAAOvE,GAAYC,SAGlD,IACIt5f,EAAQ6qgB,EAAM9/e,GAAS5X,EAAQA,aAAQpS,EAAWktgB,EAAOpD,EAAOjN,GAQ5DuC,EAAM0S,iBAAmB9nf,GAAS6ye,EAAMmS,gBA/gCxD,SAASmG,GAAsBC,EAAgBC,EAAcjW,GAEzD,MAAQ7yC,cAAa/uc,WAAU8uc,aAAc+oD,EAAaz1f,KAAK65B,UAC/D,GAAI8ya,EAAa,CACb,MAAM+oD,EAAmBvM,GAAuBsM,IAC/CjW,EAAMmW,gBAAkB,IAAI9he,KAAK2he,EAAgBE,IACjDlW,EAAMoW,qBAAuB,IAAI/he,KAAK2he,EAAgBE,EAC3D,CACI93f,IACC4hf,EAAMmW,gBAAkB,IAAI9he,KAAK,EAAI2he,EAAgB53f,GAEtD8uc,KACC8yC,EAAMmW,gBAAkB,IAAI9he,KAAK2he,EAAgB9oD,IACjD8yC,EAAMoW,qBAAuB,IAAI/he,KAAK2he,EAAgB9oD,GAE/D,CAkgCgB6oD,CAAsBnrf,EAAOkjf,EAAMljf,GAAQo1e,EAEnD,SAGqC,OAAjCoF,IACI1L,GAAwB0L,IAC5B+M,GAAwB2D,GACxB9igB,EAAQu+f,WAAY,EACpBvC,IACJ,CACJ,CACA,OAAOnvgB,CACX,CAoCA,SAAS60gB,GAAclB,EAAWb,EAAe0D,GAW7C,SAHcA,EAAa1D,GAAiBa,GAAanB,KAJ5C,GAAKmB,EAQtB,CAEA,SAASiB,GAAmBn8Z,EAAOg+Z,GAC/B,QAASh+Z,EAAQ4gZ,GAAYG,MAAW/gZ,EAAQ4gZ,GAAYE,MAAQkd,EACxE,CAOA,MAAMC,GACFvkgB,YAAYwkgB,EAAQC,GAChBlkgB,KAAKikgB,OAASA,EACdjkgB,KAAKkkgB,OAASA,CAClB,CACAx7f,IAAIzY,EAAOq3f,EAAevhZ,GACtB,OAAOs7Z,GAAsBrhgB,KAAKikgB,OAAQjkgB,KAAKkkgB,OAAQj0gB,EAAO+3f,GAAkBjiZ,GAAQuhZ,EAC5F,EAGJ,SAASya,KACL,OAAO,IAAIiC,GAAa/J,KAAmBN,KAC/C,CAIA,SAASwK,GAAsBl2f,GAC3B,OAAOo1e,GAAc,KACjB,MAAM+gB,EAAiBn2f,EAAK65B,UAAUroC,YAChC4kgB,EAAaD,EAAehe,KAAmBke,GAAaF,GAC5DG,EAAkBn1e,OAAO0Y,UAC/B,IAAIue,EAASj3B,OAAOmnD,eAAetoE,EAAK65B,WAAWroC,YAEnD,KAAO4mD,GAAUA,IAAWk+c,GAAiB,CACzC,MAAM9jgB,EAAU4lD,EAAO+/b,KAAmBke,GAAaj+c,GAMvD,GAAI5lD,GAAWA,IAAY4jgB,EACvB,OAAO5jgB,EAEX4lD,EAASj3B,OAAOmnD,eAAelwB,EACnC,CAKA,OAAQ93C,GAAM,IAAIA,CAAE,EAE5B,CACA,SAAS+1f,GAAar2f,GAClB,OAAI42e,GAAa52e,GACN,KACH,MAAMxN,EAAU6jgB,GAAa1f,GAAkB32e,IAC/C,OAAOxN,GAAWA,GAAQ,EAG3B8nf,GAAct6e,EACzB,CAqDA,SAAS6yf,GAAkB3I,GACvB,MAAM1K,EAAQ0K,EAAMzD,IACd8P,EAAY/W,EAAMx/e,KAExB,OAAkB,IAAdu2f,EAEO/W,EAAMkO,UAEM,IAAd6I,EAGErM,EAAMtD,IAEV,IACX,CAOA,SAAS4P,GAAkBC,GACvB,OAthBJ,SAASC,GAAoBzZ,EAAOwZ,GAGhC,GAAyB,UAArBA,EACA,OAAOxZ,EAAMnge,QAEjB,GAAyB,UAArB25e,EACA,OAAOxZ,EAAMr6d,OAEjB,MAAM1H,EAAQ+he,EAAM/he,MACpB,GAAIA,EAAO,CACP,MAAMy7e,EAAcz7e,EAAM/2B,OAC1B,IAAI21B,EAAI,EACR,KAAOA,EAAI68e,GAAa,CACpB,MAAMt3gB,EAAQ67B,EAAMpB,GAEpB,GAAIyie,GAA0Bl9f,GAC1B,MAEJ,GAAc,IAAVA,EAKAy6B,GAAQ,UAEc,iBAAVz6B,EAGZ,IADAy6B,IACOA,EAAI68e,GAAmC,iBAAbz7e,EAAMpB,IACnCA,QAGH,IAAIz6B,IAAUo3gB,EACf,OAAOv7e,EAAMpB,EAAI,GAGjBA,GAAQ,EAEhB,CACJ,CACA,OAAO,IACX,CA4eW48e,CAAoB1K,KAAmByK,EAClD,CAoKA,SAASG,GAAe/T,EAASzqc,EAAS,KAAMy+c,EAAsB,KAAMt3gB,GACxE,MAAMimd,EAAWsxD,GAAuCjU,EAASzqc,EAAQy+c,EAAqBt3gB,GAC9Fimd,SAAS4/C,8BACF5/C,CACX,CAMA,SAASsxD,GAAuCjU,EAASzqc,EAAS,KAAMy+c,EAAsB,KAAMt3gB,EAAM+3D,EAAS,IAAIK,KACnH,MAAMvtB,EAAY,CACdyse,GAAuB76B,GACvB8lB,GAAoBe,IAExBtjgB,SAAOA,IAA4B,iBAAZsjgB,OAAuBzigB,EAAY08C,GAAU+ld,IAC7D,IAAIiB,GAAW15d,EAAWguB,GAAUwrc,KAAmBrkgB,GAAQ,KAAM+3D,EAChF,CAEA,IAwBM81a,GAAQ,MAAd,MAAMA,SACOr7d,KAAKwnf,mBAAqBA,EAAoB,QAC9Cxnf,KAAKy3V,KAAwB,IAAI+xJ,EAAiB,CAC3D,aAAOh0d,CAAO5O,EAASy/B,GACnB,GAAI/0D,MAAMC,QAAQq1B,GACd,OAAOi+e,GAAe,CAAEr3gB,KAAM,IAAM64D,EAAQz/B,EAAS,IAEpD,CACD,MAAMp5B,EAAOo5B,EAAQp5B,MAAQ,GAC7B,OAAOq3gB,GAAe,CAAEr3gB,QAAQo5B,EAAQy/B,OAAQz/B,EAAQyR,UAAW7qC,EACvE,CACJ,QAESwS,KAAKszD,WAAQi/a,GAAmB,CACrCtif,MAAOore,EACP16d,WAAY,MACZF,QAASA,IAAM4ge,GAASioB,KACxB,QAKKtpf,KAAK8lf,mBAAoB,CAAmC,EACxE,OAvBKzqB,CAAQ,KA8Fd,SAAS2pC,GAAiBl2gB,GACtB,OAAOA,EAA0B,eACrC,CA2BA,MAAMm2gB,GACFxlgB,cAIIO,KAAKklgB,SAAWzwf,OACpB,CACAiqD,YAAY5vE,GACR,MAAMq2gB,EAAgBnlgB,KAAKolgB,mBAAmBt2gB,GAC9CkR,KAAKklgB,SAASp2gB,MAAM,QAASA,GACzBq2gB,GACAnlgB,KAAKklgB,SAASp2gB,MAAM,iBAAkBq2gB,EAE9C,CAEAC,mBAAmBt2gB,GACf,IAAI0wC,EAAI1wC,GAASk2gB,GAAiBl2gB,GAClC,KAAO0wC,GAAKwle,GAAiBxle,IACzBA,EAAIwle,GAAiBxle,GAEzB,OAAOA,GAAK,IAChB,EAQJ,MAAM6le,GAAqC,IAAIx/e,GAA4F,GAAI,CAC3IllB,WAAY,OACZF,QAASA,IACoBwwB,GAAOg0e,IACRvmc,YAAYznD,UAAK5oB,KAIjD,IAQMi3gB,GAAU,MAAhB,MAAMA,SAKOtlgB,KAAK8lf,kBAAoByf,EAAkB,QAK3CvlgB,KAAKumf,cAAiB9yC,GAAaA,CAAU,EACzD,OAXK6xD,CAAU,KAYhB,MAAME,WAA+BF,GACjC7lgB,YAAYykgB,GACR1zd,QACAxwC,KAAKkkgB,OAASA,CAClB,CACAj2V,UAAU9kH,GACN+vc,UAAoBl5f,KAAKkkgB,OAAQ/6c,GAC1B,IAzpEf,SAASs8c,GAAqBtN,EAAOgB,GACjC,GAAgC,OAA5BhB,EAAMxC,IACN,OACJ,MAAMjC,EAAeyE,EAAMxC,IAAkB9jgB,QAAQsngB,IAChC,IAAjBzF,GACAyE,EAAMxC,IAAkBtmd,OAAOqkd,EAAc,EAErD,CAkpEqB+R,CAAqBzlgB,KAAKkkgB,OAAQ/6c,EACnD,EAEJ,SAASo8c,KACL,OAAO,IAAIC,GAAuB7L,KACtC,CAgMA,SAAS+L,KACL,OAAOC,GAAiB1L,KAAmBN,KAC/C,CAQA,SAASgM,GAAiBza,EAAOiN,GAC7B,OAAO,IAAIj1C,GAAWk1C,GAAiBlN,EAAOiN,GAClD,CAeA,IACMj1C,GAAU,MAAhB,MAAMA,EACFzjd,YAAY4nB,GACRrnB,KAAKqnB,cAAgBA,CACzB,QAKSrnB,KAAK8lf,kBAAoB4f,EAAkB,EACvD,OATKxiD,CAAU,KAgBhB,SAAS0iD,GAAiBt4gB,GACtB,OAAOA,aAAiB41d,GAAa51d,EAAM+5B,cAAgB/5B,CAC/D,CAgDA,SAASu4gB,GAAelpf,GACpB,OAAQrvB,IACJ0f,WAAW2P,OAAItuB,EAAWf,EAAK,CAEvC,CAIA,MAAMw+B,GAtDN,MAAMg6e,WAAsBx/e,KACxB7mB,YAAYksG,GAAU,GAClBn7D,QACAxwC,KAAK+lgB,gBAAa13gB,EAClB2R,KAAKgmgB,UAAYr6Z,EAGb0oZ,OACAr0f,KAAK+lgB,WAAa90e,GAAOq0e,GAAY,CAAExsd,UAAU,UAAWzqD,EAEpE,CACA82B,KAAK73B,GACD,MAAMm0f,EAAe+Q,EAAoB,MACzC,IACIhid,MAAM7jC,KAAKrf,EACf,SAEIklgB,EAAoB/Q,EACxB,CACJ,CACAp1e,UAAUsvb,EAAgB7sc,EAAOq4B,GAC7B,IAAI8+e,EAAStqE,EACTuqE,EAAUp3gB,QAAgB,MAC1Bq3gB,EAAah/e,EACjB,GAAIw0a,GAA4C,iBAAnBA,EAA6B,CACtD,MAAM9xS,GAAW8xS,EACjBsqE,EAASp8W,GAASl9I,MAAMsK,KAAK4yI,IAC7Bq8W,EAAUr8W,GAAS/6J,OAAOmoB,KAAK4yI,IAC/Bs8W,EAAat8W,GAAS1iI,UAAUlQ,KAAK4yI,GACzC,CACI7pJ,KAAKgmgB,YACLE,EAAUL,GAAeK,GACrBD,IACAA,EAASJ,GAAeI,IAExBE,IACAA,EAAaN,GAAeM,KAGpC,MAAM9wP,EAAO7kO,MAAMnkC,UAAU,CAAEM,KAAMs5f,EAAQn3gB,MAAOo3gB,EAAS/+e,SAAUg/e,IACvE,OAAIxqE,aAA0Bpwb,OAC1Bowb,EAAe5vb,IAAIspQ,GAEhBA,CACX,GAYJ,SAAS+wP,KAEL,OAAOpmgB,KAAKqmgB,SAAS7yQ,OAAOijB,WAChC,CA2BA,MAAM7qP,GAKF,WAAIc,GACA,OAAO1sB,KAAKsmgB,WAAa,IAAIx6e,EACjC,CAMArsB,YAAY8mgB,GAA2B,GACnCvmgB,KAAKumgB,yBAA2BA,EAChCvmgB,KAAKinE,OAAQ,EACbjnE,KAAKwmgB,cAAWn4gB,EAChB2R,KAAKqmgB,SAAW,GAChBrmgB,KAAKymgB,kBAAmB,EACxBzmgB,KAAKsmgB,cAAWj4gB,EAChB2R,KAAK5N,OAAS,EACd4N,KAAK0uB,WAAQrgC,EACb2R,KAAK09I,UAAOrvJ,EAKZ,MAAM6pF,EAAQtsD,GAAUkc,UACnBowC,EAAMs7K,OAAOijB,YACdv+L,EAAMs7K,OAAOijB,UAAY2vP,GACjC,CAIA19f,IAAI2P,GACA,OAAOrY,KAAKqmgB,SAAShuf,EACzB,CAKAxqB,IAAI8uB,GACA,OAAO3c,KAAKqmgB,SAASx4gB,IAAI8uB,EAC7B,CACAjvB,OAAOivB,GACH,OAAO3c,KAAKqmgB,SAAS34gB,OAAOivB,EAChC,CAKAxnB,KAAKwnB,GACD,OAAO3c,KAAKqmgB,SAASlxgB,KAAKwnB,EAC9B,CAKAwnB,OAAOxnB,EAAIq0B,GACP,OAAOhxC,KAAKqmgB,SAASlie,OAAOxnB,EAAIq0B,EACpC,CAKA5lB,QAAQzO,GACJ3c,KAAKqmgB,SAASj7e,QAAQzO,EAC1B,CAKAnrB,KAAKmrB,GACD,OAAO3c,KAAKqmgB,SAAS70gB,KAAKmrB,EAC9B,CAIAuQ,UACI,OAAOltB,KAAKqmgB,SAASzke,OACzB,CACAT,WACI,OAAOnhC,KAAKqmgB,SAASlle,UACzB,CAaAr+C,MAAM4jhB,EAAaC,GACf3mgB,KAAKinE,OAAQ,EACb,MAAM2/b,EAngLd,SAAS9mL,GAAQ10V,GACb,OAAOA,EAAKy7gB,KAAKrmd,OAAOsmd,kBAC5B,CAigL8BhnL,CAAQ4mL,IAC1B1mgB,KAAKymgB,kBAvhLjB,SAASM,GAAYvugB,EAAG2hE,EAAGwsc,GACvB,GAAInugB,EAAEpG,SAAW+nE,EAAE/nE,OACf,OAAO,EACX,QAAS21B,EAAI,EAAGA,EAAIvvB,EAAEpG,OAAQ21B,IAAK,CAC/B,IAAIi/e,EAASxugB,EAAEuvB,GACXk/e,EAAS9sc,EAAEpyC,GAKf,GAJI4+e,IACAK,EAASL,EAAiBK,GAC1BC,EAASN,EAAiBM,IAE1BA,IAAWD,EACX,OAAO,CAEf,CACA,OAAO,CACX,CAwgLqCD,CAAY/mgB,KAAKqmgB,SAAUO,EAAeD,MACnE3mgB,KAAKqmgB,SAAWO,EAChB5mgB,KAAK5N,OAASw0gB,EAAcx0gB,OAC5B4N,KAAK09I,KAAOkpX,EAAc5mgB,KAAK5N,OAAS,GACxC4N,KAAK0uB,MAAQk4e,EAAc,GAEnC,CAIA32e,uBAC0B5hC,IAAlB2R,KAAKsmgB,WAA2BtmgB,KAAKymgB,mBAAqBzmgB,KAAKumgB,2BAC/DvmgB,KAAKsmgB,SAASnhf,KAAKnlB,KAC3B,CAEAkngB,QAAQj4d,GACJjvC,KAAKwmgB,SAAWv3d,CACpB,CAEAk4d,WACInngB,KAAKinE,OAAQ,EACbjnE,KAAKwmgB,YACT,CAEA/4e,eAC0Bp/B,IAAlB2R,KAAKsmgB,WACLtmgB,KAAKsmgB,SAASn/e,WACdnnB,KAAKsmgB,SAASn4f,cAEtB,EAwCJ,SAASi5f,GAA4Blc,GACjC,QAAqE,KAA7DA,EAAMnlZ,MAClB,CAqBA,MAAMsha,GAAiB,IAAIpke,IAE3B,IAAIqke,GAAkB,EAiMtB,MAAMC,GAAwB,gBAK9B,SAASC,GAAgB1+c,EAAQ17D,GAKzBipgB,GAAQjpgB,IACR07D,EAAOy+c,IAAyBn6gB,EAAK6pY,IAtM7C,SAASwwI,GAActP,GAEnBkP,GAAenke,IAAIi1d,EAAMlhI,IAAKkhI,EAClC,CAoMQsP,CAAcr6gB,IAGd07D,EAAOy+c,IAAyBn6gB,CAExC,CAiLA,SAASs6gB,GAAmBvP,GACxB,OAAOwP,GAAqBxP,EAAMhD,IACtC,CAIA,SAASyS,GAAkBj1d,GACvB,OAAOg1d,GAAqBh1d,EAAUiid,IAC1C,CACA,SAAS+S,GAAqBE,GAC1B,KAA2B,OAApBA,IAA6BvR,GAAauR,IAC7CA,EAAkBA,EAAgBjT,IAEtC,OAAOiT,CACX,CA4aA,IAAIp/e,GAQJ,SAASusR,GAAY/nS,GACjBwb,GAAWxb,CACf,CAOA,SAASm+E,KACL,QAAiB/8F,IAAbo6B,GACA,OAAOA,GAEN,UAAWxb,SAAa,IACzB,OAAOA,SAEX,MAAM,IAAIk2e,GAAa,KAAkF72U,EAO7G,CAgCA,MAAMwlS,GAAS,IAAIjsb,GAAqC,GAAI,CACxDllB,WAAY,OACZF,QAASA,IAAMqngB,KAGbA,GAAiB,KAKjBC,GAAuB,IAAIlif,GAAoD,IAK/Ek8H,GAAc,IAAIl8H,GAA2C,GAAI,CACnEllB,WAAY,WACZF,QAASA,IAAM,YAiBb85L,GAAwB,IAAI10K,GAAmD,IAS/E+tT,GAAY,IAAI/tT,GAAyC,GAAI,CAC/DllB,WAAY,OACZF,QAASA,IAkBE2qF,KAAc5hG,MAAM+tE,cAAc,iBAAiB+uF,aAAa,eAAiB,OAwMhG,IAAI0hX,GAA6BA,IAAM,KAoFvC,SAASC,GAAsBC,EAAOz0D,EAAUmjD,GAAa,GACzD,OAAOoR,GAA2BE,EAAOz0D,EAAUmjD,EACvD,CA0LA,MAQMuR,GAAwB,IAAItif,GAA6F,GAAI,CAC/HllB,WAAY,OACZF,QAASA,KAPyB,IA4BtC,IAAI2ngB,GA2HAhzQ,GAtHJ,SAASizQ,KACL,QAAiBh6gB,IAAb+5gB,KACAA,GAAW,KACPx4X,GAAQk+M,cACR,IACIs6K,GAAWx4X,GAAQk+M,aAAaC,aAAa,UAAW,CACpDnB,WAAat6V,GAAMA,EACnB06V,aAAe16V,GAAMA,EACrBw6V,gBAAkBx6V,GAAMA,GAEhC,OAKI,CAIZ,OAAO81gB,EACX,CAUA,SAASE,GAAsBnqf,GAC3B,OAAOkqf,MAAez7K,WAAWzuU,IAASA,CAC9C,CA2FA,SAASoqf,KACL,QAAel6gB,IAAX+mQ,KACAA,GAAS,KACLxlH,GAAQk+M,cACR,IACI14F,GAASxlH,GAAQk+M,aACZC,aAAa,wBAAyB,CACvCnB,WAAat6V,GAAMA,EACnB06V,aAAe16V,GAAMA,EACrBw6V,gBAAkBx6V,GAAMA,GAEhC,OAKI,CAIZ,OAAO8iQ,EACX,CASA,SAASozQ,GAA4Brqf,GACjC,OAAOoqf,MAAa37K,WAAWzuU,IAASA,CAC5C,CAoBA,SAASsqf,GAAiC7te,GACtC,OAAO2te,MAAaz7K,gBAAgBlyT,IAAQA,CAChD,CAEA,MAAM8te,GACFjpgB,YAAYkpgB,GACR3ogB,KAAK2ogB,sCAAwCA,CACjD,CACAxne,WACI,MAAO,0CAA0CnhC,KAAK2ogB,8CACzCzlB,KACjB,EAEJ,MAAM0lB,WAAqBF,GACvBG,cACI,MAAO,MACX,EAEJ,MAAMC,WAAsBJ,GACxBG,cACI,MAAO,OACX,EAEJ,MAAME,WAAuBL,GACzBG,cACI,MAAO,QACX,EAEJ,MAAMG,WAAoBN,GACtBG,cACI,MAAO,KACX,EAEJ,MAAMI,WAA4BP,GAC9BG,cACI,MAAO,aACX,EAEJ,SAASK,GAAgB57gB,GACrB,OAAOA,aAAiBo7gB,GAAgBp7gB,EAAMq7gB,sCAC1Cr7gB,CACR,CACA,SAAS67gB,GAAgC77gB,EAAO2gB,GAC5C,MAAMm7f,EASV,SAASC,GAA0B/7gB,GAC/B,OAAOA,aAAiBo7gB,IAAiBp7gB,EAAMu7gB,eAAiB,IACpE,CAXuBQ,CAA0B/7gB,GAC7C,GAAkB,MAAd87gB,GAAsBA,IAAen7f,EAAM,CAE3C,GAAmB,gBAAfm7f,GAAsE,QAATn7f,EAC7D,OAAO,EACX,MAAM,IAAI45B,MAAM,mBAAmB55B,YAAem7f,UAAmBlmB,MACzE,CACA,OAAOkmB,IAAen7f,CAC1B,CAaA,SAASq7f,GAA4BC,GACjC,OAAO,IAAIX,GAAaW,EAC5B,CAUA,SAASC,GAA6BC,GAClC,OAAO,IAAIX,GAAcW,EAC7B,CAUA,SAASC,GAA8BC,GACnC,OAAO,IAAIZ,GAAeY,EAC9B,CAUA,SAASC,GAA2BC,GAChC,OAAO,IAAIb,GAAYa,EAC3B,CAUA,SAASC,GAAmCC,GACxC,OAAO,IAAId,GAAoBc,EACnC,CASA,SAASC,GAAmBC,GACxB,MAAMC,EAAsB,IAAIC,GAAoBF,GACpD,OAwDJ,SAASG,KACL,IACI,SAAS,IAAIx1f,OAAOy1f,WAAY71J,gBAAgB8zJ,GAAsB,IAAK,YAC/E,OAEI,OAAO,CACX,CACJ,CA/DW8B,GAAyB,IAAIE,GAAgBJ,GAAuBA,CAC/E,CAKA,MAAMI,GACF7qgB,YAAYyqgB,GACRlqgB,KAAKkqgB,oBAAsBA,CAC/B,CACAK,oBAAoBpsf,GAKhBA,EAAO,0BAA4BA,EACnC,IACI,MAAM30B,GAAO,IAAIorB,OAAOy1f,WACnB71J,gBAAgB8zJ,GAAsBnqf,GAAO,aAC7C30B,KACL,OAAa,OAATA,EAIOwW,KAAKkqgB,oBAAoBK,oBAAoBpsf,IAExD30B,EAAKu/D,YAAYv/D,EAAKgrB,YACfhrB,EACX,OAEI,OAAO,IACX,CACJ,EAMJ,MAAM2ghB,GACF1qgB,YAAYwqgB,GACRjqgB,KAAKiqgB,WAAaA,EAClBjqgB,KAAKwqgB,cAAgBxqgB,KAAKiqgB,WAAWQ,eAAeC,mBAAmB,qBAC3E,CACAH,oBAAoBpsf,GAChB,MAAMwsf,EAAa3qgB,KAAKwqgB,cAAcr2d,cAAc,YACpDw2d,SAAW9jN,UAAYyhN,GAAsBnqf,GACtCwsf,CACX,EA6CJ,MAAM3+J,GAAmB,4DACzB,SAAS4+J,GAAahwe,GAElB,OADAA,EAAM4Q,OAAO5Q,IACL6iC,MAAMuuS,IACHpxU,EAIJ,UAAYA,CACvB,CAEA,SAASiwe,GAAO71a,GACZ,MAAMv5E,EAAM,CAAC,EACb,UAAWlN,KAAKymF,EAAK7pE,MAAM,KACvB1P,EAAIlN,IAAK,EACb,OAAOkN,CACX,CACA,SAAS7N,MAASk9f,GACd,MAAMrvf,EAAM,CAAC,EACb,UAAWnpB,KAAKw4gB,EACZ,UAAW/4e,KAAKz/B,EACRA,EAAEsgE,eAAe7gC,KACjBtW,EAAIsW,IAAK,GAGrB,OAAOtW,CACX,CAMA,MAAMsvf,GAAgBF,GAAO,0BAGvBG,GAAkCH,GAAO,kDACzCI,GAAmCJ,GAAO,SAU1CK,GAAiBt9f,GAAMm9f,GAPNn9f,GAAMo9f,GAAiCH,GAAO,oMAI7Cj9f,GAAMq9f,GAAkCJ,GAAO,+LANrCj9f,GAAMq9f,GAAkCD,KAWpEG,GAAYN,GAAO,gEAoBnBO,GAAcx9f,GAAMu9f,GAnBPN,GAAO,wdAMPA,GAAO,6qBAmBpBQ,GAA8CR,GAAO,yBAK3D,MAAMS,GACF7rgB,cAGIO,KAAKurgB,oBAAqB,EAC1BvrgB,KAAKioN,IAAM,EACf,CACAujT,iBAAiBtye,GAIb,IAAIopH,EAAUppH,EAAG1kB,WACbi3f,GAAkB,EAClBC,EAAc,GAClB,KAAOppX,GAWH,GAVIA,EAAQwF,WAAaI,KAAKC,aAC1BsjX,EAAkBzrgB,KAAK2rgB,aAAarpX,GAE/BA,EAAQwF,WAAaI,KAAKG,UAC/BroJ,KAAK4gG,MAAM0hD,EAAQiuI,WAInBvwR,KAAKurgB,oBAAqB,EAE1BE,GAAmBnpX,EAAQ9tI,WAE3Bk3f,EAAY5pe,KAAKwgH,GACjBA,EAAUspX,GAActpX,QAG5B,KAAOA,GAAS,CAGRA,EAAQwF,WAAaI,KAAKC,cAC1BnoJ,KAAK6rgB,WAAWvpX,GAEpB,IAAI31I,EAAOm/f,GAAexpX,GAC1B,GAAI31I,EAAM,CACN21I,EAAU31I,EACV,KACJ,CAEA21I,EAAUopX,EAAYriR,KAC1B,CAEJ,OAAOrpP,KAAKioN,IAAIv8K,KAAK,GACzB,CASAige,aAAa77e,GACT,MAAM64H,EAAUojX,GAAYj8e,GAASxlC,cACrC,IAAK4ghB,GAAet4c,eAAe+1F,GAC/B,OAAA3oJ,KAAKurgB,oBAAqB,GAClBF,GAA4Cz4c,eAAe+1F,GAEvE3oJ,KAAKioN,IAAInmL,KAAK,KACd9hC,KAAKioN,IAAInmL,KAAK6mH,GACd,MAAMqjX,EAAUl8e,EAAQs8H,WACxB,QAASrkI,EAAI,EAAGA,EAAIikf,EAAQ55gB,OAAQ21B,IAAK,CACrC,MAAMkkf,EAASD,EAAQzzf,KAAKwP,GACtBkgS,EAAWgkN,EAAOz+gB,KAClBm1Z,EAAQ16F,EAAS39T,cACvB,IAAK8ghB,GAAYx4c,eAAe+vV,GAAQ,CACpC3iZ,KAAKurgB,oBAAqB,EAC1B,QACJ,CACA,IAAIj+gB,GAAQ2+gB,EAAO3+gB,MAEf69gB,GAAUxoH,KACVr1Z,GAAQs9gB,GAAat9gB,KACzB0S,KAAKioN,IAAInmL,KAAK,IAAKmmR,EAAU,KAAMikN,GAAe5+gB,IAAQ,IAC9D,CACA,OAAA0S,KAAKioN,IAAInmL,KAAK,MACP,CACX,CACA+pe,WAAWvpX,GACP,MAAMqG,EAAUojX,GAAYzpX,GAASh4J,cACjC4ghB,GAAet4c,eAAe+1F,KAAaoiX,GAAcn4c,eAAe+1F,KACxE3oJ,KAAKioN,IAAInmL,KAAK,MACd9hC,KAAKioN,IAAInmL,KAAK6mH,GACd3oJ,KAAKioN,IAAInmL,KAAK,KAEtB,CACA8+D,MAAMA,GACF5gG,KAAKioN,IAAInmL,KAAKoqe,GAAetra,GACjC,EAeJ,SAASkra,GAAe3kX,GACpB,MAAM8wC,EAAc9wC,EAAK8wC,YAIzB,GAAIA,GAAe9wC,IAAS8wC,EAAYnsC,gBACpC,MAAMqgX,GAAsBl0U,GAEhC,OAAOA,CACX,CAKA,SAAS2zU,GAAczkX,GACnB,MAAM3yI,EAAa2yI,EAAK3yI,WACxB,GAAIA,GAxBR,SAAS43f,GAAmBzjd,EAAYs+P,GACpC,OAAQt+P,EAAW0jd,wBAAwBplN,GAAa/+J,KAAKokX,kCACzDpkX,KAAKokX,8BACb,CAqBsBF,CAAmBjlX,EAAM3yI,GACvC,MAAM23f,GAAsB33f,GAEhC,OAAOA,CACX,CAEA,SAASu3f,GAAY5kX,GACjB,MAAMyB,EAAWzB,EAAKyB,SAEtB,MAA4B,iBAAbA,EAAyBA,EAAW,MACvD,CACA,SAASujX,GAAsBhlX,GAC3B,OAAO,IAAIt/G,MAAM,6DAA6Ds/G,EAAK6rN,YACvF,CAEA,MAAMu5J,GAAwB,kCAExBC,GAA0B,gBAOhC,SAASN,GAAe5+gB,GACpB,OAAOA,EAAM+gB,QAAQ,KAAM,SACtBA,QAAQk+f,GAAuB,SAAU9uc,GAG1C,MAAO,MAAyB,MAFrBA,EAAMnzB,WAAW,GAEN,QADVmzB,EAAMnzB,WAAW,GACmB,OAAU,OAAW,GACzE,GACKj8B,QAAQm+f,GAAyB,SAAU/uc,GAC5C,MAAO,KAAOA,EAAMnzB,WAAW,GAAK,GACxC,GACKj8B,QAAQ,KAAM,QACdA,QAAQ,KAAM,OACvB,CACA,IAAIo+f,GAKJ,SAASC,GAAczC,EAAY0C,GAC/B,IAAIC,EAAmB,KACvB,IACIH,GAAkBA,IAAmBzC,GAAmBC,GAExD,IAAI4C,EAAaF,EAAkBnhe,OAAOmhe,GAAmB,GAC7DC,EAAmBH,GAAgBlC,oBAAoBsC,GAGvD,IAAIC,EAAe,EACfC,EAAaF,EACjB,EAAG,CACC,GAAqB,IAAjBC,EACA,MAAM,IAAIjle,MAAM,yDAEpBile,IACAD,EAAaE,EACbA,EAAaH,EAAiB/lN,UAC9B+lN,EAAmBH,GAAgBlC,oBAAoBsC,EAC3D,OAASA,IAAeE,GAMxB,OAAOzE,IALW,IAAIgD,IACKE,iBAAiBwB,GAAmBJ,IAAqBA,GAKxF,SAGI,GAAIA,EAAkB,CAClB,MAAMvmd,EAAS2md,GAAmBJ,IAAqBA,EACvD,KAAOvmd,EAAO7xC,YACV6xC,EAAO0C,YAAY1C,EAAO7xC,WAElC,CACJ,CACJ,CACA,SAASw4f,GAAmB9ze,GACxB,MAAO,YAAaA,GAIxB,SAAS+ze,GAAkB/ze,GACvB,OAAOA,EAAG4uH,WAAaI,KAAKC,cAAgC,aAAhBjvH,EAAG0vH,QACnD,CANgEqkX,CAAkB/ze,GAC1EA,EAAGqe,QACH,IACR,CAcA,IAAI21d,GACH,SAAUA,GACPA,SAAgBA,EAAgB7ke,KAAU,GAAK,OAC/C6ke,EAAgBA,EAAgB/wK,KAAU,GAAK,OAC/C+wK,EAAgBA,EAAgBpuK,MAAW,GAAK,QAChDouK,EAAgBA,EAAgB5uK,OAAY,GAAK,SACjD4uK,EAAgBA,EAAgBx7d,IAAS,GAAK,MAC9Cw7d,EAAgBA,EAAgBC,aAAkB,GAAK,eANhDD,CAOX,CAPC,CAOEA,IAAsC,CAAC,GAiB1C,SAASE,GAAeP,GACpB,MAAMxwf,EAAYgxf,KAClB,OAAIhxf,EACOmsf,GAA4Bnsf,EAAUiC,SAAS4uf,GAAgB/wK,KAAM0wK,IAAe,IAE3F1D,GAAgC0D,EAAY,QACrCrE,GAA4BU,GAAgB2D,IAEhDH,GAActhb,KAAeo7Z,GAAgBqmB,GACxD,CAsCA,SAASS,GAAcC,GACnB,MAAMlxf,EAAYgxf,KAClB,OAAIhxf,EACOA,EAAUiC,SAAS4uf,GAAgBx7d,IAAK67d,IAAc,GAE7DpE,GAAgCoE,EAAW,OACpCrE,GAAgBqE,GAEpB3C,GAAapkB,GAAgB+mB,GACxC,CAYA,SAASC,GAAsBC,GAC3B,MAAMpxf,EAAYgxf,KAClB,GAAIhxf,EACA,OAAOosf,GAAiCpsf,EAAUiC,SAAS4uf,GAAgBC,aAAcM,IAAsB,IAEnH,GAAItE,GAAgCsE,EAAmB,eACnD,OAAOhF,GAAiCS,GAAgBuE,IAE5D,MAAM,IAAItqB,GAAa,KAAyD72U,EACpF,CA6DA,SAASohW,GAA2B9ye,GAUhC,OA5yBJ,SAAS+ye,GAA2B/ye,GAChC,OAAOyte,MAAev7K,gBAAgBlyT,IAAQA,CAClD,CA0yBW+ye,CAA2B/ye,EAAI,GAC1C,CAgCA,SAASgze,GAA2BL,EAAWzkX,EAAK9xE,GAChD,OAzBJ,SAAS62b,GAAgB/kX,EAAK9xE,GAC1B,MAAc,QAATA,IACQ,UAAR8xE,GAA2B,UAARA,GAA2B,WAARA,GAA4B,UAARA,GAC/C,WAARA,IACM,SAAT9xE,IAA4B,SAAR8xE,GAA0B,SAARA,GAChC0kX,GAEJF,EACX,CAiBWO,CAAgB/kX,EAAK9xE,EAArB62b,CAA2BN,EACtC,CAiBA,SAASF,KACL,MAAMlV,EAAQwB,KACd,OAAOxB,GAASA,EAAMx7f,IAAa0f,SACvC,CAOA,MAAMyxf,GAAqB,6BAIrBC,GAAoB,SACpBC,GAA4B,iBAgVlC,SAASC,GAAgBn+e,GACrB,OAAOA,EAAQs+H,cAAcE,WACjC,CAKA,SAAS4/W,GAAkBp+e,GACvB,OAAOA,EAAQs+H,aACnB,CA0BA,SAAS+/W,GAAc7ghB,GACnB,OAAIA,aAAiB6pF,SACV7pF,IAGAA,CAEf,CAwHA,IAAImhf,GACH,SAAUA,GAOPA,SAAoBA,EAAoB2/B,UAAe,GAAK,YAI5D3/B,EAAoBA,EAAoBC,SAAc,GAAK,WAXpDD,CAYX,CAZC,CAYEA,IAA8C,CAAC,GAElD,IAAI4/B,GAIJ,SAASC,GAAoBC,EAAmBpW,GAC5C,OAAOkW,GAAqBE,EAAmBpW,EACnD,CAmBA,SAASqW,GAA0BhjhB,EAAQ2tM,EAAU9yI,EAAQood,EAAeC,GAKxE,GAAqB,MAAjBD,EAAuB,CACvB,IAAIE,EACAC,GAAc,EAIdtY,GAAamY,GACbE,EAAaF,EAERpY,GAAQoY,KACbG,GAAc,EAEdH,EAAgBA,EAAcha,KAElC,MAAMyT,EAAQjQ,GAAYwW,GACX,IAAXjjhB,GAA4D,OAAX66D,EAC/B,MAAdqod,EACAG,GAAkB11U,EAAU9yI,EAAQ6hd,GAGpC4G,GAAmB31U,EAAU9yI,EAAQ6hd,EAAOwG,GAAc,MAAM,GAGpD,IAAXljhB,GAA4D,OAAX66D,EACtDyod,GAAmB31U,EAAU9yI,EAAQ6hd,EAAOwG,GAAc,MAAM,GAEhD,IAAXljhB,EACLujhB,GAAiB51U,EAAU+uU,EAAO0G,GAElB,IAAXpjhB,GAEL2tM,EAAS/B,YAAY8wU,GAEP,MAAdyG,GAsxBZ,SAASK,GAAe71U,EAAU3tM,EAAQmjhB,EAAYM,EAAgBP,GAElE,MAAMzzN,EAAS0zN,EAAW3Y,IAQtB/6M,IAPWg9M,GAAY0W,IAYvBH,GAA0BhjhB,EAAQ2tM,EAAU81U,EAAgBh0N,EAAQyzN,GAExE,QAAS3mf,EAAImue,GAAyBnue,EAAI4mf,EAAWv8gB,OAAQ21B,IAAK,CAC9D,MAAMowe,GAAQwW,EAAW5mf,GACzBmnf,GAAU/W,GAAMzD,IAAQyD,GAAOh/T,EAAU3tM,EAAQyjhB,EAAgBh0N,EACrE,CACJ,CA1yBY+zN,CAAe71U,EAAU3tM,EAAQmjhB,EAAYtod,EAAQqod,EAE7D,CACJ,CACA,SAASj0P,GAAethF,EAAU7rM,GAG9B,OAAO6rM,EAAS3B,WAAWlqM,EAC/B,CACA,SAAS6hhB,GAAeh2U,EAAU+uU,EAAO56gB,GAErC6rM,EAAShtL,SAAS+7f,EAAO56gB,EAC7B,CACA,SAAS8hhB,GAAkBj2U,EAAU7rM,GAEjC,OAAO6rM,EAAS5B,cApjBpB,SAAS83U,GAAkB/hhB,GACvB,OAAOA,EAAM+gB,QAAQy/f,GAAqBn3d,GAASA,EAAKtoC,QAAQ0/f,GAAmBC,IACvF,CAkjBkCqB,CAAkB/hhB,GACpD,CAQA,SAASgihB,GAAkBn2U,EAAU3rM,EAAM8pM,GAEvC,OAAO6B,EAAShlJ,cAAc3mD,EAAM8pM,EACxC,CAyCA,SAASi4U,GAAkB9hB,EAAO0K,GAI9BA,EAAMx7f,IAAao8f,0BAA0BrlW,OAAO,GACpDw7W,GAAUzhB,EAAO0K,EAAOA,EAAMjD,IAAW,EAAoC,KAAM,KACvF,CA4HA,SAASsa,GAAgBC,EAAsBtX,GAI3C,MAAMuX,EAAaD,EAAqBxZ,IAClC0Z,EAAuBD,EAAW79gB,QAAQsmgB,GAEhDuX,EAAWrge,OAAOsge,EAAsB,EAC5C,CAWA,SAASl0C,GAAWkzC,EAAYiB,GAC5B,GAAIjB,EAAWv8gB,QAAU8jgB,GACrB,OACJ,MAAM2Z,EAAmB3Z,GAA0B0Z,EAC7CE,EAAenB,EAAWkB,GAChC,GAAIC,EAAc,CACd,MAAMC,EAAwBD,EAAava,IACb,OAA1Bwa,GAAkCA,IAA0BpB,GAC5Da,GAAgBO,EAAuBD,GAEvCF,EAAc,IACdjB,EAAWkB,EAAmB,GAAGjb,IAAQkb,EAAalb,KAE1D,MAAMob,EAAernB,GAAgBgmB,EAAYzY,GAA0B0Z,IAhMnF,SAASK,GAAkBxiB,EAAO0K,GAC9BoX,GAAkB9hB,EAAO0K,GACzBA,EAAM1D,IAAQ,KACd0D,EAAMtD,IAAU,IACpB,CA6LQob,CAAkBH,EAAapb,IAAQob,GAEvC,MAAMI,EAAWF,EAAava,IACb,OAAbya,GACAA,EAASz0C,WAAWu0C,EAAatb,KAErCob,EAAap2N,IAAU,KACvBo2N,EAAalb,IAAQ,KAErBkb,EAAanb,MAAU,GAC3B,CACA,OAAOmb,CACX,CAQA,SAASK,GAAa1iB,EAAO0K,GACzB,KAAqB,IAAfA,EAAMxD,KAA0C,CAClD,MAAMx7T,EAAWg/T,EAAMjD,IACnB/7T,EAAS/B,aACT83U,GAAUzhB,EAAO0K,EAAOh/T,EAAU,EAAqC,KAAM,MAvKzF,SAASi3U,GAAgBC,GAErB,IAAIC,EAAoBD,EAASlb,IACjC,IAAKmb,EACD,OAAOC,GAAYF,EAAS3b,IAAQ2b,GAExC,KAAOC,GAAmB,CACtB,IAAI3jgB,EAAO,KACX,GAAI0pf,GAAQia,GAER3jgB,EAAO2jgB,EAAkBnb,QAExB,CAGD,MAAMxtL,EAAY2oM,EAAkBpa,IAChCvuL,IACAh7T,EAAOg7T,EACf,CACA,IAAKh7T,EAAM,CAGP,KAAO2jgB,IAAsBA,EAAkB1b,KAAS0b,IAAsBD,GACtEha,GAAQia,IACRC,GAAYD,EAAkB5b,IAAQ4b,GAE1CA,EAAoBA,EAAkB52N,IAEhB,OAAtB42N,IACAA,EAAoBD,GACpBha,GAAQia,IACRC,GAAYD,EAAkB5b,IAAQ4b,GAE1C3jgB,EAAO2jgB,GAAqBA,EAAkB1b,GAClD,CACA0b,EAAoB3jgB,CACxB,CACJ,CAoIQyjgB,CAAgBjY,EACpB,CACJ,CASA,SAASoY,GAAY9iB,EAAO0K,GACxB,GAAmB,IAAfA,EAAMxD,IACN,OAEJ,MAAMlT,EAAe+Q,EAAoB,MACzC,IAGI2F,EAAMxD,MAAU,IAMhBwD,EAAMxD,KAAU,IAChBwD,EAAMtC,KAA+B2a,GAAkBrY,EAAMtC,KAyErE,SAAS4a,GAAkBhjB,EAAO0K,GAE9B,IAAI2F,EACJ,GAAa,MAATrQ,GAAwD,OAAtCqQ,EAAerQ,EAAMqQ,cACvC,QAAS/1e,EAAI,EAAGA,EAAI+1e,EAAa1rgB,OAAQ21B,GAAK,EAAG,CAC7C,MAAM4mF,EAAUwpZ,EAAM2F,EAAa/1e,IAEnC,KAAM4mF,aAAmBkwZ,IAAsB,CAC3C,MAAM6R,EAAS5S,EAAa/1e,EAAI,GAChC,GAAIz2B,MAAMC,QAAQm/gB,GACd,QAAS30b,EAAI,EAAGA,EAAI20b,EAAOt+gB,OAAQ2pF,GAAK,EAAG,CACvC,MAAM40b,EAAchia,EAAQ+ha,EAAO30b,IAC7Bm3B,GAAOw9Z,EAAO30b,EAAI,GACxB87a,GAAS,EAA0C8Y,EAAaz9Z,IAChE,IACIA,GAAKxqD,KAAKiod,EACd,SAEI9Y,GAAS,EAAwC8Y,EAAaz9Z,GAClE,CACJ,KAEC,CACD2kZ,GAAS,EAA0ClpZ,EAAS+ha,GAC5D,IACIA,EAAOhod,KAAKimD,EAChB,SAEIkpZ,GAAS,EAAwClpZ,EAAS+ha,EAC9D,CACJ,CACJ,CACJ,CAER,CA1GQD,CAAkBhjB,EAAO0K,GA4BjC,SAASyY,GAAgBnjB,EAAO0K,GAE5B,MAAM0Y,EAAWpjB,EAAMjqP,QACjBstQ,EAAW3Y,EAAMpD,IACvB,GAAiB,OAAb8b,EACA,QAAS9of,EAAI,EAAGA,EAAI8of,EAASz+gB,OAAS,EAAG21B,GAAK,EAC1C,GAA2B,iBAAhB8of,EAAS9of,GAAiB,CAGjC,MAAMgpf,EAAYF,EAAS9of,EAAI,GAE3Bgpf,GAAa,EAEbD,EAASC,KAITD,GAAUC,GAAW5igB,cAEzB4Z,GAAK,CACT,MAII8of,EAAS9of,GAAG2gC,KADIood,EAASD,EAAS9of,EAAI,KAKjC,OAAb+of,IACA3Y,EAAMpD,IAAW,MAErB,MAAM+I,EAAe3F,EAAMxC,IAC3B,GAAqB,OAAjBmI,EAAuB,CAGvB3F,EAAMxC,IAAoB,KAC1B,QAAS5te,EAAI,EAAGA,EAAI+1e,EAAa1rgB,OAAQ21B,KAGrCipf,EAFuBlT,EAAa/1e,KAI5C,CACJ,CArEQ6of,CAAgBnjB,EAAO0K,GAEG,IAAtBA,EAAMzD,IAAOzmf,MAEbkqf,EAAMjD,IAAUzne,UAEpB,MAAMgif,EAAuBtX,EAAM5C,IAEnC,GAA6B,OAAzBka,GAAiCnZ,GAAa6B,EAAMz+M,KAAU,CAE1D+1N,IAAyBtX,EAAMz+M,KAC/B81N,GAAgBC,EAAsBtX,GAG1C,MAAM+X,EAAW/X,EAAM1C,IACN,OAAbya,GACAA,EAASz0C,WAAWgyB,EAE5B,EA1rGR,SAASwjB,GAAgB9Y,GAErBkP,GAAe3/d,OAAOywd,EAAMlhI,IAChC,CAyrGQg6I,CAAgB9Y,EACpB,SAEI3F,EAAoB/Q,EACxB,CACJ,CAiGA,SAASyvB,GAAkBzjB,EAAOvC,EAAOiN,GACrC,OAAOgZ,GAAmB1jB,EAAOvC,EAAM7kc,OAAQ8xc,EACnD,CAgBA,SAASgZ,GAAmB1jB,EAAOvC,EAAOiN,GACtC,IAAI0D,EAAc3Q,EAGlB,KAAuB,OAAhB2Q,GACkB,GAApBA,EAAY5tf,MAEb4tf,GADA3Q,EAAQ2Q,GACYx1c,OAIxB,GAAoB,OAAhBw1c,EAGA,OAAO1D,EAAM1D,IAEZ,CAED,MAAQgC,mBAAoBoF,EAC5B,GAAIpF,GAAkB,EAAI,CAEtB,MAAQlte,iBAAkBkke,EAAMrggB,KAAKyugB,EAAYwB,eAAiB5G,GAOlE,GAAIlte,IAAkBoge,GAAoBl5d,MACtClH,IAAkBoge,GAAoBC,SACtC,OAAO,IAEf,CACA,OAAOwO,GAAiByD,EAAa1D,EACzC,CACJ,CAKA,SAAS2W,GAAmB31U,EAAU9yI,EAAQyjL,EAAO4kS,EAAY/2U,GAE7DwB,EAAStxB,aAAaxhH,EAAQyjL,EAAO4kS,EAAY/2U,EACrD,CACA,SAASk3U,GAAkB11U,EAAU9yI,EAAQyjL,GAGzC3wC,EAAS1kJ,YAAY4R,EAAQyjL,EACjC,CACA,SAASsnS,GAA2Bj4U,EAAU9yI,EAAQyjL,EAAO4kS,EAAY/2U,GAClD,OAAf+2U,EACAI,GAAmB31U,EAAU9yI,EAAQyjL,EAAO4kS,EAAY/2U,GAGxDk3U,GAAkB11U,EAAU9yI,EAAQyjL,EAE5C,CAYA,SAASunS,GAAiBl4U,EAAUhyC,GAChC,OAAOgyC,EAASxwI,WAAWw+F,EAC/B,CAiBA,SAASmqX,GAAwBzV,EAAa3B,EAAc/B,GACxD,OAAOoZ,GAAiC1V,EAAa3B,EAAc/B,EACvE,CAYA,SAASqZ,GAAkC3V,EAAa3B,EAAc/B,GAClE,OAAwB,GAApB0D,EAAY5tf,KACLmqf,GAAiByD,EAAa1D,GAElC,IACX,CAMA,IAMIsZ,GANAF,GAAmCC,GAOvC,SAASE,GAAgBC,EAAiCC,GACtDL,GAAmCI,EACnCF,GAA2BG,CAC/B,CASA,SAASn9d,GAAYg5c,EAAO0K,EAAO0Z,EAAYC,GAC3C,MAAMC,EAAcb,GAAkBzjB,EAAOqkB,EAAY3Z,GACnDh/T,EAAWg/T,EAAMjD,IAEjBlhS,EAAas9S,GADCQ,EAAWzrd,QAAU8xc,EAAMtD,IACSid,EAAY3Z,GACpE,GAAmB,MAAf4Z,EACA,GAAIzghB,MAAMC,QAAQsghB,GACd,QAAS9pf,GAAI,EAAGA,GAAI8pf,EAAWz/gB,OAAQ21B,KACnCqpf,GAA2Bj4U,EAAU44U,EAAaF,EAAW9pf,IAAIisM,GAAY,QAIjFo9S,GAA2Bj4U,EAAU44U,EAAaF,EAAY79S,GAAY,QAGrD3lO,IAA7BojhB,IACIA,GAAyBt4U,EAAU24U,EAAY3Z,EAAO0Z,EAAYE,EAC1E,CAMA,SAASC,GAAmB7Z,EAAOjN,GAC/B,GAAc,OAAVA,EAAgB,CAGhB,MAAM+mB,EAAY/mB,EAAMj9e,KACxB,GAAgB,EAAZgkgB,EACA,OAAO7Z,GAAiBlN,EAAOiN,GAE9B,GAAgB,EAAZ8Z,EACL,OAAOC,IAAqB,EAAI/Z,EAAMjN,EAAM7ye,QAE3C,GAAgB,EAAZ45f,EAAgD,CACrD,MAAME,EAAsBjnB,EAAMphR,MAClC,GAA4B,OAAxBqoS,EACA,OAAOH,GAAmB7Z,EAAOga,GAEhC,CACD,MAAMC,EAAoBja,EAAMjN,EAAM7ye,OACtC,OAAIi+e,GAAa8b,GACNF,IAAqB,EAAIE,GAGzBna,GAAYma,EAE3B,CACJ,CACK,GAAgB,GAAZH,EAIL,OAHgB3D,GAAoBpjB,EAAOiN,EAA3BmW,IAGArW,GAAYE,EAAMjN,EAAM7ye,QAEvC,CACD,MAAMg6f,EAAkBC,GAAmBna,EAAOjN,GAClD,OAAwB,OAApBmnB,EACI/ghB,MAAMC,QAAQ8ghB,GACPA,EAAgB,GAIpBL,GAFY/Y,GAAed,EAAM7C,KAEF+c,GAG/BL,GAAmB7Z,EAAOjN,EAAMv+e,KAE/C,CACJ,CACA,OAAO,IACX,CACA,SAAS2lgB,GAAmBna,EAAOjN,GAC/B,OAAc,OAAVA,EACsBiN,EAAM7C,IACQT,IAGf0d,WAFLrnB,EAAMqnB,YAInB,IACX,CACA,SAASL,GAAqBM,EAAsB7D,GAChD,MAAM8D,EAAgBvc,GAA0Bsc,EAAuB,EACvE,GAAIC,EAAgB9D,EAAWv8gB,OAAQ,CACnC,MAAM+lgB,EAAQwW,EAAW8D,GACnBC,EAAmBva,EAAMzD,IAAOlgf,WACtC,GAAyB,OAArBk+f,EACA,OAAOV,GAAmB7Z,EAAOua,EAEzC,CACA,OAAO/D,EAAW3Y,GACtB,CAUA,SAAS+Y,GAAiB51U,EAAU+uU,EAAOrwU,GAEvC,MAAM86U,EAAetB,GAAiBl4U,EAAU+uU,GAC5CyK,GAlLR,SAASC,GAAkBz5U,EAAU9yI,EAAQyjL,EAAOjyC,GAChDsB,EAASpwI,YAAY1C,EAAQyjL,EAAOjyC,EACxC,CAiLQ+6U,CAAkBz5U,EAAUw5U,EAAczK,EAAOrwU,EAEzD,CAaA,SAASg7U,GAAW15U,EAAU3tM,EAAQ0/f,EAAOiN,EAAO8W,EAAgBP,EAAYoE,GAC5E,KAAgB,MAAT5nB,GAAe,CAIlB,MAAM6nB,EAAe5a,EAAMjN,EAAM7ye,OAC3B45f,GAAY/mB,EAAMj9e,KAOxB,GANI6kgB,GACe,IAAXtnhB,IACAunhB,GAAgBvL,GAAgBvP,GAAY8a,GAAe5a,GAC3DjN,EAAMnlZ,OAAS,GAGgC,IAAlDmlZ,EAAMnlZ,MACP,GAAgB,EAAZksa,GACAY,GAAW15U,EAAU3tM,EAAQ0/f,EAAMphR,MAAOquR,EAAO8W,EAAgBP,GAAY,GAC7EF,GAA0BhjhB,EAAQ2tM,EAAU81U,EAAgB8D,EAAcrE,QAAU,GAEnE,GAAZuD,GAAoC,CACzC,MAAMe,GAAY1E,GAAoBpjB,EAAOiN,GAC7C,IAAI+P,GACJ,KAAOA,GAAQ8K,MACXxE,GAA0BhjhB,EAAQ2tM,EAAU81U,EAAgB/G,GAAOwG,GAEvEF,GAA0BhjhB,EAAQ2tM,EAAU81U,EAAgB8D,EAAcrE,EAC9E,MACqB,GAAZuD,GACLgB,GAAyB95U,EAAU3tM,EAAQ2sgB,EAAOjN,EAAO+jB,EAAgBP,GAIzEF,GAA0BhjhB,EAAQ2tM,EAAU81U,EAAgB8D,EAAcrE,GAGlFxjB,EAAQ4nB,EAAe5nB,EAAMgoB,eAAiBhoB,EAAMv+e,IACxD,CACJ,CACA,SAASuigB,GAAUzhB,EAAO0K,EAAOh/T,EAAU3tM,EAAQyjhB,EAAgBP,GAC/DmE,GAAW15U,EAAU3tM,EAAQiigB,EAAMj5e,WAAY2jf,EAAO8W,EAAgBP,GAAY,EACtF,CAgCA,SAASuE,GAAyB95U,EAAU3tM,EAAQ2sgB,EAAOgb,EAAiBlE,EAAgBP,GACxF,MAAM0E,EAAiBjb,EAAM7C,IAIvB+d,GAHgBD,EAAeve,IAGO0d,WAAWY,EAAgBZ,YACvE,GAAIjhhB,MAAMC,QAAQ8hhB,IAMd,QAAStrf,GAAI,EAAGA,GAAIsrf,GAAsBjhhB,OAAQ21B,KAE9Cymf,GAA0BhjhB,EAAQ2tM,EAAU81U,EAD9BoE,GAAsBtrf,IAC+B2mf,OAGtE,CACD,IAAI4E,GAAgBD,GACpB,MAAME,GAA0BH,EAAe15N,IAG3C0tN,GAA4B+L,KAC5BG,GAAcvta,OAAS,KAE3B8sa,GAAW15U,EAAU3tM,EAAQ8nhB,GAAeC,GAAyBtE,EAAgBP,GAAY,EACrG,CACJ,CAuGA,SAAS8E,GAAiBr6U,EAAUrpK,EAAS43D,GAExB,KAAbA,EAEAyxG,EAASv1H,gBAAgB9zC,EAAS,SAGlCqpK,EAASvxB,aAAa93I,EAAS,QAAS43D,EAGhD,CAEA,SAAS+rb,GAAsBt6U,EAAUrpK,EAASo7d,GAC9C,MAAQwoB,cAAa3of,UAAS8F,UAAWq6d,EACrB,OAAhBwoB,GACAtpB,GAAgBjxT,EAAUrpK,EAAS4jf,GAEvB,OAAZ3of,GACAyof,GAAiBr6U,EAAUrpK,EAAS/E,GAEzB,OAAX8F,GAnCR,SAAS8if,GAAiBx6U,EAAUrpK,EAAS43D,GAEzCyxG,EAASvxB,aAAa93I,EAAS,QAAS43D,EAE5C,CAgCQisb,CAAiBx6U,EAAUrpK,EAASe,EAE5C,CAGA,MAAM+if,GAA2F,CAAC,EAyBlG,SAASC,GAAUx0T,EAAQ,GAEvBy0T,GAAoBla,KAAYD,KAAYgD,KAAqBt9S,GAAO,EAC5E,CACA,SAASy0T,GAAoBrmB,EAAO0K,EAAO9/e,EAAO07f,GAI9C,IAAKA,EAED,GAD2F,GAA1D5b,EAAMxD,IAOlC,CACD,MAAMiP,EAAgBnW,EAAMmW,cACN,OAAlBA,GACA3F,GAAyB9F,EAAOyL,EAAe,EAA2Cvrf,EAElG,KAX6B,CACzB,MAAMwrf,EAAqBpW,EAAMoW,mBACN,OAAvBA,GACA9F,GAAkB5F,EAAO0L,EAAoBxrf,EAErD,CAYJukf,GAAiBvkf,EACrB,CAEA,SAAS27f,GAAkB/jhB,EAAO81G,EAAQ4gZ,GAAYC,SAClD,MAAMuR,EAAQwB,KAGd,OAAc,OAAVxB,EAGO92B,GAASpxe,EAAO81G,GAGbs7Z,GADApH,KAC6B9B,EAAOvT,GAAkB30f,GAAQ81G,EAGhF,CAaA,SAASkua,KAEL,MAAM,IAAIpse,MADiF,UAE/F,CAEA,SAASqse,GAAsBj+V,EAAKq1R,EAAUqjD,EAAYsI,EAAalxZ,EAAOz4G,GAC1E,MAAMm0f,EAAe+Q,EAAoB,MACzC,IAKI,IAAIwE,EAAkB,KACjBjxZ,EAAQ+jZ,GAAWC,cAEpBiN,EADc1rD,EAAS2rD,GACCkd,IAIJ,OAApBnd,QAA4D3ogB,IAAhC2ogB,EAAgBod,cAC5C9mhB,EAAQ0pgB,EAAgBod,YAAY9mhB,IAGnCy4G,EAAQ+jZ,GAAWhhe,6BACpBx7B,EAAQ2oL,EAAIs5U,gBAAgB0H,GAAavuc,KAAK4iZ,EAAUh+c,IAEvC,OAAjB2oL,EAAIw5U,SACJx5U,EAAIw5U,SAASnkD,EAAU0rD,EAAiB1pgB,EAAOqhgB,EAAYsI,GAG3DF,GAAuBzrD,EAAU0rD,EAAiBC,EAAa3pgB,EAEvE,SAEIklgB,EAAoB/Q,EACxB,CACJ,CAqCA,SAAS4yB,GAAYvY,EAAarO,EAAO9+Y,EAAS5I,EAAO7hC,EAAMowc,EAAW75c,EAAa0+H,EAAUs6Q,GAAUkuD,GAAsB4S,IAC7H,MAAMpc,GAAQ1K,EAAM6S,UAAU1+d,QAC9Bu2d,UAAM1D,IAAQvwb,EACdi0b,GAAMxD,IAAiB,IAAR5uZ,GAEc,OAAzB47Z,IACC7F,GAAqC,KAArBA,EAAYnH,OAC7BwD,GAAMxD,KAAU,MAEpB+D,GAAuBP,IAEvBA,GAAMz+M,IAAUy+M,GAAM9C,IAAoByG,EAC1C3D,GAAMnD,IAAWrmZ,EACjBwpZ,GAAMx7f,IAAgB89D,GAAeqhc,GAAeA,EAAYn/f,IAEhEw7f,GAAMjD,IAAa/7T,GAAY2iU,GAAeA,EAAY5G,IAE1DiD,GAAMlD,IAAYxhD,IAAYqoD,GAAeA,EAAY7G,KAAa,KACtEkD,GAAMtD,IAAUyf,EAChBnc,GAAMlhI,IA98HV,SAASu9I,KACL,OAAOlN,IACX,CA48HgBkN,GACZrc,GAAMrD,IAAayf,GACnBpc,GAAMzC,IAA0BiM,GAGhCxJ,GAAM7C,IACY,GAAd7H,EAAMx/e,KAAqC6tf,EAAYxG,IAA8B6C,GAClFA,EACX,CACA,SAASsc,GAAiBhnB,EAAOp1e,EAAOpK,EAAMzgB,EAAM27B,GAMhD,IAAI+he,EAAQuC,EAAMrggB,KAAKirB,GACvB,GAAc,OAAV6ye,EACAA,EAAQwpB,GAAmBjnB,EAAOp1e,EAAOpK,EAAMzgB,EAAM27B,GAn6M7D,SAAS8xe,IACL,OAAO7B,GAAiBC,OAAO6B,MACnC,CAk6MYD,KAKA/P,EAAMnlZ,OAAS,YAGD,GAAbmlZ,EAAMj9e,KAAuC,CAClDi9e,EAAMj9e,KAAOA,EACbi9e,EAAM59f,MAAQE,EACd09f,EAAM/he,MAAQA,EACd,MAAMk9B,EAAS+zc,KACflP,EAAMkV,cAA2B,OAAX/5c,GAAkB,EAAKA,EAAO+5c,aAGxD,CACA9F,UAAgBpP,GAAO,GAChBA,CACX,CACA,SAASwpB,GAAmBjnB,EAAOp1e,EAAOpK,EAAMzgB,EAAM27B,GAClD,MAAM+we,EAAeC,KACfE,EAAWE,KAGXrP,GAAQuC,EAAMrggB,KAAKirB,GAmT7B,SAASs8f,GAAYlnB,EAAOmnB,EAAS3mgB,EAAMoK,EAAO/qB,EAAO67B,GAOrD,IAAIi3e,EAAgBwU,EAAUA,EAAQxU,eAAgB,EAClDr6Z,EAAQ,EACZ,OAAI2zZ,OACA3zZ,GAAS,KAEC,CACV93F,OACAoK,QACAw8f,kBAAmB,KACnBzU,gBACA/C,gBAAgB,EAChBC,cAAc,EACdwX,sBAAsB,EACtBre,iBAAiB,EACjBse,iBAAkB,KAClBhva,QACA68Z,gBAAiB,EACjBt1gB,MAAOA,EACP67B,MAAOA,EACPuqf,YAAa,KACbsB,WAAY,KACZC,mBAAe5mhB,EACfsnB,OAAQ,KACR+a,QAAS,KACT+8d,MAAO,KACP9gf,KAAM,KACNk7P,KAAM,KACNqrQ,eAAgB,KAChBppS,MAAO,KACPzjL,OAAQuud,EACRrC,WAAY,KACZ1hf,OAAQ,KACRqkf,kBAAmB,KACnBC,oBAAgB9mhB,EAChB08B,QAAS,KACTqqf,mBAAoB,KACpBC,qBAAiBhnhB,EACjBinhB,cAAe,EACfC,cAAe,EASvB,CAxWQZ,CAAYlnB,EAHD4M,EAAWH,EAAeA,GAAgBA,EAAa7zc,OAGvCp4C,EAAMoK,EAAO7qB,EAAM27B,GAIlD,OAAyB,OAArBske,EAAMj5e,aACNi5e,EAAMj5e,WAAa02e,IAEF,OAAjBgP,IACIG,EAE0B,MAAtBH,EAAapwR,OAAkC,OAAjBohR,GAAM7kc,SAEpC6zc,EAAapwR,MAAQohR,IAIC,OAAtBgP,EAAavtf,OAGbutf,EAAavtf,KAAOu+e,GACpBA,GAAMrjP,KAAOqyP,IAIlBhP,EACX,CAWA,SAASsqB,GAAa/nB,EAAO0K,EAAOsd,EAAiB/8Y,GACjD,GAAwB,IAApB+8Y,EACA,OAAO,EAQX,MAAMC,EAAWvd,EAAM/lgB,OACvB,QAAS21B,EAAI,EAAGA,EAAI0tf,EAAiB1tf,IACjCowe,EAAMr2d,KAAK42F,GACX+0X,EAAM6S,UAAUx+d,KAAK42F,GACrB+0X,EAAMrggB,KAAK00C,KAAK,MAEpB,OAAO4ze,CACX,CACA,SAASC,GAAgBloB,EAAO0K,EAAOyd,EAAY5mgB,EAAI2/F,GACnD,MAAMkna,EAAoBlZ,KACpBmZ,EAAqB,EAAL9mgB,EACtB,IACI4tf,IAAiB,GACbkZ,GAAiB3d,EAAM/lgB,OAAS0jgB,IAGhCge,GAAoBrmB,EAAO0K,EAAOrC,IAAe,GAGrD+B,GADoBie,EAAgB,EAA4C,EAC1Dnna,GACtBina,EAAW5mgB,EAAI2/F,EACnB,SAEIiuZ,GAAiBiZ,GAEjBhe,GADqBie,EAAgB,EAA0C,EACxDnna,EAC3B,CACJ,CAIA,SAASona,GAAsBtoB,EAAOvC,EAAOiN,GACzC,GAAI5B,GAAmBrL,GAAQ,CAC3B,MAAMzJ,EAAe+Q,EAAoB,MACzC,IACI,MACM7oZ,EAAMuhZ,EAAMoS,aAClB,QAASmG,EAFKvY,EAAMmS,eAEaoG,EAAiB95Z,EAAK85Z,IAAkB,CACrE,MAAMxtV,EAAMw3U,EAAMrggB,KAAKq2gB,GACnBxtV,EAAI/lJ,gBAIJ+lJ,EAAI/lJ,eAAe,EAHOioe,EAAMsL,GAGkCA,EAE1E,CACJ,SAEIjR,EAAoB/Q,EACxB,CACJ,CACJ,CAIA,SAASu0B,GAA0BvoB,EAAO0K,EAAOjN,GACxCuO,OA2kBT,SAASwc,GAAyBxoB,EAAO0K,EAAOjN,EAAOb,GACnD,MAAM31c,EAAQw2c,EAAMmS,eACd1zZ,EAAMuhZ,EAAMoS,aAGd9G,GAAgBtL,IAsMxB,SAASgrB,GAAkB/d,EAAOge,EAAWlgW,GACzC,MAAMo0U,EAAS+N,GAAiB+d,EAAWhe,GACrC1K,EAAQ2oB,GAA0BngW,GAIxC,IAAIogW,EAAa,GACbpgW,EAAIs3U,QACJ8oB,EAAa,KAERpgW,EAAIk3U,SACTkpB,EAAa,IAEjB,MAAMC,EAAgBC,GAAcpe,EAAOkc,GAAYlc,EAAO1K,EAAO,KAAM4oB,EAAYhsB,EAAQ8rB,EAAW,KARlFhe,EAAMx7f,IAAa65gB,gBAQqFv9U,eAAeoxT,EAAQp0U,GAAM,KAAM,KAAM,OAGzKkiV,EAAMge,EAAU99f,OAASi+f,CAC7B,CArNQJ,CAAkB/d,EAAOjN,EAAOuC,EAAMrggB,KAAKsnD,EAAQw2c,EAAMuL,kBAExDhJ,EAAM0S,iBACPH,GAA+B9U,EAAOiN,GAE1CqP,GAAgBnd,EAAQ8N,GACxB,MAAM8c,EAAgB/pB,EAAM+pB,cAC5B,QAASltf,EAAI2sB,EAAO3sB,EAAI4hF,EAAK5hF,IAAK,CAC9B,MAAMkuJ,GAAMw3U,EAAMrggB,KAAK26B,GACjB22e,GAAY8D,GAAkBrK,EAAO1K,EAAO1le,EAAGmje,GACrDsc,GAAgB9I,GAAWvG,GACL,OAAlB8c,GACAwB,GAAmBte,EAAOpwe,EAAI2sB,EAAOgqd,GAAWzoV,GAAKi1U,EAAO+pB,GAE5Dte,GAAe1gV,MACOqiV,GAAyBpN,EAAM7ye,MAAO8/e,GAC9CnD,IAAWwN,GAAkBrK,EAAO1K,EAAO1le,EAAGmje,GAEpE,CACJ,CAnmBI+qB,CAAyBxoB,EAAO0K,EAAOjN,EAAOkN,GAAiBlN,EAAOiN,MACV,IAAvDjN,EAAMnlZ,QACP2wa,GAA6BjpB,EAAO0K,EAAOjN,GAEnD,CAKA,SAASyrB,GAAyBC,EAAU1rB,EAAO2rB,EAAoBze,IACnE,MAAM4c,EAAa9pB,EAAM8pB,WACzB,GAAmB,OAAfA,EAAqB,CACrB,IAAI8B,EAAa5rB,EAAM7ye,MAAQ,EAC/B,QAAS0P,EAAI,EAAGA,EAAIitf,EAAW5ihB,OAAQ21B,GAAK,EAAG,CAC3C,MAAM1P,EAAQ28f,EAAWjtf,EAAI,GACvBz6B,GAAkB,IAAV+qB,EACVw+f,EAAkB3rB,EAAO0rB,GACzBA,EAASv+f,GACbu+f,EAASE,KAAgBxphB,CAC7B,CACJ,CACJ,CAQA,SAAS8ohB,GAA0BngW,GAC/B,MAAMw3U,EAAQx3U,EAAIw3U,MAGlB,OAAc,OAAVA,GAAkBA,EAAMspB,oBAIjB9gW,EAAIw3U,MAAQupB,GAAY,EAA6Brb,KAAW1lV,EAAIlnK,SAAUknK,EAAIrnK,MAAOqnK,EAAIpnK,KAAMonK,EAAIm3U,cAAen3U,EAAIo3U,SAAUp3U,EAAI3lJ,UAAW2lJ,EAAIu3U,QAASv3U,EAAInnK,OAAQmnK,EAAIztL,IAEpLilgB,CACX,CAcA,SAASupB,GAAY/ogB,EAAM0tf,EAAWia,EAAYhngB,EAAOC,EAAMoogB,EAAYC,EAAO5mf,EAAWk9d,GAAS2pB,GAAiBC,IAEnH,MAAMzc,GAAoB7E,GAAgBlnf,EAIpCyogB,GAAoB1c,GAAoB9rf,EACxCyxf,GA2CV,SAASgX,GAAoB3c,EAAmB0c,GAC5C,MAAM/W,EAAY,GAClB,QAASv4e,EAAI,EAAGA,EAAIsvf,EAAmBtvf,IACnCu4e,EAAUx+d,KAAK/Z,EAAI4ye,EAAoB,KAAOiZ,IAElD,OAAOtT,CACX,CAjDsBgX,CAAoB3c,GAAmB0c,IACnDvogB,GAAoC,mBAApBqogB,GAAiCA,KAAoBA,GAwC3E,OAvCc7W,GAAU5L,IAAS,CAC7Bzmf,KAAMA,EACNqyf,UAAWA,GACXvxf,SAAU6mgB,EACV3kE,QAAS,KACT3gb,UAAWA,EACXqre,UAAWA,EACXvugB,KAAMkzgB,GAAU1+d,QAAQu0J,KAAK,KAAMwkU,IACnCA,kBAAmBA,GACnB4c,kBAAmBF,GACnBG,mBAAoB,KACpBrX,iBAAiB,EACjBsX,iBAAiB,EACjBC,mBAAmB,EACnBC,sBAAsB,EACtB/T,cAAe,KACfC,mBAAoB,KACpBnG,aAAc,KACdC,kBAAmB,KACnBC,UAAW,KACXC,eAAgB,KAChBC,aAAc,KACdt6P,QAAS,KACTtzO,eAAgB,KAChBgpP,WAAY,KACZ0+P,kBAAyC,mBAAfX,EAA4BA,IAAeA,EACrEY,aAA+B,mBAAVX,EAAuBA,IAAUA,EACtD1igB,WAAY,KACZg5e,QAASA,GACT1+e,OAAQA,GACRiogB,qBAAqB,EACrBK,SASR,CA+CA,IAAIU,GAAiCA,IAAM,KA2G3C,SAASC,GAAoBl7e,EAAMm7e,EAAUvU,EAAgBwU,EAAgBC,GACzE,QAASvpB,KAAcqpB,EAAU,CAC7B,IAAKA,EAASpld,eAAe+7b,GACzB,SAEJ,MAAMrhgB,EAAQ0qhB,EAASrpB,GACvB,QAActggB,IAAVf,EACA,SAEJ2qhB,IAAmB,CAAC,EACpB,IAAIE,EACAtpB,GAAa/E,GAAWr5d,KAGxBn/B,MAAMC,QAAQjE,IACd6qhB,EAAe7qhB,EAAM,GACrBuhgB,GAAavhgB,EAAM,IAGnB6qhB,EAAe7qhB,EAQnB,IAAI8qhB,GAAkBzpB,EACtB,GAA8B,OAA1BupB,EAAgC,CAGhC,IAAKA,EAAsBtld,eAAe+7b,GACtC,SAEJypB,GAAkBF,EAAsBvpB,EAC5C,CACa,IAAT9xd,EACAw7e,GAAmBJ,EAAgBxU,EAAgB2U,GAAiBD,EAActpB,IAGlFwpB,GAAmBJ,EAAgBxU,EAAgB2U,GAAiBD,EAE5E,CACA,OAAOF,CACX,CACA,SAASI,GAAmBC,EAAU7U,EAAgB9U,EAAYwpB,EAActpB,GAC5E,IAAIpjf,EACA6sgB,EAAS1ld,eAAe+7b,IACvBljf,EAAS6sgB,EAAS3pB,IAAa7sd,KAAK2he,EAAgB0U,GAGrD1sgB,EAAS6sgB,EAAS3pB,GAAc,CAAC8U,EAAgB0U,QAElC9phB,IAAfwggB,GACApjf,EAAOq2B,KAAK+sd,EAEpB,CAmEA,SAAS0pB,GAAwB9qB,EAAOvC,EAAOiN,EAAOxU,EAAUr2f,EAAO6rM,EAAU98K,EAAWm8f,GAExF,MAAM1of,GAAUsoe,GAAiBlN,EAAOiN,GACxC,IACIsgB,GADAC,GAAYxtB,EAAMv1e,QAEjB6igB,GAA2B,MAAbE,KAAsBD,GAAYC,GAAU/0B,KAC3Dg1B,GAAqBlrB,EAAO0K,EAAOsgB,GAAW90B,EAAUr2f,GACpDkpgB,GAAgBtL,IA6B5B,SAAS0tB,GAAkBzgB,EAAO0gB,GAE9B,MAAMC,EAAsBxgB,GAAyBugB,EAAW1gB,GAC7B,GAA7B2gB,EAAoBnkB,MACtBmkB,EAAoBnkB,KAAU,GAEtC,CAlCYikB,CAAkBzgB,EAAOjN,EAAM7ye,QAKjB,EAAb6ye,EAAMj9e,OACX01e,EA7BR,SAASo1B,GAAYvrhB,GACjB,MAAa,UAATA,EACO,YACE,QAATA,EACO,UACE,eAATA,EACO,aACE,cAATA,EACO,YACE,aAATA,EACO,WACE,aAATA,EACO,WACJA,CACX,CAemBurhB,CAAYp1B,GAUvBr2f,EAAqB,MAAb+uB,EAAoBA,EAAU/uB,EAAO49f,EAAM59f,OAAS,GAAIq2f,GAAYr2f,EAC5E6rM,EAASf,YAAYtoK,GAAS6zd,EAAUr2f,GAShD,CA4CA,SAAS0rhB,EAAkBvrB,EAAO0K,EAAOjN,EAAO+tB,GAI5C,GAAIxf,KAAsB,CACtB,MAAMyf,EAA2B,OAAdD,EAAqB,KAAO,CAAE,IAAI,GAC/CE,EAwLd,SAASC,GAAwB3rB,EAAOvC,GAGpC,MAAMtsK,EAAW6uK,EAAMmqB,kBACvB,IAAIj8a,EAAU,KACV09a,EAAoB,KACxB,GAAIz6L,EACA,QAAS72T,EAAI,EAAGA,EAAI62T,EAASxsV,OAAQ21B,IAAK,CACtC,MAAMkuJ,EAAM2oK,EAAS72T,GACrB,GAAIske,GAA2BnB,EAAOj1U,EAAItnK,WAAkC,GAExE,GADAgtF,IAAYA,EAAU,IAClBg7Z,GAAe1gV,GAkBf,GAAkC,OAA9BA,EAAIy5U,sBAAgC,CACpC,MAAM4pB,EAAuB,GAC7BD,EAAoBA,GAAqB,IAAIp2e,IAC7CgzI,EAAIy5U,sBAAsBz5U,EAAKqjW,EAAsBD,GAIrD19a,EAAQ40D,WAAW+oX,EAAsBrjW,GAGzCsjW,GAAoB9rB,EAAOvC,EADHouB,EAAqBlnhB,OAEjD,MAIIupG,EAAQ40D,QAAQ0lB,GAChBsjW,GAAoB9rB,EAAOvC,EAAO,QAKtCmuB,EAAoBA,GAAqB,IAAIp2e,IAC7CgzI,EAAIy5U,wBAAwBz5U,EAAKt6E,EAAS09a,GAC1C19a,EAAQ75D,KAAKm0I,EAGzB,CAGJ,OAAmB,OAAZt6E,EAAmB,KAAO,CAACA,EAAS09a,EAC/C,CAnP4BD,CAAwB3rB,EAAOvC,GACnD,IAAIkC,EACAisB,EACgB,OAAhBF,EACA/rB,EAAgBisB,EAAoB,MAGnCjsB,EAAeisB,GAAqBF,EAEnB,OAAlB/rB,GACAosB,GAAqB/rB,EAAO0K,EAAOjN,EAAOkC,EAAe8rB,EAAYG,GAErEH,GAoPZ,SAASO,GAAwBvuB,EAAO+tB,EAAWC,GAC/C,GAAID,EAAW,CACX,MAAMjE,EAAa9pB,EAAM8pB,WAAa,GAItC,QAASjtf,EAAI,EAAGA,EAAIkxf,EAAU7mhB,OAAQ21B,GAAK,EAAG,CAC1C,MAAM1P,EAAQ6ggB,EAAWD,EAAUlxf,EAAI,IACvC,GAAa,MAAT1P,EACA,MAAM,IAAI8qe,IAAa,KAA8C72U,GACzE0oW,EAAWlze,KAAKm3e,EAAUlxf,GAAI1P,EAClC,CACJ,CACJ,CAhQYohgB,CAAwBvuB,EAAO+tB,EAAWC,EAClD,CAEAhuB,EAAMwoB,YAAchpB,GAAeQ,EAAMwoB,YAAaxoB,EAAM/he,MAChE,CAEA,SAASqwf,GAAqB/rB,EAAO0K,EAAOjN,EAAO+rB,EAAYiC,EAAYG,GAIvE,QAAStxf,GAAI,EAAGA,GAAIkvf,EAAW7khB,OAAQ21B,KACnCg5e,GAAmBf,GAA+B9U,EAAOiN,GAAQ1K,EAAOwpB,EAAWlvf,IAAG9Z,OA0Q9F,SAASyrgB,GAAexuB,EAAO7ye,EAAOshgB,GAGlCzuB,EAAMnlZ,OAAS,EAEfmlZ,EAAMmS,eAAiBhlf,EACvB6ye,EAAMoS,aAAejlf,EAAQshgB,EAC7BzuB,EAAM0X,gBAAkBvqf,CAC5B,CAhRIqhgB,CAAexuB,EAAOuC,EAAMrggB,KAAKgF,OAAQ6khB,EAAW7khB,QAOpD,QAAS21B,GAAI,EAAGA,GAAIkvf,EAAW7khB,OAAQ21B,KAAK,CACxC,MAAMkuJ,GAAMghW,EAAWlvf,IACnBkuJ,GAAIq5U,mBACJr5U,GAAIq5U,kBAAkBr5U,GAC9B,CACA,IAAI2jW,GAAqB,EACrBC,GAA0B,EAC1BC,GAAetE,GAAa/nB,EAAO0K,EAAO8e,EAAW7khB,OAAQ,MAGjE,QAAS21B,GAAI,EAAGA,GAAIkvf,EAAW7khB,OAAQ21B,KAAK,CACxC,MAAMkuJ,GAAMghW,EAAWlvf,IAGvBmje,EAAMwoB,YAAchpB,GAAeQ,EAAMwoB,YAAaz9V,GAAIttJ,WAC1Doxf,GAA2BtsB,EAAOvC,EAAOiN,EAAO2hB,GAAc7jW,IAC9D+jW,GAAoBF,GAAc7jW,GAAKijW,GACZ,OAAvBjjW,GAAI/lJ,iBACJg7d,EAAMnlZ,OAAS,IACM,OAArBkwE,GAAIptJ,cAA2C,OAAlBotJ,GAAIttJ,WAAuC,IAAjBstJ,GAAIrtJ,YAC3Dsie,EAAMnlZ,OAAS,IACnB,MAAMk0a,GAAiBhkW,GAAIhoK,KAAK65B,WAG3B8xe,IACAK,GAAer/D,aAAeq/D,GAAepugB,UAAYougB,GAAet/D,cAIxE8yC,EAAMmW,gBAAkB,IAAI9he,KAAKopd,EAAM7ye,OACxCuhgB,GAAqB,IAEpBC,IAA4BI,GAAer/D,aAAeq/D,GAAet/D,cACzE8yC,EAAMoW,qBAAuB,IAAI/he,KAAKopd,EAAM7ye,OAC7CwhgB,GAA0B,GAE9BC,IACJ,EAxNJ,SAASI,GAAgCzsB,EAAOvC,EAAOivB,GAEnD,MACMxwa,EAAMuhZ,EAAMoS,aACZ8c,EAAY3sB,EAAMrggB,KAClBithB,EAAanvB,EAAM/he,MACnBmxf,EAAkB,GACxB,IAAIC,GAAc,KACdC,GAAe,KACnB,QAAS/W,GAPKvY,EAAMmS,eAOaoG,GAAiB95Z,EAAK85Z,KAAkB,CACrE,MAAMC,GAAe0W,EAAU3W,IACzBgX,GAAYN,EAA6BA,EAA2BzxgB,IAAIg7f,IAAgB,KAExFgX,GAAiBD,GAAYA,GAAU/pf,QAAU,KACvD6pf,GAAcxC,GAAoB,EAAuCrU,GAAa/tf,OAAQ8tf,GAAgB8W,GAFxFE,GAAYA,GAAU9kgB,OAAS,MAGrD6kgB,GAAezC,GAAoB,EAAwCrU,GAAahze,QAAS+ye,GAAgB+W,GAAcE,IAK/H,MAAMzF,GAAiC,OAAhBsF,IAAuC,OAAfF,GAAwBhvB,GAAiBH,GAEpF,KADAyvB,GAAsBJ,GAAa9W,GAAgB4W,GAEvDC,EAAgBx4e,KAAKmze,GACzB,CACoB,OAAhBsF,KACIA,GAAY3nd,eAAe,WAC3Bs4b,EAAMnlZ,OAAS,GAEfw0a,GAAY3nd,eAAe,WAC3Bs4b,EAAMnlZ,OAAS,KAGvBmlZ,EAAM+pB,cAAgBqF,EACtBpvB,EAAMv1e,OAAS4kgB,GACfrvB,EAAMx6d,QAAU8pf,EACpB,CAqLIN,CAAgCzsB,EAAOvC,EAAOmuB,EAClD,CA4EA,SAAS3C,GAA6BjpB,EAAO0K,EAAOjN,GAChD,MAAMx2c,EAAQw2c,EAAMmS,eACd1zZ,EAAMuhZ,EAAMoS,aACZsd,EAAe1vB,EAAM7ye,MACrB+if,EAnnOV,SAASyf,KACL,OAAOzhB,GAAiBC,OAAO+B,qBACnC,CAinOkCyf,GAC9B,IACIje,GAAiBge,GACjB,QAASzqf,EAAWukB,EAAOvkB,EAAWw5E,EAAKx5E,IAAY,CACnD,MAAM8lJ,GAAMw3U,EAAMrggB,KAAK+iC,GACjBuue,GAAYvG,EAAMhoe,GACxBkre,GAAyBlre,IACA,OAArB8lJ,GAAIptJ,cAA0C,IAAjBotJ,GAAIrtJ,UAAoC,OAAlBqtJ,GAAIttJ,YACvDmyf,GAAiC7kW,GAAKyoV,GAE9C,CACJ,SAEI9B,IAAiB,GACjBvB,GAAyBD,EAC7B,CACJ,CAOA,SAAS0f,GAAiC7kW,EAAKyoV,GAClB,OAArBzoV,EAAIptJ,cACJotJ,EAAIptJ,aAAa,EAA4B61e,EAErD,CAsEA,SAAS6a,GAAoB9rB,EAAO0oB,EAAW1f,GAG3C0f,EAAU1f,gBAAkBA,GAC3BhJ,EAAMv0O,aAAe,IAAIp3O,KAAKq0e,EAAU99f,MAC7C,CAoBA,SAAS2hgB,GAAoBF,EAAc7jW,EAAKijW,GAC5C,GAAIA,EAAY,CACZ,GAAIjjW,EAAIjtJ,SACJ,QAASjB,EAAI,EAAGA,EAAIkuJ,EAAIjtJ,SAAS52B,OAAQ21B,IACrCmxf,EAAWjjW,EAAIjtJ,SAASjB,IAAM+xf,EAGlCnjB,GAAe1gV,KACfijW,EAAW,IAAMY,EACzB,CACJ,CA2BA,SAASC,GAA2BtsB,EAAOvC,EAAOiN,EAAOsL,EAAgBxtV,GAGrEw3U,EAAMrggB,KAAKq2gB,GAAkBxtV,EAC7B,MAAM8kW,EAAmB9kW,EAAIx1K,UAAYw1K,EAAIx1K,QAAU8nf,GAActyU,EAAIhoK,OAInE+sgB,EAAsB,IAAInc,GAAoBkc,EAAkBpkB,GAAe1gV,GAAM+9V,IAC3FvmB,EAAM6S,UAAUmD,GAAkBuX,EAClC7iB,EAAMsL,GAAkBuX,EA/O5B,SAASC,GAA2BxtB,EAAOvC,EAAO4uB,EAAcoB,EAAkBjlW,GAE9E,MAAMptJ,EAAeotJ,EAAIptJ,aACzB,GAAIA,EAAc,CACd,IAAI2uf,EAAqB/pB,EAAM+pB,mBACJ,OAAvBA,IACAA,EAAqB/pB,EAAM+pB,mBAAqB,IAEpD,MAAM2D,GAAejwB,EAAM7ye,OAkBnC,SAAS+igB,GAAuB5D,GAC5B,IAAIzvf,EAAIyvf,EAAmBplhB,OAC3B,KAAO21B,EAAI,GAAG,CACV,MAAMz6B,EAAQkqhB,IAAqBzvf,GACnC,GAAqB,iBAAVz6B,GAAsBA,EAAQ,EACrC,OAAOA,CAEf,CACA,OAAO,CACX,EA1BY8thB,CAAuB5D,IAAuB2D,GAI9C3D,EAAmB11e,KAAKq5e,GAE5B3D,EAAmB11e,KAAKg4e,EAAcoB,EAAkBryf,EAC5D,CACJ,CA+NIoyf,CAA2BxtB,EAAOvC,EAAOuY,EAAgB+R,GAAa/nB,EAAO0K,EAAOliV,EAAIrtJ,SAAUgrf,IAAY39V,EAClH,CA6BA,SAASolW,GAAoBliV,EAAUrpK,EAASwnK,EAAW3uC,EAASn7J,EAAMF,EAAO+uB,GAC7E,GAAa,MAAT/uB,EAEA6rM,EAASv1H,gBAAgB9zC,EAAStiC,EAAM8pM,OAEvC,CAED,MAAMzf,EAAwB,MAAbx7J,EAAoBmqe,GAAgBl5f,GAAS+uB,EAAU/uB,EAAOq7J,GAAW,GAAIn7J,GAC9F2rM,EAASvxB,aAAa93I,EAAStiC,EAAMqqL,EAAUyf,EACnD,CACJ,CAUA,SAASm/U,GAAmBte,EAAOsL,EAAgBn4D,EAAUr1R,EAAKi1U,EAAOowB,GACrE,MAAMrG,EAAgBqG,EAAiB7X,GACvC,GAAsB,OAAlBwR,EACA,QAASltf,EAAI,EAAGA,EAAIktf,EAAc7ihB,QAK9B8hhB,GAAsBj+V,EAAKq1R,EAJR2pE,EAAcltf,KACbktf,EAAcltf,KACpBktf,EAAcltf,KACdktf,EAAcltf,KAQxC,CAgBA,SAAS4yf,GAAsBhlgB,EAAQ8tf,EAAgBt6e,GACnD,IAAIoyf,EAAgB,KAChBxzf,EAAI,EACR,KAAOA,EAAIoB,EAAM/2B,QAAQ,CACrB,MAAM61T,EAAW9+R,EAAMpB,GACvB,GAAiB,IAAbkgS,EAIJ,GACsB,IAAbA,EADT,CAOA,GAAwB,iBAAbA,EACP,MACJ,GAAItyS,EAAOi9C,eAAeq1P,GAAW,CACX,OAAlBszN,IACAA,EAAgB,IAIpB,MAAM/rB,EAAc75e,EAAOsyS,GAC3B,QAASlsO,EAAI,EAAGA,EAAIyza,EAAYp9f,OAAQ2pF,GAAK,EACzC,GAAIyza,EAAYzza,KAAO0nb,EAAgB,CACnC8X,EAAcz5e,KAAKmmR,EAAUunM,EAAYzza,EAAI,GAAIyza,EAAYzza,EAAI,GAAI5yD,EAAMpB,EAAI,IAE/E,KACJ,CAER,CACAA,GAAK,CAnBL,MAFIA,GAAK,OALLA,GAAK,CA2Bb,CACA,OAAOwzf,CACX,CAcA,SAASC,GAAiBC,EAAYrd,EAAa/T,EAAQa,GAgBvD,MAdmB,CACfuwB,GACA,EACA,EACArd,EACA,KACAlT,EACA,KACAb,EACA,KACA,KAKR,CAEA,SAASqxB,GAAsBjuB,EAAO0K,GAClC,MAAMjoe,EAAiBu9d,EAAMv9d,eAC7B,GAAuB,OAAnBA,EAAyB,CACzB,MAAMuxd,EAAe+Q,EAAoB,MACzC,IACI,QAASzqe,EAAI,EAAGA,EAAImI,EAAe99B,OAAQ21B,GAAK,EAAG,CAC/C,MACM4zf,EAAkBzrf,EAAenI,EAAI,GAC3C,IAAwB,IAApB4zf,EAAwB,CACxB,MAAMjY,EAAejW,EAAMrggB,KAAKuuhB,GAIhClgB,GAPkBvre,EAAenI,IAQjC27e,EAAaxze,eAAe,EAA4Bioe,EAAMwjB,GAAkBA,EACpF,CACJ,CACJ,SAEInpB,EAAoB/Q,EACxB,CACJ,CACJ,CAYA,SAAS80B,GAAcpe,EAAOmY,GAK1B,OAAInY,EAAMhD,IACNgD,EAAM/C,IAAYR,IAAQ0b,EAG1BnY,EAAMhD,IAAcmb,EAExBnY,EAAM/C,IAAckb,EACbA,CACX,CAIA,SAASsL,GAAmB71a,EAAO81a,EAAa5nc,GAE5Cwnb,GAAqB,GACrB,MAAMha,EAAe+Q,EAAoB,MACzC,IACIqpB,EAAY91a,EAAO9xB,EACvB,SAEIu+a,EAAoB/Q,EACxB,CACJ,CA0CA,SAASq6B,GAAwB7nR,GAE7B,OAAOA,EAAK8gQ,MAAa9gQ,EAAK8gQ,IAAW,GAC7C,CACA,SAASgnB,GAAwBtuB,GAC7B,OAAOA,EAAMjqP,UAAYiqP,EAAMjqP,QAAU,GAC7C,CAKA,SAASw4Q,GAAsBC,EAAY/wB,EAAOiN,GAO9C,OAAmB,OAAf8jB,GAAuBtlB,GAAeslB,MACtC9jB,EA1+PR,SAAS+jB,GAAY5uhB,GACjB,KAAOgE,MAAMC,QAAQjE,IAAQ,CAGzB,GAA2B,iBAAhBA,EAAMyogB,IACb,OAAOzogB,EACXA,EAAQA,EAAMmngB,GAClB,CACA,OAAO,IACX,CAi+PgBynB,CAAY/jB,EAAMjN,EAAM7ye,SAE7B8/e,EAAMjD,GACjB,CAEA,SAASx2b,GAAYy5b,EAAOrpgB,GACxB,MAAM2kd,EAAW0kD,EAAMlD,IACjB12b,EAAek1Y,EAAWA,EAAS/qc,IAAIu8f,GAAc,MAAQ,KACnE1mc,GAAgBA,EAAaG,YAAY5vE,EAC7C,CAUA,SAAS6phB,GAAqBlrB,EAAO0K,EAAOxif,EAAQg5e,EAAYrhgB,GAC5D,QAASy6B,EAAI,EAAGA,EAAIpS,EAAOvjB,QAAS,CAChC,MAAMimB,EAAQ1C,EAAOoS,KACfkve,EAActhf,EAAOoS,KACrBg+E,GAAQpwF,EAAOoS,KAIrBmsf,GADYzmB,EAAMrggB,KAAKirB,GAFN8/e,EAAM9/e,GAGcs2e,EAAYsI,EAAalxZ,GAAOz4G,EACzE,CACJ,CAIA,SAAS6uhB,GAAoBhkB,EAAO9/e,EAAO/qB,GAIvC,MAAMwiC,EAAUooe,GAAiB7/e,EAAO8/e,GAExCgX,GAAehX,EAAMjD,IAAWple,EAASxiC,EAC7C,CAEA,SAAS8uhB,GAAgBC,EAAWC,GAEhC,MAAMhG,EAAgBhe,GAAyBgkB,EAAkBD,GAC3DE,EAAiBjG,EAAc5hB,KAoCzC,SAAS8nB,GAAsB/uB,EAAO0K,GAClC,QAASpwe,EAAIowe,EAAM/lgB,OAAQ21B,EAAI0le,EAAM6S,UAAUlugB,OAAQ21B,IACnDowe,EAAMr2d,KAAK2rd,EAAM6S,UAAUv4e,GAEnC,CAvCIy0f,CAAsBD,EAAgBjG,GACtC,MAAMmG,EAAYnG,EAAc7hB,IAEd,OAAdgoB,GAAmD,OAA7BnG,EAAcxhB,MACpCwhB,EAAcxhB,IAAamT,GAAsBwU,EAAWnG,EAAcrhB,MAE9E9tL,GAAWo1M,EAAgBjG,EAAeA,EAActhB,IAC5D,CAwCA,SAAS7tL,GAAWsmL,EAAO0K,EAAOxpZ,GAG9BqtZ,GAAU7D,GACV,IACI,MAAM7ne,EAAYm9d,EAAMn9d,UACN,OAAdA,GACAsrf,GAAmB,EAA4Btrf,EAAWq+E,GAI9D,MAAMina,EAAanoB,EAAM1+e,SACN,OAAf6mgB,GACAD,GAAgBloB,EAAO0K,EAAOyd,EAAY,EAA4Bjna,GAOtE8+Y,EAAM0S,kBACN1S,EAAM0S,iBAAkB,GAI5BhI,EAAM1C,KAAUinB,mBAAmBjvB,GAI/BA,EAAMkqB,sBACN+D,GAAsBjuB,EAAO0K,GAK7B1K,EAAMiqB,mBACNkE,GAAmB,EAA4BnuB,EAAMn9d,UAAWq+E,GAGpE,MAAMuqK,EAAau0O,EAAMv0O,WACN,OAAfA,GAmBZ,SAASyjQ,GAAsBN,EAAWnjQ,GACtC,QAASnxP,EAAI,EAAGA,EAAImxP,EAAW9mR,OAAQ21B,IACnCq0f,GAAgBC,EAAWnjQ,EAAWnxP,GAE9C,CAtBY40f,CAAsBxkB,EAAOj/O,EAErC,OACOpqR,GAGH,MAAI2+f,EAAM0S,kBACN1S,EAAMspB,qBAAsB,EAC5BtpB,EAAM0S,iBAAkB,GAEtBrxgB,CACV,SAEIqpgB,EAAMxD,MAAU,EAChB+H,IACJ,CACJ,CAQA,SAASkgB,GAA6BC,EAAkBC,EAAenua,EAAS/nF,GAC5E,MAAM66d,EAAe+Q,EAAoB,MACzC,IACI,MAAMuqB,EAAgBD,EAAcrvB,MAM9BuvB,GAAgB3I,GAAYwI,EAAkBE,EAAepua,EAFpB,KAA1Bkua,EAAiBloB,IACL,KAAmC,GACmB,KAAMmoB,EAAe,KAAM,KAAMl2f,GAAS6sb,UAAY,KAAM7sb,GAAS+6e,sBAAwB,KAAM/6e,GAASq2f,gBAAkB,MAGrND,GAAcznB,IAFgBsnB,EAAiBC,EAAczkgB,OAG7D,MAAM6kgB,GAA0BL,EAAiBpnB,IACjD,OAAgC,OAA5BynB,KACAF,GAAcvnB,IAAWynB,GAAwBrhD,mBAAmBkhD,IAGxE51M,GAAW41M,EAAeC,GAAerua,GAClCqua,EACX,SAEIxqB,EAAoB/Q,EACxB,CACJ,CACA,SAAS07B,GAAuBxO,EAAYt2f,GACxC,MAAM+kgB,EAAgBlnB,GAA0B79e,EAEhD,GAAI+kgB,EAAgBzO,EAAWv8gB,OAG3B,OAFcu8gB,EAAWyO,EAKjC,CAQA,SAASC,GAAmBnyB,EAAO+xB,GAC/B,OAAQA,GAAgD,OAA9BA,EAAezogB,YACrC4yf,GAA4Blc,EACpC,CACA,SAASoyB,GAAqB3O,EAAYxW,EAAO9/e,EAAOklgB,GAAW,GAC/D,MAAM9vB,EAAQ0K,EAAMzD,IAIpB,GAjzEJ,SAAS8oB,GAAW/vB,EAAO0K,EAAOwW,EAAYt2f,GAG1C,MAAMw3f,EAAmB3Z,GAA0B79e,EAC7ColgB,EAAkB9O,EAAWv8gB,OAC/BimB,EAAQ,IAERs2f,EAAWkB,EAAmB,GAAGjb,IAAQuD,GAEzC9/e,EAAQolgB,EAAkBvnB,IAC1BiC,EAAMvD,IAAQ+Z,EAAWkB,GACzBnnB,GAAWimB,EAAYzY,GAA0B79e,EAAO8/e,KAGxDwW,EAAW7se,KAAKq2d,GAChBA,EAAMvD,IAAQ,MAElBuD,EAAMz+M,IAAUi1N,EAEhB,MAAMoB,EAAwB5X,EAAM5C,IACN,OAA1Bwa,GAAkCpB,IAAeoB,GAgBzD,SAAS2N,GAAejO,EAAsBtX,GAG1C,MAAMuX,EAAaD,EAAqBxZ,IAKTkC,EAAM7C,MAJV6C,EAAMz+M,IAEiBA,IAAQ47M,MAQtDma,EAAqB9a,KAAUwB,GAAgBC,sBAEhC,OAAfsZ,EACAD,EAAqBxZ,IAAe,CAACkC,GAGrCuX,EAAW5te,KAAKq2d,EAExB,CArCQulB,CAAe3N,EAAuB5X,GAG1C,MAAM+X,EAAW/X,EAAM1C,IACN,OAAbya,GACAA,EAASsN,WAAW/vB,GAExBqL,GAAqCX,GAErCA,EAAMxD,KAAU,GACpB,CAgxEI6oB,CAAW/vB,EAAO0K,EAAOwW,EAAYt2f,GAEjCklgB,EAAU,CACV,MAAM7O,EAAawD,GAAqB75f,EAAOs2f,GACzCx1U,EAAWg/T,EAAMjD,IACjB6c,GAAcV,GAAiBl4U,EAAUw1U,EAAW3Y,KACtC,OAAhB+b,IAv4EZ,SAAS4L,GAAalwB,EAAOoO,EAAa1iU,EAAUg/T,EAAOylB,EAAkBlP,GACzEvW,EAAM1D,IAAQmpB,EACdzlB,EAAMtD,IAAUgH,EAChBqT,GAAUzhB,EAAO0K,EAAOh/T,EAAU,EAAoCykV,EAAkBlP,EAC5F,CAo4EYiP,CAAalwB,EAAOkhB,EAAW9Z,IAAS17T,EAAUg/T,EAAO4Z,GAAarD,EAE9E,CAIA,MAAM6F,EAAgBpc,EAAMrD,IACN,OAAlByf,GAAuD,OAA7BA,EAAc//f,aACxC+/f,EAAc//f,WAAa,KAEnC,CACA,SAASqpgB,GAA0BlP,EAAYt2f,GAC3C,MAAM8/e,EAAQ18B,GAAWkzC,EAAYt2f,GACrC,YAAchqB,IAAV8pgB,GACAgY,GAAahY,EAAMzD,IAAQyD,GAExBA,CACX,CAEA,SAAS2lB,GAAmBrwB,EAAO0K,EAAOjN,EAAO5tf,EAAQw1gB,GAAe,GACpE,KAAiB,OAAV5nB,GAAgB,CAGnB,MAAM6yB,EAAQ5lB,EAAMjN,EAAM7ye,OACZ,OAAV0lgB,GACAzghB,EAAOwkC,KAAKm2d,GAAY8lB,IAKxBznB,GAAaynB,IACbC,GAA+BD,EAAOzghB,GAE1C,MAAM20gB,EAAY/mB,EAAMj9e,KACxB,GAAgB,EAAZgkgB,EACA6L,GAAmBrwB,EAAO0K,EAAOjN,EAAMphR,MAAOxsO,QAAM,GAEnC,GAAZ20gB,EAAoC,CACzC,MAAMe,EAAY1E,GAAoBpjB,EAAOiN,GAC7C,IAAI+P,GACJ,KAAOA,GAAQ8K,KACX11gB,EAAOwkC,KAAKome,GAEpB,SACqB,GAAZ+J,EAA2C,CAChD,MAAMgM,EAAc3L,GAAmBna,EAAOjN,GAC9C,GAAI55f,MAAMC,QAAQ0shB,GACd3ghB,EAAOwkC,QAAQm8e,OAEd,CACD,MAAMve,GAAazG,GAAed,EAAM7C,KAExCwoB,GAAmBpe,GAAWhL,IAAQgL,GAAYue,EAAa3ghB,GAAQ,EAC3E,CACJ,CACA4tf,EAAQ4nB,EAAe5nB,EAAMgoB,eAAiBhoB,EAAMv+e,IACxD,CACA,OAAOrP,CACX,CAIA,SAAS0ghB,GAA+BrP,EAAYrxgB,GAChD,QAASyqB,EAAImue,GAAyBnue,EAAI4mf,EAAWv8gB,OAAQ21B,IAAK,CAC9D,MAAMm2f,EAAoBvP,EAAW5mf,GAC/Bo2f,EAAuBD,EAAkBxpB,IAAOlgf,WACzB,OAAzB2pgB,GACAL,GAAmBI,EAAkBxpB,IAAQwpB,EAAmBC,EAAsB7ghB,EAE9F,CAcIqxgB,EAAW3Y,MAAY2Y,EAAWla,KAClCn3f,EAAOwkC,KAAK6se,EAAW3Y,IAE/B,CAEA,IAAIooB,GAAgB,GAsBpB,MAAMC,GAA+B,IAC9BC,GACH99B,sBAAsB,EACtBG,oBAAsBx5V,IAClByxW,GAA0BzxW,EAAKgxW,MAAK,EAExCvX,uBACI5gf,KAAKm4f,MAAMtC,IAA8B71f,IAC7C,GAMEu+gB,GAAyB,IAC/B,SAASC,GAAsBrmB,EAAOsmB,GAAqB,EAAM5hf,EAAO,GACpE,MAAM49B,EAAc09b,EAAMx7f,IACpB65gB,EAAkB/7c,EAAY+7c,gBAMhCA,EAAgBl9U,UAEpB,KAkBJ,SAASolV,GAA8BvmB,EAAOt7d,GAC1C8hf,GAAsBxmB,EAAOt7d,GAC7B,IAAI+hf,EAAU,EAKd,KAAO/lB,GAA2BV,IAAQ,CACtC,GAAIymB,IAAYL,GACZ,MAAM,IAAIp7B,GAAa,KAAsD72U,GAKjFsyW,IAGAD,GAAsBxmB,EAAO,EACjC,CACJ,CApCQumB,CAA8BvmB,EAAOt7d,EACzC,OACO/tC,GACH,MAAI2vhB,GACA//c,GAAYy5b,EAAOrpgB,GAEjBA,CACV,SAGQ0nhB,EAAgB7sa,QAGhBlvC,EAAYokd,oBAAoBxla,OAExC,CACJ,CAsCA,SAASyla,GAAYrxB,EAAO0K,EAAOyd,EAAYjna,GAE3C,MAAM5I,EAAQoyZ,EAAMxD,IACpB,KAAiD,KAA5C5uZ,GACD,OAIuBoyZ,EAAMx7f,IAAakihB,oBAAoBxla,QAIlE2iZ,GAAU7D,GACV,IAAI1W,EAAe,KACfs9B,EAAkB,MA8I1B,SAASC,GAA+BvxB,GACpC,OAAsB,IAAfA,EAAMx/e,IACjB,EA/ImC+wgB,CAA+BvxB,KAC1DsxB,EAhHR,SAASE,GAAiC9mB,GACtC,OAAOA,EAAMtC,KAEjB,SAASqpB,GAA4B/mB,GACjC,MAAMrY,EAAWs+B,GAAc/0R,OAASj6N,OAAOoG,OAAO6of,IACtDv+B,SAASqY,MAAQA,EACVrY,CACX,CANgDo/B,CAA4B/mB,EAC5E,CA8G0B8mB,CAAiC9mB,GACnD1W,EAAe09B,GAA4BJ,IAE/C,IACIrmB,GAAuBP,GA5/P/B,SAASinB,GAAgB9xhB,GACrB,OAAO8rgB,GAAiBC,OAAOwB,aAAevtgB,CAClD,CA2/PQ8xhB,CAAgB3xB,EAAMkN,mBACH,OAAfib,GACAD,GAAgBloB,EAAO0K,EAAOyd,EAAY,EAA4Bjna,GAE1E,MAAM0wa,KAA8E,GAAnDt5a,GAI7B,GAAIs5a,GAAyB,CACzB,MAAMxb,GAAqBpW,EAAMoW,mBACN,OAAvBA,IACA9F,GAAkB5F,EAAO0L,GAAoB,KAErD,KACK,CACD,MAAMD,GAAgBnW,EAAMmW,cACN,OAAlBA,IACA3F,GAAyB9F,EAAOyL,GAAe,EAA2C,MAE9FzF,GAAwBhG,EAAO,EACnC,CAcA,GAyHZ,SAASmnB,GAAgCnnB,GACrC,QAASwW,EAAajH,GAAmBvP,GAAuB,OAAfwW,EAAqBA,EAAa/G,GAAkB+G,GAAa,CAC9G,KAAMA,EAAWha,IAASwB,GAAgBC,sBACtC,SACJ,MAAMsZ,EAAaf,EAAW1Y,IAE9B,QAASlue,EAAI,EAAGA,EAAI2nf,EAAWt9gB,OAAQ21B,IAAK,CAIxC4we,GAHmB+W,EAAW3nf,GAIlC,CACJ,CACJ,CA/IQu3f,CAAgCnnB,GAChConB,GAA6BpnB,EAAO,GAEP,OAAzB1K,EAAMv9d,gBACNwrf,GAAsBjuB,EAAO0K,GAKzBknB,GAAyB,CACzB,MAAM1hB,GAAoBlQ,EAAMkQ,kBACN,OAAtBA,IACAI,GAAkB5F,EAAOwF,GAEjC,KACK,CACD,MAAMD,GAAejQ,EAAMiQ,aACN,OAAjBA,IACAO,GAAyB9F,EAAOuF,GAAc,GAElDS,GAAwBhG,EAAO,EACnC,EA1rDZ,SAASqnB,GAA0B/xB,EAAO0K,GACtC,MAAMqf,EAAqB/pB,EAAM+pB,mBACjC,GAA2B,OAAvBA,EAEJ,IACI,QAASzvf,EAAI,EAAGA,EAAIyvf,EAAmBplhB,OAAQ21B,IAAK,CAChD,MAAM03f,EAASjI,EAAmBzvf,GAClC,GAAI03f,EAAS,EAET7iB,IAAkB6iB,OAEjB,CAED,MAAM3F,EAAe2F,EACfC,EAAkBlI,IAAqBzvf,GACvC43f,EAAgBnI,IAAqBzvf,GAC3Coze,GAA8BukB,EAAiB5F,GAE/C6F,EAAc,EADExnB,EAAM2hB,GAE1B,CACJ,CACJ,SAEIld,IAAiB,EACrB,CACJ,CAmqDQ4iB,CAA0B/xB,EAAO0K,GAEjC,MAAMj/O,GAAau0O,EAAMv0O,WACN,OAAfA,IACA0mQ,GAA+BznB,EAAOj/O,GAAY,GAKtD,MAAM5oP,GAAYm9d,EAAMn9d,UAOpB,GANc,OAAdA,IACAsrf,GAAmB,EAA4Btrf,GAAWq+E,GAKtD0wa,GAAyB,CACzB,MAAMxhB,GAAiBpQ,EAAMoQ,eACN,OAAnBA,IACAE,GAAkB5F,EAAO0F,GAEjC,KACK,CACD,MAAMD,GAAYnQ,EAAMmQ,UACN,OAAdA,IACAK,GAAyB9F,EAAOyF,GAAW,GAE/CO,GAAwBhG,EAAO,EACnC,CAYJ,IAV8B,IAA1B1K,EAAMgqB,kBAONhqB,EAAMgqB,iBAAkB,GAGxBtf,EAAMvC,IAAsB,CAC5B,UAAWiqB,MAAgB1nB,EAAMvC,IAC7BiqB,KAGJ1nB,EAAMvC,IAAuB,IACjC,CAQIuC,EAAMxD,MAAU,EAExB,OACOn1d,IAKHo5d,SAA0BT,GACpB34d,EACV,SAE4B,OAApBu/e,IACAe,GAA2Bf,EAAiBt9B,GAhOxD,SAASs+B,GAAiCjgC,GAClCA,EAASqY,MAAMtC,MAAgC/V,IAInDA,EAASqY,MAAQ,KACjBimB,GAAct8e,KAAKg+c,GACvB,CA0NYigC,CAAiChB,IAErCriB,IACJ,CACJ,CAsBA,SAAS6iB,GAA6BpnB,EAAOt7d,GACzC,QAAS8xe,EAAajH,GAAmBvP,GAAuB,OAAfwW,EAAqBA,EAAa/G,GAAkB+G,GACjG,QAAS5mf,EAAImue,GAAyBnue,EAAI4mf,EAAWv8gB,OAAQ21B,IAEzDi4f,GADsBrR,EAAW5mf,GACY8U,EAGzD,CA0BA,SAASojf,GAAyB5D,EAAWC,EAAkBz/e,GAG3Dmjf,GADsB1nB,GAAyBgkB,EAAkBD,GACpBx/e,EACjD,CAMA,SAASmjf,GAA8B7nB,EAAOt7d,GACrC27d,GAA6BL,IAGlCwmB,GAAsBxmB,EAAOt7d,EACjC,CAWA,SAAS8hf,GAAsBxmB,EAAOt7d,GAElC,MAAM4wd,EAAQ0K,EAAMzD,IACd3uZ,EAAQoyZ,EAAMxD,IACd7U,EAAWqY,EAAMtC,IAEvB,IAAIqqB,KAAgC,IAATrjf,GAAuD,GAARkpE,GAkB1E,GAXAm6a,OAAiC,GAARn6a,GAA8C,IAATlpE,GAE9Dqjf,OAAiC,KAARn6a,GAEzBm6a,OAAyBpgC,GAAU74a,QAASk5c,GAAiCrgC,IAGzEA,IACAA,EAAS74a,OAAQ,GAErBkxb,EAAMxD,MAAU,KACZurB,EACApB,GAAYrxB,EAAO0K,EAAO1K,EAAM1+e,SAAUopf,EAAMnD,UAAQ,GAE3C,KAARjvZ,EAAsD,CAC3Dw5a,GAA6BpnB,EAAO,GACpC,MAAMj/O,EAAau0O,EAAMv0O,WACN,OAAfA,GACA0mQ,GAA+BznB,EAAOj/O,EAAY,EAE1D,CACJ,CAEA,SAAS0mQ,GAA+BvD,EAAWnjQ,EAAYr8O,GAC3D,QAAS9U,EAAI,EAAGA,EAAImxP,EAAW9mR,OAAQ21B,IACnCk4f,GAAyB5D,EAAWnjQ,EAAWnxP,GAAI8U,EAE3D,CAaA,SAASujf,GAAcjoB,GAEnB,IADAA,EAAMx7f,IAAao8f,0BAA0BrlW,SACtCykW,GAAO,CACVA,EAAMxD,KAAU,GAChB,MAAMtuc,EAAS4yc,GAAed,GAE9B,GAAIvB,GAAWuB,KAAW9xc,EACtB,OAAO8xc,EAGXA,EAAQ9xc,CACZ,CACA,OAAO,IACX,CAEA,MAAMg6d,GACF,aAAIvkD,GACA,MAAMq8B,EAAQn4f,KAAKkkgB,OACbzW,EAAQ0K,EAAMzD,IACpB,OAAOopB,GAAmBrwB,EAAO0K,EAAO1K,EAAMj5e,WAAY,GAC9D,CACA/U,YAYAykgB,EAOAoc,EAAqB7B,GAAqB,GACtCz+gB,KAAKkkgB,OAASA,EACdlkgB,KAAKsghB,oBAAsBA,EAC3BtghB,KAAKy+gB,mBAAqBA,EAC1Bz+gB,KAAK+1d,QAAU,KACf/1d,KAAKughB,0BAA2B,CACpC,CACA,WAAI5xa,GACA,OAAO3uG,KAAKkkgB,OAAOlP,GACvB,CAMA,WAAIrmZ,CAAQrhH,GAMR0S,KAAKkkgB,OAAOlP,IAAW1ngB,CAC3B,CACA,aAAIm9L,GACA,QAAiE,KAAzDzqL,KAAKkkgB,OAAOvP,IACxB,CACAlne,UACI,GAAIztB,KAAK+1d,QACL/1d,KAAK+1d,QAAQ0F,WAAWz7d,WAAI,GAEvBA,KAAKughB,yBAA0B,CACpC,MAAMl6d,EAASrmD,KAAKkkgB,OAAOxqN,IAC3B,GAAI48M,GAAajwc,GAAS,CACtB,MAAMm6d,EAAWn6d,EA/kSf,GAglSIhuC,EAAQmogB,EAAWA,EAAS3uhB,QAAQmO,OAAQ,EAC9CqY,GAAQ,IAGRojd,GAAWp1a,EAAQhuC,GACnBswe,GAAgB63B,EAAUnogB,GAElC,CACArY,KAAKughB,0BAA2B,CACpC,CACApQ,GAAanwgB,KAAKkkgB,OAAOxP,IAAQ10f,KAAKkkgB,OAC1C,CACAj2V,UAAU9kH,GACN+vc,GAAoBl5f,KAAKkkgB,OAAQ/6c,EACrC,CAgCA/gC,eACIg4f,GAAcpghB,KAAKsghB,qBAAuBtghB,KAAKkkgB,OACnD,CAsDAjve,SACIj1B,KAAKkkgB,OAAOvP,MAAU,GAC1B,CAyDA8rB,WACI3nB,GAAqC94f,KAAKkkgB,QAC1ClkgB,KAAKkkgB,OAAOvP,KAAU,GAC1B,CAsBAj4e,gBAMI1c,KAAKkkgB,OAAOvP,KAAU,KACtB6pB,GAAsBx+gB,KAAKkkgB,OAAQlkgB,KAAKy+gB,mBAC5C,CAOAiC,iBAIA,CACAC,2BACI,GAAI3ghB,KAAK+1d,QACL,MAAM,IAAIotB,GAAa,KAAkD72U,GAE7EtsK,KAAKughB,0BAA2B,CACpC,CACAK,mBACI5ghB,KAAK+1d,QAAU,KACfw5C,GAAkBvvgB,KAAKkkgB,OAAOxP,IAAQ10f,KAAKkkgB,OAC/C,CACA2c,eAAeC,GACX,GAAI9ghB,KAAKughB,yBACL,MAAM,IAAIp9B,GAAa,KAAkD72U,GAE7EtsK,KAAK+1d,QAAU+qD,EACfhoB,GAAqC94f,KAAKkkgB,OAC9C,EAGJ,IAkBM3ze,GAAW,MAAjB,MAAMA,SAKOvwB,KAAK8lf,kBAAoBi7B,EAAmB,EACxD,OANKxwf,CAAW,KAOjB,MAAMywf,GAAwBzwf,GAGxB0wf,GAAgB,cAA0BD,GAC5CvhhB,YAAYyhhB,EAAmBC,EAAwB9qD,GACnD7lb,QACAxwC,KAAKkhhB,kBAAoBA,EACzBlhhB,KAAKmhhB,uBAAyBA,EAC9BnhhB,KAAKq2d,WAAaA,CACtB,CAOA,SAAI+gD,GACA,OAAOp3gB,KAAKmhhB,uBAAuB1zB,OAAO2pB,OAAS,IACvD,CACAv7C,mBAAmBltX,EAAS8kW,GACxB,OAAOzzc,KAAKohhB,uBAAuBzya,EAAS8kW,EAChD,CAIA2tE,uBAAuBzya,EAAS8kW,EAAUwpE,GACtC,MAAMD,EAAgBJ,GAA6B58gB,KAAKkhhB,kBAAmBlhhB,KAAKmhhB,uBAAwBxya,EAAS,CAAEgzZ,qBAAsBluD,EAAUwpE,mBACnJ,OAAO,IAAIoD,GAAUrD,EACzB,GAOJ,SAAS+D,KACL,OAAOM,GAAkBpnB,KAAmBN,KAChD,CAQA,SAAS0nB,GAAkBlL,EAAWkG,GAClC,OAAqB,EAAjBlG,EAAUlogB,KAEH,IAAIgzgB,GAAc5E,EAAWlG,EAAWxQ,GAAiBwQ,EAAWkG,IAExE,IACX,CA42BA,IAAIiF,GAAkCA,IAAM,KAmC5C,SAASC,GAA2B5S,EAAY5/f,GAC5C,OAAOuygB,GAAgC3S,EAAY5/f,EACvD,CAKA,MAAMyygB,IAUN,MAAMC,IAYN,MAAMC,IAYN,MAAMC,GACFzmD,wBAAwBjnZ,GACpB,MAXR,SAAS2tc,GAAwB3tc,GAC7B,MAAMnlF,EAAQ+4C,MAAM,kCAAkCkD,GAAUkpC,OAChEnlF,SAAqB,YAAImlF,EAClBnlF,CACX,CAOc8yhB,CAAwB3tc,EAClC,EAEJ,IAeM4tc,GAA0B,MAAhC,MAAMA,SACO7hhB,KAAKy3V,KAAwB,IAAIkqL,EAAkC,EAC/E,OAFKE,CAA0B,KAShC,MAAM7nV,IAEN,IAeM8nV,GAAS,MAAf,MAAMA,EACFrihB,cAKIO,KAAKo3L,YAAc,IACvB,QAKSp3L,KAAK8lf,kBAAoB,IAGtC,SAASi8B,KAGL,MAAM5pB,EAAQwB,KAERqoB,EAAc1pB,GADN2B,KACqC5hf,MAAO8/e,GAC1D,OAAQ9B,GAAQ2rB,GAAeA,EAAc7pB,GAAOjD,GACxD,CAV4C6sB,EAAmB,EAC9D,OAbKD,CAAS,KA6BTlyX,GAAS,MAAf,MAAMA,SAEO5vJ,KAAKszD,WAAQi/a,GAAmB,CACrCtif,MAAO2/J,EACPjvJ,WAAY,OACZF,QAASA,IAAM,MACf,EACP,OAPKmvJ,CAAS,KA0Bf,MAAMqyX,GAAwC,CAAC,EAU/C,SAASC,GAA2B1tB,EAAS2tB,GAGzC,GAA8B,ODhnclC,SAASC,IACL,OAAO3iC,CACX,CC8mcQ4iC,GACA,MAAM,IAAIl/B,IAAa,KAAmE72U,EAGlG,CAEA,MAAMg2W,GAAiB,IAAI18d,IAS3B,SAAS28d,GAAuBjjC,GACxBgjC,GAAe7of,IAAI6ld,KAGvBgjC,GAAev2gB,IAAIuze,GACnBlyW,aAAaR,OAAO,qBAAsB,CAAE8yI,OAAQ,CAAE4/N,aAC1D,CAEA,SAAStqF,MAAQjsX,GACb,CAmIJ,MAAMqxJ,GACF36L,aAAc+ihB,wBAAuB,EAAOC,sCAAqC,EAAOC,oCAAmC,IA2BvH,GA1BA1ihB,KAAK2ihB,sBAAuB,EAC5B3ihB,KAAK4ihB,sBAAuB,EAI5B5ihB,KAAKi6c,UAAW,EAIhBj6c,KAAK6ihB,WAAa,IAAI/2f,IAAa,GAMnC9rB,KAAK8ihB,iBAAmB,IAAIh3f,IAAa,GAMzC9rB,KAAKwuB,SAAW,IAAI1C,IAAa,GAIjC9rB,KAAK68P,QAAU,IAAI/wO,IAAa,UACrBu2H,KAAQ,IACf,MAAM,IAAI8gW,GAAa,KAA2C72U,GAEtEjqB,KAAK0gY,oBACL,MAAM54d,EAAOnqD,KACbmqD,EAAK64d,SAAW,EAChB74d,EAAK84d,OAAS94d,EAAK+4d,OAAS7gY,KAAKC,QAS7BD,KAAK8gY,uBACLh5d,EAAK+4d,OAAS/4d,EAAK+4d,OAAOxjW,KAAK,IAAIr9B,KAAK8gY,uBAExCX,GAAwBngY,KAAK+gY,yBAC7Bj5d,EAAK+4d,OAAS/4d,EAAK+4d,OAAOxjW,KAAKr9B,KAAK+gY,yBAIxCj5d,EAAKs4d,oCACAC,GAAoCD,EACzCt4d,EAAKu4d,iCAAmCA,EACxCv4d,EAAKk5d,6BAA8B,EACnCl5d,EAAKm5d,4BAvLb,SAASC,KAKL,MAAMvzE,EAAwD,mBAArCpgU,GAAQqzB,sBAOjC,IAAIqgX,EAA8B1zY,GAAQogU,EAAY,wBAA0B,cAC5EwzE,EAA6B5zY,GAAQogU,EAAY,uBAAyB,gBAC9E,UAAW3tT,KAAS,KAAeihY,GAA+BE,EAA4B,CAO1F,MAAMC,EAAiCH,EAA4BjhY,KAAKqhY,WAAW,qBAC/ED,IACAH,EAA8BG,GAElC,MAAME,EAAgCH,EAA2BnhY,KAAKqhY,WAAW,qBAC7EC,IACAH,EAA6BG,EAErC,CACA,MAAO,CAAEL,8BAA6BE,6BAC1C,CAwJ2CD,GAAiCD,4BAkK5E,SAASM,GAAiChlY,GACtC,MAAMilY,EAAwCA,MAzClD,SAASC,GAA8BllY,GAc/BA,EAAKmlY,uBAA6D,IAArCnlY,EAAKykY,8BAGtCzkY,EAAKykY,4BAA8BzkY,EAAK0kY,4BAA4B56d,KAAKknF,GAAS,KAUzEgP,EAAKolY,mBACNplY,EAAKolY,iBAAmB3hY,KAAKiZ,KAAK2oX,kBAAkB,mBAAoB,KACpErlY,EAAKykY,6BAA8B,EACnCa,GAAsBtlY,GACtBA,EAAKmlY,sBAAuB,EAC5BI,GAAYvlY,GACZA,EAAKmlY,sBAAuB,QAC7B11hB,EAAW,OAAW,SAE7BuwJ,EAAKolY,iBAAiB/nH,QAAO,GAEjCioH,GAAsBtlY,GAC1B,CAGQklY,CAA8BllY,EAAI,EAEtCA,EAAKskY,OAAStkY,EAAKskY,OAAOxjW,KAAK,CAC3BlyL,KAAM,UACNghG,WAAY,CAAE41b,eAAiB,GAC/BC,aAAcA,CAACptV,EAAU30C,EAASx5F,EAAQ0/M,EAAM87Q,EAAWC,KACvD,GAiGZ,SAASC,GAAsBD,GAM3B,SALKjzhB,MAAMC,QAAQgzhB,IAKM,IAArBA,EAAUnyhB,UAIuC,IAA9CmyhB,EAAU,GAAGn3hB,MAAOq3hB,kBAC/B,CA5GgBD,CAAsBD,GACtB,OAAOttV,EAASytV,WAAW57d,EAAQ0/M,EAAM87Q,EAAWC,GAExD,IACII,UAAQ/lY,GACDq4C,EAASytV,WAAW57d,EAAQ0/M,EAAM87Q,EAAWC,EACxD,UAES3lY,EAAK6jY,oCAAoD,cAAdj6Q,EAAKv6P,MACjD2wI,EAAK8jY,mCACLmB,IAEJe,GAAQhmY,EACZ,GAEJimY,SAAUA,CAAC5tV,EAAU30C,EAASx5F,EAAQK,EAAUm7d,EAAWC,EAAWzwe,MAClE,IACI6we,UAAQ/lY,GACDq4C,EAASglO,OAAOnzW,EAAQK,EAAUm7d,EAAWC,EAAWzwe,GACnE,SAEQ8qG,EAAK8jY,kCACLmB,IAEJe,GAAQhmY,EACZ,GAEJkmY,UAAWA,CAAC7tV,EAAU30C,EAASx5F,EAAQi8d,KACnC9tV,EAAS+tV,QAAQl8d,EAAQi8d,GACrBziY,IAAYx5F,IAGe,aAAvBi8d,EAAa/uf,QACb4oH,EAAKqmY,sBAAwBF,EAAaG,UAC1ChB,GAAsBtlY,GACtBulY,GAAYvlY,IAEgB,aAAvBmmY,EAAa/uf,SAClB4oH,EAAK+jY,qBAAuBoC,EAAaI,aAIrDC,cAAeA,CAACnuV,EAAU30C,EAASx5F,EAAQh6D,KACvCmoM,EAASv4H,YAAY5V,EAAQh6D,GAC7B8vJ,EAAKuC,kBAAkB,IAAMvC,EAAKi+G,QAAQ13O,KAAKr2B,KACxC,IAGnB,CAzNQ80hB,CAAiCz5d,EACrC,CAIA,sBAAOk7d,GAEH,cAAchjY,KAAS,MAAqD,IAAtCA,KAAKC,QAAQ55I,IAAI,gBAC3D,CAIA,0BAAO48gB,GACH,IAAKlrV,GAAOirV,kBACR,MAAM,IAAIliC,GAAa,KAAkD72U,EAEjF,CAIA,6BAAOi5W,GACH,GAAInrV,GAAOirV,kBACP,MAAM,IAAIliC,GAAa,KAAkD72U,EAEjF,CAaAl2I,IAAIzZ,EAAI2ngB,EAAWC,GACf,OAAOvkhB,KAAKkjhB,OAAO9sf,IAAIzZ,EAAI2ngB,EAAWC,EAC1C,CAaAiB,QAAQ7ogB,EAAI2ngB,EAAWC,EAAW/2hB,GAC9B,MAAMoxJ,EAAO5+I,KAAKkjhB,OACZ16Q,EAAO5pH,EAAKqlY,kBAAkB,gBAAkBz2hB,EAAMmvB,EAAI8ogB,GAAezwH,GAAMA,IACrF,IACI,OAAOp2Q,EAAK4mY,QAAQh9Q,EAAM87Q,EAAWC,EACzC,SAEI3lY,EAAK8mY,WAAWl9Q,EACpB,CACJ,CAKAm9Q,WAAWhpgB,EAAI2ngB,EAAWC,GACtB,OAAOvkhB,KAAKkjhB,OAAOyC,WAAWhpgB,EAAI2ngB,EAAWC,EACjD,CAcApjY,kBAAkBxkI,GACd,OAAO3c,KAAKijhB,OAAO7sf,IAAIzZ,EAC3B,EAEJ,MAAM8ogB,GAAgB,CAAC,EACvB,SAAStB,GAAYvlY,GAgBjB,GAAqB,GAAjBA,EAAKokY,WAAkBpkY,EAAKgkY,uBAAyBhkY,EAAKq7T,SAC1D,IACIr7T,EAAKokY,WACLpkY,EAAKkkY,iBAAiB39f,KAAK,KAC/B,SAGI,GADAy5H,EAAKokY,YACApkY,EAAKgkY,qBACN,IACIhkY,EAAKuC,kBAAkB,IAAMvC,EAAKpwH,SAASrJ,KAAK,MACpD,SAEIy5H,EAAKq7T,UAAW,CACpB,CAER,CAER,CAkGA,SAASiqE,GAAsBtlY,GAIvBA,EAAKgkY,wBAHLhkY,EAAKqmY,wBACHrmY,EAAK6jY,oCAAsC7jY,EAAK8jY,oCACT,IAArC9jY,EAAKykY,4BAMjB,CACA,SAASsB,GAAQ/lY,GACbA,EAAKokY,WACDpkY,EAAKq7T,WACLr7T,EAAKq7T,UAAW,EAChBr7T,EAAKikY,WAAW19f,KAAK,MAE7B,CACA,SAASy/f,GAAQhmY,GACbA,EAAKokY,WACLmB,GAAYvlY,EAChB,CAKA,MAAMgnY,GACFnmhB,cACIO,KAAK4ihB,sBAAuB,EAC5B5ihB,KAAK2ihB,sBAAuB,EAC5B3ihB,KAAKi6c,UAAW,EAChBj6c,KAAK6ihB,WAAa,IAAI/2f,GACtB9rB,KAAK8ihB,iBAAmB,IAAIh3f,GAC5B9rB,KAAKwuB,SAAW,IAAI1C,GACpB9rB,KAAK68P,QAAU,IAAI/wO,EACvB,CACAsK,IAAIzZ,EAAI2ngB,EAAWC,GACf,OAAO5ngB,EAAGu/B,MAAMooe,EAAWC,EAC/B,CACAoB,WAAWhpgB,EAAI2ngB,EAAWC,GACtB,OAAO5ngB,EAAGu/B,MAAMooe,EAAWC,EAC/B,CACApjY,kBAAkBxkI,GACd,OAAOA,GACX,CACA6ogB,QAAQ7ogB,EAAI2ngB,EAAWC,EAAW/2hB,GAC9B,OAAOmvB,EAAGu/B,MAAMooe,EAAWC,EAC/B,EA4CJ,IAAIsB,GACH,SAAUA,GAcPA,SAAiBA,EAAiBC,UAAe,GAAK,YAKtDD,EAAiBA,EAAiBE,MAAW,GAAK,QAalDF,EAAiBA,EAAiBG,eAAoB,GAAK,iBAK3DH,EAAiBA,EAAiBI,KAAU,GAAK,OArC1CJ,CAsCX,CAtCC,CAsCEA,IAAwC,CAAC,GAE5C,MAAMK,GAAwB,CAC1Bz4f,UAAY,GAmJhB,SAAS04f,GAAgBh9d,EAAUviC,IAC9BA,GAAW2te,KACZ,MAAM9gD,EAAW7sb,GAAS6sb,UAAYxib,GAAOoqc,IAC7C,IA3rKJ,SAAShD,GAAkB5kB,GACvB,MAA2D,aAAnDA,GAAYxib,GAAOoqc,KAAW3yd,IAAIq5I,GAC9C,CAyrKSs2U,CAAkB5kB,GACnB,OAAOyyE,GAEX3D,GAAuB,qBACvB,MAAM6D,EAA0B3yE,EAAS/qc,IAAI29gB,IAGvCC,EAAkBF,EAAwBxxa,UAAY,IAAI2xa,GAC1D7+V,EAAQ9gK,GAAS8gK,OAASm+V,GAAiBG,eAC3Cv4f,EAAUA,KACZ64f,EAAgBE,WAAWl7E,IAC3Bm7E,GAAa,EAEXA,EAAehzE,EAAS/qc,IAAI48f,IAAYr3V,UAAUxgJ,GAClD69a,GAAWqxC,GAAsBlpC,EAAU,IAAM,IAAIizE,GAAoBh/V,EAAO,KAClFj6J,IACA07B,GAAS,IAEbm9d,SAAgBjhW,SAASimR,IAClB,CAAE79a,UACb,CAIA,MAAMi5f,GACFjnhB,YAAYioL,EAAOi/V,GACf3mhB,KAAK0nL,MAAQA,EACb1nL,KAAK2mhB,WAAaA,EAClB3mhB,KAAK4+I,KAAO3tH,GAAOmpK,IACnBp6L,KAAKu+D,aAAettC,GAAOg0e,GAAc,CAAEnsd,UAAU,IAErD7nB,GAAOuwf,GAA0B,CAAE1oe,UAAU,KAAS46G,OAAO,EACjE,CACAuoQ,SACI,IACIj8Z,KAAK4+I,KAAKuC,kBAAkBnhJ,KAAK2mhB,WACrC,OACOx9e,GACHnpC,KAAKu+D,cAAcG,YAAYv1B,EACnC,CACJ,EAMJ,MAAMo9e,GACF9mhB,cACIO,KAAK4mhB,oBAAqB,EAC1B5mhB,KAAK6mhB,QAAU,CAEX,CAAChB,GAAiBC,WAAY,IAAIlge,IAClC,CAACige,GAAiBE,OAAQ,IAAInge,IAC9B,CAACige,GAAiBG,gBAAiB,IAAIpge,IACvC,CAACige,GAAiBI,MAAO,IAAIrge,KAEjC5lD,KAAK8mhB,kBAAoB,IAAIlhe,GACjC,CACAy/H,SAASl8H,IAGUnpD,KAAK4mhB,mBAAqB5mhB,KAAK8mhB,kBAAoB9mhB,KAAK6mhB,QAAQ19d,EAASu+H,QACjF37K,IAAIo9C,EACf,CACAq9d,WAAWr9d,GACPnpD,KAAK6mhB,QAAQ19d,EAASu+H,OAAOhgJ,OAAOyhB,GACpCnpD,KAAK8mhB,kBAAkBp/e,OAAOyhB,EAClC,CACAm3Y,UACItgc,KAAK4mhB,oBAAqB,EAC1B,UAAW/wL,KAAUzmU,OAAO3jB,OAAOzL,KAAK6mhB,SACpC,UAAW19d,KAAY0sS,EACnB1sS,EAAS8yW,SAGjBj8Z,KAAK4mhB,oBAAqB,EAC1B,UAAWz9d,KAAYnpD,KAAK8mhB,kBACxB9mhB,KAAK6mhB,QAAQ19d,EAASu+H,OAAO37K,IAAIo9C,GAErCnpD,KAAK8mhB,kBAAkB/xe,OAC3B,CACAtnB,UACI,UAAWooU,KAAUzmU,OAAO3jB,OAAOzL,KAAK6mhB,SACpChxL,EAAO9gT,QAEX/0C,KAAK8mhB,kBAAkB/xe,OAC3B,EAEJ,IAIMsxe,GAAuB,MAA7B,MAAMA,EACF5mhB,cAEIO,KAAK40G,QAAU,KAEf50G,KAAK+mhB,kBAAoB,EAC7B,CAIAzmF,UACItgc,KAAKgnhB,2BACLhnhB,KAAK40G,SAAS0rV,SAClB,CACA0mF,2BAII,MAAMrza,EAAY,IAAI3zG,KAAK+mhB,mBAC3B/mhB,KAAK+mhB,kBAAkB30hB,OAAS,EAChC,UAAW+2D,KAAYwqD,EACnBxqD,GAER,CACAj7C,cACIlO,KAAK40G,SAASnnF,UACdztB,KAAK40G,QAAU,KACf50G,KAAK+mhB,kBAAkB30hB,OAAS,CACpC,QAES4N,KAAKszD,WAAQi/a,GAAmB,CACrCtif,MAAOo2hB,EACP1lhB,WAAY,OACZF,QAASA,IAAM,IAAI4lhB,GACnB,EACP,OAnCKA,CAAuB,KAwC7B,SAASY,GAAW35hB,GAChB,QAAS8hgB,GAAe9hgB,EAC5B,CAwTA,SAAS45hB,GAAqBh8B,EAAO/he,EAAOg+f,GAGxC,IAAIt2f,EAASs2f,EAAcj8B,EAAMr6d,OAAS,KACtC9F,EAAUo8f,EAAcj8B,EAAMnge,QAAU,KACxC8R,EAAO,EACX,GAAc,OAAV1T,EACA,QAASpB,EAAI,EAAGA,EAAIoB,EAAM/2B,OAAQ21B,IAAK,CACnC,MAAMz6B,EAAQ67B,EAAMpB,GACC,iBAAVz6B,EACPuvC,EAAOvvC,EAEM,GAARuvC,EACL9R,EAAUy5d,GAAuBz5d,EAASz9B,GAE7B,GAARuvC,IAGLhM,EAAS2zd,GAAuB3zd,EAFlBvjC,EAEkC,KAD7B67B,IAAQpB,GACyC,KAE5E,CAEJo/f,EAAcj8B,EAAMr6d,OAASA,EAASq6d,EAAMgqB,kBAAoBrkf,EAChEs2f,EAAcj8B,EAAMnge,QAAUA,EAAUmge,EAAMkqB,mBAAqBrqf,CACvE,CAEA,MAAMq8f,WAAiCvF,GAInCpihB,YAAY6jJ,GACR9yG,QACAxwC,KAAKsjJ,SAAWA,CACpB,CACA43U,wBAAwBjnZ,GAEpB,MAAM45a,EAAeI,GAAgBh6a,GACrC,OAAO,IAAIozc,GAAiBx5B,EAAc7tf,KAAKsjJ,SACnD,EAEJ,SAASgkY,GAAWz5hB,GAChB,MAAMstD,EAAQ,GACd,UAAWwzc,KAAc9ggB,EAAK,CAC1B,IAAKA,EAAI+kE,eAAe+7b,GACpB,SAEJ,MAAMrhgB,EAAQO,EAAI8ggB,QACJtggB,IAAVf,GAGJ6tD,EAAMrZ,KAAK,CACP6hd,SAAUryf,MAAMC,QAAQjE,GAASA,EAAM,GAAKA,EAC5Ci6hB,aAAc54B,GAEtB,CACA,OAAOxzc,CACX,CASA,MAAMqse,GACF/nhB,YAAYg0c,EAAUg0E,GAClBznhB,KAAKyzc,SAAWA,EAChBzzc,KAAKynhB,eAAiBA,CAC1B,CACA/+gB,IAAIzY,EAAOq3f,EAAevhZ,GACtBA,EAAQiiZ,GAAkBjiZ,GAC1B,MAAMz4G,EAAQ0S,KAAKyzc,SAAS/qc,IAAIzY,EAAOgyhB,GAAuCl8a,GAC9E,OAAIz4G,IAAU20hB,IACV36B,IAAkB26B,GAMX30hB,EAEJ0S,KAAKynhB,eAAe/+gB,IAAIzY,EAAOq3f,EAAevhZ,EACzD,EAKJ,MAAMshb,WAAyB3F,GAC3B,UAAI/rgB,GACA,MAAMk4e,EAAe7tf,KAAK6tf,aACpB0B,EAAkB1B,EAAa0B,gBAC/Bm4B,EAAWJ,GAAWz5B,EAAal4e,QACzC,GAAwB,OAApB45e,EACA,UAAW3gd,KAAS84e,EACZn4B,EAAgB38b,eAAehkB,EAAM+0c,YACrC/0c,EAAM7kB,UAAYwle,EAAgB3gd,EAAM+0c,WAIpD,OAAO+jC,CACX,CACA,WAAIh3f,GACA,OAAO42f,GAAWtnhB,KAAK6tf,aAAan9d,QACxC,CAKAjxB,YAAYouf,EAAcvqW,GACtB9yG,QACAxwC,KAAK6tf,aAAeA,EACpB7tf,KAAKsjJ,SAAWA,EAChBtjJ,KAAK2nhB,cAAgB95B,EAAa5/e,KAClCjO,KAAK+/J,SAxnab,SAAS6nX,GAAyBC,GAC9B,OAAOA,EAAah6hB,IAAI8+f,IAAsBjhd,KAAK,IACvD,CAsnawBk8e,CAAyB/5B,EAAal/e,WACtD3O,KAAKopB,mBACDyke,EAAazke,mBAAqByke,EAAazke,mBAAqB,GACxEppB,KAAK8nhB,kBAAoBxkY,CAC7B,CACA9tH,OAAOi+a,EAAU4mB,EAAkB0tD,EAAoBC,GACnD,MAAMvmC,EAAe+Q,EAAoB,MACzC,IASI,IAAIy1B,GADJD,EAAsBA,GAAuBhohB,KAAKsjJ,oBACWwuW,GACzDk2B,EACAA,GAAqBv0E,SACrBw0E,GAAuE,OAA5CjohB,KAAK6tf,aAAaP,wBAC7C26B,EACIjohB,KAAK6tf,aAAaP,sBAAsB26B,IACpCA,GAEZ,MAAMC,EAAmBD,EACrB,IAAIT,GAAgB/zE,EAAUw0E,GAC9Bx0E,EACE+iE,GAAkB0R,EAAiBx/gB,IAAIsxL,GAAkB,MAC/D,GAAwB,OAApBw8U,GACA,MAAM,IAAIrzB,GAAa,KAA+C72U,GAK1E,MAAMjwJ,GAAY6rgB,EAAiBx/gB,IAAIknJ,GAAW,MAG5Cn1F,GAAc,CAChB+7c,mBACAn6f,aAEAwigB,mBAAoB,KACpBuH,wBAP4B8B,EAAiBx/gB,IAAI29gB,GAAyB,MAQ1EttB,yBAP6BmvB,EAAiBx/gB,IAAI84gB,GAA0B,OAS1E2G,GAAe3R,GAAgBv9U,eAAe,KAAMj5L,KAAK6tf,cAIzDu6B,GAAcpohB,KAAK6tf,aAAal/e,UAAU,GAAG,IAAM,MACnD8tgB,GAAYsL,EA5xI9B,SAASM,GAAkBlvV,EAAUmvV,EAAmB/+f,EAAekqb,GAUnE,MAAMz7Q,EAHsBy7Q,EAAS/qc,IAAIy/f,IA50FP,IA+0Fa5+e,IAAkBoge,GAAoBE,UAC/EpuU,EAAc0d,EAASrB,kBAAkBwwV,EAAmBtwV,GAClEuwV,OASJ,SAASA,GAA0B9sW,GAC/Bq8V,GAA+Br8V,EACnC,CAXI8sW,CAA0B9sW,GACnBA,CACX,CA+wIgB4sW,CAAkBF,GAAcJ,EAAoB/nhB,KAAK6tf,aAAatke,cAAe2+f,GACrF5Y,GAAkB6Y,GAAcC,GA7GhD,SAASI,GAAaJ,GAClB,MAAM56hB,EAAO46hB,EAAY99hB,cACzB,MAAgB,QAATkD,EAAiBuqgB,GAA0B,SAATvqgB,EA3xWnB,OA2xWyD,IACnF,CA0G6Dg7hB,CAAaJ,KAC9D,IAAIK,GAAY,IACZzohB,KAAK6tf,aAAaN,QAClBk7B,IAAa,KAEPzohB,KAAK6tf,aAAaV,SACxBs7B,IAAa,IAEjB,IAAIlU,GAAgB,KACF,OAAdkI,KACAlI,GAAgBtM,GAAsBwU,GAAWyL,GAAkB,IAGvE,MAAMQ,GAAY1R,GAAY,EAAwB,KAAM,KAAM,EAAG,EAAG,KAAM,KAAM,KAAM,KAAM,KAAM,MAChG2R,GAAYtU,GAAY,KAAMqU,GAAW,KAAMD,GAAW,KAAM,KAAMhud,GAAa0td,GAAcD,EAAkB,KAAM3T,IAO/H,IAAItgc,GACA20c,GAFJ5sB,GAAU2sB,IAGV,IACI,MAAME,GAAmB7ohB,KAAK6tf,aAC9B,IAAIi7B,GACAzP,GAAoB,KACpBwP,GAAiBn5B,uBACjBo5B,GAAiB,GACjBzP,GAAoB,IAAIp2e,IACxB4lf,GAAiBn5B,sBAAsBm5B,GAAkBC,GAAgBzP,IACzEyP,GAAehnf,KAAK+mf,KAIpBC,GAAiB,CAACD,IAEtB,MAAM1S,GAmFtB,SAAS4S,GAAyB5wB,EAAO+P,GACrC,MAAMza,EAAQ0K,EAAMzD,IACdr8e,EAAQy9e,GAEdqC,SAAM9/e,GAAS6vf,EAIRuM,GAAiBhnB,EAAOp1e,EAAO,EAA2B,QAAS,KAC9E,CA5FkC0wgB,CAAyBJ,GAAWlM,IAChDnG,GAwGtB,SAAS0S,GAAwB99B,EAAOuxB,EAAWoM,EAAkBC,EAAgBzY,EAAU51c,EAAa0td,GACxG,MAAM16B,EAAQ4iB,EAAS3b,KAyB3B,SAASu0B,GAA0BH,EAAgB59B,EAAOgd,EAAOigB,GAC7D,UAAWlyW,KAAO6yW,EACd59B,EAAMwoB,YAAchpB,GAAeQ,EAAMwoB,YAAaz9V,EAAIttJ,WAEpC,OAAtBuie,EAAMwoB,cACNwT,GAAqBh8B,EAAOA,EAAMwoB,aAAa,GACjC,OAAVxL,GACAuL,GAAsB0U,EAAcjgB,EAAOhd,GAGvD,CAlCI+9B,CAA0BH,EAAgB59B,EAAOuxB,EAAW0L,GAG5D,IAAI5T,GAAgB,KACF,OAAdkI,IACAlI,GAAgBtM,GAAsBwU,EAAWpM,EAASpb,MAE9D,MAAMi0B,GAAezud,EAAY+7c,gBAAgBv9U,eAAewjV,EAAWoM,GAC3E,IAAIxS,GAAa,GACbwS,EAAiBt7B,QACjB8oB,GAAa,KAERwS,EAAiB17B,SACtBkpB,GAAa,IAEjB,MAAMC,GAAgBjC,GAAYhE,EAAU+F,GAA0ByS,GAAmB,KAAMxS,GAAYhG,EAASnlB,EAAM7ye,OAAQ6ye,EAAOzwb,EAAayud,GAAc,KAAM,KAAM3U,IAChL,OAAI9mB,EAAM0S,iBACNoZ,GAAoB9rB,EAAOvC,EAAO49B,EAAe12hB,OAAS,GAE9DmkhB,GAAclG,EAAUiG,IAEjBjG,EAASnlB,EAAM7ye,OAASi+f,EACnC,CAhIsC0S,CAAwB7S,GAAWsG,GAAWoM,GAAkBC,GAAgBH,GAAWlud,GAAa0td,IAC9HS,GAAevwB,GAASqwB,GAAW5yB,IAI/B2mB,IA4KpB,SAAS0M,GAAsBhB,EAAct6B,EAAc4uB,EAAWsL,GAClE,GAAIA,EAEA39B,GAAgB+9B,EAAc1L,EAAW,CAAC,aAAc,gBAEvD,CAID,MAAQtzf,QAAO4B,WA/3avB,SAASq+f,GAAmCrpX,GACxC,MAAM52I,EAAQ,GACR4B,EAAU,GAChB,IAAIhD,EAAI,EACJ8U,EAAO,EACX,KAAO9U,EAAIg4I,EAAS3tK,QAAQ,CACxB,IAAIy6f,EAAgB9sV,EAASh4I,GAC7B,GAA6B,iBAAlB8ke,EACM,IAAThwd,EACsB,KAAlBgwd,GACA1je,EAAM2Y,KAAK+qd,EAAe9sV,IAAWh4I,IAG3B,IAAT8U,GACL9R,EAAQ+W,KAAK+qd,OAGhB,CAID,IAAKhB,GAAWhvd,GACZ,MACJA,EAAOgwd,CACX,CACA9ke,GACJ,CACA,MAAO,CAAEoB,QAAO4B,UACpB,CAm2amCq+f,CAAmCv7B,EAAal/e,UAAU,IACjFwa,GACAihe,GAAgB+9B,EAAc1L,EAAWtzf,GAEzC4B,GAAWA,EAAQ34B,OAAS,GAC5BohhB,GAAiB2U,EAAc1L,EAAW1xf,EAAQ2gB,KAAK,KAE/D,CACJ,CA5LoBy9e,CAAsBhB,GAAcU,GAAkBpM,GAAWsL,QAE5C15hB,IAArBgse,GA4LpB,SAASgvD,GAAan+B,EAAO9he,EAAoBixc,GAC7C,MAAMk4C,EAAarnB,EAAMqnB,WAAa,GACtC,QAASxqf,EAAI,EAAGA,EAAIqB,EAAmBh3B,OAAQ21B,IAAK,CAChD,MAAMuhgB,EAAejvD,EAAiBtyc,GAMtCwqf,EAAWzwe,KAAqB,MAAhBwnf,EAAuBh4hB,MAAM4lE,KAAKoyd,GAAgB,KACtE,CACJ,CAtMoBD,CAAaT,GAAc5ohB,KAAKopB,mBAAoBixc,GAIxDpmZ,GAoIhB,SAASs1c,GAAoBjT,EAAeuS,EAAkBC,EAAgBzP,EAAmBsP,EAAWa,GACxG,MAAMC,EAAYxvB,KAEZxM,EAAQk7B,EAAUj0B,IAClBrK,GAAS+N,GAAiBqxB,EAAWd,GAC3CnP,GAAqB/rB,EAAOk7B,EAAWc,EAAWX,EAAgB,KAAMzP,GACxE,QAAStxf,GAAI,EAAGA,GAAI+ggB,EAAe12hB,OAAQ21B,KAGvCy/e,GAD0BhF,GAAkBmmB,EAAWl7B,EADhCg8B,EAAUpsB,eAAiBt1e,GAC4B0hgB,GAC3Cd,GAEvCjS,GAA6BjpB,EAAOk7B,EAAWc,GAC3Cp/B,IACAmd,GAAgBnd,GAAQs+B,GAM5B,MAAM10c,GAAYuub,GAAkBmmB,EAAWl7B,EAAOg8B,EAAUpsB,eAAiBosB,EAAUhzB,gBAAiBgzB,GAE5G,GADAnT,EAActhB,IAAW2zB,EAAU3zB,IAAW/gb,GACzB,OAAjBu1c,EACA,UAAWlqC,MAAWkqC,EAClBlqC,GAAQrra,GAAW40c,GAK3B9S,UAAsBtoB,EAAOg8B,EAAWd,GACjC10c,EACX,CAlK4Bs1c,CAAoBjT,GAAeuS,GAAkBC,GAAgBzP,GAAmBsP,GAAW,CAACe,KAChHviN,GAAWuhN,GAAWC,GAAW,KACrC,SAEIjsB,IACJ,CACA,OAAO,IAAIitB,GAAa3phB,KAAK2nhB,cAAe1zc,GAAW0xb,GAAiBijB,GAAcD,IAAYA,GAAWC,GACjH,SAEIp2B,EAAoB/Q,EACxB,CACJ,EAUJ,MAAMkoC,WAAqBlI,GACvBhihB,YAAYkohB,EAAer8E,EAAUz2b,EAAU+0gB,EAAY3lB,GACvDzzd,QACAxwC,KAAK6U,SAAWA,EAChB7U,KAAK4phB,WAAaA,EAClB5phB,KAAKikgB,OAASA,EACdjkgB,KAAK6phB,oBAAsB,KAC3B7phB,KAAKsrc,SAAWA,EAChBtrc,KAAKu7d,SAAWv7d,KAAK8phB,kBAAoB,IAAIzJ,GAAUuJ,OAAYv7hB,GAAqC,GACxG2R,KAAK2nhB,cAAgBA,CACzB,CACAl4B,SAASjigB,EAAMF,GACX,MAAMorhB,EAAY14gB,KAAKikgB,OAAOtuf,OAC9B,IAAI8igB,EACJ,GAAkB,OAAdC,IAAuBD,EAAYC,EAAUlrhB,IAAQ,CAIrD,GAHAwS,KAAK6phB,sBAAwB,IAAI5mf,IAG7BjjC,KAAK6phB,oBAAoBpwf,IAAIjsC,IAC7B4hC,OAAOwzT,GAAG5iV,KAAK6phB,oBAAoBnhhB,IAAIlb,GAAOF,GAC9C,OAEJ,MAAM6qgB,EAAQn4f,KAAK4phB,WACnBjR,GAAqBxgB,EAAMzD,IAAQyD,EAAOsgB,EAAWjrhB,EAAMF,GAC3D0S,KAAK6phB,oBAAoB3mf,IAAI11C,EAAMF,GAEnC8yhB,GAD4B9nB,GAAyBt4f,KAAKikgB,OAAO5rf,MAAO8/e,GAE5E,CASJ,CACA,YAAI1kD,GACA,OAAO,IAAIuwD,GAAahkgB,KAAKikgB,OAAQjkgB,KAAK4phB,WAC9C,CACAn8f,UACIztB,KAAKu7d,SAAS9tc,SAClB,CACAwgJ,UAAU9kH,GACNnpD,KAAKu7d,SAASttT,UAAU9kH,EAC5B,EA8IJ,SAASuge,KACL,MAAMx+B,EAAQ+O,KAEdmD,GAAuBzD,KAAWjF,IAAQxJ,EAC9C,CAEA,IAiDM6+B,GAAgB,MAAtB,MAAMA,SAKO/phB,KAAK8lf,kBAAoBkkC,EAAwB,EAC7D,OANKD,CAAgB,KAatB,SAASC,KAEL,OAAOC,GADehwB,KACmBN,KAC7C,CACA,MAAMuwB,GAAsBH,GAGtBI,GAAqB,cAA+BD,GACtDzqhB,YAAY2qhB,EAAaC,EAAYC,GACjC95e,QACAxwC,KAAKoqhB,YAAcA,EACnBpqhB,KAAKqqhB,WAAaA,EAClBrqhB,KAAKsqhB,WAAaA,CACtB,CACA,WAAIx6f,GACA,OAAO61e,GAAiB3lgB,KAAKqqhB,WAAYrqhB,KAAKsqhB,WAClD,CACA,YAAI72E,GACA,OAAO,IAAIuwD,GAAahkgB,KAAKqqhB,WAAYrqhB,KAAKsqhB,WAClD,CAEA,kBAAI7C,GACA,MAAMroB,EAAiBoB,GAA0BxggB,KAAKqqhB,WAAYrqhB,KAAKsqhB,YACvE,GAAInrB,GAAkBC,GAAiB,CACnC,MAAMM,EAAaJ,GAAsBF,EAAgBp/f,KAAKsqhB,YACxDlqB,EAAgBf,GAAuBD,GAG7C,OAAO,IAAI4E,GADStE,EAAWhL,IAAOtngB,KAAKgzgB,EAAgB,GACtBV,EACzC,CAEI,OAAO,IAAIsE,GAAa,KAAMhkgB,KAAKsqhB,WAE3C,CACAv1e,QACI,KAAO/0C,KAAK5N,OAAS,GACjB4N,KAAKgoB,OAAOhoB,KAAK5N,OAAS,EAElC,CACAsW,IAAI2P,GACA,MAAMmogB,EAAW+J,GAAYvqhB,KAAKoqhB,aAClC,OAAoB,OAAb5J,GAAqBA,EAASnogB,IAAU,IACnD,CACA,UAAIjmB,GACA,OAAO4N,KAAKoqhB,YAAYh4hB,OAAS8jgB,EACrC,CACAr6B,mBAAmBrrc,EAAam+E,EAAS67a,GACrC,IAAInygB,EACAo7b,EAC0B,iBAAnB+2E,EACPnygB,EAAQmygB,EAEe,MAAlBA,IACLnygB,EAAQmygB,EAAenygB,MACvBo7b,EAAW+2E,EAAe/2E,UAE9B,MAAMwpE,EAAiBsE,GAA2BvhhB,KAAKoqhB,YAAa55f,EAAY4mf,OAC1Ex7C,EAAUprc,EAAY4wf,uBAAuBzya,GAAW,CAAC,EAAG8kW,EAAUwpE,GAC5E,OAAAj9gB,KAAKyqhB,WAAW7uD,EAASvjd,EAAOglgB,GAAmBr9gB,KAAKqqhB,WAAYpN,IAC7DrhD,CACX,CACAR,gBAAgBsvD,EAAwBF,EAAgB/2E,EAAU4mB,EAAkB2tD,GAChF,MAAM2C,EAAqBD,IA54YnC,SAASnpI,GAAOxvX,GACZ,MAAoB,mBAANA,CAClB,CA04Y8DwvX,CAAOmpI,GAC7D,IAAIrygB,EAMJ,GAAIsygB,EAQAtygB,EAAQmygB,MAEP,CASD,MAAM5jgB,GAAW4jgB,GAAkB,CAAC,EAIpCnygB,EAAQuO,GAAQvO,MAChBo7b,EAAW7sb,GAAQ6sb,SACnB4mB,EAAmBzzc,GAAQyzc,iBAC3B2tD,EAAsBphgB,GAAQohgB,qBAAuBphgB,GAAQgkgB,WACjE,CACA,MAAM3vD,GAAmB0vD,EACrBD,EACA,IAAIrD,GAAiBp5B,GAAgBy8B,IACnCG,GAAkBp3E,GAAYzzc,KAAKynhB,eAEzC,IAAKO,GAAoD,MAA7B/sD,GAAiB33U,SAAkB,CAqB3D,MAAMhmJ,IAJYqthB,EAAqBE,GAAkB7qhB,KAAKynhB,gBAIrC/+gB,IAAIopf,GAAqB,MAC9Cx0f,KACA0qhB,EAAsB1qhB,GAE9B,CACA,MAAMuwf,GAAeI,GAAgBhzB,GAAiB0sD,eAAiB,CAAC,GAClE1K,GAAiBsE,GAA2BvhhB,KAAKoqhB,YAAav8B,IAAcrlgB,IAAM,MAElF2ye,GAAeF,GAAiBzlc,OAAOq1f,GAAiBxwD,EADhD4iD,IAAgBzogB,YAAc,KAC2CwzgB,GACvF,OAAAhohB,KAAKyqhB,WAAWtvD,GAAaI,SAAUljd,EAAOglgB,GAAmBr9gB,KAAKqqhB,WAAYpN,KAC3E9hD,EACX,CACA5rP,OAAOqsP,EAASvjd,GACZ,OAAOrY,KAAKyqhB,WAAW7uD,EAASvjd,GAAO,EAC3C,CACAoygB,WAAW7uD,EAASvjd,EAAOklgB,GACvB,MAAMplB,EAAQv8B,EAAQsoC,OAItB,GA/tXR,SAAS4mB,GAAwB72R,GAC7B,OAAOqiQ,GAAariQ,EAAKylD,IAC7B,CA6tXYoxO,CAAwB3yB,GAAQ,CAEhC,MAAM4yB,EAAU/qhB,KAAKnO,QAAQ+pe,GAK7B,IAAgB,IAAZmvD,EACA/qhB,KAAKi1B,OAAO81f,OAEX,CACD,MAAMC,GAAiB7yB,EAAMz+M,IAKvBuxO,GAAY,IAAId,GAAmBa,GAAgBA,GAAen2B,IAASm2B,GAAetxO,KAChGuxO,GAAUh2f,OAAOg2f,GAAUp5hB,QAAQ+pe,GACvC,CACJ,CAEA,MAAMsvD,EAAclrhB,KAAKmrhB,aAAa9ygB,GAChCs2f,EAAa3ugB,KAAKoqhB,YACxB9M,UAAqB3O,EAAYxW,EAAO+yB,EAAa3N,GACrD3hD,EAAQ+kD,2BACRj4B,GAAW0iC,GAAoBzc,GAAauc,EAAatvD,GAClDA,CACX,CACAjgQ,KAAKigQ,EAASllB,GAIV,OAAO12c,KAAKuvO,OAAOqsP,EAASllB,EAChC,CACA7kd,QAAQ+pe,GACJ,MAAMyvD,EAAcd,GAAYvqhB,KAAKoqhB,aACrC,OAAuB,OAAhBiB,EAAuBA,EAAYx5hB,QAAQ+pe,IAAW,CACjE,CACA5zc,OAAO3P,GACH,MAAM6ygB,EAAclrhB,KAAKmrhB,aAAa9ygB,GAAO,GACvCizgB,EAAe7vD,GAAWz7d,KAAKoqhB,YAAac,GAC9CI,IAOA3iC,GAAgByiC,GAAoBprhB,KAAKoqhB,aAAcc,GACvD/a,GAAamb,EAAa52B,IAAQ42B,GAE1C,CACAr2f,OAAO5c,GACH,MAAM6ygB,EAAclrhB,KAAKmrhB,aAAa9ygB,GAAO,GACvC47O,EAAOwnO,GAAWz7d,KAAKoqhB,YAAac,GAE1C,OADoBj3R,GAA+E,MAAvE00P,GAAgByiC,GAAoBprhB,KAAKoqhB,aAAcc,GAC9D,IAAI7K,GAAUpsR,GAAQ,IAC/C,CACAk3R,aAAa9ygB,EAAOqlD,EAAQ,GACxB,OAAIrlD,GACOrY,KAAK5N,OAASsrE,CAQ7B,GAEJ,SAAS6sd,GAAY5b,GACjB,OAAOA,EA/uYO,EAgvYlB,CACA,SAASyc,GAAoBzc,GACzB,OAAQA,EAlvYM,KAkvYoBA,EAlvYpB,GAkvY4C,GAC9D,CAQA,SAASsb,GAAmB9T,EAAWkG,GAEnC,IAAI1N,EACJ,MAAMpW,EAAY8jB,EAAUlG,EAAU99f,OACtC,OAAIi+e,GAAaiC,GAEboW,EAAapW,GAMboW,EAAa6M,GAAiBjjB,EAAW8jB,EAAW,KAAMlG,GAC1DkG,EAAUlG,EAAU99f,OAASs2f,EAC7B4H,GAAc8F,EAAW1N,IAE7B4c,GAA0B5c,EAAY0N,EAAWlG,EAAW5d,GACrD,IAAI4xB,GAAmBxb,EAAYwH,EAAWkG,EACzD,CAiBA,IAAIkP,GAsBJ,SAASC,GAAiB7c,EAAY0N,EAAWlG,EAAW5d,GAExD,GAAIoW,EAAW3Y,IACX,OACJ,IAAIy1B,EAMAA,EADiB,EAAjBtV,EAAUlogB,KACIgqf,GAAYM,GAzClC,SAASmzB,GAAiBrP,EAAWlG,GACjC,MAAMh9U,EAAWkjV,EAAUnnB,IAErBu2B,EAActyV,EAAS5B,cAAwC,IAC/DkkV,EAAarjB,GAAiB+d,EAAWkG,GAE/CvN,UAAmB31U,EADQk4U,GAAiBl4U,EAAUsiV,GACLgQ,EAprLrD,SAASE,GAAkBxyV,EAAUhyC,GACjC,OAAOgyC,EAASlB,YAAY9wC,EAChC,CAkrLkEwkY,CAAkBxyV,EAAUsiV,IAAa,GAChGgQ,CACX,CAoCsBC,CAAiBrP,EAAWlG,GAE9CxH,EAAW3Y,IAAUy1B,CACzB,EArCIG,GAAuCA,KAAM,EA+FjD,MAAMC,GACFpshB,YAAYqshB,GACR9rhB,KAAK8rhB,UAAYA,EACjB9rhB,KAAK27F,QAAU,IACnB,CACAh0E,QACI,OAAO,IAAIkkgB,GAAQ7rhB,KAAK8rhB,UAC5B,CACA3kB,WACInngB,KAAK8rhB,UAAU3kB,UACnB,EAEJ,MAAM4kB,GACFtshB,YAAYwxc,EAAU,IAClBjxc,KAAKixc,QAAUA,CACnB,CACA4qB,mBAAmB4xB,GACf,MAAMu+B,EAAWv+B,EAAMx8C,QACvB,GAAiB,OAAb+6E,EAAmB,CACnB,MAAMC,EAAgD,OAAzBx+B,EAAMv9d,eAA0Bu9d,EAAMv9d,eAAe,GAAK87f,EAAS55hB,OAC1F85hB,EAAe,GAKrB,QAASnkgB,EAAI,EAAGA,EAAIkkgB,EAAsBlkgB,IAAK,CAC3C,MAAMokgB,EAASH,EAASI,WAAWrkgB,GAEnCmkgB,EAAapqf,KADQ9hC,KAAKixc,QAAQk7E,EAAOE,wBACV1kgB,QACnC,CACA,OAAO,IAAIokgB,GAAUG,EACzB,CACA,OAAO,IACX,CACA1O,WAAW/vB,GACPztf,KAAKsshB,wBAAwB7+B,EACjC,CACAhyB,WAAWgyB,GACPztf,KAAKsshB,wBAAwB7+B,EACjC,CACAivB,mBAAmBjvB,GACfztf,KAAKsshB,wBAAwB7+B,EACjC,CACA6+B,wBAAwB7+B,GACpB,QAAS1le,EAAI,EAAGA,EAAI/nB,KAAKixc,QAAQ7+c,OAAQ21B,IACD,OAAhCwkgB,GAAU9+B,EAAO1le,GAAG4zE,SACpB37F,KAAKixc,QAAQlpb,GAAGo/e,UAG5B,EAEJ,MAAMqlB,GACF/shB,YAAYonM,EAAW9gG,EAAO8yJ,EAAO,MACjC74P,KAAK+lG,MAAQA,EACb/lG,KAAK64P,KAAOA,EAGR74P,KAAK6mM,UADgB,iBAAdA,EAiVnB,SAAS4lV,GAAyBC,GAC9B,OAAOA,EAAQvhgB,MAAM,KAAKt9B,IAAIyE,GAAKA,EAAE4iB,OACzC,CAlV6Bu3gB,CAAyB5lV,GAGzBA,CAEzB,EAEJ,MAAM8lV,GACFlthB,YAAYwxc,EAAU,IAClBjxc,KAAKixc,QAAUA,CACnB,CACA27E,aAAan/B,EAAOvC,GAGhB,QAASnje,EAAI,EAAGA,EAAI/nB,KAAKixc,QAAQ7+c,OAAQ21B,IACrC/nB,KAAKixc,QAAQlpb,GAAG6kgB,aAAan/B,EAAOvC,EAE5C,CACA2hC,WAAW3hC,GACP,QAASnje,EAAI,EAAGA,EAAI/nB,KAAKixc,QAAQ7+c,OAAQ21B,IACrC/nB,KAAKixc,QAAQlpb,GAAG8kgB,WAAW3hC,EAEnC,CACA6xB,cAAc7xB,GACV,IAAI4hC,EAAwB,KAC5B,QAAS/kgB,EAAI,EAAGA,EAAI/nB,KAAK5N,OAAQ21B,IAAK,CAClC,MAAMglgB,EAA4C,OAA1BD,EAAiCA,EAAsB16hB,OAAS,EAClF46hB,EAAchthB,KAAKoshB,WAAWrkgB,GAAGg1f,cAAc7xB,EAAO6hC,GACxDC,IACAA,EAAYX,uBAAyBtkgB,EACP,OAA1B+kgB,EACAA,EAAsBhrf,KAAKkrf,GAG3BF,EAAwB,CAACE,GAGrC,CACA,OAAiC,OAA1BF,EAAiC,IAAIH,GAAUG,GAAyB,IACnF,CACA/9gB,SAAS0+e,EAAOvC,GAGZ,QAASnje,EAAI,EAAGA,EAAI/nB,KAAKixc,QAAQ7+c,OAAQ21B,IACrC/nB,KAAKixc,QAAQlpb,GAAGhZ,SAAS0+e,EAAOvC,EAExC,CACAkhC,WAAW/zgB,GAEP,OAAOrY,KAAKixc,QAAQ54b,EACxB,CACA,UAAIjmB,GACA,OAAO4N,KAAKixc,QAAQ7+c,MACxB,CACAqsI,MAAMwuZ,GACFjthB,KAAKixc,QAAQnva,KAAKmrf,EACtB,EAEJ,MAAMC,GACFzthB,YAAYu4C,EAAU+gR,GAAY,GAC9B/4T,KAAKg4C,SAAWA,EAChBh4C,KAAK27F,QAAU,KACf37F,KAAKqshB,wBAAyB,EAC9BrshB,KAAKmthB,mBAAoB,EAMzBnthB,KAAKothB,oBAAqB,EAC1BpthB,KAAKqthB,sBAAwBt0N,CACjC,CACA6zN,aAAan/B,EAAOvC,GACZlrf,KAAKsthB,iBAAiBpiC,IACtBlrf,KAAKuthB,WAAW9/B,EAAOvC,EAE/B,CACA2hC,WAAW3hC,GACHlrf,KAAKqthB,wBAA0BniC,EAAM7ye,QACrCrY,KAAKothB,oBAAqB,EAElC,CACAr+gB,SAAS0+e,EAAOvC,GACZlrf,KAAK4shB,aAAan/B,EAAOvC,EAC7B,CACA6xB,cAAc7xB,EAAO6hC,GACjB,OAAI/shB,KAAKsthB,iBAAiBpiC,IACtBlrf,KAAKmthB,mBAAoB,EAGzBnthB,KAAKwthB,UAAUtiC,EAAM7ye,MAAO00gB,GACrB,IAAIG,GAAQlthB,KAAKg4C,WAErB,IACX,CACAs1e,iBAAiBpiC,GACb,GAAIlrf,KAAKothB,oBACsD,GAA1DpthB,KAAKg4C,SAAS+tD,MAA4E,CAC3F,MAAM0nb,EAAqBzthB,KAAKqthB,sBAChC,IAAIhne,EAAS6kc,EAAM7kc,OAWnB,KAAkB,OAAXA,GAAkC,EAAdA,EAAOp4C,MAC9Bo4C,EAAOhuC,QAAUo1gB,GACjBpne,EAASA,EAAOA,OAEpB,OAAOone,KAAmC,OAAXpne,EAAkBA,EAAOhuC,OAAQ,EACpE,CACA,OAAOrY,KAAKothB,kBAChB,CACAG,WAAW9/B,EAAOvC,GACd,MAAMrkT,EAAY7mM,KAAKg4C,SAAS6uJ,UAChC,GAAIv1M,MAAMC,QAAQs1M,GACd,QAAS9+K,EAAI,EAAGA,EAAI8+K,EAAUz0M,OAAQ21B,IAAK,CACvC,MAAMv6B,EAAOq5M,EAAU9+K,GACvB/nB,KAAK0thB,yBAAyBjgC,EAAOvC,EAAOyiC,GAAyBziC,EAAO19f,IAE5EwS,KAAK0thB,yBAAyBjgC,EAAOvC,EAAOqX,GAA0BrX,EAAOuC,EAAOjggB,GAAM,GAAO,GACrG,MAGIq5M,IAAct2K,GACG,EAAb26d,EAAMj9e,MACNjO,KAAK0thB,yBAAyBjgC,EAAOvC,GAAO,GAIhDlrf,KAAK0thB,yBAAyBjgC,EAAOvC,EAAOqX,GAA0BrX,EAAOuC,EAAO5mT,GAAW,GAAO,GAGlH,CACA6mV,yBAAyBjgC,EAAOvC,EAAO0iC,GACnC,GAAqB,OAAjBA,EAAuB,CACvB,MAAM/0R,EAAO74P,KAAKg4C,SAAS6gN,KAC3B,GAAa,OAATA,EACA,GAAIA,IAASqqN,IAAcrqN,IAASkxR,IAChClxR,IAAStoO,IAA6B,EAAb26d,EAAMj9e,KAC/BjO,KAAKwthB,SAAStiC,EAAM7ye,OAAO,OAE1B,CACD,MAAMw1gB,EAAyBtrB,GAA0BrX,EAAOuC,EAAO50P,GAAM,GAAO,GACrD,OAA3Bg1R,GACA7thB,KAAKwthB,SAAStiC,EAAM7ye,MAAOw1gB,EAEnC,MAGA7thB,KAAKwthB,SAAStiC,EAAM7ye,MAAOu1gB,EAEnC,CACJ,CACAJ,SAASM,EAAU93O,GACM,OAAjBh2S,KAAK27F,QACL37F,KAAK27F,QAAU,CAACmyb,EAAU93O,GAG1Bh2S,KAAK27F,QAAQ75D,KAAKgsf,EAAU93O,EAEpC,EAUJ,SAAS23O,GAAyBziC,EAAOnrV,GACrC,MAAMi1W,EAAa9pB,EAAM8pB,WACzB,GAAmB,OAAfA,EACA,QAASjtf,EAAI,EAAGA,EAAIitf,EAAW5ihB,OAAQ21B,GAAK,EACxC,GAAIitf,EAAWjtf,KAAOg4I,EAClB,OAAOi1W,EAAWjtf,EAAI,GAIlC,OAAO,IACX,CAUA,SAASgmgB,GAAoB51B,EAAOjN,EAAO8iC,EAAan1R,GACpD,OAAoB,IAAhBm1R,EAVR,SAASC,GAAwB/iC,EAAOkT,GACpC,OAAkB,GAAdlT,EAAMj9e,KACC03f,GAAiBza,EAAOkT,GAEb,EAAblT,EAAMj9e,KACJozgB,GAAkBn2B,EAAOkT,GAE7B,IACX,CAIe6vB,CAAwB/iC,EAAOiN,IAEjB,IAAhB61B,EASb,SAASE,GAAmB/1B,EAAOjN,EAAOryP,GACtC,OAAIA,IAASqqN,GACFyiD,GAAiBza,EAAOiN,GAE1Bt/P,IAAStoO,GACP8wf,GAAkBn2B,EAAOiN,GAE3Bt/P,IAASkxR,GAEPE,GAAmB/+B,EAAOiN,QAFhC,CAQT,CAtBe+1B,CAAmB/1B,EAAOjN,EAAOryP,GAIjC2pQ,GAAkBrK,EAAOA,EAAMzD,IAAQs5B,EAAa9iC,EAEnE,CAsBA,SAASijC,GAAuB1gC,EAAO0K,EAAOg0B,EAAQiC,GAClD,MAAMC,EAASl2B,EAAM1C,IAASxkD,QAAQm9E,GACtC,GAAuB,OAAnBC,EAAO1yb,QAAkB,CACzB,MAAMy+a,EAAY3sB,EAAMrggB,KAClBkhiB,EAAgBnC,EAAOxwb,QACvBr+F,EAAS,GACf,QAASyqB,GAAI,EAAqB,OAAlBumgB,GAA0BvmgB,GAAIumgB,EAAcl8hB,OAAQ21B,IAAK,EAAG,CACxE,MAAMwmgB,GAAiBD,EAAcvmgB,IAKjCzqB,EAAOwkC,KAJPysf,GAAiB,EAIL,KAKAR,GAAoB51B,EADlBiiB,EAAUmU,IACsBD,EAAcvmgB,GAAI,GAAIokgB,EAAOn0e,SAAS6gN,MAE5F,CACAw1R,EAAO1yb,QAAUr+F,CACrB,CACA,OAAO+whB,EAAO1yb,OAClB,CAKA,SAAS6yb,GAAoB/gC,EAAO0K,EAAOi2B,EAAY9whB,GACnD,MAAM6uhB,EAAS1+B,EAAMx8C,QAAQm7E,WAAWgC,GAClCE,EAAgBnC,EAAOxwb,QAC7B,GAAsB,OAAlB2yb,EAAwB,CACxB,MAAMG,EAAeN,GAAuB1gC,EAAO0K,EAAOg0B,EAAQiC,GAClE,QAASrmgB,EAAI,EAAGA,EAAIumgB,EAAcl8hB,OAAQ21B,GAAK,EAAG,CAC9C,MAAM+lgB,GAAWQ,EAAcvmgB,GAC/B,GAAI+lgB,GAAW,EACXxwhB,EAAOwkC,KAAK2sf,EAAa1mgB,EAAI,QAE5B,CACD,MAAMglgB,GAAkBuB,EAAcvmgB,EAAI,GACpCgof,GAAwB5X,GAAO21B,IAGrC,QAAS/lgB,GAAImue,GAAyBnue,GAAIgof,GAAsB39gB,OAAQ21B,KAAK,CACzE,MAAMi1f,GAAgBjN,GAAsBhof,IACxCi1f,GAAcznB,MAA4BynB,GAActjO,KACxD80O,GAAoBxR,GAActoB,IAAQsoB,GAAe+P,GAAiBzvhB,EAElF,CAGA,GAA2C,OAAvCyygB,GAAsB9Z,IAAuB,CAC7C,MAAMy4B,GAAiB3e,GAAsB9Z,IAC7C,QAASlue,GAAI,EAAGA,GAAI2mgB,GAAet8hB,OAAQ21B,KAAK,CAC5C,MAAMi1f,GAAgB0R,GAAe3mgB,IACrCymgB,GAAoBxR,GAActoB,IAAQsoB,GAAe+P,GAAiBzvhB,EAC9E,CACJ,CACJ,CACJ,CACJ,CACA,OAAOA,CACX,CAYA,SAASqxhB,GAAalhC,EAAO0K,EAAOpyZ,GAChC,MAAM+lb,EAAY,IAAIlggB,KAAmE,GAAxDm6E,IACjC6ob,OAvvKJ,SAASA,GAAwBnhC,EAAO0K,EAAOxpZ,EAASs0Y,GACpD,MAAM6tB,EAAWgL,GAAwB3jB,GAOzC2Y,EAAShve,KAAK6sE,GACV8+Y,EAAM0S,iBACN4b,GAAwBtuB,GAAO3rd,KAAKmhd,EAAW6tB,EAAS1+gB,OAAS,EASzE,CAouKIw8hB,CAAwBnhC,EAAO0K,EAAO2zB,EAAWA,EAAUr+f,UACzC0qe,EAAM1C,MAAa,IAAIs2B,IAAa96E,QACtCnva,KAAK,IAAI+pf,GAAQC,IAAc,CACnD,CA6BA,SAAS+C,GAAaphC,EAAOz1c,EAAU+gR,GACb,OAAlB00L,EAAMx8C,UACNw8C,EAAMx8C,QAAU,IAAI07E,IACxBl/B,EAAMx8C,QAAQxyU,MAAM,IAAIyuZ,GAAQl1e,EAAU+gR,GAC9C,CAQA,SAASwzN,GAAU9+B,EAAOp1e,GAEtB,OAAOo1e,EAAMx8C,QAAQm7E,WAAW/zgB,EACpC,CAMA,SAASy2gB,GAAgB32B,EAAOi2B,GAC5B,MAAM3gC,EAAQ0K,EAAMzD,IACdy3B,EAASI,GAAU9+B,EAAO2gC,GAChC,OAAOjC,EAAOgB,kBAAoBqB,GAAoB/gC,EAAO0K,EAAOi2B,EAAY,IAC5ED,GAAuB1gC,EAAO0K,EAAOg0B,EAAQiC,EACrD,CAKA,SAAS55E,GAASlnd,GACd,MAAwB,mBAAVA,QAA4Ce,IAApBf,EAAM6mhB,EAChD,CAgBA,SAASn+d,GAAO0iF,EAAc9xG,GAC1B27f,GAAuB,aACvB,MAAMwM,EDnogBV,SAASC,GAAat2Z,GAClB,MAAMyuB,EAAO/3H,OAAOoG,OAAOstd,IAC3B37V,EAAK75J,MAAQorI,EACb,MAAMksJ,EAAUA,KACZi8N,GAAiB15V,GACVA,EAAK75J,OAEhBs3R,SAAOg7N,GAAUz4V,EACVy9H,CACX,CC0ngBqBqqQ,CAAev2Z,GAC1ByuB,EAAO4nY,EAAS5a,GACtB,OAAIvtf,GAASy7d,QACTl7V,EAAKk7V,MAAQz7d,EAAQy7d,OAEzB0sC,EAAS7rf,IAAOwkD,GAAawnc,GAAc/nY,EAAMz/D,GACjDqnc,EAAS/8a,OAAUm9a,GD7mgBvB,SAASC,GAAejoY,EAAM8qL,GACrBqvK,MACDmB,KAEJE,GAAYx7V,EAAM8qL,EAAQ9qL,EAAK75J,OACnC,CCwmgBoC+hiB,CAAiBloY,EAAMgoY,GACvDJ,EAASO,WAAaC,GAAmBt4gB,KAAK83gB,GAIvCA,CACX,CACA,SAASQ,KACL,MAAMpoY,EAAOnnJ,KAAKm0gB,GAClB,QAAwB9lhB,IAApB84J,EAAKqoY,WAA0B,CAC/B,MAAMA,EAAaA,IAAMxvhB,OACzBwvhB,EAAWrb,GAAYhtX,EACvBA,EAAKqoY,WAAaA,CACtB,CACA,OAAOroY,EAAKqoY,UAChB,CAIA,SAASC,GAAiBniiB,GACtB,OAAOknd,GAASlnd,IAA+B,mBAAdA,EAAM41C,GAC3C,CAwkBA,SAASwsf,GAA2B//U,GAChC,IAAIggV,EAVR,SAASC,GAAa3hhB,GAClB,OAAOmhB,OAAOmnD,eAAetoE,EAAK65B,WAAWroC,WACjD,CAQoBmwhB,CAAajgV,EAAW1hM,MACpC4hhB,GAAsB,EAC1B,MAAMC,EAAmB,CAACngV,GAC1B,KAAOggV,GAAW,CACd,IAAII,EACJ,GAAIp5B,GAAehnT,GAEfogV,EAAWJ,EAAUjngB,WAAQingB,EAAU13f,cAEtC,CACD,GAAI03f,EAAUjngB,UACV,MAAM,IAAIy6d,GAAa,KAAgD72U,GAI3EyjX,EAAWJ,EAAU13f,SACzB,CACA,GAAI83f,EAAU,CACV,GAAIF,EAAqB,CACrBC,EAAiBhuf,KAAKiuf,GAGtB,MAAMC,EAAergV,EACrBqgV,EAAar6gB,OAASs6gB,GAAiBtgV,EAAWh6L,QAClDq6gB,EAAazgC,gBAAkB0gC,GAAiBtgV,EAAW4/S,iBAC3DygC,EAAaxhC,eAAiByhC,GAAiBtgV,EAAW6+S,gBAC1DwhC,EAAat/f,QAAUu/f,GAAiBtgV,EAAWj/K,SAEnD,MAAMw/f,EAAoBH,EAASlngB,aACnCqngB,GAAqBC,GAAoBxgV,EAAYugV,GAErD,MAAME,GAAiBL,EAASz/f,UAC1B+/f,GAAsBN,EAAS7/f,eAQrC,GAPAkggB,IAAkBE,GAAiB3gV,EAAYygV,IAC/CC,IAAuBE,GAAsB5gV,EAAY0gV,IAEzDG,GAA0B7gV,EAAYogV,GACtC1rC,GAAe10S,EAAWj/K,QAASq/f,EAASr/f,SAGxCime,GAAeo5B,IAAaA,EAAS3iiB,KAAK0jC,UAAW,CAGrD,MAAM2/f,GAAU9gV,EAAWviN,KAC3BqjiB,GAAQ3/f,WAAa2/f,GAAQ3/f,WAAa,IAAIrjC,OAAOsiiB,EAAS3iiB,KAAK0jC,UACvE,CACJ,CAEA,MAAM5H,EAAW6mgB,EAAS7mgB,SAC1B,GAAIA,EACA,QAASnB,EAAI,EAAGA,EAAImB,EAAS92B,OAAQ21B,IAAK,CACtC,MAAMu3d,EAAUp2d,EAASnB,GACrBu3d,GAAWA,EAAQsY,WACnBtY,EAAQ3vS,GASR2vS,IAAYowC,KACZG,GAAsB,EAE9B,CAER,CACAF,EAAYvggB,OAAOmnD,eAAeo5c,EACtC,EAuCJ,SAASe,GAAgCZ,GACrC,IAAIlngB,EAAW,EACXD,EAAY,KAEhB,QAASZ,EAAI+ngB,EAAiB19hB,OAAS,EAAG21B,GAAK,EAAGA,IAAK,CACnD,MAAMkuJ,EAAM65W,EAAiB/ngB,GAE7BkuJ,EAAIrtJ,SAAYA,GAAYqtJ,EAAIrtJ,SAEhCqtJ,EAAIttJ,UACA+he,GAAez0U,EAAIttJ,UAAWA,EAAY+he,GAAe/he,EAAWstJ,EAAIttJ,WAChF,CACJ,CAlDI+ngB,CAAgCZ,EACpC,CACA,SAASU,GAA0B1ne,EAAQhV,GACvC,UAAW5S,KAAO4S,EAAOn+B,OAAQ,CAI7B,IAHKm+B,EAAOn+B,OAAOi9C,eAAe1xB,IAG9B4nB,EAAOnzC,OAAOi9C,eAAe1xB,GAC7B,SAEJ,MAAM5zC,EAAQwmD,EAAOn+B,OAAOurB,GAC5B,QAAc7yC,IAAVf,IAGJw7D,EAAOnzC,OAAOurB,GAAO5zC,EACrBw7D,EAAO0lc,eAAettd,GAAO4S,EAAO06c,eAAettd,GAIpB,OAA3B4S,EAAOy7c,iBAA0B,CAGjC,MAAMohC,EAAer/hB,MAAMC,QAAQjE,GAASA,EAAM,GAAKA,EACvD,IAAKwmD,EAAOy7c,gBAAgB38b,eAAe+9d,GACvC,SAEJ7ne,EAAOymc,kBAAoB,CAAC,EAC5Bzmc,EAAOymc,gBAAgBohC,GAAgB78e,EAAOy7c,gBAAgBohC,EAClE,CACJ,CACJ,CAqBA,SAASV,GAAiB3iiB,GACtB,OAAIA,IAAU87f,GACH,CAAC,EAEH97f,IAAU28e,GACR,GAGA38e,CAEf,CACA,SAASgjiB,GAAiB3gV,EAAYygV,GAClC,MAAMQ,EAAgBjhV,EAAWr/K,UAE7Bq/K,EAAWr/K,UADXsggB,EACuB,CAAC5hhB,EAAIC,KACxBmhhB,EAAephhB,EAAIC,GACnB2hhB,EAAc5hhB,EAAIC,EAAG,EAIFmhhB,CAE/B,CACA,SAASG,GAAsB5gV,EAAY0gV,GACvC,MAAMQ,EAAqBlhV,EAAWz/K,eAElCy/K,EAAWz/K,eADX2ggB,EAC4B,CAAC7hhB,EAAIC,EAAKw0f,KAClC4sB,EAAoBrhhB,EAAIC,EAAKw0f,GAC7BotB,EAAmB7hhB,EAAIC,EAAKw0f,EAAc,EAIlB4sB,CAEpC,CACA,SAASF,GAAoBxgV,EAAYugV,GACrC,MAAMY,EAAmBnhV,EAAW9mL,aAEhC8mL,EAAW9mL,aADXiogB,EAC0B,CAAC9hhB,EAAIC,KAC3BihhB,EAAkBlhhB,EAAIC,GACtB6hhB,EAAiB9hhB,EAAIC,EAAG,EAIFihhB,CAElC,CA0OA,SAASa,GAAyBphV,GAC9B,MAAMh6L,EAASg6L,EAAW6/S,YACpBD,EAAkB,CAAC,EACzB,UAAWb,KAAe/4e,EACtB,GAAIA,EAAOi9C,eAAe87b,GAAc,CAGpC,MAAMphgB,EAAQqoB,EAAO+4e,GACjBp9f,MAAMC,QAAQjE,IAAUA,EAAM,KAC9BiigB,EAAgBb,GAAephgB,EAAM,GAE7C,CAEJqiN,EAAW4/S,gBAAkBA,CACjC,CAQA,MAAMyhC,IAaN,MAAMC,IAaN,SAASC,GAAe5tY,EAAUmkY,GAC9B,OAAO,IAAI0J,GAAY7tY,EAAUmkY,GAAkB,KAAM,GAC7D,CAQA,MAAM0J,WAAoBH,GACtBvxhB,YAAYq0f,EAAcs9B,EAAStsB,GAC/Bt0d,QACAxwC,KAAKoxhB,QAAUA,EAEfpxhB,KAAKqxhB,qBAAuB,GAC5BrxhB,KAAKsxhB,WAAa,GAOlBtxhB,KAAKo6d,yBAA2B,IAAIgtD,GAAyBpnhB,MAC7D,MAAMqvf,EAAcD,GAAe0E,GAGnC9zf,KAAKqxhB,qBAAuBljB,GAAc9e,EAAYl8K,WACtDnzU,KAAKuxhB,YAAcxsB,GAAuCjR,EAAcs9B,EAAS,CAC7E,CAAEzggB,QAASqggB,GAAe5ud,SAAUpiE,MAAQ,CACxC2wB,QAASkxf,GACTz/c,SAAUpiE,KAAKo6d,6BAEhB0qC,GACJ/5d,GAAU+od,GAAe,IAAIluc,IAAI,CAAC,iBAIrC5lD,KAAKuxhB,YAAYl+B,8BACjBrzf,KAAKsrc,SAAWtrc,KAAKuxhB,YAAY7ohB,IAAIorf,EACzC,CACA,YAAIrgD,GACA,OAAOzzc,KAAKuxhB,WAChB,CACA9jgB,UAEI,MAAMgmb,EAAWzzc,KAAKuxhB,aACrB99E,EAAShpR,WAAagpR,EAAShmb,UAChCztB,KAAKsxhB,WAAWlmgB,QAAQzO,GAAMA,KAC9B3c,KAAKsxhB,WAAa,IACtB,CACArjX,UAAU9kH,GAENnpD,KAAKsxhB,WAAWxvf,KAAKqnB,EACzB,EAEJ,MAAMqoe,WAAwBP,GAC1BxxhB,YAAYgyhB,GACRjhf,QACAxwC,KAAKyxhB,WAAaA,CACtB,CACAj8f,OAAOiyf,GACH,OAAO,IAAI0J,GAAYnxhB,KAAKyxhB,WAAYhK,EAAgB,GAC5D,EAKJ,MAAMiK,WAAsCV,GACxCvxhB,YAAYzP,GACRwgD,QACAxwC,KAAKo6d,yBAA2B,IAAIgtD,GAAyBpnhB,MAC7DA,KAAKsrc,SAAW,KAChB,MAAMmI,EAAW,IAAIs+C,GAAW,IACzB/hgB,EAAOqoC,UACV,CAAE1H,QAASqggB,GAAe5ud,SAAUpiE,MACpC,CAAE2wB,QAASkxf,GAA4Bz/c,SAAUpiE,KAAKo6d,2BACvDpqe,EAAOq2D,QAAUwrc,KAAmB7hgB,EAAO2hiB,UAAW,IAAI/re,IAAI,CAAC,iBAClE5lD,KAAKyzc,SAAWA,EACZzjd,EAAO4hiB,4BACPn+E,EAAS4/C,6BAEjB,CACA5le,UACIztB,KAAKyzc,SAAShmb,SAClB,CACAwgJ,UAAU9kH,GACNnpD,KAAKyzc,SAASxlS,UAAU9kH,EAC5B,EAeJ,SAAS0oe,GAA0Bx5f,EAAWguB,EAAQsre,EAAY,MAE9D,OADgB,IAAID,GAA8B,CAAEr5f,YAAWguB,SAAQsre,YAAWC,4BAA4B,IAC/Fn+E,QACnB,CAyIA,IAUMq+E,GAAY,MAAlB,MAAMA,EACFryhB,cACIO,KAAKm8e,OAAS,EACdn8e,KAAKi8e,aAAe,IAAIr2b,IACxB5lD,KAAK+xhB,gBAAkB,IAAIp7gB,MAAgB,EAC/C,CACA,oBAAIq7gB,GACA,OAAOhyhB,KAAK+xhB,gBAAgBzkiB,KAChC,CACAye,MACS/L,KAAKgyhB,kBACNhyhB,KAAK+xhB,gBAAgBplhB,MAAK,GAE9B,MAAMwve,EAASn8e,KAAKm8e,SACpB,OAAAn8e,KAAKi8e,aAAalwe,IAAIowe,GACfA,CACX,CACAn0d,OAAOm0d,GACHn8e,KAAKi8e,aAAav0c,OAAOy0c,GACM,IAA3Bn8e,KAAKi8e,aAAa3gZ,MAAct7F,KAAKgyhB,kBACrChyhB,KAAK+xhB,gBAAgBplhB,MAAK,EAElC,CACAuB,cACIlO,KAAKi8e,aAAalnc,QACd/0C,KAAKgyhB,kBACLhyhB,KAAK+xhB,gBAAgBplhB,MAAK,EAElC,QACS3M,KAAKU,UAAO,SAA8B6N,GAAK,OAAO,IAAKA,GAAKujhB,EAAiB,CAAG,QACpF9xhB,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAO6hiB,EAAcrxhB,QAASqxhB,EAAapxhB,UAAMC,WAAY,QAAW,EACpI,OA/BKmxhB,CAAY,KAwClB,SAASG,GAAmBhxf,GACxB,QAAKixf,GAAWjxf,KAET3vC,MAAMC,QAAQ0vC,MACdA,aAAegC,MACduwN,OAAOijB,YAAYx1O,EAC/B,CA6BA,SAASixf,GAAWp7c,GAChB,OAAa,OAANA,IAA4B,mBAANA,GAAiC,iBAANA,EAC5D,CAsBA,SAASq7c,GAAch6B,EAAO0C,EAAcvtgB,GACxC,OAAO6qgB,EAAM0C,GAAgBvtgB,CACjC,CAqBA,SAAS8kiB,GAAej6B,EAAO0C,EAAcvtgB,GAKzC,OAAI8hC,OAAOwzT,GADMu1K,EAAM0C,GACCvtgB,KAkBpB6qgB,EAAM0C,GAAgBvtgB,GACf,EAEf,CAEA,SAAS+kiB,GAAgBl6B,EAAO0C,EAAcy3B,EAAMC,GAChD,MAAMC,EAAYJ,GAAej6B,EAAO0C,EAAcy3B,GACtD,OAAOF,GAAej6B,EAAO0C,EAAe,EAAG03B,IAASC,CAC5D,CAEA,SAASC,GAAgBt6B,EAAO0C,EAAcy3B,EAAMC,EAAMG,GACtD,MAAMF,EAAYH,GAAgBl6B,EAAO0C,EAAcy3B,EAAMC,GAC7D,OAAOH,GAAej6B,EAAO0C,EAAe,EAAG63B,IAASF,CAC5D,CAkDA,SAASG,GAAWt6gB,EAAOu9f,EAAYhngB,EAAOC,EAAM85I,EAASiqY,EAAYC,EAAgBhc,GACrF,MAAM1e,GAAQwB,KACRlM,GAAQmM,KACRwjB,GAAgB/kgB,EAAQy9e,GACxB5K,GAAQuC,GAAM0S,gBAtCxB,SAAS2yB,GAAwBz6gB,EAAOo1e,EAAO0K,EAAOyd,EAAYhngB,EAAOC,EAAM85I,EAASiqY,EAAYC,IAGhG,MAAME,GAActlC,EAAM3+e,OAEpBo8e,GAAQupB,GAAiBhnB,EAAOp1e,EAAO,EAA6BswI,GAAW,KAAM8vW,GAAYs6B,GAAaH,IACpH5Z,EAAkBvrB,EAAO0K,EAAOjN,GAAOuN,GAAYs6B,GAAaF,KAChEz1B,GAAuB3P,EAAOvC,IAC9B,MAAM6xB,GAAgB7xB,GAAMuC,MAAQupB,GAAY,EAA4B9rB,GAAO0qB,EAAYhngB,EAAOC,EAAM4+e,EAAMmqB,kBAAmBnqB,EAAMoqB,aAAc,KAAMpqB,EAAMD,QAASulC,GAAa,MAC3L,OAAsB,OAAlBtlC,EAAMx8C,UACNw8C,EAAMx8C,QAAQlic,SAAS0+e,EAAOvC,IAC9B6xB,GAAc9rE,QAAUw8C,EAAMx8C,QAAQ8rE,cAAc7xB,KAEjDA,EACX,CAwB0C4nC,CAAwB1V,GAAe3vB,GAAO0K,GAAOyd,EAAYhngB,EAAOC,EAAM85I,EAASiqY,EAAYC,GACrIplC,GAAMrggB,KAAKgwhB,IACf9iB,GAAgBpP,IAAO,GACvB,MAAMh7I,GAAU8iL,GAA+BvlC,GAAO0K,GAAOjN,GAAO7ye,GAChE6kf,MACAzod,GAAYg5c,GAAO0K,GAAOjoJ,GAASg7I,IAEvCsc,GAAgBt3J,GAASioJ,IACzB,MAAMwW,GAAa6M,GAAiBtrK,GAASioJ,GAAOjoJ,GAASg7I,IAC7DiN,UAAMilB,IAAiBzO,GACvB4H,GAAcpe,GAAOwW,IAhhEzB,SAASskB,GAAoCtkB,EAAYzjB,EAAOmxB,GAC5D,OAAOuP,GAAqCjd,EAAYzjB,EAAOmxB,EACnE,CAkhEI4W,CAAoCtkB,GAAYzjB,GAAOiN,IACnDzB,GAAgBxL,KAChB8qB,GAA0BvoB,GAAO0K,GAAOjN,IAEtB,MAAlB2nC,GACAlc,GAAyBxe,GAAOjN,GAAO2rB,GAEpC8b,EACX,CACA,IAAIK,GAIJ,SAASE,GAA0BzlC,EAAO0K,EAAOjN,EAAO7ye,GACpD8kf,WAAmB,GACZhF,EAAMjD,IAAU39T,cAAwC,GACnE,EAwgDA,SAAS47V,GAAY3liB,EAAMF,EAAO+uB,EAAWi7K,GACzC,MAAM6gU,EAAQwB,KAQd,OANIy4B,GAAej6B,EADE2C,IACmBxtgB,KACtBssgB,KA1vPtB,SAASw5B,GAAyBloC,EAAOiN,EAAO3qgB,EAAMF,EAAO+uB,EAAWi7K,GAOpE,MAAMxnK,EAAUsoe,GAAiBlN,EAAOiN,GACxCkjB,GAAoBljB,EAAMjD,IAAWple,EAASwnK,EAAW4zT,EAAM59f,MAAOE,EAAMF,EAAO+uB,EACvF,CAmvPQ+2gB,CADcv2B,KACkB1E,EAAO3qgB,EAAMF,EAAO+uB,EAAWi7K,IAG5D67V,EACX,CAyCA,SAASE,GAAel7B,EAAO1ud,EAAQ6pf,EAAIC,GAEvC,OADkBnB,GAAej6B,EAAO2C,IAAoBw4B,GACzC7pf,EAAS+8c,GAAgB8sC,GAAMC,EAAS3f,EAC/D,CAqdA,SAAS4f,GAAgB3rR,EAAMl7P,GAG3B,OAAQk7P,GAAQ,GAAmCl7P,GAAQ,CAC/D,CACA,SAAS8mhB,GAAqBC,GAE1B,OAAQA,GAAiB,GAAoC,KACjE,CAUA,SAASC,GAA8BD,GAEnC,OAAwB,EAAhBA,CACZ,CACA,SAASE,GAAqBF,GAE1B,OAAwB,OAAhBA,IAAwD,CACpE,CACA,SAASG,GAAqBH,EAAe/mhB,GAGzC,OAAyB,OAAhB+mhB,EACL/mhB,GAAQ,CAChB,CAKA,SAASmnhB,GAA8BJ,GAEnC,OAAwB,EAAhBA,CACZ,CAoVA,SAASK,GAAex4B,EAAOy4B,EAAa37gB,EAAO47gB,GAC/C,MAAMC,EAAkB34B,EAAMljf,EAAQ,GAChCsgY,EAAwB,OAAhBq7I,EACd,IAAI3uT,EAAS4uT,EAAYR,GAAqBS,GAAmBN,GAAqBM,GAClFC,GAAiB,EAMrB,KAAkB,IAAX9uT,KAAoC,IAAnB8uT,GAA4Bx7I,IAAQ,CAExD,MACMy7I,GAAsB74B,EAAMl2R,EAAS,GACvCgvT,GAF0B94B,EAAMl2R,GAEM2uT,KACtCG,GAAiB,EACjB54B,EAAMl2R,EAAS,GAAK4uT,EAAYH,GAA8BM,IAC1DT,GAA8BS,KAEtC/uT,EAAS4uT,EAAYR,GAAqBW,IACtCR,GAAqBQ,GAC7B,CACID,IAEA54B,EAAMljf,EAAQ,GAAK47gB,EAAYN,GAA8BO,GACzDJ,GAA8BI,GAE1C,CAmBA,SAASG,GAAeC,EAAmBN,GAGvC,OAA0B,OAAtBM,GAEe,MAAfN,IAEC1iiB,MAAMC,QAAQ+iiB,GAAqBA,EAAkB,GAAKA,KACvDN,MAIC1iiB,MAAMC,QAAQ+iiB,IAA6C,iBAAhBN,IAGzClrC,GAAqBwrC,EAAmBN,IAC3C,CAGZ,CAGA,MAAMO,GAAc,CAChBC,QAAS,EACTtzf,IAAK,EACLuzf,OAAQ,EACRnniB,MAAO,EACPoniB,SAAU,GAMd,SAASC,GAAiBh+e,GACtB,OAAOA,EAAKthC,UAAUk/gB,GAAYrzf,IAAKqzf,GAAYE,OACvD,CAwCA,SAASG,GAAmBj+e,EAAMt+B,GAC9B,MAAMsxF,EAAM4qb,GAAYC,QACxB,OAAI7qb,IAAQtxF,GACD,GAEXA,EAAQk8gB,GAAYE,OAmFxB,SAASI,GAAkBl+e,EAAMq6H,EAAYiyV,GACzC,KAAOjyV,EAAaiyV,GAAYtsd,EAAKrM,WAAW0mI,GAAc,IAC1DA,IAEJ,OAAOA,CACX,CAxFiC6jX,CAAkBl+e,EAAM49e,GAAYrzf,IAAM7oB,EAAOsxF,GACvEmrb,GAAkBn+e,EAAMt+B,EAAOsxF,GAC1C,CAmEA,SAASmrb,GAAkBn+e,EAAMq6H,EAAYiyV,GACzC,KAAOjyV,EAAaiyV,GAAYtsd,EAAKrM,WAAW0mI,IAAe,IAC3DA,IAEJ,OAAOA,CACX,CA+IA,SAAS+jX,GAAWpxC,EAAUr2f,EAAO+uB,GACjC,MAAM87e,EAAQwB,KAQd,OANIy4B,GAAej6B,EADE2C,IACmBxtgB,IAGpCirhB,GAFc3e,KACAiD,KACwB1E,EAAOxU,EAAUr2f,EAAO6qgB,EAAMjD,IAAW74e,GAAW,GAGvF04gB,EACX,CAKA,SAASC,GAAsCvnC,EAAOvC,EAAOiN,EAAO7qgB,EAAO2niB,GACvE,MACMpqc,EAAWoqc,EAAe,QAAU,QAE1Ctc,GAAqBlrB,EAAO0K,EAHbjN,EAAMv1e,OAGqBk1E,GAAWA,EAAUv9F,EACnE,CAqBA,SAAS4niB,GAAYl+c,EAAM1pF,EAAOimiB,GAC9B4B,UAAqBn+c,EAAM1pF,EAAOimiB,GAAQ,GACnC2B,EACX,CAgBA,SAASE,GAAY/pgB,EAAW/9B,GAC5B6niB,UAAqB9pgB,EAAW/9B,EAAO,MAAM,GACtC8niB,EACX,CAuDA,SAASC,GAAWtqgB,GAChBuqgB,GAAgBC,GAAuBC,GAAmBzqgB,GAAS,EACvE,CAUA,SAASyqgB,GAAkB3sC,EAAelyc,GACtC,QAAS5uB,EApXb,SAAS0tgB,GAAe9+e,GACpB++e,OA4EJ,SAASA,GAAiB/+e,GACtB49e,GAAYrzf,IAAM,EAClBqzf,GAAYE,OAAS,EACrBF,GAAYjniB,MAAQ,EACpBiniB,GAAYG,SAAW,EACvBH,GAAYC,QAAU79e,EAAKvkD,MAC/B,CAlFIsjiB,CAAiB/+e,GACVi+e,GAAmBj+e,EAAMm+e,GAAkBn+e,EAAM,EAAG49e,GAAYC,SAC3E,CAiXiBiB,CAAe9+e,GAAO5uB,GAAK,EAAGA,EAAI6sgB,GAAmBj+e,EAAM5uB,GACpE6ge,GAAiBC,EAAe8rC,GAAiBh+e,IAAO,EAEhE,CASA,SAASw+e,GAAqBn+c,EAAM1pF,EAAOimiB,EAAQ0B,GAC/C,MAAM98B,EAAQwB,KACRlM,EAAQmM,KAIRiB,EAAeE,GAAsB,GACvCtN,EAAMgqB,iBACNke,GAAuBloC,EAAOz2a,EAAM6jb,EAAco6B,GAElD3niB,IAAUsmhB,IAAawe,GAAej6B,EAAO0C,EAAcvtgB,IAE3DsoiB,GAAcnoC,EADAA,EAAMrggB,KAAKuvgB,MACGxE,EAAOA,EAAMjD,IAAWl+a,EAAMmhb,EAAM0C,EAAe,GAunBvF,SAASg7B,GAAgBvoiB,EAAOimiB,GAC5B,OAAa,MAATjmiB,GAA2B,KAAVA,IAMM,iBAAXimiB,EACZjmiB,GAAgBimiB,EAEM,iBAAVjmiB,IACZA,EAAQy9C,GAAUm+d,GAAgB57gB,MAE/BA,CACX,CAroB4FuoiB,CAAgBvoiB,EAAOimiB,GAAS0B,EAAcp6B,EAE1I,CAWA,SAASy6B,GAAgB1sC,EAAkBktC,EAAcxoiB,EAAO2niB,GAC5D,MAAMxnC,EAAQmM,KACRiB,EAAeE,GAAsB,GACvCtN,EAAMgqB,iBACNke,GAAuBloC,EAAO,KAAMoN,EAAco6B,GAEtD,MAAM98B,EAAQwB,KACd,GAAIrsgB,IAAUsmhB,IAAawe,GAAej6B,EAAO0C,EAAcvtgB,GAAQ,CAGnE,MAAM49f,EAAQuC,EAAMrggB,KAAKuvgB,MACzB,GAAIo5B,GAAsB7qC,EAAO+pC,KAAkBe,GAAiBvoC,EAAOoN,GAAe,CActF,IAAIo7B,GAAehB,EAAe/pC,EAAMkqB,mBAAqBlqB,EAAMgqB,kBAG9C,OAAjB+gB,KAEA3oiB,EAAQk3f,GAAuByxC,GAAc3oiB,GAAgB,KAIjE0niB,GAAsCvnC,EAAOvC,EAAOiN,EAAO7qgB,EAAO2niB,EACtE,MA4YR,SAASiB,GAAiBzoC,EAAOvC,EAAOiN,EAAOh/T,EAAUg9V,EAAkBC,EAAkBnB,EAAcp6B,GACnGs7B,IAAqBviB,KAErBuiB,EAAmBlsD,IAEvB,IAAI7iE,GAAW,EACXsvC,GAAW,EACX2/E,GAAS,EAAIF,EAAiB/jiB,OAAS+jiB,EAAiB,GAAK,KAC7D71M,GAAS,EAAI81M,EAAiBhkiB,OAASgkiB,EAAiB,GAAK,KACjE,KAAkB,OAAXC,IAA8B,OAAX/1M,IAAiB,CAGvC,MAAMpuJ,GAAWk1O,GAAW+uH,EAAiB/jiB,OAAS+jiB,EAAiB/uH,GAAW,QAAK/4a,EACjFq5F,GAAWgvX,GAAW0/E,EAAiBhkiB,OAASgkiB,EAAiB1/E,GAAW,QAAKrod,EACvF,IACI8d,GADAmqhB,GAAS,KAETD,KAAW/1M,IAEX8mF,IAAY,EACZsvC,IAAY,EACRxkR,KAAaxqG,KACb4uc,GAASh2M,GACTn0U,GAAWu7E,KAGC,OAAX44P,IAA8B,OAAX+1M,IAAmBA,GAAS/1M,IAKpD8mF,IAAY,EACZkvH,GAASD,KAOT3/E,IAAY,EACZ4/E,GAASh2M,GACTn0U,GAAWu7E,IAEA,OAAX4uc,IACAV,GAAcnoC,EAAOvC,EAAOiN,EAAOh/T,EAAUm9V,GAAQnqhB,GAAU8ohB,EAAcp6B,GAEjFw7B,GAASjvH,GAAW+uH,EAAiB/jiB,OAAS+jiB,EAAiB/uH,IAAY,KAC3E9mF,GAASo2H,GAAW0/E,EAAiBhkiB,OAASgkiB,EAAiB1/E,IAAY,IAC/E,CACJ,CA1bYw/E,CAAiBzoC,EAAOvC,EAAOiN,EAAOA,EAAMjD,IAAWiD,EAAM0C,EAAe,GAAI1C,EAAM0C,EAAe,GA8TjH,SAAS07B,GAAuB3tC,EAAkBktC,EAAcxoiB,GAC5D,GAAa,MAATA,GAAuD,KAAVA,EAC7C,OAAO28e,GACX,MAAMusD,EAAqB,GACrBC,EAAiBvtB,GAAgB57gB,GACvC,GAAIgE,MAAMC,QAAQkliB,GACd,QAAS1ugB,EAAI,EAAGA,EAAI0ugB,EAAerkiB,OAAQ21B,IACvC6ge,EAAiB4tC,EAAoBC,EAAe1ugB,IAAI,QAAI,GAGjC,iBAAnB0ugB,EACZ,UAAWv1f,KAAOu1f,EACVA,EAAe7je,eAAe1xB,IAC9B0nd,EAAiB4tC,EAAoBt1f,EAAKu1f,EAAev1f,QAIlC,iBAAnBu1f,GACZX,EAAaU,EAAoBC,GAMrC,OAAOD,CACX,CAvVsHD,CAAuB3tC,EAAkBktC,EAAcxoiB,GAAQ2niB,EAAcp6B,EAE/L,CACJ,CAOA,SAASm7B,GAAiBvoC,EAAOoN,GAE7B,OAAOA,GAAgBpN,EAAM8pB,iBACjC,CAUA,SAASoe,GAAuBloC,EAAOumC,EAAan5B,EAAco6B,GAE9D,MAAM15B,EAAQ9N,EAAMrggB,KACpB,GAAgC,OAA5BmugB,EAAMV,EAAe,GAAa,CAMlC,MAAM3P,EAAQqQ,EAAMoB,MAEd+5B,EAAiBV,GAAiBvoC,EAAOoN,GAC3Ck7B,GAAsB7qC,EAAO+pC,IAAiC,OAAhBjB,IAAyB0C,IAKvE1C,GAAc,GAElBA,EAkBR,SAAS2C,GAAuBp7B,EAAOrQ,EAAO0rC,EAAY3B,GACtD,MAAM4B,EAAmBv7B,GAAuBC,GAChD,IAAIu7B,EAAW7B,EAAe/pC,EAAMmqB,gBAAkBnqB,EAAMiqB,eAC5D,GAAyB,OAArB0hB,EAK2G,KAA9D5B,EAAe/pC,EAAMoqB,cAAgBpqB,EAAMqqB,iBAMpFqhB,EAAaG,GADbH,EAAaI,GAA6B,KAAMz7B,EAAOrQ,EAAO0rC,EAAY3B,GACxB/pC,EAAM/he,MAAO8rgB,GAE/D6B,EAAW,UAGd,CAGD,MAAMhiB,EAAuB5pB,EAAM4pB,qBAEnC,IADwE,IAAzBA,GAA+BvZ,EAAMuZ,KAA0B+hB,EAI1G,GAFAD,EACII,GAA6BH,EAAkBt7B,EAAOrQ,EAAO0rC,EAAY3B,GAC5D,OAAb6B,EAAmB,CAOnB,IAAIG,GAuCpB,SAASC,GAA2B37B,EAAOrQ,EAAO+pC,GAC9C,MAAM3c,EAAW2c,EAAe/pC,EAAMoqB,cAAgBpqB,EAAMqqB,cAC5D,GAAuC,IAAnCqe,GAAqBtb,GAIzB,OAAO/c,EAAMk4B,GAAqBnb,GACtC,CA9CyC4e,CAA2B37B,EAAOrQ,EAAO+pC,QACvC5miB,IAAvB4oiB,IAAoC3liB,MAAMC,QAAQ0liB,MAIlDA,GAAqBD,GAA6B,KAAMz7B,EAAOrQ,EAAO+rC,GAAmB,GAAkChC,GAC3HgC,GACIF,GAAyBE,GAAoB/rC,EAAM/he,MAAO8rgB,GA4FlF,SAASkC,GAA2B57B,EAAOrQ,EAAO+pC,EAAcjB,GAI5Dz4B,EAAMk4B,GAHWwB,EAAe/pC,EAAMoqB,cAAgBpqB,EAAMqqB,gBAGpBye,CAC5C,CAhGoBmD,CAA2B57B,EAAOrQ,EAAO+pC,EAAcgC,IAE/D,MAOIH,EAkGhB,SAASM,GAAgB77B,EAAOrQ,EAAO+pC,GACnC,IAAI6B,EACJ,MAAMx5B,EAAepS,EAAMoS,aAK3B,QAASv1e,EAAI,EAAImje,EAAM4pB,qBAAsB/sf,EAAIu1e,EAAcv1e,IAE3D+ugB,EAAWC,GAAyBD,EADtBv7B,EAAMxze,GAAGY,UAC8BssgB,GAEzD,OAAO8B,GAAyBD,EAAU5rC,EAAM/he,MAAO8rgB,EAC3D,CA9G2BmC,CAAgB77B,EAAOrQ,EAAO+pC,EAGrD,CACA,YAAiB5miB,IAAbyoiB,IACA7B,EAAgB/pC,EAAMmqB,gBAAkByhB,EAAa5rC,EAAMiqB,eAAiB2hB,GAEzEF,CACX,CA7EsBD,CAAuBp7B,EAAOrQ,EAAO8oC,EAAaiB,GA7uBxE,SAASoC,GAAsB97B,EAAOrQ,EAAOosC,EAAuBj/gB,EAAOk/gB,EAAeC,GAEtF,IAAIC,EAAYD,EAAiBtsC,EAAMoqB,cAAgBpqB,EAAMqqB,cACzDmiB,EAAWjE,GAAqBgE,GAChCE,GAAW/D,GAAqB6D,GACpCl8B,EAAMljf,GAASi/gB,EACf,IACItD,GADA4D,IAAyB,EAgB7B,GAdItmiB,MAAMC,QAAQ+liB,IAGdtD,GAD4BsD,EACM,IAEd,OAAhBtD,IACAlrC,GAJwBwuC,EAIkBtD,IAAe,KAEzD4D,IAAyB,IAI7B5D,GAAcsD,EAEdC,EAMA,GAHyC,IAAbI,GAGH,CAErB,MAAM76W,GAAe22W,GAAqBl4B,EAAMm8B,EAAW,IAC3Dn8B,EAAMljf,EAAQ,GAAKm7gB,GAAgB12W,GAAc46W,GAG5B,IAAjB56W,KAEAy+U,EAAMz+U,GAAe,GACjB+2W,GAAqBt4B,EAAMz+U,GAAe,GAAIzkK,IAGtDkjf,EAAMm8B,EAAW,GAvP7B,SAASG,GAAqBnE,EAAe56O,GAGzC,OAAyB,OAAhB46O,EAA6D56O,GAAY,EACtF,CAmPkC++O,CAAqBt8B,EAAMm8B,EAAW,GAAIr/gB,EACpE,MAEIkjf,EAAMljf,EAAQ,GAAKm7gB,GAAgBkE,EAAU,GAG5B,IAAbA,IAEAn8B,EAAMm8B,EAAW,GAAK7D,GAAqBt4B,EAAMm8B,EAAW,GAAIr/gB,IAGpEq/gB,EAAWr/gB,OAMfkjf,EAAMljf,EAAQ,GAAKm7gB,GAAgBmE,GAAU,GAG5B,IAAbD,EACAA,EAAWr/gB,EAIXkjf,EAAMo8B,GAAW,GAAK9D,GAAqBt4B,EAAMo8B,GAAW,GAAIt/gB,GAEpEs/gB,GAAWt/gB,EAIXu/gB,KACAr8B,EAAMljf,EAAQ,GAAKs7gB,GAA8Bp4B,EAAMljf,EAAQ,KAEnE07gB,GAAex4B,EAAOy4B,GAAa37gB,GAAO,GAC1C07gB,GAAex4B,EAAOy4B,GAAa37gB,GAAO,GAoB9C,SAASy/gB,GAA+B5sC,EAAO8oC,EAAaz4B,EAAOljf,EAAOm/gB,GACtE,MAAMV,EAAWU,EAAiBtsC,EAAMmqB,gBAAkBnqB,EAAMiqB,eAChD,MAAZ2hB,GAA6D,iBAAf9C,GAC9ClrC,GAAqBguC,EAAU9C,IAAgB,IAE/Cz4B,EAAMljf,EAAQ,GAAKy7gB,GAA8Bv4B,EAAMljf,EAAQ,IAEvE,CA1BIy/gB,CAA+B5sC,EAAO8oC,GAAaz4B,EAAOljf,EAAOm/gB,GACjEC,EAAYjE,GAAgBkE,EAAUC,IAClCH,EACAtsC,EAAMoqB,cAAgBmiB,EAGtBvsC,EAAMqqB,cAAgBkiB,CAE9B,CA0pBQJ,CAAsB97B,EAAOrQ,EAAO8oC,EAAan5B,EAAc67B,EAAgBzB,EACnF,CACJ,CA6LA,SAAS+B,GAA6BH,EAAkBt7B,EAAOrQ,EAAO0rC,EAAY3B,GAG9E,IAAI8C,EAAmB,KACvB,MAAMz6B,EAAepS,EAAMoS,aAC3B,IAAIwX,EAAuB5pB,EAAM4pB,qBAOjC,KAN6B,IAAzBA,EACAA,EAAuB5pB,EAAMmS,eAG7ByX,IAEGA,EAAuBxX,IAC1By6B,EAAmBx8B,EAAMuZ,GAEzB8hB,EAAaG,GAAyBH,EAAYmB,EAAiBpvgB,UAAWssgB,GAC1E8C,IAAqBlB,IAEzB/hB,IAEJ,OAAyB,OAArB+hB,IAIA3rC,EAAM4pB,qBAAuBA,GAE1B8hB,CACX,CAQA,SAASG,GAAyBH,EAAYztgB,EAAO8rgB,GACjD,MAAM+C,EAAgB/C,EAAe,EAAkC,EACvE,IAAIgD,GAAgB,EACpB,GAAc,OAAV9ugB,EACA,QAASpB,EAAI,EAAGA,EAAIoB,EAAM/2B,OAAQ21B,IAAK,CACnC,MAAMxP,EAAO4Q,EAAMpB,GACC,iBAATxP,EACP0/gB,EAAgB1/gB,EAGZ0/gB,IAAkBD,IACb1miB,MAAMC,QAAQqliB,KACfA,OAA4BvoiB,IAAfuoiB,EAA2B,GAAK,CAAC,GAAIA,IAEtDhuC,GAAiBguC,EAAYr+gB,IAAM08gB,GAAsB9rgB,IAAQpB,IAG7E,CAEJ,YAAsB15B,IAAfuoiB,EAA2B,KAAOA,CAC7C,CA4EA,SAASrB,GAAsB1sC,EAAe3nd,EAAK5zC,GAM/C,MAAM4qiB,EAAY1sf,OAAOtK,GACP,KAAdg3f,IAAqBA,EAAU//hB,SAAS,MACxCywf,GAAiBC,EAAeqvC,EAAW5qiB,EAEnD,CAqFA,SAASsoiB,GAAcnoC,EAAOvC,EAAOiN,EAAOh/T,EAAUniH,EAAM1pF,EAAO2niB,EAAcp6B,GAC7E,KAAmB,EAAb3P,EAAMj9e,MAGR,OAEJ,MAAMstf,GAAQ9N,EAAMrggB,KACd+qiB,GAAS58B,GAAMV,EAAe,GAC9Bu9B,GAn1CV,SAASC,GAA8B3E,GAEnC,QAAmE,GAA1DA,EACb,CAg1CgC2E,CAA8BF,IACtDG,GAAiB/8B,GAAOrQ,EAAOiN,EAAOnhb,EAAM48c,GAAqBuE,IAASlD,QAC1E5miB,EACCkqiB,GAAsBH,MAElBG,GAAsBjriB,IA/2CnC,SAASkriB,GAA8B9E,GAEnC,QAAgE,GAAxDA,EACZ,CA82CgB8E,CAA8BL,MAE9B7qiB,EAAQgriB,GAAiB/8B,GAAO,KAAMpD,EAAOnhb,EAAM6jb,EAAco6B,IAvzVjF,SAASwD,GAAat/V,EAAU87V,EAAc/sB,EAAOlxb,EAAM1pF,GACvD,GAAI2niB,EAEK3niB,EAMD6rM,EAAS1vB,SAASy+V,EAAOlxb,GAJzBmiH,EAASvvB,YAAYs+V,EAAOlxb,OAO/B,CACD,IAAI+uB,GAA8B,IAAtB/uB,EAAKnlF,QAAQ,UAAcxD,EAAYogf,GAAoBC,SAC1D,MAATphf,EAEA6rM,EAAShB,YAAY+vU,EAAOlxb,EAAM+uB,IAKG,iBAAVz4G,GAAqBA,EAAMi4C,SAAS,gBAG3Dj4C,EAAQA,EAAMs0C,MAAM,GAAG,IACvBmkE,GAAS0oY,GAAoB2/B,WAGjCj1U,EAASjB,SAASgwU,EAAOlxb,EAAM1pF,EAAOy4G,GAE9C,CACJ,CA4xVQ0yb,CAAat/V,EAAU87V,EADT/8B,GAAiByE,KAAoBxE,GACPnhb,EAAM1pF,GAE1D,CA6BA,SAASgriB,GAAiB/8B,EAAOrQ,EAAOiN,EAAOnhb,EAAM3+D,EAAO48gB,GAMxD,MAAMyD,EAA4B,OAAVxtC,EACxB,IAAI59f,EACJ,KAAO+qB,EAAQ,GAAG,CACd,MAAMsghB,GAASp9B,EAAMljf,GACfughB,GAAkBtniB,MAAMC,QAAQoniB,IAEhCz3f,GAAM03f,GAAkBD,GAAO,GAAKA,GACpCE,GAAuB,OAAR33f,GACrB,IAAI43f,GAAoB3gC,EAAM9/e,EAAQ,GAClCyghB,KAAsBllB,KAQtBklB,GAAoBD,GAAe5uD,QAAc57e,GAErD,IAAIsle,GAAeklE,GAAe3vC,GAAiB4vC,GAAmB9hd,GACjE91C,KAAQ81C,EAAO8hd,QAAoBzqiB,EAIxC,GAHIuqiB,KAAoBL,GAAsB5kE,MAC1CA,GAAeu1B,GAAiByvC,GAAQ3hd,IAExCuhd,GAAsB5kE,MACtBrme,EAAQqme,GACJ+kE,GACA,OAAOpriB,EAGf,MAAM6qiB,GAAS58B,EAAMljf,EAAQ,GAC7BA,EAAQqghB,EAAkBjF,GAAqB0E,IAAUvE,GAAqBuE,GAClF,CACA,GAAc,OAAVjtC,EAAgB,CAGhB,IAAI4rC,GAAW7B,EAAe/pC,EAAMmqB,gBAAkBnqB,EAAMiqB,eAC5C,MAAZ2hB,KACAxpiB,EAAQ47f,GAAiB4tC,GAAU9/c,GAE3C,CACA,OAAO1pF,CACX,CAOA,SAASiriB,GAAsBjriB,GAK3B,YAAiBe,IAAVf,CACX,CAgCA,SAASyoiB,GAAsB7qC,EAAO+pC,GAClC,SAAQ/pC,EAAMnlZ,OAASkvb,EAAe,EAAmC,IAC7E,CAuBA,SAAS8D,GAAuBtvf,EAAQ6pf,EAAIC,GAGxC+B,GAAgB1sC,GAAkB4sC,GADRnC,GADZ15B,KACkClwd,EAAQ6pf,EAAIC,IACY,EAC5E,CA2SA,MAAMyF,GACFvrgB,QAAQlV,GACJ,CAEJ0ghB,YAAY5ghB,EAAO/qB,GACf,CAKJ4riB,KAAKC,EAAQC,GACT,MAAMhiP,EAAWjqR,KAAKE,IAAI8rgB,EAAQC,GAC5BC,EAASlsgB,KAAKC,IAAI+rgB,EAAQC,GAC1BE,EAAUt5hB,KAAKi1B,OAAOokgB,GAC5B,GAAIA,EAASjiP,EAAW,EAAG,CACvB,MAAMmiP,EAAYv5hB,KAAKi1B,OAAOmiR,GAC9Bp3S,KAAKw0B,OAAO4iR,EAAUkiP,GACtBt5hB,KAAKw0B,OAAO6kgB,EAAQE,EACxB,MAEIv5hB,KAAKw0B,OAAO4iR,EAAUkiP,EAE9B,CACA39T,KAAK69T,EAAWC,GACZz5hB,KAAKw0B,OAAOilgB,EAAQz5hB,KAAKi1B,OAAOukgB,GACpC,EAEJ,SAASE,GAAeC,EAASC,EAAWH,EAAQ/xc,EAAUmyc,GAC1D,OAAIF,IAAYF,GAAUrqgB,OAAOwzT,GAAGg3M,EAAWlyc,GAEpC,EAEFt4D,OAAOwzT,GAAGi3M,EAAQF,EAASC,GAAYC,EAAQJ,EAAQ/xc,KAErD,EAEJ,CACX,CA0KA,SAASoyc,GAAyBC,EAAgBC,EAAe3hhB,EAAO6oB,GACpE,aAAsB7yC,IAAlB2riB,IAA+BA,EAAcvggB,IAAIyH,KACjD64f,EAAevlgB,OAAOnc,EAAO2hhB,EAActxhB,IAAIw4B,IAC/C84f,EAActyf,OAAOxG,GACd,GAGf,CACA,SAAS+4f,GAAeC,EAAgBF,EAAeG,EAAW9hhB,EAAO/qB,GACrE,GAAKwsiB,GAAyBI,EAAgBF,EAAe3hhB,EAAO8hhB,EAAU9hhB,EAAO/qB,IAKjF4siB,EAAejB,YAAY5ghB,EAAO/qB,OALwD,CAC1F,MAAM8siB,EAAUF,EAAe1kgB,OAAOnd,EAAO/qB,GAC7C4siB,EAAe1lgB,OAAOnc,EAAO+hhB,EACjC,CAIJ,CACA,SAASC,GAAyBH,EAAgBxlf,EAAOi1D,EAAKwwb,GAC1D,MAAM9qgB,EAAO,IAAIu2B,IACjB,QAAS79B,EAAI2sB,EAAO3sB,GAAK4hF,EAAK5hF,IAC1BsH,EAAKtjB,IAAIouhB,EAAUpygB,EAAGmygB,EAAezuU,GAAG1jM,KAE5C,OAAOsH,CACX,CAaA,MAAMirgB,GACF76hB,cAEIO,KAAKu6hB,MAAQ,IAAIt3f,IAIjBjjC,KAAKw6hB,WAAQnsiB,CACjB,CACAorC,IAAIyH,GACA,OAAOlhC,KAAKu6hB,MAAM9ggB,IAAIyH,EAC1B,CACAwG,OAAOxG,GACH,IAAKlhC,KAAKy5B,IAAIyH,GACV,OAAO,EACX,MAAM5zC,EAAQ0S,KAAKu6hB,MAAM7xhB,IAAIw4B,GAC7B,YAAmB7yC,IAAf2R,KAAKw6hB,OAAuBx6hB,KAAKw6hB,MAAM/ggB,IAAInsC,IAC3C0S,KAAKu6hB,MAAMr3f,IAAIhC,EAAKlhC,KAAKw6hB,MAAM9xhB,IAAIpb,IACnC0S,KAAKw6hB,MAAM9yf,OAAOp6C,IAGlB0S,KAAKu6hB,MAAM7yf,OAAOxG,IAEf,CACX,CACAx4B,IAAIw4B,GACA,OAAOlhC,KAAKu6hB,MAAM7xhB,IAAIw4B,EAC1B,CACAgC,IAAIhC,EAAK5zC,GACL,GAAI0S,KAAKu6hB,MAAM9ggB,IAAIyH,GAAM,CACrB,IAAIu5f,EAAYz6hB,KAAKu6hB,MAAM7xhB,IAAIw4B,QAGZ7yC,IAAf2R,KAAKw6hB,QACLx6hB,KAAKw6hB,MAAQ,IAAIv3f,KAErB,MAAMy3f,EAAO16hB,KAAKw6hB,MAClB,KAAOE,EAAKjhgB,IAAIghgB,IACZA,EAAYC,EAAKhyhB,IAAI+xhB,GAEzBC,EAAKx3f,IAAIu3f,EAAWntiB,EACxB,MAEI0S,KAAKu6hB,MAAMr3f,IAAIhC,EAAK5zC,EAE5B,CACA89B,QAAQ6jB,GACJ,QAAU/N,EAAK5zC,KAAU0S,KAAKu6hB,MAE1B,GADAtrf,EAAG3hD,EAAO4zC,QACS7yC,IAAf2R,KAAKw6hB,MAAqB,CAC1B,MAAME,EAAO16hB,KAAKw6hB,MAClB,KAAOE,EAAKjhgB,IAAInsC,IACZA,EAAQotiB,EAAKhyhB,IAAIpb,GACjB2hD,EAAG3hD,EAAO4zC,EAElB,CAER,EAcJ,SAASy5f,GAAcC,EAAgBC,EAAuBvtiB,GAC1Di1hB,GAAuB,iBACvB,MAAMlG,EAAY1iB,KACZkB,EAAeC,IACf6T,EAAamsB,GAAcze,EAAWvmB,GAAgB8kC,GAE5D,GAAIxI,GAAe/V,EAAWxhB,EAAcggC,GAAwB,CAChE,MAAMp5C,EAAe+Q,EAAoB,MACzC,IAMI,GAHAqrB,GAA0BlP,EANP,IASW,IAA1BksB,EAA8B,CAC9B,MAAM/d,GAAgBie,GAAiB1e,EAAU3nB,IAAQoB,GAAgB+kC,GACnE5d,GAAiBsE,GAA2B5S,EAAYmO,GAAcrvB,MAAM2pB,OAElFkG,GAAqB3O,EADCiO,GAA6BP,EAAWS,GAAexvhB,EAAO,CAAE2vhB,oBAZvE,EAaqDI,GAAmBP,GAAeG,IAC1G,CACJ,SAEIzqB,EAAoB/Q,EACxB,CACJ,KACK,CAGD,MAAM0W,EAAQglB,GAAuBxO,EAvBd,QAwBTtghB,IAAV8pgB,IACAA,EAAMnD,IAAW1ngB,EAEzB,CACJ,CACA,MAAM0tiB,GACFv7hB,YAAYkvgB,EAAYl9f,EAAWwphB,GAC/Bj7hB,KAAK2ugB,WAAaA,EAClB3ugB,KAAKyR,UAAYA,EACjBzR,KAAKi7hB,OAASA,CAClB,CACA,UAAIC,GACA,OAAOl7hB,KAAK2ugB,WAAWv8gB,OAAS8jgB,EACpC,EAoBJ,SAASilC,GAA0B15d,EAAGn0E,GAClC,OAAOA,CACX,CACA,MAAM8tiB,GACF37hB,YAAY47hB,EAAelB,EAAWD,GAClCl6hB,KAAKq7hB,cAAgBA,EACrBr7hB,KAAKm6hB,UAAYA,EACjBn6hB,KAAKk6hB,eAAiBA,CAC1B,EA4BJ,SAASoB,GAAiBjjhB,EAAOu9f,EAAYhngB,EAAOC,EAAM85I,EAASiqY,EAAYuH,EAAWoB,EAA8BC,GAAiBC,GAAYC,GAAWC,GAAcC,IAC1KrZ,GAAuB,iBAGvB,MAAM8Y,QAAoChtiB,IAApBmtiB,GAChBnf,GAAY1iB,KACZkiC,GAAeN,EAGjBpB,EAAUljhB,KAAKolgB,GAAU/mB,IAA4BN,KACrDmlC,EACEnif,GAAW,IAAIojf,GAAiBC,GAAeQ,IACrDxf,GAAUvmB,GAAgBz9e,GAAS2/B,GACnC26e,GAAWt6gB,EAAQ,EAAGu9f,EAAYhngB,EAAOC,EAAM85I,EAASiqY,GACpDyI,IAKA1I,GAAWt6gB,EAAQ,EAAGmjhB,GAAiBC,GAAYC,GAAWC,GAAcC,GAEpF,CACA,MAAME,WAAqC9C,GACvCv5hB,YAAYkvgB,EAAY0N,EAAWS,GAC/Btse,QACAxwC,KAAK2ugB,WAAaA,EAClB3ugB,KAAKq8gB,UAAYA,EACjBr8gB,KAAK88gB,cAAgBA,EAMrB98gB,KAAK+7hB,kBAAmB,CAC5B,CACA,UAAI3piB,GACA,OAAO4N,KAAK2ugB,WAAWv8gB,OAAS8jgB,EACpC,CACAzqS,GAAGpzM,GACC,OAAOrY,KAAK25f,SAASthf,GAAO28e,IAASvjf,SACzC,CACA+iB,OAAOnc,EAAO8/e,GACV,MAAM8kB,EAAiB9kB,EAAMrD,IAC7B90f,KAAK+7hB,mBAAqB1jhB,IAAUrY,KAAK5N,OACzCkrhB,GAAqBt9gB,KAAK2ugB,WAAYxW,EAAO9/e,EAAOglgB,GAAmBr9gB,KAAK88gB,cAAeG,GAC/F,CACAhof,OAAO5c,GACH,OAAArY,KAAK+7hB,mBAAqB1jhB,IAAUrY,KAAK5N,OAAS,EAoF1D,SAAS4piB,GAAmBrtB,EAAYt2f,GAGpC,OAFsBojd,GAAWkzC,EAAYt2f,EAGjD,CAvFe2jhB,CAAmBh8hB,KAAK2ugB,WAAYt2f,EAC/C,CACAmd,OAAOnd,EAAO/qB,GACV,MAAM2vhB,EAAiBsE,GAA2BvhhB,KAAK2ugB,WAAY3ugB,KAAK88gB,cAAcrvB,MAAM2pB,OAE5F,OADsBwF,GAA6B58gB,KAAKq8gB,UAAWr8gB,KAAK88gB,cAAe,IAAIke,GAAgBh7hB,KAAK2ugB,WAAYrhhB,EAAO+qB,GAAQ,CAAE4kgB,kBAEjJ,CACAxvf,QAAQ0qe,GACJgY,GAAahY,EAAMzD,IAAQyD,EAC/B,CACA8gC,YAAY5ghB,EAAO/qB,GACf0S,KAAK25f,SAASthf,GAAO28e,IAASvjf,UAAYnkB,CAC9C,CACAxK,QACIkd,KAAK+7hB,kBAAmB,CAC5B,CACAE,gBACI,GAAIj8hB,KAAK+7hB,iBACL,QAASh0gB,EAAI,EAAGA,EAAI/nB,KAAK5N,OAAQ21B,IAC7B/nB,KAAK25f,SAAS5xe,GAAGite,IAASimC,OAASlzgB,CAG/C,CACA4xe,SAASthf,GACL,OAgER,SAAS6jhB,GAA+BvtB,EAAYt2f,GAGhD,OAFsB8kgB,GAAuBxO,EAAYt2f,EAG7D,CApEe6jhB,CAA+Bl8hB,KAAK2ugB,WAAYt2f,EAC3D,EASJ,SAAS8jhB,GAAW5hJ,GAChB,MAAMknG,EAAe+Q,EAAoB,MACnC4pC,EAAkBz/B,KACxB,IACI,MAAM0f,EAAY1iB,KACZ0iC,EAAYhgB,EAAU3nB,IACtB18c,EAAWqke,EAAU+f,GAC3B,QAAgC/tiB,IAA5B2pD,EAASkif,eAA8B,CACvC,MAAMU,EAAiBwB,EAAkB,EACnCztB,GAAamsB,GAAcze,EAAWue,GACtC0B,GAAoBvB,GAAiBsB,EAAWzB,GACtD5if,EAASkif,eACL,IAAI4B,GAA6BntB,GAAY0N,EAAWigB,GAChE,MAEItkf,EAASkif,eAAep3iB,QAE5B,MAAMo3iB,EAAiBlif,EAASkif,eAKhC,GAvcR,SAASqC,GAAUrC,EAAgBsC,EAAerC,GAC9C,IAAIH,EACAyC,EACAC,EAAe,EACfC,EAAazC,EAAe9niB,OAAS,EACzC,GAAId,MAAMC,QAAQiriB,GAAgB,CAC9B,IAAII,EAAYJ,EAAcpqiB,OAAS,EACvC,KAAOsqiB,GAAgBC,GAAcD,GAAgBE,GAAW,CAE5D,MAAMC,GAAiB3C,EAAezuU,GAAGixU,GACnCI,GAAgBN,EAAcE,GAC9BK,GAAkBrD,GAAegD,EAAcG,GAAgBH,EAAcI,GAAe3C,GAClG,GAAwB,IAApB4C,GAAuB,CACnBA,GAAkB,GAClB7C,EAAejB,YAAYyD,EAAcI,IAE7CJ,IACA,QACJ,CAGA,MAAMM,GAAe9C,EAAezuU,GAAGkxU,GACjCM,GAAcT,EAAcI,GAC5BM,GAAgBxD,GAAeiD,EAAYK,GAAcJ,EAAWK,GAAa9C,GACvF,GAAsB,IAAlB+C,GAAqB,CACjBA,GAAgB,GAChBhD,EAAejB,YAAY0D,EAAYM,IAE3CN,IACAC,IACA,QACJ,CAEA,MAAMO,GAAehD,EAAUuC,EAAcG,IACvCO,GAAajD,EAAUwC,EAAYK,IACnCK,GAAclD,EAAUuC,EAAcI,IAC5C,GAAI1tgB,OAAOwzT,GAAGy6M,GAAaD,IAA3B,CACI,MAAME,GAAYnD,EAAUyC,EAAWK,IAEnC7tgB,OAAOwzT,GAAG06M,GAAWH,KACrBjD,EAAehB,KAAKwD,EAAcC,GAClCzC,EAAejB,YAAY0D,EAAYM,IACvCL,IACAD,KAKAzC,EAAev+T,KAAKghU,EAAYD,GAEpCxC,EAAejB,YAAYyD,EAAcI,IACzCJ,GAEJ,MAOA,GAJA1C,IAAkB,IAAIM,GACtBmC,IACIpC,GAAyBH,EAAgBwC,EAAcC,EAAYxC,GAEnEL,GAAyBI,EAAgBF,EAAe0C,EAAcW,IACtEnD,EAAejB,YAAYyD,EAAcI,IACzCJ,IACAC,YAEMF,EAAoBhjgB,IAAI4jgB,IAW9BrD,EAAc92f,IAAIi6f,GAAcjD,EAAejlgB,OAAOyngB,IACtDC,QAZ4C,CAE5C,MAAMvC,GAAUF,EAAe1kgB,OAAOkngB,EAAcF,EAAcE,IAClExC,EAAe1lgB,OAAOkogB,EAActC,IACpCsC,IACAC,GACJ,CAQJ,CAGA,KAAOD,GAAgBE,GACnB3C,GAAeC,EAAgBF,EAAeG,EAAWuC,EAAcF,EAAcE,IACrFA,GAER,SAC0B,MAAjBF,EAAuB,CAE5B,MAAMe,EAAwBf,EAAchpS,OAAOijB,YACnD,IAAI+mR,GAAqBD,EAAsB5whB,OAC/C,MAAQ6whB,GAAmB7le,MAAQ+ke,GAAgBC,GAAY,CAC3D,MAAM/C,GAAYM,EAAezuU,GAAGixU,GAC9Bh1c,GAAW81c,GAAmBlwiB,MAC9ByviB,GAAkBrD,GAAegD,EAAc9C,GAAW8C,EAAch1c,GAAUyyc,GACxF,GAAwB,IAApB4C,GAEIA,GAAkB,GAClB7C,EAAejB,YAAYyD,EAAch1c,IAE7Cg1c,IACAc,GAAqBD,EAAsB5whB,WAE1C,CACDqthB,IAAkB,IAAIM,GACtBmC,IACIpC,GAAyBH,EAAgBwC,EAAcC,EAAYxC,GAEvE,MAAM75M,GAAS65M,EAAUuC,EAAch1c,IACvC,GAAIoyc,GAAyBI,EAAgBF,EAAe0C,EAAcp8M,IACtE45M,EAAejB,YAAYyD,EAAch1c,IACzCg1c,IACAC,IACAa,GAAqBD,EAAsB5whB,YAAK,GAE1C8vhB,EAAoBhjgB,IAAI6mT,IAM7B,CAED,MAAMm9M,GAAUtD,EAAUuC,EAAc9C,IACxCI,EAAc92f,IAAIu6f,GAASvD,EAAejlgB,OAAOyngB,IACjDC,GACJ,MAVIzC,EAAe1lgB,OAAOkogB,EAAcxC,EAAe1kgB,OAAOkngB,EAAch1c,KACxEg1c,IACAC,IACAa,GAAqBD,EAAsB5whB,MAQnD,CACJ,CAGA,MAAQ6whB,GAAmB7le,MACvBsie,GAAeC,EAAgBF,EAAeG,EAAWD,EAAe9niB,OAAQoriB,GAAmBlwiB,OACnGkwiB,GAAqBD,EAAsB5whB,MAEnD,CAGA,KAAO+vhB,GAAgBC,GACnBzC,EAAezsgB,QAAQysgB,EAAejlgB,OAAO0ngB,MAGjD3C,GAAe5ugB,QAAQ7S,IACnB2hhB,EAAezsgB,QAAQlV,EAAI,EAEnC,CAkTQgkhB,CAAUrC,EAAgB3/I,EAAYviW,EAASmif,WAE/CD,EAAe+B,gBAEXjkf,EAASqjf,cAAe,CACxB,MAAMxgC,EAAeC,IACf4iC,GAA8C,IAA1BxD,EAAe9niB,OACzC,GAAIggiB,GAAe/V,EAAWxhB,EAAc6iC,IAAoB,CAC5D,MAAMC,GAAqBvB,EAAkB,EACvCwB,GAAqB9C,GAAcze,EAAWshB,IACpD,GAAID,GAAmB,CACnB,MAAMG,GAAqB9C,GAAiBsB,EAAWsB,IACjD1gB,GAAiBsE,GAA2Bqc,GAAoBC,GAAmBpwC,MAAM2pB,OAE/FkG,GAAqBsgB,GADChhB,GAA6BP,EAAWwhB,QAAoBxviB,EAAW,CAAE4uhB,oBACvC,EAAGI,GAAmBwgB,GAAoB5gB,IACtG,MAEIY,GAA0B+f,GAAoB,EAEtD,CACJ,CACJ,SAEIprC,EAAoB/Q,EACxB,CACJ,CACA,SAASq5C,GAAc3iC,EAAO9/e,GAG1B,OAFmB8/e,EAAM9/e,EAG7B,CAWA,SAAS0ihB,GAAiBttC,EAAOp1e,GAG7B,OAFcggf,GAAS5K,EAAOp1e,EAGlC,CAmCA,SAASylhB,GAAezlhB,EAAO7qB,EAAMoliB,EAAYC,GAC7C,MAAM16B,EAAQwB,KACRlM,EAAQmM,KACRwjB,EAAgBtnB,GAAgBz9e,EAIhC8gL,EAAWg/T,EAAMjD,IACjBhK,GAAQuC,EAAM0S,gBAzCxB,SAAS49B,GAA4B1lhB,EAAOo1e,EAAO0K,EAAO3qgB,EAAMoliB,EAAYC,GAGxE,MAAME,EAActlC,EAAM3+e,OAEpBo8e,GAAQupB,GAAiBhnB,EAAOp1e,EAAO,EAA2B7qB,EAD1DirgB,GAAYs6B,EAAaH,IAEvC5Z,SAAkBvrB,EAAO0K,EAAOjN,GAAOuN,GAAYs6B,EAAaF,IAC5C,OAAhB3nC,GAAM/he,OACN+9f,GAAqBh8B,GAAOA,GAAM/he,OAAO,GAEnB,OAAtB+he,GAAMwoB,aACNwT,GAAqBh8B,GAAOA,GAAMwoB,aAAa,GAE7B,OAAlBjmB,EAAMx8C,SACNw8C,EAAMx8C,QAAQ27E,aAAan/B,EAAOvC,IAE/BA,EACX,CAyBQ6yC,CAA4B3gB,EAAe3vB,EAAO0K,EAAO3qgB,EAAMoliB,EAAYC,GAC3EplC,EAAMrggB,KAAKgwhB,GACT/yB,GAAS2zC,GAA2BvwC,EAAO0K,EAAOjN,GAAO/xT,EAAU3rM,EAAM6qB,GAC/E8/e,EAAMilB,GAAiB/yB,GACvB,MAAM4zC,GAAgBvnC,GAAgBxL,IAItCoP,UAAgBpP,IAAO,GACvBuoB,GAAsBt6U,EAAUkxT,GAAQa,KAjgJ5C,SAASgzC,GAAiBhzC,GACtB,QAA0D,IAAlDA,EAAMnlZ,MAClB,CAggJSm4b,CAAiBhzC,KAAUgS,MAG5Bzod,GAAYg5c,EAAO0K,EAAO9N,GAAQa,IAKP,IAtrkBnC,SAASizC,IACL,OAAO/kC,GAAiBC,OAAOgD,iBACnC,CAorkBQ8hC,IACA32B,GAAgBnd,GAAQ8N,GAprkBhC,SAASimC,IACLhlC,GAAiBC,OAAOgD,mBAC5B,CAorkBI+hC,GACIH,KACAjoB,GAA0BvoB,EAAO0K,EAAOjN,IACxC6qB,GAAsBtoB,EAAOvC,GAAOiN,IAEjB,OAAnB06B,GACAlc,GAAyBxe,EAAOjN,IAE7B4yC,EACX,CAOA,SAASO,KACL,IAAInkC,EAAeD,KAEfM,KACAC,MAIAN,EAAeA,EAAa7zc,OAC5Bi0c,GAAgBJ,GAAc,IAElC,MAAMhP,EAAQgP,GA5rkBlB,SAASokC,GAAyBpzC,GAC9B,OAAOkO,GAAiBI,yBAA2BtO,CACvD,EA4rkBQozC,CAAyBpzC,IArokBjC,SAASqzC,KACLnlC,GAAiBI,uBAAyB,IAC9C,CAookBQ+kC,GAjtkBR,SAASC,KACLplC,GAAiBC,OAAOgD,mBAC5B,CAitkBImiC,GACA,MAAM/wC,EAAQmM,KACd,OAAInM,EAAM0S,kBACN/C,GAAuB3P,EAAOyM,GAC1B3D,GAAmB2D,IACnBzM,EAAMx8C,QAAQ47E,WAAW3yB,IAGD,MAA5BhP,EAAMkqB,oBA50iBd,SAASqpB,GAAcvzC,GACnB,SAAsB,EAAdA,EAAMnlZ,MAClB,CA00iB4C04b,CAAcvzC,IAClD8pC,GAAsCvnC,EAAOvC,EAAOyO,KAAYzO,EAAMkqB,oBAAoB,GAE/D,MAA3BlqB,EAAMgqB,mBAvziBd,SAASwpB,GAAcxzC,GACnB,SAAsB,GAAdA,EAAMnlZ,MAClB,CAqziB2C24b,CAAcxzC,IACjD8pC,GAAsCvnC,EAAOvC,EAAOyO,KAAYzO,EAAMgqB,mBAAmB,GAEtFmpB,EACX,CAYA,SAASM,GAAUtmhB,EAAO7qB,EAAMoliB,EAAYC,GACxCiL,UAAezlhB,EAAO7qB,EAAMoliB,EAAYC,GACxCwL,KACOM,EACX,CACA,IAAIX,GAA6BA,CAACvwC,EAAO0K,EAAOjN,EAAO/xT,EAAU3rM,EAAM6qB,KACnE8kf,IAAmB,GACZmS,GAAkBn2U,EAAU3rM,EA3wjBvC,SAASoxiB,KACL,OAAOxlC,GAAiBC,OAAOiD,gBACnC,CAywjB6CsiC,KAuF7C,SAASC,GAAwBxmhB,EAAOu6gB,EAAYC,GAChD,MAAM16B,EAAQwB,KACRlM,EAAQmM,KACRwjB,EAAgB/kgB,EAAQy9e,GAIxB5K,EAAQuC,EAAM0S,gBAvCxB,SAAS2+B,GAAqCzmhB,EAAOo1e,EAAO0K,EAAOy6B,EAAYC,GAE3E,MAAME,EAActlC,EAAM3+e,OACpBqa,EAAQsve,GAAYs6B,EAAaH,GACjC1nC,EAAQupB,GAAiBhnB,EAAOp1e,EAAO,EAAoC,eAAgB8Q,GAOjG6vf,OAJc,OAAV7vf,GACA+9f,GAAqBh8B,EAAO/he,GAAO,GAGvC6vf,EAAkBvrB,EAAO0K,EAAOjN,EADduN,GAAYs6B,EAAaF,IAErB,OAAlBplC,EAAMx8C,SACNw8C,EAAMx8C,QAAQ27E,aAAan/B,EAAOvC,GAE/BA,CACX,CAwBQ4zC,CAAqC1hB,EAAe3vB,EAAO0K,EAAOy6B,EAAYC,GAC9EplC,EAAMrggB,KAAKgwhB,GACf9iB,GAAgBpP,GAAO,GACvB,MAAMh7I,EAAU6uL,GAAoCtxC,EAAO0K,EAAOjN,EAAO7ye,GACzE8/e,SAAMilB,GAAiBltK,EACnBgtJ,MACAzod,GAAYg5c,EAAO0K,EAAOjoJ,EAASg7I,GAEvCsc,GAAgBt3J,EAASioJ,GACrBzB,GAAgBxL,KAChB8qB,GAA0BvoB,EAAO0K,EAAOjN,GACxC6qB,GAAsBtoB,EAAOvC,EAAOiN,IAElB,MAAlB06B,GACAlc,GAAyBxe,EAAOjN,GAE7B2zC,EACX,CAOA,SAASG,KACL,IAAI9kC,EAAeD,KACnB,MAAMxM,EAAQmM,KACd,OAAIW,KACAC,MAIAN,EAAeA,EAAa7zc,OAC5Bi0c,GAAgBJ,GAAc,IAG9BzM,EAAM0S,kBACN/C,GAAuB3P,EAAOyM,GAC1B3D,GAAmB2D,IACnBzM,EAAMx8C,QAAQ47E,WAAW3yB,IAG1B8kC,EACX,CAYA,SAASC,GAAmB5mhB,EAAOu6gB,EAAYC,GAC3CgM,UAAwBxmhB,EAAOu6gB,EAAYC,GAC3CmM,KACOC,EACX,CACA,IAAIF,GAAsCA,CAACtxC,EAAO0K,EAAOjN,EAAO7ye,KAC5D8kf,IAAmB,GACZiS,GAAkBjX,EAAMjD,IAAwC,KA4C3E,SAASgqC,KACL,OAAOvlC,IACX,CAgBA,SAASwlC,GAAex7C,EAAUr2f,EAAO+uB,GACrC,MAAM87e,EAAQwB,KAQd,OANIy4B,GAAej6B,EADE2C,IACmBxtgB,IAGpCirhB,GAFc3e,KACAiD,KACwB1E,EAAOxU,EAAUr2f,EAAO6qgB,EAAMjD,IAAW74e,GAAW,GAGvF8ihB,EACX,CAsBA,SAASC,GAAwBz7C,EAAUr2f,EAAO+uB,GAC9C,MAAM87e,EAAQwB,KAEd,GAAIy4B,GAAej6B,EADE2C,IACmBxtgB,GAAQ,CAC5C,MAAMmggB,EAAQmM,KACR1O,EAAQ2R,KAGd0b,GAAwB9qB,EAAOvC,EAAOiN,EAAOxU,EAAUr2f,EADtC0uhB,GADE1gB,GAAuB7N,EAAMrggB,MACG89f,EAAOiN,GACc97e,GAAW,EAEvF,CACA,OAAO+ihB,EACX,CAoBA,MAAMpjhB,QAAI3tB,EAOV,IAAIgxiB,GAAW,CAAC,KAAM,CAAC,CAAC,IAAK,KAAM,CAAC,KAAM,MAAOrjhB,IAAI,CAAC,CAAC,KAAM,MAAOA,GAAGA,IAAI,CAAC,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQA,GAAG,CAAC,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,aAAcA,GAAG,CAAC,CAAC,IAAK,KAAM,CAAC,KAAM,MAAO,CAAC,gBAAiB,gBAAiB,EAAG,CAAC,EAAG,GAAI,CAAC,SAAU,WAAY,YAAa,mBAAoB,CAAC,SAAU,YAAa,cAAe,kBAAmB,CAAC,WAAYA,GAAG,eAAgBA,IAAI,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAAK,SAAK,SAAK,MAAO,KAAM,CAAC,YAAa,SAAU,eAAa,OAAQ,MAAO,IAAK,YAAa,CAAC,EAAG,MANl6B,SAAS+xZ,GAAO1pY,GACZ,MAAetc,EAAIoF,KAAK4gB,MAAM5gB,KAAK82D,IAAI5/C,IAAOtS,EAAIsS,EAAIlD,WAAW9yB,QAAQ,YAAa,IAAIjc,OAC1F,OAAU,IAAN21B,GAAiB,IAANgK,EACJ,EACJ,CACX,GAMA,IAAIutgB,GAAc,CAAC,EA0BnB,SAASC,GAAextiB,GACpB,MAAMytiB,EAyFV,SAASx8G,GAAgBjxb,GACrB,OAAOA,EAAOzH,cAAc+jB,QAAQ,KAAM,IAC9C,CA3F6B20a,CAAgBjxb,GACzC,IAAI0rE,EAAQgie,GAAcD,GAC1B,GAAI/he,EACA,OAAOA,EAGX,MAAM8lX,EAAei8G,EAAiBr0gB,MAAM,KAAK,GAEjD,GADAsyC,EAAQgie,GAAcl8G,GAClB9lX,EACA,OAAOA,EAEX,GAAqB,OAAjB8lX,EACA,OAAO87G,GAEX,MAAM,IAAIl8C,GAAa,KAAgD72U,EAC3E,CAsBA,SAASozX,GAAoB3tiB,GAEzB,OADawtiB,GAAextiB,GAChB4tiB,GAAgBC,WAChC,CAKA,SAASH,GAAcD,GACnB,OAAMA,KAAoBF,KACtBA,GAAYE,GAAoB5vZ,GAAQiwZ,IAAMjwZ,GAAQiwZ,GAAGC,QAAUlwZ,GAAQiwZ,GAAGC,OAAO5ihB,SACjF0yH,GAAQiwZ,GAAGC,OAAO5ihB,QAAQsihB,IAE3BF,GAAYE,EACvB,CAUA,IAAIG,GACH,SAAUA,GACPA,SAAgBA,EAAgB17D,SAAc,GAAK,WACnD07D,EAAgBA,EAAgBh3D,iBAAsB,GAAK,mBAC3Dg3D,EAAgBA,EAAgB/2D,qBAA0B,GAAK,uBAC/D+2D,EAAgBA,EAAgBz8D,WAAgB,GAAK,aACrDy8D,EAAgBA,EAAgBx8D,eAAoB,GAAK,iBACzDw8D,EAAgBA,EAAgBt8D,aAAkB,GAAK,eACvDs8D,EAAgBA,EAAgBr8D,iBAAsB,GAAK,mBAC3Dq8D,EAAgBA,EAAgBt6D,KAAU,GAAK,OAC/Cs6D,EAAgBA,EAAgBI,eAAoB,GAAK,iBACzDJ,EAAgBA,EAAgBK,aAAkB,GAAK,eACvDL,EAAgBA,EAAgBn8D,WAAgB,IAAM,aACtDm8D,EAAgBA,EAAgBj8D,WAAgB,IAAM,aACtDi8D,EAAgBA,EAAgB1gP,eAAoB,IAAM,iBAC1D0gP,EAAgBA,EAAgB77D,cAAmB,IAAM,gBACzD67D,EAAgBA,EAAgBM,cAAmB,IAAM,gBACzDN,EAAgBA,EAAgBO,aAAkB,IAAM,eACxDP,EAAgBA,EAAgBQ,eAAoB,IAAM,iBAC1DR,EAAgBA,EAAgBS,aAAkB,IAAM,eACxDT,EAAgBA,EAAgBU,WAAgB,IAAM,aACtDV,EAAgBA,EAAgBn9E,eAAoB,IAAM,iBAC1Dm9E,EAAgBA,EAAgBC,WAAgB,IAAM,aACtDD,EAAgBA,EAAgB37D,UAAe,IAAM,YAtB9C27D,CAuBX,CAvBC,CAuBEA,IAAsC,CAAC,GAQ1C,MAAMW,GAAgB,CAAC,OAAQ,MAAO,MAAO,MAAO,QAY9CC,GAAoB,QAYpBC,GAAiB,CACnB/1C,OAAQ,WAONg2C,GAAa,CACfh2C,OAAQ,OAKZ,IAAIi2C,GACH,SAAUA,GAKPA,SAAiBA,EAAiB/kF,MAAW,GAAK,QAIlD+kF,EAAiBA,EAAiBC,eAAoB,GAAK,iBAI3DD,EAAiBA,EAAiBlyM,QAAa,GAAK,UAb7CkyM,CAcX,CAdC,CAcEA,IAAwC,CAAC,GAO5C,IAAIE,GAAcL,GAiClB,SAAS5uB,GAAgC9V,EAAa3B,EAAc/B,GAChE,MAAM0oC,EAAyB3mC,EAAa2a,kBACtCA,EAAoBvjhB,MAAMC,QAAQsviB,GAA0BA,EAAuB,GAAKA,EAC9F,OAA0B,OAAtBhsB,EACOrD,GAAkC3V,EAAa3B,EAAc/B,GAI7DF,GAAYE,EAAM0c,GAEjC,CAMA,SAASjD,GAAwBz4U,EAAU24U,EAAY3Z,EAAO0Z,EAAY5C,GACtE,MAAM4xB,EAAyB/uB,EAAW+C,kBAC1C,GAAIvjhB,MAAMC,QAAQsviB,GAAyB,CAOvC,IAAIC,EAAajvB,EACbkvB,EAAc,KAKlB,GAJwB,EAAlBjvB,EAAW7jgB,OACb8yhB,EAAcD,EACdA,EAAa7xB,GAEE,OAAf6xB,IAAsD,IAA/BhvB,EAAWrb,gBAClC,QAAS1ue,GAAI,EAAGA,GAAI84gB,EAAuBzuiB,OAAQ21B,KAI/C+mf,GAAmB31U,EAAU2nW,EADX3oC,EAAM0oC,EAAuB94gB,KACKg5gB,GAAa,EAG7E,CACJ,CAgCA,SAASC,GAAmCC,EAAgBC,GAKxD,GADAD,EAAen/f,KAAKo/f,GAChBD,EAAe7uiB,OAAS,EACxB,QAAS21B,EAAIk5gB,EAAe7uiB,OAAS,EAAG21B,GAAK,EAAGA,IAAK,CACjD,MAAMo5gB,EAAgBF,EAAel5gB,GAGhCq5gB,GAAWD,IACRE,GAAwBF,EAAeD,IACC,OAAxCI,GAAqBH,IAGrBI,GAAqBJ,EAAeD,EAAS7ohB,MAGzD,CAER,CACA,SAAS+ohB,GAAWl2C,GAChB,QAAsB,GAAbA,EAAMj9e,KACnB,CACA,SAASozhB,GAAwBF,EAAeD,GAC5C,OAAOE,GAAWF,IAAaC,EAAc9ohB,MAAQ6ohB,EAAS7ohB,KAClE,CACA,SAASiphB,GAAqBp2C,GAC1B,MAAM7ye,EAAQ6ye,EAAM2pB,kBACpB,OAAOvjhB,MAAMC,QAAQ8mB,GAASA,EAAM,GAAKA,CAC7C,CACA,SAASkphB,GAAqBr2C,EAAO59f,GACjC,MAAM+qB,EAAQ6ye,EAAM2pB,kBAChBvjhB,MAAMC,QAAQ8mB,GAEdA,EAAM,GAAK/qB,GAGXokhB,GAAgBC,GAAiCC,IACjD1mB,EAAM2pB,kBAAoBvnhB,EAElC,CAeA,SAASk0iB,GAAQ/zC,EAAOp1e,GACpB,MAAM/qB,EAAQmggB,EAAMrggB,KAAKirB,GACzB,OAAc,OAAV/qB,GAAmC,iBAAVA,EAClB,KASEA,EAAMslE,eAAe,yBAA2BtlE,EACzDA,EAAMA,KAGd,CAkDA,SAASm0iB,GAAuBh0C,EAAOwzC,EAAgB5ohB,GACnD,MAAM6ye,EAAQwpB,GAAmBjnB,EAAOp1e,EAAO,GAAgC,KAAM,MACrF2ohB,UAAmCC,EAAgB/1C,GAC5CA,CACX,CASA,SAASw2C,GAAuBC,EAAMxpC,GAClC,MAAMypC,EAAczpC,EAAMwpC,EAAKE,uBAC/B,OAAuB,OAAhBD,EAAuBA,EAAeA,EAAc,GAAKA,EAAcA,CAClF,CACA,SAASE,GAA6BC,GAClC,OAAOA,IAAe,EAC1B,CACA,SAASC,GAA0BD,GAC/B,OAAqB,OAAbA,KAAwD,CACpE,CAuBA,IAAIE,GAAa,EAMbC,GAAoB,EAsCxB,IAAIC,GAAsBA,CAAChqC,EAAO9/e,EAAO+phB,EAAYt6Y,KACjDq1W,IAAmB,GAZvB,SAASklC,GAA2BlqC,EAAOiqC,EAAYt6Y,GACnD,MAAMqxC,EAAWg/T,EAAMjD,IACvB,OAAQptW,GACJ,KAAKI,KAAKo6Y,aACN,OAAOlzB,GAAkBj2U,EAAUipW,GACvC,KAAKl6Y,KAAKG,UACN,OAAOoyH,GAAethF,EAAUipW,GACpC,KAAKl6Y,KAAKC,aACN,OAAOmnX,GAAkBn2U,EAAUipW,EAAY,MAE3D,CAGWC,CAA2BlqC,EAAOiqC,EAAYt6Y,IAmDzD,SAASy6Y,GAAoB90C,EAAO+0C,EAAgBrqC,EAAO4oC,GAEvD,MAAM5nW,EAAWg/T,EAAMjD,IAEvB,IAMIutC,EANAC,EAAU,KAOd,QAAS36gB,EAAI,EAAGA,EAAIy6gB,EAAepwiB,OAAQ21B,IAAK,CAC5C,MAAM03f,GAAS+iB,EAAez6gB,GAC9B,GAAqB,iBAAV03f,GAAoB,CAC3B,MAAMkjB,GAAgBH,IAAiBz6gB,GACV,OAAzBowe,EAAMwqC,MAGNxqC,EAAMwqC,IAAiBR,GAAoBhqC,EAAOwqC,GAAeljB,GAAQv3X,KAAKG,WAEtF,SAC0B,iBAAVo3X,GACZ,OAAiB,EAATA,IACJ,KAAK,EACD,MAAMmjB,GAAYd,GAA6BriB,IAQ/C,IAAIojB,GACA9wB,GAUJ,GAlBgB,OAAZ2wB,IAIAA,EAAUE,GACVH,EAAYpxB,GAAiBl4U,EAAU4nW,IAIvC6B,KAAcF,GACdG,GAAkB9B,EAClBhvB,GAAc0wB,IAGdI,GAAkB,KAClB9wB,GAAc9Z,GAAYE,EAAMyqC,MAGhB,OAAhB7wB,GAAsB,CAMtB,MAAM+wB,GAASd,GAA0BviB,IAMzC3Q,GAAmB31U,EAAU44U,GAFf5Z,EAAM2qC,IAE6BD,IAAiB,GAClE,MAAMlB,GAAOH,GAAQ/zC,EAAOq1C,IAC5B,GAAa,OAATnB,IAAiC,iBAATA,GAAmB,CAI3C,MAAMoB,GAAYrB,GAAuBC,GAAMxpC,GAC7B,OAAd4qC,IACAR,GAAoB90C,EAAOk0C,GAAKnsgB,OAAOutgB,IAAY5qC,EAAOA,EAAMwpC,GAAKp6b,WAE7E,CACJ,CACA,MACJ,KAAK,EACD,MACM0gN,GAAWu6O,IAAiBz6gB,GAC5B+ke,GAAY01C,IAAiBz6gB,GAGnCszf,GAAoBliV,EAAU++T,GALLunB,KAAW,EAK6BtnB,GAAQ,KAAM,KAAMlwM,GAAU6kM,GAAW,WASlH,OAAQ2yB,IACJ,KAAKghB,GACD,MAAMuC,GAAeR,IAAiBz6gB,GAChCk7gB,GAAmBT,IAAiBz6gB,GACV,OAA5Bowe,EAAM8qC,KAQNz7B,GAHqBrP,EAAM8qC,IACvBd,GAAoBhqC,EAAO8qC,GAAkBD,GAAc96Y,KAAKo6Y,cAEtCnqC,GAElC,MACJ,KAAKqoC,GACD,MAAM73Y,GAAU65Y,IAAiBz6gB,GAC3Bm7gB,GAAmBV,IAAiBz6gB,GACV,OAA5Bowe,EAAM+qC,KAQN17B,GAHqBrP,EAAM+qC,IACvBf,GAAoBhqC,EAAO+qC,GAAkBv6Y,GAAST,KAAKC,cAEjCgwW,GAQlD,CACJ,CAWA,SAASgrC,GAAmB11C,EAAO0K,EAAOirC,EAAeC,EAAoBpB,GACzE,QAASl6gB,EAAI,EAAGA,EAAIq7gB,EAAchxiB,OAAQ21B,IAAK,CAE3C,MAAMu7gB,EAAWF,EAAcr7gB,GAEzBw7gB,EAAYH,IAAgBr7gB,GAClC,GAAIu7gB,EAAWrB,EAAY,CAEvB,IAAI30iB,GAAQ,GACZ,QAASyuF,GAAIh0D,EAAI,EAAGg0D,IAAMh0D,EAAIw7gB,EAAYxnd,KAAK,CAC3C,MAAM0jc,GAAS2jB,EAAcrnd,IAC7B,GAAqB,iBAAV0jc,GACPnyhB,IAASmyhB,WAEa,iBAAVA,GACZ,GAAIA,GAAS,EAETnyhB,IAASk5f,GAAgB2R,EAAMkrC,EAAqB5jB,SAEnD,CACD,MAAM1mN,GAAa0mN,KAAW,EAC9B,OAAiB,EAATA,IACJ,KAAK,EACD,MAAM97B,GAAWy/C,IAAgBrnd,IAC3Bynd,GAAaJ,IAAgBrnd,IAC7B0nd,GAAiBh2C,EAAMrggB,KAAK2rU,IAEJ,iBAAnB0qO,GAIPpoB,GAAoBljB,EAAMjD,IAAWiD,EAAMp/L,IAAY,KAAM0qO,GAAgB9/C,GAAUr2f,GAAOk2iB,IAG9FjrB,GAAwB9qB,EAAOg2C,GAAgBtrC,EAAOxU,GAAUr2f,GAAO6qgB,EAAMjD,IAAWsuC,IAAY,GAExG,MACJ,KAAK,EACD,MAAME,GAAQvrC,EAAMp/L,IACV,OAAV2qO,IAAkBv0B,GAAehX,EAAMjD,IAAWwuC,GAAOp2iB,IACzD,MACJ,KAAK,EACDq2iB,GAAmBl2C,EAAO+zC,GAAQ/zC,EAAO10L,IAAYo/L,EAAO7qgB,IAC5D,MACJ,KAAK,EACDs2iB,GAAmBn2C,EAAO+zC,GAAQ/zC,EAAO10L,IAAYsqO,EAAoBlrC,GAGrF,CAER,CACJ,KACK,CACD,MAAMsnB,GAAS2jB,EAAcr7gB,EAAI,GACjC,GAAI03f,GAAS,KAAyD,GAAnDA,IAAuF,CAKtG,MACMkiB,GAAOH,GAAQ/zC,EADFgyB,KAAW,GAETtnB,EAAMwpC,GAAKE,uBACb,GACf+B,GAAmBn2C,EAAOk0C,GAAM0B,EAAoBlrC,EAE5D,CACJ,CACApwe,GAAKw7gB,CACT,CACJ,CASA,SAASK,GAAmBn2C,EAAOk0C,EAAM0B,EAAoBlrC,GAEzD,IAAI0rC,EAAkB1rC,EAAMwpC,EAAKE,uBACjC,GAAwB,OAApBgC,EAA0B,CAC1B,IAAItlY,EAAO0jY,GACP4B,EAAkB,IAGlBA,EAAkB1rC,EAAMwpC,EAAKE,wBAA0BgC,EAEvDtlY,GAAO,GAEX4kY,GAAmB11C,EAAO0K,EAAOwpC,EAAK3vb,OAAO6xb,GAAkBR,EAAoB9kY,EACvF,CACJ,CAWA,SAASolY,GAAmBl2C,EAAOk0C,EAAMxpC,EAAO7qgB,GAE5C,MAAMy1iB,EAgDV,SAASe,GAAaC,EAAeC,GACjC,IAAI3rhB,EAAQ0rhB,EAAcE,MAAMpyiB,QAAQmyiB,GACxC,IAAc,IAAV3rhB,EACA,OAAQ0rhB,EAAc91hB,MAClB,KAAK,EAAwB,CACzB,MAAMi2hB,EAxsBtB,SAASC,GAAc72iB,EAAOyE,GAC1B,MAAMg8a,EAAS2xH,GAAoB3tiB,EAApB2tiB,CAA4Bnzc,SAASj/F,EAAO,KACrDgQ,EAASgjiB,GAAcvyH,GAC7B,YAAmB1/a,IAAXiP,EAAwBA,EAAS,OAC7C,CAosBqC6miB,CAAcH,EA7nBnD,SAASl9D,KACL,OAAO85D,EACX,CA2nBiE95D,IACjDzud,EAAQ0rhB,EAAcE,MAAMpyiB,QAAQqyiB,IACtB,IAAV7rhB,GAAiC,UAAjB6rhB,IAChB7rhB,EAAQ0rhB,EAAcE,MAAMpyiB,QAAQ,UAExC,KACJ,CACA,KAAK,EACDwmB,EAAQ0rhB,EAAcE,MAAMpyiB,QAAQ,SAKhD,OAAiB,IAAVwmB,EAAe,KAAOA,CACjC,CAnEsByrhB,CAAanC,EAAMr0iB,GAErC,GADsBo0iB,GAAuBC,EAAMxpC,KAC3B4qC,IACpBqB,GAAyB32C,EAAOk0C,EAAMxpC,GACtCA,EAAMwpC,EAAKE,uBAAuC,OAAdkB,EAAqB,MAAQA,EAC/C,OAAdA,GAAoB,CAEpB,MAAMhC,EAAc5oC,EAAMwpC,EAAKp6b,WAC3Bw5b,GAEAwB,GAAoB90C,EAAOk0C,EAAKnsgB,OAAOutgB,GAAY5qC,EAAO4oC,EAElE,CAER,CAUA,SAASqD,GAAyB32C,EAAOk0C,EAAMxpC,GAC3C,IAAI0rC,EAAkBnC,GAAuBC,EAAMxpC,GACnD,GAAwB,OAApB0rC,EAA0B,CAC1B,MAAMQ,EAAc1C,EAAK35gB,OAAO67gB,GAChC,QAAS97gB,EAAI,EAAGA,EAAIs8gB,EAAYjyiB,OAAQ21B,IAAK,CACzC,MAAMu8gB,EAAiBD,EAAYt8gB,GACnC,GAAIu8gB,EAAiB,EAAG,CAEpB,MAAMp8B,EAAQhQ,GAAiBosC,EAAgBnsC,GACrC,OAAV+P,GAAkB6G,GAAiB5W,EAAMjD,IAAWgT,EACxD,MAGIk8B,GAAyB32C,EAAO+zC,GAAQ/zC,GAAQ62C,GAAiBnsC,EAEzE,CACJ,CACJ,CA4BA,SAASosC,KACL,MAAMC,EAAS,GACf,IACItgC,EACAugC,EAFAC,GAAS,EA2Bb,SAASC,EAAShD,EAAMxpC,IACpBusC,EAAS,EACT,MAAM9C,GAAcF,GAAuBC,EAAMxpC,IAG7CssC,EAFgB,OAAhB7C,GAEWD,EAAK35gB,OAAO45gB,IAGZ33D,EAEnB,CACA,SAAS26D,IACL,GAAIF,EAASD,EAASryiB,OAAQ,CAC1B,MAAMyyiB,EAAeJ,EAASC,KAE9B,OAAIG,EAAe,EACD3gC,EAAO2gC,IAKrBL,EAAO1igB,KAAK4igB,EAAQD,GAKpBE,EAFazgC,EAAOxP,IAAOtngB,MADRy3iB,GAGJ3gC,GACR0gC,IAEf,CAEI,OAAsB,IAAlBJ,EAAOpyiB,OACA,MAGPqyiB,EAAWD,EAAOn7S,MAClBq7S,EAASF,EAAOn7S,MACTu7S,IAGnB,CACA,OAjDA,SAASE,EAA0Bv2B,EAAmBpW,IAElD,IADA+L,EAAS/L,GACFqsC,EAAOpyiB,QACVoyiB,EAAOn7S,MAEXs7S,SAASp2B,EAAkBjhhB,MAAO6qgB,IAC3BysC,CACX,CA2CJ,CAgNA,MAAMG,GAAiB,2BAEjBC,GAAa,oBACbC,GAAmB,uDACnBC,GAAS,SACTC,GAAqB,+BACrBC,GAAY,kCAOZC,GAAsB,UA+H5B,SAASC,GAAwB73C,EAAOg8B,EAAW8b,EAAgBptC,EAAOqtC,EAAe7uf,EAAM8uf,GAC3F,MAAMC,EAAclwB,GAAa/nB,EAAO0K,EAAO,EAAG,MAClD,IAAIsnB,GAASimB,GAAehF,GAAiB/kF,MACzCkgD,GAAczB,KACdqvB,IAAc5tB,KAIdA,GAAc,MAEE,OAAhBA,KAKA4jB,IAAUihB,GAAiBC,gBAE3B8E,IACAhmB,IAAUihB,GAAiBlyM,QAv0cnC,SAASm3M,GAAgCC,QACRv3iB,IAAzBgghB,KAGAA,GAAuBu3B,IAE/B,CAk0cQD,CAAgCpB,KAEpCiB,EAAc1jgB,KAAK29e,GAAiB,OAAT9oe,EAAgB,GAAKA,GAGhD,MAAMu0c,GAAQwpB,GAAmBjnB,EAAOi4C,EAAaD,EAAQ,GAAyB,EAAiC,OAAT9uf,EAAuC,GAAMA,EAAM,MACjKqqf,GAAmCuE,EAAgBr6C,IACnD,MAAM4iC,GAAW5iC,GAAM7ye,MACvBiif,UAAgBpP,IAAO,GACH,OAAhB2Q,IAAwB4tB,IAAc5tB,IA94B9C,SAASgqC,GAA0B36C,EAAO7ye,GAEtC,IAAIw8f,EAAoB3pB,EAAM2pB,kBACJ,OAAtBA,GACAnD,GAAgBC,GAAiCC,IACjDiD,EAAoB3pB,EAAM2pB,kBACtB,CAAC,KAA2Cx8f,KAGhDyse,GAAYxzf,MAAMC,QAAQsjhB,IAAoB,EAAM,wBACpDA,EAAkB/ye,KAAKzpB,GAE/B,CAq4BQwthB,CAA0BhqC,GAAaiyB,IAEpC5iC,EACX,CAoBA,SAAS46C,GAAwChuX,EAAK21U,EAAOg8B,EAAW8b,EAAgBC,EAAepC,EAAejrC,EAAOxhd,GACzH,MAAMovf,GAAapvf,EAAK8mB,MAAMsne,IAExB1shB,GADQithB,GAAwB73C,EAAOg8B,EAAW8b,EAAgBptC,EAAOqtC,EAAeO,GAAa,KAAOpvf,GAAM,GACpGt+B,MAChB0thB,IACAC,GAA6B5C,EAAezsf,EAAMt+B,GAAO,KAAM,EAAG,MAEtEy/J,EAAIh2I,KAAK,CAAEw0D,KAAM,EAA2Bj+E,UAChD,CA6CA,SAAS2thB,GAA6B5C,EAAehhgB,EAAK6jgB,EAAiBh+O,EAAUi+O,EAAc1C,GAG/F,MAAM2C,EAAY/C,EAAchxiB,OAC1Bg0iB,EAAYD,EAAY,EAC9B/C,EAActhgB,KAAK,KAAM,MACzB,MAAMkvI,GAAam1X,EAAY,EAIzBE,GAAYjkgB,EAAIjX,MAAM45gB,IAC5B,IAAIxmY,GAAO,EACX,QAASxiF,GAAI,EAAGA,GAAIsqd,GAAUj0iB,OAAQ2pF,KAAK,CACvC,MAAMuqd,GAAYD,GAAUtqd,IAC5B,GAAQ,EAAJA,GAAO,CAEP,MAAM8+a,GAAeqrC,EAAe35c,SAAS+5c,GAAW,IACxDlD,EAActhgB,MAAK,EAAK+4d,IACxBt8V,IAAcgoY,GAAU1rC,GAC5B,KACuB,KAAdyrC,IAELlD,EAActhgB,KAAKwkgB,GAE3B,CACAlD,SAActhgB,KAAKmkgB,GAAmB,GACjCh+O,EAAW,EAAgC,IAC5CA,GACAm7O,EAActhgB,KAAKmmR,EAAUu7O,GAEjCJ,EAAc+C,GAAa5nY,GAC3B6kY,EAAcgD,GAAahD,EAAchxiB,OAAS4+K,GAC3CzS,EACX,CA+BA,SAASgoY,GAAU1rC,GACf,OAAO,GAAK1te,KAAKE,IAAIwte,EAAc,GACvC,CAOA,SAAS2rC,GAA+Bj8f,GACpC,IAAIkzB,EAIAgpe,EAHAhrhB,EAAM,GACNpD,EAAQ,EACRquhB,GAAa,EAEjB,KAAsD,QAA9Cjpe,EAAQ0ne,GAAmBtme,KAAKt0B,KAC/Bm8f,EAMGjpe,EAAM,KAAO,GAAGyne,OAAWuB,IAAavB,OACxC7shB,EAAQolD,EAAMplD,MACdquhB,GAAa,IAPjBjrhB,GAAO8uB,EAAQl1B,UAAUgD,EAAOolD,EAAMplD,MAAQolD,EAAM,GAAGrrE,QACvDq0iB,EAAahpe,EAAM,GACnBipe,GAAa,GAWrBjrhB,UAAO8uB,EAAQ3I,MAAMvpB,GACdoD,CACX,CAoCA,SAASkrhB,GAAS7uX,EAAK21U,EAAO0K,EAAOirC,EAAeR,EAAWmB,EAAex8b,GAE1E,IAAIq/b,EAAc,EAClB,MAAMjF,GAAO,CACT1zhB,KAAM81hB,EAAc91hB,KACpB4zhB,sBAAuBrsB,GAAa/nB,EAAO0K,EAAO,EAAG,MACrD5wZ,YACA08b,MAAO,GACPzugB,OAAQ,GACRxN,OAAQ,GACRgqF,OAAQ,KAsPhB,SAAS60b,GAAmB70b,EAAQ+xb,EAAe1rhB,GAC/C25F,EAAOlwE,KAAKykgB,GAAUxC,EAAc+C,aAAc,GAAG,EAAK/C,EAAc+C,YAAazuhB,GAAS,EAAqC,EACvI,EAtPIwuhB,CAAmBzD,EAAeW,EAAex8b,GA9nCrD,SAASw/b,GAAQt5C,EAAOp1e,EAAOsphB,GAC3B,MAAMz2C,EAAQuC,EAAMrggB,KAAKirB,GAGX,OAAV6ye,EACAuC,EAAMrggB,KAAKirB,GAASsphB,EAIpBz2C,EAAM59f,MAAQq0iB,CAEtB,CAonCIoF,CAAQt5C,EAAOlmZ,EAAWo6b,IAC1B,MAAMl2hB,GAASs4hB,EAAct4hB,OACvBw4hB,GAAQ,GACd,QAASl8gB,GAAI,EAAGA,GAAItc,GAAOrZ,OAAQ21B,KAAK,CAEpC,MAAMi/gB,GAAWv7hB,GAAOsc,IAClBk/gB,GAAa,GACnB,QAASlrd,GAAI,EAAGA,GAAIird,GAAS50iB,OAAQ2pF,KAAK,CACtC,MAAMzuF,GAAQ05iB,GAASjrd,IACvB,GAAqB,iBAAVzuF,GAAoB,CAE3B,MAAM45iB,GAAWD,GAAWnlgB,KAAKx0C,IAAS,EAE1C05iB,GAASjrd,IAAK,gBAAQmrd,gBAC1B,CACJ,CACA,MAAMC,GAAU,GAChBlD,GAAMnigB,KAAKqlgB,IACXP,EAAcQ,GAAaD,GAAS15C,EAAOk0C,GAAMxpC,EAAOirC,EAAeR,EAAWmB,EAAcE,MAAMl8gB,IAAIi/gB,GAASt7f,KAAK,IAAKu7f,IACzHL,CACR,CACIA,GAiOR,SAASS,GAAmBr1b,EAAQ40b,EAAavuhB,GAC7C25F,EAAOlwE,KAAK8kgB,EAAa,EAAGvuhB,GAAS,EAAqC,EAC9E,CAlOQgvhB,CAAmBjE,EAAewD,EAAar/b,GAEnDuwE,EAAIh2I,KAAK,CACLw0D,KAAM,EACNj+E,MAAOkvF,EACP08b,SACApC,sBAAuBF,GAAKE,uBAEpC,CAQA,SAASyF,GAAc13hB,GACnB,MAAMq0hB,EAAQ,GACRx4hB,EAAS,GACf,IAAI87hB,EAAU,EACVT,EAAc,EAWlB,MAAMr0e,EAAQ+0e,GAVd53hB,EAAUA,EAAQvB,QAAQ42hB,GAAkB,SAAU7igB,EAAKi2W,EAASpqY,IAChE,OACIs5hB,EADS,WAATt5hB,GACU,EAGA,EAEd64hB,EAAcv6c,SAAS8rT,EAAQz2W,MAAM,GAAI,IAClC,EACX,IAGA,QAASiI,EAAM,EAAGA,EAAM4oB,EAAMrgE,QAAS,CACnC,IAAI8uC,EAAMuxB,EAAM5oB,KAAO30B,OACP,IAAZqyhB,IAEArmgB,EAAMA,EAAI7yB,QAAQ,oBAAqB,OAEvC6yB,EAAI9uC,QACJ6xiB,EAAMnigB,KAAKZ,GAEf,MAAMumgB,GAASD,GAA6B/0e,EAAM5oB,MAC9Co6f,EAAM7xiB,OAASqZ,EAAOrZ,QACtBqZ,EAAOq2B,KAAK2lgB,GAEpB,CAEA,MAAO,CAAEx5hB,KAAMs5hB,EAAST,YAAaA,EAAa7C,QAAOx4hB,SAC7D,CAWA,SAAS+7hB,GAA6B53hB,GAClC,IAAKA,EACD,MAAO,GAEX,IAAI83hB,EAAU,EACd,MAAMC,EAAa,GACbxjd,EAAU,GACVyjd,EAAS,QAGf,IAAInqe,EACJ,IAFAmqe,EAAOv5d,UAAY,EAEZ5Q,EAAQmqe,EAAO/oe,KAAKjvD,IAAU,CACjC,MAAMi6B,EAAM4zB,EAAMplD,MAClB,GAAgB,KAAZolD,EAAM,IAEN,GADAkqe,EAAWt+S,MACc,GAArBs+S,EAAWv1iB,OAAa,CAExB,MAAMuxO,GAAQ/zN,EAAQyF,UAAUqyhB,EAAS79f,GACrCo7f,GAAiB9pc,KAAKwoI,IACtBx/I,EAAQriD,KAAKwlgB,GAAc3jU,KAG3Bx/I,EAAQriD,KAAK6hM,IAEjB+jU,EAAU79f,EAAM,CACpB,MAEC,CACD,GAAyB,GAArB89f,EAAWv1iB,OAAa,CACxB,MAAMijB,GAAYzF,EAAQyF,UAAUqyhB,EAAS79f,GAC7Cs6C,EAAQriD,KAAKzsB,IACbqyhB,EAAU79f,EAAM,CACpB,CACA89f,EAAW7lgB,KAAK,IACpB,CACJ,CACA,MAAMzsB,EAAYzF,EAAQyF,UAAUqyhB,GACpCvjd,SAAQriD,KAAKzsB,GACN8uE,CACX,CAKA,SAASijd,GAAatvX,EAAK21U,EAAOk0C,EAAMxpC,EAAOirC,EAAeR,EAAWiF,EAAUC,EAAgBb,IAC/F,MAAMzxgB,GAAS,GACTxN,GAAS,GACTgqF,GAAS,GAMf2vb,EAAKsC,MAAMnigB,KAAK+lgB,GAChBlG,EAAKnsgB,OAAOsM,KAAKtM,IACjBmsgB,EAAK35gB,OAAO8Z,KAAK9Z,IACjB25gB,EAAK3vb,OAAOlwE,KAAKkwE,IAEjB,MAAM46Z,GADkB5C,GAAmB5+a,MACFm/a,oBAAoBu9B,GAEvDC,GAAgB/6B,GAAmBJ,KAAqBA,GAC9D,OAAIm7B,GACOC,GAAYlwX,EAAK21U,EAAOk0C,EAAMxpC,EAAOirC,EAAe5tgB,GAAQxN,GAAQgqF,GAAQ+1b,GAAenF,EAAWqE,GAAY,GAGlH,CAEf,CACA,SAASe,GAAYlwX,EAAK21U,EAAOk0C,EAAMxpC,EAAO8vC,EAAqBzygB,EAAQxN,EAAQgqF,EAAQrpD,GAAYi6e,GAAWqE,GAAYj4gB,IAC1H,IAAI43gB,GAAc,EACdr7Y,GAAc5iG,GAAWn0C,WAC7B,KAAO+2I,IAAa,CAChB,MAAMmrT,GAAW8+D,GAAa/nB,EAAO0K,EAAO,EAAG,MAC/C,OAAQ5sW,GAAYzD,UAChB,KAAKI,KAAKC,aACN,MAAMr4H,GAAUy7H,GACV5C,GAAU74H,GAAQ64H,QAAQr+J,cAChC,GAAI4ghB,GAAet4c,eAAe+1F,IAAU,CACxCu/Y,GAAuB1ygB,EAAQgrgB,GAAgB73Y,GAASi6Y,GAAWlsF,IACnE+2C,EAAMrggB,KAAKspd,IAAY/tT,GACvB,MAAMqjX,GAAUl8e,GAAQs8H,WACxB,QAASrkI,GAAI,EAAGA,GAAIikf,GAAQ55gB,OAAQ21B,KAAK,CACrC,MAAMy+H,GAAOwlX,GAAQzzf,KAAKwP,IACpBoghB,GAAgB3hZ,GAAKh5J,KAAKlD,cACXk8J,GAAKl5J,MAAMmwE,MAAMsne,IAG9B35B,GAAYx4c,eAAeu1e,KAEvBnC,GAA6Bh0b,EAAQw0C,GAAKl5J,MAAOopd,GAAUlwT,GAAKh5J,KAAM,EADtE29gB,GAAUg9B,IAC+Dv9B,GAGA,MAWjFw9B,GAAmB5ygB,EAAQkhb,GAAUlwT,GAE7C,CACA,MAAM6hZ,GAAc,CAChB/xc,KAAM,EACNj+E,MAAOq+b,GACP5pW,SAAU,IAEdgrE,EAAIh2I,KAAKumgB,IAETzB,GACIoB,GAAYK,GAAYv7b,SAAU2gZ,EAAOk0C,EAAMxpC,EAAO8vC,EAAqBzygB,EAAQxN,EAAQgqF,EAAQu5C,GAAamrT,GAAUuwF,GAAYj4gB,GAAQ,GAC1I43gB,GACR0B,GAActghB,EAAQ0ub,GAAU1nb,GACpC,CACA,MACJ,KAAKk5H,KAAKG,UACN,MAAM/6J,GAAQi+J,GAAYtjI,aAAe,GACnC89gB,GAAaz4iB,GAAMmwE,MAAMsne,IAC/BmD,GAAuB1ygB,EAAQ,KAAMuwgB,GAAa,GAAKz4iB,GAAOs1iB,GAAWlsF,IACzE4xF,GAActghB,EAAQ0ub,GAAU1nb,IAC5B+2gB,KACAa,GACIZ,GAA6Bh0b,EAAQ1kH,GAAOopd,GAAU,KAAM,EAAG,MAAQkwF,IAE/E9uX,EAAIh2I,KAAK,CACLw0D,KAAM,EACNj+E,MAAOq+b,KAEX,MACJ,KAAKxuT,KAAKo6Y,aAEN,MAAMiG,GAAcvD,GAAWnme,KAAK0sF,GAAYtjI,aAAe,IAC/D,GAAIsghB,GAAa,CACb,MACMxE,GAAgBkD,GADC16c,SAASg8c,GAAY,GAAI,KAGhDL,GAAuB1ygB,EAAQirgB,GAAyD,GAAImC,GAAWlsF,IACvGiwF,GAAS7uX,EAAK21U,EAAO0K,EAAO8vC,EAAqBrF,GAAWmB,GAAertF,IAC3E8xF,GAAmBxghB,EAAQ0ub,GAAU1nb,GACzC,EAGRu8H,GAAcA,GAAY0sC,WAC9B,CACA,OAAO2uW,EACX,CACA,SAAS0B,GAActghB,EAAQ3P,EAAO2W,GACpB,IAAVA,GACAhH,EAAO8Z,KAAKzpB,EAEpB,CACA,SAASmwhB,GAAmBxghB,EAAQ3P,EAAO2W,GACzB,IAAVA,IACAhH,EAAO8Z,MAAMzpB,GACb2P,EAAO8Z,KAAKzpB,GAEpB,CAOA,SAAS6vhB,GAAuB1ygB,EAAQi1d,EAAQ9zc,EAAM8xf,EAAmBC,GACtD,OAAXj+C,GACAj1d,EAAOsM,KAAK2od,GAEhBj1d,EAAOsM,KAAK6U,EAAM+xf,EA/zCtB,SAASC,GAAgBlpB,EAAQmjB,EAAWE,GAGxC,OAAOrjB,EAASmjB,GAAa,GAAwCE,GAAU,CACnF,CA2zCmC6F,CAAgB,EAAqCF,EAAmBC,GAC3G,CACA,SAASN,GAAmB5ygB,EAAQkhb,EAAUlwT,GAC1ChxH,EAAOsM,KAAK40a,GAAY,EAAoC,EAA8BlwT,EAAKh5J,KAAMg5J,EAAKl5J,MAC9G,CA6IA,SAASs7iB,GAAYvwhB,EAAOwwhB,EAAcC,GAAmB,GACzD,MAAMr7C,EAAQmM,KACRzB,EAAQwB,KACRyjB,EAAgBtnB,GAAgBz9e,EAEhCkyB,EAAUkud,GAAYhL,EAAM3+e,OAAQ+5hB,GACpChtC,EAAczB,KAChB3M,EAAM0S,iBA9uBd,SAAS4oC,GAAyBt7C,EAAOu7C,EAAkB7wC,EAAO9/e,EAAOkyB,EAASu+f,GAC9E,MAAMrf,EAAYrvB,KACZorC,EAAgB,GAChBpC,GAAgB,GAChB6F,GAAqB,CAAC,IACtBC,GAAW,CAAC,IAKlB3+f,EA8SJ,SAAS4+f,GAA0B5+f,EAASu+f,GACxC,GA9CJ,SAASM,GAAsBN,GAC3B,OAA4B,IAArBA,CACX,CA4CQM,CAAsBN,GAEtB,OAAOtC,GAA+Bj8f,GAErC,CAED,MAAMmK,EAAQnK,EAAQ14C,QAAQ,IAAIi3iB,IAAmB5D,MAAY,EAAI4D,EAAiB3ngB,WAAW/uC,OAC3Fu3G,EAAMp/D,EAAQ6rB,OAAO,IAAIoZ,OAAO,GAAG01d,gBAAoB4D,IAAmB5D,OAChF,OAAOsB,GAA+Bj8f,EAAQl1B,UAAUq/B,EAAOi1D,GACnE,CACJ,CAzTcw/b,CAA0B5+f,EAASu+f,GAC7C,MAAMO,GA5CV,SAASC,GAAYh8iB,GACjB,OAAOA,EAAM+gB,QAAQg3hB,GAAqB,IAC9C,CA0CqBiE,CAAY/+f,GAASpf,MAAMi6gB,IAC5C,QAASr9gB,GAAI,EAAGA,GAAIshhB,GAASj3iB,OAAQ21B,KAAK,CACtC,IAAIz6B,GAAQ+7iB,GAASthhB,IACrB,GAAS,EAAJA,GAiCA,CAGD,MAAMwhhB,GAAoC,KAAxBj8iB,GAAMg9C,WAAW,GAC7Br8B,GAAO3gB,GAAMg9C,WAAWi/f,GAAY,EAAI,GAExClxhB,GAAQy9e,GAAgBt1c,OAAO+rC,SAASj/F,GAAM+nB,UAAWk0hB,GAAY,EAAI,IAC/E,GAAIA,GACAN,GAAmBvre,QACnBwre,GAASxre,QACT48b,GAAgBF,MAAyB,OAExC,CACD,MAAMlP,GAAQu2C,GAAuBh0C,EAAOw7C,GAAmB,GAAI5whB,IACnE4whB,GAAmB14Y,QAAQ,IAC3B+pW,GAAgBpP,IAAO,GACvB,MAAMs+C,GAAkB,CACpBlzc,KAAM,EACNj+E,SACAy0F,SAAU,GACV7+F,KAAe,KAATA,GAAkC,EACpC,GAERi7hB,GAAS,GAAGpngB,KAAK0ngB,IACjBN,GAAS34Y,QAAQi5Y,GAAgB18b,SACrC,CACJ,KA3DmB,CAEf,MAAMr6C,GAAQ+0e,GAA6Bl6iB,IAC3C,QAASyuF,GAAI,EAAGA,GAAItpB,GAAMrgE,OAAQ2pF,KAAK,CACnC,IAAIhyC,GAAO0oB,GAAMspB,IACjB,GAAS,EAAJA,GAQA,CAED,MAAMgod,GAAgBh6f,GAOtB,GAA6B,iBAAlBg6f,GACP,MAAM,IAAIl8f,MAAM,sCAAsC0C,eAG1D,MAAMk/f,GADoBnE,GAAwB73C,EAAOg8B,EAAWwf,GAAmB,GAAI9wC,EAAOqtC,EAAyE,IAAI,GACxInthB,MAGvCsuhB,GAASuC,GAAS,GAAIz7C,EAAO0K,EAAOirC,GAAe4F,EAAkBjF,GAAe0F,GACxF,KArBiB,KAFA1/f,IAGT+7f,GAAwCoD,GAAS,GAAIz7C,EAAOg8B,EAAWwf,GAAmB,GAAIzD,EAAepC,GAAejrC,EAHnHpud,GAwBrB,CACJ,CA4BJ,CACA0jd,EAAMrggB,KAAKirB,GAAS,CAChBmd,OAAQgwgB,EACRxzb,OAAQoxb,GACRtrX,IAAKoxX,GAAS,GAEtB,CA+pBQH,CAAyBt7C,EAAuB,OAAhBoO,EAAuB,EAAIA,EAAYxjf,MAAO8/e,EAAOilB,EAAe7ye,EAASu+f,GAK9F,IAAfr7C,EAAMx/e,KAGiBkqf,EAAM7C,IACdX,KAAU,GAGzBwD,EAAMxD,KAAU,GAEpB,MAAM+0C,GAAQj8C,EAAMrggB,KAAKgwhB,GAEnBrL,GAAcZ,GAAmB1jB,EADXoO,IAAgB1D,EAAMtD,IAAU,KAAOgH,EACA1D,IAl5CvE,SAASwxC,GAAmBxxC,EAAOqtC,EAAezzB,EAAa8wB,GAC3D,MAAM1pW,EAAWg/T,EAAMjD,IACvB,QAASnte,EAAI,EAAGA,EAAIy9gB,EAAcpziB,OAAQ21B,IAAK,CAC3C,MAAM03f,EAAS+lB,EAAcz9gB,KAGvB6hhB,IAAanqB,EAASihB,GAAiBC,kBAAoBD,GAAiBC,eAC5EtohB,GAAQongB,IAAWihB,GAAiB/kF,MAC1C,IAAIusD,GAAQ/P,EAAM9/e,IACd8kf,IAAqB,EACX,OAAV+K,KAGAA,GAAQ/P,EAAM9/e,IACV8phB,GAAoBhqC,EAAO9/e,GAVtBmthB,EAAcz9gB,IACR03f,EAASihB,GAAiBlyM,WAAakyM,GAAiBlyM,QASftmM,KAAKo6Y,aAAep6Y,KAAKG,WACjF80W,GAAqBD,MAErB0sC,IAA6B,OAAhB73B,GAAwB5U,IACrC2R,GAAmB31U,EAAU44U,EAAa7J,GAAO26B,GAAiB,EAE1E,CACJ,EAm4CI8G,CAAmBxxC,EAAOuxC,GAAMl0gB,OAAQu8e,GAHhBlW,GAAmC,EAAnBA,EAAY5tf,KAChDkqf,EAAM0D,EAAYxjf,OAClB,MAEJ2if,GAAe,EACnB,CAoCA,SAAS6uC,GAAOxxhB,EAAOwwhB,EAAcC,GACjCF,GAAYvwhB,EAAOwwhB,EAAcC,GA9BrC,SAASgB,KACL9uC,GAAe,EACnB,CA6BI8uC,EACJ,CAyBA,SAASC,GAAUz8iB,GAEf08iB,OAjhDJ,SAASA,GAAWC,GACZA,IACAhI,IAA2B,GAAK90gB,KAAKE,IAAI60gB,GAAmB,KAEhEA,IACJ,CA4gDI8H,CAAW5X,GADGz4B,KACmBmB,IAAoBxtgB,IAC9Cy8iB,EACX,CASA,SAASG,GAAY7xhB,IAthDrB,SAAS8xhB,GAAU18C,EAAO0K,EAAO9/e,GAC7B,GAAI6phB,GAAoB,EAAG,CAEvB,MAAMwH,EAAQj8C,EAAMrggB,KAAKirB,GAIzB8qhB,GAAmB11C,EAAO0K,EAFJ7mgB,MAAMC,QAAQm4iB,GAASA,EAAQA,EAAM13b,OAChC4oZ,KAAoBsnC,GAAoB,EACCD,GACxE,CAEAA,GAAa,EACbC,GAAoB,CACxB,CA2gDIiI,CAAUvwC,KAAYD,KAAYthf,EAAQy9e,GAC9C,CAwCA,SAASs0C,GAAW1nc,EAAW2nc,EAAYjnc,EAAYknc,GACnD,MAAMnyC,EAAQwB,KACRlM,EAAQmM,KACR1O,EAAQ+O,KACdswC,UAAiB98C,EAAO0K,EAAOA,EAAMjD,IAAWhK,EAAOxoZ,EAAW2nc,EAAYC,GACvEF,EACX,CAsBA,SAASI,GAAwB9nc,EAAW2nc,GACxC,MAAMn/C,EAAQ+O,KACR9B,EAAQwB,KACRlM,EAAQmM,KAGd2wC,UAAiB98C,EAAO0K,EADP6jB,GADE1gB,GAAuB7N,EAAMrggB,MACG89f,EAAOiN,GACjBjN,EAAOxoZ,EAAW2nc,GACpDG,EACX,CA+BA,SAASD,GAAiB98C,EAAO0K,EAAOh/T,EAAU+xT,EAAOxoZ,EAAW2nc,EAAYC,GAC5E,MAAMG,EAAuB/zC,GAAgBxL,GAEvC2lB,GADkBpjB,EAAM0S,iBACM4b,GAAwBtuB,GACtD9+Y,GAAUwpZ,EAAMnD,IAIhB8b,GAAWgL,GAAwB3jB,GAEzC,IAAIuyC,IAAiB,EAKrB,GAAkB,EAAbx/C,EAAMj9e,MAAsCq8hB,EAAqB,CAClE,MAAMjgD,GAAS+N,GAAiBlN,EAAOiN,GACjCrvc,GAASwhf,EAAsBA,EAAoBjgD,IAAUA,GAC7DsgD,GAAgB75B,GAAS1+gB,OACzBw4iB,GAAoBN,EACrBpmC,IAAWomC,EAAoBryC,GAAYiM,GAAOhZ,EAAM7ye,SACzD6ye,EAAM7ye,MAaV,IAAIwyhB,GAAmB,KAUvB,IAHKP,GAAuBG,IACxBI,GAnEZ,SAASC,GAAqBr9C,EAAO0K,EAAOz1Z,EAAWorb,GACnD,MAAMjd,EAAWpjB,EAAMjqP,QACvB,GAAgB,MAAZqtQ,EACA,QAAS9of,EAAI,EAAGA,EAAI8of,EAASz+gB,OAAS,EAAG21B,GAAK,EAAG,CAC7C,MAAMgjhB,EAAmBl6B,EAAS9of,GAClC,GAAIgjhB,IAAqBroc,GAAamua,EAAS9of,EAAI,KAAO+lgB,EAAU,CAIhE,MAAMhd,EAAW3Y,EAAMpD,IACjBi2C,GAAwBn6B,EAAS9of,EAAI,GAC3C,OAAO+of,EAAS1+gB,OAAS44iB,GAAwBl6B,EAASk6B,IAAyB,IACvF,CAMgC,iBAArBD,IACPhjhB,GAAK,EAEb,CAEJ,OAAO,IACX,CA2C+B+ihB,CAAqBr9C,EAAO0K,EAAOz1Z,EAAWwoZ,EAAM7ye,QAElD,OAArBwyhB,IAKuBA,GAAiBI,sBAAwBJ,IACjDK,qBAAuBb,EACtCQ,GAAiBI,qBAAuBZ,EACxCK,IAAiB,MAEhB,CACDL,EAAac,GAAajgD,EAAOiN,EAAOxpZ,GAAS07b,GAAY,GAC7D,MAAMpnD,GAAY9pT,EAAStT,OAAO/8H,GAAQ45C,EAAW2nc,GAErDv5B,GAAShve,KAAKuogB,EAAYpnD,IAC1B4tB,IAAYA,GAAS/ue,KAAK4gE,EAAWkoc,GAAmBD,GAAeA,GAAgB,EAC3F,CACJ,MAIIN,EAAac,GAAajgD,EAAOiN,EAAOxpZ,GAAS07b,GAAY,GAGjE,MAAM35gB,GAAUw6d,EAAMx6d,QACtB,IAAIzvC,GACJ,GAAIypjB,IAA8B,OAAZh6gB,KAAqBzvC,GAAQyvC,GAAQgyE,IAAa,CACpE,MAAMk5T,GAAc36a,GAAMmR,OAC1B,GAAIwpa,GACA,QAAS7zY,GAAI,EAAGA,GAAI6zY,GAAa7zY,IAAK,EAAG,CACrC,MAQMsza,GALoB88D,EAHZl3gB,GAAM8mC,KAEC9mC,GAAM8mC,GAAI,IAMH1b,UAAUg+hB,GAChCl7f,GAAM2he,GAAS1+gB,OACrB0+gB,GAAShve,KAAKuogB,EAAYhvG,IAC1Bw1E,IAAYA,GAAS/ue,KAAK4gE,EAAWwoZ,EAAM7ye,MAAO82B,KAAOA,GAAM,GACnE,CAER,CACJ,CACA,SAASi8f,GAAiCjzC,EAAOxpZ,EAAS07b,EAAY7qgB,GAClE,MAAMiid,EAAe+Q,EAAoB,MACzC,IACIqF,UAAS,EAAmClpZ,EAAS07b,IAE5B,IAAlBA,EAAW7qgB,EACtB,OACO1wC,GACH4vE,UAAYy5b,EAAOrpgB,IACZ,CACX,SAEI+ogB,GAAS,EAAiClpZ,EAAS07b,GACnD73C,EAAoB/Q,EACxB,CACJ,CAWA,SAAS0pD,GAAajgD,EAAOiN,EAAOxpZ,EAAS07b,EAAYgB,GAGrD,OAAO,SAASC,EAA0C9rgB,GAGtD,GAAIA,IAAM23C,SACN,OAAOkzd,EAKXjqB,GADkBl1B,EAAMuL,iBAAkB,EAAK6B,GAAyBpN,EAAM7ye,MAAO8/e,GAASA,GAE9F,IAAI76f,GAAS8tiB,GAAiCjzC,EAAOxpZ,EAAS07b,EAAY7qgB,GAGtE+rgB,GAAiBD,EAA0CJ,qBAC/D,KAAOK,IAEHjuiB,GAAS8tiB,GAAiCjzC,EAAOxpZ,EAAS48b,GAAgB/rgB,IAAMliC,GAChFiuiB,GAAiBA,GAAeL,qBAEpC,OAAIG,IAAqC,IAAX/tiB,IAC1BkiC,EAAEjY,iBAECjqB,EACX,CACJ,CAwBA,SAASkuiB,GAAczjgB,EAAQ,GAC3B,OA13oBJ,SAAS0jgB,GAAgB1jgB,GAGrB,OAFqBqxd,GAAiBC,OAAOU,aA9hBjD,SAAS2xC,GAAYC,EAAcvtC,GAC/B,KAAOutC,EAAe,GAGlBvtC,EAAcA,EAAY/I,IAC1Bs2C,IAEJ,OAAOvtC,CACX,CAuhBQstC,CAAY3jgB,EAAOqxd,GAAiBC,OAAOU,eAC3B/E,GACxB,CAs3oBWy2C,CAAgB1jgB,EAC3B,CAUA,SAAS6jgB,GAA4B1gD,EAAO2gD,GACxC,IAAIC,EAAyB,KAC7B,MAAMC,EAz+tBV,SAASC,GAAsB9gD,GAC3B,MAAMO,EAAYP,EAAM/he,MACxB,GAAiB,MAAbsie,EAAmB,CACnB,MAAMwgD,EAAqBxgD,EAAU55f,QAAQ,GAG7C,KAA0B,EAArBo6iB,GACD,OAAOxgD,EAAUwgD,EAAqB,EAE9C,CACA,OAAO,IACX,CA89tB+BD,CAAsB9gD,GACjD,QAASnje,EAAI,EAAGA,EAAI8jhB,EAAgBz5iB,OAAQ21B,IAAK,CAC7C,MAAMwwe,EAAYszC,EAAgB9jhB,GAGlC,GAAkB,MAAdwwe,GAMJ,GAA2B,OAAvBwzC,EACA1/C,GAA2BnB,EAAOqN,GAAkC,GACpEjM,GAAyBy/C,EAAoBxzC,GAC7C,OAAOxwe,OARP+jhB,EAAyB/jhB,CAUjC,CACA,OAAO+jhB,CACX,CA0BA,SAASI,GAAgBL,GACrB,MAAMM,EAAgBxyC,KAAWrE,IAA4BT,IAC7D,IAAKs3C,EAAc55B,WAAY,CAG3B,MACM65B,EAAkBD,EAAc55B,WAlzvB9C,SAAS85B,GAAS/wc,EAAMhuG,GACpB,MAAMlC,EAAO,GACb,QAAS28B,EAAI,EAAGA,EAAIuzE,EAAMvzE,IACtB38B,EAAK02C,KAAKx0C,GAEd,OAAOlC,CACX,CA6yvBYihjB,CAFuBR,EAAkBA,EAAgBz5iB,OAAS,EAErC,MAC3Bk6iB,EAAQF,EAAgBxqgB,QAC9B,IAAI2qgB,EAAiBJ,EAAcriU,MACnC,KAA0B,OAAnByiU,GAAyB,CAC5B,MAAMC,EAAYX,EAAkBD,GAA4BW,EAAgBV,GAAmB,EACjF,OAAdW,IACIF,EAAME,GACNF,EAAME,GAAWt5B,eAAiBq5B,EAGlCH,EAAgBI,GAAaD,EAEjCD,EAAME,GAAaD,GAEvBA,EAAiBA,EAAe5/hB,IACpC,CACJ,CACJ,CAYA,SAAS8/hB,GAAa1zO,EAAW2zO,EAAgB,EAAGvjhB,GAChD,MAAMgve,EAAQwB,KACRlM,EAAQmM,KACRuZ,EAAkBsB,GAAiBhnB,EAAOqI,GAAgB/8L,EAAW,GAA+B,KAAM5vS,GAAS,MAEtF,OAA/Bgqf,EAAgBZ,aAChBY,EAAgBZ,WAAam6B,GAEjClyC,OACsBrC,EAAMrD,KACiB4E,OAEoB,IAA5DyZ,EAAgBpta,OAhqdzB,SAAS4mc,GAAgBl/C,EAAO0K,EAAOgb,GAKnCF,GAJiB9a,EAAMjD,IAIY,EAAoCiD,EAAOgb,EAH1DjC,GAAkBzjB,EAAO0lB,EAAiBhb,GAE7CmZ,GADG6B,EAAgB9sd,QAAU8xc,EAAMtD,IACEse,EAAiBhb,GAE3E,CA4pdQw0C,CAAgBl/C,EAAO0K,EAAOgb,EAEtC,CA+BA,SAASy5B,GAAsBjpD,EAAU2vC,EAAIj3gB,GACzCwwhB,UAAuBlpD,EAAU,GAAI2vC,EAAI,GAAIj3gB,GACtCuwhB,EACX,CA6BA,SAASC,GAAuBlpD,EAAUl6c,EAAQ6pf,EAAIC,EAAQl3gB,GAC1D,MAAM87e,EAAQwB,KACRmzC,EAAoBzZ,GAAel7B,EAAO1ud,EAAQ6pf,EAAIC,GAQ5D,OAPIuZ,IAAsBl5B,IAGtB2E,GAFc3e,KACAiD,KACwB1E,EAAOxU,EAAUmpD,EAAmB30C,EAAMjD,IAAW74e,GAAW,GAInGwwhB,EACX,CAmZA,SAASE,GAAetpC,EAAgB58T,EAAW9gG,EAAO8yJ,IAntS1D,SAASm0S,GAAmBvpC,EAAgB58T,EAAW9gG,EAAO8yJ,GAE1D,MAAM40P,EAAQmM,KACd,GAAInM,EAAM0S,gBAAiB,CACvB,MAAMjV,EAAQ+O,KACd40B,GAAaphC,EAAO,IAAI++B,GAAgB3lV,EAAW9gG,EAAO8yJ,GAAOqyP,EAAM7ye,OAiB/E,SAAS40hB,GAAkCx/C,EAAOgW,GAC9C,MAAMypC,EAAsBz/C,EAAMv9d,iBAAmBu9d,EAAMv9d,eAAiB,IAExEuze,KAD4BypC,EAAoB96iB,OAAS86iB,EAAoBA,EAAoB96iB,OAAS,IAAK,IAE/G86iB,EAAoBprgB,KAAK2rd,EAAMx8C,QAAQ7+c,OAAS,EAAGqxgB,EAE3D,CAtBQwpC,CAAkCx/C,EAAOgW,KACK,GAAzC19Z,KACD0nZ,EAAMkqB,sBAAuB,EAErC,CACA,OAAOgX,GAAalhC,EAAOkM,KAAY5zZ,EAC3C,CAwsSIinc,CAAmBvpC,EAAgB58T,EAAW9gG,EAAO8yJ,EACzD,CAUA,SAASs0S,GAAYtmW,EAAW9gG,EAAO8yJ,IA1uSvC,SAASu0S,GAAgBvmW,EAAW9gG,EAAO8yJ,GAEvC,MAAM40P,EAAQmM,KACd,OAAInM,EAAM0S,kBACN0uB,GAAaphC,EAAO,IAAI++B,GAAgB3lV,EAAW9gG,EAAO8yJ,IAAO,KACnB,GAAzC9yJ,KACD0nZ,EAAMiqB,mBAAoB,IAG3BiX,GAAalhC,EAAOkM,KAAY5zZ,EAC3C,CAiuSIqnc,CAAgBvmW,EAAW9gG,EAAO8yJ,EACtC,CAUA,SAASw0S,GAAevhB,GACpB,MAAM3zB,EAAQwB,KACRlM,EAAQmM,KACRw0B,EAAa5yB,KACnBC,GAAqB2yB,EAAa,GAClC,MAAMjC,EAASI,GAAU9+B,EAAO2gC,GAChC,GAAItC,EAAU7kd,OA9irBlB,SAASqme,GAAer5S,GACpB,QAA2D,GAAnDA,EAAK0gQ,IACjB,CA6irBS24C,CAAen1C,OAC+C,GAAzDg0B,EAAOn0e,SAAS+tD,OAAwE,CAC9F,GAAuB,OAAnBomb,EAAOxwb,QACPmwb,EAAUhpiB,MAAM,QAEf,CACD,MAAMwa,EAASwxhB,GAAgB32B,EAAOi2B,GACtCtC,EAAUhpiB,MAAMwa,EAAQsogB,IACxBkmB,EAAU77f,iBACd,CACA,OAAO,CACX,CACA,OAAO,CACX,CAMA,SAASs9gB,KACL,OAlySJ,SAASC,GAAkBr1C,EAAOi2B,GAI9B,OAAOj2B,EAAM1C,IAASxkD,QAAQm9E,GAAYtC,SAC9C,CA6xSW0hB,CAAkB7zC,KAAY6B,KACzC,CAkEA,SAASiyC,GAAYp1hB,GAEjB,OAAOq6B,GAl1qBX,SAASg7f,KAGL,OAFqBt0C,GAAiBC,OAAOU,YAGjD,CA60qByB2zC,GACK53C,GAAgBz9e,EAC9C,CA2pBA,SAASs1hB,GAAOt1hB,EAAO/qB,EAAQ,IAC3B,MAAM6qgB,EAAQwB,KACRlM,EAAQmM,KACRwjB,EAAgB/kgB,EAAQy9e,GAIxB5K,EAAQuC,EAAM0S,gBAChBsU,GAAiBhnB,EAAO2vB,EAAe,EAAwB9vhB,EAAO,MACtEmggB,EAAMrggB,KAAKgwhB,GACTwwB,EAAaC,GAAwBpgD,EAAO0K,EAAOjN,EAAO59f,EAAO+qB,GACvE8/e,EAAMilB,GAAiBwwB,EACnB1wC,MACAzod,GAAYg5c,EAAO0K,EAAOy1C,EAAY1iD,GAG1CoP,GAAgBpP,GAAO,EAC3B,CACA,IAAI2iD,GAA0BA,CAACpgD,EAAO0K,EAAOjN,EAAO59f,EAAO+qB,KACvD8kf,IAAmB,GACZ1iP,GAAe09O,EAAMjD,IAAW5ngB,IA6C3C,SAASwgjB,GAAkBxa,GACvBya,UAAmB,GAAIza,EAAI,IACpBwa,EACX,CAoBA,SAASC,GAAmBtkgB,EAAQ6pf,EAAIC,GACpC,MAAMp7B,EAAQwB,KACRq0C,EAAe3a,GAAel7B,EAAO1ud,EAAQ6pf,EAAIC,GACvD,OAAIya,IAAiBp6B,IACjBuI,GAAoBhkB,EAAOwE,KAAoBqxC,GAE5CD,EACX,CAoBA,SAASE,GAAmBxkgB,EAAQ6pf,EAAIrzhB,EAAIiuiB,EAAI3a,GAC5C,MAAMp7B,EAAQwB,KACRq0C,EAl8NV,SAASG,GAAeh2C,EAAO1ud,EAAQ6pf,EAAIrzhB,EAAIiuiB,EAAI3a,GAC/C,MACMf,EAAYH,GAAgBl6B,EADbyC,KACkC04B,EAAI4a,GAC3DnzC,UAAsB,GACfy3B,EAAY/of,EAAS+8c,GAAgB8sC,GAAMrzhB,EAAKumf,GAAgB0nD,GAAM3a,EAAS3f,EAC1F,CA67NyBu6B,CAAeh2C,EAAO1ud,EAAQ6pf,EAAIrzhB,EAAIiuiB,EAAI3a,GAC/D,OAAIya,IAAiBp6B,IACjBuI,GAAoBhkB,EAAOwE,KAAoBqxC,GAE5CC,EACX,CAqBA,SAASG,GAAmB3kgB,EAAQ6pf,EAAIrzhB,EAAIiuiB,EAAIhuiB,EAAImuiB,EAAI9a,GACpD,MAAMp7B,EAAQwB,KACRq0C,GAr9NV,SAASM,GAAen2C,EAAO1ud,EAAQ6pf,EAAIrzhB,EAAIiuiB,EAAIhuiB,EAAImuiB,EAAI9a,GACvD,MACMf,GAAYC,GAAgBt6B,EADbyC,KACkC04B,EAAI4a,EAAIG,GAC/DtzC,UAAsB,GACfy3B,GACH/of,EAAS+8c,GAAgB8sC,GAAMrzhB,EAAKumf,GAAgB0nD,GAAMhuiB,EAAKsmf,GAAgB6nD,GAAM9a,EACrF3f,EACR,CA88NyB06B,CAAen2C,EAAO1ud,EAAQ6pf,EAAIrzhB,EAAIiuiB,EAAIhuiB,EAAImuiB,EAAI9a,GACvE,OAAIya,KAAiBp6B,IACjBuI,GAAoBhkB,EAAOwE,KAAoBqxC,IAE5CI,EACX,CAoMA,SAASG,GAAiB5qD,EAAUr2f,EAAO+uB,GAEnCozgB,GAAiBniiB,KACjBA,EAAQA,KAEZ,MAAM6qgB,EAAQwB,KAQd,OANIy4B,GAAej6B,EADE2C,IACmBxtgB,IAGpCirhB,GAFc3e,KACAiD,KACwB1E,EAAOxU,EAAUr2f,EAAO6qgB,EAAMjD,IAAW74e,GAAW,GAGvFkyhB,EACX,CASA,SAASC,GAAmB1lf,EAAQx7D,GAChC,MAAMmhjB,EAAWhf,GAAiB3me,GAClC2lf,UAAY3lf,EAAO5lB,IAAI51C,GAChBmhjB,CACX,CASA,SAASC,GAAiBhsc,EAAW2nc,GACjC,MAAMlyC,EAAQwB,KACRlM,EAAQmM,KACR1O,EAAQ+O,KACdswC,UAAiB98C,EAAO0K,EAAOA,EAAMjD,IAAWhK,EAAOxoZ,EAAW2nc,GAC3DqE,EACX,CAqDA,SAASC,GAAgBp+C,EAAUsS,EAAc+rC,EAAuBhgC,EAAa9P,GAEjF,GADAvO,EAAW3L,GAAkB2L,GACzBj/f,MAAMC,QAAQg/f,GAId,QAASxoe,EAAI,EAAGA,EAAIwoe,EAASn+f,OAAQ21B,IACjC4mhB,GAAgBp+C,EAASxoe,GAAI86e,EAAc+rC,EAAuBhgC,EAAa9P,OAGlF,CACD,MAAMrR,EAAQmM,KACRzB,EAAQwB,KACRzO,EAAQ+O,KACd,IAAIhqgB,GAAQuhgB,GAAejB,GAAYA,EAAW3L,GAAkB2L,EAAS5/d,SAC7E,MAAMk+gB,GAAkBt7C,GAAkBhD,GAOpCu+C,GAAqC,QAAxB5jD,EAAM0X,gBACnBK,GAAW/X,EAAMmS,eACjB2F,GAAwB9X,EAAM0X,iBAAmB,GACvD,GAAIpR,GAAejB,KAAcA,EAASvtb,MAAO,CAE7C,MAAMviE,GAAU,IAAIo+f,GAAoBgwC,GAAiB/vC,EAAgBkV,IACnE+6B,GAAuBl9iB,GAAQ5B,GAAO4ygB,EAAc/D,EAAiBgwC,GAAaA,GAAa9rC,GAAuBC,KAC/F,IAAzB8rC,IACAhuC,GAAmBf,GAA+B9U,EAAOiN,GAAQ1K,EAAOx9f,IACxE++iB,GAAgCvhD,EAAO8C,EAAUsS,EAAazwgB,QAC9DywgB,EAAa/ge,KAAK7xC,IAClBi7f,EAAMmS,iBACNnS,EAAMoS,eACFwB,IACA5T,EAAM0X,iBAAmB,SAE7BgsC,EAAsB9sgB,KAAKrhC,IAC3B03f,EAAMr2d,KAAKrhC,MAGXmuiB,EAAsBG,IAAwBtuiB,GAC9C03f,EAAM42C,IAAwBtuiB,GAEtC,KACK,CAqBD,MAAMwuiB,GAAgCp9iB,GAAQ5B,GAAO4ygB,EAAcisC,GAAa9rC,GAAuBC,IACjGisC,GAAoCr9iB,GAAQ5B,GAAO4ygB,EAAcisC,GAAYA,GAAa9rC,IAG1FmsC,GAAgCD,IAAqC,GACvEN,EAAsBM,IAC1B,GAAIpwC,IAAmBqwC,KAClBrwC,KAL6BmwC,IAAiC,GAC/DL,EAAsBK,KAIyB,CAE/CluC,GAAmBf,GAA+B9U,EAAOiN,GAAQ1K,EAAOx9f,IACxE,MAAMwQ,GAgItB,SAAS2uiB,GAAaC,EAAWh3hB,EAAOymf,EAAgB8P,EAAa10f,GACjE,MAAMzZ,EAAU,IAAIo+f,GAAoBwwC,EAAWvwC,EAAgBkV,IACnEvzgB,SAAQuiE,MAAQ,GAChBviE,EAAQ4X,MAAQA,EAChB5X,EAAQ6uiB,mBAAqB,EAC7BC,GAAgB9uiB,EAASyZ,EAAG00f,IAAgB9P,GACrCr+f,CACX,CAvIgC2uiB,CAAatwC,EAAiB0wC,GAAoCC,GAA+Bb,EAAsBx8iB,OAAQ0sgB,EAAgB8P,EAAaigC,KACvK/vC,GAAkBqwC,KACnBP,EAAsBM,IAAmCL,gBAAkBpuiB,IAE/EuuiB,GAAgCvhD,EAAO8C,EAAUsS,EAAazwgB,OAAQ,GACtEywgB,EAAa/ge,KAAK7xC,IAClBi7f,EAAMmS,iBACNnS,EAAMoS,eACFwB,IACA5T,EAAM0X,iBAAmB,SAE7BgsC,EAAsB9sgB,KAAKrhC,IAC3B03f,EAAMr2d,KAAKrhC,GACf,MAKIuuiB,GAAgCvhD,EAAO8C,EAAU0+C,IAAgC,EAAKA,GAClFC,GAHmBK,GAAgBX,EAAsB9vC,EAAiBowC,GAC1ED,IAAgCJ,IAAkB/vC,GAAkB8P,KAIvE9P,GAAkB8P,GAAeugC,IAClCP,EAAsBM,IAAmCI,oBAEjE,CACJ,CACJ,CASA,SAASN,GAAgCvhD,EAAO8C,EAAUm/C,EAAcC,GACpE,MAAMC,EAAyBp+C,GAAejB,GACxCs/C,EA1pwBV,SAASC,GAAgBxijB,GACrB,QAASA,EAAM40E,QACnB,CAwpwBoC4te,CAAgBv/C,GAChD,GAAIq/C,GAA0BC,EAAyB,CAInD,MAAM3hiB,IAFa2hiB,EAA0BjrD,GAAkB2L,EAASrub,UAAYqub,GACvDzod,UACC55B,YAC9B,GAAIA,GAAa,CACb,MAAM4kG,GAAQ26Y,EAAMqQ,eAAiBrQ,EAAMqQ,aAAe,IAC1D,IAAK8xC,GAA0Br/C,EAASvtb,MAAO,CAG3C,MAAM+se,GAAyBj9b,GAAMjhH,QAAQ69iB,IACd,IAA3BK,GACAj9b,GAAMhxE,KAAK4tgB,EAAc,CAACC,EAAgBzhiB,KAG1C4kG,GAAMi9b,GAAyB,GAAGjugB,KAAK6tgB,EAAgBzhiB,GAE/D,MAEI4kG,GAAMhxE,KAAK4tgB,EAAcxhiB,GAEjC,CACJ,CACJ,CAKA,SAASqhiB,GAAgBH,EAAc3uiB,EAASuviB,GAC5C,OAAIA,GACAZ,EAAaE,qBAEVF,EAAapse,MAAMlhC,KAAKrhC,GAAW,CAC9C,CAIA,SAAS5O,GAAQ0mB,EAAMszB,EAAKytJ,EAAO3vF,GAC/B,QAAS5hF,EAAIuxK,EAAOvxK,EAAI4hF,EAAK5hF,IACzB,GAAI8jB,EAAI9jB,KAAOxP,EACX,OAAOwP,EAEf,OAAO,CACX,CAIA,SAAS0nhB,GAA8Bhue,EAAG85b,EAAO00C,EAAO/kD,GACpD,OAAOglD,GAAalwiB,KAAKgjE,MAAO,GACpC,CAMA,SAASwse,GAAkC/te,EAAG85b,EAAOpD,EAAOjN,GACxD,MAAMilD,EAAYnwiB,KAAKgjE,MACvB,IAAI1lE,EACJ,GAAI0C,KAAK6uiB,gBAAiB,CACtB,MAAMuB,EAAiBpwiB,KAAK6uiB,gBAAgBS,mBACtCe,EAAiB7tC,GAAkBrK,EAAOA,EAAMzD,IAAQ10f,KAAK6uiB,gBAAgBx2hB,MAAO6ye,GAE1F5tf,EAAS+yiB,EAAezugB,MAAM,EAAGwugB,GAEjCF,GAAaC,EAAW7yiB,GAExB,QAASyqB,GAAIqohB,EAAgBrohB,GAAIsohB,EAAej+iB,OAAQ21B,KACpDzqB,EAAOwkC,KAAKuugB,EAAetohB,IAEnC,MAEIzqB,EAAS,GAET4yiB,GAAaC,EAAW7yiB,GAE5B,OAAOA,CACX,CAIA,SAAS4yiB,GAAaC,EAAW7yiB,GAC7B,QAASyqB,EAAI,EAAGA,EAAIoohB,EAAU/9iB,OAAQ21B,IAElCzqB,EAAOwkC,MAAKrhC,EADI0viB,EAAUpohB,OAG9B,OAAOzqB,CACX,CA6CA,SAASgziB,GAAmBj4gB,EAAWk4gB,EAAgB,IACnD,OAAQ5gW,IACJA,EAAW2/S,kBACP,CAACr5U,EAAKu6X,IAtQlB,SAASlhD,GAAkBr5U,EAAK59I,EAAWk4gB,GACvC,MAAM9iD,EAAQmM,KACd,GAAInM,EAAM0S,gBAAiB,CACvB,MAAMyO,EAAcjY,GAAe1gV,GAEnC04X,GAAgB4B,EAAe9iD,EAAMrggB,KAAMqggB,EAAM6S,UAAWsO,GAAa,GAEzE+/B,GAAgBt2gB,EAAWo1d,EAAMrggB,KAAMqggB,EAAM6S,UAAWsO,GAAa,EACzE,CACJ,CA8PuBtf,CAAkBr5U,EACzBu6X,EAAqBA,EAAmBn4gB,GAAaA,EACrDk4gB,EAAa,CAG7B,CAEA,IAKME,GAAiB,MAAvB,MAAMA,EACFhxiB,YAAY81d,GACRv1d,KAAKu1d,UAAYA,EACjBv1d,KAAK0wiB,gBAAkB,IAAIztgB,GAC/B,CACA0tgB,8BAA8B9iD,GAC1B,IAAKA,EAAa5ke,WACd,OAAO,KAEX,IAAKjpB,KAAK0wiB,gBAAgBj3gB,IAAIo0d,GAAe,CACzC,MAAMx1d,EAAY23d,GAA4B,EAAOnC,EAAa5/e,MAC5D2iiB,EAAqBv4gB,EAAUjmC,OAAS,EAC1Cy/hB,GAA0B,CAACx5f,GAAYr4B,KAAKu1d,UAAW,cAAcs4B,EAAa5/e,KAAKzgB,SACvF,KACJwS,KAAK0wiB,gBAAgBxtgB,IAAI2qd,EAAc+iD,EAC3C,CACA,OAAO5wiB,KAAK0wiB,gBAAgBhoiB,IAAImlf,EACpC,CACA3/e,cACI,IACI,UAAWulc,KAAYzzc,KAAK0wiB,gBAAgBjliB,SACvB,OAAbgoc,GACAA,EAAShmb,SAGrB,SAEIztB,KAAK0wiB,gBAAgB37f,OACzB,CACJ,QAES/0C,KAAKszD,WAAQi/a,GAAmB,CACrCtif,MAAOwgjB,EACP9viB,WAAY,cACZF,QAASA,IAAM,IAAIgwiB,EAAkBpvE,GAASywB,MAC9C,EACP,OApCK2+C,CAAiB,KA+CvB,SAASI,GAAoBlhW,GACzB4yU,GAAuB,gBACvB5yU,EAAW29S,sBAAyBm6B,GACzBA,EAAe/+gB,IAAI+niB,IAAmBE,8BAA8BhhW,EAEnF,CAWA,SAASmhW,GAAoB7iiB,EAAMgpgB,EAAYC,GAC3C,MAAMjhW,EAAMhoK,EAAKya,UACjButJ,EAAIm3U,cAAgBO,GAAwBspB,GAA0B,GACtEhhW,EAAIo3U,SAAWM,GAAwBupB,GAAqB,EAChE,CAoEA,SAAS65B,GAAgBC,EAAYC,EAAQptd,GACzC,MAAMg3a,EAAeJ,KAAmBu2C,EAClC74C,EAAQwB,KACd,OAAOxB,EAAM0C,KAAkB+Y,GAC3Bue,GAAch6B,EAAO0C,EAAch3a,EAAUotd,EAAOvof,KAAKm7B,GAAWotd,KAp2S5E,SAASC,GAAW/4C,EAAO0C,GAIvB,OAAO1C,EAAM0C,EACjB,CAg2SQq2C,CAAW/4C,EAAO0C,EAC1B,CAaA,SAASs2C,GAAgBH,EAAYC,EAAQl+e,EAAK8wB,GAC9C,OAAOutd,GAAsBz3C,KAAYc,KAAkBu2C,EAAYC,EAAQl+e,EAAK8wB,EACxF,CAcA,SAASwtd,GAAgBL,EAAYC,EAAQ3e,EAAMC,EAAM1uc,GACrD,OAAOytd,GAAsB33C,KAAYc,KAAkBu2C,EAAYC,EAAQ3e,EAAMC,EAAM1uc,EAC/F,CAeA,SAAS0td,GAAgBP,EAAYC,EAAQ3e,EAAMC,EAAMG,EAAM7uc,GAC3D,OAAO2td,GAAsB73C,KAAYc,KAAkBu2C,EAAYC,EAAQ3e,EAAMC,EAAMG,EAAM7uc,EACrG,CAsJA,SAAS4td,GAA2Bt5C,EAAOu5C,GAEvC,MAAMC,EAAkBx5C,EAAMu5C,GAC9B,OAAOC,IAAoB/9B,QAAYvlhB,EAAYsjjB,CACvD,CAaA,SAASP,GAAsBj5C,EAAOy5C,EAAaZ,EAAYC,EAAQl+e,EAAK8wB,GACxE,MAAMg3a,EAAe+2C,EAAcZ,EACnC,OAAO5e,GAAej6B,EAAO0C,EAAc9nc,GACvCo/d,GAAch6B,EAAO0C,EAAe,EAAGh3a,EAAUotd,EAAOvof,KAAKm7B,EAAS9wB,GAAOk+e,EAAOl+e,IACpF0+e,GAA2Bt5C,EAAO0C,EAAe,EACzD,CAcA,SAASy2C,GAAsBn5C,EAAOy5C,EAAaZ,EAAYC,EAAQ3e,EAAMC,EAAM1uc,GAC/E,MAAMg3a,EAAe+2C,EAAcZ,EACnC,OAAO3e,GAAgBl6B,EAAO0C,EAAcy3B,EAAMC,GAC9CJ,GAAch6B,EAAO0C,EAAe,EAAGh3a,EAAUotd,EAAOvof,KAAKm7B,EAASyuc,EAAMC,GAAQ0e,EAAO3e,EAAMC,IACjGkf,GAA2Bt5C,EAAO0C,EAAe,EACzD,CAeA,SAAS22C,GAAsBr5C,EAAOy5C,EAAaZ,EAAYC,EAAQ3e,EAAMC,EAAMG,EAAM7uc,GACrF,MAAMg3a,GAAe+2C,EAAcZ,EACnC,OAAOve,GAAgBt6B,EAAO0C,GAAcy3B,EAAMC,EAAMG,GACpDP,GAAch6B,EAAO0C,GAAe,EAAGh3a,EAAUotd,EAAOvof,KAAKm7B,EAASyuc,EAAMC,EAAMG,GAAQue,EAAO3e,EAAMC,EAAMG,IAC7G+e,GAA2Bt5C,EAAO0C,GAAe,EACzD,CAyDA,SAASg3C,GAAOx5hB,EAAOy5hB,GACnB,MAAMrkD,EAAQmM,KACd,IAAI3K,EACJ,MAAMmuB,EAAgB/kgB,EAAQy9e,GAC1BrI,EAAM0S,iBAGNlR,EA0CR,SAAS8iD,GAAWvkjB,EAAMoxV,GACtB,GAAIA,EAQA,QAAS72T,EAAI62T,EAASxsV,OAAS,EAAG21B,GAAK,EAAGA,IAAK,CAC3C,MAAMkne,EAAUrwK,EAAS72T,GACzB,GAAIv6B,IAASyhgB,EAAQzhgB,KACjB,OAAOyhgB,CAEf,CAMR,CA9DkB8iD,CAAWD,EAAUrkD,EAAMoqB,cACrCpqB,EAAMrggB,KAAKgwhB,GAAiBnuB,EACxBA,EAAQhhV,YACPw/U,EAAMqQ,eAAiB,IAAIh8d,KAAKs7e,EAAenuB,EAAQhhV,YAI5DghV,EAAUxB,EAAMrggB,KAAKgwhB,GAEzB,MAAM40B,EAAc/iD,EAAQxuf,UAAYwuf,EAAQxuf,QAAU8nf,GAAc0G,EAAQhhf,OAQ1E4kf,EAA+B1L,GAAwB6sB,IAC7D,IAGI,MAAMzQ,GAA+B3D,IAAwB,GACvDqyC,GAAeD,IACrBpyC,UAAwB2D,IAv1DhC,SAAS5jgB,GAAM8tf,EAAO0K,EAAO9/e,EAAO/qB,GAG5B+qB,GAASo1e,EAAMrggB,KAAKgF,SACpBq7f,EAAMrggB,KAAKirB,GAAS,KACpBo1e,EAAM6S,UAAUjof,GAAS,MAE7B8/e,EAAM9/e,GAAS/qB,CACnB,CAg1DQqS,CAAM8tf,EAAOkM,KAAYyjB,EAAe60B,IACjCA,EACX,SAII9qD,GAAwB0L,EAE5B,CACJ,CA4EA,SAASq/C,GAAY75hB,EAAO01I,EAAQmgZ,GAChC,MAAM9wB,EAAgB/kgB,EAAQy9e,GACxBqC,EAAQwB,KACRs4C,EAAev/f,GAAKyld,EAAOilB,GACjC,OAAO+0B,GAAOh6C,EAAOilB,GACjBg0B,GAAsBj5C,EAAOsC,KAAkB1sW,EAAQkkZ,EAAalohB,UAAWmkhB,EAAI+D,GACnFA,EAAalohB,UAAUmkhB,EAC/B,CAcA,SAASkE,GAAY/5hB,EAAO24hB,EAAY9C,EAAIG,GACxC,MAAMjxB,EAAgB/kgB,EAAQy9e,GACxBqC,EAAQwB,KACRs4C,EAAev/f,GAAKyld,EAAOilB,GACjC,OAAO+0B,GAAOh6C,EAAOilB,GACjBk0B,GAAsBn5C,EAAOsC,KAAkBu2C,EAAYiB,EAAalohB,UAAWmkhB,EAAIG,EAAI4D,GAC3FA,EAAalohB,UAAUmkhB,EAAIG,EACnC,CAeA,SAASgE,GAAYh6hB,EAAO24hB,EAAY9C,EAAIG,EAAIiE,GAC5C,MAAMl1B,EAAgB/kgB,EAAQy9e,GACxBqC,EAAQwB,KACRs4C,EAAev/f,GAAKyld,EAAOilB,GACjC,OAAO+0B,GAAOh6C,EAAOilB,GACjBo0B,GAAsBr5C,EAAOsC,KAAkBu2C,EAAYiB,EAAalohB,UAAWmkhB,EAAIG,EAAIiE,EAAIL,GAC/FA,EAAalohB,UAAUmkhB,EAAIG,EAAIiE,EACvC,CA2CA,SAASH,GAAOh6C,EAAO9/e,GACnB,OAAO8/e,EAAMzD,IAAOtngB,KAAKirB,GAAOu4d,IACpC,CAQA,SAAS2hE,GAAuBrnD,EAAOiN,GACnC,OAAOkpB,GAAkBn2B,EAAOiN,EACpC,CA02CA,MAAMv/f,GACF6G,YAAY+yiB,GACRxyiB,KAAKwyiB,KAAOA,EACZ,MAAM//e,EAAQ+/e,EAAKrnhB,MAAM,KACzBnrB,KAAKyyiB,MAAQhgf,EAAM,GACnBzyD,KAAK0yiB,MAAQjgf,EAAM,GACnBzyD,KAAKs7e,MAAQ7ob,EAAM7wB,MAAM,GAAG8J,KAAK,IACrC,EAKmC,IAEjCuxH,GAAO,MAAb,MAAMA,EACFvoJ,IAAI61B,GAEA91B,QAAQC,IAAI61B,EAChB,CAEApC,KAAKoC,GAED91B,QAAQ0zB,KAAKoC,EACjB,QACSvqC,KAAKU,UAAO,SAAyB6N,GAAK,OAAO,IAAKA,GAAK0uJ,EAAY,CAAG,QAC1Ej9J,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAOgtK,EAASx8J,QAASw8J,EAAQv8J,UAAMC,WAAY,YAAe,EAC9H,OAZKs8J,CAAO,KA83Bb,MAAM01Y,GAAc,IAAI9shB,GAAe,IAIjC+shB,GAAqB,IAAI/shB,GAAe,IAC9C,IA4QIgthB,GAxPEC,GAAW,MAAjB,MAAMA,EACFrziB,YAAY8rB,EAASqzT,EAAUm0N,GAC3B/yiB,KAAKurB,QAAUA,EACfvrB,KAAK4+U,SAAWA,EAChB5+U,KAAKgziB,cAAgB,EACrBhziB,KAAKiziB,eAAgB,EACrBjziB,KAAK8uC,WAAa,GAClB9uC,KAAKkziB,iBAAmB,KAGnBL,KA2Ob,SAASM,GAAqBvuR,GAC1BiuR,GAAqBjuR,CACzB,CA5OYuuR,CAAqBJ,GACrBA,EAAkBK,YAAYx0N,IAElC5+U,KAAKqziB,sBACL9nhB,EAAQ6K,IAAI,KACRp2B,KAAKkziB,wBACM7wZ,KAAQ,IAAc,KAAOA,KAAKC,QAAQ55I,IAAI,mBAAkB,EAEnF,CACA2qiB,sBACIrziB,KAAKurB,QAAQs3f,WAAWx2gB,UAAU,CAC9BM,KAAMA,KACF3M,KAAKiziB,eAAgB,KAG7BjziB,KAAKurB,QAAQ41H,kBAAkB,KAC3BnhJ,KAAKurB,QAAQiD,SAASniB,UAAU,CAC5BM,KAAMA,KACFytL,GAAOmrV,yBACPluV,eAAe,KACXr3L,KAAKiziB,eAAgB,EACrBjziB,KAAKsziB,sBAAqB,EAC7B,GAER,EAET,CAKAC,8BACI,OAAAvziB,KAAKgziB,eAAiB,EACfhziB,KAAKgziB,aAChB,CAKAQ,8BAEI,GADAxziB,KAAKgziB,eAAiB,EAClBhziB,KAAKgziB,cAAgB,EACrB,MAAM,IAAInrgB,MAAM,qCAEpB,OAAA7nC,KAAKsziB,uBACEtziB,KAAKgziB,aAChB,CAIA/4F,WACI,OAAOj6c,KAAKiziB,eAAwC,IAAvBjziB,KAAKgziB,gBAAwBhziB,KAAKurB,QAAQo3f,oBAC3E,CACA2wB,uBACI,GAAItziB,KAAKi6c,WAEL5iR,eAAe,KACX,KAAkC,IAA3Br3L,KAAK8uC,WAAW18C,QAAc,CACjC,IAAI68C,EAAKjvC,KAAK8uC,WAAWu6M,MACzBnzM,aAAajH,EAAG6G,WAChB7G,EAAGwkgB,QACP,QAGH,CAED,IAAInoN,EAAUtrV,KAAK0ziB,kBACnB1ziB,KAAK8uC,WAAa9uC,KAAK8uC,WAAWphD,OAAQuhD,IAClCA,EAAG0kgB,WAAY1kgB,EAAG0kgB,SAASroN,KAC3Bp1S,aAAajH,EAAG6G,YACT,GAInB,CACJ,CACA49f,kBACI,OAAK1ziB,KAAKkziB,iBAIHlziB,KAAKkziB,iBAAiBU,WAAW/ljB,IAAK0gB,KAErCulC,OAAQvlC,EAAEulC,OAGV+/f,iBAAkBtliB,EAAEsliB,iBACpBzmjB,KAAMmhB,EAAEnhB,QATL,EAYf,CACA0mjB,YAAY7kgB,EAAI0xG,EAASgzZ,GACrB,IAAI79f,GAAY,EACZ6qG,GAAWA,EAAU,IACrB7qG,EAAY9oC,WAAW,KACnBhN,KAAK8uC,WAAa9uC,KAAK8uC,WAAWphD,OAAQuhD,GAAOA,EAAG6G,YAAcA,GAClE7G,GAAG,EACJ0xG,IAEP3gJ,KAAK8uC,WAAWhN,KAAK,CAAE2xgB,OAAQxkgB,EAAI6G,UAAWA,EAAW69f,SAAUA,GACvE,CAaAI,WAAWN,EAAQ9yZ,EAASgzZ,GACxB,GAAIA,IAAa3ziB,KAAKkziB,iBAClB,MAAM,IAAIrrgB,MAAM,8HAGpB7nC,KAAK8ziB,YAAYL,EAAQ9yZ,EAASgzZ,GAClC3ziB,KAAKsziB,sBACT,CAKAU,yBACI,OAAOh0iB,KAAKgziB,aAChB,CAOAiB,oBAAoBhkjB,GAChB+P,KAAK4+U,SAASq1N,oBAAoBhkjB,EAAO+P,KAC7C,CAOAk0iB,sBAAsBjkjB,GAClB+P,KAAK4+U,SAASs1N,sBAAsBjkjB,EACxC,CAOAkkjB,cAAcC,EAAO7jD,EAAU8jD,GAE3B,MAAO,EACX,QACSr0iB,KAAKU,UAAO,SAA6B6N,GAAK,OAAO,IAAKA,GAAKukiB,GAAazxE,GAASjnS,IAASinS,GAASizE,IAAsBjzE,GAASuxE,IAAsB,CAAG,QAC/J5yiB,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAO6ijB,EAAaryiB,QAASqyiB,EAAYpyiB,WAAS,EAC9G,OAzKKoyiB,CAAW,KAoLXwB,GAAmB,MAAzB,MAAMA,EACF70iB,cAEIO,KAAKu0iB,cAAgB,IAAItxgB,GAC7B,CAMAgxgB,oBAAoBhkjB,EAAOukjB,GACvBx0iB,KAAKu0iB,cAAcrxgB,IAAIjzC,EAAOukjB,EAClC,CAKAN,sBAAsBjkjB,GAClB+P,KAAKu0iB,cAAc7sgB,OAAOz3C,EAC9B,CAIAwkjB,4BACIz0iB,KAAKu0iB,cAAcx/f,OACvB,CAKA2/f,eAAetwY,GACX,OAAOpkK,KAAKu0iB,cAAc7riB,IAAI07J,IAAS,IAC3C,CAIAuwY,sBACI,OAAOrjjB,MAAM4lE,KAAKl3D,KAAKu0iB,cAAc9oiB,SACzC,CAIAmpiB,qBACI,OAAOtjjB,MAAM4lE,KAAKl3D,KAAKu0iB,cAAcllhB,OACzC,CAOAwlhB,sBAAsBzwY,EAAM0wY,GAAkB,GAC1C,OAAOjC,IAAoBgC,sBAAsB70iB,KAAMokK,EAAM0wY,IAAoB,IACrF,QACS90iB,KAAKU,UAAO,SAAqC6N,GAAK,OAAO,IAAKA,GAAK+liB,EAAwB,CAAG,QAClGt0iB,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAOqkjB,EAAqB7ziB,QAAS6ziB,EAAoB5ziB,UAAMC,WAAY,YAAe,EACtJ,OAxDK2ziB,CAAmB,KAyEzB,SAASlkK,GAAUnvW,GAGf,QAASA,GAA2B,mBAAbA,EAAIsxB,IAC/B,CAIA,SAASwif,GAAe9zgB,GACpB,QAASA,GAAgC,mBAAlBA,EAAI50B,SAC/B,CAyHA,MAAM02D,GAAkB,IAAIl9C,GAAuD,IACnF,IAKMmvhB,GAAqB,MAA3B,MAAMA,EACFv1iB,cACIO,KAAKssI,aAAc,EACnBtsI,KAAK23D,MAAO,EACZ33D,KAAKi1iB,YAAc,IAAI3ggB,QAAQ,CAAC74B,EAAK82T,KACjCvyU,KAAKu0C,QAAU94B,EACfzb,KAAKgmD,OAASusR,IAElBvyU,KAAKk1iB,SAAWjkhB,GAAO8xC,GAAiB,CAAEjqB,UAAU,KAAW,EAOnE,CAEAq8f,kBACI,GAAIn1iB,KAAKssI,YACL,OAEJ,MAAM8oa,EAAoB,GAC1B,UAAWF,KAAYl1iB,KAAKk1iB,SAAU,CAClC,MAAMG,EAAaH,IACnB,GAAI9kK,GAAUilK,GACVD,EAAkBtzgB,KAAKuzgB,QAAU,GAE5BN,GAAeM,GAAa,CACjC,MAAMC,EAAsB,IAAIhhgB,QAAQ,CAACC,EAASyR,MAC9Cqvf,EAAWhpiB,UAAU,CAAE8a,SAAUotB,EAASzlD,MAAOk3D,IAAQ,GAE7Dovf,EAAkBtzgB,KAAKwzgB,EAC3B,CACJ,CACA,MAAMnuhB,EAAWA,KAEbnnB,KAAK23D,MAAO,EACZ33D,KAAKu0C,SAAQ,EAEjBD,QAAQ8/B,IAAIghe,GACP7if,KAAK,KACNprC,GAAS,GAER+9B,MAAM1lB,IACPx/B,KAAKgmD,OAAOxmB,EAAC,GAEgB,IAA7B41gB,EAAkBhjjB,QAClB+0B,IAEJnnB,KAAKssI,aAAc,CACvB,QACStsI,KAAKU,UAAO,SAAuC6N,GAAK,OAAO,IAAKA,GAAKymiB,EAA0B,CAAG,QACtGh1iB,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAO+kjB,EAAuBv0iB,QAASu0iB,EAAsBt0iB,UAAMC,WAAY,QAAW,EACtJ,OArDKq0iB,CAAqB,KAqE3B,MAAMO,GAAyB,IAAI1vhB,GAAoD,IA+CvF,SAAS2vhB,GAAe7qD,EAAKh6Q,GACzB,OAAIr/O,MAAMC,QAAQo/O,GACPA,EAAKxsM,OAAOqxgB,GAAgB7qD,GAEhC,IAAKA,KAAQh6Q,EACxB,CACA,IA4FMqlP,GAAc,MAApB,MAAMA,EACFv2d,cAEIO,KAAKy1iB,oBAAsB,GAC3Bz1iB,KAAK01iB,cAAe,EACpB11iB,KAAK+0L,YAAa,EAClB/0L,KAAK21iB,kBAAoB,GAEzB31iB,KAAK41iB,OAAS,GACd51iB,KAAK61iB,qBAAuB5khB,GAAOo0e,IACnCrlgB,KAAK81iB,yBAA2B7khB,GAAOo1f,IAGvCrmhB,KAAK+1iB,kBAAoB,IAAInwf,IAC7B5lD,KAAKg2iB,aAAe,IAAI1vhB,KACxBtmB,KAAKi2iB,UAAY,IAAI3vhB,KAKrBtmB,KAAKk2iB,eAAiB,GAItBl2iB,KAAKk5Q,WAAa,GAIlBl5Q,KAAKi6c,SAAWhpb,GAAO6ggB,IAAcC,gBAAgBlnhB,QAAKhd,MAAIy9V,IAAYA,IAC1EtrV,KAAKu1d,UAAYtkc,GAAO6ge,GAC5B,CAIA,aAAIrnU,GACA,OAAOzqL,KAAK+0L,UAChB,CAIA,YAAI0+Q,GACA,OAAOzzc,KAAKu1d,SAChB,CAsCApiJ,UAAUgjO,EAAoBpuB,GAE1B,MAAM4C,EAAqBwrB,aAA8Bz0B,GAEzD,IADmB1hhB,KAAKu1d,UAAU7sd,IAAIssiB,IACtBr9e,KAOZ,MANoBgzd,GAAsBx7B,GAAagnD,GAMjD,IAAIhzD,GAAa,KALmC72U,GAO9D,IAAI2uT,EAEAA,EADA0vD,EACmBwrB,EAGFn2iB,KAAKu1d,UAAU7sd,IAAIm5gB,IACR3mD,wBAAwBi7E,GAExDn2iB,KAAKk2iB,eAAep0gB,KAAKm5b,EAAiB0sD,eAE1C,MAAMrkY,EA1Od,SAASwkY,GAAgBsuB,GACrB,OAAOA,EAAGtuB,eACd,CAwOyBA,CAAgB7sD,QAAoB5se,EAAY2R,KAAKu1d,UAAU7sd,IAAIsohB,IAE9EqlB,GAAUp7E,EAAiBzlc,OAAO6lc,GAAS5jI,KAAM,GADhCswL,GAAsB9sD,EAAiBl7T,SACazc,GACrEj8H,GAAgBgvhB,GAAQxhiB,SAASwS,cACjCmthB,GAAc6B,GAAQ5iG,SAAS/qc,IAAIiqiB,GAAa,MACtD6B,WAAaP,oBAAoB5shB,IACjCgvhB,GAAQpoY,UAAU,KACdjuK,KAAKy7d,WAAW46E,GAAQ96E,UACxBvzc,GAAOhoB,KAAKk5Q,WAAYm9R,IACxB7B,IAAaN,sBAAsB7shB,GAAa,GAEpDrnB,KAAKs2iB,eAAeD,IAKbA,EACX,CAWAE,OACIv2iB,KAAKw2iB,OAAM,EACf,CAEAA,MAAMC,GAEF,GAAIz2iB,KAAK01iB,aACL,MAAM,IAAIvyD,GAAa,KAA2D72U,GAEtF,MAAMm1U,EAAe+Q,EAAoB,MACzC,IACIxyf,KAAK01iB,cAAe,EACpB11iB,KAAK02iB,6BAA6BD,EAMtC,OACOj3gB,GAEHx/B,KAAK61iB,qBAAqBr2gB,EAC9B,SAEIx/B,KAAKi2iB,UAAUtpiB,OACf3M,KAAK01iB,cAAe,EACpBljD,EAAoB/Q,EACxB,CACJ,CACAi1D,6BAA6BD,GACzB,IAAIE,EAAO,EACX,MAAMb,EAA2B91iB,KAAK81iB,yBACtC,OAAa,CACT,GAAIa,IAASp4B,GACT,MAAM,IAAIp7B,GAAa,KAAsD72U,GAIjF,GAAImqY,EAAc,CACd,MAAMG,EAAuB,IAATD,EACpB32iB,KAAKg2iB,aAAarpiB,KAAKiqiB,GACvB,QAAW1yC,SAAQua,wBAAwBz+gB,KAAK41iB,OAC5CiB,GAA8B3yC,EAAQ0yC,EAAan4B,EAE3D,CAKA,GAJAk4B,IACAb,EAAyB9uB,4BAGrB,IAAIhnhB,KAAK+1iB,kBAAkB1mhB,UAAWrvB,KAAK41iB,QAAQpkjB,KAAK,EAAG0ygB,YAAa4yC,GAAkB5yC,MAG9F4xC,EAAyBx1G,WAGpB,IAAItgc,KAAK+1iB,kBAAkB1mhB,UAAWrvB,KAAK41iB,QAAQpkjB,KAAK,EAAG0ygB,YAAa4yC,GAAkB5yC,KAC3F,KAER,CACJ,CAMA5oC,WAAWM,GAEP,MAAM3nO,EAAO2nO,EACb57d,KAAK41iB,OAAO9zgB,KAAKmyN,GACjBA,EAAK4sR,eAAe7ghB,KACxB,CAIAy7d,WAAWG,GAEP,MAAM3nO,EAAO2nO,EACb5zc,GAAOhoB,KAAK41iB,OAAQ3hT,GACpBA,EAAK2sR,kBACT,CACA01B,eAAen7E,GACXn7d,KAAKs7d,WAAWH,EAAaI,UAC7Bv7d,KAAKu2iB,OACLv2iB,KAAKk5Q,WAAWp3O,KAAKq5b,GAErB,MAAMt6V,EAAY7gI,KAAKu1d,UAAU7sd,IAAI6siB,GAAwB,IAO7D,IAAIv1iB,KAAKy1iB,uBAAwB50a,GAAWz1G,QAAS66B,GAAaA,EAASk1a,GAC/E,CAEAjtd,cACI,IAAIlO,KAAK+0L,WAET,IAEI/0L,KAAK21iB,kBAAkBvqhB,QAAQ66B,GAAYA,KAE3CjmD,KAAK41iB,OAAOh0gB,QAAQxW,QAAS6oO,GAASA,EAAKxmO,UAC/C,SAGIztB,KAAK+0L,YAAa,EAElB/0L,KAAK41iB,OAAS,GACd51iB,KAAKy1iB,oBAAsB,GAC3Bz1iB,KAAK21iB,kBAAoB,EAC7B,CACJ,CAOA1nY,UAAU9kH,GAEN,OAAAnpD,KAAK21iB,kBAAkB7zgB,KAAKqnB,GACrB,IAAMnhC,GAAOhoB,KAAK21iB,kBAAmBxsf,EAChD,CAMA17B,UACI,GAAIztB,KAAK+0L,WACL,MAAM,IAAIouT,GAAa,KAA8D72U,GAEzF,MAAMmnS,EAAWzzc,KAAKu1d,UAElB9hB,EAAShmb,UAAYgmb,EAAShpR,WAG9BgpR,EAAShmb,SAEjB,CAIA,aAAI+tc,GACA,OAAOx7d,KAAK41iB,OAAOxjjB,MACvB,CACA2kjB,kBAIA,QACS/2iB,KAAKU,UAAO,SAAgC6N,GAAK,OAAO,IAAKA,GAAKynd,EAAmB,CAAG,QACxFh2d,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAO+le,EAAgBv1d,QAASu1d,EAAet1d,UAAMC,WAAY,QAAW,EACxI,OA7RKq1d,CAAc,KAkSpB,SAAShuc,GAAO58B,EAAM8tC,GAClB,MAAM7gB,EAAQjtB,EAAKyG,QAAQqnC,GACvB7gB,GAAQ,GACRjtB,EAAKikD,OAAOh3B,EAAO,EAE3B,CAkBA,SAASw+hB,GAA8B1+C,EAAOy+C,EAAan4B,IAElDm4B,IAAgBE,GAAkB3+C,IAQ3C,SAAS6+C,GAAoB7+C,EAAOsmB,EAAoBm4B,GACpD,IAAI/5gB,EACA+5gB,GAEA/5gB,EAAO,EAMPs7d,EAAMxD,KAAU,MAIhB93d,EAFoB,GAAfs7d,EAAMxD,IAEJ,EAMA,EAEX6pB,GAAsBrmB,EAAOsmB,EAAoB5hf,EACrD,CA5BIm6gB,CAAoB7+C,EAAOsmB,EAAoBm4B,EACnD,CACA,SAASE,GAAkB7iT,GACvB,OAAO4kQ,GAA2B5kQ,EACtC,CAoCA,MAAMgjT,GACFx3iB,YAAYy3iB,EAAiBC,GACzBn3iB,KAAKk3iB,gBAAkBA,EACvBl3iB,KAAKm3iB,mBAAqBA,CAC9B,EAEJ,IAgBMC,GAAQ,MAAd,MAAMA,EAKFC,kBAAkB5lB,GACd,OAAO,IAAID,GAAgBC,EAC/B,CAIA6lB,mBAAmB7lB,GACf,OAAOn9e,QAAQC,QAAQv0C,KAAKq3iB,kBAAkB5lB,GAClD,CAIA8lB,kCAAkC9lB,GAC9B,MAAMylB,EAAkBl3iB,KAAKq3iB,kBAAkB5lB,GAEzC0lB,EAAqBhpC,GADT/e,GAAeqiC,GACkBpjC,cAC9Clqd,OAAO,CAACgsgB,EAAWqH,KACpB,MAAM3pD,GAAeI,GAAgBupD,GACrC3pD,WAAgBsiD,EAAUrugB,KAAK,IAAIulf,GAAiBx5B,KAC7CsiD,GACR,IACH,OAAO,IAAI8G,GAA6BC,EAAiBC,EAC7D,CAIAM,mCAAmChmB,GAC/B,OAAOn9e,QAAQC,QAAQv0C,KAAKu3iB,kCAAkC9lB,GAClE,CAIAimB,aAAe,CAIfC,cAAc1piB,GAAQ,CAItB2piB,YAAYnmB,GAEZ,QACSzxhB,KAAKU,UAAO,SAA0B6N,GAAK,OAAO,IAAKA,GAAK6oiB,EAAa,CAAG,QAC5Ep3iB,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAOmnjB,EAAU32iB,QAAS22iB,EAAS12iB,UAAMC,WAAY,QAAW,EAC5H,OAlDKy2iB,CAAQ,KAyHRS,GAA8B,MAApC,MAAMA,EACFp4iB,cACIO,KAAK4+I,KAAO3tH,GAAOmpK,IACnBp6L,KAAK83iB,eAAiB7mhB,GAAO+kc,GACjC,CACA51W,aACQpgH,KAAK+3iB,gCAGT/3iB,KAAK+3iB,8BAAgC/3iB,KAAK4+I,KAAKkkY,iBAAiBz2gB,UAAU,CACtEM,KAAMA,KACF3M,KAAK4+I,KAAKxoH,IAAI,KACVp2B,KAAK83iB,eAAevB,MAAK,EAC5B,IAGb,CACAroiB,cACIlO,KAAK+3iB,+BAA+B5piB,aACxC,QACSnO,KAAKU,UAAO,SAAgD6N,GAAK,OAAO,IAAKA,GAAKspiB,EAAmC,CAAG,QACxH73iB,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAO4njB,EAAgCp3iB,QAASo3iB,EAA+Bn3iB,UAAMC,WAAY,QAAW,EACxK,OAtBKk3iB,CAA8B,KA6DpC,SAASG,KACL,MAAMp5Z,EAAO3tH,GAAOmpK,IACd69W,EAAmBhnhB,GAAOg0e,IAChC,OAAQzle,GAAMo/G,EAAKuC,kBAAkB,IAAM82Z,EAAiBv5e,YAAYl/B,GAC5E,CAsCC,IACK04gB,GAAqB,MAA3B,MAAMA,EACFz4iB,cACIO,KAAKq7b,aAAe,IAAI9vb,MACxBvL,KAAKssI,aAAc,EACnBtsI,KAAK4+I,KAAO3tH,GAAOmpK,IACnBp6L,KAAKi8e,aAAehrd,GAAO6ggB,GAC/B,CACA1xa,aACI,GAAIpgH,KAAKssI,YACL,OAEJtsI,KAAKssI,aAAc,EACnB,IAAIk8H,EAAO,MACNxoQ,KAAK4+I,KAAKq7T,WAAaj6c,KAAK4+I,KAAK+jY,uBAAyB3ihB,KAAK4+I,KAAKgkY,uBACrEp6Q,EAAOxoQ,KAAKi8e,aAAalwe,OAE7B/L,KAAK4+I,KAAKuC,kBAAkB,KACxBnhJ,KAAKq7b,aAAatvb,IAAI/L,KAAK4+I,KAAKpwH,SAASniB,UAAU,KAC/C+tL,GAAOmrV,yBAGPluV,eAAe,KACE,OAATmxE,IAAkBxoQ,KAAK4+I,KAAK+jY,uBAAyB3ihB,KAAK4+I,KAAKgkY,uBAC/D5ihB,KAAKi8e,aAAaj0d,OAAOwgP,GACzBA,EAAO,OAEd,GACH,GAENxoQ,KAAKq7b,aAAatvb,IAAI/L,KAAK4+I,KAAKikY,WAAWx2gB,UAAU,KACjD+tL,GAAOkrV,sBACP98Q,IAASxoQ,KAAKi8e,aAAalwe,KAAI,GAEvC,CACAmC,cACIlO,KAAKq7b,aAAaltb,aACtB,QACSnO,KAAKU,UAAO,SAAuC6N,GAAK,OAAO,IAAKA,GAAK2piB,EAA0B,CAAG,QACtGl4iB,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAOiojB,EAAuBz3iB,QAASy3iB,EAAsBx3iB,UAAMC,WAAY,QAAW,EACtJ,OAvCKu3iB,CAAqB,KA8F3B,MAAM5mE,GAAY,IAAIzrd,GAAwC,GAAI,CAC9DllB,WAAY,OACZF,QAASA,IAAMwwB,GAAOqgd,GAAWqV,GAAYK,SAAWL,GAAYI,WA7CxE,SAASoxD,KAkBD,cAAeC,UAAc,KAAeA,UAAUrmjB,QAAWwuiB,EAEzE,CAyBqF4X,KAwC/EE,GAAwB,IAAIxyhB,GAAmD,GAAI,CACrFllB,WAAY,OACZF,QAASA,IA/4Qa,QAo+QpB63iB,GAA6B,IAAIzyhB,GAAwD,IAC/F,IASM0yhB,GAAW,MAAjB,MAAMA,EAEF94iB,YAAY81d,GACRv1d,KAAKu1d,UAAYA,EACjBv1d,KAAKw4iB,SAAW,GAChBx4iB,KAAK21iB,kBAAoB,GACzB31iB,KAAK+0L,YAAa,CACtB,CAOA0jX,uBAAuBC,EAAe9xhB,GAKlC,MAAM4gL,EAz3hBd,SAASmxW,GAAUC,EAAc,UAAWhyhB,GACxC,MAAoB,SAAhBgyhB,EACO,IAAIhzB,GAEK,YAAhBgzB,EACO,IAAIx+W,GAAOxzK,GAEfgyhB,CACX,CAi3hBuBD,CAAU/xhB,GAAS4gL,OAnQ1C,SAASqxW,GAAiBjyhB,GACtB,MAAO,CACH47f,sBAAiE,EACjEC,mCAAoC77f,GAASkyhB,kBAAmB,EAChEp2B,iCAAkC97f,GAASmyhB,gBAAiB,EAEpE,CA6PkDF,CAAiB,CACvDC,gBAAiBlyhB,GAASoyhB,sBAC1BD,cAAenyhB,GAASqyhB,uBAM5B,OAAOzxW,EAAOpxK,IAAI,KACd,MAAM8ihB,EA/2blB,SAASC,GAA+B1nB,EAAYhK,EAAgB3iB,GAChE,OAAO,IAAIqsB,GAAYM,EAAYhK,EAAgB3iB,EACvD,CA62b8Bq0C,CAA+BT,EAAcjnB,WAAYzxhB,KAAKyzc,SA7U5F,SAAS2lG,GAAmCC,GACxC,MAAO,CACH,CAAE1ohB,QAASypK,GAAQ7oK,WAAY8nhB,GAC/B,CACI1ohB,QAAS04d,GACTrmb,OAAO,EACPzxC,WAAYA,KACR,MAAM+nhB,EAAiCrohB,GAAO4mhB,GAAgC,CAAE/+f,UAAU,IAM1F,MAAO,IAAMwggB,EAA+Bl5b,YAAW,GAG/D,CACIzvF,QAAS04d,GACTrmb,OAAO,EACPzxC,WAAYA,KACR,MAAMkhe,EAAUxhe,GAAOinhB,IACvB,MAAO,KACHzlD,EAAQryY,YAAW,CACvB,GAGR,CAAEzvF,QAAS00e,GAAoC9ze,WAAYymhB,IAEnE,CAiTsGoB,CAAmC,IAAM5xW,IAK7H+xW,EAAmBL,EAAUzlG,SAAS/qc,IAAIu8f,GAAc,MAI9Dz9T,SAAOrmD,kBAAkB,KACrB,MAAMk6S,EAAe7zP,EAAOq1D,QAAQxwP,UAAU,CAC1CM,KAAO7d,KACHyqjB,EAAiB76e,YAAY5vE,GAAK,IAG1CoqjB,EAAUjrY,UAAU,KAChBjmJ,GAAOhoB,KAAKw4iB,SAAUU,GACtB79G,EAAaltb,aAAY,EAC5B,GAx+BjB,SAASqriB,GAA6Bj7e,EAAcipI,EAAQr+I,GACxD,IACI,MAAM7rD,EAAS6rD,IACf,OAAIinV,GAAU9yY,GACHA,EAAO4nD,MAAO1lB,IACjBgoK,QAAOrmD,kBAAkB,IAAM5iF,EAAaG,YAAYl/B,IAElDA,IAGPliC,CACX,OACOkiC,GACHgoK,QAAOrmD,kBAAkB,IAAM5iF,EAAaG,YAAYl/B,IAElDA,CACV,CACJ,CAy9BmBg6gB,CAA6BD,EAAkB/xW,EAAQ,KAC1D,MAAMiyW,EAAaP,EAAUzlG,SAAS/qc,IAAIssiB,IAC1CyE,SAAWtE,kBACJsE,EAAWxE,YAAY1if,KAAK,KA9+QnD,SAASmnf,GAAY7yE,GAEO,iBAAbA,IACP+5D,GAAc/5D,EAASv8e,cAAc+jB,QAAQ,KAAM,KAE3D,CA4+QoBqriB,CADiBR,EAAUzlG,SAAS/qc,IAAI4oe,GAAWivD,KAC3BA,IACxBvgiB,KAAK25iB,mBAAmBT,GACjBA,GACV,EACJ,EAET,CAiBA9kO,gBAAgBq9M,EAAYmoB,EAAkB,IAC1C,MAAMhzhB,EAAU4uhB,GAAe,CAAC,EAAGoE,GACnC,OA/cR,SAASC,GAAuBpmG,EAAU7sb,EAAS6qgB,GAE/C,MAAMinB,EAAgB,IAAIlnB,GAAgBC,GAGtC,OAAOn9e,QAAQC,QAAQmkgB,EAgC/B,CA0aemB,CAAuB75iB,EAAe4mB,EAAS6qgB,GACjDl/d,KAAKmmf,GAAiB14iB,KAAKy4iB,uBAAuBC,EAAe9xhB,GAC1E,CACA+yhB,mBAAmBT,GACf,MAAMp4B,EAASo4B,EAAUzlG,SAAS/qc,IAAIstd,IACtC,GAAIkjF,EAAU7nB,qBAAqBj/hB,OAAS,EACxC8mjB,EAAU7nB,qBAAqBjmgB,QAAQlR,GAAK4mgB,EAAO3tM,UAAUj5T,QAAE,KAE1Dg/hB,EAAU5tG,SAASwuG,cAIxB,MAAM,IAAI32D,IAAa,KAA4D72U,GAHnF4sY,EAAU5tG,SAASwuG,cAAch5B,EAMI,CAEzC9ghB,KAAKw4iB,SAAS12gB,KAAKo3gB,EACvB,CAIAjrY,UAAU9kH,GACNnpD,KAAK21iB,kBAAkB7zgB,KAAKqnB,EAChC,CAKA,YAAIsqZ,GACA,OAAOzzc,KAAKu1d,SAChB,CAKA9nc,UACI,GAAIztB,KAAK+0L,WACL,MAAM,IAAIouT,GAAa,KAAuD72U,GAElFtsK,KAAKw4iB,SAAS52gB,QAAQxW,QAAQotT,GAAUA,EAAO/qT,WAC/CztB,KAAK21iB,kBAAkBvqhB,QAAQ66B,GAAYA,KAC3C,MAAM8zf,EAAmB/5iB,KAAKu1d,UAAU7sd,IAAI4viB,GAA4B,MACpEyB,IACAA,EAAiB3uhB,QAAQ66B,GAAYA,KACrC8zf,EAAiBhlgB,SAErB/0C,KAAK+0L,YAAa,CACtB,CAIA,aAAItK,GACA,OAAOzqL,KAAK+0L,UAChB,QACS/0L,KAAKU,UAAO,SAA6B6N,GAAK,OAAO,IAAKA,GAAKgqiB,GAAal3E,GAAShG,IAAY,CAAG,QACpGr7d,KAAKszD,WAAsBi/a,GAAmB,CAAEtif,MAAOsojB,EAAa93iB,QAAS83iB,EAAY73iB,UAAMC,WAAY,YAAe,EACtI,OAxIK43iB,CAAW,KA8IbyB,GAAoB,KAKxB,MAAMC,GAA2B,IAAIp0hB,GAAkD,IA8BvF,SAASq0hB,GAAsBC,EAAuB3sjB,EAAM6qC,EAAY,IACpE,MAAMusI,EAAO,aAAap3K,IACpBi9f,EAAS,IAAI5ke,GAAe++I,GAClC,MAAO,CAACw1Y,EAAiB,MACrB,IAAIh+V,EAAWi+V,KACf,IAAKj+V,GAAYA,EAASq3P,SAAS/qc,IAAIuxiB,IAA0B,GAAQ,CACrE,MAAMK,EAAoB,IAAIjihB,KAAc+hhB,EAAgB,CAAEzphB,QAAS85d,EAAQrob,UAAU,IACrF+3e,EACAA,EAAsBG,GA/BtC,SAASC,GAAe9mG,GACpB,GAAIumG,KAAsBA,GAAkBtxiB,IAAIuxiB,IAA0B,GACtE,MAAM,IAAI92D,GAAa,KAA+C72U,IA5mC9E,SAASkuY,MD1n8BT,SAASC,GAAkC99hB,GACvC4le,GAAmC5le,CACvC,CCyn8BI+9hB,CAAoC,KAChC,MAAM,IAAIv3D,GAAa,KAA8D72U,EAEQ,EAErG,EA0mCIkuY,GACAR,GAAoBvmG,EACpB,MAAMr3P,EAAWq3P,EAAS/qc,IAAI6viB,KAiGlC,SAASoC,GAAwBlnG,GACfA,EAAS/qc,IAAIq/f,GAAsB,OAC1C38e,QAAS4lB,GAASA,IAC7B,EAnGI2pgB,CAAwBlnG,EAE5B,CAuBgB8mG,CAUhB,SAASK,GAAuBvihB,EAAY,GAAI7qC,GAC5C,OAAO6te,GAAS7lc,OAAO,CACnBhoC,OACA6qC,UAAW,CACP,CAAE1H,QAAS8ge,GAAgBrvb,SAAU,YACrC,CAAEzxC,QAAS2nhB,GAA4Bl2e,SAAU,IAAIxc,IAAI,CAAC,IAAMo0f,GAAoB,WACjF3hhB,IAGf,CAnB+BuihB,CAAuBN,EAAmB11Y,GAEjE,CACA,OAsBR,SAASi2Y,GAAeC,GACpB,MAAM1+V,EAAWi+V,KACjB,IAAKj+V,EACD,MAAM,IAAI+mS,GAAa,KAA+C72U,GAM1E,OAAO8vC,CACX,CAhCey+V,EAAqB,CAEpC,CAoCA,SAASR,KACL,OAAOL,IAAmBtxiB,IAAI6viB,KAAgB,IAClD,CA0CA,SAASwC,KACL,OAA2C,CAC/C,CAeA,SAAS7mO,KAMT,CAiCA,IA6CMlhT,GAAiB,MAAvB,MAAMA,SAKOhzB,KAAK8lf,kBAAoBk1D,EAAyB,EAC9D,OANKhohB,CAAiB,KAQvB,SAASgohB,GAAwBj1c,GAC7B,OAUJ,SAASk1c,GAAc/vD,EAAOiN,EAAO+iD,GACjC,GAAI1kD,GAAgBtL,KAAWgwD,EAAQ,CAGnC,MAAM5kC,EAAgBhe,GAAyBpN,EAAM7ye,MAAO8/e,GAC5D,OAAO,IAAIkoB,GAAU/J,EAAeA,EACxC,QACuB,GAAdprB,EAAMj9e,KAIJ,IAAIoygB,GADeloB,EAAM7C,IACQ6C,GAErC,IACX,CAxBW8iD,CAAchhD,KAAmBN,OAA+D,IAAlD5zZ,GACzD,CA6oBA,MAAMo1c,GACF17iB,cAAgB,CAChBi9M,SAASz7K,GACL,OAAOgxf,GAAmBhxf,EAC9B,CACAzL,OAAO2kgB,GACH,OAAO,IAAIihB,GAAsBjhB,EACrC,EAEJ,MAAMkhB,GAAkBA,CAAChjiB,EAAOE,IAASA,EAKzC,MAAM6iiB,GACF37iB,YAAY06hB,GACRn6hB,KAAK5N,OAAS,EAEd4N,KAAKs7iB,eAAiB,KAEtBt7iB,KAAKu7iB,iBAAmB,KACxBv7iB,KAAKw7iB,gBAAkB,KACvBx7iB,KAAKy7iB,QAAU,KACfz7iB,KAAK07iB,QAAU,KACf17iB,KAAK27iB,eAAiB,KACtB37iB,KAAK47iB,eAAiB,KACtB57iB,KAAK67iB,WAAa,KAClB77iB,KAAK87iB,WAAa,KAClB97iB,KAAK+7iB,cAAgB,KACrB/7iB,KAAKg8iB,cAAgB,KAErBh8iB,KAAKi8iB,qBAAuB,KAC5Bj8iB,KAAKk8iB,qBAAuB,KAC5Bl8iB,KAAKqre,WAAa8uD,GAAakhB,EACnC,CACAxpE,YAAYl1d,GACR,IAAIuvd,EACJ,IAAKA,EAASlse,KAAKy7iB,QAAoB,OAAXvvE,EAAiBA,EAASA,EAAOt9X,MACzDjyF,EAAGuvd,EAEX,CACAN,iBAAiBjvd,GACb,IAAIw/hB,EAASn8iB,KAAKy7iB,QACdW,EAAap8iB,KAAK+7iB,cAClBM,EAAkB,EAClBC,EAAc,KAClB,KAAOH,GAAUC,GAAY,CAGzB,MAAMlwE,GAAUkwE,GACZD,GACIA,EAAOvsQ,aACH2sQ,GAAiBH,EAAYC,EAAiBC,GACtDH,EACAC,EACEI,EAAmBD,GAAiBrwE,EAAQmwE,EAAiBC,GAC7D1sQ,GAAes8L,EAAOt8L,aAE5B,GAAIs8L,IAAWkwE,EACXC,IACAD,EAAaA,EAAWK,qBAGxBN,EAASA,EAAOvtc,MACY,MAAxBs9X,EAAOJ,cACPuwE,QAEC,CAEIC,IACDA,EAAc,IAClB,MAAMI,GAAyBF,EAAmBH,EAC5CM,GAAoB/sQ,GAAeysQ,EACzC,GAAIK,IAA0BC,GAAmB,CAC7C,QAAS50hB,GAAI,EAAGA,GAAI20hB,GAAwB30hB,KAAK,CAC7C,MAAMgmI,GAAShmI,GAAIu0hB,EAAYlqjB,OAASkqjB,EAAYv0hB,IAAMu0hB,EAAYv0hB,IAAK,EACrE1P,GAAQ01I,GAAShmI,GACnB40hB,IAAqBtkiB,IAASA,GAAQqkiB,KACtCJ,EAAYv0hB,IAAKgmI,GAAS,EAElC,CAEAuuZ,EADsBpwE,EAAOJ,eACA6wE,GAAoBD,EACrD,CACJ,CAEAF,IAAqB5sQ,IACrBjzR,EAAGuvd,EAAQswE,EAAkB5sQ,GAErC,CACJ,CACAgtQ,oBAAoBjgiB,GAChB,IAAIuvd,EACJ,IAAKA,EAASlse,KAAKw7iB,gBAA4B,OAAXtvE,EAAiBA,EAASA,EAAO2wE,cACjElgiB,EAAGuvd,EAEX,CACA0C,iBAAiBjyd,GACb,IAAIuvd,EACJ,IAAKA,EAASlse,KAAK27iB,eAA2B,OAAXzvE,EAAiBA,EAASA,EAAO4wE,WAChEngiB,EAAGuvd,EAEX,CACA6wE,iBAAiBpgiB,GACb,IAAIuvd,EACJ,IAAKA,EAASlse,KAAK67iB,WAAuB,OAAX3vE,EAAiBA,EAASA,EAAO8wE,WAC5DrgiB,EAAGuvd,EAEX,CACAyC,mBAAmBhyd,GACf,IAAIuvd,EACJ,IAAKA,EAASlse,KAAK+7iB,cAA0B,OAAX7vE,EAAiBA,EAASA,EAAOuwE,aAC/D9/hB,EAAGuvd,EAEX,CACAD,sBAAsBtvd,GAClB,IAAIuvd,EACJ,IAAKA,EAASlse,KAAKi8iB,qBAAiC,OAAX/vE,EAAiBA,EAASA,EAAO+wE,oBACtEtgiB,EAAGuvd,EAEX,CACAr7b,KAAK0pW,GAGD,GAFkB,MAAdA,IACAA,EAAa,KACZ03I,GAAmB13I,GACpB,MAAM,IAAI4oG,GAAa,KAAiD72U,GAG5E,OAAItsK,KAAKk9iB,MAAM3iK,GACJv6Y,KAGA,IAEf,CACAiuK,YAAc,CACdivY,MAAM3iK,GACFv6Y,KAAKm9iB,SACL,IAEI9kiB,EACAE,EACA6kiB,EAJAlxE,EAASlse,KAAKy7iB,QACd4B,GAAa,EAIjB,GAAI/rjB,MAAMC,QAAQgpZ,GAAa,CAC3Bv6Y,KAAK5N,OAASmoZ,EAAWnoZ,OACzB,QAASimB,EAAQ,EAAGA,EAAQrY,KAAK5N,OAAQimB,IACrCE,EAAOgiY,EAAWliY,GAClB+kiB,EAAcp9iB,KAAKqre,WAAWhzd,EAAOE,GACtB,OAAX2zd,GAAoB98c,OAAOwzT,GAAGspJ,EAAOoxE,UAAWF,IAK5CC,IAEAnxE,EAASlse,KAAKu9iB,mBAAmBrxE,EAAQ3zd,EAAM6kiB,EAAa/kiB,IAE3D+W,OAAOwzT,GAAGspJ,EAAO3zd,KAAMA,IACxBvY,KAAKw9iB,mBAAmBtxE,EAAQ3zd,KATpC2zd,EAASlse,KAAKy9iB,UAAUvxE,EAAQ3zd,EAAM6kiB,EAAa/kiB,GACnDgliB,GAAa,GAUjBnxE,EAASA,EAAOt9X,KAExB,MAEIv2F,EAAQ,EA3wdpB,SAASqliB,GAAgBz8gB,EAAKtkB,GAC1B,GAAIrrB,MAAMC,QAAQ0vC,GACd,QAASlZ,EAAI,EAAGA,EAAIkZ,EAAI7uC,OAAQ21B,IAC5BpL,EAAGskB,EAAIlZ,QAGV,CACD,MAAM0uP,EAAWx1O,EAAIuyN,OAAOijB,YAC5B,IAAIl+P,EACJ,OAAUA,EAAOk+P,EAAS9pQ,QAAQgrD,MAC9Bh7C,EAAGpE,EAAKjrB,MAEhB,CACJ,CA+vdYowjB,CAAgBnjK,EAAahiY,IACzB6kiB,EAAcp9iB,KAAKqre,WAAWhzd,EAAOE,GACtB,OAAX2zd,GAAoB98c,OAAOwzT,GAAGspJ,EAAOoxE,UAAWF,IAK5CC,IAEAnxE,EAASlse,KAAKu9iB,mBAAmBrxE,EAAQ3zd,EAAM6kiB,EAAa/kiB,IAE3D+W,OAAOwzT,GAAGspJ,EAAO3zd,KAAMA,IACxBvY,KAAKw9iB,mBAAmBtxE,EAAQ3zd,KATpC2zd,EAASlse,KAAKy9iB,UAAUvxE,EAAQ3zd,EAAM6kiB,EAAa/kiB,GACnDgliB,GAAa,GAUjBnxE,EAASA,EAAOt9X,MAChBv2F,MAEJrY,KAAK5N,OAASimB,EAElB,OAAArY,KAAK29iB,UAAUzxE,GACflse,KAAKu6Y,WAAaA,EACXv6Y,KAAK49iB,OAChB,CAIA,WAAIA,GACA,OAA+B,OAAxB59iB,KAAK27iB,gBAA+C,OAApB37iB,KAAK67iB,YACjB,OAAvB77iB,KAAK+7iB,eAAwD,OAA9B/7iB,KAAKi8iB,oBAC5C,CASAkB,SACI,GAAIn9iB,KAAK49iB,QAAS,CACd,IAAI1xE,EACJ,IAAKA,EAASlse,KAAKw7iB,gBAAkBx7iB,KAAKy7iB,QAAoB,OAAXvvE,EAAiBA,EAASA,EAAOt9X,MAChFs9X,EAAO2wE,cAAgB3wE,EAAOt9X,MAElC,IAAKs9X,EAASlse,KAAK27iB,eAA2B,OAAXzvE,EAAiBA,EAASA,EAAO4wE,WAChE5wE,EAAOJ,cAAgBI,EAAOt8L,aAGlC,IADA5vS,KAAK27iB,eAAiB37iB,KAAK47iB,eAAiB,KACvC1vE,EAASlse,KAAK67iB,WAAuB,OAAX3vE,EAAiBA,EAASA,EAAO8wE,WAC5D9wE,EAAOJ,cAAgBI,EAAOt8L,aAElC5vS,KAAK67iB,WAAa77iB,KAAK87iB,WAAa,KACpC97iB,KAAK+7iB,cAAgB/7iB,KAAKg8iB,cAAgB,KAC1Ch8iB,KAAKi8iB,qBAAuBj8iB,KAAKk8iB,qBAAuB,IAG5D,CACJ,CAWAuB,UAAUvxE,EAAQ3zd,EAAM6kiB,EAAa/kiB,GAEjC,IAAIwliB,EACJ,OAAe,OAAX3xE,EACA2xE,EAAiB79iB,KAAK07iB,SAGtBmC,EAAiB3xE,EAAO4xE,MAExB99iB,KAAK+9iB,QAAQ7xE,IAIF,QADfA,EAAmC,OAA1Blse,KAAKu7iB,iBAA4B,KAAOv7iB,KAAKu7iB,iBAAiB7yiB,IAAI00iB,EAAa,QAI/EhuhB,OAAOwzT,GAAGspJ,EAAO3zd,KAAMA,IACxBvY,KAAKw9iB,mBAAmBtxE,EAAQ3zd,GACpCvY,KAAKg+iB,eAAe9xE,EAAQ2xE,EAAgBxliB,IAK7B,QADf6zd,EAAiC,OAAxBlse,KAAKs7iB,eAA0B,KAAOt7iB,KAAKs7iB,eAAe5yiB,IAAI00iB,EAAa/kiB,KAK3E+W,OAAOwzT,GAAGspJ,EAAO3zd,KAAMA,IACxBvY,KAAKw9iB,mBAAmBtxE,EAAQ3zd,GACpCvY,KAAKi+iB,WAAW/xE,EAAQ2xE,EAAgBxliB,IAIxC6zd,EACIlse,KAAKk+iB,UAAU,IAAIC,GAAsB5liB,EAAM6kiB,GAAcS,EAAgBxliB,GAGlF6zd,CACX,CA4BAqxE,mBAAmBrxE,EAAQ3zd,EAAM6kiB,EAAa/kiB,GAC1C,IAAI+liB,EAA2C,OAA1Bp+iB,KAAKu7iB,iBAA4B,KAAOv7iB,KAAKu7iB,iBAAiB7yiB,IAAI00iB,EAAa,MACpG,OAAuB,OAAnBgB,EACAlyE,EAASlse,KAAKg+iB,eAAeI,EAAgBlyE,EAAO4xE,MAAOzliB,GAEtD6zd,EAAOt8L,cAAgBv3R,IAC5B6zd,EAAOt8L,aAAev3R,EACtBrY,KAAKq+iB,YAAYnyE,EAAQ7zd,IAEtB6zd,CACX,CAQAyxE,UAAUzxE,GAEN,KAAkB,OAAXA,GAAiB,CACpB,MAAMoyE,EAAapyE,EAAOt9X,MAC1B5uG,KAAKu+iB,eAAev+iB,KAAKw+iB,QAAQtyE,IACjCA,EAASoyE,CACb,CAC8B,OAA1Bt+iB,KAAKu7iB,kBACLv7iB,KAAKu7iB,iBAAiBxmgB,QAEE,OAAxB/0C,KAAK47iB,iBACL57iB,KAAK47iB,eAAekB,WAAa,MAEb,OAApB98iB,KAAK87iB,aACL97iB,KAAK87iB,WAAWkB,WAAa,MAEZ,OAAjBh9iB,KAAK07iB,UACL17iB,KAAK07iB,QAAQ9sc,MAAQ,MAEE,OAAvB5uG,KAAKg8iB,gBACLh8iB,KAAKg8iB,cAAcS,aAAe,MAEJ,OAA9Bz8iB,KAAKk8iB,uBACLl8iB,KAAKk8iB,qBAAqBe,oBAAsB,KAExD,CAEAe,eAAe9xE,EAAQuyE,EAAYpmiB,GACD,OAA1BrY,KAAKu7iB,kBACLv7iB,KAAKu7iB,iBAAiBvzhB,OAAOkkd,GAEjC,MAAMrkO,EAAOqkO,EAAOwyE,aACd/xiB,EAAOu/d,EAAOuwE,aACpB,OAAa,OAAT50S,EACA7nQ,KAAK+7iB,cAAgBpviB,EAGrBk7P,EAAK40S,aAAe9viB,EAEX,OAATA,EACA3M,KAAKg8iB,cAAgBn0S,EAGrBl7P,EAAK+xiB,aAAe72S,EAExB7nQ,KAAK2+iB,aAAazyE,EAAQuyE,EAAYpmiB,GACtCrY,KAAKq+iB,YAAYnyE,EAAQ7zd,GAClB6zd,CACX,CAEA+xE,WAAW/xE,EAAQuyE,EAAYpmiB,GAC3B,OAAArY,KAAKw+iB,QAAQtyE,GACblse,KAAK2+iB,aAAazyE,EAAQuyE,EAAYpmiB,GACtCrY,KAAKq+iB,YAAYnyE,EAAQ7zd,GAClB6zd,CACX,CAEAgyE,UAAUhyE,EAAQuyE,EAAYpmiB,GAC1B,OAAArY,KAAK2+iB,aAAazyE,EAAQuyE,EAAYpmiB,GAIlCrY,KAAK47iB,eAHmB,OAAxB57iB,KAAK47iB,eAGiB57iB,KAAK27iB,eAAiBzvE,EAMtBlse,KAAK47iB,eAAekB,WAAa5wE,EAEpDA,CACX,CAEAyyE,aAAazyE,EAAQuyE,EAAYpmiB,GAK7B,MAAM1L,EAAsB,OAAf8xiB,EAAsBz+iB,KAAKy7iB,QAAUgD,EAAW7vc,MAI7Ds9X,SAAOt9X,MAAQjiG,EACfu/d,EAAO4xE,MAAQW,EACF,OAAT9xiB,EACA3M,KAAK07iB,QAAUxvE,EAGfv/d,EAAKmxiB,MAAQ5xE,EAEE,OAAfuyE,EACAz+iB,KAAKy7iB,QAAUvvE,EAGfuyE,EAAW7vc,MAAQs9X,EAEK,OAAxBlse,KAAKs7iB,iBACLt7iB,KAAKs7iB,eAAiB,IAAIsD,IAE9B5+iB,KAAKs7iB,eAAe32gB,IAAIunc,GACxBA,EAAOt8L,aAAev3R,EACf6zd,CACX,CAEA6xE,QAAQ7xE,GACJ,OAAOlse,KAAKu+iB,eAAev+iB,KAAKw+iB,QAAQtyE,GAC5C,CAEAsyE,QAAQtyE,GACwB,OAAxBlse,KAAKs7iB,gBACLt7iB,KAAKs7iB,eAAetzhB,OAAOkkd,GAE/B,MAAMrkO,EAAOqkO,EAAO4xE,MACdnxiB,EAAOu/d,EAAOt9X,MAIpB,OAAa,OAATi5J,EACA7nQ,KAAKy7iB,QAAU9uiB,EAGfk7P,EAAKj5J,MAAQjiG,EAEJ,OAATA,EACA3M,KAAK07iB,QAAU7zS,EAGfl7P,EAAKmxiB,MAAQj2S,EAEVqkO,CACX,CAEAmyE,YAAYnyE,EAAQ2yE,GAGhB,OAAI3yE,EAAOJ,gBAAkB+yE,IAMzB7+iB,KAAK87iB,WAHe,OAApB97iB,KAAK87iB,WAGa97iB,KAAK67iB,WAAa3vE,EAKlBlse,KAAK87iB,WAAWkB,WAAa9wE,GAE5CA,CACX,CACAqyE,eAAeryE,GACX,OAA8B,OAA1Blse,KAAKu7iB,mBACLv7iB,KAAKu7iB,iBAAmB,IAAIqD,IAEhC5+iB,KAAKu7iB,iBAAiB52gB,IAAIunc,GAC1BA,EAAOt8L,aAAe,KACtBs8L,EAAOuwE,aAAe,KACK,OAAvBz8iB,KAAKg8iB,eAGLh8iB,KAAKg8iB,cAAgBh8iB,KAAK+7iB,cAAgB7vE,EAC1CA,EAAOwyE,aAAe,OAMtBxyE,EAAOwyE,aAAe1+iB,KAAKg8iB,cAC3Bh8iB,KAAKg8iB,cAAgBh8iB,KAAKg8iB,cAAcS,aAAevwE,GAEpDA,CACX,CAEAsxE,mBAAmBtxE,EAAQ3zd,GACvB2zd,SAAO3zd,KAAOA,EAEVvY,KAAKk8iB,qBADyB,OAA9Bl8iB,KAAKk8iB,qBACuBl8iB,KAAKi8iB,qBAAuB/vE,EAG5Blse,KAAKk8iB,qBAAqBe,oBAAsB/wE,EAEzEA,CACX,EAEJ,MAAMiyE,GACF1+iB,YAAY8Y,EAAM+kiB,GACdt9iB,KAAKuY,KAAOA,EACZvY,KAAKs9iB,UAAYA,EACjBt9iB,KAAK4vS,aAAe,KACpB5vS,KAAK8re,cAAgB,KAErB9re,KAAK68iB,cAAgB,KAErB78iB,KAAK89iB,MAAQ,KAEb99iB,KAAK4uG,MAAQ,KAEb5uG,KAAK8+iB,SAAW,KAEhB9+iB,KAAK++iB,SAAW,KAEhB/+iB,KAAK0+iB,aAAe,KAEpB1+iB,KAAKy8iB,aAAe,KAEpBz8iB,KAAK88iB,WAAa,KAElB98iB,KAAKg9iB,WAAa,KAElBh9iB,KAAKi9iB,oBAAsB,IAC/B,EAGJ,MAAM+B,GACFv/iB,cAEIO,KAAKi/iB,MAAQ,KAEbj/iB,KAAKk/iB,MAAQ,IACjB,CAMAnziB,IAAImge,GACmB,OAAflse,KAAKi/iB,OACLj/iB,KAAKi/iB,MAAQj/iB,KAAKk/iB,MAAQhzE,EAC1BA,EAAO6yE,SAAW,KAClB7yE,EAAO4yE,SAAW,OAMlB9+iB,KAAKk/iB,MAAMH,SAAW7yE,EACtBA,EAAO4yE,SAAW9+iB,KAAKk/iB,MACvBhzE,EAAO6yE,SAAW,KAClB/+iB,KAAKk/iB,MAAQhzE,EAErB,CAGAxje,IAAI40iB,EAAW6B,GACX,IAAIjzE,EACJ,IAAKA,EAASlse,KAAKi/iB,MAAkB,OAAX/yE,EAAiBA,EAASA,EAAO6yE,SACvD,IAAwB,OAAnBI,GAA2BA,GAAkBjzE,EAAOt8L,eACrDxgR,OAAOwzT,GAAGspJ,EAAOoxE,UAAWA,GAC5B,OAAOpxE,EAGf,OAAO,IACX,CAMAlkd,OAAOkkd,GASH,MAAMrkO,EAAOqkO,EAAO4yE,SACdnyiB,EAAOu/d,EAAO6yE,SACpB,OAAa,OAATl3S,EACA7nQ,KAAKi/iB,MAAQtyiB,EAGbk7P,EAAKk3S,SAAWpyiB,EAEP,OAATA,EACA3M,KAAKk/iB,MAAQr3S,EAGbl7P,EAAKmyiB,SAAWj3S,EAEE,OAAf7nQ,KAAKi/iB,KAChB,EAEJ,MAAML,GACFn/iB,cACIO,KAAKnS,IAAM,IAAIo1C,GACnB,CACA0B,IAAIunc,GACA,MAAMhrc,EAAMgrc,EAAOoxE,UACnB,IAAI8B,EAAap/iB,KAAKnS,IAAI6a,IAAIw4B,GACzBk+gB,IACDA,EAAa,IAAIJ,GACjBh/iB,KAAKnS,IAAIq1C,IAAIhC,EAAKk+gB,IAEtBA,EAAWrziB,IAAImge,EACnB,CAQAxje,IAAI40iB,EAAW6B,GACX,MACME,EAAar/iB,KAAKnS,IAAI6a,IADhB40iB,GAEZ,OAAO+B,EAAaA,EAAW32iB,IAAI40iB,EAAW6B,GAAkB,IACpE,CAMAn3hB,OAAOkkd,GACH,MAAMhrc,EAAMgrc,EAAOoxE,UAGnB,OAFmBt9iB,KAAKnS,IAAI6a,IAAIw4B,GAEjBlZ,OAAOkkd,IAClBlse,KAAKnS,IAAI65C,OAAOxG,GAEbgrc,CACX,CACA,WAAIh0T,GACA,OAAyB,IAAlBl4K,KAAKnS,IAAIytG,IACpB,CACAvmD,QACI/0C,KAAKnS,IAAIknD,OACb,EAEJ,SAASwngB,GAAiBhkiB,EAAM8jiB,EAAiBC,GAC7C,MAAMxwE,EAAgBvzd,EAAKuzd,cAC3B,GAAsB,OAAlBA,EACA,OAAOA,EACX,IAAIwzE,EAAa,EACjB,OAAIhD,GAAexwE,EAAgBwwE,EAAYlqjB,SAC3CktjB,EAAahD,EAAYxwE,IAEtBA,EAAgBuwE,EAAkBiD,CAC7C,CAEA,MAAMC,GACF9/iB,cAAgB,CAChBi9M,SAASz7K,GACL,OAAOA,aAAegC,KAAOivf,GAAWjxf,EAC5C,CACAzL,SACI,OAAO,IAAIgqhB,EACf,EAEJ,MAAMA,GACF//iB,cACIO,KAAKy/iB,SAAW,IAAIx8gB,IACpBjjC,KAAK0/iB,SAAW,KAEhB1/iB,KAAK2/iB,aAAe,KACpB3/iB,KAAK4/iB,iBAAmB,KACxB5/iB,KAAK6/iB,aAAe,KACpB7/iB,KAAK8/iB,aAAe,KACpB9/iB,KAAK27iB,eAAiB,KACtB37iB,KAAK47iB,eAAiB,KACtB57iB,KAAK+7iB,cAAgB,KACrB/7iB,KAAKg8iB,cAAgB,IACzB,CACA,WAAI4B,GACA,OAA+B,OAAxB59iB,KAAK27iB,gBAAiD,OAAtB37iB,KAAK6/iB,cACjB,OAAvB7/iB,KAAK+7iB,aACb,CACAlqE,YAAYl1d,GACR,IAAIuvd,EACJ,IAAKA,EAASlse,KAAK0/iB,SAAqB,OAAXxzE,EAAiBA,EAASA,EAAOt9X,MAC1DjyF,EAAGuvd,EAEX,CACA0wE,oBAAoBjgiB,GAChB,IAAIuvd,EACJ,IAAKA,EAASlse,KAAK4/iB,iBAA6B,OAAX1zE,EAAiBA,EAASA,EAAO2wE,cAClElgiB,EAAGuvd,EAEX,CACA2C,mBAAmBlyd,GACf,IAAIuvd,EACJ,IAAKA,EAASlse,KAAK6/iB,aAAyB,OAAX3zE,EAAiBA,EAASA,EAAO6zE,aAC9DpjiB,EAAGuvd,EAEX,CACA0C,iBAAiBjyd,GACb,IAAIuvd,EACJ,IAAKA,EAASlse,KAAK27iB,eAA2B,OAAXzvE,EAAiBA,EAASA,EAAO4wE,WAChEngiB,EAAGuvd,EAEX,CACAyC,mBAAmBhyd,GACf,IAAIuvd,EACJ,IAAKA,EAASlse,KAAK+7iB,cAA0B,OAAX7vE,EAAiBA,EAASA,EAAOuwE,aAC/D9/hB,EAAGuvd,EAEX,CACAr7b,KAAKhjD,GACD,GAAKA,GACa,KAEPA,aAAeo1C,KAAOivf,GAAWrkiB,IACxC,MAAM,IAAIs1f,GAAa,KAAiD72U,QAHxEz+K,EAAM,IAAIo1C,IAMd,OAAOjjC,KAAKk9iB,MAAMrvjB,GAAOmS,KAAO,IACpC,CACAiuK,YAAc,CAKdivY,MAAMrvjB,GACFmS,KAAKm9iB,SACL,IAAIt1Y,EAAe7nK,KAAK0/iB,SAcxB,GAbA1/iB,KAAK2/iB,aAAe,KACpB3/iB,KAAKggjB,SAASnyjB,EAAK,CAACP,EAAO4zC,KACvB,GAAI2mI,GAAgBA,EAAa3mI,MAAQA,EACrClhC,KAAKigjB,mBAAmBp4Y,EAAcv6K,GACtC0S,KAAK2/iB,aAAe93Y,EACpBA,EAAeA,EAAaj5D,UAE3B,CACD,MAAMs9X,EAASlse,KAAKkgjB,yBAAyBh/gB,EAAK5zC,GAClDu6K,EAAe7nK,KAAKmgjB,sBAAsBt4Y,EAAcqkU,EAC5D,IAGArkU,EAAc,CACVA,EAAai2Y,QACbj2Y,EAAai2Y,MAAMlvc,MAAQ,MAE/B5uG,KAAK+7iB,cAAgBl0Y,EACrB,QAASqkU,EAASrkU,EAAyB,OAAXqkU,EAAiBA,EAASA,EAAOuwE,aACzDvwE,IAAWlse,KAAK0/iB,WAChB1/iB,KAAK0/iB,SAAW,MAEpB1/iB,KAAKy/iB,SAAS/3gB,OAAOwkc,EAAOhrc,KAC5Bgrc,EAAOuwE,aAAevwE,EAAOt9X,MAC7Bs9X,EAAO/9S,cAAgB+9S,EAAOvY,aAC9BuY,EAAOvY,aAAe,KACtBuY,EAAO4xE,MAAQ,KACf5xE,EAAOt9X,MAAQ,IAEvB,CAEA,OAAI5uG,KAAK8/iB,eACL9/iB,KAAK8/iB,aAAaC,aAAe,MACjC//iB,KAAK47iB,iBACL57iB,KAAK47iB,eAAekB,WAAa,MAC9B98iB,KAAK49iB,OAChB,CASAuC,sBAAsB74U,EAAQ4kQ,GAC1B,GAAI5kQ,EAAQ,CACR,MAAMugC,EAAOvgC,EAAOw2U,MACpB5xE,SAAOt9X,MAAQ04H,EACf4kQ,EAAO4xE,MAAQj2S,EACfvgC,EAAOw2U,MAAQ5xE,EACXrkO,IACAA,EAAKj5J,MAAQs9X,GAEb5kQ,IAAWtnO,KAAK0/iB,WAChB1/iB,KAAK0/iB,SAAWxzE,GAEpBlse,KAAK2/iB,aAAer4U,EACbA,CACX,CACA,OAAItnO,KAAK2/iB,cACL3/iB,KAAK2/iB,aAAa/wc,MAAQs9X,EAC1BA,EAAO4xE,MAAQ99iB,KAAK2/iB,cAGpB3/iB,KAAK0/iB,SAAWxzE,EAEpBlse,KAAK2/iB,aAAezzE,EACb,IACX,CACAg0E,yBAAyBh/gB,EAAK5zC,GAC1B,GAAI0S,KAAKy/iB,SAAShmhB,IAAIyH,GAAM,CACxB,MAAMgrc,EAASlse,KAAKy/iB,SAAS/2iB,IAAIw4B,GACjClhC,KAAKigjB,mBAAmB/zE,EAAQ5+e,GAChC,MAAMu6Q,EAAOqkO,EAAO4xE,MACdnxiB,EAAOu/d,EAAOt9X,MACpB,OAAIi5J,IACAA,EAAKj5J,MAAQjiG,GAEbA,IACAA,EAAKmxiB,MAAQj2S,GAEjBqkO,EAAOt9X,MAAQ,KACfs9X,EAAO4xE,MAAQ,KACR5xE,CACX,CACA,MAAMA,EAAS,IAAIk0E,GAAsBl/gB,GACzC,OAAAlhC,KAAKy/iB,SAASv8gB,IAAIhC,EAAKgrc,GACvBA,EAAOvY,aAAerme,EACtB0S,KAAKqgjB,gBAAgBn0E,GACdA,CACX,CAEAixE,SACI,GAAIn9iB,KAAK49iB,QAAS,CACd,IAAI1xE,EAGJ,IADAlse,KAAK4/iB,iBAAmB5/iB,KAAK0/iB,SACxBxzE,EAASlse,KAAK4/iB,iBAA6B,OAAX1zE,EAAiBA,EAASA,EAAOt9X,MAClEs9X,EAAO2wE,cAAgB3wE,EAAOt9X,MAIlC,IAAKs9X,EAASlse,KAAK6/iB,aAAyB,OAAX3zE,EAAiBA,EAASA,EAAO6zE,aAC9D7zE,EAAO/9S,cAAgB+9S,EAAOvY,aAElC,IAAKuY,EAASlse,KAAK27iB,eAA0B,MAAVzvE,EAAgBA,EAASA,EAAO4wE,WAC/D5wE,EAAO/9S,cAAgB+9S,EAAOvY,aAElC3zd,KAAK6/iB,aAAe7/iB,KAAK8/iB,aAAe,KACxC9/iB,KAAK27iB,eAAiB37iB,KAAK47iB,eAAiB,KAC5C57iB,KAAK+7iB,cAAgB,IACzB,CACJ,CAEAkE,mBAAmB/zE,EAAQxkZ,GAClBt4D,OAAOwzT,GAAGl7P,EAAUwkZ,EAAOvY,gBAC5BuY,EAAO/9S,cAAgB+9S,EAAOvY,aAC9BuY,EAAOvY,aAAejsY,EACtB1nF,KAAKsgjB,cAAcp0E,GAE3B,CACAm0E,gBAAgBn0E,GACgB,OAAxBlse,KAAK27iB,eACL37iB,KAAK27iB,eAAiB37iB,KAAK47iB,eAAiB1vE,GAG5Clse,KAAK47iB,eAAekB,WAAa5wE,EACjClse,KAAK47iB,eAAiB1vE,EAE9B,CACAo0E,cAAcp0E,GACgB,OAAtBlse,KAAK6/iB,aACL7/iB,KAAK6/iB,aAAe7/iB,KAAK8/iB,aAAe5zE,GAGxClse,KAAK8/iB,aAAaC,aAAe7zE,EACjClse,KAAK8/iB,aAAe5zE,EAE5B,CAEA8zE,SAAS/+gB,EAAKtkB,GACNskB,aAAegC,IACfhC,EAAI7V,QAAQzO,GAGZyS,OAAOC,KAAK4R,GAAK7V,QAAQgY,GAAKzmB,EAAGskB,EAAImC,GAAIA,GAEjD,EAEJ,MAAMg9gB,GACF3gjB,YAAYyhC,GACRlhC,KAAKkhC,IAAMA,EACXlhC,KAAKmuL,cAAgB,KACrBnuL,KAAK2zd,aAAe,KAEpB3zd,KAAK68iB,cAAgB,KAErB78iB,KAAK4uG,MAAQ,KAEb5uG,KAAK89iB,MAAQ,KAEb99iB,KAAK88iB,WAAa,KAElB98iB,KAAKy8iB,aAAe,KAEpBz8iB,KAAK+/iB,aAAe,IACxB,EAGJ,SAASQ,KACL,OAAO,IAAIC,GAAgB,CAAC,IAAIrF,IACpC,CACA,IAKMqF,GAAe,MAArB,MAAMA,SAEOxgjB,KAAKszD,WAAQi/a,GAAmB,CAAEtif,MAAOuwjB,EAAiB7/iB,WAAY,OAAQF,QAAS8/iB,IAAkC,CAClI9gjB,YAAY0wiB,GACRnwiB,KAAKmwiB,UAAYA,CACrB,CACA,aAAO36gB,CAAO26gB,EAAW9pf,GACrB,GAAc,MAAVA,EAAgB,CAChB,MAAMo6f,EAASp6f,EAAO8pf,UAAUvugB,QAChCuugB,EAAYA,EAAU1ijB,OAAOgzjB,EACjC,CACA,OAAO,IAAID,EAAgBrQ,EAC/B,CAqBA,aAAOr7M,CAAOq7M,GACV,MAAO,CACHx/gB,QAAS6vhB,EACTjvhB,WAAa80B,GAIFm6f,EAAgBhrhB,OAAO26gB,EAAW9pf,GAAUk6f,MAGvDjvhB,KAAM,CAAC,CAACkvhB,EAAiB,IAAIz5D,GAAY,IAAIC,KAErD,CACA7xf,KAAKizT,GACD,MAAM3nT,EAAUT,KAAKmwiB,UAAUh7iB,KAAK+kB,GAAKA,EAAEwiM,SAAS0rG,IACpD,GAAe,MAAX3nT,EACA,OAAOA,EAGP,MAAM,IAAI0if,GAAa,KAAyD72U,EAGxF,EACH,OAxDKk0Y,CAAe,KA6DrB,SAASE,KACL,OAAO,IAAIC,GAAgB,CAAC,IAAIpB,IACpC,CACA,IAKMoB,GAAe,MAArB,MAAMA,SAEO3gjB,KAAKszD,WAAQi/a,GAAmB,CAAEtif,MAAO0wjB,EAAiBhgjB,WAAY,OAAQF,QAASigjB,IAAkC,CAClIjhjB,YAAY0wiB,GACRnwiB,KAAKmwiB,UAAYA,CACrB,CACA,aAAO36gB,CAAO26gB,EAAW9pf,GACrB,GAAIA,EAAQ,CACR,MAAMo6f,EAASp6f,EAAO8pf,UAAUvugB,QAChCuugB,EAAYA,EAAU1ijB,OAAOgzjB,EACjC,CACA,OAAO,IAAIE,EAAgBxQ,EAC/B,CAqBA,aAAOr7M,CAAOq7M,GACV,MAAO,CACHx/gB,QAASgwhB,EACTpvhB,WAAa80B,GAIFs6f,EAAgBnrhB,OAAO26gB,EAAW9pf,GAAUq6f,MAGvDpvhB,KAAM,CAAC,CAACqvhB,EAAiB,IAAI55D,GAAY,IAAIC,KAErD,CACA7xf,KAAKwjI,GACD,MAAMl4H,EAAUT,KAAKmwiB,UAAUh7iB,KAAK+kB,GAAKA,EAAEwiM,SAAS/jF,IACpD,GAAIl4H,EACA,OAAOA,EAEX,MAAM,IAAI0if,GAAa,KAAyD72U,EACpF,EACH,OArDKq0Y,CAAe,KA0DrB,MAmBMC,GAAe1G,GAAsB,KAAM,OAAQ,IAEzD,IAOM2G,GAAiB,MAAvB,MAAMA,EAEFphjB,YAAYqhhB,GAAU,QACb9ghB,KAAKU,UAAO,SAAmC6N,GAAK,OAAO,IAAKA,GAAKsyiB,GAAmBx/E,GAASrL,IAAkB,CAAG,QACtHh2d,KAAKm4B,UAAqBi2d,GAAiB,CAAEngf,KAAM4yiB,GAAsB,QACzE7gjB,KAAKo4B,UAAqB8sd,GAAiB,CAAC,EAAI,EAC5D,OANK27D,CAAiB,KA2oDvB,SAAS93hB,GAAiBz7B,GACtB,MAAwB,kBAAVA,EAAsBA,EAAkB,MAATA,GAA2B,UAAVA,CAClE,CAcA,SAASwzjB,GAAgBxzjB,EAAOw1d,EAAgB93P,KAK5C,OADuB3yN,MAAM62H,WAAW5hI,KAAY+K,MAAMmoD,OAAOlzD,IAC1Bw1d,EAAhBtia,OAAOlzD,EAClC,CAkGA,SAAS2sE,GAASqob,EAAa17d,GAC3B27f,GAAuB,aACvB,MAAM39P,ED79lCV,SAASm8R,GAAez+D,GACpB,MAAMn7V,EAAO/3H,OAAOoG,OAAO4sd,IAC3Bj7V,EAAKm7V,YAAcA,EACnB,MAAMrob,EAAWA,KAKb,GAHAinb,GAA2B/5V,GAE3B05V,GAAiB15V,GACbA,EAAK75J,QAAU60f,GACf,MAAMh7V,EAAKr4J,MAEf,OAAOq4J,EAAK75J,OAEhB2sE,SAAS2lb,GAAUz4V,EACZltF,CACX,CC88lCmB+mf,CAAiB1+D,GAChC,OAAI17d,GAASy7d,QACTz9N,EAAOuvP,GAAU9xB,MAAQz7d,EAAQy7d,OAK9Bz9N,CACX,CAMA,SAASkrN,GAAUmxE,GACf,MAAMx/D,EAAe+Q,EAAoB,MAGzC,IACI,OAAOyuD,GACX,SAEIzuD,EAAoB/Q,EACxB,CACJ,CAMA,MAAMy/D,GAAuB,IAAIr7hB,GAAe,GAAI,CAChDllB,WAAY,OACZF,QAASA,IAAMwwB,GAAOkwhB,MAE1B,IAGMA,GAAe,MAArB,MAAMA,SAEOnhjB,KAAKszD,WAAQi/a,GAAmB,CACrCtif,MAAOkxjB,EACPxgjB,WAAY,OACZF,QAASA,IAAM,IAAI2gjB,IACnB,EACP,OAPKD,CAAe,KAYrB,MAAMC,GACF3hjB,cACIO,KAAKqhjB,kBAAoB,EACzBrhjB,KAAKshjB,OAAS,IAAIr+gB,IAClBjjC,KAAKi8e,aAAehrd,GAAO6ggB,IAC3B9xhB,KAAKm8e,OAAS,IAClB,CACAolE,eAAexzf,GAEX,GADA/tD,KAAK0yP,QAAQ3kM,GACO,OAAhB/tD,KAAKm8e,OAAiB,CACtB,MAAMA,EAASn8e,KAAKm8e,OAASn8e,KAAKi8e,aAAalwe,MAC/CsrL,eAAe,KACXr3L,KAAKq5G,QACLr5G,KAAKi8e,aAAaj0d,OAAOm0d,GACzBn8e,KAAKm8e,OAAS,MAEtB,CACJ,CACAzpP,QAAQ3kM,GACJ,MAAM6wF,EAAO7wF,EAAOyzf,aACfxhjB,KAAKshjB,OAAO7nhB,IAAImlH,IACjB5+I,KAAKshjB,OAAOp+gB,IAAI07G,EAAM,IAAIh5F,KAE9B,MAAMqpC,EAAQjvF,KAAKshjB,OAAO54iB,IAAIk2I,GAC1B3vD,EAAMx1D,IAAIs0B,KAGd/tD,KAAKqhjB,oBACLpyd,EAAMljF,IAAIgiD,GACd,CAOAsrD,QACI,KAAOr5G,KAAKqhjB,kBAAoB,GAC5B,UAAYzia,EAAM3vD,KAAUjvF,KAAKshjB,OAEhB,OAAT1ia,EACA5+I,KAAKyhjB,WAAWxyd,GAGhB2vD,EAAKxoH,IAAI,IAAMp2B,KAAKyhjB,WAAWxyd,GAI/C,CACAwyd,WAAWxyd,GACP,UAAWlhC,KAAUkhC,EACjBA,EAAMvnD,OAAOqmB,GACb/tD,KAAKqhjB,oBAELtzf,EAAO33B,KAEf,EASJ,MAAMsrhB,GACFjijB,YAAYsrL,EAAW42X,EAAUH,EAAcz7C,EAAYtyD,EAAUmuG,GACjE5hjB,KAAK+qL,UAAYA,EACjB/qL,KAAK2hjB,SAAWA,EAChB3hjB,KAAKwhjB,aAAeA,EACpBxhjB,KAAKyzc,SAAWA,EAChBzzc,KAAK6hjB,QD77lCb,SAASC,GAAYnliB,EAAIokb,EAAU6gH,GAC/B,MAAMz6Z,EAAO/3H,OAAOoG,OAAOwtd,IACvB4+D,IACAz6Z,EAAKo5V,2BAA4B,GAErCp5V,EAAKxqI,GAAKA,EACVwqI,EAAK45S,SAAWA,EAChB,MAAMghH,EAAqB9+D,KACvB97V,EAAK87V,UAAYA,IAsCrB97V,SAAKskH,IAAM,CACP/3G,OAAQA,IAAM2tV,GAAkBl6V,GAChC/wH,IAzBQA,KACR,GAAgB,OAAZ+wH,EAAKxqI,GAEL,OAEJ,GA/cR,SAASqliB,IACL,OAAOtiE,CACX,CA6cYsiE,GACA,MAAM,IAAIn6gB,MAAM,qEAGpB,GADAs/G,EAAKlgF,OAAQ,EACTkgF,EAAKr1C,SAAWqvY,GAA+Bh6V,GAC/C,OAEJA,EAAKr1C,QAAS,EACd,MAAM2vY,GAAeF,GAA0Bp6V,GAC/C,IACIA,EAAK87V,YACL97V,EAAK87V,UAAYF,GACjB57V,EAAKxqI,GAAGoliB,EACZ,SAEIvgE,GAAyBr6V,EAAMs6V,GACnC,GAKAj+O,QAASA,IAAMr8G,EAAK87V,YACpBx1d,QAASA,IArCb,SAASw0hB,EAAiB96Z,KAH1B,SAAS+6Z,EAAqB/6Z,IAC1B,OAAmB,OAAZA,GAAKxqI,IAAiC,OAAlBwqI,GAAK45S,QACpC,EAESmhH,CAAqB/6Z,MACtBy6V,GAAgBz6V,IAChBA,GAAK87V,YAEL97V,GAAKxqI,GAAK,KACVwqI,GAAK45S,SAAW,KAChB55S,GAAK87V,UAAYF,GAEzB,CA4BmBk/D,CAAiB96Z,GAChC26O,CAAC89G,GAASz4V,GAEPA,EAAKskH,GAChB,CCu4lCuB02S,CAAeC,GAAcpijB,KAAKqijB,UAAUD,GAAY,IAAMpijB,KAAK+gc,WAAY6gH,GAC9F5hjB,KAAKsijB,oBAAsBv8C,GAAY93V,UAAU,IAAMjuK,KAAKytB,UAChE,CACA40hB,UAAUD,GACN,IACIpijB,KAAK2hjB,SAASS,EAClB,OACOj5gB,GAGkBnpC,KAAKyzc,SAAS/qc,IAAIu8f,GAAc,KAAM,CAAEnsd,UAAU,KACzD4lB,YAAYv1B,EAC9B,CACJ,CACA/S,MACIp2B,KAAK6hjB,QAAQzrhB,KACjB,CACA2qa,WACI/gc,KAAK+qL,UAAUw2X,eAAevhjB,KAClC,CACAytB,UACIztB,KAAK6hjB,QAAQp0hB,UACbztB,KAAKsijB,uBAGT,EAOJ,SAAS5tG,GAAOitG,EAAU/6hB,GACtB27f,GAAuB,cAItB37f,GAAS6sb,UAAY8gD,KACtB,MAAM9gD,EAAW7sb,GAAS6sb,UAAYxib,GAAOoqc,IACvC0qC,GAAwC,IAA3Bn/e,GAASqnL,cAAyBwlQ,EAAS/qc,IAAI48f,IAAc,KAC1Ev3c,EAAS,IAAI2zf,GAAajuG,EAAS/qc,IAAIw4iB,IAAuBS,SAAkBt/Z,KAAS,IAAe,KAAOA,KAAKC,QAASyjX,EAAYtyD,EAAU7sb,GAASg7hB,oBAAqB,GASjLW,EAAM9uG,EAAS/qc,IAAIsqB,GAAmB,KAAM,CAAE8lB,UAAU,IAC9D,OAAKypgB,GAA6B,EAApBA,EAAIr+C,OAAOvP,KAQpB4tD,EAAIr+C,OAAOtO,MAAyB,IAAI9zd,KAAKisB,EAAO8zf,QAAQnuZ,QAJ7D3lG,EAAO8zf,QAAQnuZ,SAMZ3lG,CACX,CAiHA,SAASy0f,GAAqBvue,GAC1B,MAAM45a,EAAeI,GAAgBh6a,GACrC,IAAK45a,EACD,OAAO,KACX,MAAMptf,EAAU,IAAI4mhB,GAAiBx5B,GACrC,MAAO,CACH,YAAI9tV,GACA,OAAOt/J,EAAQs/J,QACnB,EACA,QAAI9xJ,GACA,OAAOxN,EAAQknhB,aACnB,EACA,UAAIhygB,GACA,OAAOlV,EAAQkV,MACnB,EACA,WAAI+a,GACA,OAAOjwB,EAAQiwB,OACnB,EACA,sBAAItH,GACA,OAAO3oB,EAAQ2oB,kBACnB,EACA,gBAAI+le,GACA,OAAOtB,EAAa5ke,UACxB,EACA,YAAIurb,GACA,OAAOq5C,EAAaN,OACxB,EAER,gGC5knCA,SAASh4b,EAAmBwwc,GACnBA,OACDxR,OAAyBh/b,GACzBwwc,KAAa90e,OAAOq0e,QAExB,MAAMm9C,GAAa,IAAI35W,IAAWj/C,IACTk8W,EAAW93V,UAAUpkB,GAASl9I,KAAKsK,KAAK4yI,MAGjE,OAAQ/1G,IACGA,GAAOjpC,QAAKgqB,KAAU4thB,IAErC,CAwIA,SAASz0W,EAASl6J,EAAQltB,IAItB,MAAM87hB,IAAmB97hB,IAASqnL,cAClCy0W,KAAoB97hB,IAAS6sb,aAAY8gD,OAAyBvmT,GAClE,MAAM20W,GAAaD,GAAkB97hB,IAAS6sb,UAAU/qc,IAAI48f,SAAU,EAAKr0e,OAAOq0e,OAAc,KAGhG,IAAIt8gB,GAGAA,MAAQgtD,OAFRpvB,IAASsnL,YAEM,CAAE53G,KAAM,GAIR,CAAEA,KAAM,EAAyBhpG,MAAOs5B,IAAS8xG,eAQpE,MAAM57H,GAAMg3C,EAAOznC,UAAU,CACzBM,KAAMrf,IAAStE,GAAMk6C,IAAI,CAAEozD,KAAM,EAAyBhpG,WAC1DwB,MAAOA,KACH,GAAI83B,IAASg8hB,aAGT,MAAM9zjB,GAEV9F,GAAMk6C,IAAI,CAAEozD,KAAM,EAAyBxnG,UAAO,IAS1D6zjB,WAAY10Y,UAAUnxK,GAAIqR,YAAY8I,KAAKna,MAAI,EAGxCm9D,OAAS,KACZ,MAAMqoF,GAAUt5J,KAChB,OAAQs5J,GAAQhsD,MACZ,KAAK,EACD,OAAOgsD,GAAQh1J,MACnB,KAAK,EACD,MAAMg1J,GAAQxzJ,MAClB,KAAK,EAGD,MAAM,IAAIu9K,MAAc,IAA4D,uFAC5F,EAER,kaCrNA,IAOMw2Y,EAAwB,MAA9B,MAAMA,GACFpjjB,YAAY6uc,GAAWvob,IACnB/lB,KAAKsuc,UAAYA,GACjBtuc,KAAK+lB,YAAcA,GAMnB/lB,KAAK2oT,SAAYlnP,OAKjBzhE,KAAK8ijB,UAAY,MACrB,CAMA1qX,YAAYl3J,GAAK5zC,IACb0S,KAAKsuc,UAAUl2Q,YAAYp4L,KAAK+lB,YAAYsB,cAAe6Z,GAAK5zC,GACpE,CAKAy1jB,kBAAkBpmiB,IACd3c,KAAK8ijB,UAAYnmiB,EACrB,CAKAqmiB,iBAAiBrmiB,IACb3c,KAAK2oT,SAAWhsS,EACpB,CAKAsmiB,iBAAiBl3a,IACb/rI,KAAKo4L,YAAY,WAAYrsD,GACjC,QACS/rI,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFs0iB,IAAV5ijB,MAAoDA,OAApDA,MAA6EA,OAAa,CAA8C,QAChOD,KAAKi4B,UADmFh4B,MAAE,CAAAgO,KACJ40iB,IAA2C,EAC7I,OA/CKA,EAAwB,KA4DxBK,EAA2B,MAAjC,MAAMA,WAAoCL,SAC7B7ijB,KAAKU,UAAI,UAAAyijB,GAAA,gBAAA50iB,IAAA,OAAA40iB,QAhB+EljjB,MAgBUijjB,MAA2B30iB,IAA3B20iB,GAA2B,GAApH,EAA2K,QACpLljjB,KAAKi4B,UAjBmFh4B,MAAE,CAAAgO,KAiBJi1iB,GAA2Bh6hB,SAAA,CAjBzBjpB,QAiBmE,EACvK,OAHKijjB,EAA2B,KAcjC,MAAME,EAAoB,IAAIv9hB,MAA+C,IAEvEw9hB,EAA0B,CAC5B1yhB,QAASyyhB,EACTxyhB,aAAa8zd,SAAW,IAAM4+D,GAC9Btgf,OAAO,GAEX,IAuBMsgf,EAA4B,MAAlC,MAAMA,WAAqCJ,EAKvCK,WAAWj2jB,IACP0S,KAAKo4L,YAAY,UAAW9qM,GAChC,QACS0S,KAAKU,UAAI,UAAA8ijB,GAAA,gBAAAj1iB,IAAA,OAAAi1iB,QAnE+EvjjB,MAmEUqjjB,MAA4B/0iB,IAA5B+0iB,GAA4B,GAArH,EAA4K,QACrLtjjB,KAAKi4B,UApEmFh4B,MAAE,CAAAgO,KAoEJq1iB,GAA4B30iB,UAAA,yIAAAka,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IApE1B/O,MAAE,kBAAAmI,IAAA,OAoEJ6G,GAAA05S,SAAAvgT,GAAA0gD,OAAA86F,QAA+B,EApE7B3jJ,CAoE0B,yBAA5BgP,GAAA6ziB,WAAW,EAAiB,EAAA55hB,SAAA,CApE1BjpB,MAoEuP,CAACojjB,IApExPpjjB,QAoE0T,EAC9Z,OAVKqjjB,EAA4B,KAoBlC,MAAMG,GAAyB,CAC3B9yhB,QAASyyhB,EACTxyhB,aAAa8zd,SAAW,IAAMg/D,IAC9B1gf,OAAO,GAgBL2gf,GAA0B,IAAI99hB,MAAoD,IACxF,IAmCM69hB,GAAoB,MAA1B,MAAMA,WAA6Bb,EAC/BpjjB,YAAY05L,GAAUk9R,GAAYutF,IAC9BpzgB,MAAM2oJ,GAAUk9R,IAChBr2d,KAAK4jjB,iBAAmBA,GAExB5jjB,KAAK6jjB,YAAa,EACW,MAAzB7jjB,KAAK4jjB,mBACL5jjB,KAAK4jjB,kBArDjB,SAASE,KACL,MAAM73d,MAAY83d,SAAQ,EAAIA,QAAUh2M,eAAiB,GACzD,MAAO,gBAAgB5yQ,KAAKlP,GAAU3hG,cAC1C,CAkDqCw5jB,GAEjC,CAKAP,WAAWj2jB,IAEP0S,KAAKo4L,YAAY,QADO9qM,IAAgB,GAE5C,CAEA02jB,aAAa12jB,MACJ0S,KAAK4jjB,kBAAqB5jjB,KAAK4jjB,mBAAqB5jjB,KAAK6jjB,aAC1D7jjB,KAAK2oT,SAASr7T,GAEtB,CAEA22jB,oBACIjkjB,KAAK6jjB,YAAa,CACtB,CAEAK,gBAAgB52jB,IACZ0S,KAAK6jjB,YAAa,EAClB7jjB,KAAK4jjB,kBAAoB5jjB,KAAK2oT,SAASr7T,GAC3C,QACS0S,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFm1iB,IAvKVzjjB,MAuKgDA,OAvKhDA,MAuKyEA,OAvKzEA,MAuKmG0jjB,GAAuB,IAA8D,QAChR3jjB,KAAKi4B,UAxKmFh4B,MAAE,CAAAgO,KAwKJy1iB,GAAoB/0iB,UAAA,oQAAAka,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAxKlB/O,MAAE,iBAAAmI,IAAA,OAwKJ6G,GAAA+0iB,aAAA57iB,GAAA0gD,OAAAx7D,MAA4C,EAxK1C2S,CAwKkB,yBAApBgP,GAAA6ziB,WAAW,EAxKT7ijB,CAwKkB,qCAApBgP,GAAAg1iB,mBAA8B,EAxK5BhkjB,CAwKkB,0BAAAmI,IAAA,OAApB6G,GAAAi1iB,gBAAA97iB,GAAA0gD,OAAAx7D,MAA+C,EAA3B,EAAA47B,SAAA,CAxKlBjpB,MAwK6d,CAACwjjB,KAxK9dxjjB,QAwK+hB,EACnoB,OAnCKyjjB,EAAoB,KA0D1B,SAASS,GAAkB72jB,IAMvB,OAAgB,MAATA,KACgB,iBAAVA,IAAsBgE,MAAMC,QAAQjE,MAA4B,IAAjBA,GAAM8E,MACtE,CACA,SAASgyjB,GAAe92jB,IAEpB,OAAgB,MAATA,IAAyC,iBAAjBA,GAAM8E,MACzC,CA6BA,MAAMiyjB,GAAgB,IAAIx+hB,MAA4C,IA8BhEy+hB,GAAsB,IAAIz+hB,MAAiD,IA+B3E0+hB,GAAe,qMAYrB,MAAMr5iB,GAqBF,UAAOmiB,CAAIA,IACP,OAkQR,SAASm3hB,GAAan3hB,IAClB,OAAQo3hB,KACJ,GAAIN,GAAkBM,GAAQn3jB,QAAU62jB,GAAkB92hB,IACtD,OAAO,KAEX,MAAM//B,GAAQ4hI,WAAWu1b,GAAQn3jB,OAGjC,OAAQ+K,MAAM/K,KAAUA,GAAQ+/B,GAAM,CAAEA,IAAO,CAAEA,IAAOA,GAAK03d,OAAU0/D,GAAQn3jB,QAAY,KAEnG,CA5Qek3jB,CAAan3hB,GACxB,CAqBA,UAAOD,CAAIA,IACP,OA0PR,SAASs3hB,GAAat3hB,IAClB,OAAQq3hB,KACJ,GAAIN,GAAkBM,GAAQn3jB,QAAU62jB,GAAkB/2hB,IACtD,OAAO,KAEX,MAAM9/B,GAAQ4hI,WAAWu1b,GAAQn3jB,OAGjC,OAAQ+K,MAAM/K,KAAUA,GAAQ8/B,GAAM,CAAEA,IAAO,CAAEA,IAAOA,GAAK23d,OAAU0/D,GAAQn3jB,QAAY,KAEnG,CApQeo3jB,CAAat3hB,GACxB,CAqBA,eAAOjiB,CAASs5iB,IACZ,OAAOE,GAAkBF,GAC7B,CAsBA,mBAAOG,CAAaH,IAChB,OAAOI,GAAsBJ,GACjC,CAqCA,YAAO70jB,CAAM60jB,IACT,OAAOK,GAAeL,GAC1B,CA+BA,gBAAOM,CAAUA,IACb,OA2KR,SAASC,GAAmBD,IACxB,OAAQN,IACAN,GAAkBM,GAAQn3jB,SAAW82jB,GAAeK,GAAQn3jB,OAGrD,KAEJm3jB,GAAQn3jB,MAAM8E,OAAS2yjB,GAC1B,CAAEE,UAAa,CAAEC,eAAkBH,GAAWI,aAAgBV,GAAQn3jB,MAAM8E,SAC5E,IAEZ,CAtLe4yjB,CAAmBD,GAC9B,CA4BA,gBAAOxxd,CAAUA,IACb,OAAO6xd,GAAmB7xd,GAC9B,CAkDA,cAAO3jF,CAAQA,IACX,OAAOy1iB,GAAiBz1iB,GAC5B,CAQA,oBAAO01iB,CAAcb,IACjB,OAyIG,IAxIP,CACA,cAAOx8T,CAAQs9T,IACX,OAAOt9T,GAAQs9T,GACnB,CAYA,mBAAOC,CAAaD,IAChB,OAAOC,GAAaD,GACxB,EAoCJ,SAASZ,GAAkBF,IACvB,OAAON,GAAkBM,GAAQn3jB,OAAS,CAAE6d,UAAY,GAAS,IACrE,CAMA,SAAS05iB,GAAsBJ,IAC3B,OAAyB,IAAlBA,GAAQn3jB,MAAiB,KAAO,CAAE6d,UAAY,EACzD,CAKA,SAAS25iB,GAAeL,IACpB,OAAIN,GAAkBM,GAAQn3jB,QAGvBi3jB,GAAappd,KAAKspd,GAAQn3jB,OAFtB,KAEsC,CAAEsC,OAAS,EAChE,CAqBA,SAASw1jB,GAAmB7xd,IACxB,OAAQkxd,IACGL,GAAeK,GAAQn3jB,QAAUm3jB,GAAQn3jB,MAAM8E,OAASmhG,GAC3D,CAAEkyd,UAAa,CAAEP,eAAkB3xd,GAAW4xd,aAAgBV,GAAQn3jB,MAAM8E,SAC5E,IAEZ,CAKA,SAASizjB,GAAiBz1iB,IACtB,IAAKA,GACD,OAAO01iB,GACX,IAAIpqd,GACAwqd,GACJ,MAAuB,iBAAZ91iB,IACP81iB,GAAW,GACe,MAAtB91iB,GAAQwF,OAAO,KACfswiB,IAAY,KAChBA,IAAY91iB,GAC+B,MAAvCA,GAAQwF,OAAOxF,GAAQxd,OAAS,KAChCszjB,IAAY,KAChBxqd,GAAQ,IAAI1rB,OAAOk2e,MAGnBA,GAAW91iB,GAAQuxB,WACnB+5D,GAAQtrF,IAEJ60iB,KACJ,GAAIN,GAAkBM,GAAQn3jB,OAC1B,OAAO,KAEX,MAAMA,GAAQm3jB,GAAQn3jB,MACtB,OAAO4tG,GAAMC,KAAK7tG,IAAS,KACvB,CAAEsiB,QAAW,CAAE+1iB,gBAAmBD,GAAUE,YAAet4jB,IAAQ,CAE/E,CAIA,SAASg4jB,GAAcb,IACnB,OAAO,IACX,CACA,SAAS31b,GAAUh4C,IACf,OAAY,MAALA,EACX,CACA,SAAS+ue,GAAav4jB,IAWlB,SAVYmjf,OAAWnjf,KAAK,EAAI4pE,KAAK5pE,IAASA,EAWlD,CACA,SAASw4jB,GAAYC,IACjB,IAAItqiB,GAAM,CAAC,EACXsqiB,UAAc36hB,QAAS47C,KACnBvrD,GAAgB,MAAVurD,GAAiB,IAAKvrD,MAAQurD,IAAWvrD,KAEhB,IAA5B2T,OAAOC,KAAK5T,IAAKrpB,OAAe,KAAOqpB,EAClD,CACA,SAASuqiB,GAAkBvB,GAASc,IAChC,OAAOA,GAAW13jB,IAAIo4jB,IAAaA,GAAUxB,IACjD,CAYA,SAASyB,GAAoBX,IACzB,OAAOA,GAAW13jB,IAAIo4jB,IAZ1B,SAASE,GAAcF,IACnB,OAAQA,GAAUG,QACtB,CAWeD,CAAcF,IACjBA,GACExzjB,IAAMwzjB,GAAUG,SAAS3zjB,IAEvC,CAKA,SAASw1P,GAAQs9T,IACb,IAAKA,GACD,OAAO,KACX,MAAMc,GAAoBd,GAAW73jB,OAAOohI,IAC5C,OAAgC,GAA5Bu3b,GAAkBj0jB,OACX,KACJ,SAAUqyjB,IACb,OAAOqB,GAAYE,GAAkBvB,GAAS4B,IAClD,CACJ,CAMA,SAASC,GAAkBf,IACvB,OAAqB,MAAdA,GAAqBt9T,GAAQi+T,GAAoBX,KAAe,IAC3E,CAKA,SAASC,GAAaD,IAClB,IAAKA,GACD,OAAO,KACX,MAAMc,GAAoBd,GAAW73jB,OAAOohI,IAC5C,OAAgC,GAA5Bu3b,GAAkBj0jB,OACX,KACJ,SAAUqyjB,IACb,MAAM5kH,GAAcmmH,GAAkBvB,GAAS4B,IAAmBx4jB,IAAIg4jB,IACtE,SAAOplH,KAASZ,IAAah1b,QAAKhd,KAAIi4jB,IAC1C,CACJ,CAMA,SAASS,GAAuBhB,IAC5B,OAAqB,MAAdA,GAAqBC,GAAaU,GAAoBX,KACzD,IACR,CAKA,SAASiB,GAAgBC,GAAmBC,IACxC,OAA0B,OAAtBD,GACO,CAACC,IACLp1jB,MAAMC,QAAQk1jB,IAAqB,IAAIA,GAAmBC,IAC7D,CAACD,GAAmBC,GAC5B,CAIA,SAASC,GAAqBlC,IAC1B,OAAOA,GAAQmC,cACnB,CAIA,SAASC,GAA0BpC,IAC/B,OAAOA,GAAQqC,mBACnB,CAQA,SAASC,GAAoBxB,IACzB,OAAKA,GAEEj0jB,MAAMC,QAAQg0jB,IAAcA,GAAa,CAACA,IADtC,EAEf,CAQA,SAASyB,GAAazB,GAAYU,IAC9B,OAAO30jB,MAAMC,QAAQg0jB,IAAcA,GAAWptjB,SAAS8tjB,IAAaV,KAAeU,EACvF,CAQA,SAASgB,GAAc1B,GAAY2B,IAC/B,MAAM5ka,GAAUyka,GAAoBG,IAEpCC,OADwBJ,GAAoBxB,IAC5Bn6hB,QAAS2G,KAKhBi1hB,GAAa1ka,GAASvwH,KACvBuwH,GAAQxgH,KAAK/P,GAAC,GAGfuwH,EACX,CACA,SAAS8ka,GAAiB7B,GAAY2B,IAClC,OAAOH,GAAoBG,IAAmBx5jB,OAAOqkC,KAAMi1hB,GAAazB,GAAYxzhB,IACxF,CAUA,MAAMs1hB,GACF5njB,cAKIO,KAAK4mjB,eAAiB,GAMtB5mjB,KAAK8mjB,oBAAsB,GAI3B9mjB,KAAKsnjB,oBAAsB,EAC/B,CAKA,SAAIh6jB,GACA,OAAO0S,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQn3jB,MAAQ,IAC/C,CAOA,SAAI8xE,GACA,OAAOp/D,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQrlf,MAAQ,IAC/C,CAMA,WAAIn3D,GACA,OAAOjI,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQx8iB,QAAU,IACjD,CAOA,WAAIqjV,GACA,OAAOtrV,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQn5N,QAAU,IACjD,CAOA,YAAIvxU,GACA,OAAO/Z,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQ1qiB,SAAW,IAClD,CAMA,WAAImkF,GACA,OAAOl+F,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQvmd,QAAU,IACjD,CAKA,UAAIl3B,GACA,OAAOhnE,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQz9e,OAAS,IAChD,CAMA,YAAIugf,GACA,OAAOvnjB,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQ8C,SAAW,IAClD,CAMA,SAAItgf,GACA,OAAOjnE,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQx9e,MAAQ,IAC/C,CAMA,WAAIoI,GACA,OAAOrvE,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQp1e,QAAU,IACjD,CAOA,UAAI/+E,GACA,OAAO0P,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQn0jB,OAAS,IAChD,CAMA,aAAIk3jB,GACA,OAAOxnjB,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQ+C,UAAY,IACnD,CAMA,iBAAIC,GACA,OAAOznjB,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQgD,cAAgB,IACvD,CAOA,gBAAIn3e,GACA,OAAOtwE,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQn0e,aAAe,IACtD,CAMA,QAAIz5E,GACA,OAAO,IACX,CAKA6wjB,eAAenC,IACXvljB,KAAK4mjB,eAAiBrB,IAAc,GACpCvljB,KAAK2njB,qBAAuBrB,GAAkBtmjB,KAAK4mjB,eACvD,CAKAgB,oBAAoBrC,IAChBvljB,KAAK8mjB,oBAAsBvB,IAAc,GACzCvljB,KAAK6njB,0BAA4BtB,GAAuBvmjB,KAAK8mjB,oBACjE,CAMA,aAAIb,GACA,OAAOjmjB,KAAK2njB,sBAAwB,IACxC,CAMA,kBAAIG,GACA,OAAO9njB,KAAK6njB,2BAA6B,IAC7C,CAMAE,mBAAmBpriB,IACf3c,KAAKsnjB,oBAAoBxlhB,KAAKnlB,GAClC,CAMAqriB,4BACIhojB,KAAKsnjB,oBAAoBl8hB,QAAQzO,IAAMA,MACvC3c,KAAKsnjB,oBAAsB,EAC/B,CAKAxkkB,MAAMwK,QAAQe,GACN2R,KAAKykjB,SACLzkjB,KAAKykjB,QAAQ3hkB,MAAMwK,GAC3B,CA+BAguc,SAAShvX,GAAWz1E,IAChB,QAAOmJ,KAAKykjB,SAAUzkjB,KAAKykjB,QAAQnpH,SAAShvX,GAAWz1E,GAC3D,CA4BAoxjB,SAAS37e,GAAWz1E,IAChB,OAAOmJ,KAAKykjB,QAAUzkjB,KAAKykjB,QAAQwD,SAAS37e,GAAWz1E,IAAQ,IACnE,EAUJ,MAAMqxjB,WAAyBb,GAK3B,iBAAIc,GACA,OAAO,IACX,CAKA,QAAItxjB,GACA,OAAO,IACX,EAUJ,MAAMuxjB,WAAkBf,GACpB5njB,cACI+wC,SAASC,WAOTzwC,KAAKoxhB,QAAU,KAKfpxhB,KAAKxS,KAAO,KAKZwS,KAAKqojB,cAAgB,IACzB,EAOJ,MAAMC,GACF7ojB,YAAY8ojB,IACRvojB,KAAKwojB,IAAMD,EACf,CACA,aAAIE,GACA,QAASzojB,KAAKwojB,KAAK/D,SAASp1e,OAChC,CACA,eAAIq5e,GACA,QAAS1ojB,KAAKwojB,KAAK/D,SAAS+C,SAChC,CACA,cAAImB,GACA,QAAS3ojB,KAAKwojB,KAAK/D,SAAS8C,QAChC,CACA,WAAI3J,GACA,QAAS59iB,KAAKwojB,KAAK/D,SAASx9e,KAChC,CACA,WAAIp+D,GACA,QAAS7I,KAAKwojB,KAAK/D,SAASrlf,KAChC,CACA,aAAIwpf,GACA,QAAS5ojB,KAAKwojB,KAAK/D,SAASx8iB,OAChC,CACA,aAAI4gjB,GACA,QAAS7ojB,KAAKwojB,KAAK/D,SAASn5N,OAChC,CACA,eAAIw9N,GAGA,QAAS9ojB,KAAKwojB,KAAKr1jB,SACvB,EAeJ,IAuBM41jB,GAAe,MAArB,MAAMA,WAAwBT,GAC1B7ojB,YAAY8ojB,IACR/3gB,MAAM+3gB,GACV,QACSvojB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFw6iB,IA5uCV9ojB,MA4uC2CmojB,GAAS,IAA0D,QACtMpojB,KAAKi4B,UA7uCmFh4B,MAAE,CAAAgO,KA6uCJ86iB,GAAep6iB,UAAA,oEAAAia,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IA7uCb/O,MAAE,eAAAgP,GAAAy5iB,YAAFzojB,CA6uCa,aAAAgP,GAAAw5iB,UA7uCbxojB,CA6uCa,cAAAgP,GAAA05iB,WA7uCb1ojB,CA6uCa,WAAAgP,GAAA2uiB,QA7uCb39iB,CA6uCa,WAAAgP,GAAApG,QA7uCb5I,CA6uCa,aAAAgP,GAAA25iB,UA7uCb3ojB,CA6uCa,aAAAgP,GAAA45iB,UAAA,EAAA3/hB,SAAA,CA7uCbjpB,QA6uC6W,EACjd,OANK8ojB,EAAe,KAyBfC,GAAoB,MAA1B,MAAMA,WAA6BV,GAC/B7ojB,YAAY8ojB,IACR/3gB,MAAM+3gB,GACV,QACSvojB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFy6iB,IArwCV/ojB,MAqwCgDiojB,GAAgB,KAA0E,QAClOlojB,KAAKi4B,UAtwCmFh4B,MAAE,CAAAgO,KAswCJ+6iB,GAAoBr6iB,UAAA,uIAAAia,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAtwClB/O,MAAE,eAAAgP,GAAAy5iB,YAAFzojB,CAswCkB,aAAAgP,GAAAw5iB,UAtwClBxojB,CAswCkB,cAAAgP,GAAA05iB,WAtwClB1ojB,CAswCkB,WAAAgP,GAAA2uiB,QAtwClB39iB,CAswCkB,WAAAgP,GAAApG,QAtwClB5I,CAswCkB,aAAAgP,GAAA25iB,UAtwClB3ojB,CAswCkB,aAAAgP,GAAA45iB,UAtwClB5ojB,CAswCkB,eAAAgP,GAAA65iB,YAAA,EAAA5/hB,SAAA,CAtwClBjpB,QAswCsc,EAC1iB,OANK+ojB,EAAoB,KA+K1B,MAAMC,GAAQ,QAMRC,GAAU,UAQVn3Q,GAAU,UAQVo3Q,GAAW,WAIjB,SAASC,GAAeC,IACpB,OAAQC,GAAaD,IAAmBA,GAAgB9D,WAAa8D,KAAoB,IAC7F,CAUA,SAASE,GAAoBzB,GAAgBuB,IAMzC,OAAQC,GAAaD,IAAmBA,GAAgBG,gBAAkB1B,KAAmB,IACjG,CAQA,SAASwB,GAAaD,IAClB,OAA0B,MAAnBA,KAA4B/3jB,MAAMC,QAAQ83jB,KAClB,iBAApBA,EACf,CACA,SAASI,GAAqBpjgB,GAAQqjgB,GAASxohB,IAC3C,MAAMo+F,GAAWj5E,GAAOi5E,SAExB,KADmBoqb,GAAUt6hB,OAAOC,KAAKiwG,IAAYA,IACrCltI,OACZ,MAAM,IAAIi6K,MAAc,IAAsH,IAElJ,IAAK/sC,GAASp+F,IACV,MAAM,IAAImrI,MAAc,KAAmI,GAEnK,CACA,SAASs9Y,GAAuBlF,GAASiF,GAASp8jB,IAC9Cm3jB,GAAQmF,cAAc,CAACnof,GAAGvgC,MACtB,QAAmB7yC,IAAff,GAAM4zC,IACN,MAAM,IAAImrI,MAAc,KACpB,GAAE,EAGlB,CAmBA,MAAMw9Y,GASFpqjB,YAAY8ljB,GAAYiE,IAEpBxpjB,KAAK8pjB,eAAgB,EAMrB9pjB,KAAK+pjB,8BAA+B,EAEpC/pjB,KAAKgqjB,iBAAkB,EAEvBhqjB,KAAKiqjB,oBAAsB,OAC3BjqjB,KAAKoxhB,QAAU,KAQfpxhB,KAAKunjB,UAAW,EAOhBvnjB,KAAKqvE,SAAU,EAEfrvE,KAAKkqjB,kBAAoB,GACzBlqjB,KAAKmqjB,kBAAkB5E,IACvBvljB,KAAKoqjB,uBAAuBZ,GAChC,CAMA,aAAIvD,GACA,OAAOjmjB,KAAK2njB,oBAChB,CACA,aAAI1B,CAAUoE,IACVrqjB,KAAK4mjB,eAAiB5mjB,KAAK2njB,qBAAuB0C,EACtD,CAMA,kBAAIvC,GACA,OAAO9njB,KAAK6njB,yBAChB,CACA,kBAAIC,CAAewC,IACftqjB,KAAK8mjB,oBAAsB9mjB,KAAK6njB,0BAA4ByC,EAChE,CAIA,UAAIjkgB,GACA,OAAOrmD,KAAKoxhB,OAChB,CASA,SAAIhyd,GACA,OAAOp/D,KAAK1P,SAAW24jB,EAC3B,CASA,WAAIhhjB,GACA,OAAOjI,KAAK1P,SAAW44jB,EAC3B,CASA,WAAI59N,GACA,OAAOtrV,KAAK1P,QAAUyhT,EAC1B,CAYA,YAAIh4R,GACA,OAAO/Z,KAAK1P,SAAW64jB,EAC3B,CAUA,WAAIjrd,GACA,OAAOl+F,KAAK1P,SAAW64jB,EAC3B,CAQA,SAAIlif,GACA,OAAQjnE,KAAKunjB,QACjB,CAOA,aAAIC,GACA,OAAQxnjB,KAAKqvE,OACjB,CAOA,YAAIk7e,GACA,OAAOvqjB,KAAKwqjB,UAAYxqjB,KAAKwqjB,UAAaxqjB,KAAKqmD,OAASrmD,KAAKqmD,OAAOkkgB,SAAW,QACnF,CAWA1hf,cAAc08e,IACVvljB,KAAKmqjB,kBAAkB5E,GAC3B,CAWAkF,mBAAmBlF,IACfvljB,KAAKoqjB,uBAAuB7E,GAChC,CAaA0B,cAAc1B,IACVvljB,KAAK6oE,cAAco+e,GAAc1B,GAAYvljB,KAAK4mjB,gBACtD,CAYA8D,mBAAmBnF,IACfvljB,KAAKyqjB,mBAAmBxD,GAAc1B,GAAYvljB,KAAK8mjB,qBAC3D,CA8BAM,iBAAiB7B,IACbvljB,KAAK6oE,cAAcu+e,GAAiB7B,GAAYvljB,KAAK4mjB,gBACzD,CAYA+D,sBAAsBpF,IAClBvljB,KAAKyqjB,mBAAmBrD,GAAiB7B,GAAYvljB,KAAK8mjB,qBAC9D,CAwBAE,aAAaf,IACT,OAAOe,GAAahnjB,KAAK4mjB,eAAgBX,GAC7C,CASA2E,kBAAkB3E,IACd,OAAOe,GAAahnjB,KAAK8mjB,oBAAqBb,GAClD,CAQA4E,kBACI7qjB,KAAKimjB,UAAY,IACrB,CAQA6E,uBACI9qjB,KAAK8njB,eAAiB,IAC1B,CAcAiD,cAAcxjhB,GAAO,CAAC,GAClBvnC,KAAKqvE,SAAU,EACXrvE,KAAKoxhB,UAAY7pf,GAAKyjhB,UACtBhrjB,KAAKoxhB,QAAQ25B,cAAcxjhB,GAEnC,CAKA0jhB,mBACIjrjB,KAAK+qjB,cAAc,CAAEC,UAAU,IAC/BhrjB,KAAK4pjB,cAAenF,IAAYA,GAAQwG,mBAC5C,CAgBAC,gBAAgB3jhB,GAAO,CAAC,GACpBvnC,KAAKqvE,SAAU,EACfrvE,KAAKgqjB,iBAAkB,EACvBhqjB,KAAK4pjB,cAAenF,KAChBA,GAAQyG,gBAAgB,CAAEF,UAAU,GAAM,GAE1ChrjB,KAAKoxhB,UAAY7pf,GAAKyjhB,UACtBhrjB,KAAKoxhB,QAAQ+5B,eAAe5jhB,GAEpC,CAcA6jhB,YAAY7jhB,GAAO,CAAC,GAChBvnC,KAAKunjB,UAAW,EACZvnjB,KAAKoxhB,UAAY7pf,GAAKyjhB,UACtBhrjB,KAAKoxhB,QAAQg6B,YAAY7jhB,GAEjC,CAiBA4hC,eAAe5hC,GAAO,CAAC,GACnBvnC,KAAKunjB,UAAW,EAChBvnjB,KAAK8pjB,eAAgB,EACrB9pjB,KAAK4pjB,cAAenF,KAChBA,GAAQt7e,eAAe,CAAE6hf,UAAU,GAAM,GAEzChrjB,KAAKoxhB,UAAY7pf,GAAKyjhB,UACtBhrjB,KAAKoxhB,QAAQi6B,gBAAgB9jhB,GAErC,CAiBA+jhB,cAAc/jhB,GAAO,CAAC,GAClBvnC,KAAK1P,OAASyhT,IACS,IAAnBxqQ,GAAKgkhB,WACLvrjB,KAAKynjB,cAActiiB,KAAKnlB,KAAK1P,QAE7B0P,KAAKoxhB,UAAY7pf,GAAKyjhB,UACtBhrjB,KAAKoxhB,QAAQk6B,cAAc/jhB,GAEnC,CAkBAmsJ,QAAQnsJ,GAAO,CAAC,GAGZ,MAAMikhB,GAAoBxrjB,KAAKyrjB,mBAAmBlkhB,GAAKyjhB,UACvDhrjB,KAAK1P,OAAS64jB,GACdnpjB,KAAKgnE,OAAS,KACdhnE,KAAK4pjB,cAAenF,KAChBA,GAAQ/wX,QAAQ,IAAKnsJ,GAAMyjhB,UAAU,GAAM,GAE/ChrjB,KAAK0rjB,gBACkB,IAAnBnkhB,GAAKgkhB,YACLvrjB,KAAKswE,aAAanrD,KAAKnlB,KAAK1S,OAC5B0S,KAAKynjB,cAActiiB,KAAKnlB,KAAK1P,SAEjC0P,KAAK2rjB,iBAAiB,IAAKpkhB,GAAMikhB,uBACjCxrjB,KAAKkqjB,kBAAkB9+hB,QAASwgiB,IAAaA,IAAS,GAC1D,CAmBAxzV,OAAO7wL,GAAO,CAAC,GAGX,MAAMikhB,GAAoBxrjB,KAAKyrjB,mBAAmBlkhB,GAAKyjhB,UACvDhrjB,KAAK1P,OAAS24jB,GACdjpjB,KAAK4pjB,cAAenF,KAChBA,GAAQrsV,OAAO,IAAK7wL,GAAMyjhB,UAAU,GAAM,GAE9ChrjB,KAAK6rjB,uBAAuB,CAAEb,UAAU,EAAMO,UAAWhkhB,GAAKgkhB,YAC9DvrjB,KAAK2rjB,iBAAiB,IAAKpkhB,GAAMikhB,uBACjCxrjB,KAAKkqjB,kBAAkB9+hB,QAASwgiB,IAAaA,IAAS,GAC1D,CACAD,iBAAiBpkhB,IACTvnC,KAAKoxhB,UAAY7pf,GAAKyjhB,WACtBhrjB,KAAKoxhB,QAAQy6B,uBAAuBtkhB,IAC/BA,GAAKikhB,mBACNxrjB,KAAKoxhB,QAAQi6B,kBAEjBrrjB,KAAKoxhB,QAAQ+5B,iBAErB,CAMAjoV,UAAU78K,IACNrmD,KAAKoxhB,QAAU/qe,EACnB,CAKAz9C,cACI,OAAO5I,KAAK1S,KAChB,CAeAu+jB,uBAAuBtkhB,GAAO,CAAC,GAC3BvnC,KAAK8rjB,oBACL9rjB,KAAK0rjB,eACD1rjB,KAAKk+F,UACLl+F,KAAK+rjB,8BACL/rjB,KAAKgnE,OAAShnE,KAAKgsjB,gBACnBhsjB,KAAK1P,OAAS0P,KAAKisjB,oBACfjsjB,KAAK1P,SAAW24jB,IAASjpjB,KAAK1P,SAAWyhT,KACzC/xS,KAAKksjB,mBAAmB3khB,GAAKgkhB,aAGd,IAAnBhkhB,GAAKgkhB,YACLvrjB,KAAKswE,aAAanrD,KAAKnlB,KAAK1S,OAC5B0S,KAAKynjB,cAActiiB,KAAKnlB,KAAK1P,SAE7B0P,KAAKoxhB,UAAY7pf,GAAKyjhB,UACtBhrjB,KAAKoxhB,QAAQy6B,uBAAuBtkhB,GAE5C,CAEA4khB,oBAAoB5khB,GAAO,CAAEgkhB,WAAW,IACpCvrjB,KAAK4pjB,cAAewC,IAASA,GAAKD,oBAAoB5khB,KACtDvnC,KAAK6rjB,uBAAuB,CAAEb,UAAU,EAAMO,UAAWhkhB,GAAKgkhB,WAClE,CACAO,oBACI9rjB,KAAK1P,OAAS0P,KAAKqsjB,uBAAyBlD,GAAWF,EAC3D,CACA+C,gBACI,OAAOhsjB,KAAKimjB,UAAYjmjB,KAAKimjB,UAAUjmjB,MAAQ,IACnD,CACAksjB,mBAAmBX,IACf,GAAIvrjB,KAAK8njB,eAAgB,CACrB9njB,KAAK1P,OAASyhT,GACd/xS,KAAK+pjB,8BAA+B,EACpC,MAAMtnH,GAAMojH,GAAa7ljB,KAAK8njB,eAAe9njB,OAC7CA,KAAKssjB,6BAA+B7pH,GAAIp2b,UAAW26D,KAC/ChnE,KAAK+pjB,8BAA+B,EAIpC/pjB,KAAKusjB,UAAUvlf,GAAQ,CAAEukf,cAAW,EAE5C,CACJ,CACAQ,8BACQ/rjB,KAAKssjB,+BACLtsjB,KAAKssjB,6BAA6Bn+iB,cAClCnO,KAAK+pjB,8BAA+B,EAE5C,CA6BAwC,UAAUvlf,GAAQz/B,GAAO,CAAC,GACtBvnC,KAAKgnE,OAASA,GACdhnE,KAAKwsjB,uBAAyC,IAAnBjlhB,GAAKgkhB,UACpC,CA+BA7ijB,IAAI7R,IACA,IAAI41jB,GAAW51jB,GAKf,OAJgB,MAAZ41jB,KAECn7jB,MAAMC,QAAQk7jB,MACfA,GAAWA,GAASthiB,MAAM,MACN,IAApBshiB,GAASr6jB,QACF,KACJq6jB,GAAStohB,OAAO,CAACsghB,GAASj3jB,KAASi3jB,IAAWA,GAAQiI,MAAMl/jB,IAAOwS,KAC9E,CA4BAiojB,SAAS37e,GAAWz1E,IAChB,MAAM4tjB,GAAU5tjB,GAAOmJ,KAAK0I,IAAI7R,IAAQmJ,KACxC,OAAOykjB,IAAWA,GAAQz9e,OAASy9e,GAAQz9e,OAAOsF,IAAa,IACnE,CA+BAgvX,SAAShvX,GAAWz1E,IAChB,QAASmJ,KAAKiojB,SAAS37e,GAAWz1E,GACtC,CAIA,QAAIykK,GACA,IAAIn9J,GAAI6B,KACR,KAAO7B,GAAEizhB,SACLjzhB,GAAIA,GAAEizhB,QAEV,OAAOjzhB,EACX,CAEAqujB,sBAAsBjB,IAClBvrjB,KAAK1P,OAAS0P,KAAKisjB,mBACfV,IACAvrjB,KAAKynjB,cAActiiB,KAAKnlB,KAAK1P,QAE7B0P,KAAKoxhB,SACLpxhB,KAAKoxhB,QAAQo7B,sBAAsBjB,GAE3C,CAEAoB,mBACI3sjB,KAAKswE,aAAe,IAAIxkD,MACxB9rB,KAAKynjB,cAAgB,IAAI37hB,KAC7B,CACAmgiB,mBACI,OAAIjsjB,KAAKqsjB,uBACElD,GACPnpjB,KAAKgnE,OACEkif,GACPlpjB,KAAK+pjB,8BAAgC/pjB,KAAK4sjB,uBAAuB76Q,IAC1DA,GACP/xS,KAAK4sjB,uBAAuB1D,IACrBA,GACJD,EACX,CAEA2D,uBAAuBt8jB,IACnB,OAAO0P,KAAK6sjB,aAAcpI,IAAYA,GAAQn0jB,SAAWA,GAC7D,CAEAw8jB,oBACI,OAAO9sjB,KAAK6sjB,aAAcpI,IAAYA,GAAQx9e,MAClD,CAEA8lf,sBACI,OAAO/sjB,KAAK6sjB,aAAcpI,IAAYA,GAAQp1e,QAClD,CAEAg8e,gBAAgB9jhB,GAAO,CAAC,GACpBvnC,KAAKunjB,UAAYvnjB,KAAK8sjB,oBAClB9sjB,KAAKoxhB,UAAY7pf,GAAKyjhB,UACtBhrjB,KAAKoxhB,QAAQi6B,gBAAgB9jhB,GAErC,CAEA4jhB,eAAe5jhB,GAAO,CAAC,GACnBvnC,KAAKqvE,QAAUrvE,KAAK+sjB,sBAChB/sjB,KAAKoxhB,UAAY7pf,GAAKyjhB,UACtBhrjB,KAAKoxhB,QAAQ+5B,eAAe5jhB,GAEpC,CAEAylhB,4BAA4BrwiB,IACxB3c,KAAKiqjB,oBAAsBttiB,EAC/B,CAEAswiB,mBAAmB1lhB,IACX+hhB,GAAa/hhB,KAA0B,MAAjBA,GAAKgjhB,WAC3BvqjB,KAAKwqjB,UAAYjjhB,GAAKgjhB,SAE9B,CAMAkB,mBAAmBT,IAEf,OAAQA,OADYhrjB,KAAKoxhB,UAAWpxhB,KAAKoxhB,QAAQnqd,SACXjnE,KAAKoxhB,QAAQ07B,mBACvD,CAEAJ,MAAMl/jB,IACF,OAAO,IACX,CAMA28jB,kBAAkB5E,IACdvljB,KAAK4mjB,eAAiBt1jB,MAAMC,QAAQg0jB,IAAcA,GAAW3jhB,QAAU2jhB,GACvEvljB,KAAK2njB,qBA/2Bb,SAASuF,GAAkBjH,IACvB,OAAO30jB,MAAMC,QAAQ00jB,IAAaK,GAAkBL,IAAaA,IAAa,IAClF,CA62BoCiH,CAAkBltjB,KAAK4mjB,eACvD,CAMAwD,uBAAuB7E,IACnBvljB,KAAK8mjB,oBAAsBx1jB,MAAMC,QAAQg0jB,IAAcA,GAAW3jhB,QAAU2jhB,GAC5EvljB,KAAK6njB,0BAv2Bb,SAASsF,GAAuBrF,IAC5B,OAAOx2jB,MAAMC,QAAQu2jB,IAAkBvB,GAAuBuB,IAC1DA,IAAkB,IAC1B,CAo2ByCqF,CAAuBntjB,KAAK8mjB,oBACjE,EAoHJ,MAAMsG,WAAkBvD,GAcpBpqjB,YAAY6/H,GAAU+pb,GAAiBvB,IACnCt3gB,MAAM44gB,GAAeC,IAAkBE,GAAoBzB,GAAgBuB,KAE3ErpjB,KAAKs/H,SAAWA,GAChBt/H,KAAK2sjB,mBACL3sjB,KAAKitjB,mBAAmB5D,IACxBrpjB,KAAKqtjB,iBACLrtjB,KAAK6rjB,uBAAuB,CACxBb,UAAU,EAIVO,YAAavrjB,KAAK8njB,gBAE1B,CACAwF,gBAAgB9/jB,GAAMi3jB,IAClB,OAAIzkjB,KAAKs/H,SAAS9xI,IACPwS,KAAKs/H,SAAS9xI,KACzBwS,KAAKs/H,SAAS9xI,IAAQi3jB,GACtBA,GAAQvhV,UAAUljO,MAClBykjB,GAAQuI,4BAA4BhtjB,KAAKiqjB,qBAClCxF,GACX,CACA8I,WAAW//jB,GAAMi3jB,GAAS79hB,GAAU,CAAC,GACjC5mB,KAAKstjB,gBAAgB9/jB,GAAMi3jB,IAC3BzkjB,KAAK6rjB,uBAAuB,CAAEN,UAAW3kiB,GAAQ2kiB,YACjDvrjB,KAAKiqjB,qBACT,CAcAuD,cAAchgkB,GAAMo5B,GAAU,CAAC,GACvB5mB,KAAKs/H,SAAS9xI,KACdwS,KAAKs/H,SAAS9xI,IAAMw/jB,4BAA4B,eAC5ChtjB,KAAKs/H,SAAS9xI,IACtBwS,KAAK6rjB,uBAAuB,CAAEN,UAAW3kiB,GAAQ2kiB,YACjDvrjB,KAAKiqjB,qBACT,CACAwD,WAAWjgkB,GAAMi3jB,GAAS79hB,GAAU,CAAC,GAC7B5mB,KAAKs/H,SAAS9xI,KACdwS,KAAKs/H,SAAS9xI,IAAMw/jB,4BAA4B,eAC5ChtjB,KAAKs/H,SAAS9xI,IAClBi3jB,IACAzkjB,KAAKstjB,gBAAgB9/jB,GAAMi3jB,IAC/BzkjB,KAAK6rjB,uBAAuB,CAAEN,UAAW3kiB,GAAQ2kiB,YACjDvrjB,KAAKiqjB,qBACT,CACAr7hB,SAAS4hD,IACL,OAAOxwE,KAAKs/H,SAAS1sE,eAAe4d,KAAgBxwE,KAAKs/H,SAAS9uD,IAAa0tB,OACnF,CAoCA/xF,SAAS7e,GAAOs5B,GAAU,CAAC,GACvB+iiB,GAAuB3pjB,KAAM,EAAM1S,IACnC8hC,OAAOC,KAAK/hC,IAAO89B,QAAQ59B,KACvBi8jB,GAAqBzpjB,MAAM,EAAMxS,IACjCwS,KAAKs/H,SAAS9xI,IAAM2e,SAAS7e,GAAME,IAAO,CAAEw9jB,UAAU,EAAMO,UAAW3kiB,GAAQ2kiB,WAAW,GAE9FvrjB,KAAK6rjB,uBAAuBjliB,GAChC,CAgCA8miB,WAAWpgkB,GAAOs5B,GAAU,CAAC,GAKZ,MAATt5B,KAEJ8hC,OAAOC,KAAK/hC,IAAO89B,QAAQ59B,KAGvB,MAAMi3jB,GAAUzkjB,KAAKs/H,SAAS9xI,IAC1Bi3jB,IACAA,GAAQiJ,WACkDpgkB,GAAME,IAAO,CAAEw9jB,UAAU,EAAMO,UAAW3kiB,GAAQ2kiB,WAAW,GAG/HvrjB,KAAK6rjB,uBAAuBjliB,IAChC,CA0DA9jC,MAAMwK,GAAQ,CAAC,EAAGs5B,GAAU,CAAC,GACzB5mB,KAAK4pjB,cAAc,CAACnF,GAASj3jB,MACzBi3jB,GAAQ3hkB,MAAMwK,GAAQA,GAAME,IAAQ,KAAM,CAAEw9jB,UAAU,EAAMO,UAAW3kiB,GAAQ2kiB,WAAW,GAE9FvrjB,KAAKqrjB,gBAAgBzkiB,IACrB5mB,KAAKmrjB,eAAevkiB,IACpB5mB,KAAK6rjB,uBAAuBjliB,GAChC,CAMAhe,cACI,OAAO5I,KAAK2tjB,gBAAgB,CAAC,EAAG,CAACvphB,GAAKqghB,GAASj3jB,MAC3C42C,GAAI52C,IAAQi3jB,GAAQ77iB,cACbw7B,IAEf,CAEAwphB,uBACI,IAAIC,GAAiB7tjB,KAAK2tjB,iBAAgB,EAAO,CAACG,GAAShkV,OAChDA,GAAM8jV,wBAAgCE,IAEjD,OAAID,IACA7tjB,KAAK6rjB,uBAAuB,CAAEb,UAAU,IACrC6C,EACX,CAEAjE,cAAc36gB,IACV7f,OAAOC,KAAKrvB,KAAKs/H,UAAUl0G,QAAQ8V,KAI/B,MAAMujhB,GAAUzkjB,KAAKs/H,SAASp+F,IAC9BujhB,IAAWx1gB,GAAGw1gB,GAASvjhB,GAAG,EAElC,CAEAmshB,iBACIrtjB,KAAK4pjB,cAAenF,KAChBA,GAAQvhV,UAAUljO,MAClBykjB,GAAQuI,4BAA4BhtjB,KAAKiqjB,oBAAmB,EAEpE,CAEAyB,eACI1rjB,KAAK1S,MAAQ0S,KAAK+tjB,cACtB,CAEAlB,aAAalyhB,IACT,UAAY61C,GAAai0e,MAAYr1hB,OAAOihB,QAAQrwC,KAAKs/H,UACrD,GAAIt/H,KAAK4uB,SAAS4hD,KAAgB71C,GAAU8phB,IACxC,OAAO,EAGf,OAAO,CACX,CAEAsJ,eAEI,OAAO/tjB,KAAK2tjB,gBADF,CAAC,EACsB,CAACvphB,GAAKqghB,GAASj3jB,OACxCi3jB,GAAQvmd,SAAWl+F,KAAK+Z,YACxBqqB,GAAI52C,IAAQi3jB,GAAQn3jB,OAEjB82C,IAEf,CAEAuphB,gBAAgBK,GAAWrxiB,IACvB,IAAIlB,GAAMuyiB,GACV,OAAAhujB,KAAK4pjB,cAAc,CAACnF,GAASj3jB,MACzBiuB,GAAMkB,GAAGlB,GAAKgpiB,GAASj3jB,GAAI,GAExBiuB,EACX,CAEA4wiB,uBACI,UAAW77e,MAAephD,OAAOC,KAAKrvB,KAAKs/H,UACvC,GAAIt/H,KAAKs/H,SAAS9uD,IAAa0tB,QAC3B,OAAO,EAGf,OAAO9uE,OAAOC,KAAKrvB,KAAKs/H,UAAUltI,OAAS,GAAK4N,KAAK+Z,QACzD,CAEA2yiB,MAAMl/jB,IACF,OAAOwS,KAAKs/H,SAAS1sE,eAAeplE,IAChCwS,KAAKs/H,SAAS9xI,IACd,IACR,EAaJ,MAAM86E,GAAmB8kf,GA2BzB,MAAMa,WAAmBb,IAQzB,MAQMc,GAA0B,IAAIroiB,MAAe,uBAAwB,CAAEllB,WAAY,OAAQF,QAASA,IAAM0tjB,KAI1GA,GAA0B,SAChC,SAASC,GAAY5gkB,GAAM64D,IACvB,MAAO,IAAIA,GAAOxvD,KAAMrJ,GAC5B,CAQA,SAAS6gkB,GAAa5J,GAAS1whB,GAAKu6hB,GAAuBH,IAOvDI,GAAgB9J,GAAS1whB,IACzBA,GAAIs0hB,cAAc9E,WAAWkB,GAAQn3jB,QAIjCm3jB,GAAQ1qiB,UAAqC,WAAzBu0iB,KACpBv6hB,GAAIs0hB,cAAcpF,mBAAmBwB,GAAQ1qiB,UA4IrD,SAASy0iB,GAAwB/J,GAAS1whB,IACtCA,GAAIs0hB,cAAcrF,iBAAkBt7d,KAChC+8d,GAAQgK,cAAgB/me,GACxB+8d,GAAQiK,gBAAiB,EACzBjK,GAAQqF,eAAgB,EACC,WAArBrF,GAAQ8F,UACRoE,GAAclK,GAAS1whB,GAAG,EAEtC,CAlJIy6hB,CAAwB/J,GAAS1whB,IAmKrC,SAAS66hB,GAAyBnK,GAAS1whB,IACvC,MAAM40R,GAAWA,CAACjhO,GAAUmne,MAExB96hB,GAAIs0hB,cAAc9E,WAAW77d,IAEzBmne,IACA96hB,GAAI+6hB,kBAAkBpne,GAAQ,EAEtC+8d,GAAQzB,iBAAiBr6P,IAGzB50R,GAAIg0hB,mBAAmB,KACnBtD,GAAQsK,oBAAoBpmQ,GAAQ,EAE5C,CAhLIimQ,CAAyBnK,GAAS1whB,IAkJtC,SAASi7hB,GAAkBvK,GAAS1whB,IAChCA,GAAIs0hB,cAActF,kBAAkB,KAChC0B,GAAQuF,iBAAkB,EACD,SAArBvF,GAAQ8F,UAAuB9F,GAAQiK,gBACvCC,GAAclK,GAAS1whB,IACF,WAArB0whB,GAAQ8F,UACR9F,GAAQsG,eAAc,EAElC,CAzJIiE,CAAkBvK,GAAS1whB,IAgD/B,SAASk7hB,GAA2BxK,GAAS1whB,IACzC,GAAIA,GAAIs0hB,cAAcpF,iBAAkB,CACpC,MAAMiM,GAAoBnjb,KACtBh4G,GAAIs0hB,cAAcpF,iBAAiBl3a,GAAU,EAEjD04a,GAAQ0K,yBAAyBD,IAGjCn7hB,GAAIg0hB,mBAAmB,KACnBtD,GAAQ2K,4BAA4BF,GAAgB,EAE5D,CACJ,CA3DID,CAA2BxK,GAAS1whB,GACxC,CAYA,SAASs7hB,GAAe5K,GAAS1whB,GAAKu7hB,IAAkC,GACpE,MAAMt6J,GAAOA,OAUTjhY,GAAIs0hB,gBACJt0hB,GAAIs0hB,cAAcrF,iBAAiBhuJ,IACnCjhY,GAAIs0hB,cAActF,kBAAkB/tJ,KAExCu6J,GAAkB9K,GAAS1whB,IACvB0whB,KACA1whB,GAAIi0hB,4BACJvD,GAAQuI,4BAA4B,QAE5C,CACA,SAASwC,GAA0BjK,GAAY58P,IAC3C48P,GAAWn6hB,QAAS66hB,KACZA,GAAUuJ,2BACVvJ,GAAUuJ,0BAA0B7mQ,GAAQ,EAExD,CA4BA,SAAS4lQ,GAAgB9J,GAAS1whB,IAC9B,MAAMwxhB,GAAaoB,GAAqBlC,IAClB,OAAlB1whB,GAAIkyhB,UACJxB,GAAQ57e,cAAc29e,GAAgBjB,GAAYxxhB,GAAIkyhB,YAE3B,mBAAfV,IAQZd,GAAQ57e,cAAc,CAAC08e,KAE3B,MAAMiE,GAAkB3C,GAA0BpC,IACvB,OAAvB1whB,GAAI+zhB,eACJrD,GAAQgG,mBAAmBjE,GAAgBgD,GAAiBz1hB,GAAI+zhB,iBAEhC,mBAApB0B,IACZ/E,GAAQgG,mBAAmB,CAACjB,KAGhC,MAAMiG,GAAoBA,IAAMhL,GAAQoH,yBACxC2D,GAA0Bz7hB,GAAI6yhB,eAAgB6I,IAC9CD,GAA0Bz7hB,GAAI+yhB,oBAAqB2I,GACvD,CAUA,SAASF,GAAkB9K,GAAS1whB,IAChC,IAAI27hB,IAAmB,EACvB,GAAgB,OAAZjL,GAAkB,CAClB,GAAsB,OAAlB1whB,GAAIkyhB,UAAoB,CACxB,MAAMV,GAAaoB,GAAqBlC,IACxC,GAAInzjB,MAAMC,QAAQg0jB,KAAeA,GAAWnzjB,OAAS,EAAG,CAEpD,MAAMu9jB,GAAoBpK,GAAW73jB,OAAQu4jB,IAAcA,KAAclyhB,GAAIkyhB,WACzE0J,GAAkBv9jB,SAAWmzjB,GAAWnzjB,SACxCs9jB,IAAmB,EACnBjL,GAAQ57e,cAAc8mf,IAE9B,CACJ,CACA,GAA2B,OAAvB57hB,GAAI+zhB,eAAyB,CAC7B,MAAM0B,GAAkB3C,GAA0BpC,IAClD,GAAInzjB,MAAMC,QAAQi4jB,KAAoBA,GAAgBp3jB,OAAS,EAAG,CAE9D,MAAMw9jB,GAAyBpG,GAAgB97jB,OAAQo6jB,IAAmBA,KAAmB/zhB,GAAI+zhB,gBAC7F8H,GAAuBx9jB,SAAWo3jB,GAAgBp3jB,SAClDs9jB,IAAmB,EACnBjL,GAAQgG,mBAAmBmF,IAEnC,CACJ,CACJ,CAEA,MAAM56J,GAAOA,OACbw6J,UAA0Bz7hB,GAAI6yhB,eAAgB5xJ,IAC9Cw6J,GAA0Bz7hB,GAAI+yhB,oBAAqB9xJ,IAC5C06J,EACX,CAmBA,SAASf,GAAclK,GAAS1whB,IACxB0whB,GAAQqF,eACRrF,GAAQ2G,cACZ3G,GAAQt4iB,SAASs4iB,GAAQgK,cAAe,CAAEoB,uBAAuB,IACjE97hB,GAAI+6hB,kBAAkBrK,GAAQgK,eAC9BhK,GAAQiK,gBAAiB,CAC7B,CAuBA,SAASoB,GAAmBrL,GAAS1whB,IAGjCw6hB,GAAgB9J,GAAS1whB,GAC7B,CAmCA,SAASg8hB,EAAkBrjiB,GAASsjiB,IAChC,IAAKtjiB,GAAQkmC,eAAe,SACxB,OAAO,EACX,MAAM58B,GAAStJ,GAAQ++F,MACvB,QAAIz1F,GAAO8ge,kBAEH1ne,OAAOwzT,GAAGotO,GAAWh6hB,GAAO29b,aACxC,CAMA,SAASs8F,GAAoBxnjB,GAAMwugB,IAC/BxugB,GAAKmljB,uBACL32C,GAAW7rf,QAAS2I,KAChB,MAAM0whB,GAAU1whB,GAAI0whB,QACK,WAArBA,GAAQ8F,UAAyB9F,GAAQiK,iBACzC36hB,GAAI+6hB,kBAAkBrK,GAAQgK,eAC9BhK,GAAQiK,gBAAiB,IAGrC,CAEA,SAASwB,GAAoBn8hB,GAAKo8hB,IAC9B,IAAKA,GACD,OAAO,KAGX,IAAIC,GACAC,GACAC,GAgBJ,OApBKh/jB,MAAMC,QAAQ4+jB,IAKnBA,GAAe/kiB,QAAS2G,KAChBA,GAAEtyB,cAAgBikjB,GAClB0M,GAAkBr+hB,GA1B9B,SAASw+hB,EAAkBlI,IAGvB,OAAOj5hB,OAAOmnD,eAAe8xe,GAAc5ojB,eAAiByjjB,CAChE,CAwBiBqN,CAAkBx+hB,IAGvBs+hB,GAAkBt+hB,GAKlBu+hB,GAAiBv+hB,KAGrBu+hB,IAEAD,IAEAD,IAKG,IACX,CAkBA,MAAMI,EAA0B,CAC5B7/hB,QAASu3hB,GACTt3hB,aAAa8zd,SAAW,IAAM+rE,KAE5BC,GAA2Bp8gB,QAAQC,UACzC,IAgEMk8gB,GAAM,MAAZ,MAAMA,WAAevI,GACjBzojB,YAAY8ljB,GAAYiE,GAAiB8E,IACrC99gB,QACAxwC,KAAKsujB,qBAAuBA,GAK5BtujB,KAAK7M,WAAY,EACjB6M,KAAK2wjB,YAAc,IAAI/qgB,IAKvB5lD,KAAK4wjB,SAAW,IAAI9kiB,MACpB9rB,KAAKyI,KACD,IAAI2kjB,GAAU,CAAC,EAAG9G,GAAkBf,IAAagB,GAAuBiD,IAChF,CAEAziiB,kBACI/mB,KAAKitjB,oBACT,CAKA,iBAAI9E,GACA,OAAOnojB,IACX,CAKA,WAAIykjB,GACA,OAAOzkjB,KAAKyI,IAChB,CAMA,QAAI5R,GACA,MAAO,EACX,CAKA,YAAIyoI,GACA,OAAOt/H,KAAKyI,KAAK62H,QACrB,CAQAiub,WAAWx5hB,IACP28hB,GAAkBn+f,KAAK,KACnB,MAAM5f,GAAY3yC,KAAK6wjB,eAAe98hB,GAAIl9B,MAC1Ck9B,GAAI0whB,QACA9xgB,GAAU26gB,gBAAgBv5hB,GAAIvmC,KAAMumC,GAAI0whB,SAC5C4J,GAAat6hB,GAAI0whB,QAAS1whB,GAAK/zB,KAAKsujB,sBACpCv6hB,GAAI0whB,QAAQoH,uBAAuB,CAAEN,WAAW,IAChDvrjB,KAAK2wjB,YAAY5kjB,IAAIgoB,GAAG,EAEhC,CAOA+8hB,WAAW/8hB,IACP,OAAO/zB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,KAC7B,CAOA22jB,cAAcz5hB,IACV28hB,GAAkBn+f,KAAK,KACnB,MAAM5f,GAAY3yC,KAAK6wjB,eAAe98hB,GAAIl9B,MACtC87C,IACAA,GAAU66gB,cAAcz5hB,GAAIvmC,MAEhCwS,KAAK2wjB,YAAYjphB,OAAO3T,GAAG,EAEnC,CAOAg9hB,aAAah9hB,IACT28hB,GAAkBn+f,KAAK,KACnB,MAAM5f,GAAY3yC,KAAK6wjB,eAAe98hB,GAAIl9B,MACpCiV,GAAQ,IAAIshjB,GAAU,CAAC,GAC7B0C,GAAmBhkjB,GAAOioB,IAC1B4e,GAAU26gB,gBAAgBv5hB,GAAIvmC,KAAMse,IACpCA,GAAM+/iB,uBAAuB,CAAEN,WAAW,GAAO,EAEzD,CAOAyF,gBAAgBj9hB,IACZ28hB,GAAkBn+f,KAAK,KACnB,MAAM5f,GAAY3yC,KAAK6wjB,eAAe98hB,GAAIl9B,MACtC87C,IACAA,GAAU66gB,cAAcz5hB,GAAIvmC,KAAI,EAG5C,CAOAyjkB,aAAal9hB,IACT,OAAO/zB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,KAC7B,CAOAq6jB,YAAYn9hB,GAAKzmC,IACbojkB,GAAkBn+f,KAAK,KACNvyD,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,MAC1BsV,SAAS7e,GAAK,EAE3B,CAOA6e,SAAS7e,IACL0S,KAAKykjB,QAAQt4iB,SAAS7e,GAC1B,CAQA2hF,SAAS7mE,IACL,OAAApI,KAAK7M,WAAY,EACjB88jB,GAAoBjwjB,KAAKyI,KAAMzI,KAAK2wjB,aACpC3wjB,KAAK4wjB,SAASzriB,KAAK/c,IAGe,WAA3BA,IAAQ0gD,QAAQ1f,MAC3B,CAKA+nhB,UACInxjB,KAAKgjR,WACT,CAOAA,UAAU11R,QAAQe,GACd2R,KAAKyI,KAAK3lB,MAAMwK,IAChB0S,KAAK7M,WAAY,CACrB,CACA85jB,qBACQjtjB,KAAK4mB,SAAoC,MAAzB5mB,KAAK4mB,QAAQ2jiB,WAC7BvqjB,KAAKyI,KAAK+hjB,UAAYxqjB,KAAK4mB,QAAQ2jiB,SAE3C,CACAsG,eAAeh6jB,IACXA,UAAKwyP,MACExyP,GAAKzE,OAAS4N,KAAKyI,KAAKC,IAAI7R,IAAQmJ,KAAKyI,IACpD,QACSzI,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFkijB,IA53GVxwjB,MA43GkCokjB,GAAa,IA53G/CpkjB,MA43GwFqkjB,GAAmB,IA53G3GrkjB,MA43GoJiujB,GAAuB,IAA8D,QACjUlujB,KAAKi4B,UA73GmFh4B,MAAE,CAAAgO,KA63GJwijB,GAAM9hjB,UAAA,yEAAAka,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IA73GJ/O,MAAE,kBAAAmI,IAAA,OA63GJ6G,GAAAggE,SAAA7mE,GAAgB,EA73GdnI,CA63GI,0BAANgP,GAAAkijB,SAAS,EAAH,EAAAx7iB,OAAA,CAAAiR,QAAA,CA73GJ3mB,MAAEwwB,KAAA,4BAAAC,QAAA,CAAAkgiB,SAAA,YAAA5niB,SAAA,WAAAE,SAAA,CAAFjpB,MA63GwP,CAACuwjB,IA73GzPvwjB,QA63GiV,EACrb,OAlMKwwjB,EAAM,KAoOZ,SAASW,GAAehmkB,GAAM8tC,IAC1B,MAAM7gB,GAAQjtB,GAAKyG,QAAQqnC,IACvB7gB,IAAQ,GACRjtB,GAAKikD,OAAOh3B,GAAO,EAC3B,CAEA,SAASg5iB,GAAmBC,IACxB,MAA4B,iBAAdA,IAAwC,OAAdA,IACF,IAAlCliiB,OAAOC,KAAKiiiB,IAAWl/jB,QAAgB,UAAWk/jB,IAAa,aAAcA,EACrF,CACA,MAAMC,GAAe,cAA0B1H,GAC3CpqjB,YAEA6xjB,GAAY,KAAMjI,GAAiBvB,IAC/Bt3gB,MAAM44gB,GAAeC,IAAkBE,GAAoBzB,GAAgBuB,KAE3ErpjB,KAAK+lF,aAAe,KAEpB/lF,KAAKwxjB,UAAY,GAEjBxxjB,KAAK0ujB,gBAAiB,EACtB1ujB,KAAKyxjB,gBAAgBH,IACrBtxjB,KAAKitjB,mBAAmB5D,IACxBrpjB,KAAK2sjB,mBACL3sjB,KAAK6rjB,uBAAuB,CACxBb,UAAU,EAKVO,YAAavrjB,KAAK8njB,iBAElBwB,GAAaD,MACZA,GAAgBqI,aAAerI,GAAgBsI,yBAE5C3xjB,KAAK+lF,aADLsre,GAAmBC,IACCA,GAAUhkkB,MAGVgkkB,GAGhC,CACAnljB,SAAS7e,GAAOs5B,GAAU,CAAC,GACvB5mB,KAAK1S,MAAQ0S,KAAKyujB,cAAgBnhkB,GAC9B0S,KAAKwxjB,UAAUp/jB,SAA4C,IAAlCw0B,GAAQipiB,uBACjC7vjB,KAAKwxjB,UAAUpmiB,QAASwgiB,IAAaA,GAAS5rjB,KAAK1S,OAAyC,IAAlCs5B,GAAQgriB,wBAEtE5xjB,KAAK6rjB,uBAAuBjliB,GAChC,CACA8miB,WAAWpgkB,GAAOs5B,GAAU,CAAC,GACzB5mB,KAAKmM,SAAS7e,GAAOs5B,GACzB,CACA9jC,MAAMwukB,GAAYtxjB,KAAK+lF,aAAcn/D,GAAU,CAAC,GAC5C5mB,KAAKyxjB,gBAAgBH,IACrBtxjB,KAAKmpE,eAAeviD,IACpB5mB,KAAKkrjB,gBAAgBtkiB,IACrB5mB,KAAKmM,SAASnM,KAAK1S,MAAOs5B,IAC1B5mB,KAAK0ujB,gBAAiB,CAC1B,CAEAhD,eAAiB,CAEjBmB,aAAalyhB,IACT,OAAO,CACX,CAEA0xhB,uBACI,OAAOrsjB,KAAK+Z,QAChB,CACAipiB,iBAAiBrmiB,IACb3c,KAAKwxjB,UAAU1vhB,KAAKnlB,GACxB,CAEAoyiB,oBAAoBpyiB,IAChBy0iB,GAAepxjB,KAAKwxjB,UAAW70iB,GACnC,CACAwyiB,yBAAyBxyiB,IACrB3c,KAAKkqjB,kBAAkBpohB,KAAKnlB,GAChC,CAEAyyiB,4BAA4BzyiB,IACxBy0iB,GAAepxjB,KAAKkqjB,kBAAmBvtiB,GAC3C,CAEAitiB,cAAc36gB,IAAM,CAEpB2+gB,uBACI,QAAsB,WAAlB5tjB,KAAKuqjB,WACDvqjB,KAAK8pjB,eACL9pjB,KAAKorjB,cACLprjB,KAAKgqjB,iBACLhqjB,KAAK+qjB,iBACL/qjB,KAAK0ujB,kBACL1ujB,KAAKmM,SAASnM,KAAKyujB,cAAe,CAAEzD,UAAU,EAAM6E,uBAAuB,IACpE,GAInB,CACA4B,gBAAgBH,IACRD,GAAmBC,KACnBtxjB,KAAK1S,MAAQ0S,KAAKyujB,cAAgB6C,GAAUhkkB,MAC5CgkkB,GAAUv3iB,SAAW/Z,KAAK0zL,QAAQ,CAAEs3X,UAAU,EAAMO,WAAW,IAC3DvrjB,KAAKo4N,OAAO,CAAE4yV,UAAU,EAAMO,WAAW,KAG7CvrjB,KAAK1S,MAAQ0S,KAAKyujB,cAAgB6C,EAE1C,GAEErmjB,GAAqBsmjB,GAS3B,IAMMM,GAA0B,MAAhC,MAAMA,WAAmC3J,GAErCr8iB,WACI7L,KAAK8xjB,mBAEL9xjB,KAAKmojB,cAAc4I,aAAa/wjB,KACpC,CAEAkO,cACQlO,KAAKmojB,eAELnojB,KAAKmojB,cAAc6I,gBAAgBhxjB,KAE3C,CAKA,WAAIykjB,GACA,OAAOzkjB,KAAKmojB,cAAc8I,aAAajxjB,KAC3C,CAKA,QAAInJ,GACA,OAAOu3jB,GAAyB,MAAbpujB,KAAKxS,KAAewS,KAAKxS,KAAOwS,KAAKxS,KAAK2zC,WAAYnhC,KAAKoxhB,QAClF,CAKA,iBAAI+2B,GACA,OAAOnojB,KAAKoxhB,QAAUpxhB,KAAKoxhB,QAAQ+2B,cAAgB,IACvD,CAEA2J,mBAAqB,QACZ9xjB,KAAKU,UAAI,UAAAqxjB,GAAA,gBAAAxjjB,IAAA,OAAAwjjB,QAlkH+E9xjB,MAkkHU4xjB,MAA0BtjjB,IAA1BsjjB,GAA0B,GAAnH,EAA0K,QACnL7xjB,KAAKi4B,UAnkHmFh4B,MAAE,CAAAgO,KAmkHJ4jjB,GAA0B3oiB,SAAA,CAnkHxBjpB,QAmkHkE,EACtK,OAvCK4xjB,EAA0B,KAwKhC,MAAMG,GAAuB,CACzBrhiB,QAASy3hB,GACTx3hB,aAAa8zd,SAAW,IAAMutE,KAmB5BC,GAAyB59gB,QAAQC,UACvC,IAqFM09gB,GAAO,MAAb,MAAMA,WAAgB7J,GAClB3ojB,YAAY4mD,GAAQk/f,GAAYiE,GAAiB2G,GAAgBhqiB,GAAoBmoiB,IACjF99gB,QACAxwC,KAAKmmB,mBAAqBA,GAC1BnmB,KAAKsujB,qBAAuBA,GAC5BtujB,KAAKykjB,QAAU,IAAI8M,GAEnBvxjB,KAAKmyjB,aAAc,EAMnBnyjB,KAAKxS,KAAO,GAMZwS,KAAKgyG,OAAS,IAAIlmF,MAClB9rB,KAAKoxhB,QAAU/qe,GACfrmD,KAAK0njB,eAAenC,IACpBvljB,KAAK4njB,oBAAoB4B,IACzBxpjB,KAAKqojB,cAAgB6H,GAAoBlwjB,EAAMmwjB,GACnD,CAEAv1G,YAAYlub,IAER,GADA1sB,KAAKoyjB,mBACApyjB,KAAKmyjB,aAAe,SAAUzliB,GAAS,CACxC,GAAI1sB,KAAKmyjB,cACLnyjB,KAAKqyjB,aACDryjB,KAAKmojB,eAAe,CAKpB,MAAMmK,GAAU5liB,GAAQl/B,KAAQ2gM,cAChCnuL,KAAKmojB,cAAcqF,cAAc,CAAEhgkB,KAAM8kkB,GAASz7jB,KAAMmJ,KAAKuyjB,SAASD,KAC1E,CAEJtyjB,KAAKwyjB,eACT,CACI,eAAgB9liB,IAChB1sB,KAAKyyjB,gBAAgB/liB,IAErBqjiB,EAAkBrjiB,GAAS1sB,KAAKgwjB,aAChChwjB,KAAK0rjB,aAAa1rjB,KAAKyrH,OACvBzrH,KAAKgwjB,UAAYhwjB,KAAKyrH,MAE9B,CAEAv9G,cACIlO,KAAKmojB,eAAiBnojB,KAAKmojB,cAAcqF,cAAcxtjB,KAC3D,CAMA,QAAInJ,GACA,OAAOmJ,KAAKuyjB,SAASvyjB,KAAKxS,KAC9B,CAKA,iBAAI26jB,GACA,OAAOnojB,KAAKoxhB,QAAUpxhB,KAAKoxhB,QAAQ+2B,cAAgB,IACvD,CAOA2G,kBAAkBpne,IACd1nF,KAAKgwjB,UAAYtoe,GACjB1nF,KAAKgyG,OAAO7sF,KAAKuiE,GACrB,CACA8qe,gBACIxyjB,KAAKitjB,qBACLjtjB,KAAK49T,gBAAkB59T,KAAK0yjB,mBAAqB1yjB,KAAKmojB,cAAcoF,WAAWvtjB,MAC/EA,KAAKmyjB,aAAc,CACvB,CACAlF,qBACQjtjB,KAAK4mB,SAAoC,MAAzB5mB,KAAK4mB,QAAQ2jiB,WAC7BvqjB,KAAKykjB,QAAQ+F,UAAYxqjB,KAAK4mB,QAAQ2jiB,SAE9C,CACA3sP,gBACI,OAAQ59T,KAAKoxhB,YAAcpxhB,KAAK4mB,UAAW5mB,KAAK4mB,QAAQqC,WAC5D,CACAypiB,mBACIrE,GAAarujB,KAAKykjB,QAASzkjB,KAAMA,KAAKsujB,sBACtCtujB,KAAKykjB,QAAQoH,uBAAuB,CAAEN,WAAW,GACrD,CACA6G,kBACSpyjB,KAAK49T,iBACN59T,KAAK8xjB,mBAET9xjB,KAAKqyjB,YACT,CACAP,mBAUA,CACAO,aACQryjB,KAAK4mB,SAAW5mB,KAAK4mB,QAAQp5B,OAC7BwS,KAAKxS,KAAOwS,KAAK4mB,QAAQp5B,MACxBwS,KAAK49T,eAGd,CACA8tP,aAAap+jB,IACT4kkB,GAAgB3/f,KAAK,KACjBvyD,KAAKykjB,QAAQt4iB,SAAS7e,GAAO,CAAEskkB,uBAAuB,IACtD5xjB,KAAKmmB,oBAAoBiC,cAAa,EAE9C,CACAqqiB,gBAAgB/liB,IACZ,MAAMimiB,GAAgBjmiB,GAAQq/G,WAAc4nV,aAEtC5nV,GAA+B,IAAlB4mb,KAAkB,EAAK5piB,OAAiB4piB,IAC3DT,GAAgB3/f,KAAK,KACbw5E,KAAe/rI,KAAKykjB,QAAQ1qiB,SAC5B/Z,KAAKykjB,QAAQ/wX,WAEP3nD,IAAc/rI,KAAKykjB,QAAQ1qiB,UACjC/Z,KAAKykjB,QAAQrsV,SAEjBp4N,KAAKmmB,oBAAoBiC,cAAa,EAE9C,CACAmqiB,SAAS/hf,IACL,OAAOxwE,KAAKoxhB,QAAUg9B,GAAY59e,GAAaxwE,KAAKoxhB,SAAW,CAAC5gd,GACpE,QACSxwE,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0jjB,IA/7HVhyjB,MA+7HmCiojB,GAAgB,GA/7HnDjojB,MA+7H4FokjB,GAAa,IA/7HzGpkjB,MA+7HkJqkjB,GAAmB,IA/7HrKrkjB,MA+7H8MmjjB,EAAiB,IA/7H/NnjjB,MA+7HwQ+yB,MAAiB,GA/7HzR/yB,MA+7HsTiujB,GAAuB,IAA8D,QACnelujB,KAAKi4B,UAh8HmFh4B,MAAE,CAAAgO,KAg8HJgkjB,GAAOtjjB,UAAA,8DAAAgH,OAAA,CAAAnoB,KAAA,OAAAu+I,WAAA,CAh8HL9rI,MAAEwwB,KAAA,yBAAAg7F,MAAA,CAAFxrH,MAAEwwB,KAAA,mBAAA7J,QAAA,CAAF3mB,MAAEwwB,KAAA,6BAAAC,QAAA,CAAAshF,OAAA,iBAAAhpF,SAAA,YAAAE,SAAA,CAAFjpB,MAg8HgQ,CAAC+xjB,KAh8HjQ/xjB,cAg8H4W,EAChd,OAjJKgyjB,EAAO,KA6NPW,GAAa,MAAnB,MAAMA,UACO5yjB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFqkjB,GAAa,CAAqD,QACpK5yjB,KAAKi4B,UA/gImFh4B,MAAE,CAAAgO,KA+gIJ2kjB,GAAajkjB,UAAA,mDAAAga,UAAA,cAAgG,KAAyB,EACxO,OAHKiqiB,EAAa,KAYnB,MAAMC,GAAwB,CAC1BliiB,QAASyyhB,EACTxyhB,aAAa8zd,SAAW,IAAMouE,IAC9B9vf,OAAO,GAEX,IAwBM8vf,GAAmB,MAAzB,MAAMA,WAA4B5P,EAK9BK,WAAWj2jB,IAGP0S,KAAKo4L,YAAY,QADO9qM,IAAgB,GAE5C,CAKA01jB,iBAAiBrmiB,IACb3c,KAAK2oT,SAAYr7T,KACbqvB,GAAY,IAATrvB,GAAc,KAAO4hI,WAAW5hI,IAAM,CAEjD,QACS0S,KAAKU,UAAI,UAAAqyjB,GAAA,gBAAAxkjB,IAAA,OAAAwkjB,QAzkI+E9yjB,MAykIU6yjB,MAAmBvkjB,IAAnBukjB,GAAmB,GAA5G,EAAmK,QAC5K9yjB,KAAKi4B,UA1kImFh4B,MAAE,CAAAgO,KA0kIJ6kjB,GAAmBnkjB,UAAA,mIAAAka,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IA1kIjB/O,MAAE,iBAAAmI,IAAA,OA0kIJ6G,GAAA05S,SAAAvgT,GAAA0gD,OAAAx7D,MAA6B,EA1kI3B2S,CA0kIiB,yBAAnBgP,GAAA6ziB,WAAW,EAAQ,EAAA55hB,SAAA,CA1kIjBjpB,MA0kIqO,CAAC4yjB,KA1kItO5yjB,QA0kIsS,EAC1Y,OArBK6yjB,EAAmB,KA+BzB,MAAME,GAAuB,CACzBriiB,QAASyyhB,EACTxyhB,aAAa8zd,SAAW,IAAMuuE,IAC9Bjwf,OAAO,GAQX,IAIMkwf,GAAoB,MAA1B,MAAMA,GACFzzjB,cACIO,KAAKmzjB,WAAa,EACtB,CAKApnjB,IAAI04iB,GAAS2O,IACTpzjB,KAAKmzjB,WAAWrxhB,KAAK,CAAC2ihB,GAAS2O,IACnC,CAKApriB,OAAOoriB,IACH,QAASrriB,GAAI/nB,KAAKmzjB,WAAW/gkB,OAAS,EAAG21B,IAAK,IAAKA,GAC/C,GAAI/nB,KAAKmzjB,WAAWpriB,IAAG,KAAOqriB,GAE1B,YADApzjB,KAAKmzjB,WAAW9jhB,OAAOtnB,GAAG,EAItC,CAKAjd,OAAOsojB,IACHpzjB,KAAKmzjB,WAAW/niB,QAAS34B,KACjBuN,KAAKqzjB,aAAa5gkB,GAAG2gkB,KAAa3gkB,GAAE,KAAO2gkB,IAC3C3gkB,GAAE,GAAG6gkB,YAAYF,GAAS9lkB,MAAK,EAG3C,CACA+lkB,aAAaE,GAAaH,IACtB,QAAKG,GAAY,GAAG9O,SAEb8O,GAAY,GAAGniC,UAAYgiC,GAASI,SAASpiC,SAChDmiC,GAAY,GAAG/lkB,OAAS4lkB,GAAS5lkB,IACzC,QACSwS,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF2kjB,GAAoB,CAAsD,QAC5KlzjB,KAAKszD,WA7oImFrzD,MAAE,CAAAhQ,MA6oIYijkB,GAAoBzyjB,QAApByyjB,GAAoBxyjB,UAAAC,WAAc,QAAW,EAC/J,OA1CKuyjB,EAAoB,KAmEpBD,GAAyB,MAA/B,MAAMA,WAAkC/P,EACpCzjjB,YAAY05L,GAAUk9R,GAAYo9F,GAAWl+F,IACzC/kb,MAAM2oJ,GAAUk9R,IAChBr2d,KAAKyzjB,UAAYA,GACjBzzjB,KAAKu1d,UAAYA,GACjBv1d,KAAK0zjB,uBAAwB,EAQ7B1zjB,KAAK2oT,SAAW,OAChB3oT,KAAKsujB,wBAAuBr9hB,OAAOi9hB,GAAyB,CAAEp1gB,UAAU,KAAWq1gB,EACvF,CAEAtijB,WACI7L,KAAKwzjB,SAAWxzjB,KAAKu1d,UAAU7sd,IAAI0/iB,IACnCpojB,KAAKqyjB,aACLryjB,KAAKyzjB,UAAU1njB,IAAI/L,KAAKwzjB,SAAUxzjB,KACtC,CAEAkO,cACIlO,KAAKyzjB,UAAUzriB,OAAOhoB,KAC1B,CAKAujjB,WAAWj2jB,IACP0S,KAAKk0L,OAAS5mM,KAAU0S,KAAK1S,MAC7B0S,KAAKo4L,YAAY,UAAWp4L,KAAKk0L,OACrC,CAKA8uX,iBAAiBrmiB,IACb3c,KAAK2zjB,IAAMh3iB,GACX3c,KAAK2oT,SAAW,KACZhsS,GAAG3c,KAAK1S,OACR0S,KAAKyzjB,UAAU3ojB,OAAO9K,KAAI,CAElC,CAEAijjB,iBAAiBl3a,KAmBT/rI,KAAK0zjB,uBAAyB3nb,IACA,8BAA9B/rI,KAAKsujB,uBACLtujB,KAAKo4L,YAAY,WAAYrsD,IAEjC/rI,KAAK0zjB,uBAAwB,CACjC,CAMAJ,YAAYhmkB,IACR0S,KAAKujjB,WAAWj2jB,GACpB,CACA+kkB,cAKSryjB,KAAKxS,MAAQwS,KAAK4zjB,kBACnB5zjB,KAAKxS,KAAOwS,KAAK4zjB,gBACzB,QACS5zjB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0kjB,IA9vIVhzjB,MA8vIqDA,OA9vIrDA,MA8vI8EA,OA9vI9EA,MA8vIwGizjB,IA9vIxGjzjB,MA8vIyIA,OAAW,CAA8C,QAC1RD,KAAKi4B,UA/vImFh4B,MAAE,CAAAgO,KA+vIJgljB,GAAyBtkjB,UAAA,gIAAAka,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IA/vIvB/O,MAAE,2BA+vIJgP,GAAA05S,UAAU,EA/vIR1oT,CA+vIuB,yBAAzBgP,GAAA6ziB,WAAW,EAAc,EAAAntiB,OAAA,CAAAnoB,KAAA,OAAAomkB,gBAAA,kBAAAtmkB,MAAA,SAAA47B,SAAA,CA/vIvBjpB,MA+vIoS,CAAC+yjB,KA/vIrS/yjB,QA+vIoW,EACxc,OAzFKgzjB,EAAyB,KA0K/B,MAAMY,GAAqC,IAAIhuiB,MAA6D,IACtGiuiB,GAAqB,CACvBnjiB,QAASy3hB,GACTx3hB,aAAa8zd,SAAW,IAAMqvE,KAElC,IAsBMA,GAAoB,MAA1B,MAAMA,WAA6B3L,GAK/B,cAAIr8a,CAAWA,IAIf,QAQS/rI,KAAKg0jB,yBAA0B,CAAO,CAC/Cv0jB,YAAY8ljB,GAAYiE,GAAiB2G,GAAgB8D,GAAuB3F,IAC5E99gB,QACAxwC,KAAKi0jB,sBAAwBA,GAC7Bj0jB,KAAKsujB,qBAAuBA,GAE5BtujB,KAAKgyG,OAAS,IAAIlmF,MAQlB9rB,KAAKk0jB,qBAAsB,EAC3Bl0jB,KAAK0njB,eAAenC,IACpBvljB,KAAK4njB,oBAAoB4B,IACzBxpjB,KAAKqojB,cAAgB6H,GAAoBlwjB,EAAMmwjB,GACnD,CAEAv1G,YAAYlub,IACR,GAAI1sB,KAAKm0jB,kBAAkBzniB,IAAU,CACjC,MAAM0niB,GAAe1niB,GAAQjkB,KAAQ0lL,cACjCimY,IACA/E,GAAe+E,GAAcp0jB,MAA4C,GAE7EqujB,GAAarujB,KAAKyI,KAAMzI,KAAMA,KAAKsujB,sBACnCtujB,KAAKyI,KAAKojjB,uBAAuB,CAAEN,WAAW,GAClD,CACIwE,EAAkBrjiB,GAAS1sB,KAAKgwjB,aAIhChwjB,KAAKyI,KAAK0D,SAASnM,KAAKyrH,OACxBzrH,KAAKgwjB,UAAYhwjB,KAAKyrH,MAE9B,CAEAv9G,cACQlO,KAAKyI,MACL4mjB,GAAervjB,KAAKyI,KAAMzI,MAA4C,EAE9E,CAMA,QAAInJ,GACA,MAAO,EACX,CAKA,WAAI4tjB,GACA,OAAOzkjB,KAAKyI,IAChB,CAOAqmjB,kBAAkBpne,IACd1nF,KAAKgwjB,UAAYtoe,GACjB1nF,KAAKgyG,OAAO7sF,KAAKuiE,GACrB,CACAyse,kBAAkBzniB,IACd,OAAOA,GAAQkmC,eAAe,OAClC,QACS5yD,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFwljB,IAp8IV9zjB,MAo8IgDokjB,GAAa,IAp8I7DpkjB,MAo8IsGqkjB,GAAmB,IAp8IzHrkjB,MAo8IkKmjjB,EAAiB,IAp8InLnjjB,MAo8I4N4zjB,GAAkC,GAp8I9P5zjB,MAo8I2RiujB,GAAuB,IAA8D,QACxclujB,KAAKi4B,UAr8ImFh4B,MAAE,CAAAgO,KAq8IJ8ljB,GAAoBpljB,UAAA,wBAAAgH,OAAA,CAAAlN,KAAA,CAr8IlBxI,MAAEwwB,KAAA,sBAAAs7G,WAAA,CAAF9rI,MAAEwwB,KAAA,yBAAAg7F,MAAA,CAAFxrH,MAAEwwB,KAAA,oBAAAC,QAAA,CAAAshF,OAAA,iBAAAhpF,SAAA,WAAAE,SAAA,CAAFjpB,MAq8IgN,CAAC6zjB,KAr8IjN7zjB,cAq8IyT,EAC7Z,OA1FK8zjB,EAAoB,KA2I1B,MAAMM,GAAwB,CAC1B1jiB,QAASu3hB,GACTt3hB,aAAa8zd,SAAW,IAAM4vE,KAElC,IAwBMA,GAAkB,MAAxB,MAAMA,WAA2BpM,GAC7BzojB,YAAY8ljB,GAAYiE,GAAiB8E,IACrC99gB,QACAxwC,KAAKsujB,qBAAuBA,GAK5BtujB,KAAK7M,WAAY,EAKjB6M,KAAKiqjB,oBAAsB,IAAMjqjB,KAAKu0jB,kBAKtCv0jB,KAAKi3gB,WAAa,GAKlBj3gB,KAAKyI,KAAO,KAKZzI,KAAK4wjB,SAAW,IAAI9kiB,MACpB9rB,KAAK0njB,eAAenC,IACpBvljB,KAAK4njB,oBAAoB4B,GAC7B,CAEA5uG,YAAYlub,IACR1sB,KAAKw0jB,oBACD9niB,GAAQkmC,eAAe,UACvB5yD,KAAKy0jB,oBACLz0jB,KAAKu0jB,kBACLv0jB,KAAK00jB,uBACL10jB,KAAK20jB,SAAW30jB,KAAKyI,KAE7B,CAEAyF,cACQlO,KAAKyI,OACL8mjB,GAAkBvvjB,KAAKyI,KAAMzI,MAOzBA,KAAKyI,KAAKwhjB,sBAAwBjqjB,KAAKiqjB,qBACvCjqjB,KAAKyI,KAAKukjB,4BAA4B,QAGlD,CAKA,iBAAI7E,GACA,OAAOnojB,IACX,CAKA,WAAIykjB,GACA,OAAOzkjB,KAAKyI,IAChB,CAMA,QAAI5R,GACA,MAAO,EACX,CAQA02jB,WAAWx5hB,IACP,MAAMq4hB,GAAOpsjB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,MAC/Bw3jB,UAAajC,GAAMr4hB,GAAK/zB,KAAKsujB,sBAC7BlC,GAAKP,uBAAuB,CAAEN,WAAW,IACzCvrjB,KAAKi3gB,WAAWn1e,KAAK/N,IACdq4hB,EACX,CAOA0E,WAAW/8hB,IACP,OAAO/zB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,KAC7B,CAOA22jB,cAAcz5hB,IACVs7hB,GAAet7hB,GAAI0whB,SAAW,KAAM1whB,IAA2C,GA1hDvF,SAAS6giB,GAAiBxpkB,GAAM8tC,IAC5B,MAAM7gB,GAAQjtB,GAAKyG,QAAQqnC,IACvB7gB,IAAQ,GACRjtB,GAAKikD,OAAOh3B,GAAO,EAC3B,CAuhDQu8iB,CAAiB50jB,KAAKi3gB,WAAYljf,GACtC,CAMAg9hB,aAAah9hB,IACT/zB,KAAK60jB,oBAAoB9giB,GAC7B,CAOAi9hB,gBAAgBj9hB,IACZ/zB,KAAK80jB,sBAAsB/giB,GAC/B,CAOAk9hB,aAAal9hB,IACT,OAAO/zB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,KAC7B,CAMAk+jB,aAAahhiB,IACT/zB,KAAK60jB,oBAAoB9giB,GAC7B,CAOAihiB,gBAAgBjhiB,IACZ/zB,KAAK80jB,sBAAsB/giB,GAC/B,CAOAkhiB,aAAalhiB,IACT,OAAO/zB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,KAC7B,CAOAq6jB,YAAYn9hB,GAAKzmC,IACA0S,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,MAC1BsV,SAAS7e,GAClB,CAQA2hF,SAAS7mE,IACL,OAAApI,KAAK7M,WAAY,EACjB88jB,GAAoBjwjB,KAAKyI,KAAMzI,KAAKi3gB,YACpCj3gB,KAAK4wjB,SAASzriB,KAAK/c,IAIe,WAA3BA,IAAQ0gD,QAAQ1f,MAC3B,CAKA+nhB,UACInxjB,KAAKgjR,WACT,CAOAA,UAAU11R,QAAQe,GACd2R,KAAKyI,KAAK3lB,MAAMwK,IAChB0S,KAAK7M,WAAY,CACrB,CAEAohkB,kBACIv0jB,KAAKi3gB,WAAW7rf,QAAQ2I,KACpB,MAAMmhiB,GAAUnhiB,GAAI0whB,QACd0Q,GAAUn1jB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,MAC9Bq+jB,KAAYC,KAGZ9F,GAAe6F,IAAW,KAAMnhiB,IArtCzB0whB,KAAYA,cAAmB8M,GA2tClC6D,CAAcD,MACd9G,GAAa8G,GAASphiB,GAAK/zB,KAAKsujB,sBAChCv6hB,GAAI0whB,QAAU0Q,OAI1Bn1jB,KAAKyI,KAAK0jjB,oBAAoB,CAAEZ,WAAW,GAC/C,CACAsJ,oBAAoB9giB,IAChB,MAAMq4hB,GAAOpsjB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,MAC/Bi5jB,GAAmB1D,GAAMr4hB,IAIzBq4hB,GAAKP,uBAAuB,CAAEN,WAAW,GAC7C,CACAuJ,sBAAsB/giB,IAClB,GAAI/zB,KAAKyI,KAAM,CACX,MAAM2jjB,GAAOpsjB,KAAKyI,KAAKC,IAAIqrB,GAAIl9B,MAC3Bu1jB,IAlvDhB,SAASiJ,GAAqB5Q,GAAS1whB,IACnC,OAAOw7hB,GAAkB9K,GAAS1whB,GACtC,CAivDyCshiB,CAAqBjJ,GAAMr4hB,KAIhDq4hB,GAAKP,uBAAuB,CAAEN,WAAW,GAGrD,CACJ,CACAmJ,uBACI10jB,KAAKyI,KAAKukjB,4BAA4BhtjB,KAAKiqjB,qBACvCjqjB,KAAK20jB,UACL30jB,KAAK20jB,SAAS3H,4BAA4B,OAElD,CACAyH,oBACIlG,GAAgBvujB,KAAKyI,KAAMzI,MACvBA,KAAK20jB,UACLpF,GAAkBvvjB,KAAK20jB,SAAU30jB,KAEzC,CACAw0jB,oBAIA,QACSx0jB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF+ljB,IA9xJVr0jB,MA8xJ8CokjB,GAAa,IA9xJ3DpkjB,MA8xJoGqkjB,GAAmB,IA9xJvHrkjB,MA8xJgKiujB,GAAuB,IAA8D,QAC7UlujB,KAAKi4B,UA/xJmFh4B,MAAE,CAAAgO,KA+xJJqmjB,GAAkB3ljB,UAAA,sBAAAka,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IA/xJhB/O,MAAE,kBAAAmI,IAAA,OA+xJJ6G,GAAAggE,SAAA7mE,GAAgB,EA/xJdnI,CA+xJgB,0BAAlBgP,GAAAkijB,SAAS,EAAS,EAAAx7iB,OAAA,CAAAlN,KAAA,CA/xJhBxI,MAAEwwB,KAAA,qBAAAC,QAAA,CAAAkgiB,SAAA,YAAA5niB,SAAA,WAAAE,SAAA,CAAFjpB,MA+xJ+M,CAACo0jB,KA/xJhNp0jB,cA+xJ2T,EAC/Z,OA7QKq0jB,EAAkB,KAgTxB,MAAMgB,GAAwB,CAC1B3kiB,QAASu3hB,GACTt3hB,aAAa8zd,SAAW,IAAM6wE,KAElC,IA+CMA,GAAa,MAAnB,MAAMA,WAAsB1D,GACxBpyjB,YAAY4mD,GAAQk/f,GAAYiE,IAC5Bh5gB,QAUAxwC,KAAKxS,KAAO,KACZwS,KAAKoxhB,QAAU/qe,GACfrmD,KAAK0njB,eAAenC,IACpBvljB,KAAK4njB,oBAAoB4B,GAC7B,CAEAsI,mBACQ0D,GAAkBx1jB,KAAKoxhB,QAG/B,QACSpxhB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFgnjB,IA74JVt1jB,MA64JyCiojB,GAAgB,IA74JzDjojB,MA64JkHokjB,GAAa,IA74J/HpkjB,MA64JwKqkjB,GAAmB,KAA0E,QAC7VtkjB,KAAKi4B,UA94JmFh4B,MAAE,CAAAgO,KA84JJsnjB,GAAa5mjB,UAAA,0BAAAgH,OAAA,CAAAnoB,KAAA,CA94JXyS,MAAEwwB,KAAA,yBAAAvH,SAAA,CAAFjpB,MA84JkG,CAACq1jB,KA94JnGr1jB,QA84JmK,EACvQ,OAzBKs1jB,EAAa,KAqDnB,MAAME,GAAwB,CAC1B9kiB,QAASu3hB,GACTt3hB,aAAa8zd,SAAW,IAAMgxE,KAElC,IAwBMA,GAAa,MAAnB,MAAMA,WAAsBxN,GACxBzojB,YAAY4mD,GAAQk/f,GAAYiE,IAC5Bh5gB,QAUAxwC,KAAKxS,KAAO,KACZwS,KAAKoxhB,QAAU/qe,GACfrmD,KAAK0njB,eAAenC,IACpBvljB,KAAK4njB,oBAAoB4B,GAC7B,CAMA39iB,WACI7L,KAAK8xjB,mBACL9xjB,KAAKmojB,cAAc4M,aAAa/0jB,KACpC,CAKAkO,cACQlO,KAAKmojB,eACLnojB,KAAKmojB,cAAc6M,gBAAgBh1jB,KAE3C,CAKA,WAAIykjB,GACA,OAAOzkjB,KAAKmojB,cAAc8M,aAAaj1jB,KAC3C,CAKA,iBAAImojB,GACA,OAAOnojB,KAAKoxhB,QAAUpxhB,KAAKoxhB,QAAQ+2B,cAAgB,IACvD,CAMA,QAAItxjB,GACA,OAAOu3jB,GAAyB,MAAbpujB,KAAKxS,KAAewS,KAAKxS,KAAOwS,KAAKxS,KAAK2zC,WAAYnhC,KAAKoxhB,QAClF,CACA0gC,mBACQ0D,GAAkBx1jB,KAAKoxhB,QAG/B,QACSpxhB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFmnjB,IArgKVz1jB,MAqgKyCiojB,GAAgB,IArgKzDjojB,MAqgKkHokjB,GAAa,IArgK/HpkjB,MAqgKwKqkjB,GAAmB,KAA0E,QAC7VtkjB,KAAKi4B,UAtgKmFh4B,MAAE,CAAAgO,KAsgKJynjB,GAAa/mjB,UAAA,0BAAAgH,OAAA,CAAAnoB,KAAA,CAtgKXyS,MAAEwwB,KAAA,yBAAAvH,SAAA,CAAFjpB,MAsgKkG,CAACw1jB,KAtgKnGx1jB,QAsgKmK,EACvQ,OAhEKy1jB,EAAa,KA4FnB,SAASF,GAAkBnvgB,IACvB,QAASA,cAAkBkvgB,IAAoBlvgB,cAAkBiugB,IAC3DjugB,cAAkBqvgB,GAC5B,CAEA,MAAMC,GAAqB,CACvBhliB,QAASy3hB,GACTx3hB,aAAa8zd,SAAW,IAAMkxE,KAElC,IAkCMA,GAAe,MAArB,MAAMA,WAAwBxN,GAK1B,cAAIr8a,CAAWA,IAIf,QAQS/rI,KAAKg0jB,yBAA0B,CAAO,CAC/Cv0jB,YAAY4mD,GAAQk/f,GAAYiE,GAAiB2G,GAAgB8D,IAC7DzjhB,QACAxwC,KAAKi0jB,sBAAwBA,GAC7Bj0jB,KAAK61jB,QAAS,EAUd71jB,KAAKxS,KAAO,KAEZwS,KAAKgyG,OAAS,IAAIlmF,MAQlB9rB,KAAKk0jB,qBAAsB,EAC3Bl0jB,KAAKoxhB,QAAU/qe,GACfrmD,KAAK0njB,eAAenC,IACpBvljB,KAAK4njB,oBAAoB4B,IACzBxpjB,KAAKqojB,cAAgB6H,GAAoBlwjB,EAAMmwjB,GACnD,CAEAv1G,YAAYlub,IACH1sB,KAAK61jB,QACN71jB,KAAKwyjB,gBACLzC,EAAkBrjiB,GAAS1sB,KAAKgwjB,aAIhChwjB,KAAKgwjB,UAAYhwjB,KAAKyrH,MACtBzrH,KAAKmojB,cAAc+I,YAAYlxjB,KAAMA,KAAKyrH,OAElD,CAEAv9G,cACQlO,KAAKmojB,eACLnojB,KAAKmojB,cAAcqF,cAAcxtjB,KAEzC,CAOA8ujB,kBAAkBpne,IACd1nF,KAAKgwjB,UAAYtoe,GACjB1nF,KAAKgyG,OAAO7sF,KAAKuiE,GACrB,CAMA,QAAI7wF,GACA,OAAOu3jB,GAAyB,MAAbpujB,KAAKxS,KAAewS,KAAKxS,KAAOwS,KAAKxS,KAAK2zC,WAAYnhC,KAAKoxhB,QAClF,CAKA,iBAAI+2B,GACA,OAAOnojB,KAAKoxhB,QAAUpxhB,KAAKoxhB,QAAQ+2B,cAAgB,IACvD,CACA2J,mBAYA,CACAU,gBACIxyjB,KAAK8xjB,mBACL9xjB,KAAKykjB,QAAUzkjB,KAAKmojB,cAAcoF,WAAWvtjB,MAC7CA,KAAK61jB,QAAS,CAClB,QACS71jB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFqnjB,IA1rKV31jB,MA0rK2CiojB,GAAgB,IA1rK3DjojB,MA0rKoHokjB,GAAa,IA1rKjIpkjB,MA0rK0KqkjB,GAAmB,IA1rK7LrkjB,MA0rKsOmjjB,EAAiB,IA1rKvPnjjB,MA0rKgS4zjB,GAAkC,IAA8D,QACxd7zjB,KAAKi4B,UA3rKmFh4B,MAAE,CAAAgO,KA2rKJ2njB,GAAejnjB,UAAA,4BAAAgH,OAAA,CAAAnoB,KAAA,CA3rKbyS,MAAEwwB,KAAA,0BAAAs7G,WAAA,CAAF9rI,MAAEwwB,KAAA,yBAAAg7F,MAAA,CAAFxrH,MAAEwwB,KAAA,oBAAAC,QAAA,CAAAshF,OAAA,iBAAA9oF,SAAA,CAAFjpB,MA2rKmN,CAAC01jB,KA3rKpN11jB,cA2rKsS,EAC1Y,OA9GK21jB,EAAe,KAqnBrB,IAMME,GAA0B,MAAhC,MAAMA,GACFr2jB,cACIO,KAAKuhD,WAAa+jgB,EACtB,CAEA1qG,YAAYlub,IACR,GAAI1sB,KAAK+1jB,aAAarpiB,GAAS,CAC3B,MAAMkiB,GAAQ5uC,KAAKg2jB,eAAetpiB,GAAQ1sB,KAAK+1jB,WAAWpiG,cAC1D3zd,KAAKi+F,SAAWj+F,KAAKk+F,QAAQtvD,IAC7B5uC,KAAKuhD,WAAavhD,KAAKi+F,SAAWj+F,KAAKi2jB,gBAAgBrnhB,IAAS02gB,GAC5DtljB,KAAKwxjB,WACLxxjB,KAAKwxjB,WAEb,CACJ,CAEApL,SAAS3B,IACL,OAAOzkjB,KAAKuhD,WAAWkjgB,GAC3B,CAEA+K,0BAA0B7yiB,IACtB3c,KAAKwxjB,UAAY70iB,EACrB,CAQAuhF,QAAQtvD,IACJ,OAAgB,MAATA,EACX,QACS5uC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFunjB,GAA0B,CAAqD,QACjL91jB,KAAKi4B,UA3uLmFh4B,MAAE,CAAAgO,KA2uLJ6njB,GAA0B5siB,SAAA,CA3uLxBjpB,QA2uLgE,EACpK,OAnCK61jB,EAA0B,KAqJhC,MAAMI,GAAqB,CACvBvliB,QAAS0zhB,GACTzzhB,aAAa8zd,SAAW,IAAMyxE,IAC9Bnzf,OAAO,GAMLozf,GAA8B,CAChCzliB,QAAS0zhB,GACTzzhB,aAAa8zd,SAAW,IAAM2xE,IAC9Brzf,OAAO,GAEX,IAmBMmzf,GAAiB,MAAvB,MAAMA,WAA0BL,GAC5Br2jB,cACI+wC,SAASC,WAETzwC,KAAK+1jB,UAAY,WAEjB/1jB,KAAKg2jB,eAAiBjtiB,MAEtB/oB,KAAKi2jB,gBAAmBrnhB,IAAU+1gB,EACtC,CAEAzmd,QAAQtvD,IACJ,OAAOA,EACX,QACS5uC,KAAKU,UAAI,UAAA41jB,GAAA,gBAAA/njB,IAAA,OAAA+njB,QA74L+Er2jB,MA64LUk2jB,MAAiB5njB,IAAjB4njB,GAAiB,GAA1G,EAAiK,QAC1Kn2jB,KAAKi4B,UA94LmFh4B,MAAE,CAAAgO,KA84LJkojB,GAAiBxnjB,UAAA,0KAAAia,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IA94Lf/O,MAAE,WAAAgP,GAAAgvF,SA84LO,GAAK,KAAI,EAAAtoF,OAAA,CAAAxK,SAAA,YAAA+d,SAAA,CA94LlBjpB,MA84LuR,CAACi2jB,KA94LxRj2jB,QA84LqV,EACzb,OAhBKk2jB,EAAiB,KAgDjBE,GAAyB,MAA/B,MAAMA,WAAkCF,GACpC12jB,cACI+wC,SAASC,WAETzwC,KAAKi2jB,gBAAmBrnhB,IAAUi2gB,EACtC,QACS7kjB,KAAKU,UAAI,UAAA61jB,GAAA,gBAAAhojB,IAAA,OAAAgojB,QAr7L+Et2jB,MAq7LUo2jB,MAAyB9njB,IAAzB8njB,GAAyB,GAAlH,EAAyK,QAClLr2jB,KAAKi4B,UAt7LmFh4B,MAAE,CAAAgO,KAs7LJoojB,GAAyB1njB,UAAA,mLAAAia,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAt7LvB/O,MAAE,WAAAgP,GAAAgvF,SAs7LO,GAAK,KAAI,EAAA/0E,SAAA,CAt7LlBjpB,MAs7L0P,CAACm2jB,KAt7L3Pn2jB,QAs7LiU,EACra,OARKo2jB,EAAyB,KAqB/B,MAAMG,GAAkB,CACpB7liB,QAAS0zhB,GACTzzhB,aAAa8zd,SAAW,IAAM+xE,IAC9Bzzf,OAAO,GAEX,IA2BMyzf,GAAc,MAApB,MAAMA,WAAuBX,GACzBr2jB,cACI+wC,SAASC,WAETzwC,KAAK+1jB,UAAY,QAEjB/1jB,KAAKg2jB,eAAiBjtiB,MAEtB/oB,KAAKi2jB,gBAAmBrnhB,IAAUk2gB,EACtC,CAEA5md,QAAQtvD,IACJ,OAAOA,EACX,QACS5uC,KAAKU,UAAI,UAAAg2jB,GAAA,gBAAAnojB,IAAA,OAAAmojB,QAl/L+Ez2jB,MAk/LUw2jB,MAAclojB,IAAdkojB,GAAc,GAAvG,EAA8J,QACvKz2jB,KAAKi4B,UAn/LmFh4B,MAAE,CAAAgO,KAm/LJwojB,GAAc9njB,UAAA,qGAAAgH,OAAA,CAAA/lB,MAAA,SAAAs5B,SAAA,CAn/LZjpB,MAm/LiI,CAACu2jB,KAn/LlIv2jB,QAm/L4L,EAChS,OAhBKw2jB,EAAc,KAmFpB,MAAME,GAAuB,CACzBhmiB,QAAS0zhB,GACTzzhB,aAAa8zd,SAAW,IAAMkyE,IAC9B5zf,OAAO,GAEX,IAqBM4zf,GAAkB,MAAxB,MAAMA,WAA2Bd,GAC7Br2jB,cACI+wC,SAASC,WAETzwC,KAAK+1jB,UAAY,YAEjB/1jB,KAAKg2jB,eAAkBpnhB,IAha/B,SAAS8tS,GAAUpvV,IACf,MAAwB,iBAAVA,GAAqBA,GAAQi/F,SAASj/F,GAAO,GAC/D,CA8ZyCovV,CAAU9tS,IAE3C5uC,KAAKi2jB,gBAAmBxQ,IAAcL,GAAmBK,GAC7D,QACSzljB,KAAKU,UAAI,UAAAm2jB,GAAA,gBAAAtojB,IAAA,OAAAsojB,QA3lM+E52jB,MA2lMU22jB,MAAkBrojB,IAAlBqojB,GAAkB,GAA3G,EAAkK,QAC3K52jB,KAAKi4B,UA5lMmFh4B,MAAE,CAAAgO,KA4lMJ2ojB,GAAkBjojB,UAAA,iHAAAia,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IA5lMhB/O,MAAE,YAAAgP,GAAAgvF,SAAAhvF,GAAAw2iB,UA4lMmB,KAAI,EAAA9viB,OAAA,CAAA8viB,UAAA,aAAAv8hB,SAAA,CA5lMzBjpB,MA4lMoO,CAAC02jB,KA5lMrO12jB,QA4lMoS,EACxY,OAZK22jB,EAAkB,KA2BxB,MAAME,GAAoB,CACtBnmiB,QAAS0zhB,GACTzzhB,aAAa8zd,SAAW,IAAMqyE,IAC9B/zf,OAAO,GAEX,IAuBM+zf,GAAgB,MAAtB,MAAMA,WAAyBjB,GAC3Br2jB,cACI+wC,SAASC,WAETzwC,KAAK+1jB,UAAY,UAEjB/1jB,KAAKg2jB,eAAkBpnhB,IAAUA,GAEjC5uC,KAAKi2jB,gBAAmBrnhB,IAAUy2gB,GAAiBz2gB,GACvD,QACS5uC,KAAKU,UAAI,UAAAs2jB,GAAA,gBAAAzojB,IAAA,OAAAyojB,QAlpM+E/2jB,MAkpMU82jB,MAAgBxojB,IAAhBwojB,GAAgB,GAAzG,EAAgK,QACzK/2jB,KAAKi4B,UAnpMmFh4B,MAAE,CAAAgO,KAmpMJ8ojB,GAAgBpojB,UAAA,2GAAAia,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAnpMd/O,MAAE,UAAAgP,GAAAgvF,SAAAhvF,GAAAW,QAmpMiB,KAAI,EAAA+F,OAAA,CAAA/F,QAAA,WAAAsZ,SAAA,CAnpMvBjpB,MAmpMoN,CAAC62jB,KAnpMrN72jB,QAmpMiR,EACrX,OAZK82jB,EAAgB,KAmDhBE,GAA0B,MAAhC,MAAMA,UACOj3jB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0ojB,GAA0B,CAAoD,QAChLj3jB,KAAKm4B,UA7rMmFl4B,KAAE,CAAAgO,KA6rMSgpjB,IAsClF,QACjBj3jB,KAAKo4B,UApuMmFn4B,MAAE,GAouMwC,EAC9I,OA1CKg3jB,EAA0B,KAsHhC,MAAMC,WAAkBrN,GAcpBpqjB,YAAY6/H,GAAU+pb,GAAiBvB,IACnCt3gB,MAAM44gB,GAAeC,IAAkBE,GAAoBzB,GAAgBuB,KAC3ErpjB,KAAKs/H,SAAWA,GAChBt/H,KAAK2sjB,mBACL3sjB,KAAKitjB,mBAAmB5D,IACxBrpjB,KAAKqtjB,iBACLrtjB,KAAK6rjB,uBAAuB,CACxBb,UAAU,EAKVO,YAAavrjB,KAAK8njB,gBAE1B,CAQAr8V,GAAGpzM,IACC,OAAOrY,KAAKs/H,SAASt/H,KAAKmrhB,aAAa9ygB,IAC3C,CAWAypB,KAAK2ihB,GAAS79hB,GAAU,CAAC,GACrB5mB,KAAKs/H,SAASx9F,KAAK2ihB,IACnBzkjB,KAAKm3jB,iBAAiB1S,IACtBzkjB,KAAK6rjB,uBAAuB,CAAEN,UAAW3kiB,GAAQ2kiB,YACjDvrjB,KAAKiqjB,qBACT,CAcA16U,OAAOl3N,GAAOosiB,GAAS79hB,GAAU,CAAC,GAC9B5mB,KAAKs/H,SAASjwF,OAAOh3B,GAAO,EAAGosiB,IAC/BzkjB,KAAKm3jB,iBAAiB1S,IACtBzkjB,KAAK6rjB,uBAAuB,CAAEN,UAAW3kiB,GAAQ2kiB,WACrD,CAaA14N,SAASx6U,GAAOuO,GAAU,CAAC,GAEvB,IAAIw2f,GAAgBp9gB,KAAKmrhB,aAAa9ygB,IAClC+kgB,GAAgB,IAChBA,GAAgB,GAChBp9gB,KAAKs/H,SAAS89Y,KACdp9gB,KAAKs/H,SAAS89Y,IAAe4vC,4BAA4B,QAC7DhtjB,KAAKs/H,SAASjwF,OAAO+te,GAAe,GACpCp9gB,KAAK6rjB,uBAAuB,CAAEN,UAAW3kiB,GAAQ2kiB,WACrD,CAcAkC,WAAWp1iB,GAAOosiB,GAAS79hB,GAAU,CAAC,GAElC,IAAIw2f,GAAgBp9gB,KAAKmrhB,aAAa9ygB,IAClC+kgB,GAAgB,IAChBA,GAAgB,GAChBp9gB,KAAKs/H,SAAS89Y,KACdp9gB,KAAKs/H,SAAS89Y,IAAe4vC,4BAA4B,QAC7DhtjB,KAAKs/H,SAASjwF,OAAO+te,GAAe,GAChCqnC,KACAzkjB,KAAKs/H,SAASjwF,OAAO+te,GAAe,EAAGqnC,IACvCzkjB,KAAKm3jB,iBAAiB1S,KAE1BzkjB,KAAK6rjB,uBAAuB,CAAEN,UAAW3kiB,GAAQ2kiB,YACjDvrjB,KAAKiqjB,qBACT,CAIA,UAAI73jB,GACA,OAAO4N,KAAKs/H,SAASltI,MACzB,CAoCA+Z,SAAS7e,GAAOs5B,GAAU,CAAC,GACvB+iiB,GAAuB3pjB,KAAM,EAAO1S,IACpCA,GAAM89B,QAAQ,CAACs8D,GAAUrvE,MACrBoxiB,GAAqBzpjB,MAAM,EAAOqY,IAClCrY,KAAKyrN,GAAGpzM,IAAOlM,SAASu7E,GAAU,CAAEsje,UAAU,EAAMO,UAAW3kiB,GAAQ2kiB,WAAW,GAEtFvrjB,KAAK6rjB,uBAAuBjliB,GAChC,CAiCA8miB,WAAWpgkB,GAAOs5B,GAAU,CAAC,GAKZ,MAATt5B,KAEJA,GAAM89B,QAAQ,CAACs8D,GAAUrvE,MACjBrY,KAAKyrN,GAAGpzM,KACRrY,KAAKyrN,GAAGpzM,IAAOq1iB,WAAWhme,GAAU,CAAEsje,UAAU,EAAMO,UAAW3kiB,GAAQ2kiB,WAAW,GAG5FvrjB,KAAK6rjB,uBAAuBjliB,IAChC,CA+CA9jC,MAAMwK,GAAQ,GAAIs5B,GAAU,CAAC,GACzB5mB,KAAK4pjB,cAAc,CAACnF,GAASpsiB,MACzBosiB,GAAQ3hkB,MAAMwK,GAAM+qB,IAAQ,CAAE2yiB,UAAU,EAAMO,UAAW3kiB,GAAQ2kiB,WAAW,GAEhFvrjB,KAAKqrjB,gBAAgBzkiB,IACrB5mB,KAAKmrjB,eAAevkiB,IACpB5mB,KAAK6rjB,uBAAuBjliB,GAChC,CAMAhe,cACI,OAAO5I,KAAKs/H,SAASzxI,IAAK42jB,IAAYA,GAAQ77iB,cAClD,CAqCAmsC,MAAMnuB,GAAU,CAAC,GACT5mB,KAAKs/H,SAASltI,OAAS,IAE3B4N,KAAK4pjB,cAAenF,IAAYA,GAAQuI,4BAA4B,SACpEhtjB,KAAKs/H,SAASjwF,OAAO,GACrBrvC,KAAK6rjB,uBAAuB,CAAEN,UAAW3kiB,GAAQ2kiB,YACrD,CAMApgC,aAAa9ygB,IACT,OAAOA,GAAQ,EAAIA,GAAQrY,KAAK5N,OAASimB,EAC7C,CAEAu1iB,uBACI,IAAIC,GAAiB7tjB,KAAKs/H,SAASn7F,OAAO,CAAC2phB,GAAShkV,OACzCA,GAAM8jV,wBAAgCE,IAC9C,GACH,OAAID,IACA7tjB,KAAK6rjB,uBAAuB,CAAEb,UAAU,IACrC6C,EACX,CAEAjE,cAAc36gB,IACVjvC,KAAKs/H,SAASl0G,QAAQ,CAACq5hB,GAASpsiB,MAC5B42B,GAAGw1gB,GAASpsiB,GAAK,EAEzB,CAEAqziB,eACI1rjB,KAAK1S,MACD0S,KAAKs/H,SAAS5xI,OAAQ+2jB,IAAYA,GAAQvmd,SAAWl+F,KAAK+Z,UACrDlsB,IAAK42jB,IAAYA,GAAQn3jB,MACtC,CAEAu/jB,aAAalyhB,IACT,OAAO36B,KAAKs/H,SAAS9tI,KAAMizjB,IAAYA,GAAQvmd,SAAWvjE,GAAU8phB,IACxE,CAEA4I,iBACIrtjB,KAAK4pjB,cAAenF,IAAYzkjB,KAAKm3jB,iBAAiB1S,IAC1D,CAEA4H,uBACI,UAAW5H,MAAWzkjB,KAAKs/H,SACvB,GAAImlb,GAAQvmd,QACR,OAAO,EAEf,OAAOl+F,KAAKs/H,SAASltI,OAAS,GAAK4N,KAAK+Z,QAC5C,CACAo9iB,iBAAiB1S,IACbA,GAAQvhV,UAAUljO,MAClBykjB,GAAQuI,4BAA4BhtjB,KAAKiqjB,oBAC7C,CAEAyC,MAAMl/jB,IACF,OAAOwS,KAAKyrN,GAAGj+N,KAAS,IAC5B,EAEJ,MAAM4pkB,GAAmBF,GASzB,SAASG,GAAyBzwiB,IAC9B,QAASA,UACwBv4B,IAA5Bu4B,GAAQ4iiB,sBACkBn7jB,IAAvBu4B,GAAQ2+hB,iBACal3jB,IAArBu4B,GAAQ2jiB,SACpB,CAEA,IAYM+M,GAAW,MAAjB,MAAMA,GACF73jB,cACIO,KAAKu3jB,gBAAiB,CAC1B,CA2CA,eAAI7F,GACA,MAAM8F,GAAO,IAAIF,GACjBE,UAAKD,gBAAiB,EACfC,EACX,CACA1rjB,MAAMwzH,GAAU14G,GAAU,MACtB,MAAM6wiB,GAAkBz3jB,KAAK03jB,gBAAgBp4b,IAC7C,IAAI6/C,GAAa,CAAC,EAClB,OAAIk4Y,GAAyBzwiB,IAEzBu4J,GAAav4J,GAEI,OAAZA,KAELu4J,GAAWomY,WAAa3+hB,GAAQq/hB,UAChC9mY,GAAWqqY,gBAAkB5iiB,GAAQkhiB,gBAElC,IAAIsF,GAAUqK,GAAiBt4Y,GAC1C,CAgBA+sT,OAAO5sW,GAAU14G,GAAU,MACvB,MAAM6wiB,GAAkBz3jB,KAAK03jB,gBAAgBp4b,IAE7C,OAAO,IAAI2ub,GAAWwJ,GAAiB7wiB,GAC3C,CA2BA69hB,QAAQ6M,GAAWjI,GAAiBvB,IAChC,IAAI3oY,GAAa,CAAC,EAClB,OAAKn/K,KAAKu3jB,gBAGNF,GAAyBhO,IAEzBlqY,GAAakqY,IAIblqY,GAAWomY,WAAa8D,GACxBlqY,GAAWqqY,gBAAkB1B,IAE1B,IAAIyJ,GAAYD,GAAW,IAAKnyY,GAAYuyY,aAAa,KAXrD,IAAIH,GAAYD,GAAWjI,GAAiBvB,GAY3D,CAeA3sgB,MAAMmkF,GAAU+pb,GAAiBvB,IAC7B,MAAM6P,GAAkBr4b,GAASzxI,IAAI4E,IAAKuN,KAAK43jB,eAAenlkB,KAE9D,OAAO,IAAIykkB,GAAUS,GAAiBtO,GAAiBvB,GAC3D,CAEA4P,gBAAgBp4b,IACZ,MAAMq4b,GAAkB,CAAC,EACzBvoiB,cAAOC,KAAKiwG,IAAUl0G,QAAQolD,KAC1Bmnf,GAAgBnnf,IAAexwE,KAAK43jB,eAAet4b,GAAS9uD,IAAY,GAErEmnf,EACX,CAEAC,eAAet4b,IACX,OAAIA,cAAoBiyb,IAGfjyb,cAAoBuqb,GAFlBvqb,GAKFhuI,MAAMC,QAAQ+tI,IAIZt/H,KAAKykjB,QAHEnlb,GAAS,GACLA,GAASltI,OAAS,EAAIktI,GAAS,GAAK,KAC/BA,GAASltI,OAAS,EAAIktI,GAAS,GAAK,MAIpDt/H,KAAKykjB,QAAQnlb,GAE5B,QACSt/H,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF+ojB,GAAW,CAAsD,QACnKt3jB,KAAKszD,WAn3NmFrzD,MAAE,CAAAhQ,MAm3NYqnkB,GAAW72jB,QAAX62jB,GAAW52jB,UAAAC,WAAc,QAAW,EACtJ,OA9KK22jB,EAAW,KAwMXO,GAAkB,MAAxB,MAAMA,WAA2BP,GAC7BxrjB,MAAMgsjB,GAAgBlxiB,GAAU,MAC5B,OAAO4pB,MAAM1kC,MAAMgsjB,GAAgBlxiB,GACvC,CAIA69hB,QAAQ6M,GAAWjI,GAAiBvB,IAChC,OAAOt3gB,MAAMi0gB,QAAQ6M,GAAWjI,GAAiBvB,GACrD,CAIA3sgB,MAAM28gB,GAAgBzO,GAAiBvB,IACnC,OAAOt3gB,MAAM2K,MAAM28gB,GAAgBzO,GAAiBvB,GACxD,QACS9njB,KAAKU,UAAI,UAAAq3jB,GAAA,gBAAAxpjB,IAAA,OAAAwpjB,QA95N+E93jB,MA85NU43jB,MAAkBtpjB,IAAlBspjB,GAAkB,GAA3G,EAAmK,QAC5K73jB,KAAKszD,WA/5NmFrzD,MAAE,CAAAhQ,MA+5NY4nkB,GAAkBp3jB,QAAlBo3jB,GAAkBn3jB,UAAAC,WAAc,QAAW,EAC7J,OAlBKk3jB,EAAkB,KA2ClB5/iB,GAAW,MAAjB,MAAMA,GASF,iBAAOyiL,CAAWnzJ,IACd,MAAO,CACH+7G,SAAUrrI,GACVogB,UAAW,CAAC,CACJ1H,QAASu9hB,GACT9rf,SAAU76B,GAAK+mhB,sBAAwBH,KAGvD,QACSnujB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0J,GAAW,CAAoD,QACjKjY,KAAKm4B,UA58NmFl4B,KAAE,CAAAgO,KA48NSgK,IAAqI,QACxOjY,KAAKo4B,UA78NmFn4B,MAAE,CAAAq4B,QAAA,CA68NgC2+hB,KAAgC,EACtK,OArBKh/iB,EAAW,KAsCXtR,GAAmB,MAAzB,MAAMA,GAWF,iBAAO+zL,CAAWnzJ,IACd,MAAO,CACH+7G,SAAU38I,GACV0xB,UAAW,CACP,CACI1H,QAASkjiB,GACTzxf,SAAU76B,GAAKywhB,8BAAgC,UAEnD,CACIrniB,QAASu9hB,GACT9rf,SAAU76B,GAAK+mhB,sBAAwBH,KAIvD,QACSnujB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF5H,GAAmB,CAAoD,QACzK3G,KAAKm4B,UA1/NmFl4B,KAAE,CAAAgO,KA0/NStH,IAAiQ,QACpW3G,KAAKo4B,UA3/NmFn4B,MAAE,CAAAq4B,QAAA,CA2/NwC2+hB,KAAgC,EAC9K,OA7BKtwjB,EAAmB,0GCzhOzB,MAAMs2D,EAASg7f,GAA0BC,gBAEnCC,EAAkC,IAAItyiB,MAAe,kCAAmC,CAC1FllB,WAAY,OACZF,QAGJ,SAAS23jB,IACL,MAAO,CACHC,QAAQ,EAEhB,IAEA,SAASx7V,EAAMzqO,GAAQkmkB,IACnB,MAAMC,GAAcjnkB,MAAMc,IAC1B,QAAS21B,GAAI,EAAGA,GAAI31B,GAAQ21B,KACxBwwiB,GAAYxwiB,IAAKuwiB,GAAcvwiB,IAEnC,OAAOwwiB,EACX,CACA,IACMC,EAAiB,MAAvB,MAAMA,WAA0BC,KAC5Bh5jB,YAAYi5jB,GAAYv8G,IACpB3ra,QACAxwC,KAAKm8c,SAAWA,GAChBn8c,KAAK24jB,UAAUD,IAAcz7f,EAAOlrE,SACxC,CACA4mkB,UAAU5mkB,IACNy+C,MAAMmohB,UAAU5mkB,IAChB,IAAI6mkB,GAAmB37f,EAAOoB,WAAWtsE,IACzCiO,KAAK64jB,YAAc,CACf9iI,eAAgB6iI,GAAiB7iI,iBACjC+iI,WAAYF,GAAiB3tJ,SAC7B8tJ,YAAaH,GAAiB1tJ,cAC9BuM,MAAO56M,EAAM,GAAI90M,IAAK/nB,KAAKu/a,WAAW,KAAM,EAAGx3Z,GAAI,GAAGk2C,OAAO,MAC7D+6f,eAAgBJ,GAAiBztJ,WACjC8tJ,gBAAiBL,GAAiBxtJ,gBAClC8tJ,iBAAkBN,GAAiBvtJ,cAE3C,CACA8tJ,QAAQtmgB,IACJ,OAAO7yD,KAAK2nB,MAAMkrC,IAAM6N,MAC5B,CACAq8W,SAASlqX,IACL,OAAO7yD,KAAK2nB,MAAMkrC,IAAM8N,OAC5B,CACAi8W,QAAQ/pX,IACJ,OAAO7yD,KAAK2nB,MAAMkrC,IAAMA,MAC5B,CACAumgB,aAAavmgB,IACT,OAAO7yD,KAAK2nB,MAAMkrC,IAAM+N,KAC5B,CACAy4f,cAAcxviB,IAEV,MAAgB,QAATA,GAAkB7pB,KAAK64jB,YAAYC,WAAa94jB,KAAK64jB,YAAYE,WAC5E,CACAO,eACI,OAAOt5jB,KAAK64jB,YAAYphJ,KAC5B,CACA8hJ,kBAAkB1viB,IACd,MAAa,QAATA,GACO7pB,KAAK64jB,YAAYG,eAEf,SAATnviB,GACO7pB,KAAK64jB,YAAYI,gBAErBj5jB,KAAK64jB,YAAYK,gBAC5B,CACAM,YAAY3mgB,IACR,OAAO7yD,KAAK2nB,MAAMkrC,IAAMoL,OAAO,OACnC,CACAw7f,oBACI,OAAOz5jB,KAAK64jB,YAAY9iI,cAC5B,CACA2jI,kBAAkB7mgB,IACd,OAAO7yD,KAAK2nB,MAAMkrC,IAAM8qX,aAC5B,CACAh2Z,MAAMkrC,IACF,OAAOA,GAAKlrC,QAAQ51B,OAAOiO,KAAKjO,OACpC,CACAwtb,WAAW7+W,GAAMC,GAAO9N,IAWpB,MAAMv1D,GAAS0C,KAAK25jB,cAAc,CAAEj5f,QAAMC,SAAO9N,UAAQ9gE,OAAOiO,KAAKjO,QAEjE,OAACuL,GAAOuL,UAGLvL,EACX,CACAise,QACI,OAAOvpe,KAAK25jB,gBAAgB5nkB,OAAOiO,KAAKjO,OAC5C,CACA0L,MAAMnQ,GAAOsskB,IACT,OAAItskB,IAAyB,iBAATA,GACT0S,KAAK25jB,cAAcrskB,GAAOsskB,GAAa55jB,KAAKjO,QAEhDzE,GAAQ0S,KAAK25jB,cAAcrskB,IAAOyE,OAAOiO,KAAKjO,QAAU,IACnE,CACAksE,OAAOpL,GAAMgngB,IACThngB,UAAO7yD,KAAK2nB,MAAMkrC,IACb7yD,KAAK6I,QAAQgqD,IAGXA,GAAKoL,OAAO47f,GACvB,CACAC,iBAAiBjngB,GAAM8lX,IACnB,OAAO34a,KAAK2nB,MAAMkrC,IAAM9mD,IAAI,CAAE4sa,UAClC,CACAohJ,kBAAkBlngB,GAAMo4W,IACpB,OAAOjra,KAAK2nB,MAAMkrC,IAAM9mD,IAAI,CAAEk/Z,WAClC,CACA+uJ,gBAAgBnngB,GAAM82B,IAClB,OAAO3pF,KAAK2nB,MAAMkrC,IAAM9mD,IAAI,CAAE49E,SAClC,CACAswe,UAAUpngB,IACN,OAAO7yD,KAAK2nB,MAAMkrC,IAAMoL,QAC5B,CAMAo5J,YAAY/pO,IACR,IAAIulE,GACJ,GAAIvlE,cAAiB0gD,KACjB6kB,GAAO7yD,KAAK25jB,cAAcrskB,IAAOyE,OAAOiO,KAAKjO,aAAM,GAE9CiO,KAAKk6jB,eAAe5skB,IAEzB,OAAO0S,KAAK2nB,MAAMr6B,IAEtB,GAAqB,iBAAVA,GAAoB,CAC3B,IAAKA,GACD,OAAO,KAEXulE,GAAO7yD,KAAK25jB,cAAcrskB,GAAO2vE,EAAOqqX,UAAUv1b,OAAOiO,KAAKjO,OAClE,CACA,OAAI8gE,IAAQ7yD,KAAK6I,QAAQgqD,IACd7yD,KAAK25jB,cAAc9mgB,IAAM9gE,OAAOiO,KAAKjO,QAEzCy+C,MAAM6mL,YAAY/pO,GAC7B,CACA4skB,eAAej5hB,IACX,OAAOg8B,EAAO84W,SAAS90Y,GAC3B,CACAp4B,QAAQgqD,IACJ,OAAO7yD,KAAK2nB,MAAMkrC,IAAMhqD,SAC5B,CACAZ,UACI,OAAOg1D,EAAOh1D,SAClB,CAEA0xjB,cAAc9mgB,GAAMoL,GAAQlsE,IACxB,MAAQ0hb,UAAQ4kJ,WAAWr4jB,KAAKm8c,UAAY,CAAC,EAC7C,OAAOk8G,GAASp7f,EAAO02W,IAAI9gX,GAAMoL,GAAQlsE,GAAQ0hb,IAAUx2W,EAAOpK,GAAMoL,GAAQlsE,GAAQ0hb,GAC5F,QACSzza,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFiqjB,IAAVv4jB,MAA6Ck6jB,KAAe,GAA5Dl6jB,MAAyFk4jB,EAA+B,IAA+D,QAC9Qn4jB,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACYuokB,GAAiB/3jB,QAAjB+3jB,GAAiB93jB,WAAK,EACvI,OAlJK83jB,EAAiB,KAiKvB,MAAM4B,EAA0B,CAC5B38jB,MAAO,CACH48jB,UAAW,KAEf5/gB,QAAS,CACL4/gB,UAAW,IACXC,eAAgB,WAChBC,cAAe,KACfC,mBAAoB,cAE1B,IAyBIzzjB,GAAmB,MAAzB,MAAMA,UACO/G,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFxH,GAAmB,CAAoD,QACxK/G,KAAKm4B,UAtDkFl4B,KAAE,CAAAgO,KAsDSlH,IAAwB,QAC1H/G,KAAKo4B,UAvDkFn4B,MAAE,CAAAo4B,UAuDyC,CAACoiiB,OAAgC,EAC/K,OAJK1zjB,EAAmB,KAWzB,SAAS0zjB,GAAyBjsI,GAAU4rI,EAAyBxziB,IACjE,MAAMyR,GAAY,CACd,CACI1H,QAAS8niB,KACTv2f,SAAUs2f,EACVlniB,KAAM,CAAC6oiB,KAAiBhC,IAE5B,CAAExniB,QAAS+piB,KAAkBt4f,SAAUosX,KAE3C,OAAI5na,IACAyR,GAAUyJ,KAAK,CAAEnR,QAASwniB,EAAiC/1f,SAAUx7C,KAElEyR,EACX,iICjPA,MAAAnmB,EAAA,kBAAA7B,EAAA,wQAAAsB,EAAA,wNAAAgpjB,GAAA,oBAAAC,GAAA,uBAAAC,GAAA,MACMC,GAAoB,IAAIj1iB,MAAe,qBAkBvCk1iB,GAA+B,CACjC,CACIz6Q,UAAW,aACX06Q,WAAY,CAAC,aAAc,mBAE/B,CACI16Q,UAAW,kBACX06Q,WAAY,CAAC,aAAc,yBAA0B,8BAEzD,CACI16Q,UAAW,oBACX06Q,WAAY,CAAC,aAAc,qBAAsB,0BAErD,CACI16Q,UAAW,qBACX06Q,WAAY,CAAC,aAAc,uBAAwB,4BAEvD,CACI16Q,UAAW,UACX06Q,WAAY,CAAC,UAAW,gBAE5B,CACI16Q,UAAW,eACX06Q,WAAY,CAAC,UAAW,gBAAiB,qBAE7C,CACI16Q,UAAW,kBACX06Q,WAAY,CAAC,kBAAmB,yBAGxC,IACMC,GAAa,MAAnB,MAAMA,GAMF,UAAIC,GACA,OAAOl7jB,KAAKm7jB,eAAeC,UAAUp7jB,KAAK+lB,YAAYsB,cAC1D,CACA,UAAI6ziB,CAAOnpiB,IACP/xB,KAAKm7jB,eAAeE,aAAar7jB,KAAK+lB,YAAYsB,cAAe0K,GACrE,CAEA,iBAAI3L,GACA,OAAOpmB,KAAKs7jB,cAChB,CACA,iBAAIl1iB,CAAc94B,IACd0S,KAAKs7jB,eAAiBhukB,GACtB0S,KAAKu7jB,uBACT,CAEA,YAAIxhjB,GACA,OAAO/Z,KAAKw7jB,SAChB,CACA,YAAIzhjB,CAASzsB,IACT0S,KAAKw7jB,UAAYlukB,GACjB0S,KAAKu7jB,uBACT,CACA97jB,YAAYsmB,GAAa8pb,GAAWtkb,GAASkwiB,IACzCz7jB,KAAK+lB,YAAcA,GACnB/lB,KAAK6vc,UAAYA,GACjB7vc,KAAKurB,QAAUA,GACfvrB,KAAKy7jB,eAAiBA,GACtBz7jB,KAAKimB,iBAAgBgL,OAAOmtb,MAK5Bp+c,KAAKm7jB,iBAAgBlqiB,OAAOyqiB,MAE5B17jB,KAAK27jB,QAAS,EACd37jB,KAAKs7jB,gBAAiB,EACtBt7jB,KAAKw7jB,WAAY,EACjB,MAAMxrkB,MAASihC,OAAO6piB,GAAmB,CAAEhihB,UAAU,IAC/ChpB,GAAU/J,GAAYsB,cACtBiE,GAAYwE,GAAQxE,UAC1BtrB,KAAK47jB,oBAAsB5rkB,IAAQ4rkB,sBAAuB,EAC1D57jB,KAAKm7jB,eAAeU,gBAAgB/riB,GAAS,CAAEzE,UAAW,0BAG1D,UAAai1R,aAAW06Q,iBAAgBD,GAChCjriB,GAAQ42H,aAAa45J,KACrBh1R,GAAUvf,OAAOivjB,GAG7B,CACAj0iB,kBACI/mB,KAAKimB,cAAce,QAAQhnB,KAAK+lB,aAAa,EACjD,CACA7X,cACIlO,KAAKimB,cAAcgB,eAAejnB,KAAK+lB,aACvC/lB,KAAKm7jB,eAAeW,cAAc97jB,KAAK+lB,YAAYsB,cACvD,CAEAla,MAAMwZ,GAAS,UAAWC,IAClBD,GACA3mB,KAAKimB,cAAcY,SAAS7mB,KAAK+lB,YAAYsB,cAAeV,GAAQC,IAGpE5mB,KAAK+lB,YAAYsB,cAAcla,MAAMyZ,GAE7C,CACAm1iB,mBACI,OAAyB,MAArB/7jB,KAAKg8jB,aACEh8jB,KAAKg8jB,gBAETh8jB,KAAK+Z,WAAY/Z,KAAK47jB,sBAA6B,IAC9D,CACAK,wBACI,QAAOj8jB,KAAK47jB,sBAAwB57jB,KAAK+Z,WAAW,IACxD,CACAwhjB,wBACIv7jB,KAAKm7jB,eAAee,YAAYl8jB,KAAK+lB,YAAYsB,cAAernB,KAAKomB,eAAiBpmB,KAAK+Z,SAC/F,QACS/Z,KAAKU,UAAI,SAAA6N,IAA8EtO,OAAE,CAAiF,QAC1KD,KAAKi4B,UADkFh4B,MAAE,CAAAgO,KACJgtjB,GAAatljB,OAAA,CAAA0tM,MAAA,QAAAj9L,cAAA,CADXnmB,MAAE6oB,2BAAA,gCACuFC,OAAgBhP,SAAA,CADzG9Z,MAAE6oB,2BAAA,sBAC6IC,OAAgBiziB,aAAA,CAD/J/7jB,MAAE6oB,2BAAA,+BACgNC,OAAgB6yiB,oBAAA,CADlO37jB,MAAE6oB,2BAAA,4CACuSC,QAAgBG,SAAA,CADzTjpB,QAC+U,EAClb,OAtFKg7jB,EAAa,KA+KbkB,GAAS,MAAf,MAAMA,WAAkBlB,GACpBx7jB,YAAY42d,GAAYj6Q,GAAU5U,GAAQ40X,IACtC5rhB,MAAM6lb,GAAYj6Q,GAAU5U,GAAQ40X,GACxC,QACSp8jB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF4tjB,IA/FVl8jB,MA+FqCA,OA/FrCA,MA+F+DC,MA/F/DD,MA+FuFA,OA/FvFA,MA+F6Gs6L,MAAqB,IAA8D,QACvRv6L,KAAK0oB,UAhGkFzoB,MAAE,CAAAgO,KAgGJkujB,GAASxtjB,UAAA,kIAAAia,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,KAhGP/O,MAAE,WAgGJgP,GAAAgtjB,wBAhGEh8jB,CAgGqB,gBAAvBgP,GAAA8sjB,oBAhGE97jB,MAAEgP,GAAAo0M,MAgGI,OAAMp0M,GAAAo0M,MAAW,IAhGvBpjN,MAAE,0BAAAgP,GAAA8K,SAAF9Z,CAgGO,sCAAAgP,GAAA2sjB,oBAhGP37jB,CAgGO,0BAAU,mBAAVgP,GAAAwsjB,eAhGPx7jB,CAgGO,gBAAAgP,GAAAo0M,MAhGPpjN,CAgGO,uBAAT,GAAS,EAAA+oB,SAAA,cAAAC,YAAA,EAAAC,SAAA,CAhGPjpB,aAAEkpB,MAAAjX,EAAAkX,mBAAAzX,EAAA/C,MAAA,EAAAC,KAAA,EAAAC,OAAA,iIAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAEoQ,GAAFpQ,MAAE,YAAFA,MAAE,GAAFA,MAAE,YAAFA,MAAE,KAAFA,cAAE,KAAFA,MAAE,WAAFA,CAgG03C,aAAuD,EAAA+O,IAhGj7C/O,MAAE,sBAAAgP,GAAA0sjB,OAAF17jB,CAgGouB,kBAAAgP,GAAA0sjB,OAAwC,EAAA9qiB,OAAA,i7mBAAAtH,cAAA,EAAAC,gBAAA,GAA4soB,EAC3jqB,OANK2yiB,EAAS,KA+Cf,MAAME,GAA0B,IAAIx2iB,MAAe,8BAA+B,CAC9EllB,WAAY,OACZF,QAAS67jB,KAGb,SAASA,KACL,MAAO,CAEHj5W,MAAO,SAEf,CAEA,MAAM9iG,GAAW+7c,KACjB,IA4CMC,GAAgB,MAAtB,MAAMA,WAAyBtB,GAC3Bx7jB,YAAY42d,GAAYj6Q,GAAU5U,GAAQ40X,GAAejgH,IACrD3ra,MAAM6lb,GAAYj6Q,GAAU5U,GAAQ40X,IACpCp8jB,KAAKm8c,SAAWA,GAChBn8c,KAAK27jB,QAAS,EACd37jB,KAAKm8c,SAAWn8c,KAAKm8c,UAAY57V,GACjCvgH,KAAKqjN,MAAQrjN,KAAKm8c,SAAS94P,OAAS9iG,GAAS8iG,KACjD,QACSrjN,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFgujB,IA3MVt8jB,MA2M4CA,OA3M5CA,MA2MsEC,MA3MtED,MA2M8FA,OA3M9FA,MA2MoHs6L,MAAqB,GA3MzIt6L,MA2MsKo8jB,GAAuB,IAA8D,QAClVr8jB,KAAK0oB,UA5MkFzoB,MAAE,CAAAgO,KA4MJsujB,GAAgB5tjB,UAAA,+BAAAia,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,KA5Md/O,MAAE,WA4MJgP,GAAAgtjB,wBA5MEh8jB,CA4MqB,gBAAvBgP,GAAA8sjB,oBA5ME97jB,MAAEgP,GAAAo0M,MA4MI,OAAMp0M,GAAAo0M,MAAW,IA5MvBpjN,MAAE,0BAAAgP,GAAA8K,SAAF9Z,CA4Mc,sCAAAgP,GAAA2sjB,oBA5Md37jB,CA4Mc,0BAAG,mBAAHgP,GAAAwsjB,eA5Mdx7jB,CA4Mc,gBAAAgP,GAAAo0M,MA5MdpjN,CA4Mc,uBAAhB,GAAgB,EAAA+oB,SAAA,cAAAC,YAAA,EAAAC,SAAA,CA5MdjpB,aAAEkpB,MAAAwxiB,GAAAvxiB,mBAAAzX,EAAA/C,MAAA,EAAAC,KAAA,EAAAC,OAAA,iIAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAEoQ,GAAFpQ,MAAE,YAAFA,MAAE,GAAFA,MAAE,YAAFA,MAAE,KAAFA,cAAE,KAAFA,MAAE,WAAFA,CA4MoyC,aAAuD,EAAA+O,IA5M31C/O,MAAE,sBAAAgP,GAAA0sjB,OAAF17jB,CA4M8oB,kBAAAgP,GAAA0sjB,OAAwC,EAAA9qiB,OAAA,CAlV1xB,ytYAkV0xBtH,cAAA,EAAAC,gBAAA,GAAs/Z,EAC/wb,OAVK+yiB,EAAgB,KAoGhBC,GAAa,MAAnB,MAAMA,WAAsBvB,GACxBx7jB,YAAY42d,GAAYj6Q,GAAU5U,GAAQ40X,IACtC5rhB,MAAM6lb,GAAYj6Q,GAAU5U,GAAQ40X,IACpCp8jB,KAAKm7jB,cAAcU,gBAAgB77jB,KAAK+lB,YAAYsB,cAAe,CAAEo1iB,UAAU,GACnF,QACSz8jB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFiujB,IA5SVv8jB,MA4SyCA,OA5SzCA,MA4SmEC,MA5SnED,MA4S2FA,OA5S3FA,MA4SiHs6L,MAAqB,IAA8D,QAC3Rv6L,KAAK0oB,UA7SkFzoB,MAAE,CAAAgO,KA6SJuujB,GAAa7tjB,UAAA,kCAAAia,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,KA7SX/O,MAAE,WA6SJgP,GAAAgtjB,wBA7SEh8jB,CA6SqB,gBAAvBgP,GAAA8sjB,oBA7SE97jB,MAAEgP,GAAAo0M,MA6SI,OAAMp0M,GAAAo0M,MAAW,IA7SvBpjN,MAAE,0BAAAgP,GAAA8K,SAAF9Z,CA6SW,sCAAAgP,GAAA2sjB,oBA7SX37jB,CA6SW,0BAAM,mBAANgP,GAAAwsjB,eA7SXx7jB,CA6SW,gBAAAgP,GAAAo0M,MA7SXpjN,CA6SW,uBAAb,GAAa,EAAA+oB,SAAA,cAAAC,YAAA,EAAAC,SAAA,CA7SXjpB,aAAEkpB,MAAAyxiB,GAAAxxiB,mBAAAyxiB,GAAAjsjB,MAAA,EAAAC,KAAA,EAAAC,OAAA,mIAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,cAAE,YAAFA,MAAE,GAAFA,MAAE,WAAFA,CA6Sw5B,YAAuD,EAAA4wB,OAAA,q7JAnbnjC,oXAmbmjCtH,cAAA,EAAAC,gBAAA,GAA+5K,EACj9M,OAPKgziB,EAAa,KAuCbv1jB,GAAe,MAArB,MAAMA,UACOjH,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFtH,GAAe,CAAoD,QACpKjH,KAAKm4B,UAhVkFl4B,KAAE,CAAAgO,KAgVShH,IAiB9E,QACpBjH,KAAKo4B,UAlWkFn4B,MAAE,CAAAq4B,QAAA,CAkWoCE,KAC9HD,KAAiBC,OAAqB,EACjD,OAtBKvxB,EAAe,2TC5crB,MAAA0K,GAAA,SAAAoT,GAAA,qBAAA23iB,GAAA,0BAAAC,GAAA3tjB,GAAAC,IA6mDygD,GA7mDzgD,EAAAD,IAoEoG/O,MAAE,2BAyiDm6C,EAAA+O,GAAA,OAAA4tjB,GAziDr6C38jB,cAAE,WAAA28jB,GAAA7ijB,SAAF9Z,CAyiDwzC,QAAA28jB,GAAAhjT,SAAA,sBAAwD,WAAAijT,GAAA7tjB,GAAAC,IAA0hB,GAA1hB,EAAAD,IAziDh3C/O,MAAE,2BAyiDw4D,EAAA+O,GAAA,OAAA4tjB,GAziD14D38jB,cAAE,WAAA28jB,GAAA7ijB,SAyiDwxD,WAAA+ijB,GAAA9tjB,GAAAC,IAAqS,GAArS,EAAAD,KAziD1xD/O,MAAE,YAAFA,MAAE,GAAFA,SAyiD+jE,EAAA+O,GAAA,OAAA4tjB,GAziD/jE38jB,sBAAE,IAAA28jB,GAAA9wjB,MAAAmvB,MAAA,IAyiDsjE,QAAA8hiB,GAAA,+BAAApC,GAAA,MAvlDtpEqC,GAAyB,IAAIn3iB,MAAe,oBAAqB,CACnEllB,WAAY,OACZF,QANJ,SAASw8jB,KACL,OAAO,CACX,IAMA,IAMMzkiB,GAAe,MAArB,MAAMA,GACF/4B,YAAY0id,GAA0B+6G,GAAel3iB,IACjDhmB,KAAKk9jB,cAAgBA,GACrBl9jB,KAAKgmB,UAAYA,GAEjBhmB,KAAKm9jB,sBAAuB,EAG5Bh7G,GAAyBP,uCACpB5hd,KAAKm9jB,uBACNn9jB,KAAKm9jB,sBAAuB,EAepC,CAEAC,gBAAgB5vkB,IACZ,UAAIs7d,UAG8B,kBAAvB9od,KAAKk9jB,cACLl9jB,KAAKk9jB,gBAEPl9jB,KAAKk9jB,cAAc1vkB,IAChC,QACSwS,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFiqB,IAAVv4B,MAA2CC,MAA3CD,MAAmF+8jB,GAAsB,GAAzG/8jB,MAAsIwoB,MAAQ,CAA6C,QAClRzoB,KAAKm4B,UADkFl4B,KAAE,CAAAgO,KACSuqB,IAAkE,QACpKx4B,KAAKo4B,UAFkFn4B,MAAE,CAAAq4B,QAAA,CAEoCqqb,KAAYA,OAAgB,EACrK,OAvCKnqb,EAAe,KA8KrB,MAAM6kiB,GACF59jB,YAAY69jB,GAAiBC,GAAWC,GAAkBC,GAAaC,IACnE19jB,KAAKs9jB,gBAAkBA,GACvBt9jB,KAAKu9jB,UAAYA,GACjBv9jB,KAAKw9jB,iBAAmBA,GACxBx9jB,KAAKy9jB,YAAcA,GACnBz9jB,KAAK09jB,cAAgBA,GAErB19jB,KAAK29jB,YAAa,CACtB,CAEAC,mBACI,MAAMC,GAAW79jB,KAAK29jB,WAChBt3gB,GAASrmD,KAAKw9jB,kBAAoBx9jB,KAAKy9jB,YACvC3zI,GAAU9pb,KAAK8pb,SAAW9pb,KAAKs9jB,gBAC/B7Y,GAAUzkjB,KAAKu9jB,UAAYv9jB,KAAKu9jB,UAAU9Y,QAAU,KACpDr0P,GAAW05H,IAASg0I,aAAarZ,GAASp+f,MAAW,EACvD+pQ,KAAaytQ,KACb79jB,KAAK29jB,WAAavtQ,GAClBpwT,KAAK09jB,cAAc/wjB,OAE3B,EAyFJ,MAAMwtjB,GAAkB,IAAIt0iB,MAAe,kBAAmB,CAC1DllB,WAAY,OACZF,QAGJ,SAASs9jB,KACL,SAAO9siB,OAAOqgd,MAClB,IAEA,MAAMmnF,GACFh5jB,cACIO,KAAKg+jB,eAAiB,IAAI13iB,IAE1BtmB,KAAKi+jB,cAAgBj+jB,KAAKg+jB,cAC9B,CAOAE,mBAAmBj9hB,IACf,OAAOjhC,KAAKk6jB,eAAej5hB,KAAQjhC,KAAK6I,QAAQo4B,IAAOA,GAAM,IACjE,CAaAo2L,YAAY/pO,IACR,OAAa,MAATA,IAAkB0S,KAAKk6jB,eAAe5skB,KAAU0S,KAAK6I,QAAQvb,IACtDA,GAEJ0S,KAAKiI,SAChB,CAKA0wjB,UAAU5mkB,IACNiO,KAAKjO,OAASA,GACdiO,KAAKg+jB,eAAerxjB,MACxB,CAQAwxjB,YAAYzviB,GAAOm3K,IACf,OAAQ7lM,KAAKm5jB,QAAQzqiB,IAAS1uB,KAAKm5jB,QAAQtzX,KACvC7lM,KAAK+8a,SAASruZ,IAAS1uB,KAAK+8a,SAASl3O,KACrC7lM,KAAK48a,QAAQluZ,IAAS1uB,KAAK48a,QAAQ/2O,GAC3C,CAQAu4X,SAAS1viB,GAAOm3K,IACZ,GAAIn3K,IAASm3K,GAAQ,CACjB,IAAIw4X,GAAar+jB,KAAK6I,QAAQ6lB,IAC1B4viB,GAAct+jB,KAAK6I,QAAQg9L,IAC/B,OAAIw4X,IAAcC,IACNt+jB,KAAKm+jB,YAAYzviB,GAAOm3K,IAE7Bw4X,IAAcC,EACzB,CACA,OAAO5viB,IAASm3K,EACpB,CASA04X,UAAU1rgB,GAAMxlC,GAAKD,IACjB,OAAIC,IAAOrtB,KAAKm+jB,YAAYtrgB,GAAMxlC,IAAO,EAC9BA,GAEPD,IAAOptB,KAAKm+jB,YAAYtrgB,GAAMzlC,IAAO,EAC9BA,GAEJylC,EACX,EAGJ,MAAM6ngB,GAAmB,IAAI70iB,MAAe,oBAOtC24iB,GAAiB,qFAEvB,SAAS3hW,GAAMzqO,GAAQkmkB,IACnB,MAAMC,GAAcjnkB,MAAMc,IAC1B,QAAS21B,GAAI,EAAGA,GAAI31B,GAAQ21B,KACxBwwiB,GAAYxwiB,IAAKuwiB,GAAcvwiB,IAEnC,OAAOwwiB,EACX,CACA,IACMkG,GAAiB,MAAvB,MAAMA,WAA0BhG,GAC5Bh5jB,YAKAi/jB,IACIluhB,QAKAxwC,KAAK2+jB,kBAAmB,EAExB3+jB,KAAK4+jB,kBAAiB3tiB,OAAOkpiB,GAAiB,CAAErhhB,UAAU,SACpCzqD,IAAlBqwkB,KACA1+jB,KAAK4+jB,eAAiBF,IAE1BluhB,MAAMmohB,UAAU34jB,KAAK4+jB,eACzB,CACAzF,QAAQtmgB,IACJ,OAAOA,GAAKw0R,aAChB,CACA01F,SAASlqX,IACL,OAAOA,GAAKkqX,UAChB,CACAH,QAAQ/pX,IACJ,OAAOA,GAAK+pX,SAChB,CACAw8I,aAAavmgB,IACT,OAAOA,GAAKiqX,QAChB,CACAu8I,cAAcxviB,IACV,MAAMg1iB,GAAM,IAAI//Q,KAAKG,eAAej/S,KAAKjO,OAAQ,CAAE4uE,MAAO92C,GAAOi1iB,SAAU,QAC3E,OAAOjiW,GAAM,GAAI90M,IAAK/nB,KAAKgpC,QAAQ61hB,GAAK,IAAI7whB,KAAK,KAAMjmB,GAAG,IAC9D,CACAuxiB,eACI,MAAMuF,GAAM,IAAI//Q,KAAKG,eAAej/S,KAAKjO,OAAQ,CAAE6uE,IAAK,UAAWk+f,SAAU,QAC7E,OAAOjiW,GAAM,GAAI90M,IAAK/nB,KAAKgpC,QAAQ61hB,GAAK,IAAI7whB,KAAK,KAAM,EAAGjmB,GAAI,IAClE,CACAwxiB,kBAAkB1viB,IACd,MAAMg1iB,GAAM,IAAI//Q,KAAKG,eAAej/S,KAAKjO,OAAQ,CAAEivE,QAASn3C,GAAOi1iB,SAAU,QAC7E,OAAOjiW,GAAM,EAAG90M,IAAK/nB,KAAKgpC,QAAQ61hB,GAAK,IAAI7whB,KAAK,KAAM,EAAGjmB,GAAI,IACjE,CACAyxiB,YAAY3mgB,IACR,MAAMgsgB,GAAM,IAAI//Q,KAAKG,eAAej/S,KAAKjO,OAAQ,CAAE2uE,KAAM,UAAWo+f,SAAU,QAC9E,OAAO9+jB,KAAKgpC,QAAQ61hB,GAAKhsgB,GAC7B,CACA4mgB,oBAEI,OAAO,CACX,CACAC,kBAAkB7mgB,IACd,OAAO7yD,KAAK48a,QAAQ58a,KAAK++jB,wBAAwB/+jB,KAAKm5jB,QAAQtmgB,IAAO7yD,KAAK+8a,SAASlqX,IAAQ,EAAG,GAClG,CACAlrC,MAAMkrC,IACF,OAAO,IAAI7kB,KAAK6kB,GAAKyyB,UACzB,CACAi6V,WAAW7+W,GAAMC,GAAO9N,IAWpB,IAAIv1D,GAAS0C,KAAK++jB,wBAAwBr+f,GAAMC,GAAO9N,IAEnDv1D,UAAOy/a,WAGJz/a,EACX,CACAise,QACI,OAAO,IAAIv7b,IACf,CACAvwC,MAAMnQ,GAAOsskB,IAGT,MAAoB,iBAATtskB,GACA,IAAI0gD,KAAK1gD,IAEbA,GAAQ,IAAI0gD,KAAKA,KAAKvwC,MAAMnQ,KAAU,IACjD,CACA2wE,OAAOpL,GAAMgngB,IACT,IAAK75jB,KAAK6I,QAAQgqD,IACd,MAAMhrB,MAAM,kDAEhB,MAAMg3hB,GAAM,IAAI//Q,KAAKG,eAAej/S,KAAKjO,OAAQ,IAAK8nkB,GAAeiF,SAAU,QAC/E,OAAO9+jB,KAAKgpC,QAAQ61hB,GAAKhsgB,GAC7B,CACAingB,iBAAiBjngB,GAAM8lX,IACnB,OAAO34a,KAAK+5jB,kBAAkBlngB,GAAc,GAAR8lX,GACxC,CACAohJ,kBAAkBlngB,GAAMo4W,IACpB,IAAI27D,GAAU5me,KAAK++jB,wBAAwB/+jB,KAAKm5jB,QAAQtmgB,IAAO7yD,KAAK+8a,SAASlqX,IAAQo4W,GAAQjra,KAAK48a,QAAQ/pX,KAK1G,OAAI7yD,KAAK+8a,SAAS6pD,OAAe5me,KAAK+8a,SAASlqX,IAAQo4W,IAAU,GAAM,IAAM,KACzE27D,GAAU5me,KAAK++jB,wBAAwB/+jB,KAAKm5jB,QAAQvyF,IAAU5me,KAAK+8a,SAAS6pD,IAAU,IAEnFA,EACX,CACAozF,gBAAgBnngB,GAAM82B,IAClB,OAAO3pF,KAAK++jB,wBAAwB/+jB,KAAKm5jB,QAAQtmgB,IAAO7yD,KAAK+8a,SAASlqX,IAAO7yD,KAAK48a,QAAQ/pX,IAAQ82B,GACtG,CACAswe,UAAUpngB,IACN,MAAO,CACHA,GAAKqwB,iBACLljF,KAAKg/jB,QAAQnsgB,GAAKwwB,cAAgB,GAClCrjF,KAAKg/jB,QAAQnsgB,GAAKywB,eACpB53C,KAAK,IACX,CAMA2rL,YAAY/pO,IACR,GAAqB,iBAAVA,GAAoB,CAC3B,IAAKA,GACD,OAAO,KAIX,GAAIkxkB,GAAerje,KAAK7tG,IAAQ,CAC5B,IAAIulE,GAAO,IAAI7kB,KAAK1gD,IACpB,GAAI0S,KAAK6I,QAAQgqD,IACb,OAAOA,EAEf,CACJ,CACA,OAAOriB,MAAM6mL,YAAY/pO,GAC7B,CACA4skB,eAAej5hB,IACX,OAAOA,cAAe+M,IAC1B,CACAnlC,QAAQgqD,IACJ,OAAQx6D,MAAMw6D,GAAKyyB,UACvB,CACAr9E,UACI,OAAO,IAAI+lC,KAAKg9K,IACpB,CAEA+zW,wBAAwBr+f,GAAMC,GAAO9N,IAGjC,MAAM/kE,GAAI,IAAIkgD,KACdlgD,UAAE4vb,YAAYh9W,GAAMC,GAAO9N,IAC3B/kE,GAAEwvb,SAAS,EAAG,EAAG,EAAG,GACbxvb,EACX,CAMAkxkB,QAAQvtkB,IACJ,OAAQ,KAAOA,IAAGmwC,OAAM,EAC5B,CAYAoH,QAAQ61hB,GAAKhsgB,IAGT,MAAM/kE,GAAI,IAAIkgD,KACdlgD,UAAE2vb,eAAe5qX,GAAKw0R,cAAex0R,GAAKkqX,WAAYlqX,GAAK+pX,WAC3D9ub,GAAEuvb,YAAYxqX,GAAK8pX,WAAY9pX,GAAK6pX,aAAc7pX,GAAK4pX,aAAc5pX,GAAK2pX,mBACnEqiJ,GAAI5ggB,OAAOnwE,GACtB,QACSkS,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFkwjB,IApiBVx+jB,MAoiB6Ck6jB,GAAe,IAA+D,QAClNn6jB,KAAKszD,WAriBkFrzD,MAAE,CAAAhQ,MAqiBYwukB,GAAiBh+jB,QAAjBg+jB,GAAiB/9jB,WAAK,EACvI,OA1LK+9jB,EAAiB,KAoMvB,MAAMQ,GAA0B,CAC5BxhkB,MAAO,CACH48jB,UAAW,MAEf5/gB,QAAS,CACL4/gB,UAAW,CAAE35f,KAAM,UAAWC,MAAO,UAAWC,IAAK,WACrD05f,eAAgB,CAAE55f,KAAM,UAAWC,MAAO,SAC1C45f,cAAe,CAAE75f,KAAM,UAAWC,MAAO,OAAQC,IAAK,WACtD45f,mBAAoB,CAAE95f,KAAM,UAAWC,MAAO,UAEpD,IAaI75D,GAAmB,MAAzB,MAAMA,UACO9G,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFzH,GAAmB,CAAoD,QACxK9G,KAAKm4B,UAzkBkFl4B,KAAE,CAAAgO,KAykBSnH,IAAwB,QAC1H9G,KAAKo4B,UA1kBkFn4B,MAAE,CAAAo4B,UA0kByC,CAAC6miB,OAAgC,EAC/K,OAJKp4jB,EAAmB,KAWzB,SAASo4jB,GAAyB1wI,GAAUywI,IACxC,MAAO,CACH,CAAEtuiB,QAAS8niB,GAAav2f,SAAUu8f,IAClC,CAAE9tiB,QAAS+piB,GAAkBt4f,SAAUosX,IAE/C,CAEA,IAYM2wI,GAAiB,MAAvB,MAAMA,GACFrB,aAAarZ,GAASh8iB,IAClB,SAAUg8iB,IAAWA,GAAQx8iB,UAAYw8iB,GAAQp1e,SAAY5mE,IAAQA,GAAKtV,WAC9E,QACS6M,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF4wjB,GAAiB,CAAsD,QACxKn/jB,KAAKszD,WA1mBkFrzD,MAAE,CAAAhQ,MA0mBYkvkB,GAAiB1+jB,QAAjB0+jB,GAAiBz+jB,UAAAC,WAAc,QAAW,EAC3J,OANKw+jB,EAAiB,KAkEvB,IAAIC,GACH,SAAUA,IACPA,UAAYA,GAAYC,UAAe,GAAK,YAC5CD,GAAYA,GAAYE,QAAa,GAAK,UAC1CF,GAAYA,GAAYG,WAAgB,GAAK,aAC7CH,GAAYA,GAAYI,OAAY,GAAK,SAJlCJ,EAKX,CALC,CAKEA,IAA8B,CAAC,GAIlC,MAAMK,GACFhgkB,YAAY6uc,GAEZx+a,GAEA9/B,GAEA0vkB,IAAuC,GACnC1/jB,KAAKsuc,UAAYA,GACjBtuc,KAAK8vB,QAAUA,GACf9vB,KAAKhQ,OAASA,GACdgQ,KAAK0/jB,qCAAuCA,GAE5C1/jB,KAAKhX,MAAQo2kB,GAAYI,MAC7B,CAEAG,UACI3/jB,KAAKsuc,UAAUsxH,cAAc5/jB,KACjC,EAIJ,MAAM6/jB,IAAiCnuiB,QAAgC,CACnEC,SAAS,EACT4xE,SAAS,IAGb,MAAMu8d,GACFrgkB,cACIO,KAAKktD,QAAU,IAAIjqB,IAEnBjjC,KAAK+/jB,sBAAyBv0jB,KAC1B,MAAMs9C,MAASszZ,MAAgB5wc,IAC3Bs9C,IACA9oD,KAAKktD,QAAQxkD,IAAI8C,GAAMyC,OAAOmd,QAAQ,CAACspF,GAAU5kF,OACzCA,KAAYg5B,IAAUh5B,GAAQlB,SAASk6B,MACvC4rD,GAAStpF,QAAQwpF,IAAWA,GAAQo1M,YAAYx+S,IAAM,EAE7D,CAGb,CAEAwjC,WAAWw4J,GAAQh6M,GAAMsiC,GAAS8kF,IAC9B,MAAMord,GAAmBhgkB,KAAKktD,QAAQxkD,IAAIlb,IAC1C,GAAIwykB,GAAkB,CAClB,MAAMC,GAAqBD,GAAiBt3jB,IAAIonB,IAC5CmwiB,GACAA,GAAmBl0jB,IAAI6oG,IAGvBord,GAAiB98hB,IAAIpT,GAAS,IAAI81B,IAAI,CAACgvD,KAE/C,MAEI50G,KAAKktD,QAAQhqB,IAAI11C,GAAM,IAAIy1C,IAAI,CAAC,CAACnT,GAAS,IAAI81B,IAAI,CAACgvD,SACnD4yF,GAAOrmD,kBAAkB,KACrBl0I,SAASymB,iBAAiBlmC,GAAMwS,KAAK+/jB,sBAAuBF,GAA8B,EAGtG,CAEA3whB,cAAc1hD,GAAMsiC,GAAS8kF,IACzB,MAAMord,GAAmBhgkB,KAAKktD,QAAQxkD,IAAIlb,IAC1C,IAAKwykB,GACD,OAEJ,MAAMC,GAAqBD,GAAiBt3jB,IAAIonB,IAC3CmwiB,KAGLA,GAAmBv4hB,OAAOktE,IACM,IAA5Bqrd,GAAmB3ke,MACnB0ke,GAAiBt4hB,OAAO5X,IAEE,IAA1BkwiB,GAAiB1ke,OACjBt7F,KAAKktD,QAAQxlB,OAAOl6C,IACpByf,SAAS4mB,oBAAoBrmC,GAAMwS,KAAK+/jB,sBAAuBF,KAEvE,EAOJ,MAAMK,GAA+B,CACjCC,cAAe,IACfC,aAAc,KAQZC,IAA+B3uiB,QAAgC,CACjEC,SAAS,EACT4xE,SAAS,IAGP+8d,GAAoB,CAAC,YAAa,cAElCC,GAAkB,CAAC,UAAW,aAAc,WAAY,eAQ9D,MAAMC,UACOxgkB,KAAKygkB,cAAgB,IAAIX,EAAsB,CACxDrgkB,YAAY8ve,GAAShkd,GAASsxc,GAAqBhtB,IAC/C7vc,KAAKuve,QAAUA,GACfvve,KAAKurB,QAAUA,GACfvrB,KAAK6vc,UAAYA,GAEjB7vc,KAAK0gkB,gBAAiB,EAOtB1gkB,KAAK2gkB,eAAiB,IAAI19hB,IAE1BjjC,KAAK4gkB,4BAA6B,EAE9B/wH,GAAUG,YACVhwc,KAAK2od,qBAAoBvJ,MAAcyd,IAE/C,CAOAgkG,aAAa1ikB,GAAG8uC,GAAGj9C,GAAS,CAAC,GACzB,MAAMk+d,GAAiBlud,KAAK+td,eACxB/td,KAAK+td,gBAAkB/td,KAAK2od,kBAAkB16T,wBAC5C6ya,GAAkB,IAAKZ,MAAiClwkB,GAAO8gC,WACjE9gC,GAAOyskB,WACPt+jB,GAAI+vd,GAAcr+a,KAAOq+a,GAAcv+a,MAAQ,EAC/C1C,GAAIihb,GAAcj+a,IAAMi+a,GAAcl+a,OAAS,GAEnD,MAAM+whB,GAAS/wkB,GAAO+wkB,QAoQ9B,SAASC,GAAyB7ikB,GAAG8uC,GAAGq1H,IACpC,MAAM2+Z,GAAQ9ziB,KAAKC,IAAID,KAAK82D,IAAI9lF,GAAImkK,GAAKzyH,MAAO1iB,KAAK82D,IAAI9lF,GAAImkK,GAAKjnE,QAC5D6le,GAAQ/ziB,KAAKC,IAAID,KAAK82D,IAAIh3C,GAAIq1H,GAAKryH,KAAM9iB,KAAK82D,IAAIh3C,GAAIq1H,GAAKC,SACjE,OAAOp1I,KAAK2wL,KAAKmjX,GAAQA,GAAQC,GAAQA,GAC7C,CAxQwCF,CAAyB7ikB,GAAG8uC,GAAGihb,IACzDxtQ,GAAUviN,GAAI+vd,GAAcr+a,KAC5BlZ,GAAUsW,GAAIihb,GAAcj+a,IAC5BkwhB,GAAgBW,GAAgBX,cAChCjF,GAASjujB,SAASknC,cAAc,OACtC+mhB,GAAO5viB,UAAUvf,IAAI,sBACrBmvjB,GAAOrxiB,MAAMgmB,KAAU6wK,GAAUqgX,GAAb,KACpB7F,GAAOrxiB,MAAMomB,IAAStZ,GAAUoqiB,GAAb,KACnB7F,GAAOrxiB,MAAMmmB,OAAqB,EAAT+whB,GAAH,KACtB7F,GAAOrxiB,MAAM8lB,MAAoB,EAAToxhB,GAAH,KAGD,MAAhB/wkB,GAAOqzN,QACP63W,GAAOrxiB,MAAMsuN,gBAAkBnoP,GAAOqzN,OAE1C63W,GAAOrxiB,MAAMs3iB,mBAAqB,GAAGhB,OACrCngkB,KAAK2od,kBAAkBl0a,YAAYymhB,IAKnC,MAAMkG,GAAiBxsjB,OAAOwtJ,iBAAiB84Z,IAEzCmG,GAAyBD,GAAeD,mBAMxCG,GAAiE,SAPxCF,GAAeG,oBAUf,OAA3BF,IAC2B,WAA3BA,IAEyB,IAAxBnzG,GAAcv+a,OAAwC,IAAzBu+a,GAAcl+a,OAE1CwxhB,GAAY,IAAI/B,GAAUz/jB,KAAMk7jB,GAAQlrkB,GAAQsxkB,IAKtDpG,GAAOrxiB,MAAME,UAAY,mBACzBy3iB,GAAUx4kB,MAAQo2kB,GAAYC,UACzBrvkB,GAAOyxkB,aACRzhkB,KAAK0hkB,2BAA6BF,IAEtC,IAAIhjR,GAAiB,KAGrB,OAAK8iR,KAAwCnB,IAAiBW,GAAgBV,eAC1EpgkB,KAAKurB,QAAQ41H,kBAAkB,KAC3B,MAAMwgb,GAAkBA,IAAM3hkB,KAAK4hkB,wBAAwBJ,IACrDK,GAAqBA,IAAM7hkB,KAAK8hkB,eAAeN,IACrDtG,GAAOxniB,iBAAiB,gBAAiBiuiB,IAIzCzG,GAAOxniB,iBAAiB,mBAAoBmuiB,IAC5CrjR,GAAiB,CAAEmjR,mBAAiBE,sBAAmB,GAI/D7hkB,KAAK2gkB,eAAez9hB,IAAIs+hB,GAAWhjR,KAG/B8iR,KAAwCnB,KACxCngkB,KAAK4hkB,wBAAwBJ,IAE1BA,EACX,CAEA5B,cAAc4B,IAEV,GAAIA,GAAUx4kB,QAAUo2kB,GAAYG,YAAciC,GAAUx4kB,QAAUo2kB,GAAYI,OAC9E,OAEJ,MAAMuC,GAAWP,GAAU1xiB,QACrBgxiB,GAAkB,IAAKZ,MAAiCsB,GAAUxxkB,OAAO8gC,WAG/EixiB,GAASl4iB,MAAMs3iB,mBAAqB,GAAGL,GAAgBV,iBACvD2B,GAASl4iB,MAAMC,QAAU,IACzB03iB,GAAUx4kB,MAAQo2kB,GAAYG,YAG1BiC,GAAU9B,uCAAyCoB,GAAgBV,eACnEpgkB,KAAK4hkB,wBAAwBJ,GAErC,CAEAQ,aACIhikB,KAAKiikB,oBAAoB72iB,QAAQ8viB,IAAUA,GAAOyE,UACtD,CAEAuC,0BACIlikB,KAAKiikB,oBAAoB72iB,QAAQ8viB,KACxBA,GAAOlrkB,OAAOyxkB,YACfvG,GAAOyE,SAAQ,EAG3B,CAEAwC,mBAAmBtlG,IACf,MAAM/sc,MAAUsvb,MAAcyd,KACzB78d,KAAK6vc,UAAUG,YAAclgb,IAAWA,KAAY9vB,KAAKoikB,kBAI9DpikB,KAAKqikB,uBACLrikB,KAAKoikB,gBAAkBtyiB,GAGvBwwiB,GAAkBl1iB,QAAQnd,KACtBuyjB,GAAeC,cAAczxhB,WAAWhvC,KAAKurB,QAAStd,GAAM6hB,GAAS9vB,KAAI,GAEjF,CAKAgqT,YAAYx+S,IACW,cAAfA,GAAMyC,KACNjO,KAAKq8c,aAAa7wc,IAEE,eAAfA,GAAMyC,KACXjO,KAAKsikB,cAAc92jB,IAGnBxL,KAAKuikB,eAKJvikB,KAAK4gkB,6BAMN5gkB,KAAKurB,QAAQ41H,kBAAkB,KAC3Bo/a,GAAgBn1iB,QAAQnd,KACpBjO,KAAKoikB,gBAAgB1uiB,iBAAiBzlB,GAAMjO,KAAMqgkB,GAA4B,EACjF,GAELrgkB,KAAK4gkB,4BAA6B,EAE1C,CAEAgB,wBAAwBJ,IAChBA,GAAUx4kB,QAAUo2kB,GAAYC,UAChCr/jB,KAAKwikB,wBAAwBhB,IAExBA,GAAUx4kB,QAAUo2kB,GAAYG,YACrCv/jB,KAAK8hkB,eAAeN,GAE5B,CAKAgB,wBAAwBhB,IACpB,MAAMiB,GAA8BjB,KAAcxhkB,KAAK0hkB,4BAC/CD,eAAeD,GAAUxxkB,OACjCwxkB,GAAUx4kB,MAAQo2kB,GAAYE,SAKzBmC,MAAgBgB,KAAgCzikB,KAAK0gkB,iBACtDc,GAAU7B,SAElB,CAEAmC,eAAeN,IACX,MAAMhjR,GAAiBx+S,KAAK2gkB,eAAej4jB,IAAI84jB,KAAc,KAC7DxhkB,KAAK2gkB,eAAej5hB,OAAO85hB,IAEtBxhkB,KAAK2gkB,eAAerle,OACrBt7F,KAAK+td,eAAiB,MAItByzG,KAAcxhkB,KAAK0hkB,6BACnB1hkB,KAAK0hkB,2BAA6B,MAEtCF,GAAUx4kB,MAAQo2kB,GAAYI,OACP,OAAnBhhR,KACAgjR,GAAU1xiB,QAAQ+D,oBAAoB,gBAAiB2qR,GAAemjR,iBACtEH,GAAU1xiB,QAAQ+D,oBAAoB,mBAAoB2qR,GAAeqjR,qBAE7EL,GAAU1xiB,QAAQ9H,QACtB,CAEAq0b,aAAa7wc,IAGT,MAAMk3jB,MAAkBnriB,MAAgC/rB,IAClDm3jB,GAAmB3ikB,KAAK4ikB,sBAC1B50hB,KAAKC,MAAQjuC,KAAK4ikB,qBA5PG,KA6PpB5ikB,KAAKuve,QAAQszF,iBAAmBH,KAAoBC,KACrD3ikB,KAAK0gkB,gBAAiB,EACtB1gkB,KAAK6gkB,aAAar1jB,GAAMm0J,QAASn0J,GAAMo0J,QAAS5/J,KAAKuve,QAAQuzF,cAErE,CAEAR,cAAc92jB,IACV,IAAKxL,KAAKuve,QAAQszF,kBAAkB,EAAC3viB,MAAiC1nB,IAAQ,CAI1ExL,KAAK4ikB,qBAAuB50hB,KAAKC,MACjCjuC,KAAK0gkB,gBAAiB,EAGtB,MAAMzlH,GAAUzvc,GAAM0vc,eAGtB,GAAID,GACA,QAASlzb,GAAI,EAAGA,GAAIkzb,GAAQ7od,OAAQ21B,KAChC/nB,KAAK6gkB,aAAa5lH,GAAQlzb,IAAG43I,QAASs7S,GAAQlzb,IAAG63I,QAAS5/J,KAAKuve,QAAQuzF,aAGnF,CACJ,CAEAP,eACSvikB,KAAK0gkB,iBAGV1gkB,KAAK0gkB,gBAAiB,EAEtB1gkB,KAAKiikB,oBAAoB72iB,QAAQ8viB,MAKxBA,GAAOlrkB,OAAOyxkB,aAFDvG,GAAOlykB,QAAUo2kB,GAAYE,SAC1CpE,GAAOlrkB,OAAO+ykB,sBAAwB7H,GAAOlykB,QAAUo2kB,GAAYC,YAEpEnE,GAAOyE,SAAQ,GAG3B,CACAsC,oBACI,OAAO3wkB,MAAM4lE,KAAKl3D,KAAK2gkB,eAAetxiB,OAC1C,CAEAgziB,uBACI,MAAMz4iB,GAAU5pB,KAAKoikB,gBACjBx4iB,KACA02iB,GAAkBl1iB,QAAQnd,IAAQuyjB,GAAeC,cAAcvxhB,cAAcjhC,GAAM2b,GAAS5pB,OACxFA,KAAK4gkB,6BACLL,GAAgBn1iB,QAAQnd,IAAQ2b,GAAQiK,oBAAoB5lB,GAAMjO,KAAMqgkB,KACxErgkB,KAAK4gkB,4BAA6B,GAG9C,EAYJ,MAAMoC,GAA4B,IAAIn9iB,MAAe,6BAA6B,IAC5EyD,GAAS,MAAf,MAAMA,GAKF,YAAIvP,GACA,OAAO/Z,KAAKw7jB,SAChB,CACA,YAAIzhjB,CAASzsB,IACLA,IACA0S,KAAKkikB,0BAETlikB,KAAKw7jB,UAAYlukB,GACjB0S,KAAKijkB,8BACT,CAKA,WAAIr5iB,GACA,OAAO5pB,KAAKkjkB,UAAYljkB,KAAK+lB,YAAYsB,aAC7C,CACA,WAAIuC,CAAQA,IACR5pB,KAAKkjkB,SAAWt5iB,GAChB5pB,KAAKijkB,8BACT,CACAxjkB,YAAYsmB,GAAayhL,GAAQ4U,GAAU+mX,GAAe1H,IACtDz7jB,KAAK+lB,YAAcA,GACnB/lB,KAAKy7jB,eAAiBA,GAMtBz7jB,KAAK+gkB,OAAS,EACd/gkB,KAAKw7jB,WAAY,EAEjBx7jB,KAAKs6H,gBAAiB,EACtBt6H,KAAKojkB,eAAiBD,IAAiB,CAAC,EACxCnjkB,KAAKqjkB,gBAAkB,IAAI7C,GAAexgkB,KAAMwnM,GAAQzhL,GAAaq2L,GACzE,CACAvwM,WACI7L,KAAKs6H,gBAAiB,EACtBt6H,KAAKijkB,8BACT,CACA/0jB,cACIlO,KAAKqjkB,gBAAgBhB,sBACzB,CAEAL,aACIhikB,KAAKqjkB,gBAAgBrB,YACzB,CAEAE,0BACIlikB,KAAKqjkB,gBAAgBnB,yBACzB,CAKA,gBAAIY,GACA,MAAO,CACHrG,SAAUz8jB,KAAKy8jB,SACfsE,OAAQ/gkB,KAAK+gkB,OACb19W,MAAOrjN,KAAKqjN,MACZvyL,UAAW,IACJ9wB,KAAKojkB,eAAetyiB,aACK,mBAAxB9wB,KAAKy7jB,eAAsC,CAAE0E,cAAe,EAAGC,aAAc,GAAM,CAAC,KACrFpgkB,KAAK8wB,WAEZiyiB,qBAAsB/ikB,KAAKojkB,eAAeL,qBAElD,CAKA,kBAAIF,GACA,OAAO7ikB,KAAK+Z,YAAc/Z,KAAKojkB,eAAerpjB,QAClD,CAEAkpjB,gCACSjjkB,KAAK+Z,UAAY/Z,KAAKs6H,gBACvBt6H,KAAKqjkB,gBAAgBlB,mBAAmBnikB,KAAK4pB,QAErD,CAEA05iB,OAAOC,GAAWt2hB,GAAI,EAAGj9C,IACrB,MAAyB,iBAAduzkB,GACAvjkB,KAAKqjkB,gBAAgBxC,aAAa0C,GAAWt2hB,GAAG,IAAKjtC,KAAK8ikB,gBAAiB9ykB,KAG3EgQ,KAAKqjkB,gBAAgBxC,aAAa,EAAG,EAAG,IAAK7gkB,KAAK8ikB,gBAAiBS,IAElF,QACSvjkB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF+a,IA/qCVrpB,MA+qCqCA,OA/qCrCA,MA+qC+DA,OA/qC/DA,MA+qCqF+3B,MA/qCrF/3B,MA+qC+G+ikB,GAAyB,GA/qCxI/ikB,MA+qCqKs6L,MAAqB,IAA8D,QAC/Uv6L,KAAKi4B,UAhrCkFh4B,MAAE,CAAAgO,KAgrCJqb,GAAS3a,UAAA,2CAAAga,UAAA,iBAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAhrCP/O,MAAE,uBAAAgP,GAAAu0jB,UAgrCK,EAAA7tjB,OAAA,CAAA0tM,MAAA,CAhrCPpjN,MAAEwwB,KAAA,0BAAA+yiB,UAAA,CAAFvjkB,MAAEwwB,KAAA,kCAAAgsiB,SAAA,CAAFx8jB,MAAEwwB,KAAA,gCAAAswiB,OAAA,CAAF9gkB,MAAEwwB,KAAA,4BAAAK,UAAA,CAAF7wB,MAAEwwB,KAAA,kCAAA1W,SAAA,CAAF9Z,MAAEwwB,KAAA,gCAAA7G,QAAA,CAAF3pB,MAAEwwB,KAAA,+BAAAzH,SAAA,cAAAC,YAAA,GAgrC0gB,EAC/mB,OAjGKK,EAAS,KA8ITiP,GAAe,MAArB,MAAMA,UACOv4B,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFgqB,GAAe,CAAoD,QACpKv4B,KAAKm4B,UAhuCkFl4B,KAAE,CAAAgO,KAguCSsqB,IAAkG,QACpMv4B,KAAKo4B,UAjuCkFn4B,MAAE,CAAAq4B,QAAA,CAiuCoCE,GAAiBA,KAAqB,EAC/K,OAJKD,EAAe,KA0BfkriB,GAAiB,MAAvB,MAAMA,GACFhkkB,YAAYg8jB,IACRz7jB,KAAKy7jB,eAAiBA,GAEtBz7jB,KAAKhX,MAAQ,YAEbgX,KAAK+Z,UAAW,EAKhB/Z,KAAK0jkB,WAAa,MACtB,QACS1jkB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFk1jB,IArwCVxjkB,MAqwC6Cs6L,MAAqB,IAA8D,QACvNv6L,KAAK0oB,UAtwCkFzoB,MAAE,CAAAgO,KAswCJw1jB,GAAiB90jB,UAAA,0BAAAga,UAAA,0BAAAC,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAtwCf/O,MAAE,oCAswCM,kBAtwCNgP,GAAAjmB,MAAFiX,CAswCe,8BAAP,YAAOgP,GAAAjmB,MAtwCfiX,CAswCe,+BAAAgP,GAAA8K,SAtwCf9Z,CAswCe,8BAAF,YAAEgP,GAAAy0jB,WAtwCfzjkB,CAswCe,2BAAF,SAAEgP,GAAAy0jB,WAtwCfzjkB,CAswCe,0BAAE,mBAAFgP,GAAAwsjB,eAAA,EAAA9ljB,OAAA,CAAA3sB,MAAA,QAAA+wB,SAAA,WAAA2pjB,WAAA,cAAAz6iB,YAAA,EAAAC,SAAA,CAtwCfjpB,OAAE2O,MAAA,EAAAC,KAAA,EAAAE,SAAA,SAAAC,GAAAC,IAAA,EAAA4hB,OAAA,09FAAAtH,cAAA,EAAAC,gBAAA,GAswCusH,EAC5yH,OAfKi6iB,EAAiB,KAwCjBE,GAAuB,MAA7B,MAAMA,UACO3jkB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFo1jB,GAAuB,CAAoD,QAC5K3jkB,KAAKm4B,UAlyCkFl4B,KAAE,CAAAgO,KAkyCS01jB,IAAyG,QAC3M3jkB,KAAKo4B,UAnyCkFn4B,MAAE,CAAAq4B,QAAA,CAmyC4CE,KAAqB,EACtK,OAJKmriB,EAAuB,KAgB7B,MAAMC,GAA8B,IAAI/9iB,MAAe,+BA4BjDg+iB,GAAe,IAAIh+iB,MAAe,eACxC,IAsCIi+iB,GAAmB,EAEvB,MAAMC,GACFtkkB,YAEAq0C,GAEAkwhB,IAAc,GACVhkkB,KAAK8zC,OAASA,GACd9zC,KAAKgkkB,YAAcA,EACvB,EAEJ,IAGMC,GAAS,MAAf,MAAMA,GAEF,YAAIh8S,GACA,OAAOjoR,KAAKoxhB,SAAWpxhB,KAAKoxhB,QAAQnpQ,QACxC,CAEA,YAAIrO,GACA,OAAO55Q,KAAK+0S,SAChB,CAEA,YAAIh7R,GACA,OAAQ/Z,KAAK8L,OAAS9L,KAAK8L,MAAMiO,UAAa/Z,KAAKw7jB,SACvD,CACA,YAAIzhjB,CAASzsB,IACT0S,KAAKw7jB,UAAYlukB,EACrB,CAEA,iBAAI84B,GACA,SAAUpmB,KAAKoxhB,UAAWpxhB,KAAKoxhB,QAAQhrgB,cAC3C,CAEA,gCAAI89iB,GACA,SAAUlkkB,KAAKoxhB,UAAWpxhB,KAAKoxhB,QAAQ8yC,6BAC3C,CACAzkkB,YAAY8yB,GAAUpM,GAAoBirgB,GAAStlhB,IAC/C9L,KAAKuyB,SAAWA,GAChBvyB,KAAKmmB,mBAAqBA,GAC1BnmB,KAAKoxhB,QAAUA,GACfpxhB,KAAK8L,MAAQA,GACb9L,KAAK+0S,WAAY,EACjB/0S,KAAKiqc,SAAU,EACfjqc,KAAKw7jB,WAAY,EACjBx7jB,KAAKmkkB,qBAAuB,GAE5BnkkB,KAAKxX,GAAK,cAAcs7kB,KAGxB9jkB,KAAKokkB,kBAAoB,IAAIt4iB,MAE7B9rB,KAAK09jB,cAAgB,IAAIp3iB,GAC7B,CAOA,UAAI+Q,GACA,OAAOr3B,KAAKiqc,OAChB,CAKA,aAAIo6H,GAEA,OAAQrkkB,KAAKskkB,OAAOj9iB,cAAcY,aAAe,IAAI/S,MACzD,CAEApK,OAAOygjB,IAAY,GACVvrjB,KAAK+0S,YACN/0S,KAAK+0S,WAAY,EACjB/0S,KAAKmmB,mBAAmBiC,eACpBmjiB,IACAvrjB,KAAKukkB,4BAGjB,CAEAngH,SAASmnG,IAAY,GACbvrjB,KAAK+0S,YACL/0S,KAAK+0S,WAAY,EACjB/0S,KAAKmmB,mBAAmBiC,eACpBmjiB,IACAvrjB,KAAKukkB,4BAGjB,CAEAp3jB,MAAM2pc,GAASlwb,IAGX,MAAMkJ,GAAU9vB,KAAK8mB,kBACQ,mBAAlBgJ,GAAQ3iB,OACf2iB,GAAQ3iB,MAAMyZ,GAEtB,CAMAiwb,kBACS72c,KAAKiqc,UACNjqc,KAAKiqc,SAAU,EACfjqc,KAAKmmB,mBAAmBiC,eAEhC,CAMAwub,oBACQ52c,KAAKiqc,UACLjqc,KAAKiqc,SAAU,EACfjqc,KAAKmmB,mBAAmBiC,eAEhC,CAEAV,WACI,OAAO1nB,KAAKqkkB,SAChB,CAEAp/iB,eAAezZ,KACNA,GAAMoiB,UAAY6J,MAASjsB,GAAMoiB,UAAY8J,SAAU,EAAC5J,MAAetiB,MACxExL,KAAKwkkB,wBAELh5jB,GAAM+b,iBAEd,CAKAi9iB,wBACSxkkB,KAAK+Z,WACN/Z,KAAK+0S,WAAY/0S,KAAKioR,WAAYjoR,KAAK+0S,UACvC/0S,KAAKmmB,mBAAmBiC,eACxBpoB,KAAKukkB,2BAA0B,GAEvC,CAKAn9iB,eACI,OAAOpnB,KAAK+Z,SAAW,KAAO,GAClC,CAEA+M,kBACI,OAAO9mB,KAAKuyB,SAASlL,aACzB,CACAo2e,qBAMI,GAAIz9f,KAAK+0S,UAAW,CAChB,MAAMsvR,GAAYrkkB,KAAKqkkB,UACnBA,KAAcrkkB,KAAKmkkB,uBACfnkkB,KAAKmkkB,sBACLnkkB,KAAK09jB,cAAc/wjB,OAEvB3M,KAAKmkkB,qBAAuBE,GAEpC,CACJ,CACAn2jB,cACIlO,KAAK09jB,cAAcv2iB,UACvB,CAEAo9iB,0BAA0BP,IAAc,GACpChkkB,KAAKokkB,kBAAkBj/iB,KAAK,IAAI4+iB,GAAyB/jkB,KAAMgkkB,IACnE,QACShkkB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF01jB,IAxiDVhkkB,MAwiDqCA,OAxiDrCA,MAwiD+DA,OAxiD/DA,MAwiDgG2jkB,GAA2B,GAxiD3H3jkB,MAwiDwJ4jkB,GAAY,IAA8D,QACzT7jkB,KAAK0oB,UAziDkFzoB,MAAE,CAAAgO,KAyiDJg2jB,GAASt1jB,UAAA,iBAAA2hB,UAAA,SAAAthB,GAAAC,IAziDL,GAyiDK,EAAAD,IAziDP/O,MAAE0R,GAAA,KAAA3C,GAAA,KAAAohB,GAAFnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAAq1jB,MAAAl0iB,GAAA1B,MAAA,GAAA/F,UAAA,QAyiDkO,SAAQ,oCAAAC,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAziD5O/O,MAAE,0BAyiDJgP,GAAAu1jB,uBAAuB,EAziDrBvkkB,CAyiDO,mBAAAmI,IAAA,OAAT6G,GAAAgW,eAAA7c,GAAsB,GAAb,EAAA4G,KAziDP/O,MAAE,KAAAgP,GAAAzmB,IAAFyX,MAAE,gBAAAgP,GAAA2qQ,SAAF35Q,CAAE,gBAyiDJgP,GAAA8K,SAAAonB,YAziDElhC,MAAE,0BAAAgP,GAAA2qQ,SAAF35Q,CAyiDO,0BAAAgP,GAAAg5Q,SAziDPhoR,CAyiDO,wBAAAgP,GAAAooB,OAziDPp3B,CAyiDO,0BAAAgP,GAAA8K,UAAA,EAAApE,OAAA,CAAAroB,MAAA,QAAA9E,GAAA,KAAAuxB,SAAA,CAziDP9Z,MAAE6oB,2BAAA,sBAyiD0HC,QAAgB2H,QAAA,CAAA0ziB,kBAAA,qBAAAp7iB,SAAA,cAAAC,YAAA,EAAAC,SAAA,CAziD5IjpB,aAAEmpB,mBAAAsziB,GAAA9tjB,MAAA,EAAAC,KAAA,EAAAC,OAAA,6YAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAE8kB,IAAF9kB,MAAE,EAAA08jB,GAAA,6BAAF18jB,MAAE,GAAFA,MAAE,cAAFA,MAAE,KAAFA,cAAE,EAAA48jB,GAAA,4BAAF58jB,CAyiD6qD,EAAA68jB,GAAA,cAziD7qD78jB,MAAE,YAyiD0wE,EAAA+O,KAziD5wE/O,MAAE,EAAAgP,GAAAg5Q,SAAA,MAAFhoR,MAAE,GAAFA,MAAE,EAAAgP,GAAAg5Q,WAAAh5Q,GAAA2qQ,UAAA3qQ,GAAAi1jB,8BAAA,KAAFjkkB,cAAE,EAAAgP,GAAAnD,OAAAmD,GAAAnD,MAAA24jB,OAAA,MAAFxkkB,cAAE,mBAAAgP,GAAA6X,kBAAF7mB,CAyiDitE,oBAAAgP,GAAA8K,UAAA9K,GAAAmX,eAAkD,EAAAiD,aAAA,CAAqvGo6iB,GAA8Hn6iB,IAASuH,OAAA,grGAAAtH,cAAA,EAAAC,gBAAA,GAA+T,EACjiM,OAxKKy6iB,EAAS,KA+Nf,SAASS,GAA8BC,GAAa/9iB,GAASg+iB,IACzD,GAAIA,GAAaxykB,OAAQ,CACrB,IAAIyykB,GAAej+iB,GAAQsG,UACvB2nO,GAAS+vU,GAAa13iB,UACtB43iB,GAAe,EACnB,QAAS/8iB,GAAI,EAAGA,GAAI48iB,GAAc,EAAG58iB,KAC7B88iB,GAAa98iB,IAAGjc,OAAS+4jB,GAAa98iB,IAAGjc,QAAU+oP,GAAOiwU,KAC1DA,KAGR,OAAOA,EACX,CACA,OAAO,CACX,CASA,SAASC,GAAyBC,GAAcC,GAAcC,GAAuBC,IACjF,OAAIH,GAAeE,GACRF,GAEPA,GAAeC,GAAeC,GAAwBC,GAC/Ch4iB,KAAKC,IAAI,EAAG43iB,GAAeG,GAAcF,IAE7CC,EACX,CAAC,IAEKE,GAAe,MAArB,MAAMA,UACOplkB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF62jB,GAAe,CAAoD,QACpKplkB,KAAKm4B,UAnoDkFl4B,KAAE,CAAAgO,KAmoDSm3jB,IAAqJ,QACvPplkB,KAAKo4B,UApoDkFn4B,MAAE,CAAAq4B,QAAA,CAooDoCC,GAAiBC,GAAiBmriB,KAA6B,EACxM,OAJKyB,EAAe,KAcrB,MAAMC,GAAuB,CAAE9he,SAAS,GAElC+he,GAA0B,CAAC,QAAS,QAAS,aAAc,cAE3DC,GAAyB,kCAEzBC,GAAqB,+BAErBC,GAAoB,6BAEpBC,GAAoB,6BAC1B,IAQMhK,GAAe,MAArB,MAAMA,GACFj8jB,cACIO,KAAKgmB,aAAYiL,OAAOxI,KAAU,CAAEqwB,UAAU,IAC9C94C,KAAKy7jB,kBAAiBxqiB,OAAOspK,MAAuB,CAAEzhJ,UAAU,IAChE94C,KAAK2lkB,wBAAuB10iB,OAAO+xiB,GAA2B,CAAElqhB,UAAU,IAC1E94C,KAAK6vc,aAAY5+a,OAAOupb,MACxBx6c,KAAKurB,WAAU0F,OAAOmpK,OACtBp6L,KAAK4lkB,OAAS,IAAI3iiB,IAElBjjC,KAAK6lkB,eAAkBr6jB,KACnB,KAAMA,GAAMs9C,kBAAkBo3G,aAC1B,OAIJ,MAAMpwI,GAFctkB,GAAMs9C,OAEEn6B,QAAQ,IAAI42iB,OACpCz1iB,IACA9vB,KAAK8lkB,cAAch2iB,GAAO,EAGlC9vB,KAAKurB,QAAQ41H,kBAAkB,KAC3B,UAAW31I,MAAS85jB,GAChBtlkB,KAAKgmB,WAAW0N,iBAAiBloB,GAAOxL,KAAK6lkB,eAAgBR,GAAoB,EAG7F,CACAn3jB,cACI,MAAM63jB,GAAQ/lkB,KAAK4lkB,OAAOv2iB,OAC1B,UAAW60C,MAAQ6hgB,GACf/lkB,KAAK87jB,cAAc53f,IAEvB,UAAW14D,MAAS85jB,GAChBtlkB,KAAKgmB,WAAW6N,oBAAoBroB,GAAOxL,KAAK6lkB,eAAgBR,GAExE,CAOAxJ,gBAAgB33f,GAAMl0E,IAElBk0E,GAAK0jG,aAAa29Z,GAAwB,KAEtCv1kB,GAAOq7B,YAAc64C,GAAKwiF,aAAa8+a,MACvCthgB,GAAK0jG,aAAa49Z,GAAoBx1kB,GAAOq7B,WAAa,IAG1Dr7B,GAAOyskB,UACPv4f,GAAK0jG,aAAa69Z,GAAmB,IAErCz1kB,GAAO+pB,UACPmqD,GAAK0jG,aAAa89Z,GAAmB,GAE7C,CAEAtK,UAAUl3f,IAEN,OADelkE,KAAK4lkB,OAAOl9jB,IAAIw7D,KACdlkE,KAAK8lkB,cAAc5hgB,GACxC,CAEAg4f,YAAYh4f,GAAMnqD,IACd,MAAMmhjB,GAASl7jB,KAAK4lkB,OAAOl9jB,IAAIw7D,IAE3Bg3f,GACAA,GAAOnhjB,SAAWA,GAKlBA,GACAmqD,GAAK0jG,aAAa89Z,GAAmB,IAGrCxhgB,GAAKN,gBAAgB8hgB,GAE7B,CAEAI,cAAc5hgB,IACV,IAAKlkE,KAAKgmB,UACN,OAEJ,MAAMggjB,GAAiBhmkB,KAAK4lkB,OAAOl9jB,IAAIw7D,IACvC,GAAI8hgB,GACA,OAAOA,GAGX9hgB,GAAK3M,cAAc,gBAAgBvvC,SACnC,MAAM+5iB,GAAW/hkB,KAAKgmB,UAAUmuB,cAAc,QAC9C4thB,GAASz2iB,UAAUvf,IAAI,aAAcm4D,GAAKoiF,aAAak/a,KACvDthgB,GAAK1nB,OAAOulhB,IAEZ,MAAM7G,GAAS,IAAI5xiB,GAAU,IAAI45b,MAAW6+G,IAAW/hkB,KAAKurB,QAASvrB,KAAK6vc,UAAW7vc,KAAK2lkB,qBAAuB3lkB,KAAK2lkB,0BAAuBt3kB,EAAW2R,KAAKy7jB,eAAiBz7jB,KAAKy7jB,oBAAiBptkB,GACpM6skB,UAAO5gc,gBAAiB,EACxB4gc,GAAOtxiB,QAAUs6C,GACjBg3f,GAAOuB,SAAWv4f,GAAKwiF,aAAa++a,IACpCvK,GAAOnhjB,SAAWmqD,GAAKwiF,aAAag/a,IACpC1lkB,KAAKq7jB,aAAan3f,GAAMg3f,IACjBA,EACX,CACAG,aAAan3f,GAAMg3f,IACfh3f,GAAKN,gBAAgB2hgB,IACrBvlkB,KAAK4lkB,OAAO1iiB,IAAIghC,GAAMg3f,GAC1B,CACAY,cAAc53f,IACV,MAAMg3f,GAASl7jB,KAAK4lkB,OAAOl9jB,IAAIw7D,IAC3Bg3f,KAGAA,GAAOhtjB,cACPlO,KAAK4lkB,OAAOl+hB,OAAOw8B,IAE3B,QACSlkE,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFmtjB,GAAe,CAAsD,QACtK17jB,KAAKszD,WArxDkFrzD,MAAE,CAAAhQ,MAqxDYyrkB,GAAej7jB,QAAfi7jB,GAAeh7jB,UAAAC,WAAc,QAAW,EACzJ,OApHK+6jB,EAAe,KA+HfuK,GAAqB,MAA3B,MAAMA,UACOjmkB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF03jB,GAAqB,CAAqD,QAC3KjmkB,KAAK0oB,UAnyDkFzoB,MAAE,CAAAgO,KAmyDJg4jB,GAAqBt3jB,UAAA,uCAAAga,UAAA,+CAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAnyDnB/O,MAAE,4BAmyDc,WAnyDdgP,GAAAi3jB,cAmyDiB,EAAAvwjB,OAAA,CAAAuwjB,cAAA,iBAAAj9iB,YAAA,EAAAC,SAAA,CAnyDnBjpB,OAAEkpB,MAAA4ziB,GAAA3ziB,mBAAAuxiB,GAAA/rjB,MAAA,EAAAC,KAAA,EAAAE,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,cAAE,GAmyDsU,EAAA4wB,OAAA,u7CAAAtH,cAAA,EAAAC,gBAAA,GAAojD,EAC/9D,OAHKy8iB,EAAqB,0WC31D3B,MAAA/zjB,GAAA,kCAAAi0jB,GAAAn3jB,GAAAC,IA4cq6C,GA5cr6C,EAAAD,KA0DoG/O,MAAE,SAAFA,CAkZ+mC,UAlZ/mCA,MAAE,GAAFA,WAkZi0C,EAAA+O,GAAA,OAAA4tjB,EAlZj0C38jB,sBAAE,cAAA28jB,EAAAwJ,aAAFnmkB,CAkZ2uC,iBAAA28jB,EAAAwJ,cAlZ3uCnmkB,MAAE,UAAA28jB,EAAAyJ,SAAFpmkB,cAAE,IAAA28jB,EAAA3hiB,MAAA,IAkZizC,WAAAqriB,GAAAt3jB,GAAAC,IAAi6B,GAAj6B,EAAAD,KAlZnzC/O,MAAE,UAAFA,MAAE,GAAFA,SAkZotE,EAAA+O,GAAA,OAAA4tjB,EAlZptE38jB,MAAE,GAAFA,MAAE,cAAA28jB,EAAAwJ,aAAFnmkB,CAkZmlE,iBAAA28jB,EAAAwJ,cAlZnlEnmkB,MAAE,UAAA28jB,EAAA2J,iBAAFtmkB,cAAE,IAAA28jB,EAAA2J,iBAAA3J,EAAA4J,sBAAA5J,EAAA3hiB,MAAA,OAkZ6sE,WAAAwriB,GAAAz3jB,GAAAC,IAAA,KAAAD,GAAA,OAAA03jB,EAlZ/sEzmkB,cAAE,SAAFA,CAkZ8zF,cAlZ9zFA,MAAE,iBAAAmI,IAAA,MAAAu+jB,GAAF1mkB,MAAEymkB,GAAAj1jB,UAAAmrjB,GAAF38jB,MAAE,UAAFA,MAkZ+jJ28jB,GAAAgK,aAAAD,GAAAv+jB,IAA0B,EAlZzlJnI,CAkZ2lJ,iBAAAmI,IAAA,MAAAu+jB,GAlZ3lJ1mkB,MAAEymkB,GAAAj1jB,UAAAmrjB,GAAF38jB,MAAE,UAAFA,MAkZmnJ28jB,GAAAiK,sBAAAF,GAAAv+jB,IAAmC,GAlZtpJnI,MAAE,YAAFA,MAAE,GAAFA,cAAE,YAAFA,SAkZkrK,MAAA+O,GAAA,OAAA23jB,EAAA13jB,GAAAwC,UAAAq1jB,GAAA73jB,GAAAgshB,OAAA8rC,GAlZlrK9mkB,QAAEg7hB,OAAA2hC,GAAF38jB,cAAE,QAAA28jB,GAAAoK,WAAF/mkB,CAkZooF,cAAA28jB,GAAAwJ,aAlZpoFnmkB,CAkZirF,iBAAA28jB,GAAAwJ,cAlZjrFnmkB,MAAE,eAAA8mkB,GAAF9mkB,CAAE,eAAA6mkB,IAAF7mkB,cAAE,8BAAA0mkB,EAAAzoe,QAAFj+F,CAkZ8kG,2BAAA28jB,GAAAqK,cAAAF,GAAAD,IAlZ9kG7mkB,CAkZkqG,gCAAA28jB,GAAAsK,cAAAP,EAAAQ,cAlZlqGlnkB,CAkZ0vG,8BAAA28jB,GAAAwK,YAAAT,EAAAQ,cAlZ1vGlnkB,CAkZ80G,6BAAA28jB,GAAAyK,WAAAV,EAAAQ,cAlZ90GlnkB,CAkZg6G,4CAAA28jB,GAAA0K,yBAAAX,EAAAQ,aAAAJ,GAAAD,IAlZh6G7mkB,CAkZmiH,0CAAA28jB,GAAA2K,uBAAAZ,EAAAQ,aAAAJ,GAAAD,IAlZniH7mkB,CAkZkqH,qCAAA28jB,GAAA4K,mBAAAb,EAAAQ,cAlZlqHlnkB,CAkZowH,mCAAA28jB,GAAA6K,iBAAAd,EAAAQ,cAlZpwHlnkB,CAkZk2H,wCAAA28jB,GAAA8K,qBAAAf,EAAAQ,cAlZl2HlnkB,CAkZy8H,kCAAA28jB,GAAA+K,gBAAAhB,EAAAQ,cAlZz8HlnkB,CAkZqiI,gCAAA28jB,GAAAgL,cAAAjB,EAAAQ,cAlZriIlnkB,CAkZ6nI,+BAAA28jB,GAAAiL,aAAAlB,EAAAQ,eAlZ7nIlnkB,MAAE,UAAA0mkB,EAAA/6G,WAAF3rd,CAkZq8F,WAAA28jB,GAAAqK,cAAAF,GAAAD,IAAA,MAlZr8F7mkB,MAAE,aAAA0mkB,EAAAlhjB,UAAFxlB,CAAE,iBAAA0mkB,EAAAzoe,SAAA,KAAFj+F,CAAE,eAAA28jB,GAAAkL,YAAAnB,EAAAQ,cAAFlnkB,CAAE,eAAA28jB,GAAAmL,aAAApB,EAAAQ,aAAA,YAAFlnkB,CAAE,mBAAA28jB,GAAAoL,gBAAArB,EAAAQ,eAAFlnkB,cAAE,6BAAA28jB,GAAAkL,YAAAnB,EAAAQ,cAAFlnkB,CAkZ8zJ,yCAAA28jB,GAAAqL,uBAAAtB,EAAAQ,cAlZ9zJlnkB,CAkZ06J,0BAAA28jB,GAAAmL,aAAApB,EAAAQ,cAlZ16JlnkB,cAAE,IAAA0mkB,EAAAx+S,aAAA,IAkZgjK,WAAA+/S,GAAAl5jB,GAAAC,IAAgJ,GAAhJ,EAAAD,KAlZljK/O,MAAE,UAAFA,MAAE,EAAAqmkB,GAAA,YAAFrmkB,MAAE,EAAAwmkB,GAAA,YAAFxmkB,gBAkZksK,EAAA+O,GAAA,OAAAm5jB,EAAAl5jB,GAAAwC,UAAAs1jB,GAAA93jB,GAAAgshB,OAAA2hC,GAlZlsK38jB,sBAAE,MAAA8mkB,IAAAnK,GAAA2J,gBAAA,MAAFtmkB,cAAEkokB,EAkZurK,WAAAC,GAAAp5jB,GAAAC,IAquB9nI,GAruB8nI,EAAAD,KAlZzrK/O,MAAE,SAAFA,CAunC66B,YAvnC76BA,MAAE,GAAFA,cAAE,YAAFA,MAAE,GAAFA,WAunC2jC,EAAA+O,GAAA,OAAAq5jB,EAAAp5jB,GAAAwC,UAvnC3jCxR,MAAE,GAAFA,MAAEookB,EAAAC,MAAFrokB,MAAE,GAAFA,MAAEookB,EAAAx3J,OAunCmiC,QAAAxga,GAAA,eAAAk4jB,GAAAv5jB,GAAAC,IAAA,UAAAu5jB,GAAAx5jB,GAAAC,IAAA,KAAAD,GAAA,OAAA5H,EAvnCriCnH,cAAE,sBAAFA,MAAE,4BAAAmI,IAAFnI,MAAEmH,GAAA,MAAAC,GAAFpH,qBAAEoH,GAAAohkB,WAAArgkB,MAAAf,GAAAohkB,WAAArgkB,IAAFnI,MAAEmI,GAAA,GAAFnI,MAAE,0BAAAmI,IAAFnI,MAAEmH,GAAA,MAAAC,GAAFpH,QAAE,OAAFA,MA2mE2wDoH,GAAAqhkB,cAAAtgkB,IAAqB,EA3mEhyDnI,CA2mEkyD,uBAAAmI,IA3mElyDnI,MAAEmH,GAAA,MAAAC,GAAFpH,QAAE,OAAFA,MA2mEg0DoH,GAAAshkB,aAAAvgkB,IAAoB,EA3mEp1DnI,CA2mEs1D,qBAAAmI,IA3mEt1DnI,MAAEmH,GAAA,MAAAC,GAAFpH,QAAE,OAAFA,MA2mEk3DoH,GAAAuhkB,WAAAxgkB,IAAkB,GA3mEp4DnI,OA2mEk8D,MAAA+O,GAAA,OAAA3H,EA3mEl8DpH,cAAE,aAAAoH,EAAAohkB,YAAFxokB,MAAE,WAAAoH,EAAAuyQ,SAAF35Q,CA2mEg3C,aAAAoH,EAAAwhkB,WA3mEh3C5okB,CA2mEy5C,UAAAoH,EAAAyhkB,QA3mEz5C7okB,CA2mE47C,UAAAoH,EAAA0hkB,QA3mE57C9okB,CA2mE+9C,YAAAoH,EAAA2hkB,UA3mE/9C/okB,CA2mEsgD,kBAAAoH,EAAA4hkB,gBA3mEtgDhpkB,CA2mEyjD,gBAAAoH,EAAA6hkB,cA3mEzjDjpkB,CA2mEwmD,0BAAAoH,EAAA8hkB,wBA3mExmDlpkB,CA2mE2qD,wBAAAoH,EAAA+hkB,sBA3mE3qDnpkB,CA2mE0uD,aAAAoH,EAAAgikB,YAAsM,WAAAC,GAAAt6jB,GAAAC,IAAA,KAAAD,GAAA,OAAAkC,EA3mEh7DjR,cAAE,qBAAFA,MAAE,4BAAAmI,IAAFnI,MAAEiR,GAAA,MAAA7J,GAAFpH,qBAAEoH,GAAAohkB,WAAArgkB,MAAAf,GAAAohkB,WAAArgkB,IAAFnI,MAAEmI,GAAA,GAAFnI,MAAE,yBAAAmI,IAAFnI,MAAEiR,GAAA,MAAA7J,GAAFpH,QAAE,OAAFA,MA2mE+vEoH,GAAAkikB,yBAAAnhkB,IAAgC,EA3mE/xEnI,CA2mEiyE,0BAAAmI,IA3mEjyEnI,MAAEiR,GAAA,MAAA7J,GAAFpH,QAAE,OAAFA,MA2mEk0EoH,GAAAmikB,gBAAAphkB,GAAwB,SAAQ,GA3mEl2EnI,OA2mEq3E,MAAA+O,GAAA,OAAA3H,EA3mEr3EpH,cAAE,aAAAoH,EAAAohkB,YAAFxokB,MAAE,WAAAoH,EAAAuyQ,SAAF35Q,CA2mEykE,aAAAoH,EAAAwhkB,WA3mEzkE5okB,CA2mEknE,UAAAoH,EAAAyhkB,QA3mElnE7okB,CA2mEqpE,UAAAoH,EAAA0hkB,QA3mErpE9okB,CA2mEwrE,YAAAoH,EAAA2hkB,UAAuC,WAAAS,GAAAz6jB,GAAAC,IAAA,KAAAD,GAAA,OAAA66D,EA3mE/tE5pE,cAAE,2BAAFA,MAAE,4BAAAmI,IAAFnI,MAAE4pE,GAAA,MAAAxiE,GAAFpH,qBAAEoH,GAAAohkB,WAAArgkB,MAAAf,GAAAohkB,WAAArgkB,IAAFnI,MAAEmI,GAAA,GAAFnI,MAAE,wBAAAmI,IAAFnI,MAAE4pE,GAAA,MAAAxiE,GAAFpH,QAAE,OAAFA,MA2mE6rFoH,GAAAqikB,6BAAAthkB,IAAoC,EA3mEjuFnI,CA2mEmuF,0BAAAmI,IA3mEnuFnI,MAAE4pE,GAAA,MAAAxiE,GAAFpH,QAAE,OAAFA,MA2mEowFoH,GAAAmikB,gBAAAphkB,GAAwB,QAAO,GA3mEnyFnI,OA2mE4zF,MAAA+O,GAAA,OAAA3H,EA3mE5zFpH,cAAE,aAAAoH,EAAAohkB,YAAFxokB,MAAE,WAAAoH,EAAAuyQ,SAAF35Q,CA2mEwgF,aAAAoH,EAAAwhkB,WA3mExgF5okB,CA2mEijF,UAAAoH,EAAAyhkB,QA3mEjjF7okB,CA2mEolF,UAAAoH,EAAA0hkB,QA3mEplF9okB,CA2mEunF,YAAAoH,EAAA2hkB,UAAuC,WAAAW,GAAA36jB,GAAAC,IAAA,OAAA0C,GAAA,WAAAoT,GAAA,sCAAA23iB,GAAA,uCAAAkN,GAAA56jB,GAAAC,IAAA,EAAAD,KA3mE9pF/O,cAAE,WAAFA,MAAE,YAAFA,QAsyGgoD,CAz1GpuD,IACM4pkB,GAAiB,MAAvB,MAAMA,GACFpqkB,cAKIO,KAAK0sB,QAAU,IAAIpG,IAEnBtmB,KAAK8pkB,cAAgB,WAErB9pkB,KAAK+pkB,kBAAoB,gBAEzB/pkB,KAAKgqkB,mBAAqB,iBAE1BhqkB,KAAKiqkB,eAAiB,iBAEtBjqkB,KAAKkqkB,eAAiB,aAEtBlqkB,KAAKmqkB,cAAgB,gBAErBnqkB,KAAKoqkB,cAAgB,YAErBpqkB,KAAKqqkB,mBAAqB,oBAE1BrqkB,KAAKsqkB,mBAAqB,gBAE1BtqkB,KAAKuqkB,uBAAyB,cAE9BvqkB,KAAKwqkB,2BAA6B,wBAMlCxqkB,KAAKyqkB,eAAiB,aAMtBzqkB,KAAK0qkB,aAAe,UACxB,CAEAC,gBAAgBj2hB,EAAOi1D,IACnB,MAAO,GAAGj1D,YAAgBi1D,IAC9B,CAEAihe,qBAAqBl2hB,EAAOi1D,IACxB,MAAO,GAAGj1D,QAAYi1D,IAC1B,QACS3pG,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFs7jB,GAAiB,CAAsD,QACxK7pkB,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACY45kB,GAAiBppkB,QAAjBopkB,GAAiBnpkB,UAAAC,WAAc,QAAW,EAC3J,OApDKkpkB,EAAiB,KA8DvB,MAAMgB,GACFprkB,YAAYnS,GAAO66R,EAAc1iQ,GAAWy4E,GAAS0tX,GAAa,CAAC,EAAGu7G,GAAe75kB,GAAOo1d,IACxF1id,KAAK1S,MAAQA,GACb0S,KAAKmoR,aAAeA,EACpBnoR,KAAKylB,UAAYA,GACjBzlB,KAAKk+F,QAAUA,GACfl+F,KAAK4rd,WAAaA,GAClB5rd,KAAKmnkB,aAAeA,GACpBnnkB,KAAK0id,SAAWA,EACpB,EAEJ,IAAIooH,GAAiB,EAErB,MAAMC,IAA8Br5iB,SAAgC,CAChEC,SAAS,EACT4xE,SAAS,IAGP88d,IAA+B3uiB,SAAgC,CACjEC,SAAS,EACT4xE,SAAS,IAGPyne,IAAsBt5iB,SAAgC,CAAEC,SAAS,IACvE,IAIMs5iB,GAAe,MAArB,MAAMA,GACFxtE,qBACQz9f,KAAKkrkB,mCACLlrkB,KAAKmrkB,mBACLnrkB,KAAKkrkB,kCAAmC,EAEhD,CACAzrkB,YAAYsmB,EAAawF,IACrBvrB,KAAK+lB,YAAcA,EACnB/lB,KAAKurB,QAAUA,GACfvrB,KAAK6vc,aAAY5+a,OAAOupb,OAIxBx6c,KAAKkrkB,kCAAmC,EAExClrkB,KAAKqmkB,QAAU,EAEfrmkB,KAAKorkB,WAAa,EAElBprkB,KAAKqrkB,SAAU,EAKfrrkB,KAAKsrkB,gBAAkB,EAEvBtrkB,KAAKurkB,aAAe,KAEpBvrkB,KAAKwrkB,WAAa,KAElBxrkB,KAAKyrkB,oBAAsB,IAAI3/iB,MAE/B9rB,KAAK0rkB,cAAgB,IAAI5/iB,MACzB9rB,KAAK2rkB,iBAAmB,IAAI7/iB,MAE5B9rB,KAAK4rkB,YAAc,IAAI9/iB,MAEvB9rB,KAAK6rkB,UAAY,IAAI//iB,MACrB9rB,KAAK8rkB,wBAAyB,EAK9B9rkB,KAAK+rkB,cAAiBvgkB,KAClB,GAAIxL,KAAKgskB,gBAAiC,UAAfxgkB,GAAMyC,KAC7BjO,KAAKgskB,gBAAiB,OAI1B,GAAIxgkB,GAAMs9C,QAAU9oD,KAAKqrkB,QAAS,CAC9B,MAAMY,GAAOjskB,KAAKkskB,oBAAoB1gkB,GAAMs9C,QACxCmjhB,IACAjskB,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAK0rkB,cAAcvmjB,KAAK,CAAE73B,MAAO2+kB,GAAK/te,QAAU+te,GAAO,KAAMzgkB,WAE5F,GAEJxL,KAAKmskB,kBAAqB3gkB,KACtB,IAAKxL,KAAKqrkB,QACN,OACJ,MAAMvihB,GAASsjhB,GAAqB5gkB,IAC9BygkB,GAAOnjhB,GAAS9oD,KAAKkskB,oBAAoBpjhB,IAAU,KACrDA,KAAWt9C,GAAMs9C,SACjB9oD,KAAK8rkB,wBAAyB,GAI9BO,GAAe7gkB,GAAMs9C,SACrBt9C,GAAM+b,iBAEVvnB,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAK0rkB,cAAcvmjB,KAAK,CAAE73B,MAAO2+kB,IAAM/te,QAAU+te,GAAO,KAAMzgkB,WAAQ,EAMjGxL,KAAKsskB,cAAiB9gkB,KAEM,OAApBxL,KAAKwrkB,YAAuBxrkB,KAAKqrkB,UACd,SAAf7/jB,GAAMyC,OACNjO,KAAK8rkB,wBAAyB,GAK9BtgkB,GAAMs9C,QACN9oD,KAAKkskB,oBAAoB1gkB,GAAMs9C,WAC7Bt9C,GAAM24J,gBACJnkK,KAAKkskB,oBAAoB1gkB,GAAM24J,iBACnCnkK,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAK0rkB,cAAcvmjB,KAAK,CAAE73B,MAAO,KAAMke,YAAQ,EAQlFxL,KAAKuskB,kBAAqB/gkB,KACtB,IAAKxL,KAAKqrkB,QACN,OACJrrkB,KAAK8rkB,wBAAyB,EAE9B,MAAMG,GAAOzgkB,GAAMs9C,QAAU9oD,KAAKkskB,oBAAoB1gkB,GAAMs9C,SACvDmjhB,KAASjskB,KAAKqnkB,WAAW4E,GAAK9E,eAGnCnnkB,KAAKurB,QAAQ6K,IAAI,KACbp2B,KAAK4rkB,YAAYzmjB,KAAK,CAClB73B,MAAO2+kB,GAAKvpH,SACZl3c,UACH,EACJ,EAGLxL,KAAKwskB,gBAAmBhhkB,KACpB,IAAKxL,KAAKqrkB,QACN,OACJ,MAAMoB,GAAcJ,GAAe7gkB,GAAMs9C,QACpC2jhB,GAODA,GAAY99iB,QAAQ,wBAA0B3uB,KAAK+lB,YAAYsB,eAKnErnB,KAAKurB,QAAQ6K,IAAI,KACb,MAAM61iB,GAAOjskB,KAAKkskB,oBAAoBO,IACtCzskB,KAAK6rkB,UAAU1mjB,KAAK,CAAE73B,MAAO2+kB,IAAMvpH,UAAY,KAAMl3c,UAAO,GAZ5DxL,KAAKurB,QAAQ6K,IAAI,KACbp2B,KAAK6rkB,UAAU1mjB,KAAK,CAAE73B,MAAO,KAAMke,UAAO,EAYjD,EAGLxL,KAAK0skB,iBAAoBlhkB,KACrB,MAAMs9C,GAASsjhB,GAAqB5gkB,IAChCs9C,IACA9oD,KAAKwskB,gBAAgB,CAAE1jhB,WAAQ,EAGvC9oD,KAAKoyG,IAAM,qBAAqB04d,KAChC9qkB,KAAK2skB,kBAAoB,GAAG3skB,KAAKoyG,iBACjCpyG,KAAK4skB,gBAAkB,GAAG5skB,KAAKoyG,eAC/B7mF,GAAQ41H,kBAAkB,KACtB,MAAMrxH,GAAU/J,EAAYsB,cAE5ByI,GAAQ4D,iBAAiB,YAAa1zB,KAAKmskB,kBAAmBpB,IAC9Dj7iB,GAAQ4D,iBAAiB,aAAc1zB,KAAK+rkB,cAAe1L,IAC3DvwiB,GAAQ4D,iBAAiB,QAAS1zB,KAAK+rkB,cAAe1L,IACtDvwiB,GAAQ4D,iBAAiB,aAAc1zB,KAAKsskB,cAAejM,IAC3DvwiB,GAAQ4D,iBAAiB,OAAQ1zB,KAAKsskB,cAAejM,IACrDvwiB,GAAQ4D,iBAAiB,YAAa1zB,KAAKuskB,kBAAmBvB,IAC9Dl7iB,GAAQ4D,iBAAiB,aAAc1zB,KAAKuskB,kBAAmBvB,IAC3DhrkB,KAAK6vc,UAAUG,YACfp7b,OAAO8e,iBAAiB,UAAW1zB,KAAKwskB,iBACxC53jB,OAAO8e,iBAAiB,WAAY1zB,KAAK0skB,kBAAgB,EAGrE,CAEA9F,aAAaqF,EAAMzgkB,IAGXxL,KAAK8rkB,wBAGLG,EAAK/te,SACLl+F,KAAKyrkB,oBAAoBtmjB,KAAK,CAAE73B,MAAO2+kB,EAAK3+kB,MAAOke,UAE3D,CACAq7jB,sBAAsBoF,EAAMzgkB,IACpBygkB,EAAK/te,SACLl+F,KAAK2rkB,iBAAiBxmjB,KAAK,CAAE73B,MAAO2+kB,EAAK3+kB,MAAOke,UAExD,CAEAs8jB,YAAYx6kB,GACR,OAAO0S,KAAK6skB,aAAev/kB,GAAS0S,KAAK8skB,WAAax/kB,CAC1D,CACAstd,YAAYlub,GACR,MAAMqgjB,GAAgBrgjB,EAAQ25iB,SACtB5uV,QAAM4uV,YAAYrmkB,MACtB0sB,EAAQ+qN,MAAWs1V,MACnB/skB,KAAKumkB,gBAAkB9uV,IAAQA,GAAKrlP,QAAUqlP,GAAK,GAAGrlP,OAASi0kB,GAAU5uV,GAAK,GAAGrlP,OAAS,IAE1Fs6B,EAAQ4+iB,iBAAsByB,KAAkB/skB,KAAKomkB,gBACrDpmkB,KAAKomkB,aAAmB,GAAKpmkB,KAAKsrkB,gBAAmBjF,GAAjC,MAEpB0G,KAAkB/skB,KAAKgnkB,cACvBhnkB,KAAKgnkB,WAAgB,IAAMX,GAAT,IAE1B,CACAn4jB,cACI,MAAM4hB,EAAU9vB,KAAK+lB,YAAYsB,cACjCyI,EAAQ+D,oBAAoB,YAAa7zB,KAAKmskB,kBAAmBpB,IACjEj7iB,EAAQ+D,oBAAoB,aAAc7zB,KAAK+rkB,cAAe1L,IAC9DvwiB,EAAQ+D,oBAAoB,QAAS7zB,KAAK+rkB,cAAe1L,IACzDvwiB,EAAQ+D,oBAAoB,aAAc7zB,KAAKsskB,cAAejM,IAC9DvwiB,EAAQ+D,oBAAoB,OAAQ7zB,KAAKsskB,cAAejM,IACxDvwiB,EAAQ+D,oBAAoB,YAAa7zB,KAAKuskB,kBAAmBvB,IACjEl7iB,EAAQ+D,oBAAoB,aAAc7zB,KAAKuskB,kBAAmBvB,IAC9DhrkB,KAAK6vc,UAAUG,YACfp7b,OAAOif,oBAAoB,UAAW7zB,KAAKwskB,iBAC3C53jB,OAAOif,oBAAoB,WAAY7zB,KAAK0skB,kBAEpD,CAEAzF,cAAc+F,EAAUC,IACpB,IAAIC,GAAaF,EAAWhtkB,KAAKqmkB,QAAU4G,GAE3C,OAAID,IACAE,IAAcltkB,KAAKumkB,iBAEhB2G,IAAcltkB,KAAKorkB,UAC9B,CAuBAD,iBAAiBgC,GAAc,GAC3BntkB,KAAKurB,QAAQ41H,kBAAkB,KAC3BnhJ,KAAKurB,QAAQiD,SAAS3jB,QAAK2C,MAAK,IAAInB,UAAU,KAC1CW,WAAW,KACP,MAAMo+jB,GAAaprkB,KAAK+lB,YAAYsB,cAAckwC,cAAc,6BAC5D6zgB,KACK+B,IACDntkB,KAAKgskB,gBAAiB,GAE1BZ,GAAWj+jB,QAAM,EAExB,EACJ,EAET,CAEAigkB,2CACIptkB,KAAKkrkB,kCAAmC,CAC5C,CAEAhE,cAAc55kB,GACV,OAAOo6J,GAAQp6J,EAAO0S,KAAK6skB,WAAY7skB,KAAK8skB,SAChD,CAEA1F,YAAY95kB,GACR,OAAO+/kB,GAAM//kB,EAAO0S,KAAK6skB,WAAY7skB,KAAK8skB,SAC9C,CAEAzF,WAAW/5kB,GACP,OAAOgglB,GAAUhglB,EAAO0S,KAAK6skB,WAAY7skB,KAAK8skB,SAAU9skB,KAAKqrkB,QACjE,CAEA7D,mBAAmBl6kB,GACf,OAAOo6J,GAAQp6J,EAAO0S,KAAKipkB,gBAAiBjpkB,KAAKkpkB,cACrD,CAEA5B,yBAAyBh6kB,EAAO0/kB,GAAUC,IACtC,IAAKjtkB,KAAKwnkB,mBAAmBl6kB,IAAU0S,KAAKknkB,cAAc55kB,KAAW0S,KAAKqnkB,WAAW/5kB,GACjF,OAAO,EAEX,IAAIiglB,GAAevtkB,KAAKy3O,KAAKu1V,IAAUC,GAAW,GAClD,IAAKM,GAAc,CACf,MAAMC,GAAcxtkB,KAAKy3O,KAAKu1V,GAAW,GACzCO,GAAeC,IAAeA,GAAYA,GAAYp7kB,OAAS,EACnE,CACA,OAAOm7kB,KAAiBvtkB,KAAKonkB,YAAYmG,GAAapG,aAC1D,CAEAI,uBAAuBj6kB,EAAO0/kB,GAAUC,IACpC,IAAKjtkB,KAAKynkB,iBAAiBn6kB,IAAU0S,KAAKonkB,YAAY95kB,KAAW0S,KAAKqnkB,WAAW/5kB,GAC7E,OAAO,EAEX,IAAImglB,GAAWztkB,KAAKy3O,KAAKu1V,IAAUC,GAAW,GAC9C,IAAKQ,GAAU,CACX,MAAMC,GAAU1tkB,KAAKy3O,KAAKu1V,GAAW,GACrCS,GAAWC,IAAWA,GAAQ,EAClC,CACA,OAAOD,KAAaztkB,KAAKknkB,cAAcuG,GAAStG,aACpD,CAEAM,iBAAiBn6kB,GACb,OAAO+/kB,GAAM//kB,EAAO0S,KAAKipkB,gBAAiBjpkB,KAAKkpkB,cACnD,CAEAxB,qBAAqBp6kB,GACjB,OAAOgglB,GAAUhglB,EAAO0S,KAAKipkB,gBAAiBjpkB,KAAKkpkB,cAAelpkB,KAAKqrkB,QAC3E,CAWApD,uBAAuB36kB,GAGnB,OAAO0S,KAAKipkB,kBAAoBjpkB,KAAKkpkB,eAAiB57kB,IAAU0S,KAAKipkB,eACzE,CAEAtB,gBAAgBr6kB,GACZ,OAAOo6J,GAAQp6J,EAAO0S,KAAKurkB,aAAcvrkB,KAAKwrkB,WAClD,CAEA5D,cAAct6kB,GACV,OAAO+/kB,GAAM//kB,EAAO0S,KAAKurkB,aAAcvrkB,KAAKwrkB,WAChD,CAEA3D,aAAav6kB,GACT,OAAOgglB,GAAUhglB,EAAO0S,KAAKurkB,aAAcvrkB,KAAKwrkB,WAAYxrkB,KAAKqrkB,QACrE,CAEArD,gBAAgB16kB,GACZ,OAAK0S,KAAKqrkB,QAGNrrkB,KAAK6skB,aAAev/kB,GAAS0S,KAAK8skB,WAAax/kB,EACxC,GAAG0S,KAAK2skB,qBAAqB3skB,KAAK4skB,kBAEpC5skB,KAAK6skB,aAAev/kB,EAClB0S,KAAK2skB,kBAEP3skB,KAAK8skB,WAAax/kB,EAChB0S,KAAK4skB,gBAET,KAXI,IAYf,CAEAV,oBAAoBp8iB,GAChB,MAAMm8iB,GAAOI,GAAev8iB,GAC5B,GAAIm8iB,GAAM,CACN,MAAM0B,GAAM1B,GAAK3lb,aAAa,gBACxB0oI,GAAMi9S,GAAK3lb,aAAa,gBAC9B,GAAIqnb,IAAO3+S,GACP,OAAOhvR,KAAKy3O,KAAKlrJ,SAASohf,KAAMphf,SAASyiM,IAEjD,CACA,OAAO,IACX,QACShvR,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF08jB,IAjZVhrkB,MAiZ2CA,OAjZ3CA,MAiZqEA,OAAS,CAA8C,QACnND,KAAK0oB,UAlZkFzoB,MAAE,CAAAgO,KAkZJg9jB,GAAet8jB,UAAA,8BAAAga,UAAA,wBAAAhT,OAAA,CAAAslB,MAAA,QAAAw8M,KAAA,OAAAswV,WAAA,aAAA8E,WAAA,aAAAC,SAAA,WAAAtG,sBAAA,wBAAAH,QAAA,UAAA+E,WAAA,aAAAC,QAAA,UAAAC,gBAAA,kBAAArC,gBAAA,kBAAAC,cAAA,gBAAAqC,aAAA,eAAAC,WAAA,aAAArC,wBAAA,0BAAAC,sBAAA,yBAAA14iB,QAAA,CAAA+6iB,oBAAA,sBAAAC,cAAA,gBAAAC,iBAAA,mBAAAC,YAAA,cAAAC,UAAA,aAAA7ijB,SAAA,oBAAAC,YAAA,EAAAC,SAAA,CAlZbjpB,aAAEkpB,MAAAjX,GAAAtD,MAAA,EAAAC,KAAA,EAAAC,OAAA,ihBAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAE,EAAAkmkB,GAAA,YAAFlmkB,MAAE,EAAAiokB,GAAA,WAAFjokB,aAAE,aAAFA,MAAE,GAAFA,cAAE,aAAFA,MAAE,GAAFA,SAkZ+6K,EAAA+O,KAlZ/6K/O,MAAE,EAAAgP,GAAAs3jB,gBAAAt3jB,GAAAu3jB,sBAAA,MAAFvmkB,cAAEgP,GAAAwoO,MAAFx3O,MAAE,GAAFA,MAAE,KAAAgP,GAAA09jB,mBAAF1skB,cAAE,IAAAgP,GAAAk6jB,wBAAA,MAAFlpkB,cAAE,KAAAgP,GAAA29jB,iBAAF3skB,cAAE,IAAAgP,GAAAm6jB,sBAAA,MAkZq6K,EAAA//iB,aAAA,CAAstS6gd,MAAOr5c,OAAA,opSAAAtH,cAAA,EAAAC,gBAAA,GAA2J,EACl4d,OA3WKyhjB,EAAe,KA6ZrB,SAAS2C,GAAYzmb,IACjB,MAA0B,OAAnBA,IAAMyB,QACjB,CAKA,SAASyjb,GAAev8iB,IACpB,IAAIm8iB,GACJ,OAAI2B,GAAY99iB,IACZm8iB,GAAOn8iB,GAEF89iB,GAAY99iB,GAAQ64B,YACzBsjhB,GAAOn8iB,GAAQ64B,WAEVilhB,GAAY99iB,GAAQ64B,YAAYA,cACrCsjhB,GAAOn8iB,GAAQ64B,WAAWA,YAEe,MAAtCsjhB,IAAM3lb,aAAa,gBAA0B2lb,GAAO,IAC/D,CAEA,SAASvkb,GAAQp6J,GAAOonD,GAAOi1D,GAC3B,OAAe,OAARA,GAAgBj1D,KAAUi1D,GAAOr8G,GAAQq8G,GAAOr8G,KAAUonD,EACrE,CAEA,SAAS24hB,GAAM//kB,GAAOonD,GAAOi1D,GACzB,OAAiB,OAAVj1D,IAAkBA,KAAUi1D,GAAOr8G,IAASonD,IAASpnD,KAAUq8G,CAC1E,CAEA,SAAS2je,GAAUhglB,GAAOonD,GAAOi1D,EAAKkke,IAClC,OAAQA,IACM,OAAVn5hB,IACQ,OAARi1D,GACAj1D,KAAUi1D,GACVr8G,IAASonD,IACTpnD,IAASq8G,CACjB,CAKA,SAASyie,GAAqB5gkB,IAC1B,MAAMsikB,GAAgBtikB,GAAM0vc,eAAe,GAC3C,OAAOjuc,SAAS8gkB,iBAAiBD,GAAcnua,QAASmua,GAAclua,QAC1E,CAGA,MAAMoua,GACFvukB,YAEAi1C,GAEAi1D,GACI3pG,KAAK00C,MAAQA,GACb10C,KAAK2pG,IAAMA,CACf,EAEJ,IAIMske,GAAqB,MAA3B,MAAMA,GACFxukB,YAEA60N,EAAW45W,IACPlukB,KAAKs0N,UAAYA,EACjBt0N,KAAKkukB,SAAWA,GAChBlukB,KAAKmukB,kBAAoB,IAAI7njB,IAE7BtmB,KAAKoukB,iBAAmBpukB,KAAKmukB,kBAC7BnukB,KAAKs0N,UAAYA,CACrB,CAMA+5W,gBAAgB/glB,EAAOwmD,IACnB,MAAMo+I,GAAWlyL,KAAKs0N,UACtBt0N,KAAKs0N,UAAYhnO,EACjB0S,KAAKmukB,kBAAkBxhkB,KAAK,CAAE2nN,UAAWhnO,EAAOwmD,UAAQo+I,aAC5D,CACAhkL,cACIlO,KAAKmukB,kBAAkBhnjB,UAC3B,CACAmnjB,qBAAqBz7gB,GACjB,OAAO7yD,KAAKkukB,SAAShU,eAAerngB,IAAS7yD,KAAKkukB,SAASrlkB,QAAQgqD,EACvE,QACS7yD,KAAKU,UAAI,SAAA6N,IA7hB8EtO,OAAE,CA6hB0F,QACnLD,KAAKszD,WA9hBkFrzD,MAAE,CAAAhQ,MA8hBYg+kB,GAAqBxtkB,QAArBwtkB,GAAqBvtkB,WAAK,EAC3I,OA7BKutkB,EAAqB,KAqCrBM,GAA2B,MAAjC,MAAMA,WAAoCN,GACtCxukB,YAAY4+d,GACR7tb,MAAM,KAAM6tb,EAChB,CAKAtyd,IAAI8mD,GACAriB,MAAM69hB,gBAAgBx7gB,EAAM7yD,KAChC,CAEA6I,UACI,OAAyB,MAAlB7I,KAAKs0N,WAAqBt0N,KAAKsukB,qBAAqBtukB,KAAKs0N,UACpE,CAKAkwO,aACI,OAAyB,MAAlBxkc,KAAKs0N,SAChB,CAEA3sM,QACI,MAAMA,EAAQ,IAAI4mjB,GAA4BvukB,KAAKkukB,UACnDvmjB,SAAM0mjB,gBAAgBrukB,KAAKs0N,UAAWt0N,MAC/B2nB,CACX,QACS3nB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFggkB,IAnkBVtukB,MAmkBuDC,MAAc,CAA+C,QAC3MF,KAAKszD,WApkBkFrzD,MAAE,CAAAhQ,MAokBYs+kB,GAA2B9tkB,QAA3B8tkB,GAA2B7tkB,WAAK,EACjJ,OA9BK6tkB,EAA2B,KAyGjC,MAAMC,GAA2C,CAC7C79iB,QAASs9iB,GACT38iB,KAAM,CAAC,CAAC,IAAI01d,MAAY,IAAID,MAAYknF,IAAwBxV,MAChElniB,WAVJ,SAASk9iB,GAAwCpohB,GAAQg4a,IACrD,OAAOh4a,IAAU,IAAIkohB,GAA4BlwG,GACrD,GAyBMqwG,GAAoC,IAAI7ojB,MAAe,qCAqF7D,IAIM8ojB,GAAY,MAAlB,MAAMA,GAIF,cAAIlG,GACA,OAAOzokB,KAAK4ukB,WAChB,CACA,cAAInG,CAAWn7kB,GACX,MAAMuhlB,GAAgB7ukB,KAAK4ukB,YACrBE,GAAY9ukB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,KACjF0S,KAAK+ukB,aAAaxlG,QACtBvpe,KAAK4ukB,YAAc5ukB,KAAK+ukB,aAAaxQ,UAAUuQ,GAAW9ukB,KAAK+okB,QAAS/okB,KAAK8okB,SACxE9okB,KAAKgvkB,qBAAqBH,GAAe7ukB,KAAK4ukB,cAC/C5ukB,KAAKilD,OAEb,CAEA,YAAI20N,GACA,OAAO55Q,KAAK+0S,SAChB,CACA,YAAIn7B,CAAStsR,GAEL0S,KAAK+0S,UADLznT,aAAiB0glB,GACA1glB,EAGA0S,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,IAExF0S,KAAKivkB,WAAWjvkB,KAAK+0S,UACzB,CAEA,WAAIg0R,GACA,OAAO/okB,KAAKkvkB,QAChB,CACA,WAAInG,CAAQz7kB,GACR0S,KAAKkvkB,SAAWlvkB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CAEA,WAAIw7kB,GACA,OAAO9okB,KAAKmvkB,QAChB,CACA,WAAIrG,CAAQx7kB,GACR0S,KAAKmvkB,SAAWnvkB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CACAmS,YAAY0mB,EAAoBipjB,GAAcL,GAAcr8iB,GAAM28iB,IAC9DrvkB,KAAKmmB,mBAAqBA,EAC1BnmB,KAAKovkB,aAAeA,GACpBpvkB,KAAK+ukB,aAAeA,GACpB/ukB,KAAK0yB,KAAOA,GACZ1yB,KAAKqvkB,eAAiBA,GACtBrvkB,KAAKsvkB,sBAAwB/jkB,KAAaunB,MAE1C9yB,KAAKuvkB,WAAa,KAElBvvkB,KAAKwvkB,eAAiB,IAAI1jjB,MAE1B9rB,KAAKyvkB,eAAiB,IAAI3jjB,MAE1B9rB,KAAK4rkB,YAAc,IAAI9/iB,MAKvB9rB,KAAK6rkB,UAAY,IAAI//iB,MAErB9rB,KAAK2rkB,iBAAmB,IAAI7/iB,MAS5B9rB,KAAK4ukB,YAAc5ukB,KAAK+ukB,aAAaxlG,OACzC,CACAr9c,qBACIlsB,KAAKsvkB,sBAAwBtvkB,KAAK+ukB,aAAa9Q,cAC1CpzjB,QAAK8hB,MAAU,OACftgB,UAAU,IAAMrM,KAAKilD,QAC9B,CACA21Z,YAAYlub,GACR,MAAMgjjB,GAAmBhjjB,EAAQu8iB,iBAAsBv8iB,EAAQw8iB,cAC3DwG,KAAqBA,GAAiB50H,aACtC96c,KAAKivkB,WAAWjvkB,KAAK45Q,UAErBltP,EAAQ6ijB,aAAkBvvkB,KAAKuvkB,YAC/BvvkB,KAAK2vkB,eAEb,CACAzhkB,cACIlO,KAAKsvkB,sBAAsBnhkB,aAC/B,CAEAu6jB,cAAcl9jB,GACV,MAAMqnD,GAAOrnD,EAAMle,MACbsilB,GAAe5vkB,KAAK6vkB,uBAAuBh9gB,IACjD,IAAIi9gB,GACAC,GACA/vkB,KAAK+0S,qBAAqBi5R,IAC1B8B,GAAiB9vkB,KAAKgwkB,uBAAuBhwkB,KAAK+0S,UAAUrgQ,OAC5Dq7hB,GAAe/vkB,KAAKgwkB,uBAAuBhwkB,KAAK+0S,UAAUprM,MAG1Dmme,GAAiBC,GAAe/vkB,KAAKgwkB,uBAAuBhwkB,KAAK+0S,YAEjE+6R,KAAmBj9gB,IAAQk9gB,KAAiBl9gB,KAC5C7yD,KAAKwvkB,eAAerqjB,KAAKyqjB,IAE7B5vkB,KAAKyvkB,eAAetqjB,KAAK,CAAE73B,MAAOsilB,GAAcpkkB,MAAOA,EAAMA,QAC7DxL,KAAK2vkB,gBACL3vkB,KAAKmmB,mBAAmBiC,cAC5B,CAWA6njB,kBAAkBzkkB,GACd,MACMqjkB,GAAgB7ukB,KAAK4ukB,YAC3B5ukB,KAAKyokB,WAAazokB,KAAK6vkB,uBAFTrkkB,EAAMle,OAGhB0S,KAAK+ukB,aAAa5Q,YAAY0Q,GAAe7ukB,KAAKyokB,aAClDzokB,KAAK2rkB,iBAAiBxmjB,KAAKnlB,KAAK4ukB,YAExC,CAEAsB,2BAA2B1kkB,GAIvB,MAAMqjkB,GAAgB7ukB,KAAK4ukB,YACrBh8G,GAAQ5yd,KAAKowd,SACnB,OAAQ5kd,EAAMoiB,SACV,KAAKG,MACD/tB,KAAKyokB,WAAazokB,KAAK+ukB,aAAa/U,gBAAgBh6jB,KAAK4ukB,YAAah8G,GAAQ,GAAI,GAClF,MACJ,KAAK1kc,MACDluB,KAAKyokB,WAAazokB,KAAK+ukB,aAAa/U,gBAAgBh6jB,KAAK4ukB,YAAah8G,IAAQ,EAAK,GACnF,MACJ,KAAKzkc,MACDnuB,KAAKyokB,WAAazokB,KAAK+ukB,aAAa/U,gBAAgBh6jB,KAAK4ukB,aAAa,GACtE,MACJ,KAAKxgjB,MACDpuB,KAAKyokB,WAAazokB,KAAK+ukB,aAAa/U,gBAAgBh6jB,KAAK4ukB,YAAa,GACtE,MACJ,KAAKn5H,MACDz1c,KAAKyokB,WAAazokB,KAAK+ukB,aAAa/U,gBAAgBh6jB,KAAK4ukB,YAAa,EAAI5ukB,KAAK+ukB,aAAanyJ,QAAQ58a,KAAK4ukB,cACzG,MACJ,KAAKl5H,MACD11c,KAAKyokB,WAAazokB,KAAK+ukB,aAAa/U,gBAAgBh6jB,KAAK4ukB,YAAa5ukB,KAAK+ukB,aAAarV,kBAAkB15jB,KAAK4ukB,aAC3G5ukB,KAAK+ukB,aAAanyJ,QAAQ58a,KAAK4ukB,cACnC,MACJ,KAAKh5H,MACD51c,KAAKyokB,WAAaj9jB,EAAMmgN,OAClB3rN,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,aAAa,GACrD5ukB,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAK4ukB,aAAa,GAC5D,MACJ,KAAK74H,MACD/1c,KAAKyokB,WAAaj9jB,EAAMmgN,OAClB3rN,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAAa,GACrD5ukB,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAK4ukB,YAAa,GAC5D,MACJ,KAAKn3iB,MACL,KAAKC,MAUD,OATA13B,KAAKmwkB,sBAAuB,OACxBnwkB,KAAKowkB,WAAWpwkB,KAAK4ukB,cAMrBpjkB,EAAM+b,kBAGd,KAAKsG,MAgBD,YAdwB,MAApB7tB,KAAKqwkB,eAAuB,EAACvijB,OAAetiB,KAC5CxL,KAAK2vkB,gBAGD3vkB,KAAKuvkB,WACLvvkB,KAAK6rkB,UAAU1mjB,KAAK,CAAE73B,MAAO,KAAMke,WAGnCxL,KAAKwvkB,eAAerqjB,KAAK,MACzBnlB,KAAKyvkB,eAAetqjB,KAAK,CAAE73B,MAAO,KAAMke,WAE5CA,EAAM+b,iBACN/b,EAAMgc,oBAGd,QAEI,OAEJxnB,KAAK+ukB,aAAa5Q,YAAY0Q,GAAe7ukB,KAAKyokB,cAClDzokB,KAAK2rkB,iBAAiBxmjB,KAAKnlB,KAAKyokB,YAChCzokB,KAAKkrkB,oCAGT1/jB,EAAM+b,gBACV,CAEA+ojB,yBAAyB9kkB,IACjBA,EAAMoiB,UAAY8J,OAASlsB,EAAMoiB,UAAY6J,SACzCz3B,KAAKmwkB,sBAAwBnwkB,KAAKowkB,WAAWpwkB,KAAK4ukB,cAClD5ukB,KAAK0okB,cAAc,CAAEp7kB,MAAO0S,KAAK+ukB,aAAanyJ,QAAQ58a,KAAK4ukB,aAAcpjkB,UAE7ExL,KAAKmwkB,sBAAuB,EAEpC,CAEAlrhB,QACIjlD,KAAKivkB,WAAWjvkB,KAAK45Q,UACrB55Q,KAAKuwkB,WAAavwkB,KAAKwwkB,qBAAqBxwkB,KAAK+ukB,aAAaxlG,SAC9Dvpe,KAAKywkB,YAAczwkB,KAAKovkB,aAAa30hB,QAAQi2hB,WACvC1wkB,KAAK+ukB,aAAa9wgB,OAAOj+D,KAAKyokB,WAAYzokB,KAAKovkB,aAAa30hB,QAAQi2hB,YACpE1wkB,KAAK+ukB,aACF1V,cAAc,SAASr5jB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAKyokB,aAAaxyH,oBAC7E,IAAI06H,EAAe3wkB,KAAK+ukB,aAAaxvJ,WAAWv/a,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAAazokB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAKyokB,YAAa,GACzIzokB,KAAK4wkB,kBAtOS,EAwON5wkB,KAAK+ukB,aAAa3V,aAAauX,GAC/B3wkB,KAAK+ukB,aAAatV,qBAzOZ,EA2Odz5jB,KAAK6wkB,gBACL7wkB,KAAK8wkB,mBACL9wkB,KAAKmmB,mBAAmBiC,cAC5B,CAEA+ijB,iBAAiBgC,GACbntkB,KAAK+wkB,iBAAiB5F,iBAAiBgC,EAC3C,CAEAjC,mCACIlrkB,KAAK+wkB,iBAAiB3D,0CAC1B,CAEA4D,iBAAkBxlkB,QAAOle,MAAO2+kB,KAC5B,GAAIjskB,KAAKqvkB,eAAgB,CAGrB,MAAM/hlB,GAAQ2+kB,GAAOA,GAAKvpH,SAAW,KAC/BuuH,GAAejxkB,KAAKqvkB,eAAe6B,cAAc5jlB,GAAO0S,KAAK45Q,SAAUpuQ,GAG7E,GAFAxL,KAAKmxkB,cAAgBnxkB,KAAKwwkB,qBAAqBS,GAAav8hB,OAC5D10C,KAAKqwkB,YAAcrwkB,KAAKwwkB,qBAAqBS,GAAatne,KACtD3pG,KAAKuvkB,YAAcjilB,GAAO,CAC1B,MAAM8jlB,GAAYpxkB,KAAKqvkB,eAAegC,aAAarxkB,KAAKuvkB,WAAWjilB,MAAO0S,KAAK45Q,SAAUtsR,GAAOke,GAC5F4lkB,KACApxkB,KAAKmxkB,cAAgBnxkB,KAAKwwkB,qBAAqBY,GAAU18hB,OACzD10C,KAAKqwkB,YAAcrwkB,KAAKwwkB,qBAAqBY,GAAUzne,KAE/D,CAKA3pG,KAAKmmB,mBAAmBzJ,eAC5B,CACJ,CAKAksjB,WAAWp9jB,GACP,GAAKxL,KAAKuvkB,WAEV,GAAI/jkB,EAAMle,MAAO,CAEb,MAAMgklB,GAAiBtxkB,KAAKqvkB,gBAAgBgC,aAAarxkB,KAAKuvkB,WAAWjilB,MAAO0S,KAAK45Q,SAAUpuQ,EAAMle,MAAOke,EAAMA,OAClHxL,KAAK6rkB,UAAU1mjB,KAAK,CAAE73B,MAAOgklB,IAAkB,KAAM9lkB,MAAOA,EAAMA,OACtE,MAEIxL,KAAK6rkB,UAAU1mjB,KAAK,CAAE73B,MAAO,KAAMke,MAAOA,EAAMA,OAExD,CAKAqkkB,uBAAuB0B,GACnB,OAAOvxkB,KAAK+ukB,aAAaxvJ,WAAWv/a,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAAazokB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAKyokB,YAAa8I,EACjI,CAEAV,gBACI,MAAM96I,EAAiB/1b,KAAK+ukB,aAAatV,oBACnC+X,GAAiBxxkB,KAAK+ukB,aAAaxV,kBAAkB,UAG3D,IAAIpuJ,GAFiBnra,KAAK+ukB,aAAaxV,kBAAkB,QAE7B1rkB,IAAI,CAACy6kB,GAAMvgjB,OAC1BugjB,QAAMz3J,OAAQ2gK,GAAezpjB,OAE1C/nB,KAAKk2b,UAAY/qB,GAASvpY,MAAMm0Z,GAAgBtoc,OAAO09a,GAASvpY,MAAM,EAAGm0Z,GAC7E,CAEA+6I,mBACI,MAAMnzJ,EAAc39a,KAAK+ukB,aAAarV,kBAAkB15jB,KAAKyokB,YACvDgJ,GAAYzxkB,KAAK+ukB,aAAazV,eACpCt5jB,KAAK0xkB,OAAS,CAAC,IACf,QAAS3pjB,GAAI,EAAGkkjB,GAAOjskB,KAAK4wkB,iBAAkB7ojB,GAAI41Z,EAAa51Z,KAAKkkjB,KAAQ,CArT9D,GAsTNA,KACAjskB,KAAK0xkB,OAAO5viB,KAAK,IACjBmqiB,GAAO,GAEX,MAAMp5gB,GAAO7yD,KAAK+ukB,aAAaxvJ,WAAWv/a,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAAazokB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAKyokB,YAAa1gjB,GAAI,GACjIm2E,GAAUl+F,KAAK2xkB,kBAAkB9+gB,IACjCptC,GAAYzlB,KAAK+ukB,aAAa9wgB,OAAOpL,GAAM7yD,KAAKovkB,aAAa30hB,QAAQ8/gB,eACrEqX,GAAc5xkB,KAAKgpkB,UAAYhpkB,KAAKgpkB,UAAUn2gB,GAAM,cAAWxkE,EACrE2R,KAAK0xkB,OAAO1xkB,KAAK0xkB,OAAOt/kB,OAAS,GAAG0vC,KAAK,IAAI+oiB,GAAgB9ijB,GAAI,EAAG0pjB,GAAU1pjB,IAAItC,GAAWy4E,GAAS0ze,GAAa5xkB,KAAKwwkB,qBAAqB39gB,IAAOA,IACxJ,CACJ,CAEA8+gB,kBAAkB9+gB,GACd,QAAUA,KACJ7yD,KAAK+okB,SAAW/okB,KAAK+ukB,aAAa5Q,YAAYtrgB,EAAM7yD,KAAK+okB,UAAY,MACrE/okB,KAAK8okB,SAAW9okB,KAAK+ukB,aAAa5Q,YAAYtrgB,EAAM7yD,KAAK8okB,UAAY,MACrE9okB,KAAK6okB,YAAc7okB,KAAK6okB,WAAWh2gB,GAC7C,CAKAm9gB,uBAAuBn9gB,GACnB,OAAOA,GAAQ7yD,KAAKgvkB,qBAAqBn8gB,EAAM7yD,KAAKyokB,YAC9CzokB,KAAK+ukB,aAAanyJ,QAAQ/pX,GAC1B,IACV,CAEAm8gB,qBAAqBpkZ,EAAIinZ,IACrB,SAAUjnZ,IACNinZ,IACA7xkB,KAAK+ukB,aAAahyJ,SAASnyP,IAAO5qL,KAAK+ukB,aAAahyJ,SAAS80J,KAC7D7xkB,KAAK+ukB,aAAa5V,QAAQvuY,IAAO5qL,KAAK+ukB,aAAa5V,QAAQ0Y,IACnE,CAEArB,qBAAqB39gB,GACjB,GAAIA,EAAM,CAGN,MAAM6N,GAAO1gE,KAAK+ukB,aAAa5V,QAAQtmgB,GACjC8N,GAAQ3gE,KAAK+ukB,aAAahyJ,SAASlqX,GACnC+N,GAAM5gE,KAAK+ukB,aAAanyJ,QAAQ/pX,GACtC,OAAO,IAAI7kB,KAAK0yB,GAAMC,GAAOC,IAAK0kB,SACtC,CACA,OAAO,IACX,CAEA8qY,SACI,OAAOpwd,KAAK0yB,MAA4B,QAApB1yB,KAAK0yB,KAAKplC,KAClC,CAEA2hlB,WAAWpqH,GACHA,aAAyBmpH,IACzBhukB,KAAK8xkB,YAAc9xkB,KAAKwwkB,qBAAqB3rH,EAAcnwa,OAC3D10C,KAAK+xkB,UAAY/xkB,KAAKwwkB,qBAAqB3rH,EAAcl7W,KACzD3pG,KAAKgykB,UAAW,IAGhBhykB,KAAK8xkB,YAAc9xkB,KAAK+xkB,UAAY/xkB,KAAKwwkB,qBAAqB3rH,GAC9D7kd,KAAKgykB,UAAW,GAEpBhykB,KAAKiykB,sBAAwBjykB,KAAKwwkB,qBAAqBxwkB,KAAKipkB,iBAC5DjpkB,KAAKkykB,oBAAsBlykB,KAAKwwkB,qBAAqBxwkB,KAAKkpkB,cAC9D,CAEAkH,WAAWv9gB,GACP,OAAQ7yD,KAAK6okB,YAAc7okB,KAAK6okB,WAAWh2gB,EAC/C,CAEA88gB,gBACI3vkB,KAAKmxkB,cAAgBnxkB,KAAKqwkB,YAAc,IAC5C,QACSrwkB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFogkB,IAtnCV1ukB,MAsnCwCA,OAtnCxCA,MAsnCyEy6jB,KAAgB,GAtnCzFz6jB,MAsnCsHC,KAAc,GAtnCpID,MAsnCiKE,MAAiB,GAtnClLF,MAsnC+MyukB,GAAiC,IAA8D,QACrY1ukB,KAAK0oB,UAvnCkFzoB,MAAE,CAAAgO,KAunCJ0gkB,GAAYhgkB,UAAA,qBAAA2hB,UAAA,SAAAthB,GAAAC,IAA8oB,GAA9oB,EAAAD,IAvnCV/O,MAunCyoBgrkB,GAAe,KAAAj8jB,GAAA,KAAAohB,GAvnCxpBnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAA8hkB,iBAAA3gjB,GAAA1B,MAAA,GAAA/Y,OAAA,CAAA8yjB,WAAA,aAAA7uT,SAAA,WAAAmvT,QAAA,UAAAD,QAAA,UAAAD,WAAA,aAAAG,UAAA,YAAAC,gBAAA,kBAAAC,cAAA,gBAAAC,wBAAA,0BAAAC,sBAAA,wBAAAmG,WAAA,cAAA7+iB,QAAA,CAAA8+iB,eAAA,iBAAAC,eAAA,iBAAA7D,YAAA,cAAAC,UAAA,YAAAF,iBAAA,oBAAA3ijB,SAAA,iBAAAC,YAAA,EAAAC,SAAA,CAAFjpB,aAAE2O,MAAA,EAAAC,KAAA,GAAAC,OAAA,mhBAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAE,YAAFA,CAunC4yB,YAvnC5yBA,CAunC21B,QAvnC31BA,MAAE,EAAAmokB,GAAA,WAAFnokB,qBAAE,UAAFA,MAAE,UAAFA,gBAAE,aAAFA,MAAE,+BAAAmI,IAAA,OAunC+2D6G,GAAAy5jB,cAAAtgkB,GAAqB,EAvnCt4DnI,CAunCw4D,4BAAAmI,IAAA,OAAgC6G,GAAAghkB,kBAAA7nkB,GAAyB,EAvnCj8DnI,CAunCm8D,yBAAAmI,IAAA,OAA6B6G,GAAA+hkB,gBAAA5okB,GAAuB,EAvnCv/DnI,CAunCy/D,uBAAAmI,IAAA,OAA2B6G,GAAA28jB,YAAAzmjB,KAAA/c,GAAwB,EAvnC5iEnI,CAunC8iE,qBAAAmI,IAAA,OAAyB6G,GAAA25jB,WAAAxgkB,GAAkB,EAvnCzlEnI,CAunC2lE,iBAAAmI,IAAA,OAAqB6G,GAAAqhkB,yBAAAlokB,GAAgC,EAvnChpEnI,CAunCkpE,mBAAAmI,IAAA,OAAuB6G,GAAAihkB,2BAAA9nkB,GAAkC,GAvnC3sEnI,WAunCouE,EAAA+O,KAvnCpuE/O,MAAE,GAAFA,MAAEgP,GAAAinb,WAAFj2b,MAAE,GAAFA,MAAE,QAAAgP,GAAAwhkB,YAAFxwkB,CAunCgwC,OAAAgP,GAAAyikB,OAvnChwCzxkB,CAunC4xC,aAAAgP,GAAAshkB,WAvnC5xCtwkB,CAunCm0C,aAAAgP,GAAA6ikB,YAvnCn0C7xkB,CAunC22C,WAAAgP,GAAA8ikB,UAvnC32C9xkB,CAunC+4C,kBAAAgP,GAAAgjkB,sBAvnC/4ChykB,CAunCq8C,gBAAAgP,GAAAijkB,oBAvnCr8CjykB,CAunCu/C,eAAAgP,GAAAkikB,cAvnCv/ClxkB,CAunCkiD,aAAAgP,GAAAohkB,YAvnCliDpwkB,CAunCykD,UAAAgP,GAAA+ikB,SAvnCzkD/xkB,CAunC0mD,0BAvnC1mDA,CAunCkpD,aAAAgP,GAAA8/jB,aAAAnyJ,QAAA3ta,GAAAw5jB,YAAA,EAvnClpDxokB,CAunCktD,0BAAAgP,GAAAk6jB,wBAvnCltDlpkB,CAunCkxD,wBAAAgP,GAAAm6jB,uBAA4D,EAAA//iB,aAAA,CAAqc4hjB,IAAe1hjB,cAAA,EAAAC,gBAAA,GAAkhB,EACv5F,OA3XKmljB,EAAY,KAkblB,MAAMwD,GAAe,GAErB,IAIMC,GAAgB,MAAtB,MAAMA,GAEF,cAAI3J,GACA,OAAOzokB,KAAK4ukB,WAChB,CACA,cAAInG,CAAWn7kB,GACX,IAAIuhlB,GAAgB7ukB,KAAK4ukB,YACzB,MAAME,GAAY9ukB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,KACjF0S,KAAK+ukB,aAAaxlG,QACtBvpe,KAAK4ukB,YAAc5ukB,KAAK+ukB,aAAaxQ,UAAUuQ,GAAW9ukB,KAAK+okB,QAAS/okB,KAAK8okB,SACxEuJ,GAAoBrykB,KAAK+ukB,aAAcF,GAAe7ukB,KAAK4ukB,YAAa5ukB,KAAK+okB,QAAS/okB,KAAK8okB,UAC5F9okB,KAAKilD,OAEb,CAEA,YAAI20N,GACA,OAAO55Q,KAAK+0S,SAChB,CACA,YAAIn7B,CAAStsR,GAEL0S,KAAK+0S,UADLznT,aAAiB0glB,GACA1glB,EAGA0S,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,IAExF0S,KAAKsykB,iBAAiBhllB,EAC1B,CAEA,WAAIy7kB,GACA,OAAO/okB,KAAKkvkB,QAChB,CACA,WAAInG,CAAQz7kB,GACR0S,KAAKkvkB,SAAWlvkB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CAEA,WAAIw7kB,GACA,OAAO9okB,KAAKmvkB,QAChB,CACA,WAAIrG,CAAQx7kB,GACR0S,KAAKmvkB,SAAWnvkB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CACAmS,YAAY0mB,EAAoB4ojB,GAAcr8iB,IAC1C1yB,KAAKmmB,mBAAqBA,EAC1BnmB,KAAK+ukB,aAAeA,GACpB/ukB,KAAK0yB,KAAOA,GACZ1yB,KAAKsvkB,sBAAwB/jkB,KAAaunB,MAE1C9yB,KAAKwvkB,eAAiB,IAAI1jjB,MAE1B9rB,KAAKuykB,aAAe,IAAIzmjB,MAExB9rB,KAAK2rkB,iBAAmB,IAAI7/iB,MAI5B9rB,KAAK4ukB,YAAc5ukB,KAAK+ukB,aAAaxlG,OACzC,CACAr9c,qBACIlsB,KAAKsvkB,sBAAwBtvkB,KAAK+ukB,aAAa9Q,cAC1CpzjB,QAAK8hB,MAAU,OACftgB,UAAU,IAAMrM,KAAKilD,QAC9B,CACA/2C,cACIlO,KAAKsvkB,sBAAsBnhkB,aAC/B,CAEA82C,QACIjlD,KAAKwykB,WAAaxykB,KAAK+ukB,aAAa5V,QAAQn5jB,KAAK+ukB,aAAaxlG,SAO9D,MAAMkpG,GADazykB,KAAK+ukB,aAAa5V,QAAQn5jB,KAAK4ukB,aACf8D,GAAgB1ykB,KAAK+ukB,aAAc/ukB,KAAKyokB,WAAYzokB,KAAK+okB,QAAS/okB,KAAK8okB,SAC1G9okB,KAAK2ykB,OAAS,GACd,QAAS5qjB,GAAI,EAAG4ljB,GAAM,GAAI5ljB,GAAIoqjB,GAAcpqjB,KACxC4ljB,GAAI7riB,KAAK2wiB,GAAgB1qjB,IAlFjB,GAmFJ4ljB,GAAIv7kB,SACJ4N,KAAK2ykB,OAAO7wiB,KAAK6riB,GAAI9/kB,IAAI6yE,IAAQ1gE,KAAK4ykB,mBAAmBlygB,MACzDitgB,GAAM,IAGd3tkB,KAAKmmB,mBAAmBiC,cAC5B,CAEAyqjB,cAAcrnkB,GACV,MAAMk1D,GAAOl1D,EAAMle,MACbwllB,GAAe9ykB,KAAK+ukB,aAAaxvJ,WAAW7+W,GAAM,EAAG,GACrDkvgB,GAAe5vkB,KAAK+ykB,iBAAiBrygB,IAC3C1gE,KAAKuykB,aAAaptjB,KAAK2tjB,IACvB9ykB,KAAKwvkB,eAAerqjB,KAAKyqjB,GAC7B,CAWAK,kBAAkBzkkB,GACd,MACMqjkB,GAAgB7ukB,KAAK4ukB,YAC3B5ukB,KAAKyokB,WAAazokB,KAAK+ykB,iBAFVvnkB,EAAMle,OAGf0S,KAAK+ukB,aAAa5Q,YAAY0Q,GAAe7ukB,KAAKyokB,aAClDzokB,KAAK2rkB,iBAAiBxmjB,KAAKnlB,KAAKyokB,WAExC,CAEAyH,2BAA2B1kkB,GACvB,MAAMqjkB,GAAgB7ukB,KAAK4ukB,YACrBh8G,GAAQ5yd,KAAKowd,SACnB,OAAQ5kd,EAAMoiB,SACV,KAAKG,MACD/tB,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAAah8G,GAAQ,GAAI,GACnF,MACJ,KAAK1kc,MACDluB,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAAah8G,IAAQ,EAAK,GACpF,MACJ,KAAKzkc,MACDnuB,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,aAhItD,GAiIJ,MACJ,KAAKxgjB,MACDpuB,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAnItD,GAoIJ,MACJ,KAAKn5H,MACDz1c,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,aAAc8D,GAAgB1ykB,KAAK+ukB,aAAc/ukB,KAAKyokB,WAAYzokB,KAAK+okB,QAAS/okB,KAAK8okB,UAC/I,MACJ,KAAKpzH,MACD11c,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAAauD,GACnEO,GAAgB1ykB,KAAK+ukB,aAAc/ukB,KAAKyokB,WAAYzokB,KAAK+okB,QAAS/okB,KAAK8okB,SACvE,GACJ,MACJ,KAAKlzH,MACD51c,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAAapjkB,EAAMmgN,OAAyB,IAAfwmX,IAAqBA,IAC5G,MACJ,KAAKp8H,MACD/1c,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAAapjkB,EAAMmgN,OAAwB,GAAfwmX,GAAoBA,IAC1G,MACJ,KAAK16iB,MACL,KAAKC,MAKD13B,KAAKmwkB,sBAAuB,EAC5B,MACJ,QAEI,OAEJnwkB,KAAK+ukB,aAAa5Q,YAAY0Q,GAAe7ukB,KAAKyokB,aAClDzokB,KAAK2rkB,iBAAiBxmjB,KAAKnlB,KAAKyokB,YAEpCzokB,KAAKkrkB,mCAEL1/jB,EAAM+b,gBACV,CAEA+ojB,yBAAyB9kkB,IACjBA,EAAMoiB,UAAY8J,OAASlsB,EAAMoiB,UAAY6J,SACzCz3B,KAAKmwkB,sBACLnwkB,KAAK6ykB,cAAc,CAAEvllB,MAAO0S,KAAK+ukB,aAAa5V,QAAQn5jB,KAAK4ukB,aAAcpjkB,UAE7ExL,KAAKmwkB,sBAAuB,EAEpC,CACA6C,iBACI,OAAON,GAAgB1ykB,KAAK+ukB,aAAc/ukB,KAAKyokB,WAAYzokB,KAAK+okB,QAAS/okB,KAAK8okB,QAClF,CAEAqC,mBACInrkB,KAAK+wkB,iBAAiB5F,kBAC1B,CAEAD,mCACIlrkB,KAAK+wkB,iBAAiB3D,0CAC1B,CAKA2F,iBAAiBrygB,GACb,MAAMuygB,GAAcjzkB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAKyokB,YAC9C9qJ,GAAc39a,KAAK+ukB,aAAarV,kBAAkB15jB,KAAK+ukB,aAAaxvJ,WAAW7+W,EAAMuygB,GAAa,IAExG,OADuBjzkB,KAAK+ukB,aAAaxvJ,WAAW7+W,EAAMuygB,GAAa9ljB,KAAKE,IAAIrtB,KAAK+ukB,aAAanyJ,QAAQ58a,KAAKyokB,YAAa9qJ,IAEhI,CAEAi1J,mBAAmBlygB,GACf,MAAM7N,GAAO7yD,KAAK+ukB,aAAaxvJ,WAAW7+W,EAAM,EAAG,GAC7CwygB,GAAWlzkB,KAAK+ukB,aAAavV,YAAY3mgB,IACzC++gB,GAAc5xkB,KAAKgpkB,UAAYhpkB,KAAKgpkB,UAAUn2gB,GAAM,mBAAgBxkE,EAC1E,OAAO,IAAIw8kB,GAAgBnqgB,EAAMwygB,GAAUA,GAAUlzkB,KAAKmzkB,kBAAkBzygB,GAAOkxgB,GACvF,CAEAuB,kBAAkBzygB,GAEd,GACa,MAATA,GACC1gE,KAAK8okB,SAAWpogB,EAAO1gE,KAAK+ukB,aAAa5V,QAAQn5jB,KAAK8okB,UACtD9okB,KAAK+okB,SAAWrogB,EAAO1gE,KAAK+ukB,aAAa5V,QAAQn5jB,KAAK+okB,SACvD,OAAO,EAGX,IAAK/okB,KAAK6okB,WACN,OAAO,EAIX,QAASh2gB,GAFW7yD,KAAK+ukB,aAAaxvJ,WAAW7+W,EAAM,EAAG,GAE7B1gE,KAAK+ukB,aAAa5V,QAAQtmgB,KAAS6N,EAAM7N,GAAO7yD,KAAK+ukB,aAAa/U,gBAAgBnngB,GAAM,GACjH,GAAI7yD,KAAK6okB,WAAWh2gB,IAChB,OAAO,EAGf,OAAO,CACX,CAEAu9Z,SACI,OAAOpwd,KAAK0yB,MAA4B,QAApB1yB,KAAK0yB,KAAKplC,KAClC,CAEAgllB,iBAAiBhllB,GAEb,GADA0S,KAAKozkB,cAAgB,KACjB9llB,aAAiB0glB,GAAW,CAC5B,MAAM7lT,GAAe76R,EAAMonD,OAASpnD,EAAMq8G,IACtCw+K,KACAnoR,KAAKozkB,cAAgBpzkB,KAAK+ukB,aAAa5V,QAAQhxS,IAEvD,MACS76R,IACL0S,KAAKozkB,cAAgBpzkB,KAAK+ukB,aAAa5V,QAAQ7rkB,GAEvD,QACS0S,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF6jkB,IAl6CVnykB,MAk6C4CA,OAl6C5CA,MAk6C6EC,KAAc,GAl6C3FD,MAk6CwHE,MAAiB,IAA8D,QAC9RH,KAAK0oB,UAn6CkFzoB,MAAE,CAAAgO,KAm6CJmkkB,GAAgBzjkB,UAAA,0BAAA2hB,UAAA,SAAAthB,GAAAC,IAAyZ,GAAzZ,EAAAD,IAn6Cd/O,MAm6CwZgrkB,GAAe,KAAAj8jB,GAAA,KAAAohB,GAn6CvanwB,MAAEmwB,GAAFnwB,WAAEgP,GAAA8hkB,iBAAA3gjB,GAAA1B,MAAA,GAAA/Y,OAAA,CAAA8yjB,WAAA,aAAA7uT,SAAA,WAAAmvT,QAAA,UAAAD,QAAA,UAAAD,WAAA,aAAAG,UAAA,aAAAt4iB,QAAA,CAAA8+iB,eAAA,iBAAA+C,aAAA,eAAA5G,iBAAA,oBAAA3ijB,SAAA,qBAAAC,YAAA,EAAAC,SAAA,CAAFjpB,OAAE2O,MAAA,EAAAC,KAAA,EAAAC,OAAA,+TAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAE,YAAFA,CAm6C0iB,YAn6C1iBA,CAm6C8mB,QAn6C9mBA,MAAE,UAAFA,gBAAE,aAAFA,MAAE,+BAAAmI,IAAA,OAm6CygC6G,GAAA4jkB,cAAAzqkB,GAAqB,EAn6ChiCnI,CAm6CkiC,4BAAAmI,IAAA,OAAgC6G,GAAAghkB,kBAAA7nkB,GAAyB,EAn6C3lCnI,CAm6C6lC,iBAAAmI,IAAA,OAAqB6G,GAAAqhkB,yBAAAlokB,GAAgC,EAn6ClpCnI,CAm6CopC,mBAAAmI,IAAA,OAAuB6G,GAAAihkB,2BAAA9nkB,GAAkC,GAn6C7sCnI,WAm6CsuC,EAAA+O,KAn6CtuC/O,MAAE,GAAFA,MAAE,OAAAgP,GAAA0jkB,OAAF1ykB,CAm6CowB,aAAAgP,GAAAujkB,WAn6CpwBvykB,CAm6C0yB,aAAAgP,GAAAmkkB,cAn6C1yBnzkB,CAm6Co1B,WAAAgP,GAAAmkkB,cAn6Cp1BnzkB,CAm6C43B,YAn6C53BA,CAm6Cs5B,sBAn6Ct5BA,CAm6C47B,aAAAgP,GAAA+jkB,kBAA4C,EAAA3pjB,aAAA,CAA6S4hjB,IAAe1hjB,cAAA,EAAAC,gBAAA,GAAkhB,EACz5D,OA/OK4ojB,EAAgB,KA6QtB,SAASC,GAAoBgB,GAAaC,GAAOC,EAAOxK,GAASD,IAC7D,MAAM0K,GAAQH,GAAYla,QAAQma,IAC5BG,GAAQJ,GAAYla,QAAQoa,GAC5BG,GAAeC,GAAgBN,GAAatK,GAASD,IAC3D,OAAQ37iB,KAAK4gB,OAAOyliB,GAAQE,IAAgBvB,MACxChljB,KAAK4gB,OAAO0liB,GAAQC,IAAgBvB,GAC5C,CAMA,SAASO,GAAgBW,GAAa5K,GAAYM,EAASD,IAEvD,OAkBJ,SAAS8K,GAAgBp7kB,GAAG2hE,IACxB,OAAS3hE,GAAI2hE,GAAKA,IAAKA,EAC3B,CApBWy5gB,CADYP,GAAYla,QAAQsP,IACHkL,GAAgBN,GAAatK,EAASD,IAAUqJ,GACxF,CAKA,SAASwB,GAAgBN,GAAatK,GAASD,GAC3C,IAAI4K,GAAe,EACnB,OAAI5K,EAEA4K,GADgBL,GAAYla,QAAQ2P,GACXqJ,GAAe,EAEnCpJ,KACL2K,GAAeL,GAAYla,QAAQ4P,KAEhC2K,EACX,CAMA,IAIMG,GAAW,MAAjB,MAAMA,GAEF,cAAIpL,GACA,OAAOzokB,KAAK4ukB,WAChB,CACA,cAAInG,CAAWn7kB,GACX,IAAIuhlB,GAAgB7ukB,KAAK4ukB,YACzB,MAAME,GAAY9ukB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,KACjF0S,KAAK+ukB,aAAaxlG,QACtBvpe,KAAK4ukB,YAAc5ukB,KAAK+ukB,aAAaxQ,UAAUuQ,GAAW9ukB,KAAK+okB,QAAS/okB,KAAK8okB,SACzE9okB,KAAK+ukB,aAAa5V,QAAQ0V,MAAmB7ukB,KAAK+ukB,aAAa5V,QAAQn5jB,KAAK4ukB,cAC5E5ukB,KAAKilD,OAEb,CAEA,YAAI20N,GACA,OAAO55Q,KAAK+0S,SAChB,CACA,YAAIn7B,CAAStsR,GAEL0S,KAAK+0S,UADLznT,aAAiB0glB,GACA1glB,EAGA0S,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,IAExF0S,KAAK8zkB,kBAAkBxmlB,EAC3B,CAEA,WAAIy7kB,GACA,OAAO/okB,KAAKkvkB,QAChB,CACA,WAAInG,CAAQz7kB,GACR0S,KAAKkvkB,SAAWlvkB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CAEA,WAAIw7kB,GACA,OAAO9okB,KAAKmvkB,QAChB,CACA,WAAIrG,CAAQx7kB,GACR0S,KAAKmvkB,SAAWnvkB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CACAmS,YAAY0mB,EAAoBipjB,GAAcL,GAAcr8iB,IACxD1yB,KAAKmmB,mBAAqBA,EAC1BnmB,KAAKovkB,aAAeA,GACpBpvkB,KAAK+ukB,aAAeA,GACpB/ukB,KAAK0yB,KAAOA,GACZ1yB,KAAKsvkB,sBAAwB/jkB,KAAaunB,MAE1C9yB,KAAKwvkB,eAAiB,IAAI1jjB,MAE1B9rB,KAAK+zkB,cAAgB,IAAIjojB,MAEzB9rB,KAAK2rkB,iBAAmB,IAAI7/iB,MAS5B9rB,KAAK4ukB,YAAc5ukB,KAAK+ukB,aAAaxlG,OACzC,CACAr9c,qBACIlsB,KAAKsvkB,sBAAwBtvkB,KAAK+ukB,aAAa9Q,cAC1CpzjB,QAAK8hB,MAAU,OACftgB,UAAU,IAAMrM,KAAKilD,QAC9B,CACA/2C,cACIlO,KAAKsvkB,sBAAsBnhkB,aAC/B,CAEA6lkB,eAAexokB,GACX,MAAMm1D,GAAQn1D,EAAMle,MACd2mlB,GAAgBj0kB,KAAK+ukB,aAAaxvJ,WAAWv/a,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAAa9ngB,GAAO,GACtG3gE,KAAK+zkB,cAAc5ujB,KAAK8ujB,IACxB,MAAMrE,GAAe5vkB,KAAKk0kB,kBAAkBvzgB,IAC5C3gE,KAAKwvkB,eAAerqjB,KAAKyqjB,GAC7B,CAWAK,kBAAkBzkkB,GACd,MACMqjkB,GAAgB7ukB,KAAK4ukB,YAC3B5ukB,KAAKyokB,WAAazokB,KAAKk0kB,kBAFT1okB,EAAMle,OAGhB0S,KAAK+ukB,aAAa5Q,YAAY0Q,GAAe7ukB,KAAKyokB,aAClDzokB,KAAK2rkB,iBAAiBxmjB,KAAKnlB,KAAKyokB,WAExC,CAEAyH,2BAA2B1kkB,GAIvB,MAAMqjkB,GAAgB7ukB,KAAK4ukB,YACrBh8G,GAAQ5yd,KAAKowd,SACnB,OAAQ5kd,EAAMoiB,SACV,KAAKG,MACD/tB,KAAKyokB,WAAazokB,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAK4ukB,YAAah8G,GAAQ,GAAI,GACpF,MACJ,KAAK1kc,MACDluB,KAAKyokB,WAAazokB,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAK4ukB,YAAah8G,IAAQ,EAAK,GACrF,MACJ,KAAKzkc,MACDnuB,KAAKyokB,WAAazokB,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAK4ukB,aAAa,GACxE,MACJ,KAAKxgjB,MACDpuB,KAAKyokB,WAAazokB,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAK4ukB,YAAa,GACxE,MACJ,KAAKn5H,MACDz1c,KAAKyokB,WAAazokB,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAK4ukB,aAAc5ukB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAK4ukB,cACzG,MACJ,KAAKl5H,MACD11c,KAAKyokB,WAAazokB,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAK4ukB,YAAa,GAAK5ukB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAK4ukB,cAC7G,MACJ,KAAKh5H,MACD51c,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAAapjkB,EAAMmgN,QAAS,IAAM,GAC5F,MACJ,KAAKoqP,MACD/1c,KAAKyokB,WAAazokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAK4ukB,YAAapjkB,EAAMmgN,OAAS,GAAK,GAC3F,MACJ,KAAKl0L,MACL,KAAKC,MAKD13B,KAAKmwkB,sBAAuB,EAC5B,MACJ,QAEI,OAEJnwkB,KAAK+ukB,aAAa5Q,YAAY0Q,GAAe7ukB,KAAKyokB,cAClDzokB,KAAK2rkB,iBAAiBxmjB,KAAKnlB,KAAKyokB,YAChCzokB,KAAKkrkB,oCAGT1/jB,EAAM+b,gBACV,CAEA+ojB,yBAAyB9kkB,IACjBA,EAAMoiB,UAAY8J,OAASlsB,EAAMoiB,UAAY6J,SACzCz3B,KAAKmwkB,sBACLnwkB,KAAKg0kB,eAAe,CAAE1mlB,MAAO0S,KAAK+ukB,aAAahyJ,SAAS/8a,KAAK4ukB,aAAcpjkB,UAE/ExL,KAAKmwkB,sBAAuB,EAEpC,CAEAlrhB,QACIjlD,KAAK8zkB,kBAAkB9zkB,KAAK45Q,UAC5B55Q,KAAKm0kB,YAAcn0kB,KAAKo0kB,uBAAuBp0kB,KAAK+ukB,aAAaxlG,SACjEvpe,KAAKq0kB,WAAar0kB,KAAK+ukB,aAAavV,YAAYx5jB,KAAKyokB,YACrD,IAAI6L,EAAat0kB,KAAK+ukB,aAAa1V,cAAc,SAEjDr5jB,KAAKupb,QAAU,CACX,CAAC,EAAG,EAAG,EAAG,GACV,CAAC,EAAG,EAAG,EAAG,GACV,CAAC,EAAG,EAAG,GAAI,KACb17b,IAAI8/kB,IAAOA,GAAI9/kB,IAAI8yE,IAAS3gE,KAAKu0kB,oBAAoB5zgB,GAAO2zgB,EAAW3zgB,OACzE3gE,KAAKmmB,mBAAmBiC,cAC5B,CAEA+ijB,mBACInrkB,KAAK+wkB,iBAAiB5F,kBAC1B,CAEAD,mCACIlrkB,KAAK+wkB,iBAAiB3D,0CAC1B,CAKAgH,uBAAuBvhhB,GACnB,OAAOA,GAAQ7yD,KAAK+ukB,aAAa5V,QAAQtmgB,IAAS7yD,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAC3EzokB,KAAK+ukB,aAAahyJ,SAASlqX,GAC3B,IACV,CAKAqhhB,kBAAkBvzgB,GACd,MAAM6zgB,GAAiBx0kB,KAAK+ukB,aAAaxvJ,WAAWv/a,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAAa9ngB,EAAO,GACjGg9W,GAAc39a,KAAK+ukB,aAAarV,kBAAkB8a,IACxD,OAAOx0kB,KAAK+ukB,aAAaxvJ,WAAWv/a,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAAa9ngB,EAAOxzC,KAAKE,IAAIrtB,KAAK+ukB,aAAanyJ,QAAQ58a,KAAKyokB,YAAa9qJ,IAChJ,CAEA42J,oBAAoB5zgB,EAAOy9W,IACvB,MAAMvrX,GAAO7yD,KAAK+ukB,aAAaxvJ,WAAWv/a,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAAa9ngB,EAAO,GACvFl7C,GAAYzlB,KAAK+ukB,aAAa9wgB,OAAOpL,GAAM7yD,KAAKovkB,aAAa30hB,QAAQ+/gB,oBACrEoX,GAAc5xkB,KAAKgpkB,UAAYhpkB,KAAKgpkB,UAAUn2gB,GAAM,aAAUxkE,EACpE,OAAO,IAAIw8kB,GAAgBlqgB,EAAOy9W,GAAU63B,oBAAqBxwb,GAAWzlB,KAAKy0kB,mBAAmB9zgB,GAAQixgB,GAChH,CAEA6C,mBAAmB9zgB,GACf,MAAM+zgB,GAAa10kB,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKyokB,YAClD,GACc,MAAV9ngB,GACA3gE,KAAK20kB,4BAA4BD,GAAY/zgB,IAC7C3gE,KAAK40kB,6BAA6BF,GAAY/zgB,GAC9C,OAAO,EAEX,IAAK3gE,KAAK6okB,WACN,OAAO,EAIX,QAASh2gB,GAFY7yD,KAAK+ukB,aAAaxvJ,WAAWm1J,GAAY/zgB,EAAO,GAEvC3gE,KAAK+ukB,aAAahyJ,SAASlqX,KAAS8N,EAAO9N,GAAO7yD,KAAK+ukB,aAAa/U,gBAAgBnngB,GAAM,GACpH,GAAI7yD,KAAK6okB,WAAWh2gB,IAChB,OAAO,EAGf,OAAO,CACX,CAKA8hhB,4BAA4Bj0gB,EAAMC,IAC9B,GAAI3gE,KAAK8okB,QAAS,CACd,MAAM+L,GAAU70kB,KAAK+ukB,aAAa5V,QAAQn5jB,KAAK8okB,SACzCgM,GAAW90kB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAK8okB,SACjD,OAAOpogB,EAAOm0gB,IAAYn0gB,IAASm0gB,IAAWl0gB,GAAQm0gB,EAC1D,CACA,OAAO,CACX,CAKAF,6BAA6Bl0gB,EAAMC,IAC/B,GAAI3gE,KAAK+okB,QAAS,CACd,MAAMgM,GAAU/0kB,KAAK+ukB,aAAa5V,QAAQn5jB,KAAK+okB,SACzCiM,GAAWh1kB,KAAK+ukB,aAAahyJ,SAAS/8a,KAAK+okB,SACjD,OAAOrogB,EAAOq0gB,IAAYr0gB,IAASq0gB,IAAWp0gB,GAAQq0gB,EAC1D,CACA,OAAO,CACX,CAEA5kH,SACI,OAAOpwd,KAAK0yB,MAA4B,QAApB1yB,KAAK0yB,KAAKplC,KAClC,CAEAwmlB,kBAAkBxmlB,GAEV0S,KAAKi1kB,eADL3nlB,aAAiB0glB,GAEbhukB,KAAKo0kB,uBAAuB9mlB,EAAMonD,QAAU10C,KAAKo0kB,uBAAuB9mlB,EAAMq8G,KAG5D3pG,KAAKo0kB,uBAAuB9mlB,EAE1D,QACS0S,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFslkB,IAjvDV5zkB,MAivDuCA,OAjvDvCA,MAivDwEy6jB,KAAgB,GAjvDxFz6jB,MAivDqHC,KAAc,GAjvDnID,MAivDgKE,MAAiB,IAA8D,QACtUH,KAAK0oB,UAlvDkFzoB,MAAE,CAAAgO,KAkvDJ4lkB,GAAWllkB,UAAA,oBAAA2hB,UAAA,SAAAthB,GAAAC,IAAqZ,GAArZ,EAAAD,IAlvDT/O,MAkvD+YgrkB,GAAe,KAAAj8jB,GAAA,KAAAohB,GAlvD9ZnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAA8hkB,iBAAA3gjB,GAAA1B,MAAA,GAAA/Y,OAAA,CAAA8yjB,WAAA,aAAA7uT,SAAA,WAAAmvT,QAAA,UAAAD,QAAA,UAAAD,WAAA,aAAAG,UAAA,aAAAt4iB,QAAA,CAAA8+iB,eAAA,iBAAAuE,cAAA,gBAAApI,iBAAA,oBAAA3ijB,SAAA,gBAAAC,YAAA,EAAAC,SAAA,CAAFjpB,OAAE2O,MAAA,EAAAC,KAAA,EAAAC,OAAA,+VAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAE,YAAFA,CAkvD4hB,YAlvD5hBA,CAkvDgmB,QAlvDhmBA,MAAE,UAAFA,gBAAE,aAAFA,MAAE,+BAAAmI,IAAA,OAkvD0lC6G,GAAA+kkB,eAAA5rkB,GAAsB,EAlvDlnCnI,CAkvDonC,4BAAAmI,IAAA,OAAgC6G,GAAAghkB,kBAAA7nkB,GAAyB,EAlvD7qCnI,CAkvD+qC,iBAAAmI,IAAA,OAAqB6G,GAAAqhkB,yBAAAlokB,GAAgC,EAlvDpuCnI,CAkvDsuC,mBAAAmI,IAAA,OAAuB6G,GAAAihkB,2BAAA9nkB,GAAkC,GAlvD/xCnI,WAkvDwzC,EAAA+O,KAlvDxzC/O,MAAE,GAAFA,MAAE,QAAAgP,GAAAolkB,WAAFp0kB,CAkvD2vB,OAAAgP,GAAAs6a,QAlvD3vBtpb,CAkvDwxB,aAAAgP,GAAAklkB,YAlvDxxBl0kB,CAkvDg0B,aAAAgP,GAAAgmkB,eAlvDh0Bh1kB,CAkvD22B,WAAAgP,GAAAgmkB,eAlvD32Bh1kB,CAkvDo5B,0BAlvDp5BA,CAkvD47B,YAlvD57BA,CAkvDs9B,sBAlvDt9BA,CAkvD4/B,aAAAgP,GAAA8/jB,aAAAhyJ,SAAA9ta,GAAAw5jB,aAA6D,EAAAp/iB,aAAA,CAA8S4hjB,IAAe1hjB,cAAA,EAAAC,gBAAA,GAAkhB,EAC3+D,OAzQKqqjB,EAAW,KA6SbqB,GAAmB,EAEjBC,GAAiB,MAAvB,MAAMA,GACF11kB,YAAY21kB,EAAOppK,GAAU+iK,GAAcK,GAActlD,IACrD9phB,KAAKo1kB,MAAQA,EACbp1kB,KAAKgsa,SAAWA,GAChBhsa,KAAK+ukB,aAAeA,GACpB/ukB,KAAKovkB,aAAeA,GACpBpvkB,KAAKoyG,IAAM,uBAAuB8ie,KAClCl1kB,KAAKq1kB,qBAAuB,GAAGr1kB,KAAKoyG,mBACpCpyG,KAAKgsa,SAASspK,aAAajpkB,UAAU,IAAMy9gB,GAAkB1hgB,eACjE,CAEA,oBAAImtjB,GACA,MAAiC,SAA7Bv1kB,KAAKgsa,SAASoyF,YACPp+f,KAAK+ukB,aACP9wgB,OAAOj+D,KAAKgsa,SAASy8J,WAAYzokB,KAAKovkB,aAAa30hB,QAAQ6/gB,gBAC3DrkH,oBAEwB,QAA7Bj2c,KAAKgsa,SAASoyF,YACPp+f,KAAK+ukB,aAAavV,YAAYx5jB,KAAKgsa,SAASy8J,YAEhDzokB,KAAKo1kB,MAAMzK,mBAAmB3qkB,KAAKw1kB,6BAC9C,CAEA,2BAAIC,GACA,MAAiC,SAA7Bz1kB,KAAKgsa,SAASoyF,YACPp+f,KAAK+ukB,aACP9wgB,OAAOj+D,KAAKgsa,SAASy8J,WAAYzokB,KAAKovkB,aAAa30hB,QAAQ6/gB,gBAC3DrkH,oBAEwB,QAA7Bj2c,KAAKgsa,SAASoyF,YACPp+f,KAAK+ukB,aAAavV,YAAYx5jB,KAAKgsa,SAASy8J,YAIhDzokB,KAAKo1kB,MAAMxK,wBAAwB5qkB,KAAKw1kB,6BACnD,CAEA,qBAAIE,GACA,MAAoC,SAA7B11kB,KAAKgsa,SAASoyF,YACfp+f,KAAKo1kB,MAAM5K,2BACXxqkB,KAAKo1kB,MAAM7K,sBACrB,CAEA,mBAAIoL,GACA,MAAO,CACHh1gB,MAAS3gE,KAAKo1kB,MAAMnL,eACpBvpgB,KAAQ1gE,KAAKo1kB,MAAMjL,cACnB,aAAcnqkB,KAAKo1kB,MAAM/K,oBAC3BrqkB,KAAKgsa,SAASoyF,YACpB,CAEA,mBAAIw3E,GACA,MAAO,CACHj1gB,MAAS3gE,KAAKo1kB,MAAMlL,eACpBxpgB,KAAQ1gE,KAAKo1kB,MAAMhL,cACnB,aAAcpqkB,KAAKo1kB,MAAM9K,oBAC3BtqkB,KAAKgsa,SAASoyF,YACpB,CAEAy3E,uBACI71kB,KAAKgsa,SAASoyF,YAA2C,SAA7Bp+f,KAAKgsa,SAASoyF,YAAyB,aAAe,OACtF,CAEA03E,kBACI91kB,KAAKgsa,SAASy8J,WACmB,SAA7BzokB,KAAKgsa,SAASoyF,YACRp+f,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAKgsa,SAASy8J,YAAY,GAC9DzokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAKgsa,SAASy8J,WAAyC,QAA7BzokB,KAAKgsa,SAASoyF,aAAwB,GAAM+zE,GACvH,CAEA4D,cACI/1kB,KAAKgsa,SAASy8J,WACmB,SAA7BzokB,KAAKgsa,SAASoyF,YACRp+f,KAAK+ukB,aAAahV,kBAAkB/5jB,KAAKgsa,SAASy8J,WAAY,GAC9DzokB,KAAK+ukB,aAAajV,iBAAiB95jB,KAAKgsa,SAASy8J,WAAyC,QAA7BzokB,KAAKgsa,SAASoyF,YAAwB,EAAI+zE,GACrH,CAEA6D,kBACI,OAAKh2kB,KAAKgsa,SAAS+8J,UAGV/okB,KAAKgsa,SAAS+8J,UAAY/okB,KAAKi2kB,YAAYj2kB,KAAKgsa,SAASy8J,WAAYzokB,KAAKgsa,SAAS+8J,QAChG,CAEAr+F,cACI,OAAS1qe,KAAKgsa,SAAS88J,UAAY9okB,KAAKi2kB,YAAYj2kB,KAAKgsa,SAASy8J,WAAYzokB,KAAKgsa,SAAS88J,QAChG,CAEAmN,YAAY3C,EAAOC,IACf,MAAiC,SAA7BvzkB,KAAKgsa,SAASoyF,YACNp+f,KAAK+ukB,aAAa5V,QAAQma,IAAUtzkB,KAAK+ukB,aAAa5V,QAAQoa,KAClEvzkB,KAAK+ukB,aAAahyJ,SAASu2J,IAAUtzkB,KAAK+ukB,aAAahyJ,SAASw2J,IAEvC,QAA7BvzkB,KAAKgsa,SAASoyF,YACPp+f,KAAK+ukB,aAAa5V,QAAQma,IAAUtzkB,KAAK+ukB,aAAa5V,QAAQoa,IAGlElB,GAAoBrykB,KAAK+ukB,aAAcuE,EAAOC,GAAOvzkB,KAAKgsa,SAAS+8J,QAAS/okB,KAAKgsa,SAAS88J,QACrG,CAMA0M,6BAKI,MAAM/C,GADazykB,KAAK+ukB,aAAa5V,QAAQn5jB,KAAKgsa,SAASy8J,YAEvDiK,GAAgB1ykB,KAAK+ukB,aAAc/ukB,KAAKgsa,SAASy8J,WAAYzokB,KAAKgsa,SAAS+8J,QAAS/okB,KAAKgsa,SAAS88J,SAChGoN,GAAgBzD,GAAgBN,GAAe,EAGrD,MAAO,CAFcnykB,KAAK+ukB,aAAavV,YAAYx5jB,KAAK+ukB,aAAaxvJ,WAAWkzJ,GAAe,EAAG,IAC7EzykB,KAAK+ukB,aAAavV,YAAYx5jB,KAAK+ukB,aAAaxvJ,WAAW22J,GAAe,EAAG,IAEtG,QACSl2kB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF4mkB,IA74DVl1kB,MA64D6C4pkB,IA74D7C5pkB,SA64D2Eykf,OAAW,IAAMyxF,KA74D5Fl2kB,MA64DqHC,KAAc,GA74DnID,MA64DgKy6jB,KAAgB,GA74DhLz6jB,MA64D6MA,OAAoB,CAA8C,QACtWD,KAAK0oB,UA94DkFzoB,MAAE,CAAAgO,KA84DJknkB,GAAiBxmkB,UAAA,0BAAAqa,SAAA,sBAAAC,YAAA,EAAAC,SAAA,CA94DfjpB,OAAEmpB,mBAAA/Y,GAAAzB,MAAA,GAAAC,KAAA,GAAAC,OAAA,ihBAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,cAAE,UAAFA,CA84DmK,UA94DnKA,CA84D4M,aA94D5MA,MAAE,GAAFA,cAAE,cAAFA,MAAE,0BA84DupBgP,GAAA4mkB,sBAAsB,GA94D/qB51kB,MAAE,YAAFA,MAAE,GAAFA,sBAAE,WAAFA,MAAE,eAAFA,wBAAE,WAAFA,MAAE,IAAFA,MAAE,eAAFA,MAAE,0BA84D40CgP,GAAA6mkB,iBAAiB,GA94D/1C71kB,cAAE,eAAFA,MAAE,0BA84D0iDgP,GAAA8mkB,aAAa,GA94DzjD91kB,aA84DgpD,EAAA+O,KA94DhpD/O,MAAE,GAAFA,MAAE,KAAAgP,GAAAomkB,sBAAFp1kB,cAAEgP,GAAAwmkB,yBAAFx1kB,cAAE,aAAAgP,GAAAymkB,kBAAFz1kB,CAAE,mBAAAgP,GAAAomkB,sBAAFp1kB,MAAE,GAAFA,MAAEgP,GAAAsmkB,kBAAFt1kB,cAAE,gCAAAgP,GAAA+8Z,SAAAoyF,aAAFn+f,MAAE,GAAFA,MAAE,YAAAgP,GAAA+mkB,mBAAF/1kB,MAAE,aAAAgP,GAAA0mkB,iBAAF11kB,cAAE,YAAAgP,GAAAy7d,eAAFzqe,MAAE,aAAAgP,GAAA2mkB,iBAAA,EAAAvsjB,aAAA,CA84D6rD8yiB,KAA0LK,MAAajziB,cAAA,EAAAC,gBAAA,GAAoK,EAC7oE,OAtHK2rjB,EAAiB,KAsIjBgB,GAAW,MAAjB,MAAMA,GAEF,WAAI7ne,GACA,OAAOtuG,KAAKo2kB,QAChB,CACA,WAAI9ne,CAAQhhH,GACR0S,KAAKo2kB,SAAWp2kB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CAEA,YAAIssR,GACA,OAAO55Q,KAAK+0S,SAChB,CACA,YAAIn7B,CAAStsR,GAEL0S,KAAK+0S,UADLznT,aAAiB0glB,GACA1glB,EAGA0S,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GAE5F,CAEA,WAAIy7kB,GACA,OAAO/okB,KAAKkvkB,QAChB,CACA,WAAInG,CAAQz7kB,GACR0S,KAAKkvkB,SAAWlvkB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CAEA,WAAIw7kB,GACA,OAAO9okB,KAAKmvkB,QAChB,CACA,WAAIrG,CAAQx7kB,GACR0S,KAAKmvkB,SAAWnvkB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CAKA,cAAIm7kB,GACA,OAAOzokB,KAAKq2kB,kBAChB,CACA,cAAI5N,CAAWn7kB,GACX0S,KAAKq2kB,mBAAqBr2kB,KAAK+ukB,aAAaxQ,UAAUjxkB,EAAO0S,KAAK+okB,QAAS/okB,KAAK8okB,SAChF9okB,KAAKs1kB,aAAa3okB,OAClB3M,KAAKmmB,mBAAmBiC,cAC5B,CAEA,eAAIg2e,GACA,OAAOp+f,KAAKs2kB,YAChB,CACA,eAAIl4E,CAAY9wgB,GACZ,MAAMiplB,GAAoBv2kB,KAAKs2kB,eAAiBhplB,EAAQA,EAAQ,KAChE0S,KAAKs2kB,aAAehplB,EACpB0S,KAAKw2kB,sBAAuB,EAC5Bx2kB,KAAKmmB,mBAAmBiC,eACpBmujB,IACAv2kB,KAAKy2kB,YAAYtxjB,KAAKoxjB,GAE9B,CACA92kB,YAAY21kB,EAAOrG,GAAcK,GAAcjpjB,IAC3CnmB,KAAK+ukB,aAAeA,GACpB/ukB,KAAKovkB,aAAeA,GACpBpvkB,KAAKmmB,mBAAqBA,GAM1BnmB,KAAKw2kB,sBAAuB,EAE5Bx2kB,KAAKu/f,UAAY,QAEjBv/f,KAAKwvkB,eAAiB,IAAI1jjB,MAK1B9rB,KAAKuykB,aAAe,IAAIzmjB,MAKxB9rB,KAAK+zkB,cAAgB,IAAIjojB,MAIzB9rB,KAAKy2kB,YAAc,IAAI3qjB,OAAa,GAEpC9rB,KAAKyvkB,eAAiB,IAAI3jjB,MAE1B9rB,KAAK02kB,cAAgB,IAAI5qjB,MAEzB9rB,KAAKqpkB,YAAc,KAInBrpkB,KAAKs1kB,aAAe,IAAIhvjB,IASxBtmB,KAAK22kB,aAAevB,EAAM1ojB,QAAQrgB,UAAU,KACxC8Z,GAAmBiC,eACnBpoB,KAAKs1kB,aAAa3okB,MAAK,EAE/B,CACAuf,qBACIlsB,KAAK42kB,sBAAwB,IAAIz8G,KAAgBn6d,KAAK62kB,iBAAmB1B,IACzEn1kB,KAAKyokB,WAAazokB,KAAKsuG,SAAWtuG,KAAK+ukB,aAAaxlG,QAEpDvpe,KAAKs2kB,aAAet2kB,KAAKu/f,SAC7B,CACA9B,qBACQz9f,KAAKw2kB,uBACLx2kB,KAAKw2kB,sBAAuB,EAC5Bx2kB,KAAK82kB,kBAEb,CACA5okB,cACIlO,KAAK22kB,aAAaxokB,cAClBnO,KAAKs1kB,aAAanujB,UACtB,CACAyzb,YAAYlub,GAIR,MAAMqqjB,GAAgBrqjB,EAAQq8iB,UACzB/okB,KAAK+ukB,aAAa3Q,SAAS1xiB,EAAQq8iB,QAAW56Y,cAAezhK,EAAQq8iB,QAAWp1G,cAC/Ejnc,EAAQq8iB,aACR16kB,EACA2olB,GAAgBtqjB,EAAQo8iB,UACzB9okB,KAAK+ukB,aAAa3Q,SAAS1xiB,EAAQo8iB,QAAW36Y,cAAezhK,EAAQo8iB,QAAWn1G,cAC/Ejnc,EAAQo8iB,aACRz6kB,EACA2nC,GAAS+gjB,IAAiBC,IAAiBtqjB,EAAQm8iB,WACzD,GAAI7yiB,KAAWA,GAAO8kb,YAAa,CAC/B,MAAM7mN,GAAOj0P,KAAKi3kB,2BACdhjV,KAGAj0P,KAAKmmB,mBAAmBzJ,gBACxBu3O,GAAKhvM,QAEb,CACAjlD,KAAKs1kB,aAAa3okB,MACtB,CAEAmqkB,kBACI92kB,KAAKi3kB,2BAA2B9L,kBAAiB,EACrD,CAEA+L,mBACIl3kB,KAAKi3kB,2BAA2BhyhB,OACpC,CAEAyjhB,cAAcl9jB,GACV,MAAMqnD,GAAOrnD,EAAMle,OACf0S,KAAK45Q,oBAAoBo0T,IACxBn7gB,KAAS7yD,KAAK+ukB,aAAa3Q,SAASvrgB,GAAM7yD,KAAK45Q,YAChD55Q,KAAKwvkB,eAAerqjB,KAAK0tC,IAE7B7yD,KAAKyvkB,eAAetqjB,KAAK3Z,EAC7B,CAEAk+jB,6BAA6ByN,GACzBn3kB,KAAKuykB,aAAaptjB,KAAKgyjB,EAC3B,CAEA5N,yBAAyB6N,GACrBp3kB,KAAK+zkB,cAAc5ujB,KAAKiyjB,EAC5B,CAEA5N,gBAAgB32gB,EAAMohM,IAClBj0P,KAAKyokB,WAAa51gB,EAClB7yD,KAAKo+f,YAAcnqQ,EACvB,CAEA00U,aAAan9jB,GACTxL,KAAKqpkB,YAAc79jB,CACvB,CAKAo9jB,WAAWp9jB,GACFxL,KAAKqpkB,cAEN79jB,EAAMle,OACN0S,KAAK02kB,cAAcvxjB,KAAK3Z,GAE5BxL,KAAKqpkB,YAAc,KACvB,CAEA4N,2BAII,OAAOj3kB,KAAKq3kB,WAAar3kB,KAAKs3kB,UAAYt3kB,KAAKu3kB,aACnD,QACSv3kB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF4nkB,IA1mEVl2kB,MA0mEuC4pkB,IA1mEvC5pkB,MA0mEqEC,KAAc,GA1mEnFD,MA0mEgHy6jB,KAAgB,GA1mEhIz6jB,MA0mE6JA,OAAoB,CAA8C,QACtTD,KAAK0oB,UA3mEkFzoB,MAAE,CAAAgO,KA2mEJkokB,GAAWxnkB,UAAA,mBAAA2hB,UAAA,SAAAthB,GAAAC,IAAq9B,GAAr9B,EAAAD,KA3mET/O,MA2mE4xB0ukB,GAAY,GA3mExyB1ukB,MA2mEm3B4zkB,GAAW,GA3mE93B5zkB,MA2mE88BmykB,GAAgB,MAAApjkB,GAAA,KAAAohB,GA3mE99BnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAAookB,UAAAjnjB,GAAA1B,OAAFzuB,MAAEmwB,GAAFnwB,WAAEgP,GAAAqokB,SAAAlnjB,GAAA1B,OAAFzuB,MAAEmwB,GAAFnwB,WAAEgP,GAAAsokB,cAAAnnjB,GAAA1B,MAAA,GAAA/F,UAAA,mBAAAhT,OAAA,CAAAkhkB,gBAAA,kBAAAvoe,QAAA,UAAAixZ,UAAA,YAAA3lP,SAAA,WAAAmvT,QAAA,UAAAD,QAAA,UAAAD,WAAA,aAAAG,UAAA,YAAAC,gBAAA,kBAAAC,cAAA,gBAAAC,wBAAA,0BAAAC,sBAAA,yBAAA14iB,QAAA,CAAA8+iB,eAAA,iBAAA+C,aAAA,eAAAwB,cAAA,gBAAA0C,YAAA,cAAAhH,eAAA,iBAAAiH,cAAA,iBAAA1tjB,SAAA,gBAAAC,YAAA,EAAAC,SAAA,CAAFjpB,MA2mE6qB,CAACuukB,KA3mE9qBvukB,aAAE2O,MAAA,EAAAC,KAAA,EAAAC,OAAA,gkBAAAC,SAAA,SAAAC,GAAAC,IA2mE80F,GA3mE90F,EAAAD,KAAF/O,MAAE,EAAAsokB,GAAA,qBAAFtokB,MAAE,WAAFA,MAAE,EAAAuokB,GAAA,KAAFvokB,CA2mEuwC,EAAAqpkB,GAAA,IA3mEvwCrpkB,CA2mEi+D,EAAAwpkB,GAAA,KA3mEj+DxpkB,SA2mEg1F,EAAA+O,GAAA,KAAAwokB,GA3mEh1Fv3kB,MAAE,kBAAAgP,GAAA2nkB,uBAAF32kB,MAAE,GAAFA,MAAE,EA2mEutC,WA3mEvtCu3kB,GAAAvokB,GAAAmvf,aA2mE8tC,EAAP,SAAOo5E,GAAD,EAAN,eAAMA,GAAM,KAAmmD,GAAAnujB,aAAA,CAAghF0yc,KAAgKjb,KAA0K6tH,GAA6XkF,GAAuPzB,IAAgBvhjB,OAAA,08EAAAtH,cAAA,EAAAC,gBAAA,GAA6T,EACtsN,OA7MK2sjB,EAAW,KA6QjB,MAAMsB,GAA0B,CAE5BC,gBAAgB9tjB,SAAQ,iBAAkB,EACtCI,SAAW,0BAA0BC,SAAQ,oCAAoC4iJ,SAAU,EACvFhjJ,SAAM,CAAEC,QAAS,EAAGC,UAAW,mBAC/BF,SAAM,CAAEC,QAAS,EAAGC,UAAW,qBAEnCC,SAAW,wBAAwBC,SAAQ,oCAAoC4iJ,SAAU,EACrFhjJ,SAAM,CAAEC,QAAS,EAAGC,UAAW,gBAC/BF,SAAM,CAAEE,UAAW,OAAQD,QAAS,SAExCE,SAAW,aAAaC,SAAQ,gBAAgBJ,SAAM,CAAEC,QAAS,QAGrE6tjB,gBAAgB/tjB,SAAQ,iBAAkB,EACtC5gC,SAAM,QAAQ6gC,SAAM,CAAEC,QAAS,MAC/B9gC,SAAM,SAAS6gC,SAAM,CAAEC,QAAS,MAGhCE,SAAW,aAAaC,SAAQ,oDAKxC,IAAI2tjB,GAAgB,EAEpB,MAAMC,GAAiC,IAAIhyjB,MAAe,iCAAkC,CACxFllB,WAAY,OACZF,QAASA,KACL,MAAMuwB,MAAUC,OAAOC,MACvB,MAAO,IAAMF,GAAQG,iBAAiBC,YAAW,IAQnD0mjB,GAAkD,CACpDnnjB,QAASknjB,GACTvmjB,KAAM,CAACJ,MACPK,WAPJ,SAASwmjB,GAAuC/mjB,IAC5C,MAAO,IAAMA,GAAQG,iBAAiBC,YAC1C,GAOA,IAOM4mjB,GAAoB,MAA1B,MAAMA,GACFv4kB,YAAYsmB,EAAaI,GAAoB8xjB,GAAclJ,GAAcmJ,GAAyBC,IAC9Fn4kB,KAAK+lB,YAAcA,EACnB/lB,KAAKmmB,mBAAqBA,GAC1BnmB,KAAKi4kB,aAAeA,GACpBj4kB,KAAK+ukB,aAAeA,GACpB/ukB,KAAKk4kB,wBAA0BA,GAC/Bl4kB,KAAKo4kB,eAAiB,IAAI7skB,KAE1BvL,KAAK6rB,eAAiB,IAAIvF,IAE1BtmB,KAAK4vB,cAAe,EAEpB5vB,KAAKq4kB,eAAiB,KACtBr4kB,KAAKs4kB,iBAAmBH,GAAKnO,kBACjC,CACAn+jB,WACI7L,KAAKu4kB,gBAAkBv4kB,KAAKw4kB,WAAWC,QAAU,eAAiB,gBACtE,CACA1xjB,kBACI/mB,KAAKo4kB,eAAerskB,IAAI/L,KAAKw4kB,WAAWlD,aAAajpkB,UAAU,KAC3DrM,KAAKmmB,mBAAmBiC,cAAa,IAEzCpoB,KAAK20b,UAAUmiJ,iBACnB,CACA5okB,cACIlO,KAAKo4kB,eAAejqkB,cACpBnO,KAAK6rB,eAAe1E,UACxB,CACAuxjB,qBAAqBltkB,GACjB,MAAM8oN,GAAYt0N,KAAK24kB,OAAOrkX,UACxBhnO,GAAQke,EAAMle,MACd+9kB,GAAU/2W,cAAqB05W,GAMrC,GAAI3C,IAAWrrkB,KAAKk4kB,wBAAyB,CACzC,MAAMU,GAAe54kB,KAAKk4kB,wBAAwBW,kBAAkBvrlB,GAAOgnO,GAAW9oN,EAAMA,OAC5FxL,KAAK24kB,OAAOtK,gBAAgBuK,GAAc54kB,KAC9C,MACS1S,KACJ+9kB,KAAYrrkB,KAAK+ukB,aAAa3Q,SAAS9wkB,GAAOgnO,MAC/Ct0N,KAAK24kB,OAAO5skB,IAAIze,MAGd0S,KAAK24kB,QAAU34kB,KAAK24kB,OAAOn0I,gBAAkBxkc,KAAKq4kB,gBACpDr4kB,KAAKw4kB,WAAWzsjB,OAExB,CACA+sjB,oBAAoBttkB,GAChBxL,KAAK24kB,OAAOtK,gBAAgB7ikB,EAAMle,MAAO0S,KAC7C,CACA+4kB,sBACI/4kB,KAAKu4kB,gBAAkB,OACvBv4kB,KAAKmmB,mBAAmBiC,cAC5B,CACA4wjB,sBAAsBxtkB,GAClBxL,KAAK4vB,aAAmC,UAApBpkB,EAAM0iK,UACrBluK,KAAK4vB,cACN5vB,KAAK6rB,eAAelf,MAE5B,CACAsskB,eACI,OAAOj5kB,KAAK24kB,OAAOrkX,SACvB,CAEA4kX,yBACQl5kB,KAAK24kB,SAAW34kB,KAAKi4kB,cACrBj4kB,KAAKi4kB,aAAa5J,gBAAgBrukB,KAAK24kB,OAAOrkX,UAAWt0N,KAEjE,CAQAm5kB,eAAelvH,EAAQmvH,IAInBp5kB,KAAK24kB,OAAS1uH,EAASjqd,KAAKi4kB,aAAatwjB,QAAU3nB,KAAKi4kB,aACxDj4kB,KAAKq4kB,eAAiBpuH,EAClBmvH,IACAp5kB,KAAKmmB,mBAAmBzJ,eAEhC,QACS1c,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFypkB,IAxzEV/3kB,MAwzEgDA,OAxzEhDA,MAwzE0EA,OAxzE1EA,MAwzE2GgukB,IAxzE3GhukB,MAwzE6IC,MAxzE7ID,MAwzEwKyukB,GAAiC,GAxzEzMzukB,MAwzEsO4pkB,IAAiB,CAA8C,QAC5X7pkB,KAAK0oB,UAzzEkFzoB,MAAE,CAAAgO,KAyzEJ+pkB,GAAoBrpkB,UAAA,6BAAA2hB,UAAA,SAAAthB,GAAAC,IAAwf,GAAxf,EAAAD,IAzzElB/O,MAyzE+fk2kB,GAAW,KAAAnnkB,GAAA,KAAAohB,GAzzE1gBnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAA0lb,UAAAvka,GAAA1B,MAAA,GAAA/F,UAAA,6BAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAAF/O,MAAE,iCAAAmI,IAAA,OAyzEJ6G,GAAA+pkB,sBAAA5wkB,GAA6B,EAzzE3BnI,CAyzEkB,gCAAAmI,IAAA,OAApB6G,GAAA+pkB,sBAAA5wkB,GAA6B,GAAT,EAAA4G,KAzzElB/O,MAAE,kBAAAgP,GAAAspkB,iBAAFt4kB,MAAEgP,GAAAo0M,MAyzEI,OAAMp0M,GAAAo0M,MAAW,IAzzEvBpjN,MAAE,+BAAAgP,GAAAupkB,WAAAC,SAyzEgB,EAAA9ikB,OAAA,CAAA0tM,MAAA,SAAAr6L,SAAA,yBAAAC,YAAA,EAAAC,SAAA,CAzzElBjpB,OAAE2O,MAAA,EAAAC,KAAA,GAAAC,OAAA,sdAAAC,SAAA,SAAAC,GAAAC,IAyzEw2E,GAzzEx2E,EAAAD,KAAF/O,MAAE,UAAFA,CAyzE+7B,oBAzzE/7BA,MAAE,wBAAAmI,IAAA,OAyzEonD6G,GAAAupkB,WAAAa,YAAAjxkB,GAA8B,EAzzEppDnI,CAyzEspD,yBAAAmI,IAAA,OAAwB6G,GAAAupkB,WAAAc,aAAAlxkB,GAA+B,EAzzE7sDnI,CAyzE+sD,uBAAAmI,IAAA,OAAsB6G,GAAAupkB,WAAAe,aAAAnxkB,GAA+B,EAzzEpwDnI,CAyzEswD,0BAAAmI,IAAA,OAAyB6G,GAAAypkB,qBAAAtwkB,GAA4B,EAzzE3zDnI,CAyzE6zD,yBAAAmI,IAAA,OAAwB6G,GAAA6pkB,oBAAA1wkB,GAA2B,GAzzEh3DnI,cAAE,EAAA0pkB,GAAA,qBAAF1pkB,MAAE,cAAFA,MAAE,0BAAAgP,GAAAuqkB,qBAyzE0uE,CAAI,EAzzEhvEv5kB,CAyzEkvE,yBAAAgP,GAAAuqkB,qBAAqC,CAAK,EAzzE5xEv5kB,CAyzE8xE,0BAAgBgP,GAAAupkB,WAAAzsjB,OAAkB,GAzzEh0E9rB,MAAE,GAAFA,WAyzE02E,EAAA+O,GAAA,KAAAyqkB,GAzzE12Ex5kB,MAAE,sDAAAgP,GAAAupkB,WAAAkB,wBAAFz5kB,CAyzEk3B,gDAAAgP,GAAAopkB,gBAzzEl3Bp4kB,MAAE,gBAAFA,CAAE,0BAAAw5kB,GAAAxqkB,GAAA0qkB,sBAAAtrlB,IAAAorlB,WAAAprlB,GAAF4R,cAAEgP,GAAAupkB,WAAA1tjB,YAAF7qB,MAAE,KAAAgP,GAAAupkB,WAAAhwlB,GAAFyX,CAyzE4+B,UAAAgP,GAAAupkB,WAAAlqe,QAzzE5+BruG,CAyzEyjC,YAAAgP,GAAAupkB,WAAAj5E,UAzzEzjCt/f,CAyzEmmC,UAAAgP,GAAAupkB,WAAAoB,cAzzEnmC35kB,CAyzE+oC,UAAAgP,GAAAupkB,WAAAqB,cAzzE/oC55kB,CAyzE2rC,aAAAgP,GAAAupkB,WAAAsB,iBAzzE3rC75kB,CAyzE6uC,kBAAAgP,GAAAupkB,WAAAkB,wBAzzE7uCz5kB,CAyzE2yC,WAAAgP,GAAAgqkB,eAzzE3yCh5kB,CAyzE80C,YAAAgP,GAAAupkB,WAAAxP,UAzzE90C/okB,CAyzEw3C,kBAAAgP,GAAAg6jB,gBAzzEx3ChpkB,CAyzEm6C,gBAAAgP,GAAAi6jB,cAzzEn6CjpkB,CAyzE08C,0BAzzE18CA,CAyzE6+C,0BAAAgP,GAAAk6jB,wBAzzE7+ClpkB,CAyzEwiD,wBAAAgP,GAAAm6jB,uBAzzExiDnpkB,cAAE,kBAAAgP,GAAAopkB,gBAAFp4kB,cAAE,uBAAAgP,GAAAuqkB,qBAAFv5kB,MAAE,QAAAgP,GAAAo0M,OAAA,WAAFpjN,cAAEgP,GAAAqpkB,iBAyzEu1E,GAAAjvjB,aAAA,CAAwlD+wb,KAAwJ+7H,GAAyZp6G,KAAgKogG,MAAStriB,OAAA,+gDAAAtH,cAAA,EAAAn8B,KAAA,CAAA0jC,UAAmK,CAAC2mjB,GAAwBC,eAAgBD,GAAwBE,iBAAenujB,gBAAA,GAAmG,EACpkK,OA5FKwujB,EAAoB,KAmHpB+B,GAAiB,MAAvB,MAAMA,GAEF,WAAIzre,GAGA,OAAOtuG,KAAKo2kB,WAAap2kB,KAAKg6kB,gBAAkBh6kB,KAAKg6kB,gBAAgBC,gBAAkB,KAC3F,CACA,WAAI3re,CAAQhhH,GACR0S,KAAKo2kB,SAAWp2kB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,GACvF,CAEA,SAAI+1N,GACA,OAAQrjN,KAAKk6kB,SAAWl6kB,KAAKg6kB,gBAAkBh6kB,KAAKg6kB,gBAAgBG,uBAAoB9rlB,EAC5F,CACA,SAAIg1N,CAAM/1N,GACN0S,KAAKk6kB,OAAS5slB,CAClB,CAEA,YAAIysB,GACA,YAA0B1rB,IAAnB2R,KAAKw7jB,WAA2Bx7jB,KAAKg6kB,gBACtCh6kB,KAAKg6kB,gBAAgBjgkB,WACnB/Z,KAAKw7jB,SACjB,CACA,YAAIzhjB,CAASzsB,GACLA,IAAU0S,KAAKw7jB,YACfx7jB,KAAKw7jB,UAAYlukB,EACjB0S,KAAKs1kB,aAAa3okB,UAAKte,GAE/B,CAEA,cAAIy8B,GACA,OAAO9qB,KAAKo6kB,WAChB,CACA,cAAItvjB,CAAWx9B,GACX0S,KAAKo6kB,eAAcj3H,OAAkB71d,EACzC,CAEA,UAAI+slB,GACA,OAAOr6kB,KAAKs6kB,OAChB,CACA,UAAID,CAAO/slB,GACHA,EACA0S,KAAKwpD,OAGLxpD,KAAK+rB,OAEb,CAEA6tjB,cACI,OAAO55kB,KAAKg6kB,iBAAmBh6kB,KAAKg6kB,gBAAgB3sjB,GACxD,CAEAwsjB,cACI,OAAO75kB,KAAKg6kB,iBAAmBh6kB,KAAKg6kB,gBAAgB5sjB,GACxD,CACA0sjB,iBACI,OAAO95kB,KAAKg6kB,iBAAmBh6kB,KAAKg6kB,gBAAgBnR,UACxD,CACAppkB,YAAY6yB,EAAU/G,GAASiH,GAAmBC,GAAgBs8iB,GAAcr8iB,GAAMimjB,IAClF34kB,KAAKsyB,SAAWA,EAChBtyB,KAAKurB,QAAUA,GACfvrB,KAAKwyB,kBAAoBA,GACzBxyB,KAAK+ukB,aAAeA,GACpB/ukB,KAAK0yB,KAAOA,GACZ1yB,KAAK24kB,OAASA,GACd34kB,KAAKu6kB,mBAAqBhvkB,KAAaunB,MACvC9yB,KAAKgmB,aAAYiL,OAAOxI,MAExBzoB,KAAKu/f,UAAY,QAKjBv/f,KAAKy4kB,SAAU,EAEfz4kB,KAAKuqB,UAAY,QAEjBvqB,KAAKwqB,UAAY,QAMjBxqB,KAAKozB,cAAe,EAKpBpzB,KAAKuykB,aAAe,IAAIzmjB,MAKxB9rB,KAAK+zkB,cAAgB,IAAIjojB,MAIzB9rB,KAAKy2kB,YAAc,IAAI3qjB,OAAa,GAEpC9rB,KAAKw6kB,aAAe,IAAI1ujB,MAExB9rB,KAAKy6kB,aAAe,IAAI3ujB,MACxB9rB,KAAKs6kB,SAAU,EAEft6kB,KAAKxX,GAAK,kBAAkBovlB,KAE5B53kB,KAAK06kB,0BAA4B,KAEjC16kB,KAAK26kB,sBAAwB,GAAG36kB,KAAKxX,cAErCwX,KAAKs1kB,aAAe,IAAIhvjB,IAIxBtmB,KAAKyzB,gBAAkBhB,EAC3B,CACAmob,YAAYlub,GACR,MAAMuqc,GAAiBvqc,EAAQnC,WAAgBmC,EAAQlC,UACvD,GAAIysc,KAAmBA,GAAenc,aAAe96c,KAAK2yB,YAAa,CACnE,MAAM2B,GAAmBt0B,KAAK2yB,YAAY79B,YAAYw/B,iBAClDA,cAA4B03b,OAC5Bhsd,KAAK46kB,uBAAuBtmjB,IACxBt0B,KAAKq6kB,QACLr6kB,KAAK2yB,YAAYqC,iBAG7B,CACAh1B,KAAKs1kB,aAAa3okB,UAAKte,EAC3B,CACA6f,cACIlO,KAAK66kB,kBACL76kB,KAAK+rB,QACL/rB,KAAKu6kB,mBAAmBpskB,cACxBnO,KAAKs1kB,aAAanujB,UACtB,CAEArc,OAAO+nD,GACH7yD,KAAK24kB,OAAO5skB,IAAI8mD,EACpB,CAEAwmhB,YAAYlC,GACRn3kB,KAAKuykB,aAAaptjB,KAAKgyjB,EAC3B,CAEAmC,aAAalC,GACTp3kB,KAAK+zkB,cAAc5ujB,KAAKiyjB,EAC5B,CAEAmC,aAAatlV,GACTj0P,KAAKy2kB,YAAYtxjB,KAAK8uO,EAC1B,CAMA6mV,cAAclsiB,GACN,OAGJ5uC,KAAKu6kB,mBAAmBpskB,cACxBnO,KAAKg6kB,gBAAkBpriB,EACvB5uC,KAAKu6kB,mBAAqB3riB,EAAM0miB,aAAajpkB,UAAU,IAAMrM,KAAKs1kB,aAAa3okB,UAAKte,IAC7E2R,KAAK24kB,MAChB,CAKAoC,gBAAgB9wH,GAIZjqd,KAAKq4kB,eAAiBpuH,EACtBjqd,KAAKg7kB,eAAe1vI,SAAS6tI,eAAelvH,GAAQ,EACxD,CAKAgxH,cAAchxH,GACNA,IAAWjqd,KAAKq4kB,iBAChBr4kB,KAAKq4kB,eAAiB,KACtBr4kB,KAAKg7kB,eAAe1vI,SAAS6tI,eAAe,MAAM,GAE1D,CAEA3vhB,OAGQxpD,KAAKs6kB,SAAWt6kB,KAAK+Z,UAAY/Z,KAAKg7kB,eAAe1vI,SAAS17a,eAMlE5vB,KAAK06kB,6BAA4B3/H,SACjC/6c,KAAKk7kB,eACLl7kB,KAAKs6kB,SAAU,EACft6kB,KAAKw6kB,aAAar1jB,OACtB,CAEA4G,QAGI,IAAK/rB,KAAKs6kB,SAAWt6kB,KAAKg7kB,eAAe1vI,SAAS17a,aAC9C,OAEJ,MAAMurjB,EAAkBn7kB,KAAKozB,cACzBpzB,KAAK06kB,2BAC2C,mBAAzC16kB,KAAK06kB,0BAA0BvtkB,MACpCiukB,GAAgBA,KAGdp7kB,KAAKs6kB,UACLt6kB,KAAKs6kB,SAAU,EACft6kB,KAAKy6kB,aAAat1jB,OAAK,EAG/B,GAAInlB,KAAKg7kB,cAAe,CACpB,MAAQ1vI,YAAUz2b,aAAa7U,KAAKg7kB,cACpC1vI,GAASytI,sBACTztI,GAASz/a,eAAehhB,QAAK2C,MAAK,IAAInB,UAAU,KAC5C,MAAMmc,GAAgBxoB,KAAKgmB,UAAUwC,cAGjC2yjB,KACE3yjB,IACEA,KAAkBxoB,KAAKgmB,UAAUwC,eACjC3T,GAASwS,cAAcuH,SAASpG,MACpCxoB,KAAK06kB,0BAA0BvtkB,QAEnCnN,KAAK06kB,0BAA4B,KACjC16kB,KAAK66kB,iBAAgB,EAE7B,CACIM,EAMAnukB,WAAWoukB,IAGXA,IAER,CAEAlC,yBACIl5kB,KAAKg7kB,eAAe1vI,UAAU4tI,wBAClC,CAEAmC,sBAAsB/vI,GAClBA,EAASktI,WAAax4kB,KACtBsrc,EAASjoP,MAAQrjN,KAAKqjN,MACtBioP,EAASquI,eAAiB35kB,KAAKg6kB,gBAAgBsB,oBAC/ChwI,EAAS6tI,eAAen5kB,KAAKq4kB,gBAAgB,EACjD,CAEA6C,eACIl7kB,KAAK66kB,kBACL,MAAMU,EAAWv7kB,KAAKy4kB,QAChBxuH,GAAS,IAAIkQ,KAAgB69G,GAAsBh4kB,KAAKwyB,mBACxD2B,GAAcn0B,KAAK2yB,YAAc3yB,KAAKsyB,SAASkD,OAAO,IAAIE,KAAc,CAC1EpB,iBAAkBinjB,EAAWv7kB,KAAKw7kB,qBAAuBx7kB,KAAKy7kB,uBAC9DxvjB,aAAa,EACbxB,cAAe,CACX8wjB,EAAW,4BAA8B,mCACzCv7kB,KAAK26kB,uBAET1sjB,UAAWjuB,KAAK0yB,KAChBD,eAAgB8ojB,EAAWv7kB,KAAKsyB,SAASnB,iBAAiBwyM,QAAU3jO,KAAKyzB,kBACzE3I,WAAY,mBAAkBywjB,EAAW,SAAW,YAExDv7kB,KAAK07kB,gBAAgBvnjB,IAAY9nB,UAAUb,KACnCA,IACAA,GAAM+b,iBAEVvnB,KAAK+rB,OAAM,GAMfoI,GAAWsB,gBAAgBppB,UAAUb,KACjC,MAAMoiB,GAAUpiB,GAAMoiB,SAClBA,KAAYO,OACZP,KAAYQ,OACZR,KAAYG,OACZH,KAAYM,OACZN,KAAYgob,OACZhob,KAAYmob,QACZvqc,GAAM+b,gBAAe,GAG7BvnB,KAAKg7kB,cAAgB7mjB,GAAWK,OAAOy1b,IACvCjqd,KAAKq7kB,sBAAsBr7kB,KAAKg7kB,cAAc1vI,UAEzCiwI,GACDv7kB,KAAKurB,QAAQiD,SAAS3jB,QAAK2C,MAAK,IAAInB,UAAU,IAAM8nB,GAAWa,iBAEvE,CAEA6ljB,kBACQ76kB,KAAK2yB,cACL3yB,KAAK2yB,YAAYiB,UACjB5zB,KAAK2yB,YAAc3yB,KAAKg7kB,cAAgB,KAEhD,CAEAQ,qBACI,OAAOx7kB,KAAKsyB,SAASqD,WAAWihD,SAAS69Y,qBAAqBC,kBAClE,CAEA+mH,uBACI,MAAMzwH,EAAWhrd,KAAKsyB,SACjBqD,WACAC,oBAAoB51B,KAAKg6kB,gBAAgB2B,6BACzC7ljB,sBAAsB,2BACtB85b,wBAAuB,GACvBF,mBAAmB,GACnB56b,qBACL,OAAO90B,KAAK46kB,uBAAuB5vH,EACvC,CAEA4vH,uBAAuB5vH,GACnB,MAAM4wH,GAA8B,QAAnB57kB,KAAKuqB,UAAsB,MAAQ,QAC9CsxjB,GAA0B,UAAbD,GAAuB,MAAQ,QAC5CE,GAA8B,UAAnB97kB,KAAKwqB,UAAwB,SAAW,MACnDuxjB,GAA0B,QAAbD,GAAqB,SAAW,MACnD,OAAO9wH,EAASj0b,cAAc,CAC1B,CACIV,QAASuljB,GACTpljB,QAASuljB,GACT7ljB,SAAU0ljB,GACVzljB,SAAU2ljB,IAEd,CACIzljB,QAASuljB,GACTpljB,QAASsljB,GACT5ljB,SAAU0ljB,GACVzljB,SAAU4ljB,IAEd,CACI1ljB,QAASwljB,GACTrljB,QAASuljB,GACT7ljB,SAAU2ljB,GACV1ljB,SAAU2ljB,IAEd,CACIzljB,QAASwljB,GACTrljB,QAASsljB,GACT5ljB,SAAU2ljB,GACV1ljB,SAAU4ljB,KAGtB,CAEAL,gBAAgBvnjB,GACZ,MAAM6njB,GAAyB,CAAC,UAAW,WAAY,WACvD,SAAOpukB,MAAMumB,EAAW8C,gBAAiB9C,EAAW+C,cAAe/C,EAAWsB,gBAAgB5qB,QAAKnd,MAAO8d,IAE7FA,GAAMoiB,UAAYC,SAAU,EAACC,OAAetiB,KAChDxL,KAAKg6kB,oBACFlsjB,OAAetiB,GAAO,WACtBA,GAAMoiB,UAAYO,OAClB6tjB,GAAuBtijB,MAAO+qP,MAAa,EAAC32P,OAAetiB,GAAOi5Q,OAElF,QACSzkR,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFwrkB,IApsFV95kB,MAosF6CI,MApsF7CJ,MAosFoEA,OApsFpEA,MAosF0FA,OApsF1FA,MAosF0H43kB,IApsF1H53kB,MAosFqKC,KAAc,GApsFnLD,MAosFgNE,MAAiB,GApsFjOF,MAosF8PgukB,IAAqB,CAA8C,QACxZjukB,KAAKi4B,UArsFkFh4B,MAAE,CAAAgO,KAqsFJ8rkB,GAAiBpkkB,OAAA,CAAA+jkB,wBAAA,0BAAApre,QAAA,UAAAixZ,UAAA,YAAAl8S,MAAA,QAAAo1X,QAAA,CArsFfx4kB,MAAE6oB,2BAAA,oBAqsFyKC,OAAgBhP,SAAA,CArsF3L9Z,MAAE6oB,2BAAA,sBAqsF+NC,OAAgBwB,UAAA,YAAAC,UAAA,YAAA4I,aAAA,CArsFjPnzB,MAAE6oB,2BAAA,8BAqsFiVC,OAAgBigjB,UAAA,YAAAl+iB,WAAA,aAAAuvjB,OAAA,CArsFnWp6kB,MAAE6oB,2BAAA,kBAqsFmbC,QAAgB2H,QAAA,CAAA6hjB,aAAA,eAAAwB,cAAA,gBAAA0C,YAAA,cAAA+D,aAAA,SAAAC,aAAA,UAAAvxjB,SAAA,CArsFrcjpB,cAqsFuoB,EAC1uB,OArXK85kB,EAAiB,KA6ajBkC,GAAa,MAAnB,MAAMA,WAAsBlC,UACf/5kB,KAAKU,UAAI,UAAAw7kB,EAAA,gBAAA3tkB,IAAA,OAAA2tkB,MA/vF8Ej8kB,MA+vFUg8kB,MAAa1tkB,IAAb0tkB,GAAa,GAArG,EAA4J,QACrKj8kB,KAAK0oB,UAhwFkFzoB,MAAE,CAAAgO,KAgwFJgukB,GAAattkB,UAAA,qBAAAqa,SAAA,kBAAAC,YAAA,EAAAC,SAAA,CAhwFXjpB,MAgwFwE,CAChKuukB,GACA,CAAE79iB,QAASopjB,GAAmBnpjB,YAAaqrjB,MAlwF6Ch8kB,aAAE2O,MAAA,EAAAC,KAAA,EAAAE,SAAA,SAAAC,GAAAC,IAAA,EAAAsa,cAAA,EAAAC,gBAAA,GAmwFsG,EAC3M,OANKyyjB,EAAa,KA4BnB,MAAME,GACF18kB,YAEAqpD,GAEAszhB,GACIp8kB,KAAK8oD,OAASA,GACd9oD,KAAKo8kB,cAAgBA,EACrBp8kB,KAAK1S,MAAQ0S,KAAK8oD,OAAOx7D,KAC7B,EAEJ,IACM+ulB,GAAsB,MAA5B,MAAMA,GAEF,SAAI/ulB,GACA,OAAO0S,KAAK24kB,OAAS34kB,KAAKs8kB,mBAAmBt8kB,KAAK24kB,OAAOrkX,WAAat0N,KAAKyujB,aAC/E,CACA,SAAInhkB,CAAMA,GACN0S,KAAKu8kB,6BAA6BjvlB,EACtC,CAEA,YAAIysB,GACA,QAAS/Z,KAAKw7jB,WAAax7jB,KAAKw8kB,iBACpC,CACA,YAAIzikB,CAASzsB,GACT,MAAMo6F,GAAWp6F,EACXwiC,GAAU9vB,KAAK+lB,YAAYsB,cAC7BrnB,KAAKw7jB,YAAc9ze,KACnB1nF,KAAKw7jB,UAAY9ze,GACjB1nF,KAAKs1kB,aAAa3okB,UAAKte,IAMvBq5F,IAAY1nF,KAAKs6H,gBAAkBxqG,GAAQ4lM,MAI3C5lM,GAAQ4lM,MAEhB,CAEA+mX,iBACI,MAAO,CAACz8kB,KAAK08kB,gBAAiB18kB,KAAK28kB,cAAe38kB,KAAK48kB,cAAe58kB,KAAK68kB,iBAC/E,CAEAC,eAAerxd,GACXzrH,KAAK24kB,OAASltd,EACdzrH,KAAK+8kB,0BAA0B5ukB,cAC3BnO,KAAKyujB,eACLzujB,KAAKg9kB,aAAah9kB,KAAKyujB,eAE3BzujB,KAAK+8kB,0BAA4B/8kB,KAAK24kB,OAAOvK,iBAAiB/hkB,UAAUb,KACpE,GAAIxL,KAAKi9kB,yBAAyBzxkB,IAAQ,CACtC,MAAMle,GAAQ0S,KAAKs8kB,mBAAmB9wkB,GAAM8oN,WAC5Ct0N,KAAKk9kB,gBAAkBl9kB,KAAKm9kB,cAAc7vlB,IAC1C0S,KAAKo9kB,aAAa9vlB,IAClB0S,KAAKq9kB,aACLr9kB,KAAK2lG,aAAar4G,IAClB0S,KAAKq6jB,UAAUl1iB,KAAK,IAAIg3jB,GAAwBn8kB,KAAMA,KAAK+lB,YAAYsB,gBACvErnB,KAAKs9kB,WAAWn4jB,KAAK,IAAIg3jB,GAAwBn8kB,KAAMA,KAAK+lB,YAAYsB,eAC5E,GAER,CACA5nB,YAAYsmB,EAAagpjB,GAAcK,IACnCpvkB,KAAK+lB,YAAcA,EACnB/lB,KAAK+ukB,aAAeA,GACpB/ukB,KAAKovkB,aAAeA,GAEpBpvkB,KAAKs9kB,WAAa,IAAIxxjB,MAEtB9rB,KAAKq6jB,UAAY,IAAIvuiB,MAErB9rB,KAAKs1kB,aAAe,IAAIhvjB,IACxBtmB,KAAKq9kB,WAAa,OAClBr9kB,KAAKu9kB,mBAAqB,OAC1Bv9kB,KAAKo9kB,aAAe,OACpBp9kB,KAAK+8kB,0BAA4BxxkB,KAAaunB,MAC9C9yB,KAAKw9kB,oBAAsBjykB,KAAaunB,MAExC9yB,KAAK08kB,gBAAkB,IACZ18kB,KAAKk9kB,gBACN,KACA,CAAEO,mBAAsB,CAAE9miB,KAAQ32C,KAAK+lB,YAAYsB,cAAc/5B,QAG3E0S,KAAK68kB,iBAAoBp4B,KACrB,MAAMi5B,GAAe19kB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAYotV,GAAQn3jB,QAChG,OAAQowlB,IAAgB19kB,KAAK29kB,eAAeD,IACtC,KACA,CAAEE,qBAAuB,EAAK,EAGxC59kB,KAAK28kB,cAAiBl4B,KAClB,MAAMi5B,GAAe19kB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAYotV,GAAQn3jB,QAC1F+/B,GAAMrtB,KAAK45kB,cACjB,OAAQvsjB,KAAQqwjB,IAAgB19kB,KAAK+ukB,aAAa5Q,YAAY9wiB,GAAKqwjB,KAAiB,EAC9E,KACA,CAAEG,iBAAoB,CAAExwjB,IAAOA,GAAK03d,OAAU24F,IAAe,EAGvE19kB,KAAK48kB,cAAiBn4B,KAClB,MAAMi5B,GAAe19kB,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAYotV,GAAQn3jB,QAC1F8/B,GAAMptB,KAAK65kB,cACjB,OAAQzsjB,KAAQswjB,IAAgB19kB,KAAK+ukB,aAAa5Q,YAAY/wiB,GAAKswjB,KAAiB,EAC9E,KACA,CAAEI,iBAAoB,CAAE1wjB,IAAOA,GAAK23d,OAAU24F,IAAe,EAGvE19kB,KAAKk9kB,iBAAkB,EAUvBl9kB,KAAKw9kB,oBAAsBzO,GAAa9Q,cAAc5xjB,UAAU,KAC5DrM,KAAKu8kB,6BAA6Bv8kB,KAAK1S,MAAK,EAEpD,CACAy5B,kBACI/mB,KAAKs6H,gBAAiB,CAC1B,CACAsgV,YAAYlub,IAqJhB,SAASqxjB,GAAsBrxjB,GAAS2xc,IACpC,MAAMhvc,EAAOD,OAAOC,KAAK3C,IACzB,QAASwU,MAAO7R,EAAM,CAClB,MAAQ8+J,iBAAewlS,iBAAiBjnc,GAAQwU,IAChD,IAAIm9b,GAAQ67F,eAAe/rY,MAAkBkwS,GAAQ67F,eAAevmG,IAMhE,OAAO,EALP,IAAK0K,GAAQ+/F,SAASjwY,GAAewlS,IACjC,OAAO,CAMnB,CACA,OAAO,CACX,EAlKYoqH,CAAsBrxjB,EAAS1sB,KAAK+ukB,eACpC/ukB,KAAKs1kB,aAAa3okB,UAAKte,EAE/B,CACA6f,cACIlO,KAAK+8kB,0BAA0B5ukB,cAC/BnO,KAAKw9kB,oBAAoBrvkB,cACzBnO,KAAKs1kB,aAAanujB,UACtB,CAEAqoiB,0BAA0B7yiB,GACtB3c,KAAKu9kB,mBAAqB5gkB,CAC9B,CAEAypiB,SAAS3zjB,GACL,OAAOuN,KAAKuhD,WAAavhD,KAAKuhD,WAAW9uD,GAAK,IAClD,CAEA8wjB,WAAWj2jB,GACP0S,KAAKu8kB,6BAA6BjvlB,EACtC,CAEA01jB,iBAAiBrmiB,GACb3c,KAAKo9kB,aAAezgkB,CACxB,CAEAomiB,kBAAkBpmiB,GACd3c,KAAKq9kB,WAAa1gkB,CACtB,CAEAsmiB,iBAAiBl3a,GACb/rI,KAAK+Z,SAAWgyH,CACpB,CACAmwU,WAAW1wc,IAKP,EAHuBsiB,OAAetiB,EAAO,WACzCA,EAAMoiB,UAAYQ,OAFS,CAAC,UAAW,WAAY,WAG5BsL,MAAO+qP,MAAa,EAAC32P,OAAetiB,EAAOi5Q,OAC/CzkR,KAAK+lB,YAAYsB,cAAck/P,WAClDvmR,KAAKg+kB,aACLxykB,EAAM+b,iBAEd,CACA02jB,SAAS3wlB,GACL,MAAM4wlB,GAAoBl+kB,KAAKk9kB,gBAC/B,IAAIrqhB,GAAO7yD,KAAK+ukB,aAAatxkB,MAAMnQ,EAAO0S,KAAKovkB,aAAa3xkB,MAAM48jB,WAClEr6jB,KAAKk9kB,gBAAkBl9kB,KAAKm9kB,cAActqhB,IAC1CA,GAAO7yD,KAAK+ukB,aAAa7Q,mBAAmBrrgB,IAC5C,MAAMsrhB,IAAcn+kB,KAAK+ukB,aAAa3Q,SAASvrgB,GAAM7yD,KAAK1S,QAGrDulE,IAAQsrhB,GACTn+kB,KAAKo9kB,aAAavqhB,KAKdvlE,IAAU0S,KAAK1S,OACf0S,KAAKo9kB,aAAavqhB,IAElBqrhB,KAAsBl+kB,KAAKk9kB,iBAC3Bl9kB,KAAKu9kB,sBAGTY,KACAn+kB,KAAKg9kB,aAAanqhB,IAClB7yD,KAAKq6jB,UAAUl1iB,KAAK,IAAIg3jB,GAAwBn8kB,KAAMA,KAAK+lB,YAAYsB,gBAE/E,CACAmqiB,YACIxxjB,KAAKs9kB,WAAWn4jB,KAAK,IAAIg3jB,GAAwBn8kB,KAAMA,KAAK+lB,YAAYsB,eAC5E,CAEA23b,UAEQh/c,KAAK1S,OACL0S,KAAK2lG,aAAa3lG,KAAK1S,OAE3B0S,KAAKq9kB,YACT,CAEA13e,aAAar4G,GACT0S,KAAK+lB,YAAYsB,cAAc/5B,MAClB,MAATA,EAAgB0S,KAAK+ukB,aAAa9wgB,OAAO3wE,EAAO0S,KAAKovkB,aAAa30hB,QAAQ4/gB,WAAa,EAC/F,CAEA2iB,aAAa1vlB,GAGL0S,KAAK24kB,QACL34kB,KAAKo+kB,oBAAoB9wlB,GACzB0S,KAAKyujB,cAAgB,MAGrBzujB,KAAKyujB,cAAgBnhkB,CAE7B,CAEA6vlB,cAAc7vlB,GACV,OAAQA,GAAS0S,KAAK+ukB,aAAalmkB,QAAQvb,EAC/C,CAKAkvlB,kBACI,OAAO,CACX,CAEAD,6BAA6BjvlB,GACzBA,EAAQ0S,KAAK+ukB,aAAa13W,YAAY/pO,GACtC0S,KAAKk9kB,gBAAkBl9kB,KAAKm9kB,cAAc7vlB,GAC1CA,EAAQ0S,KAAK+ukB,aAAa7Q,mBAAmB5wkB,GAC7C0S,KAAKg9kB,aAAa1vlB,GAClB0S,KAAK2lG,aAAar4G,EACtB,CAEAqwlB,eAAerwlB,GACX,MAAMI,GAASsS,KAAK85kB,iBACpB,OAAQpslB,IAAUA,GAAOJ,EAC7B,QACS0S,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF8tkB,IAnhGVp8kB,MAmhGkDA,OAnhGlDA,MAmhG4EC,KAAc,GAnhG1FD,MAmhGuHy6jB,KAAgB,IAA8D,QAC5R16jB,KAAKi4B,UAphGkFh4B,MAAE,CAAAgO,KAohGJoukB,GAAsB1mkB,OAAA,CAAAroB,MAAA,QAAAysB,SAAA,CAphGpB9Z,MAAE6oB,2BAAA,sBAohGqGC,QAAgB2H,QAAA,CAAA4sjB,WAAA,aAAAjjB,UAAA,aAAApxiB,YAAA,EAAAC,SAAA,CAphGvHjpB,cAohGiO,EACpU,OA/OKo8kB,EAAsB,KAyR5B,MAAMgC,GAAgC,CAClC1tjB,QAASyyhB,MACTxyhB,aAAa8zd,SAAW,IAAM45F,IAC9Bt7gB,OAAO,GAGLu7gB,GAA4B,CAC9B5tjB,QAAS0zhB,MACTzzhB,aAAa8zd,SAAW,IAAM45F,IAC9Bt7gB,OAAO,GAEX,IACMs7gB,GAAkB,MAAxB,MAAMA,WAA2BjC,GAE7B,iBAAImC,CAAchG,GACVA,IACAx4kB,KAAKy+kB,YAAcjG,EACnBx4kB,KAAK0+kB,oBAAsBlG,EAAWiC,aAAapukB,UAAU,IAAMrM,KAAKq9kB,cACxEr9kB,KAAK88kB,eAAetE,EAAWsC,cAAc96kB,OAErD,CAEA,OAAIqtB,GACA,OAAOrtB,KAAK2+kB,IAChB,CACA,OAAItxjB,CAAI//B,GACJ,MAAMuuV,GAAa77U,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,IACjF0S,KAAK+ukB,aAAa3Q,SAASviP,GAAY77U,KAAK2+kB,QAC7C3+kB,KAAK2+kB,KAAO9iQ,GACZ77U,KAAKu9kB,qBAEb,CAEA,OAAInwjB,GACA,OAAOptB,KAAK4+kB,IAChB,CACA,OAAIxxjB,CAAI9/B,GACJ,MAAMuuV,GAAa77U,KAAK+ukB,aAAa7Q,mBAAmBl+jB,KAAK+ukB,aAAa13W,YAAY/pO,IACjF0S,KAAK+ukB,aAAa3Q,SAASviP,GAAY77U,KAAK4+kB,QAC7C5+kB,KAAK4+kB,KAAO/iQ,GACZ77U,KAAKu9kB,qBAEb,CAEA,cAAI1U,GACA,OAAO7okB,KAAK6+kB,WAChB,CACA,cAAIhW,CAAWv7kB,GACX,MAAMwxlB,GAAmB9+kB,KAAK29kB,eAAe39kB,KAAK1S,OAClD0S,KAAK6+kB,YAAcvxlB,EACf0S,KAAK29kB,eAAe39kB,KAAK1S,SAAWwxlB,IACpC9+kB,KAAKu9kB,oBAEb,CACA99kB,YAAY42d,EAAYg9G,GAAa0L,GAAaC,IAC9CxuiB,MAAM6lb,EAAYg9G,GAAa0L,IAC/B/+kB,KAAKg/kB,WAAaA,GAClBh/kB,KAAK0+kB,oBAAsBnzkB,KAAaunB,MACxC9yB,KAAKuhD,WAAar2C,MAAW+8O,QAAQz3M,MAAMisiB,iBAC/C,CAKAd,4BACI,OAAO37kB,KAAKg/kB,WAAah/kB,KAAKg/kB,WAAWrD,4BAA8B37kB,KAAK+lB,WAChF,CAEAu1jB,oBACI,OAAIt7kB,KAAKg/kB,WACEh/kB,KAAKg/kB,WAAWC,aAEpBj/kB,KAAK+lB,YAAYsB,cAAci/H,aAAa,kBACvD,CAEA6zb,kBACI,OAAOn6kB,KAAKg/kB,WAAah/kB,KAAKg/kB,WAAW37X,WAAQh1N,CACrD,CAEA4rlB,gBACI,OAAOj6kB,KAAK1S,KAChB,CACA4gB,cACIsiC,MAAMtiC,cACNlO,KAAK0+kB,oBAAoBvwkB,aAC7B,CAEA6vkB,aACQh+kB,KAAKy+kB,aACLz+kB,KAAKy+kB,YAAYj1hB,MAEzB,CACA8yhB,mBAAmB4C,GACf,OAAOA,CACX,CACAd,oBAAoB9wlB,GACZ0S,KAAK24kB,QACL34kB,KAAK24kB,OAAOtK,gBAAgB/glB,EAAO0S,KAE3C,CAEA45kB,cACI,OAAO55kB,KAAK2+kB,IAChB,CAEA9E,cACI,OAAO75kB,KAAK4+kB,IAChB,CAEA9E,iBACI,OAAO95kB,KAAK6+kB,WAChB,CACA5B,yBAAyBzxkB,GACrB,OAAOA,EAAMsoC,SAAW9zC,IAC5B,QACSA,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF+vkB,IAlrGVr+kB,MAkrG8CA,OAlrG9CA,MAkrGwEC,KAAc,GAlrGtFD,MAkrGmHy6jB,KAAgB,GAlrGnIz6jB,MAkrGgKk/kB,MAAc,IAA8D,QACnUn/kB,KAAKi4B,UAnrGkFh4B,MAAE,CAAAgO,KAmrGJqwkB,GAAkB3vkB,UAAA,+BAAAga,UAAA,2BAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAnrGhB/O,MAAE,iBAAAmI,IAAA,OAmrGJ6G,GAAAgvkB,SAAA71kB,GAAA0gD,OAAAx7D,MAA6B,EAnrG3B2S,CAmrGgB,2BAAlBgP,GAAAuijB,WAAW,EAnrGTvxjB,CAmrGgB,yBAAlBgP,GAAA+vc,SAAS,EAnrGP/+c,CAmrGgB,mBAAAmI,IAAA,OAAlB6G,GAAAitc,WAAA9zc,GAAkB,KAAA4G,KAnrGhB/O,MAAE,WAAAgP,GAAA8K,UAAF9Z,MAAE,gBAAAgP,GAAAwvkB,YAmrGU,SAAW,KAnrGvBx+kB,CAmrG2B,mBAAAgP,GAAAwvkB,YAAA,KAAAxvkB,GAAAwvkB,YAAApE,SAAAprkB,GAAAwvkB,YAAAj2lB,IAAc,KAnrGzCyX,CAmrG6C,MAAAgP,GAAAoe,IAAzCpe,GAAA8/jB,aAAA9U,UAAAhrjB,GAAAoe,KAA8B,KAnrGlCptB,CAmrGsC,MAAAgP,GAAAme,IAAlCne,GAAA8/jB,aAAA9U,UAAAhrjB,GAAAme,KAA8B,KAnrGlCntB,CAmrGsC,oBAAAgP,GAAAwvkB,YAAAxvkB,GAAAwvkB,YAAAj2lB,GAAT,MAAI,EAAAmtB,OAAA,CAAA6okB,cAAA,gBAAAnxjB,IAAA,MAAAD,IAAA,MAAAy7iB,WAAA,CAnrGjC5okB,MAAEwwB,KAAA,qCAAAzH,SAAA,uBAAAC,YAAA,EAAAC,SAAA,CAAFjpB,MAmrG2tB,CACnzBo+kB,GACAE,GACA,CAAE5tjB,QAASyujB,MAA0BxujB,YAAa0tjB,MAtrGsCr+kB,QAurGf,EACpF,OA7GKq+kB,EAAkB,KAiKlBe,GAAuB,MAA7B,MAAMA,UACOr/kB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF8wkB,GAAuB,CAAqD,QAC7Kr/kB,KAAKi4B,UA9uGkFh4B,MAAE,CAAAgO,KA8uGJoxkB,GAAuB1wkB,UAAA,oCAAAsa,YAAA,GAA8E,EACtM,OAHKo2jB,EAAuB,KAWvBC,GAAmB,MAAzB,MAAMA,GAEF,YAAIvlkB,GACA,YAAuB1rB,IAAnB2R,KAAKw7jB,WAA2Bx7jB,KAAKw4kB,WAC9Bx4kB,KAAKw4kB,WAAWz+jB,WAElB/Z,KAAKw7jB,SAClB,CACA,YAAIzhjB,CAASzsB,GACT0S,KAAKw7jB,UAAYlukB,CACrB,CACAmS,YAAY21kB,EAAOjvjB,GAAoBo5jB,IACnCv/kB,KAAKo1kB,MAAQA,EACbp1kB,KAAKmmB,mBAAqBA,GAC1BnmB,KAAK09jB,cAAgBnyjB,KAAaunB,MAClC,MAAM0sjB,GAAiBh/hB,OAAO++hB,IAC9Bv/kB,KAAKomN,SAAWo5X,IAAqC,IAAnBA,GAAuBA,GAAiB,IAC9E,CACA5kI,YAAYlub,GACJA,EAAQ8rjB,YACRx4kB,KAAKy/kB,oBAEb,CACAvxkB,cACIlO,KAAK09jB,cAAcvvjB,aACvB,CACA+d,qBACIlsB,KAAKy/kB,oBACT,CACAC,MAAMl0kB,GACExL,KAAKw4kB,aAAex4kB,KAAK+Z,WACzB/Z,KAAKw4kB,WAAWhvhB,OAChBh+C,EAAMgc,kBAEd,CACAi4jB,qBACI,MAAME,EAAyB3/kB,KAAKw4kB,WAAax4kB,KAAKw4kB,WAAWlD,gBAAenhkB,SAC1EyrkB,GAAoB5/kB,KAAKw4kB,YAAcx4kB,KAAKw4kB,WAAWwB,gBACvDh6kB,KAAKw4kB,WAAWwB,gBAAgB1E,gBAChCnhkB,SACA0rkB,GAAoB7/kB,KAAKw4kB,cACzB5qkB,MAAM5N,KAAKw4kB,WAAWgC,aAAcx6kB,KAAKw4kB,WAAWiC,eAAY,EAChEtmkB,SACNnU,KAAK09jB,cAAcvvjB,cACnBnO,KAAK09jB,iBAAgB9vjB,MAAM5N,KAAKo1kB,MAAM1ojB,QAASizjB,EAAwBC,GAAmBC,IAAmBxzkB,UAAU,IAAMrM,KAAKmmB,mBAAmBiC,eACzJ,QACSpoB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF+wkB,IAryGVr/kB,MAqyG+C4pkB,IAryG/C5pkB,MAqyG6EA,OAryG7EA,MAqyG8G,YAAU,CAA+D,QAC9QD,KAAK0oB,UAtyGkFzoB,MAAE,CAAAgO,KAsyGJqxkB,GAAmB3wkB,UAAA,4BAAAuhB,eAAA,SAAAlhB,GAAAC,GAAAkhB,IAAuuB,GAAvuB,EAAAnhB,IAtyGjB/O,MAAEkwB,GAsyG+tBkvjB,GAAuB,KAAArwkB,GAAA,KAAAohB,GAtyGxvBnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAA6wkB,YAAA1vjB,GAAA1B,MAAA,GAAA4B,UAAA,SAAAthB,GAAAC,IAAA,KAAAD,IAAF/O,MAAE0R,GAAA,KAAA3C,GAAA,KAAAohB,GAAFnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAA8wkB,QAAA3vjB,GAAA1B,MAAA,GAAA/F,UAAA,4BAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAAF/O,MAAE,iBAAAmI,IAAA,OAsyGJ6G,GAAAywkB,MAAAt3kB,GAAa,GAAM,EAAA4G,KAtyGjB/O,MAAE,WAsyGJ,KAtyGEA,CAsyGE,oBAAAgP,GAAAupkB,WAAAvpkB,GAAAupkB,WAAAhwlB,GAAyB,MAtyG3ByX,MAAE,+BAAAgP,GAAAupkB,YAAAvpkB,GAAAupkB,WAAA6B,OAAFp6kB,CAsyGiB,aAAAgP,GAAAupkB,YAAgB,WAAhBvpkB,GAAAupkB,WAAAn1X,MAtyGjBpjN,CAsyGiB,WAAAgP,GAAAupkB,YAAgB,SAAhBvpkB,GAAAupkB,WAAAn1X,OAAA,EAAA1tM,OAAA,CAAA6ikB,WAAA,CAtyGjBv4kB,MAAEwwB,KAAA,oBAAA21L,SAAA,WAAA3gM,UAAA,CAAFxlB,MAAEwwB,KAAA,0BAAA1W,SAAA,CAAF9Z,MAAE6oB,2BAAA,sBAsyGsNC,OAAgB3C,cAAA,iBAAA4C,SAAA,wBAAAC,YAAA,EAAAC,SAAA,CAtyGxOjpB,mBAAEmpB,mBAAAsziB,GAAA9tjB,MAAA,EAAAC,KAAA,EAAAC,OAAA,6XAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAE8kB,IAAF9kB,MAAE,gBAAFA,MAAE,EAAA2pkB,GAAA,kBAAF3pkB,MAAE,GAAFA,SAsyGotD,EAAA+O,KAtyGptD/O,MAAE,WAAAgP,GAAA8K,SAAF9Z,CAsyG8rC,gBAAAgP,GAAAmX,eAtyG9rCnmB,MAAE,gBAAAgP,GAAAupkB,WAAA,cAAFv4kB,CAAE,aAAAgP,GAAAwW,WAAAxW,GAAAmmkB,MAAArL,kBAAF9pkB,CAAE,WAAAgP,GAAA8K,UAAA,EAAA9K,GAAAm3M,UAAFnmN,MAAE,GAAFA,MAAE,EAAAgP,GAAA6wkB,aAAA,KAsyGmoD,EAAAz2jB,aAAA,CAA6YmziB,MAAa3riB,OAAA,sQAAAtH,cAAA,EAAAC,gBAAA,GAAoK,EACtyE,OAhDK81jB,EAAmB,KAwhCnBz4kB,GAAmB,MAAzB,MAAMA,UACO7G,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF1H,GAAmB,CAAoD,QACxK7G,KAAKm4B,UAjxIkFl4B,KAAE,CAAAgO,KAixISpH,IAyC3E,QACvB7G,KAAKo4B,UA3zIkFn4B,MAAE,CAAAo4B,UA2zIyC,CAACwxiB,GAAmBiO,IAAgDx/iB,QAAA,CAAY5xB,KACnNO,KACAwxB,KACAypb,KACA8V,KACAx/b,KACAw/iB,GACAsH,GACAnK,GAAmBz8iB,OAAyB,EACvD,OArDK7xB,EAAmB,mQCn1IzB,SAAAm5kB,GAAAhxkB,GAAAC,IAAA,CACA,MAAMgxkB,GACFxglB,cAEIO,KAAKjQ,KAAO,SAEZiQ,KAAK8qB,WAAa,GAElB9qB,KAAKisB,aAAc,EAEnBjsB,KAAKyqB,cAAgB,GAErBzqB,KAAK0rK,cAAe,EAEpB1rK,KAAK2vC,MAAQ,GAEb3vC,KAAKgwC,OAAS,GAEdhwC,KAAK5S,KAAO,KAEZ4S,KAAKkglB,gBAAkB,KAEvBlglB,KAAKmglB,eAAiB,KAEtBnglB,KAAKylB,UAAY,KAEjBzlB,KAAKoglB,WAAY,EAMjBpglB,KAAKqglB,UAAY,iBASjBrglB,KAAKozB,cAAe,EAMpBpzB,KAAKsglB,mBAAoB,EAKzBtglB,KAAKuglB,gBAAiB,EAOtBvglB,KAAKwglB,2BAA4B,CACrC,EAMJ,IAIMC,GAAkB,MAAxB,MAAMA,WAA2BlmH,KAC7B96d,YAAYsmB,GAAau0b,GAAmBt0b,GAAWq0G,GAASqmd,GAAuBn1jB,GAASoH,GAAa1M,IACzGuqB,QACAxwC,KAAK+lB,YAAcA,GACnB/lB,KAAKs6c,kBAAoBA,GACzBt6c,KAAKq6H,QAAUA,GACfr6H,KAAK0glB,sBAAwBA,GAC7B1glB,KAAKurB,QAAUA,GACfvrB,KAAK2yB,YAAcA,GACnB3yB,KAAKimB,cAAgBA,GACrBjmB,KAAK6vc,aAAY5+a,OAAOupb,MAExBx6c,KAAK2glB,WAAa,KAElB3glB,KAAK4glB,qCAAuC,KAM5C5glB,KAAK6glB,sBAAwB,KAO7B7glB,KAAK8glB,qBAAuB,GAC5B9glB,KAAKmmB,sBAAqB8K,OAAO+B,OAOjChzB,KAAKw6d,gBAAmBvQ,KAChBjqd,KAAKipd,cAAcnP,cAGvB,MAAMx8c,GAAS0C,KAAKipd,cAAcuR,gBAAgBvQ,IAClD,OAAAjqd,KAAK+glB,mBACEzjlB,IAEX0C,KAAKgmB,UAAYA,GACbhmB,KAAKq6H,QAAQ8ld,gBACbnglB,KAAK8glB,qBAAqBh/iB,KAAK9hC,KAAKq6H,QAAQ8ld,eAEpD,CACAa,mBAAmBx4lB,IACfwX,KAAK8glB,qBAAqBh/iB,KAAKt5C,IAC/BwX,KAAKmmB,mBAAmBiC,cAC5B,CACA64jB,sBAAsBz4lB,IAClB,MAAM6vB,GAAQrY,KAAK8glB,qBAAqBjvlB,QAAQrJ,IAC5C6vB,IAAQ,IACRrY,KAAK8glB,qBAAqBzxiB,OAAOh3B,GAAO,GACxCrY,KAAKmmB,mBAAmBiC,eAEhC,CACA24jB,mBACI/glB,KAAKkhlB,uBACLlhlB,KAAKmhlB,wBACLnhlB,KAAKohlB,sBACT,CAKAA,uBACIphlB,KAAKqhlB,YACT,CACAnzkB,cACIlO,KAAKshlB,eACT,CAKA5mH,sBAAsBzQ,IACdjqd,KAAKipd,cAAcnP,cAGvB,MAAMx8c,GAAS0C,KAAKipd,cAAcyR,sBAAsBzQ,IACxD,OAAAjqd,KAAK+glB,mBACEzjlB,EACX,CAKAq9d,qBAAqB1Q,IACbjqd,KAAKipd,cAAcnP,cAGvB,MAAMx8c,GAAS0C,KAAKipd,cAAc0R,qBAAqB1Q,IACvD,OAAAjqd,KAAK+glB,mBACEzjlB,EACX,CAGAiklB,kBACSvhlB,KAAKwhlB,kBACNxhlB,KAAKqhlB,YAEb,CAMAI,YAAY3xjB,GAASlJ,IACZ5mB,KAAK0glB,sBAAsBhpI,YAAY5nb,MACxCA,GAAQs2L,UAAW,EAEnBpmN,KAAKurB,QAAQ41H,kBAAkB,KAC3B,MAAMh4F,GAAWA,KACbr5B,GAAQ+D,oBAAoB,OAAQs1B,IACpCr5B,GAAQ+D,oBAAoB,YAAas1B,IACzCr5B,GAAQ8zC,gBAAgB,WAAU,EAEtC9zC,GAAQ4D,iBAAiB,OAAQy1B,IACjCr5B,GAAQ4D,iBAAiB,YAAay1B,GAAQ,IAGtDr5B,GAAQ3iB,MAAMyZ,GAClB,CAKA86jB,oBAAoB3hb,GAAUn5I,IAC1B,IAAI+6jB,GAAiB3hlB,KAAK+lB,YAAYsB,cAAckwC,cAAcwoG,IAC9D4hb,IACA3hlB,KAAKyhlB,YAAYE,GAAgB/6jB,GAEzC,CAKAy6jB,aACI,MAAMvxjB,GAAU9vB,KAAK+lB,YAAYsB,cAMjC,OAAQrnB,KAAKq6H,QAAQgmd,WACjB,KAAK,EACL,IAAK,SAMIrglB,KAAKwhlB,kBACN1xjB,GAAQ3iB,QAEZ,MACJ,KAAK,EACL,IAAK,iBACDnN,KAAK2glB,YAAYznI,+BAA+B3mZ,KAAKqvhB,KAG5CA,IACD5hlB,KAAK6hlB,uBAAsB,GAGnC,MACJ,IAAK,gBACD7hlB,KAAK0hlB,oBAAoB,4CACzB,MACJ,QACI1hlB,KAAK0hlB,oBAAoB1hlB,KAAKq6H,QAAQgmd,WAGlD,CAEAiB,gBACI,MAAMQ,GAAc9hlB,KAAKq6H,QAAQjnG,aACjC,IAAI2ujB,GAAqB,KAWzB,GAV2B,iBAAhBD,GACPC,GAAqB/hlB,KAAKgmB,UAAUuxC,cAAcuqhB,IAEtB,kBAAhBA,GACZC,GAAqBD,GAAc9hlB,KAAK4glB,qCAAuC,KAE1EkB,KACLC,GAAqBD,IAGrB9hlB,KAAKq6H,QAAQjnG,cACb2ujB,IACoC,mBAA7BA,GAAmB50kB,MAAsB,CAChD,MAAMqb,MAAgBuyb,QAChBjrb,GAAU9vB,KAAK+lB,YAAYsB,gBAK5BmB,IACDA,KAAkBxoB,KAAKgmB,UAAUx8B,MACjCg/B,KAAkBsH,IAClBA,GAAQlB,SAASpG,OACbxoB,KAAKimB,eACLjmB,KAAKimB,cAAcY,SAASk7jB,GAAoB/hlB,KAAK6glB,uBACrD7glB,KAAK6glB,sBAAwB,MAG7BkB,GAAmB50kB,QAG/B,CACInN,KAAK2glB,YACL3glB,KAAK2glB,WAAWlzjB,SAExB,CAEAo0jB,wBAEQ7hlB,KAAK+lB,YAAYsB,cAAcla,OAC/BnN,KAAK+lB,YAAYsB,cAAcla,OAEvC,CAEAq0kB,iBACI,MAAM1xjB,GAAU9vB,KAAK+lB,YAAYsB,cAC3BmB,MAAgBuyb,QACtB,OAAOjrb,KAAYtH,IAAiBsH,GAAQlB,SAASpG,GACzD,CAEA04jB,uBACQlhlB,KAAK6vc,UAAUG,YACfhwc,KAAK2glB,WAAa3glB,KAAKs6c,kBAAkB9kb,OAAOx1B,KAAK+lB,YAAYsB,eAG7DrnB,KAAKgmB,YACLhmB,KAAK4glB,wCAAuC7lI,SAGxD,CAEAomI,wBAGInhlB,KAAK2yB,YAAYsE,gBAAgB5qB,UAAU,KACnCrM,KAAKq6H,QAAQqxC,cACb1rK,KAAKuhlB,iBAAgB,EAGjC,QACSvhlB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFkykB,IAAVxglB,MAA8CA,OAA9CA,MAAwEC,MAAxED,MAAwGwoB,KAAQ,GAAhHxoB,MAA6IgglB,IAA7IhglB,MAAsKC,MAAtKD,MAA0MA,OAA1MA,MAAgO+3B,MAAhO/3B,MAA4PC,MAAe,CAA8C,QAChZF,KAAK0oB,UADkFzoB,MAAE,CAAAgO,KACJwykB,GAAkB9xkB,UAAA,2BAAA2hB,UAAA,SAAAthB,GAAAC,IAA0gB,GAA1gB,EAAAD,IADhB/O,MAC2gB87d,KAAe,KAAA/sd,GAAA,KAAAohB,GAD1hBnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAAg6c,cAAA74b,GAAA1B,MAAA,GAAA/F,UAAA,YACwG,KAAI,0BAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAD9G/O,MAAE,KAAAgP,GAAAorH,QAAA7xI,IACU,KADZyX,CACgB,OAAAgP,GAAAorH,QAAAtqI,KADhBkQ,CACgB,aAAAgP,GAAAorH,QAAA+ld,UADhBnglB,CACgB,kBAAAgP,GAAAorH,QAAA50G,UAAE,KAAIxW,GAAA6xkB,qBAAwB,GAD9C7glB,CAC+C,aAAAgP,GAAAorH,QAAA50G,UAD/CxlB,CAC+C,mBAAAgP,GAAAorH,QAAA6ld,iBAAtB,KAAI,EAAAj3jB,YAAA,EAAAC,SAAA,CAD7BjpB,aAAE2O,MAAA,EAAAC,KAAA,EAAAC,OAAA,yBAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,IAAF/O,MAAE,EAAA+/kB,GAAA,oBAC6oB,EAAA32jB,aAAA,CAA8J0yc,MAAelrc,OAAA,sGAAAtH,cAAA,GAAyN,EACxnC,OA7PKk3jB,EAAkB,KA0RxB,MAAMuB,GACFvilB,YAAY00B,GAAYnkC,IACpBgQ,KAAKm0B,WAAaA,GAClBn0B,KAAKhQ,OAASA,GAEdgQ,KAAKklB,OAAS,IAAIoB,IAClBtmB,KAAK0rK,aAAe17K,GAAO07K,aAC3B1rK,KAAKi3B,cAAgB9C,GAAW8C,gBAChCj3B,KAAKy1B,cAAgBtB,GAAWsB,gBAChCz1B,KAAKwod,qBAAuBr0b,GAAWq0b,uBACvCxod,KAAKxX,GAAKwH,GAAOxH,GACjBwX,KAAKy1B,cAAcppB,UAAUb,KACrBA,GAAMoiB,UAAYC,OAAW7tB,KAAK0rK,gBAAgB,EAAC59I,MAAetiB,MAClEA,GAAM+b,iBACNvnB,KAAK+rB,WAAM19B,EAAW,CAAE4yd,YAAa,aAAY,GAGzDjhd,KAAKi3B,cAAc5qB,UAAU,KACpBrM,KAAK0rK,cACN1rK,KAAK+rB,WAAM19B,EAAW,CAAE4yd,YAAa,SAAS,GAGtDjhd,KAAK62d,oBAAsB1ic,GAAW+C,cAAc7qB,UAAU,MAEjB,IAArCrc,GAAOwwlB,2BACPxglB,KAAK+rB,OAAM,EAGvB,CAMAA,MAAMzuB,GAAQspB,IACV,GAAI5mB,KAAKiilB,kBAAmB,CACxB,MAAMC,GAAgBlilB,KAAKklB,OAC3BllB,KAAKiilB,kBAAkBpB,sBAAwBj6jB,IAASq6b,aAAe,UAGvEjhd,KAAK62d,oBAAoB1od,cACzBnO,KAAKm0B,WAAWP,UAChBsujB,GAAcv1kB,KAAKrP,IACnB4klB,GAAc/6jB,WACdnnB,KAAKmilB,kBAAoBnilB,KAAKiilB,kBAAoB,IACtD,CACJ,CAEAjtjB,iBACI,OAAAh1B,KAAKm0B,WAAWa,iBACTh1B,IACX,CAMAird,WAAWt7a,GAAQ,GAAIK,GAAS,IAC5B,OAAAhwC,KAAKm0B,WAAW82b,WAAW,CAAEt7a,SAAOK,YAC7BhwC,IACX,CAEAord,cAAcrgc,IACV,OAAA/qB,KAAKm0B,WAAWi3b,cAAcrgc,IACvB/qB,IACX,CAEAqrd,iBAAiBtgc,IACb,OAAA/qB,KAAKm0B,WAAWk3b,iBAAiBtgc,IAC1B/qB,IACX,EAIJ,MAAMoilB,GAAyB,IAAIv8jB,MAAe,uBAAwB,CACtEllB,WAAY,OACZF,QAASA,KACL,MAAMuwB,MAAUC,OAAOC,MACvB,MAAO,IAAMF,GAAQG,iBAAiBwyM,OAAM,IAI9C0+W,GAAc,IAAIx8jB,MAAe,cAEjCy8jB,GAAwB,IAAIz8jB,MAAe,uBAqBjD,IAAIihB,GAAW,EACTy7iB,GAAM,MAAZ,MAAMA,GAEF,eAAIC,GACA,OAAOxilB,KAAKyilB,cAAgBzilB,KAAKyilB,cAAcD,YAAcxilB,KAAK0ilB,uBACtE,CAEA,eAAIC,GACA,OAAO3ilB,KAAKyilB,cAAgBzilB,KAAKyilB,cAAcE,YAAc3ilB,KAAK4ilB,uBACtE,CACAnjlB,YAAY6yB,GAAUijc,GAAWxY,GAAiB0lI,GAAet2H,GAAmB15b,IAChFzyB,KAAKsyB,SAAWA,GAChBtyB,KAAKu1d,UAAYA,GACjBv1d,KAAK+8c,gBAAkBA,GACvB/8c,KAAKyilB,cAAgBA,GACrBzilB,KAAKmsd,kBAAoBA,GACzBnsd,KAAK0ilB,wBAA0B,GAC/B1ilB,KAAK6ilB,2BAA6B,IAAIv8jB,IACtCtmB,KAAK4ilB,wBAA0B,IAAIt8jB,IACnCtmB,KAAK8ilB,oBAAsB,IAAI7/iB,IAK/BjjC,KAAK+ilB,kBAAiBp3P,KAAM,IAAM3rV,KAAKwilB,YAAYpwlB,OAC7C4N,KAAKgjlB,qBACLhjlB,KAAKgjlB,qBAAqBn4kB,QAAK8hB,WAAUt+B,KAC/C2R,KAAKyzB,gBAAkBhB,EAC3B,CACA+2B,KAAKy5hB,GAAwBjzlB,KAEzBA,GAAS,IADSgQ,KAAK+8c,iBAAmB,IAAIkjI,MACnBjwlB,KACpBxH,GAAKwH,GAAOxH,IAAM,cAAcs+C,KACnC92C,GAAOxH,IACPwX,KAAKkjlB,cAAclzlB,GAAOxH,IAI9B,MAAM6rC,GAAgBr0B,KAAKs1B,kBAAkBtlC,IACvCmkC,GAAan0B,KAAKsyB,SAASkD,OAAOnB,IAClC8ujB,GAAY,IAAInB,GAAU7tjB,GAAYnkC,IACtCozlB,GAAkBpjlB,KAAKqjlB,iBAAiBlvjB,GAAYgvjB,GAAWnzlB,IACrEmzlB,UAAUlB,kBAAoBmB,GAC9BpjlB,KAAKsjlB,qBAAqBL,GAAwBE,GAAWC,GAAiBpzlB,IAEzEgQ,KAAKwilB,YAAYpwlB,QAClB4N,KAAKujlB,+CAETvjlB,KAAKwilB,YAAY1gjB,KAAKqhjB,IACtBA,GAAUj+jB,OAAO7Y,UAAU,IAAMrM,KAAKwjlB,kBAAkBL,IAAW,IACnEnjlB,KAAK2ilB,YAAYh2kB,KAAKw2kB,IACfA,EACX,CAIAM,WACIC,GAAe1jlB,KAAKwilB,YAAa52a,IAAUA,GAAO7/I,QACtD,CAKAm3jB,cAAc16lB,IACV,OAAOwX,KAAKwilB,YAAYrtlB,KAAKy2K,IAAUA,GAAOpjL,KAAOA,GACzD,CACA0lB,cAIIw1kB,GAAe1jlB,KAAK0ilB,wBAAyB92a,MAEJ,IAAjCA,GAAO57K,OAAOuwlB,gBACdvglB,KAAKwjlB,kBAAkB53a,IAAQ,EAAK,GAM5C83a,GAAe1jlB,KAAK0ilB,wBAAyB92a,IAAUA,GAAO7/I,SAC9D/rB,KAAK6ilB,2BAA2B17jB,WAChCnnB,KAAK4ilB,wBAAwBz7jB,WAC7BnnB,KAAK0ilB,wBAA0B,EACnC,CAMAptjB,kBAAkBtlC,IACd,MAAMhH,GAAQ,IAAI0sC,KAAc,CAC5BpB,iBAAkBtkC,GAAOskC,kBACrBt0B,KAAKsyB,SAASqD,WAAWihD,SAAS69Y,qBAAqBC,mBAC3Djic,eAAgBziC,GAAOyiC,gBAAkBzyB,KAAKyzB,kBAC9C3I,WAAY96B,GAAO86B,WACnBmB,YAAaj8B,GAAOi8B,YACpBgC,UAAWj+B,GAAOi+B,UAClB03M,SAAU31O,GAAO21O,SACjBE,UAAW71O,GAAO61O,UAClBmC,SAAUh4O,GAAOg4O,SACjBC,UAAWj4O,GAAOi4O,UAClBt4L,MAAO3/C,GAAO2/C,MACdK,OAAQhgD,GAAOggD,OACfu3a,oBAAqBv3d,GAAOswlB,oBAEhC,OAAItwlB,GAAOy6B,gBACPzhC,GAAMyhC,cAAgBz6B,GAAOy6B,eAE1BzhC,EACX,CAOAq6lB,iBAAiBryjB,GAASmyjB,GAAWnzlB,IACjC,MAAM2zlB,GAAe3zlB,GAAOyjd,UAAYzjd,GAAOyme,kBAAkBhjB,SAC3Dp7a,GAAY,CACd,CAAE1H,QAASsvjB,GAAc79gB,SAAUpyE,IACnC,CAAE2gC,QAASqxjB,GAAW5/gB,SAAU+ghB,IAChC,CAAExyjB,QAASq4b,KAAY5mZ,SAAUpxC,KAErC,IAAI4yjB,GACA5zlB,GAAO2iD,UACyB,mBAArB3iD,GAAO2iD,UACdixiB,GAAgB5zlB,GAAO2iD,WAGvBixiB,GAAgB5zlB,GAAO2iD,UAAU1kC,KACjCoqB,GAAUyJ,QAAQ9xC,GAAO2iD,UAAUta,UAAUroC,MAIjD4zlB,GAAgBnD,GAEpB,MAAMoD,GAAkB,IAAI1pH,KAAgBypH,GAAe5zlB,GAAOyme,iBAAkB4E,MAAS7lc,OAAO,CAAE6wB,OAAQs9hB,IAAgB3jlB,KAAKu1d,UAAWl9b,eAAcroC,GAAOoqe,0BAEnK,OADqBppc,GAAQwD,OAAOqvjB,IAChBv4I,QACxB,CASAg4I,qBAAqBL,GAAwBE,GAAWC,GAAiBpzlB,IACrE,GAAIizlB,cAAkC1yjB,MAAa,CAC/C,MAAMkjb,GAAWzzc,KAAK8jlB,gBAAgB9zlB,GAAQmzlB,GAAWC,QAAiB/0lB,GAC1E,IAAIsgH,GAAU,CAAEl9F,UAAWzhB,GAAO5C,KAAM+1lB,cACpCnzlB,GAAO+zlB,kBACPp1e,GAAU,IACHA,MACmC,mBAA3B3+G,GAAO+zlB,gBACZ/zlB,GAAO+zlB,kBACP/zlB,GAAO+zlB,kBAGrBX,GAAgBzoH,qBAAqB,IAAI5ic,KAAekrjB,GAAwB,KAAMt0e,GAAS8kW,IACnG,KACK,CACD,MAAMA,GAAWzzc,KAAK8jlB,gBAAgB9zlB,GAAQmzlB,GAAWC,GAAiBpjlB,KAAKu1d,WACzEyuH,GAAaZ,GAAgB1oH,sBAAsB,IAAIP,KAAgB8oH,GAAwBjzlB,GAAOyme,iBAAkBhjB,GAAUzjd,GAAOoqe,2BAC/I+oH,GAAUhoH,aAAe6oH,GACzBb,GAAUhB,kBAAoB6B,GAAW14I,QAC7C,CACJ,CAWAw4I,gBAAgB9zlB,GAAQmzlB,GAAWC,GAAiBa,IAChD,MAAMN,GAAe3zlB,GAAOyjd,UAAYzjd,GAAOyme,kBAAkBhjB,SAC3Dp7a,GAAY,CACd,CAAE1H,QAAS0xjB,GAAajghB,SAAUpyE,GAAO5C,MACzC,CAAEujC,QAASqxjB,GAAW5/gB,SAAU+ghB,KAEpC,OAAInzlB,GAAOqoC,YACyB,mBAArBroC,GAAOqoC,UACdA,GAAUyJ,QAAQ9xC,GAAOqoC,UAAU8qjB,GAAWnzlB,GAAQozlB,KAGtD/qjB,GAAUyJ,QAAQ9xC,GAAOqoC,YAG7BroC,GAAOi+B,aACL01jB,KACGA,GAAaj7kB,IAAI85c,MAAgB,KAAM,CAAE1pa,UAAU,MACxDzgB,GAAUyJ,KAAK,CACXnR,QAAS6xb,MACTpgZ,SAAU,CAAE90E,MAAO0C,GAAOi+B,UAAW+H,UAAQ7hB,WAG9Cknd,MAAS7lc,OAAO,CAAE6wB,OAAQs9hB,IAAgBM,GAAkB5rjB,cACvE,CAMAmrjB,kBAAkBL,GAAW53B,IACzB,MAAMlziB,GAAQrY,KAAKwilB,YAAY3wlB,QAAQsxlB,IACnC9qkB,IAAQ,IACRrY,KAAKwilB,YAAYnziB,OAAOh3B,GAAO,GAG1BrY,KAAKwilB,YAAYpwlB,SAClB4N,KAAK8ilB,oBAAoB13jB,QAAQ,CAAC+iK,GAAer+J,MACzCq+J,GACAr+J,GAAQ83I,aAAa,cAAeumB,IAGpCr+J,GAAQ8zC,gBAAgB,cAAa,GAG7C5jE,KAAK8ilB,oBAAoB/tiB,QACrBw2gB,IACAvrjB,KAAKgjlB,qBAAqBr2kB,QAI1C,CAEA42kB,+CACI,MAAMW,GAAmBlklB,KAAKmsd,kBAAkBvD,sBAEhD,GAAIs7H,GAAiBv5b,cAAe,CAChC,MAAM65K,GAAW0/Q,GAAiBv5b,cAAc79C,SAChD,QAAS/kF,GAAIy8S,GAASpyU,OAAS,EAAG21B,IAAI,EAAIA,KAAK,CAC3C,MAAM8jI,GAAU24K,GAASz8S,IACrB8jI,KAAYq4b,IACS,WAArBr4b,GAAQjD,UACa,UAArBiD,GAAQjD,WACPiD,GAAQnF,aAAa,eACtB1mJ,KAAK8ilB,oBAAoB5/iB,IAAI2oH,GAASA,GAAQvF,aAAa,gBAC3DuF,GAAQ+b,aAAa,cAAe,QAE5C,CACJ,CACJ,CACAo7a,qBACI,MAAM38hB,GAASrmD,KAAKyilB,cACpB,OAAOp8hB,GAASA,GAAO28hB,qBAAuBhjlB,KAAK6ilB,0BACvD,QACS7ilB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFg0kB,IApYVtilB,MAoYkC+3B,MApYlC/3B,MAoY2DA,OApY3DA,MAoYmFqilB,GAAqB,GApYxGrilB,MAoYqIsilB,GAAM,IApY3ItilB,MAoYwL+3B,MApYxL/3B,MAoY0NmilB,IAAsB,CAA+C,QACtXpilB,KAAKszD,WArYkFrzD,MAAE,CAAAhQ,MAqYYsylB,GAAM9hlB,QAAN8hlB,GAAM7hlB,UAAAC,WAAc,QAAW,EAChJ,OA7PK4hlB,EAAM,KAkRZ,SAASmB,GAAe/zlB,GAAOw5D,IAC3B,IAAIphC,GAAIp4B,GAAMyC,OACd,KAAO21B,MACHohC,GAASx5D,GAAMo4B,IAEvB,CAAC,IAEKo8jB,GAAY,MAAlB,MAAMA,UACOnklB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF41kB,GAAY,CAAoD,QACjKnklB,KAAKm4B,UApakFl4B,KAAE,CAAAgO,KAoaSk2kB,IAI3E,QACvBnklB,KAAKo4B,UAzakFn4B,MAAE,CAAAo4B,UAyakC,CAACkqjB,IAAOjqjB,QAAA,CAAYG,KAAeu/b,KAAc9V,KAG7K8V,OAAkB,EAC7B,OAXKmsH,EAAY,oECjuBlB,SAAAC,GAAAp1kB,GAAAC,IAAA,UAGA,MAAMo1kB,GACF5klB,cAEIO,KAAKjQ,KAAO,SAEZiQ,KAAK8qB,WAAa,GAElB9qB,KAAKisB,aAAc,EAEnBjsB,KAAKyqB,cAAgB,GAErBzqB,KAAK0rK,cAAe,EAEpB1rK,KAAK2vC,MAAQ,GAEb3vC,KAAKgwC,OAAS,GAEdhwC,KAAK5S,KAAO,KAEZ4S,KAAKkglB,gBAAkB,KAEvBlglB,KAAKmglB,eAAiB,KAEtBnglB,KAAKylB,UAAY,KAEjBzlB,KAAKoglB,WAAY,EAMjBpglB,KAAKqglB,UAAY,iBAKjBrglB,KAAKozB,cAAe,EAEpBpzB,KAAKsklB,gBAAiB,EAMtBtklB,KAAKsglB,mBAAoB,CAE7B,EAIJ,MAAMiE,GAAa,mBAEbC,GAAgB,sBAEhBC,GAAgB,sBAIc,IAC9BC,GAAkB,MAAxB,MAAMA,WAA2BjE,GAC7BhhlB,YAAY42d,GAAYsuH,GAAkB3+jB,GAAW4+jB,GAAcC,GAAsBr9Y,GAAQrzK,GAAYsniB,GAAgBqpB,IACzHt0iB,MAAM6lb,GAAYsuH,GAAkB3+jB,GAAW4+jB,GAAcC,GAAsBr9Y,GAAQrzK,GAAY2wjB,IACvG9klB,KAAKy7jB,eAAiBA,GAEtBz7jB,KAAK+klB,uBAAyB,IAAIj5jB,MAElC9rB,KAAKgllB,mBAA6C,mBAAxBhllB,KAAKy7jB,eAE/Bz7jB,KAAKillB,oBAAsB,EAE3BjllB,KAAKkllB,aAAelllB,KAAK+lB,YAAYsB,cAErCrnB,KAAKmllB,wBAA0BnllB,KAAKgllB,mBAC9BI,GAAapllB,KAAKq6H,QAAQgrd,yBAjBR,IAkBlB,EAENrllB,KAAKsllB,uBAAyBtllB,KAAKgllB,mBAC7BI,GAAapllB,KAAKq6H,QAAQkrd,wBAnBP,GAoBnB,EAENvllB,KAAKwllB,gBAAkB,KAKvBxllB,KAAKyllB,kBAAoB,KACrBzllB,KAAK0llB,yBACL1llB,KAAK2llB,mBAAmB3llB,KAAKmllB,wBAAuB,EAMxDnllB,KAAK4llB,mBAAqB,KACtB5llB,KAAK0llB,yBACL1llB,KAAK+klB,uBAAuB5/jB,KAAK,CAAEn8B,MAAO,SAAUslL,UAAWtuK,KAAKsllB,wBAAwB,CAEpG,CACAvE,mBAGIvwiB,MAAMuwiB,mBAUN/glB,KAAK6llB,qBACT,CAEAA,sBACI7llB,KAAK+klB,uBAAuB5/jB,KAAK,CAAEn8B,MAAO,UAAWslL,UAAWtuK,KAAKmllB,0BACjEnllB,KAAKgllB,oBACLhllB,KAAKkllB,aAAar7jB,MAAMuuK,YAAY0tZ,GAA8B,GAAG9llB,KAAKmllB,6BAI1EnllB,KAAK+llB,uBAAuB,IAAM/llB,KAAKkllB,aAAa55jB,UAAUvf,IAAIy4kB,GAAeD,KACjFvklB,KAAKgmlB,4BAA4BhmlB,KAAKmllB,wBAAyBnllB,KAAKyllB,qBAGpEzllB,KAAKkllB,aAAa55jB,UAAUvf,IAAIw4kB,IAKhCjwiB,QAAQC,UAAUge,KAAK,IAAMvyD,KAAKyllB,qBAE1C,CAKA1M,sBACI/4kB,KAAK+klB,uBAAuB5/jB,KAAK,CAAEn8B,MAAO,UAAWslL,UAAWtuK,KAAKsllB,yBACrEtllB,KAAKkllB,aAAa55jB,UAAUtD,OAAOu8jB,IAC/BvklB,KAAKgllB,oBACLhllB,KAAKkllB,aAAar7jB,MAAMuuK,YAAY0tZ,GAA8B,GAAG9llB,KAAKsllB,4BAE1EtllB,KAAK+llB,uBAAuB,IAAM/llB,KAAKkllB,aAAa55jB,UAAUvf,IAAI04kB,KAClEzklB,KAAKgmlB,4BAA4BhmlB,KAAKsllB,uBAAwBtllB,KAAK4llB,qBAoBnEtxiB,QAAQC,UAAUge,KAAK,IAAMvyD,KAAK4llB,qBAE1C,CAKAK,0BAA0B5mY,IACtBr/M,KAAKillB,qBAAuB5lY,GAC5Br/M,KAAKmmB,mBAAmBiC,cAC5B,CAEAs9jB,yBACI1llB,KAAKkllB,aAAa55jB,UAAUtD,OAAOw8jB,GAAeC,GACtD,CACAuB,4BAA4BlziB,GAAUqW,IACL,OAAzBnpD,KAAKwllB,iBACLtviB,aAAal2C,KAAKwllB,iBAItBxllB,KAAKwllB,gBAAkBx4kB,WAAWm8C,GAAUrW,GAChD,CAEAiziB,uBAAuB58hB,IACnBnpD,KAAKurB,QAAQ41H,kBAAkB,KACU,mBAA1B8hB,sBACPA,sBAAsB95G,IAGtBA,IAAS,EAGrB,CACAi4hB,uBACSphlB,KAAKq6H,QAAQiqd,gBACdtklB,KAAKqhlB,YAEb,CAKAsE,mBAAmBr3a,IACXtuK,KAAKq6H,QAAQiqd,gBACbtklB,KAAKqhlB,aAETrhlB,KAAK+klB,uBAAuBp4kB,KAAK,CAAE3jB,MAAO,SAAUslL,cACxD,CACApgK,cACIsiC,MAAMtiC,cACuB,OAAzBlO,KAAKwllB,iBACLtviB,aAAal2C,KAAKwllB,gBAE1B,CACA9qH,sBAAsBzQ,IASlB,MAAMx+M,GAAMj7N,MAAMkqb,sBAAsBzQ,IACxCx+M,UAAI52P,SAASwS,cAAciE,UAAUvf,IAAI,iCAClC0/P,EACX,QACSzrQ,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFm2kB,IAAVzklB,MAA8CA,OAA9CA,MAAwEC,MAAxED,MAAwGwoB,KAAQ,GAAhHxoB,MAA6IoklB,IAA7IpklB,MAAyKC,MAAzKD,MAA6MA,OAA7MA,MAAmO+3B,MAAnO/3B,MAA+Ps6L,MAAqB,GAApRt6L,MAAiTC,MAAe,CAA8C,QACrcF,KAAK0oB,UADkFzoB,MAAE,CAAAgO,KACJy2kB,GAAkB/1kB,UAAA,2BAAAga,UAAA,YAA0F,KAAI,2CAAAC,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,KAD9G/O,MAAE,KAAAgP,GAAAorH,QAAA7xI,IAAFyX,MAAE,aAAAgP,GAAAorH,QAAA+ld,UAAFnglB,CAAE,OAAAgP,GAAAorH,QAAAtqI,KAAFkQ,CAAE,kBAAAgP,GAAAorH,QAAA50G,UACgB,KAAIxW,GAAA6xkB,qBAAwB,GAD9C7glB,CAC+C,aAAAgP,GAAAorH,QAAA50G,UAD/CxlB,CAC+C,mBAAAgP,GAAAorH,QAAA6ld,iBAAtB,MADzBjglB,MAAE,2BAAAgP,GAAA+1kB,mBAAF/klB,CACgB,wCAAAgP,GAAAg2kB,oBAAI,GAAJ,EAAAh8jB,YAAA,EAAAC,SAAA,CADhBjpB,aAAE2O,MAAA,EAAAC,KAAA,EAAAC,OAAA,wGAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,MAAE,UAAFA,CAC6pB,WAD7pBA,MAAE,EAAAmklB,GAAA,qBAAFnklB,UACkxB,EAAAopB,aAAA,CAAylX0yc,MAAelrc,OAAA,6hXAAAtH,cAAA,GAAyN,EACtrZ,OA/KKm7jB,EAAkB,KAyMxB,MAAMoB,GAA+B,mCAOrC,SAASV,GAAajnhB,IAClB,OAAY,MAARA,GACO,KAES,iBAATA,GACAA,GAEPA,GAAK54B,SAAS,OAAI,EACXs9a,OAAqB1kZ,GAAK9oD,UAAU,EAAG8oD,GAAK/rE,OAAS,IAE5D+rE,GAAK54B,SAAS,KACoD,KADjD,EACVs9a,OAAqB1kZ,GAAK9oD,UAAU,EAAG8oD,GAAK/rE,OAAS,IAEnD,MAAT+rE,GACO,EAEJ,IACX,CAEA,IAAI+nhB,GACH,SAAUA,IACPA,UAAeA,GAAeC,KAAU,GAAK,OAC7CD,GAAeA,GAAeE,QAAa,GAAK,UAChDF,GAAeA,GAAeG,OAAY,GAAK,SAHxCH,EAIX,CAJC,CAIEA,IAAoC,CAAC,GAIxC,MAAMI,GACF7mlB,YAAYu8C,GAAMhsD,GAAQu2lB,IACtBvmlB,KAAKg8C,KAAOA,GACZh8C,KAAKumlB,mBAAqBA,GAE1BvmlB,KAAKwmlB,aAAe,IAAIlgkB,IAExBtmB,KAAKymlB,cAAgB,IAAIngkB,IAEzBtmB,KAAKk0L,OAASgyZ,GAAeC,KAC7BnmlB,KAAK0rK,aAAe17K,GAAO07K,aAC3B1rK,KAAKxX,GAAKwzD,GAAKxzD,GAEfwzD,GAAKova,cAAc,wBAEnBm7H,GAAmBxB,uBACdl6kB,QAAKnd,MAAO8d,IAAyB,WAAhBA,GAAMxiB,QAAkB,EAAGwkB,MAAK,IACrDnB,UAAU,KACXrM,KAAKwmlB,aAAa75kB,OAClB3M,KAAKwmlB,aAAar/jB,UAAS,GAG/Bo/jB,GAAmBxB,uBACdl6kB,QAAKnd,MAAO8d,IAAyB,WAAhBA,GAAMxiB,QAAkB,EAAGwkB,MAAK,IACrDnB,UAAU,KACX6pC,aAAal2C,KAAK0mlB,uBAClB1mlB,KAAK4llB,oBAAmB,GAE5B5piB,GAAK7nB,WAAW+C,cAAc7qB,UAAU,KACpCrM,KAAKymlB,cAAc95kB,KAAK3M,KAAK2mlB,SAC7B3mlB,KAAKymlB,cAAct/jB,WACnBnnB,KAAK4llB,oBAAmB,IAC3B,EACDh4kB,MAAM5N,KAAKi3B,gBAAiBj3B,KAAKy1B,gBAAgB5qB,QAAKnd,MAAO8d,IAASA,GAAMoiB,UAAYC,OAAW7tB,KAAK0rK,gBAAgB,EAAC59I,MAAetiB,OAAUa,UAAUb,KACnJxL,KAAK0rK,eACNlgK,GAAM+b,iBACNq/jB,GAAgB5mlB,KAAqB,YAAfwL,GAAMyC,KAAqB,WAAa,SAAO,EAGjF,CAKA8d,MAAM86jB,IACF7mlB,KAAK2mlB,QAAUE,GAEf7mlB,KAAKumlB,mBAAmBxB,uBACnBl6kB,QAAKnd,MAAO8d,IAAyB,YAAhBA,GAAMxiB,QAAmB,EAAGwkB,MAAK,IACtDnB,UAAUb,KACXxL,KAAKymlB,cAAc95kB,KAAKk6kB,IACxB7mlB,KAAKymlB,cAAct/jB,WACnBnnB,KAAKg8C,KAAK7nB,WAAWu2b,iBAMrB1qd,KAAK0mlB,sBAAwB15kB,WAAW,IAAMhN,KAAK4llB,qBAAsBp6kB,GAAM8iK,UAAY,IAAG,GAElGtuK,KAAKk0L,OAASgyZ,GAAeE,QAC7BpmlB,KAAKumlB,mBAAmBxN,qBAC5B,CAIA4J,cACI,OAAO3ilB,KAAKwmlB,YAChB,CAIAM,cACI,OAAO9mlB,KAAKg8C,KAAK92B,MACrB,CAIA6hkB,eACI,OAAO/mlB,KAAKymlB,aAChB,CAIAxvjB,gBACI,OAAOj3B,KAAKg8C,KAAK/kB,aACrB,CAIAxB,gBACI,OAAOz1B,KAAKg8C,KAAKvmB,aACrB,CAKAT,eAAeW,IACX,IAAIq1b,GAAWhrd,KAAKg8C,KAAKhsD,OAAOskC,iBAChC,OAAIqB,KAAaA,GAASka,MAAQla,GAAS0lE,OACvC1lE,GAASka,KAAOm7a,GAASn7a,KAAKla,GAASka,MAAQm7a,GAAS3vX,MAAM1lE,GAAS0lE,OAGvE2vX,GAASyJ,qBAET9+b,KAAaA,GAASsa,KAAOta,GAAS4sI,QACtC5sI,GAASsa,IAAM+6a,GAAS/6a,IAAIta,GAASsa,KAAO+6a,GAASzoT,OAAO5sI,GAAS4sI,QAGrEyoT,GAAS0J,mBAEb10d,KAAKg8C,KAAKhnB,iBACHh1B,IACX,CAMAird,WAAWt7a,GAAQ,GAAIK,GAAS,IAC5B,OAAAhwC,KAAKg8C,KAAKiva,WAAWt7a,GAAOK,IACrBhwC,IACX,CAEAord,cAAcrgc,IACV,OAAA/qB,KAAKg8C,KAAKova,cAAcrgc,IACjB/qB,IACX,CAEAqrd,iBAAiBtgc,IACb,OAAA/qB,KAAKg8C,KAAKqva,iBAAiBtgc,IACpB/qB,IACX,CAEAm/d,WACI,OAAOn/d,KAAKk0L,MAChB,CAKA0xZ,qBACI5llB,KAAKk0L,OAASgyZ,GAAeG,OAC7BrmlB,KAAKg8C,KAAKjwB,MAAM/rB,KAAK2mlB,QAAS,CAAE1lI,YAAajhd,KAAK6glB,wBAClD7glB,KAAKmilB,kBAAoB,IAC7B,EAQJ,SAASyE,GAAgBn7U,GAAKu7U,GAAiB1plB,IAC3CmuQ,UAAIo1U,sBAAwBmG,GACrBv7U,GAAI1/O,MAAMzuB,GACrB,CAGA,MAAM2plB,GAAkB,IAAIphkB,MAAe,oBAErCqhkB,GAA6B,IAAIrhkB,MAAe,kCAEhDshkB,GAA6B,IAAIthkB,MAAe,iCAAkC,CACpFllB,WAAY,OACZF,QAASA,KACL,MAAMuwB,MAAUC,OAAOC,MACvB,MAAO,IAAMF,GAAQG,iBAAiBwyM,OAAM,IAsBpD,IAAI78L,GAAW,EAITsgjB,GAAS,MAAf,MAAMA,GAEF,eAAI5E,GACA,OAAOxilB,KAAKyilB,cAAgBzilB,KAAKyilB,cAAcD,YAAcxilB,KAAK0ilB,uBACtE,CAEA,eAAIC,GACA,OAAO3ilB,KAAKyilB,cAAgBzilB,KAAKyilB,cAAcE,YAAc3ilB,KAAK4ilB,uBACtE,CACAI,qBACI,MAAM38hB,GAASrmD,KAAKyilB,cACpB,OAAOp8hB,GAASA,GAAO28hB,qBAAuBhjlB,KAAK6ilB,0BACvD,CACApjlB,YAAY6yB,GAAUmhb,GAKtB5+b,GAAUkoc,GAAiBtpb,GAAiBgvjB,GAK5Ct2H,GAKAsvG,IACIz7jB,KAAKsyB,SAAWA,GAChBtyB,KAAK+8c,gBAAkBA,GACvB/8c,KAAKyzB,gBAAkBA,GACvBzzB,KAAKyilB,cAAgBA,GACrBzilB,KAAK0ilB,wBAA0B,GAC/B1ilB,KAAK6ilB,2BAA6B,IAAIv8jB,IACtCtmB,KAAK4ilB,wBAA0B,IAAIt8jB,IACnCtmB,KAAKqnlB,kBAAoBhD,GAKzBrklB,KAAK+ilB,kBAAiBp3P,KAAM,IAAM3rV,KAAKwilB,YAAYpwlB,OAC7C4N,KAAKgjlB,qBACLhjlB,KAAKgjlB,qBAAqBn4kB,QAAK8hB,WAAUt+B,KAC/C2R,KAAKsnlB,QAAU7zI,GAAS/qc,IAAI65kB,IAC5BvilB,KAAKunlB,sBAAwBjB,GAC7BtmlB,KAAKwnlB,qBAAuB9C,GAC5B1klB,KAAKynlB,iBAAmBR,EAC5B,CACAz9hB,KAAKy5hB,GAAwBjzlB,IACzB,IAAImzlB,IACJnzlB,GAAS,IAAMgQ,KAAK+8c,iBAAmB,IAAIsnI,MAAuBr0lB,KAC3DxH,GAAKwH,GAAOxH,IAAM,kBAAkBs+C,KAC3C92C,GAAOyiC,eAAiBziC,GAAOyiC,gBAAkBzyB,KAAKyzB,kBACtD,MAAMi0jB,GAAS1nlB,KAAKsnlB,QAAQ99hB,KAAKy5hB,GAAwB,IAClDjzlB,GACHskC,iBAAkBt0B,KAAKsyB,SAASqD,WAAWihD,SAAS69Y,qBAAqBC,mBAEzEhpT,cAAc,EAId60a,gBAAgB,EAGhBC,2BAA2B,EAC3B7tiB,UAAW,CACP1kC,KAAMjO,KAAKwnlB,qBACXnvjB,UAAWA,IAAM,CAIb,CAAE1H,QAAS3wB,KAAKqnlB,kBAAmBjlhB,SAAUpyE,IAC7C,CAAE2gC,QAASsvjB,GAAc79gB,SAAUpyE,MAG3C+zlB,gBAAiBA,MAASZ,eAC1B9qjB,UAAWA,CAACozO,GAAKk8U,GAAWvE,MACxBD,GAAY,IAAInjlB,KAAKunlB,sBAAsB97U,GAAKz7Q,GAAQozlB,IACxDD,GAAUnujB,eAAehlC,IAAQ2lC,UAC1B,CACH,CAAEhF,QAAS3wB,KAAKwnlB,qBAAsBplhB,SAAUghhB,IAChD,CAAEzyjB,QAAS3wB,KAAKynlB,iBAAkBrlhB,SAAUulhB,GAAUv6lB,MACtD,CAAEujC,QAAS3wB,KAAKunlB,sBAAuBnlhB,SAAU+ghB,QAM7DA,UAAUhoH,aAAeusH,GAAOvsH,aAChCgoH,GAAUhB,kBAAoBuF,GAAOvF,kBACrCnilB,KAAKwilB,YAAY1gjB,KAAKqhjB,IACtBnjlB,KAAK2ilB,YAAYh2kB,KAAKw2kB,IACtBA,GAAU2D,cAAcz6kB,UAAU,KAC9B,MAAMgM,GAAQrY,KAAKwilB,YAAY3wlB,QAAQsxlB,IACnC9qkB,IAAQ,IACRrY,KAAKwilB,YAAYnziB,OAAOh3B,GAAO,GAC1BrY,KAAKwilB,YAAYpwlB,QAClB4N,KAAKgjlB,qBAAqBr2kB,OAAK,GAIpCw2kB,EACX,CAIAM,WACIzjlB,KAAK4nlB,cAAc5nlB,KAAKwilB,YAC5B,CAKAU,cAAc16lB,IACV,OAAOwX,KAAKwilB,YAAYrtlB,KAAKy2K,IAAUA,GAAOpjL,KAAOA,GACzD,CACA0lB,cAGIlO,KAAK4nlB,cAAc5nlB,KAAK0ilB,yBACxB1ilB,KAAK6ilB,2BAA2B17jB,WAChCnnB,KAAK4ilB,wBAAwBz7jB,UACjC,CACAygkB,cAAcC,IACV,IAAI9/jB,GAAI8/jB,GAAQz1lB,OAChB,KAAO21B,MACH8/jB,GAAQ9/jB,IAAGgE,OAEnB,QACS/rB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF64kB,IAlYVnnlB,MAkYqC+3B,MAlYrC/3B,MAkY8DA,OAlY9DA,MAkYsFE,KAAW,GAlYjGF,MAkY8HinlB,GAA0B,GAlYxJjnlB,MAkYqLknlB,IAlYrLlnlB,MAkY4NmnlB,GAAS,IAlYrOnnlB,MAkYkR+3B,MAlYlR/3B,MAkYoTs6L,MAAqB,IAA+D,QAC/dv6L,KAAKszD,WAnYkFrzD,MAAE,CAAAhQ,MAmYYm3lB,GAAS3mlB,QAAT2mlB,GAAS1mlB,UAAAC,WAAc,QAAW,EACnJ,OApIKymlB,EAAS,KA8JXU,GAAmB,EAIjBC,GAAc,MAApB,MAAMA,GACFtolB,YAGA0jlB,GAAWp9jB,GAAauhkB,IACpBtnlB,KAAKmjlB,UAAYA,GACjBnjlB,KAAK+lB,YAAcA,GACnB/lB,KAAKsnlB,QAAUA,GAEftnlB,KAAKiO,KAAO,QAChB,CACApC,WACS7L,KAAKmjlB,YAMNnjlB,KAAKmjlB,UAAY6E,GAAiBholB,KAAK+lB,YAAa/lB,KAAKsnlB,QAAQ9E,aAEzE,CACA5nI,YAAYlub,IACR,MAAMu7jB,GAAgBv7jB,GAAQw7jB,iBAAsBx7jB,GAAQy7jB,sBACxDF,KACAjolB,KAAK6mlB,aAAeoB,GAAct0H,aAE1C,CACAy0H,eAAe58kB,IAKXo7kB,GAAgB5mlB,KAAKmjlB,UAA6B,IAAlB33kB,GAAMukC,SAAmC,IAAlBvkC,GAAM0kC,QAAgB,WAAa,QAASlwC,KAAK6mlB,aAC5G,QACS7mlB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFw5kB,IApcV9nlB,MAoc0CqmlB,GAAY,GApctDrmlB,MAocmFA,OApcnFA,MAoc6GmnlB,IAAS,CAA8C,QAC3PpnlB,KAAKi4B,UArckFh4B,MAAE,CAAAgO,KAqcJ85kB,GAAcp5kB,UAAA,sDAAAia,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IArcZ/O,MAAE,iBAAAmI,IAAA,OAqcJ6G,GAAAm5kB,eAAAhglB,GAAsB,GAAR,EAAA4G,IArcZ/O,MAAE,aAAAgP,GAAAwW,WAqcS,KArcXxlB,CAqce,OAAAgP,GAAAhB,KAAA,EAAA0H,OAAA,CAAA8P,UAAA,CArcfxlB,MAAEwwB,KAAA,0BAAAxiB,KAAA,OAAA44kB,aAAA,CAAF5mlB,MAAEwwB,KAAA,mCAAAy3jB,gBAAA,CAAFjolB,MAAEwwB,KAAA,qCAAAzH,SAAA,mBAAAC,YAAA,EAAAC,SAAA,CAAFjpB,QAqc+c,EACljB,OApCK8nlB,EAAc,KA+DdM,GAAsB,MAA5B,MAAMA,GACF5olB,YAGA6olB,GAAYvikB,GAAauhkB,IACrBtnlB,KAAKsolB,WAAaA,GAClBtolB,KAAK+lB,YAAcA,GACnB/lB,KAAKsnlB,QAAUA,EACnB,CACAz7kB,WACS7L,KAAKsolB,aACNtolB,KAAKsolB,WAAaN,GAAiBholB,KAAK+lB,YAAa/lB,KAAKsnlB,QAAQ9E,cAElExilB,KAAKsolB,YACLh0iB,QAAQC,UAAUge,KAAK,KACnBvyD,KAAKuolB,QAAO,EAGxB,CACAr6kB,cAGqBlO,KAAKsolB,YAAY/B,oBAE9BjyiB,QAAQC,UAAUge,KAAK,KACnBvyD,KAAKwolB,WAAU,EAG3B,QACSxolB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF85kB,IA9fVpolB,MA8fkDqmlB,GAAY,GA9f9DrmlB,MA8f2FA,OA9f3FA,MA8fqHmnlB,IAAS,CAA8C,QACnQpnlB,KAAKi4B,UA/fkFh4B,MAAE,CAAAgO,KA+fJo6kB,GAAsBp/jB,YAAA,GAAuC,EAC9J,OA/BKo/jB,EAAsB,KAyCtBI,GAAc,MAApB,MAAMA,WAAuBJ,GACzB5olB,cACI+wC,SAASC,WACTzwC,KAAKxX,GAAK,wBAAwBs/lB,IACtC,CACAS,SAGIvolB,KAAKsolB,WAAW/B,oBAAoBvF,qBAAqBhhlB,KAAKxX,GAClE,CACAggmB,YACIxolB,KAAKsolB,YAAY/B,oBAAoBtF,wBAAwBjhlB,KAAKxX,GACtE,QACSwX,KAAKU,UAAI,UAAAgolB,GAAA,gBAAAn6kB,IAAA,OAAAm6kB,QAvhB8EzolB,MAuhBUwolB,MAAcl6kB,IAAdk6kB,GAAc,GAAtG,EAA6J,QACtKzolB,KAAKi4B,UAxhBkFh4B,MAAE,CAAAgO,KAwhBJw6kB,GAAc95kB,UAAA,sDAAAga,UAAA,+CAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAxhBZ/O,MAAE,KAAAgP,GAAAzmB,GAwhBU,EAAAmtB,OAAA,CAAAntB,GAAA,MAAAwgC,SAAA,mBAAAC,YAAA,EAAAC,SAAA,CAxhBZjpB,QAwhBgR,EACnX,OAfKwolB,EAAc,KAiCdE,GAAgB,MAAtB,MAAMA,UACO3olB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFo6kB,GAAgB,CAAqD,QACtK3olB,KAAKi4B,UA7iBkFh4B,MAAE,CAAAgO,KA6iBJ06kB,GAAgBh6kB,UAAA,iFAAAga,UAAA,mDAAAM,YAAA,GAAyL,EAC1S,OAHK0/jB,EAAgB,KAgBhBC,GAAgB,MAAtB,MAAMA,WAAyBP,GAC3BE,SACIvolB,KAAKsolB,WAAW/B,oBAAoBN,4BAA4B,EACpE,CACAuC,YACIxolB,KAAKsolB,WAAW/B,oBAAoBN,6BAA4B,EACpE,QACSjmlB,KAAKU,UAAI,UAAAmolB,GAAA,gBAAAt6kB,IAAA,OAAAs6kB,QAlkB8E5olB,MAkkBU2olB,MAAgBr6kB,IAAhBq6kB,GAAgB,GAAxG,EAA+J,QACxK5olB,KAAKi4B,UAnkBkFh4B,MAAE,CAAAgO,KAmkBJ26kB,GAAgBj6kB,UAAA,iFAAAga,UAAA,mDAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAnkBd/O,MAAE,qCAmkBM,UAnkBNgP,GAAA65kB,MAAF7olB,CAmkBc,sCAAN,WAAMgP,GAAA65kB,MAnkBd7olB,CAmkBc,mCAAN,QAAMgP,GAAA65kB,MAAA,EAAAnzkB,OAAA,CAAAmzkB,MAAA,SAAA7/jB,YAAA,EAAAC,SAAA,CAnkBdjpB,QAmkBid,EACpjB,OATK2olB,EAAgB,KA8BtB,SAASZ,GAAiBl4jB,GAAS0yjB,IAC/B,IAAIn8hB,GAASv2B,GAAQzI,cAAcsjI,cACnC,KAAOtkG,KAAWA,GAAO/6B,UAAUsD,SAAS,6BACxCy3B,GAASA,GAAOskG,cAEpB,OAAOtkG,GAASm8hB,GAAYrtlB,KAAKy2K,IAAUA,GAAOpjL,KAAO69D,GAAO79D,IAAM,IAC1E,CAQE,IACIsvB,GAAe,MAArB,MAAMA,UACO9X,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFuJ,GAAe,CAAoD,QACpK9X,KAAKm4B,UA1mBkFl4B,KAAE,CAAAgO,KA0mBS6J,IAQ7E,QACrB9X,KAAKo4B,UAnnBkFn4B,MAAE,CAAAo4B,UAmnBqC,CAAC+ujB,IAAU9ujB,QAAA,CAAY6rjB,GAAc1rjB,KAAeu/b,KAAcx/b,MAAiBA,QAAqB,EAClP,OAZK1gB,EAAe,+ICjuBrB,MAAMixkB,GAAa,IAAIljkB,MAAe,aACtC,IACMmjkB,GAAS,MAAf,MAAMA,GACFvplB,cACIO,KAAKiplB,SAAU,CACnB,CACA,mBAAIC,CAAgB57lB,IAChB0S,KAAKiplB,SAAU,CACnB,QACSjplB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFy6kB,GAAS,CAAqD,QAC/JhplB,KAAKi4B,UA7HkFh4B,MAAE,CAAAgO,KA6HJ+6kB,GAASr6kB,UAAA,sEAAAgH,OAAA,CAAAuzkB,gBAAA,CA7HPjplB,MAAEwwB,KAAA,oCAAAxH,YAAA,EAAAC,SAAA,CAAFjpB,MA6HsK,CAAC,CAAE0wB,QAASo4jB,GAAYn4jB,YAAao4jB,QAA+B,EAC7U,OATKA,EAAS,KA+QTG,GAAmB,MAAzB,MAAMA,UACOnplB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF46kB,GAAmB,CAAqD,QACzKnplB,KAAKi4B,UAtYkFh4B,MAAE,CAAAgO,KAsYJk7kB,IAAsC,EACvI,OAHKA,EAAmB,KA0BzB,MAAMhK,GAAiB,IAAIt5jB,MAAe,gBAsB1C,IAqiBMujkB,GAAkB,MAAxB,MAAMA,UACOpplB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF66kB,GAAkB,CAAoD,QACvKpplB,KAAKm4B,UA39BkFl4B,KAAE,CAAAgO,KA29BSm7kB,IAQS,QAC3GpplB,KAAKo4B,UAp+BkFn4B,MAAE,CAAAq4B,QAAA,CAo+BuCE,KACjI9xB,KACA07c,KAAiB5pb,OAAqB,EACjD,OAdK4wjB,EAAkB,8OC79BxB,MAAAl3kB,GAAA,MAIA,IAAIkjP,GA4BJ,SAASkzQ,GAAsBnqf,IAC3B,OAxBJ,SAASoqf,KACL,QAAel6gB,IAAX+mQ,KACAA,GAAS,YACExgP,OAAW,KAAa,CAC/B,MAAMy0kB,GAAWz0kB,YACavmB,IAA1Bg7lB,GAASv7P,eACT14F,GAASi0V,GAASv7P,aAAaC,aAAa,qBAAsB,CAC9DnB,WAAat6V,IAAMA,KAG/B,CAEJ,OAAO8iQ,EACX,CAWWmzQ,IAAa37K,WAAWzuU,KAASA,EAC5C,CAOA,SAASmrkB,GAA4BC,IACjC,OAAO1hjB,MAAM,sCAAsC0hjB,MACvD,CAgBA,SAASC,GAAmC5ujB,IACxC,OAAOiN,MAAM,wHACyCjN,OAC1D,CAMA,SAAS6ujB,GAAuCC,IAC5C,OAAO7hjB,MAAM,0HACyC6hjB,OAC1D,CAKA,MAAMC,GACFlqlB,YAAYm7B,GAAKgvjB,GAAShjkB,IACtB5mB,KAAK46B,IAAMA,GACX56B,KAAK4plB,QAAUA,GACf5plB,KAAK4mB,QAAUA,EACnB,EAEJ,IAOMijkB,GAAe,MAArB,MAAMA,GACFpqlB,YAAYqqlB,GAAaC,GAAY98kB,GAAU+8kB,IAC3ChqlB,KAAK8plB,YAAcA,GACnB9plB,KAAK+plB,WAAaA,GAClB/plB,KAAKgqlB,cAAgBA,GAIrBhqlB,KAAKiqlB,gBAAkB,IAAIhnjB,IAK3BjjC,KAAKkqlB,gBAAkB,IAAIjnjB,IAE3BjjC,KAAKmqlB,kBAAoB,IAAIlnjB,IAE7BjjC,KAAKoqlB,sBAAwB,IAAInnjB,IAEjCjjC,KAAKqqlB,uBAAyB,IAAIpnjB,IAElCjjC,KAAKsqlB,WAAa,GAMlBtqlB,KAAKuqlB,qBAAuB,CAAC,iBAAkB,qBAC/CvqlB,KAAKgmB,UAAY/Y,EACrB,CAMAu9kB,WAAWjB,GAAU3ujB,GAAKhU,IACtB,OAAO5mB,KAAKyqlB,sBAAsB,GAAIlB,GAAU3ujB,GAAKhU,GACzD,CAMA8jkB,kBAAkBnB,GAAUG,GAAS9ikB,IACjC,OAAO5mB,KAAK2qlB,6BAA6B,GAAIpB,GAAUG,GAAS9ikB,GACpE,CAOA6jkB,sBAAsBnzZ,GAAWiyZ,GAAU3ujB,GAAKhU,IAC5C,OAAO5mB,KAAK4qlB,kBAAkBtzZ,GAAWiyZ,GAAU,IAAII,GAAc/ujB,GAAK,KAAMhU,IACpF,CASAikkB,mBAAmB1wL,IACf,OAAAn6Z,KAAKsqlB,WAAWxojB,KAAKq4X,IACdn6Z,IACX,CAOA2qlB,6BAA6BrzZ,GAAWiyZ,GAAUG,GAAS9ikB,IACvD,MAAMkkkB,GAAe9qlB,KAAK+plB,WAAWzrkB,SAAS4uf,MAAgB/wK,KAAMutP,IAEpE,IAAKoB,GACD,MAAMrB,GAAuCC,IAGjD,MAAMqB,GAAiBziF,GAAsBwiF,IAC7C,OAAO9qlB,KAAK4qlB,kBAAkBtzZ,GAAWiyZ,GAAU,IAAII,GAAc,GAAIoB,GAAgBnkkB,IAC7F,CAKAokkB,cAAcpwjB,GAAKhU,IACf,OAAO5mB,KAAKirlB,yBAAyB,GAAIrwjB,GAAKhU,GAClD,CAKAskkB,qBAAqBxB,GAAS9ikB,IAC1B,OAAO5mB,KAAKmrlB,gCAAgC,GAAIzB,GAAS9ikB,GAC7D,CAMAqkkB,yBAAyB3zZ,GAAW18J,GAAKhU,IACrC,OAAO5mB,KAAKorlB,qBAAqB9zZ,GAAW,IAAIqyZ,GAAc/ujB,GAAK,KAAMhU,IAC7E,CAMAukkB,gCAAgC7zZ,GAAWoyZ,GAAS9ikB,IAChD,MAAMkkkB,GAAe9qlB,KAAK+plB,WAAWzrkB,SAAS4uf,MAAgB/wK,KAAMutP,IACpE,IAAKoB,GACD,MAAMrB,GAAuCC,IAGjD,MAAMqB,GAAiBziF,GAAsBwiF,IAC7C,OAAO9qlB,KAAKorlB,qBAAqB9zZ,GAAW,IAAIqyZ,GAAc,GAAIoB,GAAgBnkkB,IACtF,CAsBAykkB,uBAAuBp0a,GAAOq0a,GAAar0a,IACvC,OAAAj3K,KAAKqqlB,uBAAuBnnjB,IAAI+zI,GAAOq0a,IAChCtrlB,IACX,CAKAurlB,sBAAsBt0a,IAClB,OAAOj3K,KAAKqqlB,uBAAuB3hlB,IAAIuuK,KAAUA,EACrD,CAKAu0a,0BAA0BF,IACtB,OAAAtrlB,KAAKuqlB,qBAAuBe,GACrBtrlB,IACX,CAKAyrlB,yBACI,OAAOzrlB,KAAKuqlB,oBAChB,CASAmB,kBAAkBC,IACd,MAAM/wjB,GAAM56B,KAAK+plB,WAAWzrkB,SAAS4uf,MAAgBC,aAAcw+E,IACnE,IAAK/wjB,GACD,MAAM4ujB,GAAmCmC,IAE7C,MAAMC,GAAa5rlB,KAAKmqlB,kBAAkBzhlB,IAAIkyB,IAC9C,OAAIgxjB,MACOz3kB,MAAG03kB,GAASD,KAEhB5rlB,KAAK8rlB,uBAAuB,IAAInC,GAAcgC,GAAS,OAAO9glB,QAAKmB,KAAImgJ,IAAOnsJ,KAAKmqlB,kBAAkBjnjB,IAAItI,GAAKuxH,MAAI,EAAGt+J,KAAIs+J,IAAO0/b,GAAS1/b,KACpJ,CASA4/b,gBAAgBv+lB,GAAM8pM,GAAY,IAC9B,MAAMp2J,GAAM8qjB,GAAQ10Z,GAAW9pM,IAC/B,IAAIwC,GAASgQ,KAAKiqlB,gBAAgBvhlB,IAAIw4B,IAEtC,GAAIlxC,GACA,OAAOgQ,KAAKislB,kBAAkBj8lB,IAIlC,GADAA,GAASgQ,KAAKkslB,4BAA4B50Z,GAAW9pM,IACjDwC,GACA,OAAAgQ,KAAKiqlB,gBAAgB/mjB,IAAIhC,GAAKlxC,IACvBgQ,KAAKislB,kBAAkBj8lB,IAGlC,MAAMm8lB,GAAiBnslB,KAAKkqlB,gBAAgBxhlB,IAAI4uL,IAChD,OAAI60Z,GACOnslB,KAAKoslB,0BAA0B5+lB,GAAM2+lB,KAAc,EAEvDrnjB,KAAWwkjB,GAA4BpojB,IAClD,CACAhzB,cACIlO,KAAKsqlB,WAAa,GAClBtqlB,KAAKiqlB,gBAAgBl1iB,QACrB/0C,KAAKkqlB,gBAAgBn1iB,QACrB/0C,KAAKmqlB,kBAAkBp1iB,OAC3B,CAIAk3iB,kBAAkBj8lB,IACd,OAAIA,GAAO45lB,WAEAz1kB,MAAG03kB,GAAS7rlB,KAAKqslB,sBAAsBr8lB,MAIvCgQ,KAAK8rlB,uBAAuB97lB,IAAQ6a,QAAKhd,KAAIs+J,IAAO0/b,GAAS1/b,KAE5E,CASAigc,0BAA0B5+lB,GAAM2+lB,IAG5B,MAAMG,GAAYtslB,KAAKuslB,+BAA+B/+lB,GAAM2+lB,IAC5D,GAAIG,GAIA,SAAOn4kB,MAAGm4kB,IAId,MAAME,GAAuBL,GACxBz+lB,OAAO++lB,KAAkBA,GAAc7C,SACvC/7lB,IAAI4+lB,IACEzslB,KAAK0slB,0BAA0BD,IAAe5hlB,QAAKysD,KAAYnuB,KAIlE,MAAMonC,GAAe,yBAHTvwE,KAAK+plB,WAAWzrkB,SAAS4uf,MAAgBC,aAAcs/E,GAAc7xjB,gBAGpBuO,GAAIoB,UACjE,OAAAvqC,KAAKgqlB,cAActrhB,YAAY,IAAI72B,MAAM0oC,MAAa,EAC/Cp8D,MAAG,KAAI,KAKtB,SAAOssb,KAAS+rJ,IAAsB3hlB,QAAKhd,KAAI,KAC3C,MAAM8+lB,GAAY3slB,KAAKuslB,+BAA+B/+lB,GAAM2+lB,IAE5D,IAAKQ,GACD,MAAMrD,GAA4B97lB,IAEtC,OAAOm/lB,KAEf,CAMAJ,+BAA+BhD,GAAU4C,IAErC,QAASpkkB,GAAIokkB,GAAe/5lB,OAAS,EAAG21B,IAAK,EAAGA,KAAK,CACjD,MAAM/3B,GAASm8lB,GAAepkkB,IAK9B,GAAI/3B,GAAO45lB,SAAW55lB,GAAO45lB,QAAQzojB,WAAWtvC,QAAQ03lB,KAAY,EAAI,CACpE,MAAMp9b,GAAMnsJ,KAAKqslB,sBAAsBr8lB,IACjC28lB,GAAY3slB,KAAK4slB,uBAAuBzgc,GAAKo9b,GAAUv5lB,GAAO42B,SACpE,GAAI+lkB,GACA,OAAOA,EAEf,CACJ,CACA,OAAO,IACX,CAKAb,uBAAuB97lB,IACnB,OAAOgQ,KAAK6slB,WAAW78lB,IAAQ6a,QAAKmB,KAAI49kB,IAAY55lB,GAAO45lB,QAAUA,KAAQ,EAAG/7lB,KAAI,IAAMmS,KAAKqslB,sBAAsBr8lB,KACzH,CAKA08lB,0BAA0B18lB,IACtB,OAAIA,GAAO45lB,WACAz1kB,MAAG,MAEPnU,KAAK6slB,WAAW78lB,IAAQ6a,QAAKmB,KAAI49kB,IAAY55lB,GAAO45lB,QAAUA,IACzE,CAMAgD,uBAAuBE,GAASvD,GAAU3ikB,IAGtC,MAAMmmkB,GAAaD,GAAQv1hB,cAAc,QAAQgyhB,QACjD,IAAKwD,GACD,OAAO,KAIX,MAAMC,GAAcD,GAAWnlkB,WAAU,GAIzC,GAHAolkB,GAAYpphB,gBAAgB,MAGe,QAAvCophB,GAAYpkc,SAASt+J,cACrB,OAAO0V,KAAKitlB,kBAAkBD,GAAapmkB,IAK/C,GAA2C,WAAvComkB,GAAYpkc,SAASt+J,cACrB,OAAO0V,KAAKitlB,kBAAkBjtlB,KAAKktlB,cAAcF,IAAcpmkB,IAOnE,MAAMulI,GAAMnsJ,KAAKmtlB,sBAAsB7kF,GAAsB,gBAE7Dn8W,UAAI13G,YAAYu4iB,IACThtlB,KAAKitlB,kBAAkB9gc,GAAKvlI,GACvC,CAIAumkB,sBAAsB/qjB,IAClB,MAAMuhL,GAAM3jN,KAAKgmB,UAAUmuB,cAAc,OACzCwvK,GAAIkjG,UAAYzkR,GAChB,MAAM+pH,GAAMw3D,GAAIpsJ,cAAc,OAE9B,IAAK40F,GACD,MAAMtkH,MAAM,uBAEhB,OAAOskH,EACX,CAIA+gc,cAAcp9jB,IACV,MAAMq8H,GAAMnsJ,KAAKmtlB,sBAAsB7kF,GAAsB,gBACvDl8W,GAAat8H,GAAQs8H,WAE3B,QAASrkI,GAAI,EAAGA,GAAIqkI,GAAWh6J,OAAQ21B,KAAK,CACxC,MAAQv6B,QAAMF,UAAU8+J,GAAWrkI,IACtB,OAATv6B,IACA2+J,GAAIyb,aAAap6K,GAAMF,GAE/B,CACA,QAASy6B,GAAI,EAAGA,GAAI+H,GAAQ6/P,WAAWv9R,OAAQ21B,KACvC+H,GAAQ6/P,WAAW5nQ,IAAG+/H,WAAa9nJ,KAAKgmB,UAAUmiI,cAClDgE,GAAI13G,YAAY3kB,GAAQ6/P,WAAW5nQ,IAAGH,WAAU,IAGxD,OAAOukI,EACX,CAIA8gc,kBAAkB9gc,GAAKvlI,IACnBulI,UAAIyb,aAAa,MAAO,IACxBzb,GAAIyb,aAAa,SAAU,QAC3Bzb,GAAIyb,aAAa,QAAS,QAC1Bzb,GAAIyb,aAAa,sBAAuB,iBACxCzb,GAAIyb,aAAa,YAAa,SAC1BhhJ,IAAWA,GAAQ25L,SACnBp0D,GAAIyb,aAAa,UAAWhhJ,GAAQ25L,SAEjCp0D,EACX,CAKA0gc,WAAWO,IACP,MAAQxyjB,IAAK+wjB,GAAS/kkB,YAAYwmkB,GAC5B/xV,GAAkBz0O,IAASy0O,kBAAmB,EACpD,IAAKr7P,KAAK8plB,YACN,MAhcZ,SAASuD,KACL,OAAOxljB,MAAM,6JAGjB,CA4bkBwljB,GAGV,GAAe,MAAX1B,GACA,MAAM9jjB,MAAM,+BAA+B8jjB,QAE/C,MAAM/wjB,GAAM56B,KAAK+plB,WAAWzrkB,SAAS4uf,MAAgBC,aAAcw+E,IAEnE,IAAK/wjB,GACD,MAAM4ujB,GAAmCmC,IAK7C,MAAM2B,GAAkBttlB,KAAKoqlB,sBAAsB1hlB,IAAIkyB,IACvD,GAAI0yjB,GACA,OAAOA,GAEX,MAAM/zjB,GAAMv5B,KAAK8plB,YAAYphlB,IAAIkyB,GAAK,CAAEuK,aAAc,OAAQk2N,qBAAmBxwP,QAAKhd,KAAIs+J,IAG/Em8W,GAAsBn8W,MAChC,EAAGvtI,MAAS,IAAM5e,KAAKoqlB,sBAAsB1ijB,OAAO9M,MAAI,EAAGs3C,SAC5D,OAAAlyE,KAAKoqlB,sBAAsBlnjB,IAAItI,GAAKrB,IAC7BA,EACX,CAOAqxjB,kBAAkBtzZ,GAAWiyZ,GAAUv5lB,IACnC,OAAAgQ,KAAKiqlB,gBAAgB/mjB,IAAI8ojB,GAAQ10Z,GAAWiyZ,IAAWv5lB,IAChDgQ,IACX,CAMAorlB,qBAAqB9zZ,GAAWtnM,IAC5B,MAAMu9lB,GAAkBvtlB,KAAKkqlB,gBAAgBxhlB,IAAI4uL,IACjD,OAAIi2Z,GACAA,GAAgBzrjB,KAAK9xC,IAGrBgQ,KAAKkqlB,gBAAgBhnjB,IAAIo0J,GAAW,CAACtnM,KAElCgQ,IACX,CAEAqslB,sBAAsBr8lB,IAClB,IAAKA,GAAOw9lB,WAAY,CACpB,MAAMrhc,GAAMnsJ,KAAKmtlB,sBAAsBn9lB,GAAO45lB,SAC9C5plB,KAAKitlB,kBAAkB9gc,GAAKn8J,GAAO42B,SACnC52B,GAAOw9lB,WAAarhc,EACxB,CACA,OAAOn8J,GAAOw9lB,UAClB,CAEAtB,4BAA4B50Z,GAAW9pM,IACnC,QAASu6B,GAAI,EAAGA,GAAI/nB,KAAKsqlB,WAAWl4lB,OAAQ21B,KAAK,CAC7C,MAAMzqB,GAAS0C,KAAKsqlB,WAAWvikB,IAAGv6B,GAAM8pM,IACxC,GAAIh6L,GACA,OAAOmwlB,GAAqBnwlB,IACtB,IAAIqslB,GAAcrslB,GAAOs9B,IAAK,KAAMt9B,GAAOspB,SAC3C,IAAI+ikB,GAAcrslB,GAAQ,KAExC,CAEJ,QACS0C,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFs7kB,IAAV5plB,MAA2CC,MAAa,GAAxDD,MAAqFE,OAArFF,MAAiHwoB,KAAQ,GAAzHxoB,MAAsJA,OAAe,CAA+C,QAC3SD,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACY45lB,GAAepplB,QAAfoplB,GAAenplB,UAAAC,WAAc,QAAW,EACzJ,OAjeKkplB,EAAe,KA+frB,SAASgC,GAAS1/b,IACd,OAAOA,GAAIvkI,WAAU,EACzB,CAEA,SAASokkB,GAAQ10Z,GAAW9pM,IACxB,OAAO8pM,GAAY,IAAM9pM,EAC7B,CACA,SAASigmB,GAAqBngmB,IAC1B,SAAUA,GAAMstC,MAAOttC,GAAMs5B,QACjC,CAGA,MAAM8mkB,GAA2B,IAAI7nkB,MAAe,4BAM9C8nkB,GAAoB,IAAI9nkB,MAAe,oBAAqB,CAC9DllB,WAAY,OACZF,QAGJ,SAASmtlB,KACL,MAAM5nkB,MAAYiL,OAAOxI,MACnB84F,GAAYv7F,GAAYA,GAAUnR,SAAW,KACnD,MAAO,CAGHg5kB,YAAaA,IAAOtse,GAAYA,GAAUn9C,SAAWm9C,GAAUnrD,OAAS,GAEhF,IAEM03hB,GAAoB,CACtB,YACA,gBACA,MACA,SACA,OACA,SACA,SACA,eACA,aACA,aACA,OACA,UAGEC,GAA2BD,GAAkBjgmB,IAAI24J,IAAQ,IAAIA,OAAS96G,KAAK,MAE3EsijB,GAAiB,4BACvB,IAgCMC,GAAO,MAAb,MAAMA,GAEF,SAAI5qY,GACA,OAAOrjN,KAAKk6kB,QAAUl6kB,KAAKuuR,aAC/B,CACA,SAAIlrE,CAAM/1N,IACN0S,KAAKk6kB,OAAS5slB,EAClB,CAEA,WAAI4gmB,GACA,OAAOlulB,KAAKmulB,QAChB,CACA,WAAID,CAAQ5gmB,IACJA,KAAU0S,KAAKmulB,WACX7gmB,GACA0S,KAAKoulB,eAAe9gmB,IAEf0S,KAAKmulB,UACVnulB,KAAKqulB,mBAETrulB,KAAKmulB,SAAW7gmB,GAExB,CAEA,WAAIghmB,GACA,OAAOtulB,KAAKuulB,QAChB,CACA,WAAID,CAAQhhmB,IACR,MAAMo6F,GAAW1nF,KAAKwulB,kBAAkBlhmB,IACpCo6F,KAAa1nF,KAAKuulB,WAClBvulB,KAAKuulB,SAAW7mgB,GAChB1nF,KAAKyulB,yBAEb,CAEA,YAAIC,GACA,OAAO1ulB,KAAK2ulB,SAChB,CACA,YAAID,CAASphmB,IACT,MAAMo6F,GAAW1nF,KAAKwulB,kBAAkBlhmB,IACpCo6F,KAAa1nF,KAAK2ulB,YAClB3ulB,KAAK2ulB,UAAYjngB,GACjB1nF,KAAKyulB,yBAEb,CACAhvlB,YAAYsmB,GAAa6okB,GAAeC,GAAYtte,GAAWyoe,GAAezpe,IAC1EvgH,KAAK+lB,YAAcA,GACnB/lB,KAAK4ulB,cAAgBA,GACrB5ulB,KAAKuhH,UAAYA,GACjBvhH,KAAKgqlB,cAAgBA,GAKrBhqlB,KAAK8ulB,QAAS,EACd9ulB,KAAK+ulB,sBAAwB,GAE7B/ulB,KAAKgvlB,kBAAoBzjlB,KAAaunB,MAClCytF,KACIA,GAAS8iG,QACTrjN,KAAKqjN,MAAQrjN,KAAKuuR,cAAgBhuK,GAAS8iG,OAE3C9iG,GAAS+te,UACTtulB,KAAKsulB,QAAU/te,GAAS+te,UAK3BO,IACD9okB,GAAYsB,cAAcugJ,aAAa,cAAe,OAE9D,CAcAqnb,eAAe1F,IACX,IAAKA,GACD,MAAO,CAAC,GAAI,IAEhB,MAAM92hB,GAAQ82hB,GAASp+jB,MAAM,KAC7B,OAAQsnC,GAAMrgE,QACV,KAAK,EACD,MAAO,CAAC,GAAIqgE,GAAM,IACtB,KAAK,EACD,OAAOA,GACX,QACI,MAAM5qB,MAAM,uBAAuB0hjB,OAE/C,CACA19kB,WAGI7L,KAAKyulB,wBACT,CACAhxF,qBACI,MAAMyxF,GAAiBlvlB,KAAKmvlB,gCAC5B,GAAID,IAAkBA,GAAe5zf,KAAM,CACvC,MAAM2jY,GAAUj/d,KAAKuhH,UAAUsse,cAO3B5uH,KAAYj/d,KAAKovlB,gBACjBpvlB,KAAKovlB,cAAgBnwH,GACrBj/d,KAAKqvlB,yBAAyBpwH,IAEtC,CACJ,CACA/wd,cACIlO,KAAKgvlB,kBAAkB7glB,cACnBnO,KAAKmvlB,iCACLnvlB,KAAKmvlB,gCAAgCp6iB,OAE7C,CACAu6iB,iBACI,OAAQtvlB,KAAKkulB,OACjB,CACAqB,eAAepjc,IACXnsJ,KAAKqulB,mBAGL,MAAMx3lB,GAAOmJ,KAAKuhH,UAAUsse,cAC5B7tlB,KAAKovlB,cAAgBv4lB,GACrBmJ,KAAKwvlB,qCAAqCrjc,IAC1CnsJ,KAAKqvlB,yBAAyBx4lB,IAC9BmJ,KAAK+lB,YAAYsB,cAAcotB,YAAY03G,GAC/C,CACAkic,mBACI,MAAMoB,GAAgBzvlB,KAAK+lB,YAAYsB,cACvC,IAAIqokB,GAAaD,GAAc9/T,WAAWv9R,OAM1C,IALI4N,KAAKmvlB,iCACLnvlB,KAAKmvlB,gCAAgCp6iB,QAIlC26iB,MAAc,CACjB,MAAM5lX,GAAQ2lX,GAAc9/T,WAAW+/T,KAGhB,IAAnB5lX,GAAMhiF,UAAmD,QAAjCgiF,GAAMlhF,SAASt+J,gBACvCw/O,GAAM9hN,QAEd,CACJ,CACAymkB,yBACI,IAAKzulB,KAAKsvlB,iBACN,OAEJ,MAAMlrb,GAAOpkK,KAAK+lB,YAAYsB,cACxBsokB,IAAkB3vlB,KAAKsulB,QACvBtulB,KAAK4ulB,cAAcrD,sBAAsBvrlB,KAAKsulB,SAASnjkB,MAAM,MAC7DnrB,KAAK4ulB,cAAcnD,0BAA0B/9lB,OAAO29B,IAAaA,GAAUj5B,OAAS,GAC1F4N,KAAK+ulB,sBAAsB3jkB,QAAQC,IAAa+4I,GAAK94I,UAAUtD,OAAOqD,KACtEskkB,GAAevkkB,QAAQC,IAAa+4I,GAAK94I,UAAUvf,IAAIsf,KACvDrrB,KAAK+ulB,sBAAwBY,GACzB3vlB,KAAK0ulB,WAAa1ulB,KAAK4vlB,yBACtBD,GAAex3lB,SAAS,uBACrB6H,KAAK4vlB,wBACLxrb,GAAK94I,UAAUtD,OAAOhoB,KAAK4vlB,wBAE3B5vlB,KAAK0ulB,UACLtqb,GAAK94I,UAAUvf,IAAI/L,KAAK0ulB,UAE5B1ulB,KAAK4vlB,uBAAyB5vlB,KAAK0ulB,SAE3C,CAMAF,kBAAkBlhmB,IACd,MAAwB,iBAAVA,GAAqBA,GAAM4nB,OAAOiW,MAAM,KAAK,GAAK79B,EACpE,CAMA+hmB,yBAAyBx4lB,IACrB,MAAMmrK,GAAWhiK,KAAKmvlB,gCAClBntb,IACAA,GAAS52I,QAAQ,CAACjC,GAAO2G,MACrB3G,GAAMiC,QAAQo7H,KACV12H,GAAQ83I,aAAaphB,GAAKh5J,KAAM,QAAQqJ,MAAQ2vJ,GAAKl5J,UAAS,EACjE,EAGb,CAKAkimB,qCAAqC1/jB,IACjC,MAAM+/jB,GAAsB//jB,GAAQhI,iBAAiBimkB,IAC/C/rb,GAAYhiK,KAAKmvlB,gCACnBnvlB,KAAKmvlB,iCAAmC,IAAIlsjB,IAChD,QAASlb,GAAI,EAAGA,GAAI8nkB,GAAoBz9lB,OAAQ21B,KAC5C+lkB,GAAkB1ikB,QAAQo7H,KACtB,MAAMspc,GAAuBD,GAAoB9nkB,IAC3Cz6B,GAAQwimB,GAAqBxpc,aAAaE,IAC1C/oF,GAAQnwE,GAAQA,GAAMmwE,MAAMuwhB,IAAkB,KACpD,GAAIvwhB,GAAO,CACP,IAAI2uF,GAAa4V,GAASt5J,IAAIonlB,IACzB1jc,KACDA,GAAa,GACb4V,GAAS9+H,IAAI4sjB,GAAsB1jc,KAEvCA,GAAWtqH,KAAK,CAAEt0C,KAAMg5J,GAAMl5J,MAAOmwE,GAAM,IAC/C,GAGZ,CAEA2whB,eAAe2B,IAIX,GAHA/vlB,KAAKgwlB,cAAgB,KACrBhwlB,KAAKiwlB,SAAW,KAChBjwlB,KAAKgvlB,kBAAkB7glB,cACnB4hlB,GAAS,CACT,MAAOz4Z,GAAWiyZ,IAAYvplB,KAAKivlB,eAAec,IAC9Cz4Z,KACAt3L,KAAKgwlB,cAAgB14Z,IAErBiyZ,KACAvplB,KAAKiwlB,SAAW1G,IAEpBvplB,KAAKgvlB,kBAAoBhvlB,KAAK4ulB,cACzB7C,gBAAgBxC,GAAUjyZ,IAC1BzsL,QAAK2C,MAAK,IACVnB,UAAU8/I,IAAOnsJ,KAAKuvlB,eAAepjc,IAAOhjH,KAE7CnpC,KAAKgqlB,cAActrhB,YAAY,IAAI72B,MADd,yBAAyByvJ,MAAaiyZ,OAAapgjB,GAAIoB,WACtB,EAE9D,CACJ,QACSvqC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF0/kB,IA1WVhulB,MA0WmCA,OA1WnCA,MA0W6D4plB,IA1W7D5plB,MA0WyF,eA1WzFA,MA0WoI0tlB,IA1WpI1tlB,MA0WkKA,OA1WlKA,MA0W8LytlB,GAAwB,IAA8D,QAC3W1tlB,KAAK0oB,UA3WkFzoB,MAAE,CAAAgO,KA2WJgglB,GAAOt/kB,UAAA,eAAAga,UAAA,QAAoN,MAAK,4BAAAC,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,KA3W9N/O,MAAE,qBA2WJgP,GAAAqglB,iBAAmB,OAAS,MA3W1BrvlB,CA2W+B,qBAAAgP,GAAAghlB,UAAAhhlB,GAAAy/kB,SA3W/BzulB,CA2W+B,0BAAAgP,GAAA+glB,eAAA/glB,GAAAq/kB,QA3W/BrulB,CA2W+B,WAAjCgP,GAAAqglB,iBAAgBrglB,GAAAy/kB,SAAc,MA3W5BzulB,MAAEgP,GAAAo0M,MA2WI,OAAMp0M,GAAAo0M,MAAW,IA3WvBpjN,MAAE,kBAAAgP,GAAA6/kB,OAAF7ulB,CA2WK,oBAAG,YAAHgP,GAAAo0M,OAA0B,WAAdp0M,GAAAo0M,OAAoC,SAAdp0M,GAAAo0M,OAAlC,EAAA1tM,OAAA,CAAA0tM,MAAA,QAAAyrY,OAAA,CA3WL7ulB,MAAE6oB,2BAAA,kBA2WsGC,OAAgBmlkB,QAAA,UAAAI,QAAA,UAAAI,SAAA,YAAA1lkB,SAAA,YAAAC,YAAA,EAAAC,SAAA,CA3WxHjpB,aAAEmpB,mBAAAlX,GAAAtD,MAAA,EAAAC,KAAA,EAAAE,SAAA,SAAAC,GAAAC,IAAA,EAAAD,KAAF/O,cAAE,GA2W8vB,EAAA4wB,OAAA,u3BAAAtH,cAAA,EAAAC,gBAAA,GAAo/B,EACv1D,OAzPKykkB,EAAO,KA+RP/mlB,GAAa,MAAnB,MAAMA,UACOlH,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFrH,GAAa,CAAoD,QAClKlH,KAAKm4B,UApZkFl4B,KAAE,CAAAgO,KAoZS/G,IAA4F,QAC9LlH,KAAKo4B,UArZkFn4B,MAAE,CAAAq4B,QAAA,CAqZkCE,KAAiBA,OAAqB,EAC7K,OAJKtxB,EAAa,wFC38BnB,IAyYMgplB,EAAe,MAArB,MAAMA,UACOlwlB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF2hlB,GAAe,CAAoD,QACpKlwlB,KAAKm4B,UA5UkFl4B,KAAE,CAAAgO,KA4USiilB,IAA8G,QAChNlwlB,KAAKo4B,UA7UkFn4B,MAAE,GA6U6B,EAClI,OAJKiwlB,EAAe,+BCzXrB,MAAM9Q,GAA2B,IAAIv5jB,MAAe,4BAcpD,IAsaM7e,GAAc,MAApB,MAAMA,UACOhH,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFvH,GAAc,CAAoD,QACnKhH,KAAKm4B,UArFkFl4B,KAAE,CAAAgO,KAqFSjH,IAAwJ,QAC1PhH,KAAKo4B,UAtFkFn4B,MAAE,CAAAq4B,QAAA,CAsFmCE,KAAiB4wjB,KAAoBA,KAAoB8G,EAAiB13jB,OAAqB,EACvO,OAJKxxB,EAAc,oGC1cpB,MAAAkL,EAAA,gCAAAi+kB,EAAAnhlB,GAAAC,IA+F0pD,GA/F1pD,EAAAD,KA8FoG/O,cAAE,YAAFA,MAAE,eAAFA,SACsjD,EAAA+O,GAAA,OAAA4tjB,GADtjD38jB,cAAE,UAAA28jB,GAAAwzB,YAAFnwlB,cAAE,mBAAA28jB,GAAAyzB,uBAAA,KAAFpwlB,CACi4C,oBAAA28jB,GAAAyzB,uBAAA,OADj4CpwlB,CAC08C,eAAA28jB,GAAA0zB,qBAAA,KAD18CrwlB,MAAE,IAAA28jB,GAAA2zB,gBAAA,EA7FtG,MAAMC,EAAuC,IAAI3qkB,MAAe,uCAAwC,CACpGllB,WAAY,OACZF,QAGJ,SAASgwlB,IACL,MAAO,CAAEC,SAAUC,EACvB,IAIMA,EAAY,IAIW,IACvBC,EAAkB,MAAxB,MAAMA,GAGF,SAAIvtY,GACA,OAAOrjN,KAAKk6kB,QAAUl6kB,KAAKuuR,aAC/B,CACA,SAAIlrE,CAAM/1N,IACN0S,KAAKk6kB,OAAS5slB,EAClB,CACAmS,YAAYsmB,GAAaq2iB,GAAe77c,IACpCvgH,KAAK+lB,YAAcA,GACnB/lB,KAAKuuR,cAAgB,UACrBvuR,KAAK0iO,OAAS,EACd1iO,KAAK6wlB,UAAYF,EACjB3wlB,KAAK8wlB,gBACiB,mBAAlB10B,MAAwC77c,KAAaA,GAASwwe,iBAClE/wlB,KAAK68B,KACoD,gBAArD9W,GAAYsB,cAAcuhI,SAASt+J,cAC7B,gBACA,cACNi2H,KACIA,GAAS8iG,QACTrjN,KAAKqjN,MAAQrjN,KAAKuuR,cAAgBhuK,GAAS8iG,OAE3C9iG,GAASmwe,WACT1wlB,KAAK0wlB,SAAWnwe,GAASmwe,UAEzBnwe,GAASywe,cACThxlB,KAAKgxlB,YAAczwe,GAASywe,aAGxC,CAEA,SAAI1jmB,GACA,MAAqB,gBAAd0S,KAAK68B,KAAyB78B,KAAK0iO,OAAS,CACvD,CACA,SAAIp1O,CAAMykC,IACN/xB,KAAK0iO,OAASv1M,KAAKC,IAAI,EAAGD,KAAKE,IAAI,IAAK0E,IAAK,GACjD,CAEA,YAAI2+jB,GACA,OAAO1wlB,KAAK6wlB,SAChB,CACA,YAAIH,CAASp1f,IACTt7F,KAAK6wlB,UAAYv1f,IAAQ,CAC7B,CAEA,eAAI01f,GACA,OAAOhxlB,KAAKixlB,cAAgBjxlB,KAAK0wlB,SAAW,EAChD,CACA,eAAIM,CAAY1jmB,IACZ0S,KAAKixlB,aAAe3jmB,IAAS,CACjC,CAEAijmB,gBACI,OAAQvwlB,KAAK0wlB,SAxDK,IAwD2B,CACjD,CAEAN,WACI,MAAM7vY,GAAiC,EAAvBvgN,KAAKuwlB,gBAAsBvwlB,KAAKgxlB,YAChD,MAAO,OAAOzwY,MAAWA,IAC7B,CAEA8vY,uBACI,OAAO,EAAIljkB,KAAKo1O,GAAKviQ,KAAKuwlB,eAC9B,CAEAW,oBACI,MAAkB,gBAAdlxlB,KAAK68B,KACG78B,KAAKqwlB,wBAA0B,IAAMrwlB,KAAK0iO,QAAW,IAE1D,IACX,CAEA4tX,qBACI,OAAQtwlB,KAAKgxlB,YAAchxlB,KAAK0wlB,SAAY,GAChD,QACS1wlB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFqilB,IAAV3wlB,MAA8CA,OAA9CA,MAAwEs6L,MAAqB,GAA7Ft6L,MAA0HuwlB,GAAoC,CAA8C,QACnSxwlB,KAAK0oB,UADkFzoB,MAAE,CAAAgO,KACJ2ilB,GAAkBjilB,UAAA,2CAAA2hB,UAAA,SAAAthB,GAAAC,IADd,GACc,EAAAD,IADhB/O,MAAEiS,EAAA,KAAAlD,GAAA,KAAAohB,GAAFnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAAkilB,mBAAA/gkB,GAAA1B,MAAA,GAAA/F,UAAA,QAC0T,cAAa,WAAc,KAAI,sDAAAC,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,KAD3V/O,MAAE,gBACJ,EADEA,CACD,gBAAD,IADEA,CACC,gBAAM,gBAANgP,GAAA4tB,KAAmB5tB,GAAA3hB,MAAW,KAD/B2S,CACmC,OAAAgP,GAAA4tB,MADnC58B,MACF,OAAMgP,GAAAo0M,OADJpjN,MAAE,QAAAgP,GAAAyhlB,SAAA,KAAFzwlB,CACgB,SAAAgP,GAAAyhlB,SAAA,KADhBzwlB,CACgB,+BAAAgP,GAAAyhlB,SAAP,KADTzwlB,CACgB,iDAAAgP,GAAAyhlB,SAAP,MADTzwlB,MAAE,0BAAAgP,GAAA6hlB,gBAAF7wlB,CACgB,uCAAT,kBAASgP,GAAA4tB,MAAA,EAAAlnB,OAAA,CAAA0tM,MAAA,QAAAxmL,KAAA,OAAAvvC,MAAA,CADhB2S,MAAE6oB,2BAAA,gBACqJg4hB,OAAe4vC,SAAA,CADtKzwlB,MAAE6oB,2BAAA,sBAC0Mg4hB,OAAekwC,YAAA,CAD3N/wlB,MAAE6oB,2BAAA,4BACwQg4hB,QAAe93hB,SAAA,uBAAAC,YAAA,EAAAC,SAAA,CADzRjpB,aAAE2O,MAAA,GAAAC,KAAA,GAAAC,OAAA,0wBAAAC,SAAA,SAAAC,GAAAC,IAC6hG,GAD7hG,EAAAD,KAAF/O,MAAE,EAAAkwlB,EAAA,yBAAFlwlB,aAAE,aAAFA,cAAE,WAAFA,MAAE,cAAFA,wBAAE,UAAFA,CACq/E,UADr/EA,CAC6iF,WAD7iFA,MAAE,KAAFA,cAAE,YAAFA,MAAE,MAAFA,cAAE,aAAFA,MAAE,MAAFA,aAC+hG,EAAA+O,GAAA,OAAAoilB,GAD/hGnxlB,MAAE,GAAFA,MAAE,GAAFA,MAAE,UAAAgP,GAAAmhlB,YAAFnwlB,cAAE,mBAAAgP,GAAAohlB,uBAAA,KAAFpwlB,CACknE,oBAAAgP,GAAAiilB,oBAAA,KADlnEjxlB,CACorE,eAAAgP,GAAAqhlB,qBAAA,KADprErwlB,MAAE,IAAAgP,GAAAshlB,iBAAFtwlB,MAAE,GAAFA,MAAE,mBAAAmxlB,IAAFnxlB,MAAE,GAAFA,MAAE,mBAAAmxlB,IAAFnxlB,MAAE,GAAFA,MAAE,mBAAAmxlB,GAC++F,GAAA/nkB,aAAA,CAA0nOyld,MAAgBj+c,OAAA,ohOAAAtH,cAAA,EAAAC,gBAAA,GAA2N,EACz7U,OA/EKonkB,EAAkB,KAqIlB/4kB,GAAwB,MAA9B,MAAMA,UACO7X,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFsJ,GAAwB,CAAoD,QAC7K7X,KAAKm4B,UA1DkFl4B,KAAE,CAAAgO,KA0DS4J,IAAkJ,QACpP7X,KAAKo4B,UA3DkFn4B,MAAE,CAAAq4B,QAAA,CA2D6C5xB,KAAc8xB,OAAqB,EACrL,OAJK3gB,EAAwB,gUCpI9B,MAAA3F,GAAA,YAAA7B,GAAA,UAAAsB,GAAA,+BAAAoT,GAAA,oCAAAsskB,GAAArilB,GAAAC,IA2gCu7B,GA3gCv7B,EAAAD,KAugCoG/O,MAAE,YAAFA,MAAE,GAAFA,SAIm1B,EAAA+O,GAAA,OAAA3H,GAJn1BpH,sBAAEoH,GAAA0wJ,YAI00B,WAAAu5b,GAAAtilB,GAAAC,IAAA,EAAAD,IAJ50B/O,MAAE,EAIo/B,UAAAsxlB,GAAAvilB,GAAAC,IAA8F,GAA9F,EAAAD,KAJt/B/O,MAAE,aAAFA,MAAE,GAAFA,SAIolC,EAAA+O,GAAA,OAAA3H,GAJplCpH,MAAE,GAAFA,cAAEoH,GAAAmqlB,aAI2kC,WAAAC,GAAAzilB,GAAAC,IAAiC,GAAjC,EAAAD,KAJ7kC/O,MAAE,aAAFA,MAAE,EAAAqxlB,GAAA,IAAFrxlB,CAIm7B,EAAAsxlB,GAAA,KAJn7BtxlB,SAI8mC,EAAA+O,GAAA,OAAA3H,GAJ9mCpH,sBAAE,EAAAoH,GAAAqqlB,cAAA,IAI6lC,WAAAC,GAAA3ilB,GAAAC,IAAA,KAAAD,GAAA,OAAAkC,GAJ/lCjR,cAAE,cAAFA,MAAE,gCAAAmI,IAAFnI,MAAEiR,IAAA,MAAA7J,GAAFpH,QAAE,OAAFA,MAI0hFoH,GAAAuqlB,0BAAAjllB,KAAAvE,GAAAynB,SAA8C,EAJxkF5vB,CAI0kF,mBAAAmI,IAJ1kFnI,MAAEiR,IAAA,MAAA7J,GAAFpH,QAAE,OAAFA,MAI4lFoH,GAAA4d,eAAA7c,IAAsB,GAJlnFnI,MAAE,KAAFA,OAI8pF,MAAA+O,GAAA,OAAA3H,GAJ9pFpH,cAAE,gEAAAoH,GAAAwqlB,iBAAA,IAAF5xlB,MAAE,UAAAoH,GAAAyjB,WAAF7qB,CAIs9E,6BAJt9EA,MAAE,KAAAoH,GAAA7e,GAAA,SAAFyX,CAAE,uBAAAoH,GAAA4gR,SAAFhoR,CAAE,aAAAoH,GAAAoe,WAAA,KAAFxlB,CAAE,kBAAAoH,GAAAyqlB,0BAAA,EAhgCtG,MAAMC,GAAsB,CAMxBC,oBAAoBpokB,SAAQ,qBAAsB,EAC9CI,SAAW,aAAa7S,QAAM,kBAAmB,EAAC42b,YAAiB,CAAEj1Z,UAAU,OAGnF4+hB,gBAAgB9tjB,SAAQ,iBAAkB,EACtC5gC,SAAM,QAAQ6gC,SAAM,CAChBC,QAAS,EACTC,UAAW,oBAEfC,SAAW,mBAAmBC,SAAQ,oCAAoCJ,SAAM,CAC5EC,QAAS,EACTC,UAAW,mBAEfC,SAAW,aAAaC,SAAQ,gBAAgBJ,SAAM,CAAEC,QAAS,SAgCzE,IAAIsrc,GAAe,EAEnB,MAAM68H,GAA6B,IAAIpskB,MAAe,6BAA8B,CAChFllB,WAAY,OACZF,QAASA,KACL,MAAMuwB,MAAUC,OAAOC,MACvB,MAAO,IAAMF,GAAQG,iBAAiBC,YAAW,IAQnD8gkB,GAAoB,IAAIrskB,MAAe,qBAEvCsskB,GAAsC,CACxCxhkB,QAASshkB,GACT3gkB,KAAM,CAACJ,MACPK,WATJ,SAAS6gkB,GAA4CphkB,IACjD,MAAO,IAAMA,GAAQG,iBAAiBC,YAC1C,GAcMihkB,GAAqB,IAAIxskB,MAAe,oBAE9C,MAAMyskB,GACF7ylB,YAEAq0C,GAEAxmD,IACI0S,KAAK8zC,OAASA,GACd9zC,KAAK1S,MAAQA,EACjB,EACH,IACKilmB,GAAS,MAAf,MAAMA,GAEFC,sBAAsBn6kB,IAClB,MAAMshQ,GAAS35Q,KAAK4mB,QAAQsG,UAAU7U,IACtC,GAAIshQ,GAAQ,CACR,MAAM84U,GAAQzylB,KAAKyylB,MAAMprkB,cACnBqrkB,MAAahuB,MAA8BrsjB,GAAOrY,KAAK4mB,QAAS5mB,KAAK4kkB,cACrE90iB,GAAU6pP,GAAO7yP,kBAKnB2rkB,GAAM1ikB,UAJI,IAAV1X,IAA8B,IAAfq6kB,GAIG,GAGZ3ikB,EAAYg1iB,MAAyBj1iB,GAAQgH,UAAWhH,GAAQmnb,aAAcw7I,GAAM1ikB,UAAW0ikB,GAAMx7I,aAEnH,CACJ,CAEA07I,sBACI3ylB,KAAKwylB,sBAAsBxylB,KAAKosB,YAAYkB,iBAAmB,EACnE,CAEAslkB,gBAAgBtlmB,IACZ,OAAO,IAAIglmB,GAAgBtylB,KAAM1S,GACrC,CAEA,WAAIo3R,GACA,OAAO1kR,KAAKumB,UAAYvmB,KAAK6ylB,UACjC,CAEA,gCAAI3uB,GACA,OAAOlkkB,KAAK8ylB,6BAChB,CACA,gCAAI5uB,CAA6B52kB,IAC7B0S,KAAK8ylB,8BAAgCxlmB,GACrC0S,KAAK+ylB,uBACT,CAEA,eAAIh7b,GACA,OAAO/3J,KAAKgzlB,YAChB,CACA,eAAIj7b,CAAYzqK,IACZ0S,KAAKgzlB,aAAe1lmB,GACpB0S,KAAKs1kB,aAAa3okB,MACtB,CAEA,YAAIxB,GACA,OAAOnL,KAAKizlB,WAAajzlB,KAAKu9jB,WAAW9Y,SAASuC,aAAa97iB,MAAWC,YAAa,CAC3F,CACA,YAAIA,CAAS7d,IACT0S,KAAKizlB,UAAY3lmB,GACjB0S,KAAKs1kB,aAAa3okB,MACtB,CAEA,YAAIs7Q,GACA,OAAOjoR,KAAKyjd,SAChB,CACA,YAAIx7L,CAAS36R,IAIT0S,KAAKyjd,UAAYn2d,EACrB,CAMA,eAAIs2d,GACA,OAAO5jd,KAAKkzlB,YAChB,CACA,eAAItvI,CAAYjnc,IAIZ3c,KAAKkzlB,aAAev2kB,GAChB3c,KAAKmzlB,iBAELnzlB,KAAKozlB,sBAEb,CAEA,SAAI9lmB,GACA,OAAO0S,KAAK0iO,MAChB,CACA,SAAIp1O,CAAMo6F,IACc1nF,KAAKg9kB,aAAat1f,KAElC1nF,KAAKwxjB,UAAU9pe,GAEvB,CAEA,qBAAI2rgB,GACA,OAAOrzlB,KAAKszlB,mBAAmBxpK,OACnC,CACA,qBAAIupK,CAAkB/lmB,IAClB0S,KAAKszlB,mBAAmBxpK,QAAUx8b,EACtC,CAEA,MAAI9E,GACA,OAAOwX,KAAKoyG,GAChB,CACA,MAAI5pH,CAAG8E,IACH0S,KAAKoyG,IAAM9kH,IAAS0S,KAAKyuT,KACzBzuT,KAAKs1kB,aAAa3okB,MACtB,CAEA,cAAIgxjB,GACA,OAAO39jB,KAAKszlB,mBAAmB31B,UACnC,CACA,cAAIA,CAAWrwkB,IACX0S,KAAKszlB,mBAAmB31B,WAAarwkB,EACzC,CACAmS,YAAY6ld,GAAgBn/b,GAK5BotkB,GAAeC,GAA0BztkB,GAAa2M,GAAM+gkB,GAAYC,GAAiBC,GAAkBp2B,GAAWn3W,GAAUswQ,GAAuBk9H,GAAgB72I,IACnK/8c,KAAKsld,eAAiBA,GACtBtld,KAAKmmB,mBAAqBA,GAC1BnmB,KAAK+lB,YAAcA,GACnB/lB,KAAK0yB,KAAOA,GACZ1yB,KAAK2zlB,iBAAmBA,GACxB3zlB,KAAKu9jB,UAAYA,GACjBv9jB,KAAK4zlB,eAAiBA,GACtB5zlB,KAAK+8c,gBAAkBA,GAOvB/8c,KAAK6zlB,WAAa,CACd,CACIx9jB,QAAS,QACTG,QAAS,SACTN,SAAU,QACVC,SAAU,OAEd,CACIE,QAAS,MACTG,QAAS,SACTN,SAAU,MACVC,SAAU,OAEd,CACIE,QAAS,QACTG,QAAS,MACTN,SAAU,QACVC,SAAU,SACVrL,WAAY,8BAEhB,CACIuL,QAAS,MACTG,QAAS,MACTN,SAAU,MACVC,SAAU,SACVrL,WAAY,+BAIpB9qB,KAAK6ylB,YAAa,EAElB7ylB,KAAKkzlB,aAAe,CAACY,GAAIC,KAAOD,KAAOC,GAEvC/zlB,KAAKyuT,KAAO,cAAc2mK,KAE1Bp1d,KAAKg0lB,uBAAyB,KAE9Bh0lB,KAAK0xQ,SAAW,IAAIprP,KAMpBtmB,KAAKs1kB,aAAe,IAAIhvjB,KAKxBtmB,KAAKi0lB,0BAA2B,EAEhCj0lB,KAAKwxjB,UAAY,OAEjBxxjB,KAAKq9kB,WAAa,OAElBr9kB,KAAKk0lB,SAAW,oBAAoB9+H,KAEpCp1d,KAAK4xlB,0BAA4B,IAAItrkB,KACrCtmB,KAAKm0lB,mBAAqBn0lB,KAAK+8c,iBAAiB/wb,mBAAqB,GACrEhsB,KAAKumB,UAAW,EAEhBvmB,KAAKo0lB,YAAc,aAEnBp0lB,KAAK+Z,UAAW,EAEhB/Z,KAAKomB,eAAgB,EAErBpmB,KAAKomN,SAAW,EAChBpmN,KAAK8ylB,8BAAgC9ylB,KAAK+8c,iBAAiBmnH,+BAAgC,EAC3FlkkB,KAAKyjd,WAAY,EAEjBzjd,KAAKq0lB,uBAAyBr0lB,KAAK+8c,iBAAiBs3I,yBAA0B,EAE9Er0lB,KAAKylB,UAAY,GAKjBzlB,KAAKs0lB,WAAat0lB,KAAK+8c,wBAA0B/8c,KAAK+8c,gBAAgBu3I,WAAe,IAC/Et0lB,KAAK+8c,gBAAgBu3I,WACrB,OACNt0lB,KAAK40L,aAAe,IAAItuK,KAExBtmB,KAAKu0lB,0BAAyB5oQ,MAAM,KAChC,MAAM/kU,GAAU5mB,KAAK4mB,QACrB,OAAIA,GACOA,GAAQ8F,QAAQ7hB,QAAK8hB,MAAU/F,KAAO,EAAGgG,MAAU,OAAMhf,SAASgZ,GAAQ/4B,IAAI8rR,IAAUA,GAAOyqT,sBAEnGpkkB,KAAK40L,aAAa/pL,QAAK+hB,MAAU,IAAM5sB,KAAKu0lB,wBAAuB,GAG9Ev0lB,KAAKw0lB,aAAe,IAAI1okB,MAExB9rB,KAAKy0lB,cAAgBz0lB,KAAKw0lB,aAAa3plB,QAAKnd,MAAOopF,IAAKA,KAAC,EAAGjpF,MAAI,SAEhEmS,KAAK00lB,cAAgB10lB,KAAKw0lB,aAAa3plB,QAAKnd,MAAOopF,KAAMA,KAAC,EAAGjpF,MAAI,SAEjEmS,KAAK20lB,gBAAkB,IAAI7okB,MAM3B9rB,KAAK40lB,YAAc,IAAI9okB,MAMvB9rB,KAAK60lB,cAAgB,KAerB70lB,KAAK80lB,eAAkBn7U,KACf35Q,KAAK+0lB,WAOFp7U,GAAO5/P,SAEd/Z,KAAKu9jB,YAGLv9jB,KAAKu9jB,UAAUlV,cAAgBrojB,MAIe,MAA9C+8c,IAAiBi4I,4BACjBh1lB,KAAKg1lB,0BAA4Bj4I,GAAgBi4I,2BAErDh1lB,KAAKszlB,mBAAqB,IAAIj2B,KAAmBm2B,GAA0Bj2B,GAAWm2B,GAAiBD,GAAYzzlB,KAAKs1kB,cACxHt1kB,KAAKq3d,uBAAyBX,GAC9B12d,KAAKyzB,gBAAkBzzB,KAAKq3d,yBAC5Br3d,KAAKomN,SAAW75H,SAAS65H,KAAa,EAEtCpmN,KAAKxX,GAAKwX,KAAKxX,EACnB,CACAqjB,WACI7L,KAAKmzlB,gBAAkB,IAAI5vI,KAAevjd,KAAKioR,UAC/CjoR,KAAKs1kB,aAAa3okB,OAIlB3M,KAAK4xlB,0BACA/mlB,QAAK46b,SAAqB,EAAG5wa,MAAU70B,KAAK0xQ,WAC5CrlQ,UAAU,IAAMrM,KAAKi1lB,oBAAoBj1lB,KAAK+0lB,YACnD/0lB,KAAKsld,eACAtvb,SACAnrB,QAAKgqB,MAAU70B,KAAK0xQ,WACpBrlQ,UAAU,KACPrM,KAAK+0lB,YACL/0lB,KAAKk1lB,cAAgBl1lB,KAAKm1lB,iBAAiBn1lB,KAAKo1lB,yBAChDp1lB,KAAKmmB,mBAAmBzJ,gBAAc,EAGlD,CACAwP,qBACIlsB,KAAK40L,aAAajoL,OAClB3M,KAAK40L,aAAaztK,WAClBnnB,KAAKq1lB,kBACLr1lB,KAAKmzlB,gBAAgBpvI,QAAQl5c,QAAKgqB,MAAU70B,KAAK0xQ,WAAWrlQ,UAAUb,KAClEA,GAAMg5F,MAAMp5E,QAAQuuP,IAAUA,GAAO7uQ,UACrCU,GAAM0yH,QAAQ9yG,QAAQuuP,IAAUA,GAAOyqM,WAAU,GAErDpkd,KAAK4mB,QAAQ8F,QAAQ7hB,QAAK8hB,MAAU,OAAI,EAAGkI,MAAU70B,KAAK0xQ,WAAWrlQ,UAAU,KAC3ErM,KAAKs1lB,gBACLt1lB,KAAKozlB,sBAAqB,EAElC,CACAz4I,YACI,MAAM46I,GAAoBv1lB,KAAKw1lB,4BACzBj4B,GAAYv9jB,KAAKu9jB,UAIvB,GAAIg4B,KAAsBv1lB,KAAKg0lB,uBAAwB,CACnD,MAAMlkkB,GAAU9vB,KAAK+lB,YAAYsB,cACjCrnB,KAAKg0lB,uBAAyBuB,GAC1BA,GACAzlkB,GAAQ83I,aAAa,kBAAmB2tb,IAGxCzlkB,GAAQ8zC,gBAAgB,kBAEhC,CACI25f,KAEIv9jB,KAAKy1lB,mBAAqBl4B,GAAU9Y,eACNp2jB,IAA1B2R,KAAKy1lB,kBACkB,OAAvBl4B,GAAUxjjB,UACVwjjB,GAAUxjjB,WAAa/Z,KAAK+Z,WAC5B/Z,KAAK+Z,SAAWwjjB,GAAUxjjB,UAE9B/Z,KAAKy1lB,iBAAmBl4B,GAAU9Y,SAEtCzkjB,KAAK49jB,mBAEb,CACAhjH,YAAYlub,KAGJA,GAAQ3S,UAAe2S,GAAQgpkB,sBAC/B11lB,KAAKs1kB,aAAa3okB,OAElB+f,GAAQsokB,2BAAgCh1lB,KAAKosB,aAC7CpsB,KAAKosB,YAAYG,cAAcvsB,KAAKg1lB,0BAE5C,CACA9mlB,cACIlO,KAAKosB,aAAaqB,UAClBztB,KAAK0xQ,SAAS/kQ,OACd3M,KAAK0xQ,SAASvqP,WACdnnB,KAAKs1kB,aAAanujB,WAClBnnB,KAAK21lB,iBACT,CAEAjiY,SACI1zN,KAAK+0lB,UAAY/0lB,KAAK+rB,QAAU/rB,KAAKwpD,MACzC,CAEAA,OACSxpD,KAAK41lB,aAMN51lB,KAAK2zlB,mBACL3zlB,KAAKo1lB,wBAA0Bp1lB,KAAK2zlB,iBAAiBhY,6BAEzD37kB,KAAKk1lB,cAAgBl1lB,KAAKm1lB,iBAAiBn1lB,KAAKo1lB,yBAChDp1lB,KAAK61lB,4BACL71lB,KAAK6ylB,YAAa,EAClB7ylB,KAAKosB,YAAY0ob,0BAA0B,MAC3C90c,KAAK81lB,0BACL91lB,KAAKmmB,mBAAmBiC,eAExBpoB,KAAKs1kB,aAAa3okB,OACtB,CAoBAkplB,4BAOI,MAAMh4I,GAAQ79c,KAAK+lB,YAAYsB,cAAcsH,QAAQ,qDACrD,IAAKkvb,GAED,OAEJ,MAAMt4b,GAAU,GAAGvlB,KAAKxX,WACpBwX,KAAK60lB,kBACLtjJ,MAAuBvxc,KAAK60lB,cAAe,YAAatvkB,KAAO,EAEnE6rb,MAAoByM,GAAO,YAAat4b,IACxCvlB,KAAK60lB,cAAgBh3I,EACzB,CAEA83I,kBACS31lB,KAAK60lB,iBAKVtjJ,QAAuBvxc,KAAK60lB,cAAe,YAD3B,GAAG70lB,KAAKxX,YAExBwX,KAAK60lB,cAAgB,KACzB,CAEA9okB,QACQ/rB,KAAK6ylB,aACL7ylB,KAAK6ylB,YAAa,EAClB7ylB,KAAKosB,YAAY0ob,0BAA0B90c,KAAKowd,SAAW,MAAQ,OACnEpwd,KAAKmmB,mBAAmBiC,eACxBpoB,KAAKq9kB,aAELr9kB,KAAKs1kB,aAAa3okB,OAE1B,CAOA42iB,WAAWj2jB,IACP0S,KAAKg9kB,aAAa1vlB,GACtB,CAQA01jB,iBAAiBrmiB,IACb3c,KAAKwxjB,UAAY70iB,EACrB,CAQAomiB,kBAAkBpmiB,IACd3c,KAAKq9kB,WAAa1gkB,EACtB,CAOAsmiB,iBAAiBl3a,IACb/rI,KAAK+Z,SAAWgyH,GAChB/rI,KAAKmmB,mBAAmBiC,eACxBpoB,KAAKs1kB,aAAa3okB,MACtB,CAEA,aAAIoolB,GACA,OAAO/0lB,KAAK6ylB,UAChB,CAEA,YAAIj5U,GACA,OAAO55Q,KAAKioR,SAAWjoR,KAAKmzlB,iBAAiBv5U,UAAY,GAAK55Q,KAAKmzlB,iBAAiBv5U,SAAS,EACjG,CAEA,gBAAI43U,GACA,GAAIxxlB,KAAK60N,MACL,MAAO,GAEX,GAAI70N,KAAKyjd,UAAW,CAChB,MAAMsyI,GAAkB/1lB,KAAKmzlB,gBAAgBv5U,SAAS/rR,IAAI8rR,IAAUA,GAAO0qT,WAC3E,OAAIrkkB,KAAKowd,UACL2lI,GAAgB9nhB,UAGb8nhB,GAAgBrqjB,KAAK,KAChC,CACA,OAAO1rC,KAAKmzlB,gBAAgBv5U,SAAS,GAAGyqT,SAC5C,CAEAzG,mBACI59jB,KAAKszlB,mBAAmB11B,kBAC5B,CAEAxtG,SACI,QAAOpwd,KAAK0yB,MAA2B,QAApB1yB,KAAK0yB,KAAKplC,KACjC,CAEA23B,eAAezZ,IACNxL,KAAK+Z,WACN/Z,KAAK+0lB,UAAY/0lB,KAAKg2lB,mBAAmBxqlB,IAASxL,KAAKi2lB,qBAAqBzqlB,IAEpF,CAEAyqlB,qBAAqBzqlB,IACjB,MAAMoiB,GAAUpiB,GAAMoiB,QAChBsokB,GAAatokB,KAAYQ,MAC3BR,KAAYO,MACZP,KAAYG,MACZH,KAAYM,KACViokB,GAAYvokB,KAAY6J,MAAS7J,KAAY8J,KAC7C1K,GAAUhtB,KAAKosB,YAErB,IAAMY,GAAQopb,YAAc+/I,MAAa,EAACrokB,MAAetiB,MACnDxL,KAAKioR,UAAYz8Q,GAAMmgN,SAAWuqY,GACpC1qlB,GAAM+b,iBACNvnB,KAAKwpD,YAAK,IAEJxpD,KAAKioR,SAAU,CACrB,MAAMmuU,GAA2Bp2lB,KAAK45Q,SACtC5sP,GAAQsB,UAAU9iB,IAClB,MAAM6qlB,GAAiBr2lB,KAAK45Q,SAExBy8U,IAAkBD,KAA6BC,IAG/Cr2lB,KAAK4zlB,eAAe12I,SAASm5I,GAAehyB,UAAW,IAE/D,CACJ,CAEA2xB,mBAAmBxqlB,IACf,MAAMwhB,GAAUhtB,KAAKosB,YACfwB,GAAUpiB,GAAMoiB,QAChBsokB,GAAatokB,KAAYQ,MAAcR,KAAYO,KACnDiob,GAAWppb,GAAQopb,WACzB,GAAI8/I,IAAc1qlB,GAAMmgN,OAEpBngN,GAAM+b,iBACNvnB,KAAK+rB,aAAM,GAILqqb,IACLxob,KAAY6J,MAAS7J,KAAY8J,OAClC1K,GAAQC,aACR,EAACa,MAAetiB,IAEyB,IAEnC4qc,IAAYp2c,KAAKyjd,WAAa71b,KAAY6qU,KAAKjtV,GAAMogN,QAAS,CACpEpgN,GAAM+b,iBACN,MAAM+ukB,GAAuBt2lB,KAAK4mB,QAAQp1B,KAAKgwT,KAAQA,GAAIznS,WAAaynS,GAAI5nC,UAC5E55Q,KAAK4mB,QAAQwE,QAAQuuP,KACZA,GAAO5/P,WACRu8kB,GAAuB38U,GAAO7uQ,SAAW6uQ,GAAOyqM,WAAS,EAGrE,KACK,CACD,MAAMmyI,GAAyBvpkB,GAAQM,gBACvCN,GAAQsB,UAAU9iB,IACdxL,KAAKyjd,WACLyyI,IACA1qlB,GAAMsgN,UACN9+L,GAAQC,YACRD,GAAQM,kBAAoBipkB,IAC5BvpkB,GAAQC,WAAWu3iB,uBAE3B,MAtBIh5jB,GAAM+b,iBACNyF,GAAQC,WAAWu3iB,uBAsB3B,CACAzlH,WACS/+c,KAAK+Z,WACN/Z,KAAKumB,UAAW,EAChBvmB,KAAKs1kB,aAAa3okB,OAE1B,CAKAqyc,UACIh/c,KAAKumB,UAAW,EAChBvmB,KAAKosB,aAAa+ob,mBACbn1c,KAAK+Z,WAAa/Z,KAAK+0lB,YACxB/0lB,KAAKq9kB,aACLr9kB,KAAKmmB,mBAAmBiC,eACxBpoB,KAAKs1kB,aAAa3okB,OAE1B,CAIA6plB,cACIx2lB,KAAKy2lB,YAAYx/H,eAAepsd,QAAK2C,MAAK,IAAInB,UAAU,KACpDrM,KAAKmmB,mBAAmBzJ,gBACxB1c,KAAK2ylB,qBAAoB,EAEjC,CAEAd,iBACI,OAAO7xlB,KAAK2zlB,iBAAmB,OAAO3zlB,KAAK2zlB,iBAAiBtwY,QAAU,EAC1E,CAEA,SAAIwR,GACA,OAAQ70N,KAAKmzlB,iBAAmBnzlB,KAAKmzlB,gBAAgBj7a,SACzD,CACAk7a,uBAGI9+iB,QAAQC,UAAUge,KAAK,KACfvyD,KAAKu9jB,YACLv9jB,KAAK0iO,OAAS1iO,KAAKu9jB,UAAUjwkB,OAEjC0S,KAAK02lB,qBAAqB12lB,KAAK0iO,QAC/B1iO,KAAKs1kB,aAAa3okB,MAAK,EAE/B,CAKA+plB,qBAAqBppmB,IAGjB,GAFA0S,KAAK4mB,QAAQwE,QAAQuuP,IAAUA,GAAOi9L,qBACtC52c,KAAKmzlB,gBAAgBp+iB,QACjB/0C,KAAKioR,UAAY36R,GACZgE,MAAMC,QAAQjE,IAGnBA,GAAM89B,QAASuoc,IAAiB3zd,KAAK22lB,qBAAqBhjI,KAC1D3zd,KAAK42lB,kBAEJ,CACD,MAAMC,GAAsB72lB,KAAK22lB,qBAAqBrpmB,IAGlDupmB,GACA72lB,KAAKosB,YAAYU,iBAAiB+pkB,IAE5B72lB,KAAK+0lB,WAGX/0lB,KAAKosB,YAAYU,kBAAiB,EAE1C,CACA9sB,KAAKmmB,mBAAmBiC,cAC5B,CAKAuukB,qBAAqBrpmB,IACjB,MAAMupmB,GAAsB72lB,KAAK4mB,QAAQzxB,KAAMwkR,KAG3C,GAAI35Q,KAAKmzlB,gBAAgBv4X,WAAW++C,IAChC,OAAO,EAEX,IAEI,OAAuB,MAAhBA,GAAOrsR,OAAiB0S,KAAKkzlB,aAAav5U,GAAOrsR,MAAOA,GACnE,OAMI,OAAO,CACX,IAEJ,OAAIupmB,IACA72lB,KAAKmzlB,gBAAgBrolB,OAAO+rlB,IAEzBA,EACX,CAEA7Z,aAAat1f,IAET,SAAIA,KAAa1nF,KAAK0iO,QAAW1iO,KAAKyjd,WAAanyd,MAAMC,QAAQm2F,OACzD1nF,KAAK4mB,SACL5mB,KAAK02lB,qBAAqBhvgB,IAE9B1nF,KAAK0iO,OAASh7I,IACP,EAGf,CAEAytgB,iBAAiB2B,IACb,MAAwB,SAApB92lB,KAAKs0lB,YACgBwC,cAA2B1gI,KAC1C0gI,GAAgBzgI,WAChBygI,IAAmB92lB,KAAK+lB,aACVsB,cAAc4mI,wBAAwBt+G,MAEnC,OAApB3vC,KAAKs0lB,WAAsB,GAAKt0lB,KAAKs0lB,UAChD,CAEAvB,wBACI,GAAI/ylB,KAAK4mB,QACL,UAAW+yP,MAAU35Q,KAAK4mB,QACtB+yP,GAAOxzP,mBAAmBiC,cAGtC,CAEAitkB,kBACIr1lB,KAAKosB,YAAc,IAAIuqb,KAA2B32c,KAAK4mB,SAClD2F,cAAcvsB,KAAKg1lB,2BACnBngJ,0BACAC,0BAA0B90c,KAAKowd,SAAW,MAAQ,OAClD5jc,iBACA4ob,iBACAJ,wBAAwB,CAAC,aACzBL,cAAc30c,KAAK80lB,gBACxB90lB,KAAKosB,YAAYK,OAAOpgB,UAAU,KAC1BrM,KAAK+0lB,aAGA/0lB,KAAKioR,UAAYjoR,KAAKosB,YAAYa,YACnCjtB,KAAKosB,YAAYa,WAAWu3iB,wBAIhCxkkB,KAAKmN,QACLnN,KAAK+rB,QAAM,GAGnB/rB,KAAKosB,YAAY4J,OAAO3pB,UAAU,KAC1BrM,KAAK6ylB,YAAc7ylB,KAAKyylB,MACxBzylB,KAAKwylB,sBAAsBxylB,KAAKosB,YAAYkB,iBAAmB,IAEzDttB,KAAK6ylB,aAAe7ylB,KAAKioR,UAAYjoR,KAAKosB,YAAYa,YAC5DjtB,KAAKosB,YAAYa,WAAWu3iB,uBAAsB,EAG9D,CAEA8wB,gBACI,MAAMyB,MAAqBnplB,MAAM5N,KAAK4mB,QAAQ8F,QAAS1sB,KAAK0xQ,UAC5D1xQ,KAAKu0lB,uBAAuB1plB,QAAKgqB,MAAUkikB,KAAqB1qlB,UAAUb,KACtExL,KAAKg3lB,UAAUxrlB,GAAMsoC,OAAQtoC,GAAMw4jB,aAC/Bx4jB,GAAMw4jB,cAAgBhkkB,KAAKioR,UAAYjoR,KAAK6ylB,aAC5C7ylB,KAAK+rB,QACL/rB,KAAKmN,QAAM,IAElB,EAGDS,SAAS5N,KAAK4mB,QAAQ/4B,IAAI8rR,IAAUA,GAAO+jT,gBACtC7yjB,QAAKgqB,MAAUkikB,KACf1qlB,UAAU,KAIXrM,KAAKmmB,mBAAmBzJ,gBACxB1c,KAAKs1kB,aAAa3okB,MAAK,EAE/B,CAEAqqlB,UAAUr9U,GAAQqqT,IACd,MAAMizB,GAAcj3lB,KAAKmzlB,gBAAgBv4X,WAAW++C,IAChC,MAAhBA,GAAOrsR,OAAkB0S,KAAKyjd,WAQ1BwzI,KAAgBt9U,GAAOC,WACvBD,GAAOC,SACD55Q,KAAKmzlB,gBAAgBrolB,OAAO6uQ,IAC5B35Q,KAAKmzlB,gBAAgB/uI,SAASzqM,KAEpCqqT,IACAhkkB,KAAKosB,YAAYmB,cAAcosP,IAE/B35Q,KAAKioR,WACLjoR,KAAK42lB,cACD5yB,IAKAhkkB,KAAKmN,WAtBbwsQ,GAAOyqM,WACPpkd,KAAKmzlB,gBAAgBp+iB,QACH,MAAd/0C,KAAK1S,OACL0S,KAAKk3lB,kBAAkBv9U,GAAOrsR,QAuBlC2pmB,KAAgBj3lB,KAAKmzlB,gBAAgBv4X,WAAW++C,KAChD35Q,KAAKk3lB,oBAETl3lB,KAAKs1kB,aAAa3okB,MACtB,CAEAiqlB,cACI,GAAI52lB,KAAKioR,SAAU,CACf,MAAMrhQ,GAAU5mB,KAAK4mB,QAAQsG,UAC7BltB,KAAKmzlB,gBAAgBj5hB,KAAK,CAAC1hE,GAAG2hE,KACnBn6D,KAAKm3lB,eACNn3lB,KAAKm3lB,eAAe3+lB,GAAG2hE,GAAGvzC,IAC1BA,GAAQ/0B,QAAQ2G,IAAKouB,GAAQ/0B,QAAQsoE,KAE/Cn6D,KAAKs1kB,aAAa3okB,MACtB,CACJ,CAEAuqlB,kBAAkBp0I,IACd,IAAIs0I,GAEAA,GADAp3lB,KAAKioR,SACSjoR,KAAK45Q,SAAS/rR,IAAI8rR,IAAUA,GAAOrsR,OAGnC0S,KAAK45Q,SAAW55Q,KAAK45Q,SAAStsR,MAAQw1d,GAExD9id,KAAK0iO,OAAS00X,GACdp3lB,KAAK40lB,YAAYzvkB,KAAKiykB,IACtBp3lB,KAAKwxjB,UAAU4lC,IACfp3lB,KAAK20lB,gBAAgBxvkB,KAAKnlB,KAAK4ylB,gBAAgBwE,KAC/Cp3lB,KAAKmmB,mBAAmBiC,cAC5B,CAKA0tkB,0BACI,GAAI91lB,KAAKosB,YACL,GAAIpsB,KAAK60N,MAAO,CAIZ,IAAIwiY,IAA0B,EAC9B,QAASh/kB,GAAQ,EAAGA,GAAQrY,KAAK4mB,QAAQx0B,OAAQimB,KAE7C,IADerY,KAAK4mB,QAAQle,IAAI2P,IACpB0B,SAAU,CAClBs9kB,GAA0Bh/kB,GAC1B,KACJ,CAEJrY,KAAKosB,YAAYmB,cAAc8pkB,GACnC,MAEIr3lB,KAAKosB,YAAYmB,cAAcvtB,KAAKmzlB,gBAAgBv5U,SAAS,GAGzE,CAEAg8U,WACI,OAAQ51lB,KAAK6ylB,aAAe7ylB,KAAK+Z,UAAY/Z,KAAK4mB,SAASx0B,OAAS,CACxE,CAEA+a,MAAMyZ,IACF5mB,KAAK+lB,YAAYsB,cAAcla,MAAMyZ,GACzC,CAEAkrkB,0BACI,GAAI9xlB,KAAKylB,UACL,OAAO,KAEX,MAAM6xkB,GAAUt3lB,KAAK2zlB,kBAAkB1U,aAEvC,OAAOj/kB,KAAK0lB,gBADY4xkB,GAAUA,GAAU,IAAM,IACHt3lB,KAAK0lB,eAAiB4xkB,EACzE,CAEAC,2BACI,OAAIv3lB,KAAK+0lB,WAAa/0lB,KAAKosB,aAAepsB,KAAKosB,YAAYa,WAChDjtB,KAAKosB,YAAYa,WAAWzkC,GAEhC,IACX,CAEAgtmB,4BACI,GAAIx1lB,KAAKylB,UACL,OAAO,KAEX,MAAM6xkB,GAAUt3lB,KAAK2zlB,kBAAkB1U,aACvC,IAAI3xlB,IAASgqmB,GAAUA,GAAU,IAAM,IAAMt3lB,KAAKk0lB,SAClD,OAAIl0lB,KAAK0lB,iBACLp4B,IAAS,IAAM0S,KAAK0lB,gBAEjBp4B,EACX,CAEA2nmB,oBAAoB5/jB,IAChBr1B,KAAKw0lB,aAAarvkB,KAAKkQ,GAC3B,CAKAmikB,kBAAkBpqX,IACVA,GAAIh7O,OACJ4N,KAAK+lB,YAAYsB,cAAcugJ,aAAa,mBAAoBwlE,GAAI1hM,KAAK,MAGzE1rC,KAAK+lB,YAAYsB,cAAcu8C,gBAAgB,mBAEvD,CAKA6zhB,mBACIz3lB,KAAKmN,QACLnN,KAAKwpD,MACT,CAKA,oBAAIkuiB,GAGA,OAAO13lB,KAAK+0lB,YAAc/0lB,KAAK60N,OAAU70N,KAAK0kR,WAAa1kR,KAAK+3J,WACpE,QACS/3J,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFgklB,IAAVtylB,MAAqCC,MAArCD,MAAkEA,OAAlEA,MAAmGA,OAAnGA,MAAyHE,MAAzHF,MAA0JA,OAA1JA,MAAoLG,KAAiB,GAArMH,MAAkOI,MAAS,GAA3OJ,MAAwQI,MAAqB,GAA7RJ,MAA0Tk/kB,KAAc,GAAxUl/kB,MAAqWI,MAAY,IAAjXJ,MAA0Z,YAA1ZA,MAAkcgylB,IAAlchylB,MAAyeK,MAAzeL,MAAsgBiylB,GAAiB,IAA8D,QAC5qBlylB,KAAK0oB,UADkFzoB,MAAE,CAAAgO,KACJsklB,GAAS5jlB,UAAA,iBAAAuhB,eAAA,SAAAlhB,GAAAC,GAAAkhB,IAGyI,GAHzI,EAAAnhB,KADP/O,MAAEkwB,GAIxBkikB,GAAkB,GAJIpylB,MAAEkwB,GAIuD8ziB,KAAS,GAJlEhkkB,MAAEkwB,GAIkI0ziB,KAAY,MAAA70jB,GAAA,KAAAohB,GAJhJnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAAyilB,cAAAthkB,GAAA1B,OAAFzuB,MAAEmwB,GAAFnwB,WAAEgP,GAAA2X,QAAAwJ,IAAFnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAA21jB,aAAAx0iB,GAAA,GAAAE,UAAA,SAAAthB,GAAAC,IAIoa,GAJpa,EAAAD,KAAF/O,MAAEiS,GAAA,GAAFjS,MAAEoQ,GAAA,GAAFpQ,MAImZq2d,KAAmB,MAAAtnd,GAAA,KAAAohB,GAJtanwB,MAAEmwB,GAAFnwB,WAAEgP,GAAA2a,QAAAwG,GAAA1B,OAAFzuB,MAAEmwB,GAAFnwB,WAAEgP,GAAAwjlB,MAAArikB,GAAA1B,OAAFzuB,MAAEmwB,GAAFnwB,WAAEgP,GAAAwnlB,YAAArmkB,GAAA1B,MAAA,GAAA/F,UAAA,QACyuC,WAAU,oBAAuB,OAAM,gBAAmB,UAAS,oBAAAC,SAAA,GAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAD9yC/O,MAAE,mBAAAmI,IAAA,OACJ6G,GAAAgW,eAAA7c,GAAsB,EADpBnI,CACO,0BAATgP,GAAA8vc,UAAU,EADR9+c,CACO,yBAATgP,GAAA+vc,SAAS,KAAAhwc,KADP/O,MAAE,KAAAgP,GAAAzmB,GAAFyX,CAAE,WAAAgP,GAAA8K,UAAA,EACS9K,GAAAm3M,SADXnmN,CACW,gBAAAgP,GAAA8llB,UAAA9llB,GAAAzmB,GAAI,SAAW,KAD1ByX,CAC8B,gBAAAgP,GAAA8llB,UAD9B90lB,CAC8B,aAAAgP,GAAAwW,WAAnB,KADXxlB,CACe,gBAAjBgP,GAAA9D,SAAAg2B,WADElhC,CACiB,gBAAnBgP,GAAA8K,SAAAonB,WADElhC,CACiB,eAAAgP,GAAA0ujB,WADjB19jB,CACiB,wBAAnBgP,GAAAsolB,4BADEt3lB,MAAE,0BAAAgP,GAAA8K,SAAF9Z,CACO,yBAAAgP,GAAA0ujB,WADP19jB,CACO,0BAAAgP,GAAA9D,SADPlL,CACO,uBAAAgP,GAAA4lN,MADP50N,CACO,0BAAAgP,GAAAg5Q,UAAA,EAAAtyQ,OAAA,CAAA+/kB,oBAAA,CADPz1lB,MAAEwwB,KAAA,0CAAA3F,WAAA,aAAA/Q,SAAA,CAAF9Z,MAAE6oB,2BAAA,sBAC4LC,OAAgB3C,cAAA,CAD9MnmB,MAAE6oB,2BAAA,gCACiQC,OAAgBq9L,SAAA,CADnRnmN,MAAE6oB,2BAAA,sBACwTx7B,IAAoB,MAATA,GAAgB,KAAIwzjB,OAAgBxzjB,KAAO42kB,6BAAA,CADhXjkkB,MAAE6oB,2BAAA,8DACgdC,OAAgBgvI,YAAA,cAAA5sJ,SAAA,CADlelL,MAAE6oB,2BAAA,sBACkiBC,OAAgBk/P,SAAA,CADpjBhoR,MAAE6oB,2BAAA,sBACwlBC,OAAgBsrkB,uBAAA,CAD1mBp0lB,MAAE6oB,2BAAA,kDACwrBC,OAAgB66b,YAAA,cAAAt2d,MAAA,QAAAm4B,UAAA,CAD1sBxlB,MAAEwwB,KAAA,0BAAA/K,eAAA,CAAFzlB,MAAEwwB,KAAA,oCAAA4ikB,kBAAA,oBAAA2B,0BAAA,CAAF/0lB,MAAE6oB,2BAAA,wDACo9Bg4hB,OAAeq2C,eAAA,iBAAA3umB,GAAA,KAAA8rmB,WAAA,cAAA5jkB,QAAA,CAAA8jkB,aAAA,eAAAC,cAAA,SAAAC,cAAA,SAAAC,gBAAA,kBAAAC,YAAA,eAAA5rkB,SAAA,cAAAC,YAAA,EAAAC,SAAA,CADr+BjpB,MAC2iE,CACnoE,CAAE0wB,QAASw4jB,KAAqBv4jB,YAAa2hkB,IAC7C,CAAE5hkB,QAASiziB,KAA6BhziB,YAAa2hkB,MAHmCtylB,mBAAEmpB,mBAAArE,GAAAnW,MAAA,GAAAC,KAAA,EAAAC,OAAA,84BAAAC,SAAA,SAAAC,GAAAC,IAAA,KAAAD,GAAA,OAAA5H,GAAFnH,cAAE0R,IAAF1R,MAAE,aAAFA,MAAE,mBAAFA,aAAEmH,IAAFnH,MAIolBgP,GAAAu6C,OAAM,GAJ1lBvpD,MAAE,WAAFA,MAAE,EAAAoxlB,GAAA,aAAFpxlB,CAIkvB,EAAAwxlB,GAAA,KAJlvBxxlB,cAAE,UAAFA,CAIirC,WAJjrCA,cAAE,WAAFA,MAAE,YAAFA,oBAAE,GAAA0xlB,GAAA,qBAAF1xlB,MAAE,2BAAFA,aAAEmH,IAAFnH,MAIgiEgP,GAAA8c,QAAO,EAJviE9rB,CAIyiE,oBAJziEA,aAAEmH,IAAFnH,MAIwjEgP,GAAAunlB,cAAa,EAJrkEv2lB,CAIukE,oBAJvkEA,aAAEmH,IAAFnH,MAIslEgP,GAAA8c,QAAO,EAAE,MAAA/c,GAAA,OAAA2olB,GAJ/lE13lB,MAAE,GAAFA,MAAE,GAAFA,MAAE,KAAAgP,GAAAillB,UAAFj0lB,cAAE,EAAAgP,GAAA4lN,MAAA,KAAF50N,MAAE,GAAFA,MAAE,gCAAAgP,GAAAkllB,mBAAFl0lB,CAI+uD,oCAAAgP,GAAAwkB,gBAJ/uDxzB,CAI0yD,4BAAAgP,GAAAmmlB,yBAAAuC,GAJ1yD13lB,CAI83D,0BAAAgP,GAAA8llB,UAJ93D90lB,CAIy6D,+BAAAgP,GAAA4klB,WAJz6D5zlB,CAI09D,2BAAAgP,GAAAimlB,cAAgD,GAAA7rkB,aAAA,CAAqkJ+sc,KAAuJE,KAA+/B4T,MAAOr5c,OAAA,u2HAAAtH,cAAA,EAAAn8B,KAAA,CAAA0jC,UAAsE,CAACihkB,GAAoBra,iBAAelujB,gBAAA,GAAmG,EAC5hQ,OA56BK+okB,EAAS,KAqkCT36kB,GAAe,MAArB,MAAMA,UACO5X,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFqJ,GAAe,CAAoD,QACpK5X,KAAKm4B,UAhKkFl4B,KAAE,CAAAgO,KAgKS2J,IAU9E,QACpB5X,KAAKo4B,UA3KkFn4B,MAAE,CAAAo4B,UA2KqC,CAAC85jB,IAAoC75jB,QAAA,CAAY5xB,KAChL+xB,KACA2siB,KACA5siB,KAAiBE,KACjB0wjB,KACAhkB,KACA5siB,OAAqB,EAChC,OApBK5gB,EAAe,2OCzqCrB,MAAA1F,GAAA,YAUM0llB,GAA8B,IAAI/xkB,MAAe,8BAA+B,CAClFllB,WAAY,OACZF,QAASA,KACL,MAAMuwB,MAAUC,OAAOC,MACvB,MAAO,IAAMF,GAAQG,iBAAiBC,WAAW,CAAE+1b,eAbhC,IAaoE,IAQzF0wI,GAA+C,CACjDlnkB,QAASinkB,GACTtmkB,KAAM,CAACJ,MACPK,WAPJ,SAASumkB,GAAoC9mkB,IACzC,MAAO,IAAMA,GAAQG,iBAAiBC,WAAW,CAAE+1b,eAlB5B,IAmB3B,GAgBM4wI,GAA8B,IAAIlykB,MAAe,8BAA+B,CAClFllB,WAAY,OACZF,QAVJ,SAASu3lB,KACL,MAAO,CACHC,UAAW,EACXC,UAAW,EACXC,kBAAmB,KAE3B,IAYMC,GAAc,gBAEdC,IAAyB3mkB,QAAgC,CAAEC,SAAS,IAO1E,IAMM2mkB,GAAU,MAAhB,MAAMA,GAEF,YAAI3ikB,GACA,OAAO31B,KAAK4uT,SAChB,CACA,YAAIj5R,CAASroC,IACLA,KAAU0S,KAAK4uT,YACf5uT,KAAK4uT,UAAYthU,GACb0S,KAAK2yB,cACL3yB,KAAKu4lB,gBAAgBv4lB,KAAK2yB,aAC1B3yB,KAAKw4lB,kBAAkBvyY,KAAK,GAC5BjmN,KAAK2yB,YAAYqC,kBAG7B,CAKA,oBAAIyjkB,GACA,OAAOz4lB,KAAK04lB,iBAChB,CACA,oBAAID,CAAiBnrmB,IACjB0S,KAAK04lB,qBAAoB91I,MAAsBt1d,IAC/C0S,KAAKqmd,UACLrmd,KAAK2yB,YAAc,IACvB,CAEA,YAAI5Y,GACA,OAAO/Z,KAAKw7jB,SAChB,CACA,YAAIzhjB,CAASzsB,IACT0S,KAAKw7jB,aAAY54G,MAAsBt1d,IAEnC0S,KAAKw7jB,UACLx7jB,KAAK+lN,KAAK,GAGV/lN,KAAK24lB,kCAEb,CAEA,aAAIV,GACA,OAAOj4lB,KAAK44lB,UAChB,CACA,aAAIX,CAAU3qmB,IACV0S,KAAK44lB,cAAa/1I,MAAqBv1d,GAC3C,CAEA,aAAI4qmB,GACA,OAAOl4lB,KAAK64lB,UAChB,CACA,aAAIX,CAAU5qmB,IACV0S,KAAK64lB,cAAah2I,MAAqBv1d,IACnC0S,KAAKw4lB,mBACLx4lB,KAAKw4lB,iBAAiBM,qBAAuB94lB,KAAK64lB,WAE1D,CAEA,WAAItujB,GACA,OAAOvqC,KAAK4zC,QAChB,CACA,WAAIrJ,CAAQj9C,IACR0S,KAAK+4lB,eAAevmJ,kBAAkBxyc,KAAK+lB,YAAYsB,cAAernB,KAAK4zC,SAAU,WAIrF5zC,KAAK4zC,SAAoB,MAATtmD,GAAgBk+C,OAAOl+C,IAAO4nB,OAAS,IAClDlV,KAAK4zC,UAAY5zC,KAAKg5lB,oBACvBh5lB,KAAK+lN,KAAK,IAGV/lN,KAAK24lB,mCACL34lB,KAAKi5lB,wBACLj5lB,KAAKurB,QAAQ41H,kBAAkB,KAK3B7sG,QAAQC,UAAUge,KAAK,KACnBvyD,KAAK+4lB,eAAehnJ,SAAS/xc,KAAK+lB,YAAYsB,cAAernB,KAAKuqC,QAAS,UAAS,EACvF,GAGb,CAEA,gBAAI2ujB,GACA,OAAOl5lB,KAAKm5lB,aAChB,CACA,gBAAID,CAAa5rmB,IACb0S,KAAKm5lB,cAAgB7rmB,GACjB0S,KAAKw4lB,kBACLx4lB,KAAKo5lB,iBAAiBp5lB,KAAKm5lB,cAEnC,CACA15lB,YAAY6yB,GAAUvM,GAAaogc,GAAmB3zb,GAAmBjH,GAASskb,GAAWkpJ,GAAgB9ykB,GAAewM,GAAgBC,GAAMqqb,GAAiB/2b,IAC/JhmB,KAAKsyB,SAAWA,GAChBtyB,KAAK+lB,YAAcA,GACnB/lB,KAAKmmd,kBAAoBA,GACzBnmd,KAAKwyB,kBAAoBA,GACzBxyB,KAAKurB,QAAUA,GACfvrB,KAAK6vc,UAAYA,GACjB7vc,KAAK+4lB,eAAiBA,GACtB/4lB,KAAKimB,cAAgBA,GACrBjmB,KAAK0yB,KAAOA,GACZ1yB,KAAK+8c,gBAAkBA,GACvB/8c,KAAK4uT,UAAY,QACjB5uT,KAAK04lB,mBAAoB,EACzB14lB,KAAKw7jB,WAAY,EACjBx7jB,KAAKq5lB,kBAAmB,EACxBr5lB,KAAKs5lB,+BAAgC,EACrCt5lB,KAAKu5lB,kBAAoBC,GACzBx5lB,KAAK0sd,gBAAkB,EACvB1sd,KAAKy5lB,gBAAkB,UAevBz5lB,KAAK05lB,cAAgB,OACrB15lB,KAAK4zC,SAAW,GAEhB5zC,KAAK25lB,kBAAoB,GAEzB35lB,KAAK+0L,WAAa,IAAIzuK,KACtBtmB,KAAKyzB,gBAAkBhB,GACvBzyB,KAAKgmB,UAAYA,GACb+2b,KACA/8c,KAAK44lB,WAAa77I,GAAgBk7I,UAClCj4lB,KAAK64lB,WAAa97I,GAAgBm7I,UAC9Bn7I,GAAgBpnb,WAChB31B,KAAK21B,SAAWonb,GAAgBpnb,UAEhConb,GAAgB07I,mBAChBz4lB,KAAKy4lB,iBAAmB17I,GAAgB07I,kBAExC17I,GAAgB28I,gBAChB15lB,KAAK05lB,cAAgB38I,GAAgB28I,gBAG7ChnkB,GAAKsD,OAAOnrB,QAAKgqB,KAAU70B,KAAK+0L,aAAa1oL,UAAU,KAC/CrM,KAAK2yB,aACL3yB,KAAKu4lB,gBAAgBv4lB,KAAK2yB,YAAW,GAG7C3yB,KAAK0sd,gBApK0B,CAqKnC,CACA3lc,kBAEI/mB,KAAKq5lB,kBAAmB,EACxBr5lB,KAAK24lB,mCACL34lB,KAAKimB,cACAe,QAAQhnB,KAAK+lB,aACblb,QAAKgqB,KAAU70B,KAAK+0L,aACpB1oL,UAAUsa,KAENA,GAGe,aAAXA,IACL3mB,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAKimN,QAH5BjmN,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAK+lN,KAAK,GAAE,EAM/C,CAIA73M,cACI,MAAMmZ,GAAgBrnB,KAAK+lB,YAAYsB,cACvC6uB,aAAal2C,KAAK45lB,oBACd55lB,KAAK2yB,cACL3yB,KAAK2yB,YAAYiB,UACjB5zB,KAAKw4lB,iBAAmB,MAG5Bx4lB,KAAK25lB,kBAAkBvukB,QAAQ,EAAE5f,GAAOy6C,OACpC5+B,GAAcwM,oBAAoBroB,GAAOy6C,GAAUoyiB,GAAsB,GAE7Er4lB,KAAK25lB,kBAAkBvnmB,OAAS,EAChC4N,KAAK+0L,WAAWpoL,OAChB3M,KAAK+0L,WAAW5tK,WAChBnnB,KAAK+4lB,eAAevmJ,kBAAkBnrb,GAAernB,KAAKuqC,QAAS,WACnEvqC,KAAKimB,cAAcgB,eAAeI,GACtC,CAEA4+L,KAAKruL,GAAQ53B,KAAKi4lB,UAAWtxkB,IACzB,GAAI3mB,KAAK+Z,WAAa/Z,KAAKuqC,SAAWvqC,KAAKg5lB,oBAEvC,YADAh5lB,KAAKw4lB,kBAAkBqB,2BAG3B,MAAM1lkB,GAAan0B,KAAKo0B,eAAezN,IACvC3mB,KAAKqmd,UACLrmd,KAAK83B,QACD93B,KAAK83B,SAAW,IAAIqic,MAAgBn6d,KAAKu5lB,kBAAmBv5lB,KAAKwyB,mBACrE,MAAM84a,GAAYtrc,KAAKw4lB,iBAAmBrkkB,GAAWK,OAAOx0B,KAAK83B,SAASwza,SAC1EA,GAAS82H,gBAAkBpikB,KAAK+lB,YAAYsB,cAC5Cikb,GAASwtJ,qBAAuB94lB,KAAK64lB,WACrCvtJ,GACKwuJ,cACAjvlB,QAAKgqB,KAAU70B,KAAK+0L,aACpB1oL,UAAU,IAAMrM,KAAKqmd,WAC1Brmd,KAAKo5lB,iBAAiBp5lB,KAAKm5lB,eAC3Bn5lB,KAAKi5lB,wBACL3tJ,GAASrlP,KAAKruL,GAClB,CAEAmuL,KAAKnuL,GAAQ53B,KAAKk4lB,WACd,MAAM5sJ,GAAWtrc,KAAKw4lB,iBAClBltJ,KACIA,GAAShyb,YACTgyb,GAASvlP,KAAKnuL,KAGd0za,GAASuuJ,2BACT75lB,KAAKqmd,WAGjB,CAEA3yP,OAAO/sM,IACH3mB,KAAKg5lB,oBAAsBh5lB,KAAK+lN,OAAS/lN,KAAKimN,UAAK53N,EAAWs4B,GAClE,CAEAqykB,oBACI,QAASh5lB,KAAKw4lB,kBAAoBx4lB,KAAKw4lB,iBAAiBl/kB,WAC5D,CAEA8a,eAAezN,IACX,GAAI3mB,KAAK2yB,YAAa,CAClB,MAAMonkB,GAAmB/5lB,KAAK2yB,YAAY79B,YACrCw/B,iBACL,KAAMt0B,KAAKy4lB,mBAAqB9xkB,KAAWozkB,GAAiBjjJ,mBAAmBoM,MAC3E,OAAOljd,KAAK2yB,YAEhB3yB,KAAKqmd,SACT,CACA,MAAM2zI,GAAsBh6lB,KAAKmmd,kBAAkB4W,4BAA4B/8d,KAAK+lB,aAE9Eilc,GAAWhrd,KAAKsyB,SACjBqD,WACAC,oBAAoB51B,KAAKy4lB,kBAAmB9xkB,IAA6B3mB,KAAK+lB,aAC9E+P,sBAAsB,IAAI91B,KAAKy5lB,2BAC/B7pI,wBAAuB,GACvBF,mBAAmB1vd,KAAK0sd,iBACxB8C,yBAAyBwqI,IAC9BhvI,UAASj1b,gBAAgBlrB,QAAKgqB,KAAU70B,KAAK+0L,aAAa1oL,UAAU2pB,KAChEh2B,KAAKi6lB,4BAA4BjkkB,GAAOC,gBACpCj2B,KAAKw4lB,kBACDxikB,GAAO0xb,yBAAyB4K,kBAAoBtyd,KAAKw4lB,iBAAiBl/kB,aAG1EtZ,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAK+lN,KAAK,GAAE,GAI/C/lN,KAAK2yB,YAAc3yB,KAAKsyB,SAASkD,OAAO,CACpCvH,UAAWjuB,KAAK0yB,KAChB4B,iBAAkB02b,GAClBlgc,WAAY,GAAG9qB,KAAKy5lB,mBAAmBrB,KACvC3lkB,eAAgBzyB,KAAKyzB,oBAEzBzzB,KAAKu4lB,gBAAgBv4lB,KAAK2yB,aAC1B3yB,KAAK2yB,YACAuE,cACArsB,QAAKgqB,KAAU70B,KAAK+0L,aACpB1oL,UAAU,IAAMrM,KAAKqmd,WAC1Brmd,KAAK2yB,YACA61b,uBACA39c,QAAKgqB,KAAU70B,KAAK+0L,aACpB1oL,UAAU,IAAMrM,KAAKw4lB,kBAAkB0B,0BAC5Cl6lB,KAAK2yB,YACA8C,gBACA5qB,QAAKgqB,KAAU70B,KAAK+0L,aACpB1oL,UAAUb,KACPxL,KAAKg5lB,qBAAuBxtlB,GAAMoiB,UAAYC,QAAU,EAACC,MAAetiB,MACxEA,GAAM+b,iBACN/b,GAAMgc,kBACNxnB,KAAKurB,QAAQ6K,IAAI,IAAMp2B,KAAK+lN,KAAK,IAAE,GAGvC/lN,KAAK+8c,iBAAiBo9I,6BACtBn6lB,KAAK2yB,YAAYy4b,cAAc,GAAGprd,KAAKy5lB,iDAEpCz5lB,KAAK2yB,WAChB,CAEA0zb,UACQrmd,KAAK2yB,aAAe3yB,KAAK2yB,YAAYmnb,eACrC95c,KAAK2yB,YAAYsC,SAErBj1B,KAAKw4lB,iBAAmB,IAC5B,CAEAD,gBAAgBpkkB,IACZ,MAAMwB,GAAWxB,GAAWr/B,YAAYw/B,iBAClC3N,GAAS3mB,KAAK43d,aACd5mc,GAAUhxB,KAAKo6lB,sBACrBzkkB,GAASoB,cAAc,CACnB/2B,KAAKq6lB,WAAW,IAAK1zkB,GAAO2zkB,QAAStpkB,GAAQspkB,OAC7Ct6lB,KAAKq6lB,WAAW,IAAK1zkB,GAAO28N,YAAatyN,GAAQsyN,YAEzD,CAEA+2W,WAAW1kkB,IACP,MACM4kkB,IAASv6lB,KAAK0yB,MAA2B,OAAnB1yB,KAAK0yB,KAAKplC,MACtC,MAAyB,QAArBqoC,GAASa,QACTb,GAASgB,SArUQ,EAuUS,WAArBhB,GAASa,QACdb,GAASgB,QAxUQ,EA0US,UAArBhB,GAASU,QACdV,GAAS+qL,QAAU65Y,IA3UF,IA6US,QAArB5kkB,GAASU,UACdV,GAAS+qL,QAAU65Y,GA9UF,MAgVd5kkB,EACX,CAKAiic,aACI,MAAM2iI,IAASv6lB,KAAK0yB,MAA2B,OAAnB1yB,KAAK0yB,KAAKplC,MAChCqoC,GAAW31B,KAAK21B,SACtB,IAAI6kkB,GACY,SAAZ7kkB,IAAmC,SAAZA,GACvB6kkB,GAAiB,CAAEnkkB,QAAS,SAAUG,QAAqB,SAAZb,GAAsB,MAAQ,UAE5D,UAAZA,IACQ,QAAZA,IAAsB4kkB,IACV,SAAZ5kkB,KAAwB4kkB,GACzBC,GAAiB,CAAEnkkB,QAAS,QAASG,QAAS,WAE7B,SAAZb,IACQ,SAAZA,IAAuB4kkB,IACX,QAAZ5kkB,KAAuB4kkB,MACxBC,GAAiB,CAAEnkkB,QAAS,MAAOG,QAAS,WAKhD,MAAQr4B,KAAG8uC,MAAMjtC,KAAKy6lB,gBAAgBD,GAAenkkB,QAASmkkB,GAAehkkB,SAC7E,MAAO,CACH8jkB,KAAME,GACNl3W,SAAU,CAAEjtN,QAASl4B,GAAGq4B,QAASyW,IAEzC,CAEAmtjB,sBACI,MAAMG,IAASv6lB,KAAK0yB,MAA2B,OAAnB1yB,KAAK0yB,KAAKplC,MAChCqoC,GAAW31B,KAAK21B,SACtB,IAAI+kkB,GACY,SAAZ/kkB,GACA+kkB,GAAkB,CAAExkkB,SAAU,SAAUC,SAAU,UAEjC,SAAZR,GACL+kkB,GAAkB,CAAExkkB,SAAU,SAAUC,SAAU,OAEjC,UAAZR,IACQ,QAAZA,IAAsB4kkB,IACV,SAAZ5kkB,KAAwB4kkB,GACzBG,GAAkB,CAAExkkB,SAAU,MAAOC,SAAU,WAE9B,SAAZR,IACQ,SAAZA,IAAuB4kkB,IACX,QAAZ5kkB,KAAuB4kkB,MACxBG,GAAkB,CAAExkkB,SAAU,QAASC,SAAU,WAKrD,MAAQh4B,KAAG8uC,MAAMjtC,KAAKy6lB,gBAAgBC,GAAgBxkkB,SAAUwkkB,GAAgBvkkB,UAChF,MAAO,CACHmkkB,KAAMI,GACNp3W,SAAU,CAAEptN,SAAU/3B,GAAGg4B,SAAU8W,IAE3C,CAEAgsjB,wBAGQj5lB,KAAKw4lB,mBACLx4lB,KAAKw4lB,iBAAiBjujB,QAAUvqC,KAAKuqC,QACrCvqC,KAAKw4lB,iBAAiBmC,gBACtB36lB,KAAKurB,QAAQu3f,iBAAiBj4gB,QAAK2C,KAAK,IAAC,EAAGqnB,KAAU70B,KAAK+0L,aAAa1oL,UAAU,KAC1ErM,KAAKw4lB,kBACLx4lB,KAAK2yB,YAAYqC,gBAAe,GAIhD,CAEAokkB,iBAAiBF,IACTl5lB,KAAKw4lB,mBACLx4lB,KAAKw4lB,iBAAiBU,aAAeA,GACrCl5lB,KAAKw4lB,iBAAiBmC,gBAE9B,CAEAF,gBAAgBt8lB,GAAG8uC,IACf,MAAsB,UAAlBjtC,KAAK21B,UAA0C,UAAlB31B,KAAK21B,SACxB,QAANsX,GACAA,GAAI,SAEO,WAANA,KACLA,GAAI,OAIE,QAAN9uC,GACAA,GAAI,QAEO,UAANA,KACLA,GAAI,OAGL,CAAEA,KAAG8uC,KAChB,CAEAgtjB,4BAA4BhkkB,IACxB,MAAQE,YAAUE,WAASG,YAAYP,GACvC,IAAI2kkB,GAiBJ,GATQA,GALS,WAAbzkkB,GAIIn2B,KAAK0yB,MAA4B,QAApB1yB,KAAK0yB,KAAKplC,MACG,QAAZ+oC,GAAoB,OAAS,QAGjB,UAAZA,GAAsB,OAAS,QAItB,WAAbF,IAAqC,QAAZK,GAAoB,QAAU,QAErEokkB,KAAgB56lB,KAAK66lB,iBAAkB,CACvC,MAAM1mkB,GAAan0B,KAAK2yB,YACxB,GAAIwB,GAAY,CACZ,MAAM2mkB,GAAc,GAAG96lB,KAAKy5lB,mBAAmBrB,MAC/CjkkB,GAAWk3b,iBAAiByvI,GAAc96lB,KAAK66lB,kBAC/C1mkB,GAAWi3b,cAAc0vI,GAAcF,GAC3C,CACA56lB,KAAK66lB,iBAAmBD,EAC5B,CACJ,CAEAjC,mCAEQ34lB,KAAKw7jB,YACJx7jB,KAAKuqC,UACLvqC,KAAKq5lB,kBACNr5lB,KAAK25lB,kBAAkBvnmB,SAKvB4N,KAAK+6lB,+BACL/6lB,KAAK25lB,kBAAkB73jB,KAAK,CACxB,aACAt2B,KAEI,IAAI66N,GADJrmO,KAAKg7lB,uCAEW3smB,IAAZmd,GAAMrN,QAA+B9P,IAAZmd,GAAMyhC,IAC/Bo5L,GAAQ76N,IAEZxL,KAAKimN,UAAK53N,EAAWg4O,GAAK,IAIN,QAAvBrmO,KAAK05lB,gBACV15lB,KAAKi7lB,oCACLj7lB,KAAK25lB,kBAAkB73jB,KAAK,CACxB,aACAt2B,KACI,MAAMwvc,GAAQxvc,GAAM0vlB,gBAAgB,GAC9Bv0kB,GAASq0b,GAAQ,CAAE78c,EAAG68c,GAAMr7S,QAAS1yH,EAAG+ta,GAAMp7S,cAAYvxK,EAGhE2R,KAAKg7lB,kCACL9kjB,aAAal2C,KAAK45lB,oBAElB55lB,KAAK45lB,mBAAqB5slB,WAAW,IAAMhN,KAAKimN,UAAK53N,EAAWs4B,IAAS3mB,KAAK+8c,gBAAgBo+I,yBAD9D,IACgH,KAI5Jn7lB,KAAKo7lB,cAAcp7lB,KAAK25lB,mBAC5B,CACAqB,kCACI,GAAIh7lB,KAAKs5lB,8BACL,OAEJt5lB,KAAKs5lB,+BAAgC,EACrC,MAAM+B,GAAgB,GACtB,GAAIr7lB,KAAK+6lB,+BACLM,GAAcv5jB,KAAK,CACf,aACAt2B,KACI,MAAM8vlB,GAAY9vlB,GAAM24J,gBACnBm3b,KAAct7lB,KAAK2yB,aAAa6zb,eAAe53b,SAAS0skB,MACzDt7lB,KAAK+lN,MAAK,GAGnB,CAAC,QAASv6M,IAASxL,KAAKu7lB,eAAe/vlB,WAAO,GAErB,QAAvBxL,KAAK05lB,cAAyB,CACnC15lB,KAAKi7lB,oCACL,MAAMO,GAAmBA,KACrBtljB,aAAal2C,KAAK45lB,oBAClB55lB,KAAK+lN,KAAK/lN,KAAK+8c,gBAAgBo7I,kBAAiB,EAEpDkD,GAAcv5jB,KAAK,CAAC,WAAY05jB,IAAmB,CAAC,cAAeA,IACvE,CACAx7lB,KAAKo7lB,cAAcC,IACnBr7lB,KAAK25lB,kBAAkB73jB,QAAQu5jB,GACnC,CACAD,cAAcv6d,IACVA,GAAUz1G,QAAQ,EAAE5f,GAAOy6C,OACvBjmD,KAAK+lB,YAAYsB,cAAcqM,iBAAiBloB,GAAOy6C,GAAUoyiB,GAAsB,EAE/F,CACA0C,+BACI,OAAQ/6lB,KAAK6vc,UAAU0H,MAAQv3c,KAAK6vc,UAAU2oB,OAClD,CAEA+iI,eAAe/vlB,IACX,GAAIxL,KAAKg5lB,oBAAqB,CAC1B,MAAMyC,GAAsBz7lB,KAAKgmB,UAAU+njB,iBAAiBvikB,GAAMm0J,QAASn0J,GAAMo0J,SAC3E9vI,GAAU9vB,KAAK+lB,YAAYsB,cAK7Bo0kB,KAAwB3rkB,KAAYA,GAAQlB,SAAS6skB,KACrDz7lB,KAAK+lN,MAEb,CACJ,CAEAk1Y,oCACI,MAAMS,GAAW17lB,KAAK05lB,cACtB,GAAiB,QAAbgC,GAAoB,CACpB,MAAM5rkB,GAAU9vB,KAAK+lB,YAAYsB,cAC3BwC,GAAQiG,GAAQjG,OAGL,OAAb6xkB,IAA2C,UAArB5rkB,GAAQ84H,UAA6C,aAArB94H,GAAQ84H,YAC9D/+H,GAAM8xkB,WACF9xkB,GAAM+xkB,aACF/xkB,GAAMgykB,iBACFhykB,GAAMiykB,cACF,SAIH,OAAbJ,KAAsB5rkB,GAAQiskB,aAC9BlykB,GAAMmykB,eAAiB,QAE3BnykB,GAAMoykB,YAAc,OACpBpykB,GAAMqykB,wBAA0B,aACpC,CACJ,QACSl8lB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF+plB,IAAVr4lB,MAAsCC,MAAtCD,MAA6DA,OAA7DA,MAAuFC,MAAvFD,MAAuHA,OAAvHA,MAAuJA,OAAvJA,MAA6KE,MAA7KF,MAAqMG,MAArMH,MAAkOG,MAAlOH,MAA8P23lB,IAA9P33lB,MAAsSI,MAAtSJ,MAAoU83lB,GAA2B,GAA/V93lB,MAA4XwoB,MAAQ,CAA8C,QACzgBzoB,KAAKi4B,UADkFh4B,MAAE,CAAAgO,KACJqqlB,GAAU3plB,UAAA,uBAAAga,UAAA,8BAAAC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IADR/O,MAAE,2BAAAgP,GAAA8K,SACM,EAAApE,OAAA,CAAAggB,SAAA,CADR11B,MAAEwwB,KAAA,iCAAAgokB,iBAAA,CAAFx4lB,MAAEwwB,KAAA,iDAAA1W,SAAA,CAAF9Z,MAAEwwB,KAAA,iCAAAwnkB,UAAA,CAAFh4lB,MAAEwwB,KAAA,mCAAAynkB,UAAA,CAAFj4lB,MAAEwwB,KAAA,mCAAAipkB,cAAA,CAAFz5lB,MAAEwwB,KAAA,2CAAA8Z,QAAA,CAAFtqC,MAAEwwB,KAAA,wBAAAyokB,aAAA,CAAFj5lB,MAAEwwB,KAAA,mCAAAzH,SAAA,eAAAC,YAAA,GACwnB,EAC7tB,OAlkBKqvkB,EAAU,KAsnBVkB,GAAgB,MAAtB,MAAMA,GACF/5lB,YAAY0mB,GAAoBJ,GAAaq2iB,IACzCp8jB,KAAKmmB,mBAAqBA,GAC1BnmB,KAAK+lB,YAAcA,GAEnB/lB,KAAKm8lB,cAAe,EAEpBn8lB,KAAKo8lB,qBAAsB,EAE3Bp8lB,KAAK0gO,YAAa,EAElB1gO,KAAKq8lB,QAAU,IAAI/1kB,KAEnBtmB,KAAKs8lB,eAAiB,uBAEtBt8lB,KAAKu8lB,eAAiB,uBACtBv8lB,KAAKspd,oBAAwC,mBAAlB8yG,EAC/B,CAKAn2W,KAAKruL,IAE0B,MAAvB53B,KAAKw8lB,gBACLtmjB,aAAal2C,KAAKw8lB,gBAEtBx8lB,KAAKy8lB,eAAiBzvlB,WAAW,KAC7BhN,KAAK08lB,mBAAkB,GACvB18lB,KAAKy8lB,oBAAiBpumB,GACvBupC,GACP,CAKAmuL,KAAKnuL,IAE0B,MAAvB53B,KAAKy8lB,gBACLvmjB,aAAal2C,KAAKy8lB,gBAEtBz8lB,KAAKw8lB,eAAiBxvlB,WAAW,KAC7BhN,KAAK08lB,mBAAkB,GACvB18lB,KAAKw8lB,oBAAiBnumB,GACvBupC,GACP,CAEAkikB,cACI,OAAO95lB,KAAKq8lB,OAChB,CAEA/ilB,YACI,OAAOtZ,KAAK0gO,UAChB,CACAxyN,cACIlO,KAAK65lB,2BACL75lB,KAAKq8lB,QAAQl1kB,WACbnnB,KAAKoikB,gBAAkB,IAC3B,CAMA83B,yBACQl6lB,KAAKo8lB,qBACLp8lB,KAAK+lN,KAAK,EAElB,CAMA40Y,gBACI36lB,KAAKmmB,mBAAmBiC,cAC5B,CACAu0kB,mBAAoBx4b,qBACXA,KAAkBnkK,KAAKoikB,gBAAgBxziB,SAASu1I,OAC7CnkK,KAAKsZ,YACLtZ,KAAK+lN,KAAK/lN,KAAK84lB,sBAGf94lB,KAAK48lB,oBAAmB,GAGpC,CAMAC,UACI78lB,KAAKm8lB,aAAen8lB,KAAK88lB,sBACzB98lB,KAAK26lB,eACT,CAEAmC,sBACI,MAAMx6b,GAAOtiK,KAAK+lB,YAAYsB,cAAc4mI,wBAC5C,OAAOqU,GAAKtyH,OAjuBD,IAiuBwBsyH,GAAK3yH,OAhuB9B,GAiuBd,CAEAotjB,qBAAsBC,oBACdA,KAAkBh9lB,KAAKs8lB,gBAAkBU,KAAkBh9lB,KAAKu8lB,iBAChEv8lB,KAAK48lB,mBAAmBI,KAAkBh9lB,KAAKs8lB,eAEvD,CAEAzC,2BAC+B,MAAvB75lB,KAAKy8lB,gBACLvmjB,aAAal2C,KAAKy8lB,gBAEK,MAAvBz8lB,KAAKw8lB,gBACLtmjB,aAAal2C,KAAKw8lB,gBAEtBx8lB,KAAKy8lB,eAAiBz8lB,KAAKw8lB,oBAAiBnumB,CAChD,CAEAuumB,mBAAmBK,IACXA,GACAj9lB,KAAKo8lB,qBAAsB,EAErBp8lB,KAAKsZ,aACXtZ,KAAKq8lB,QAAQ1vlB,MAErB,CAEA+vlB,kBAAkBpjlB,IAId,MAAM4lN,GAAUl/N,KAAKk9lB,SAAS71kB,cACxB81kB,GAAYn9lB,KAAKs8lB,eACjBc,GAAYp9lB,KAAKu8lB,eASvB,GARAr9X,GAAQ5zM,UAAUtD,OAAO1O,GAAY8jlB,GAAYD,IACjDj+X,GAAQ5zM,UAAUvf,IAAIuN,GAAY6jlB,GAAYC,IAC1Cp9lB,KAAK0gO,aAAepnN,KACpBtZ,KAAK0gO,WAAapnN,GAClBtZ,KAAKmmB,mBAAmBiC,gBAIxB9O,KAActZ,KAAKspd,qBAAmD,mBAArBlnT,iBAAiC,CAClF,MAAMvxI,GAASuxI,iBAAiB88D,KAEsB,OAAlDruM,GAAOwxI,iBAAiB,uBACsB,SAA9CxxI,GAAOwxI,iBAAiB,qBACxBriK,KAAKspd,qBAAsB,EAEnC,CACIhwc,IACAtZ,KAAK68lB,UAEL78lB,KAAKspd,sBACLpqP,GAAQ5zM,UAAUvf,IAAI,2BACtB/L,KAAK48lB,mBAAmBtjlB,IAEhC,QACStZ,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFirlB,IApNVv5lB,MAoN4CA,OApN5CA,MAoN6EA,OApN7EA,MAoNuGs6L,MAAqB,IAA8D,QACjRv6L,KAAK0oB,UArNkFzoB,MAAE,CAAAgO,KAqNJurlB,GAAgB7qlB,UAAA,4BAAA2hB,UAAA,SAAAthB,GAAAC,IArNZ,GAqNY,EAAAD,IArNd/O,MAAEiS,GAAA,KAAAlD,GAAA,KAAAohB,GAAFnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAAiulB,SAAA9skB,GAAA1B,MAAA,GAAA/F,UAAA,eAqN0G,QAAMC,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IArNlH/O,MAAE,sBAAAmI,IAAA,OAqNJ6G,GAAA0tlB,kBAAAv0lB,GAAyB,GAAT,EAAA4G,IArNd/O,MAAE,OAqNJgP,GAAAqK,YAAc,EAAI,KAAF,EAAA2P,YAAA,EAAAC,SAAA,CArNdjpB,OAAE2O,MAAA,EAAAC,KAAA,EAAAC,OAAA,iKAAAC,SAAA,SAAAC,GAAAC,IAAA,KAAAD,GAAA,OAAA5H,GAAFnH,cAAE,aAAFA,MAAE,wBAAAmI,IAAFnI,aAAEmH,IAAFnH,MAqNqfgP,GAAA8tlB,oBAAA30lB,IAA2B,GArNhhBnI,MAAE,WAAFA,MAAE,GAAFA,SAqNsqB,GAAA+O,KArNtqB/O,MAAE,yBAAAgP,GAAAktlB,cAAFl8lB,MAAE,UAAAgP,GAAAiqlB,cAAFj5lB,MAAE,GAAFA,MAAEgP,GAAAs7B,SAqNspB,EAAAlhB,aAAA,CAAsqJ6gd,MAAOr5c,OAAA,4lJAAAtH,cAAA,EAAAC,gBAAA,GAA2J,EACnkL,OAhKKgwkB,EAAgB,KAwMhBxhlB,GAAgB,MAAtB,MAAMA,UACOhY,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFyJ,GAAgB,CAAoD,QACrKhY,KAAKm4B,UAhQkFl4B,KAAE,CAAAgO,KAgQS+J,IAAuM,QACzShY,KAAKo4B,UAjQkFn4B,MAAE,CAAAo4B,UAiQsC,CAACw/jB,IAA6Cv/jB,QAAA,CAAY4pb,KAAYx7c,KAAc+xB,KAAeD,MAAiBA,MAAiBE,QAAyB,EACzS,OAJK1gB,EAAgB,wHC53BtB,MAAMqllB,UAAiCC,KACnC79lB,cACI+wC,SAASC,WACTzwC,KAAKu9lB,mBAAoB,CAC7B,EAUJ,MAAMC,UAA0BH,EAC5B,kBAAOI,IACHC,QAAmB,IAAIF,EAC3B,CACAG,YAAYzkkB,GAAIugE,GAAKxzC,IACjB/sB,UAAGxF,iBAAiB+lE,GAAKxzC,IAClB,KACH/sB,GAAGrF,oBAAoB4lE,GAAKxzC,GAAQ,CAE5C,CACA42D,cAAc3jF,GAAIugE,IACdvgE,GAAG2jF,cAAcpjB,GACrB,CACAzxE,OAAOm/H,IACCA,GAAKx+F,YACLw+F,GAAKx+F,WAAWI,YAAYo+F,GAEpC,CACAhzG,cAAcw0G,GAASr8D,IACnBA,UAAMA,IAAOtsF,KAAK49lB,sBACPzpjB,cAAcw0G,GAC7B,CACAk1c,qBACI,OAAO5wlB,SAASw9f,eAAeC,mBAAmB,YACtD,CACAkzF,qBACI,OAAO3wlB,QACX,CACAg7I,cAAcd,IACV,OAAOA,GAAKW,WAAaI,KAAKC,YAClC,CACA21c,aAAa32c,IACT,OAAOA,cAAgB0tK,gBAC3B,CAEAiqK,qBAAqBxyY,GAAKxjC,IACtB,MAAe,WAAXA,GACOl0C,OAEI,aAAXk0C,GACOwjC,GAEI,SAAXxjC,GACOwjC,GAAI9iG,KAER,IACX,CACAihK,YAAYn+D,IACR,MAAMx3E,GAcd,SAASiplB,IACLC,SAAcA,GAAe/wlB,SAASsqD,cAAc,QAC7CymiB,EAAcA,EAAY13c,aAAa,QAAU,IAC5D,CAjBqBy3c,GACb,OAAe,MAARjplB,GAAe,KAiB9B,SAASm3U,EAAarxT,IAGlB,OAAO,IAAI8W,IAAI9W,GAAK3tB,SAASkoJ,SAAS/wF,QAC1C,CArBqC6nR,CAAan3U,GAC9C,CACAmplB,mBACID,EAAc,IAClB,CACAjwP,eACI,OAAOn5V,OAAOsoD,UAAU+uB,SAC5B,CACAmT,UAAU5xG,IACN,SAAO+wf,MAAkBtxe,SAASknI,OAAQ3mJ,GAC9C,EAEJ,IAAIwwmB,EAAc,KA8DZE,EAAU,MAAhB,MAAMA,GACF/md,QACI,OAAO,IAAI/jB,cACf,QACSpzH,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF2vlB,GAAU,CAAsD,QAClKl+lB,KAAKszD,WADmFrzD,MAAE,CAAAhQ,MACYiumB,GAAUz9lB,QAAVy9lB,GAAUx9lB,WAAK,EACjI,OANKw9lB,EAAU,KAgBhB,MAAMC,EAAwB,IAAIt4kB,MAAmD,IACrF,IAMMu4kB,GAAY,MAAlB,MAAMA,GAIF3+lB,YAAYmuG,GAAS+qF,IACjB34L,KAAK24L,MAAQA,GACb34L,KAAKq+lB,mBAAqB,IAAIp7jB,IAC9B2qE,GAAQxiF,QAAS6hF,KACbA,GAAOjgF,QAAUhtB,IAAA,GAErBA,KAAKs+lB,SAAW1wf,GAAQhsE,QAAQqsC,SACpC,CAUAv6C,iBAAiB5D,GAAS4yE,GAAWkS,IAEjC,OADe50G,KAAKu+lB,eAAe77f,IACrBhvE,iBAAiB5D,GAAS4yE,GAAWkS,GACvD,CAIA4pf,UACI,OAAOx+lB,KAAK24L,KAChB,CAEA4la,eAAe77f,IACX,IAAIuK,GAASjtG,KAAKq+lB,mBAAmB31lB,IAAIg6F,IACzC,GAAIuK,GACA,OAAOA,GAIX,GADAA,GADgBjtG,KAAKs+lB,SACJnpmB,KAAM83G,IAAWA,GAAOyvG,SAASh6G,MAC7CuK,GACD,MAAM,IAAIo/D,MAAc,MAAsFC,GAGlH,OAAAtsK,KAAKq+lB,mBAAmBn7jB,IAAIw/D,GAAWuK,IAChCA,EACX,QACSjtG,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF6vlB,IAjEVn+lB,MAiEwCk+lB,GAjExCl+lB,MAiE0EA,OAAS,CAA+C,QAC1ND,KAAKszD,WAlEmFrzD,MAAE,CAAAhQ,MAkEYmumB,GAAY39lB,QAAZ29lB,GAAY19lB,WAAK,EACnI,OAhDK09lB,EAAY,KA+DlB,MAAMK,GAEFh/lB,YAAYg9F,IACRz8F,KAAKy8F,KAAOA,EAChB,EAIJ,MAAMiigB,GAAwB,YAAY,IACpCC,GAAgB,MAAtB,MAAMA,GACFl/lB,YAAY6sF,GAAK8lC,GAAO7kF,GAAOuxG,GAAa,CAAC,GACzC9+I,KAAKssF,IAAMA,GACXtsF,KAAKoyH,MAAQA,GACbpyH,KAAKutC,MAAQA,GACbvtC,KAAK8+I,WAAaA,GAElB9+I,KAAK4+lB,SAAW,IAAI37jB,IACpBjjC,KAAK6+lB,UAAY,IAAIj5iB,IACrB5lD,KAAK8+lB,gBAAkB9+lB,KAAK++lB,8BAC5B/+lB,KAAKg/lB,oBAAmBt8c,MAAiB5D,IACzC9+I,KAAKi/lB,gBACT,CACAC,UAAUrukB,IACN,UAAWhH,MAASgH,GAEG,IADA7wB,KAAKm/lB,iBAAiBt1kB,GAAO,IAE5C7pB,KAAKo/lB,aAAav1kB,GAG9B,CACAw1kB,aAAaxukB,IACT,UAAWhH,MAASgH,GACG7wB,KAAKm/lB,iBAAiBt1kB,IAAO,IAC9B,GACd7pB,KAAKs/lB,eAAez1kB,GAGhC,CACA3b,cACI,MAAM4wlB,GAAkB9+lB,KAAK8+lB,gBACzBA,KACAA,GAAgB1zkB,QAAS+7H,IAASA,GAAKn/H,UACvC82kB,GAAgB/pjB,SAEpB,UAAWlrB,MAAS7pB,KAAKu/lB,eACrBv/lB,KAAKs/lB,eAAez1kB,IAExB7pB,KAAKi/lB,gBACT,CACAO,QAAQC,IACJz/lB,KAAK6+lB,UAAU9ylB,IAAI0zlB,IACnB,UAAW51kB,MAAS7pB,KAAKu/lB,eACrBv/lB,KAAK0/lB,eAAeD,GAAU51kB,GAEtC,CACA81kB,WAAWF,IACPz/lB,KAAK6+lB,UAAUn3jB,OAAO+3jB,GAC1B,CACAF,eACI,OAAOv/lB,KAAK4+lB,SAASvvkB,MACzB,CACA+vkB,aAAav1kB,IACT,UAAWq6C,MAAQlkE,KAAK6+lB,UACpB7+lB,KAAK0/lB,eAAex7hB,GAAMr6C,GAElC,CACAy1kB,eAAez1kB,IACX,MAAM+0kB,GAAW5+lB,KAAK4+lB,SACtBA,GAASl2lB,IAAImhB,KAAQm4I,UAAU52I,QAAS+7H,IAASA,GAAKn/H,UACtD42kB,GAASl3jB,OAAO7d,GACpB,CACAk1kB,8BACI,MAAMlukB,GAAS7wB,KAAKssF,IAAI8oE,MAAMttI,iBAAiB,SAAS42kB,OAA0B1+lB,KAAKoyH,WACvF,GAAIvhG,IAAQz+B,OAAQ,CAChB,MAAMwtmB,GAAW,IAAI38jB,IACrBpS,UAAOzF,QAASvB,KACa,MAArBA,GAAM5B,aACN23kB,GAAS18jB,IAAIrZ,GAAM5B,YAAa4B,GAAK,GAGtC+1kB,EACX,CACA,OAAO,IACX,CACAT,iBAAiBt1kB,GAAOw1L,IACpB,MAAMxxN,GAAMmS,KAAK4+lB,SACjB,GAAI/wmB,GAAI4rC,IAAI5P,IAAQ,CAChB,MAAMg2kB,GAAgBhymB,GAAI6a,IAAImhB,IAC9Bg2kB,UAAc9rW,OAAS10C,GAChBwgZ,GAAc9rW,KACzB,CACAlmQ,UAAIq1C,IAAIrZ,GAAO,CAAEkqO,MAAO10C,GAAOr9C,SAAU,KAClCq9C,EACX,CACAygZ,gBAAgB57hB,GAAMr6C,IAClB,MAAMi1kB,GAAkB9+lB,KAAK8+lB,gBACvBiB,GAAUjB,IAAiBp2lB,IAAImhB,IACrC,GAAIk2kB,IAASp3iB,aAAeub,GAExB46hB,UAAgBp3jB,OAAO7d,IACvBk2kB,GAAQn8hB,gBAAgB86hB,IAKjBqB,GAEN,CACD,MAAMA,GAAU//lB,KAAKssF,IAAIn4C,cAAc,SACvC,OAAIn0C,KAAKutC,OACLwyjB,GAAQn4b,aAAa,QAAS5nK,KAAKutC,OAEvCwyjB,GAAQ93kB,YAAc4B,GAClB7pB,KAAKg/lB,kBACLe,GAAQn4b,aAAa82b,GAAuB1+lB,KAAKoyH,OAErDluD,GAAKzvB,YAAYsrjB,IACVA,EACX,CACJ,CACAL,eAAex7hB,GAAMr6C,IACjB,MAAMk2kB,GAAU//lB,KAAK8/lB,gBAAgB57hB,GAAMr6C,IACrC+0kB,GAAW5+lB,KAAK4+lB,SAChBoB,GAAapB,GAASl2lB,IAAImhB,KAAQm4I,SACpCg+b,GACAA,GAAWl+jB,KAAKi+jB,IAGhBnB,GAAS17jB,IAAIrZ,GAAO,CAAEm4I,SAAU,CAAC+9b,IAAUhsW,MAAO,GAE1D,CACAkrW,iBACI,MAAMJ,GAAY7+lB,KAAK6+lB,UACvBA,GAAU9pjB,QAEV8pjB,GAAU9ylB,IAAI/L,KAAKssF,IAAI8oE,KAC3B,QACSp1J,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFowlB,IA3NV1+lB,MA2N4CwoB,MA3N5CxoB,MA2NiE6xc,OA3NjE7xc,MA2NoF2zU,MAAS,GA3N7F3zU,MA2N0H8hJ,OAAW,CAA+C,QAC5Q/hJ,KAAKszD,WA5NmFrzD,MAAE,CAAAhQ,MA4NY0umB,GAAgBl+lB,QAAhBk+lB,GAAgBj+lB,WAAK,EACvI,OAlIKi+lB,EAAgB,KAqJtB,MAAMsB,GAAiB,CACnB9zc,IAAO,6BACP+zc,MAAS,+BACTC,MAAS,+BACTC,IAAO,uCACPzlV,MAAS,gCACT0lV,KAAQ,kCAENC,GAAkB,UAelBC,GAAqC,IAAI16kB,MAAyD,GAAI,CACxGllB,WAAY,OACZF,QAASA,KAVsC,IAkBnD,SAAS+/lB,GAAkBC,GAAQ5vkB,IAC/B,OAAOA,GAAOhjC,IAAIyE,IAAKA,GAAE+b,QAAQiylB,GAAiBG,IACtD,CAAC,IACKC,GAAmB,MAAzB,MAAMA,GACFjhmB,YAAYkhmB,GAAcC,GAAkBxue,GAAOyue,GAA2Bv0gB,GAAKwyD,GAAY0oD,GAAQj6J,GAAQ,MAC3GvtC,KAAK2gmB,aAAeA,GACpB3gmB,KAAK4gmB,iBAAmBA,GACxB5gmB,KAAKoyH,MAAQA,GACbpyH,KAAK6gmB,0BAA4BA,GACjC7gmB,KAAKssF,IAAMA,GACXtsF,KAAK8+I,WAAaA,GAClB9+I,KAAKwnM,OAASA,GACdxnM,KAAKutC,MAAQA,GACbvtC,KAAK8gmB,iBAAmB,IAAI79jB,IAC5BjjC,KAAKg/lB,oBAAmBt8c,MAAiB5D,IACzC9+I,KAAK+gmB,gBACD,IAAIC,GAAoBL,GAAcr0gB,GAAKk7G,GAAQxnM,KAAKg/lB,iBAChE,CACA/la,eAAenpK,GAAS7hB,IACpB,IAAK6hB,KAAY7hB,GACb,OAAOjO,KAAK+gmB,gBAEZ/gmB,KAAKg/lB,kBAAoB/wlB,GAAKsb,gBAAkBglb,MAAkBs7C,YAElE57e,GAAO,IAAKA,GAAMsb,cAAeglb,MAAkBq7C,WAEvD,MAAMzwT,GAAWn5L,KAAKihmB,oBAAoBnxkB,GAAS7hB,IAGnD,OAAIkrL,cAAoB+na,GACpB/na,GAASgoa,YAAYrxkB,IAEhBqpK,cAAoBioa,IACzBjoa,GAASkoa,cAENloa,EACX,CACA8na,oBAAoBnxkB,GAAS7hB,IACzB,MAAM6ylB,GAAmB9gmB,KAAK8gmB,iBAC9B,IAAI3na,GAAW2na,GAAiBp4lB,IAAIuF,GAAKzlB,IACzC,IAAK2wM,GAAU,CACX,MAAM7sG,GAAMtsF,KAAKssF,IACXk7G,GAASxnM,KAAKwnM,OACdm5Z,GAAe3gmB,KAAK2gmB,aACpBC,GAAmB5gmB,KAAK4gmB,iBACxBC,GAA4B7gmB,KAAK6gmB,0BACjC7B,GAAmBh/lB,KAAKg/lB,iBAC9B,OAAQ/wlB,GAAKsb,eACT,KAAKglb,MAAkBq7C,SACnBzwT,GAAW,IAAI+na,GAAkCP,GAAcC,GAAkB3ylB,GAAMjO,KAAKoyH,MAAOyue,GAA2Bv0gB,GAAKk7G,GAAQw3Z,IAC3I,MACJ,KAAKzwJ,MAAkBs7C,UACnB,OAAO,IAAIy3G,GAAkBX,GAAcC,GAAkB9wkB,GAAS7hB,GAAMq+E,GAAKk7G,GAAQxnM,KAAKutC,MAAOyxjB,IACzG,QACI7la,GAAW,IAAIioa,GAA6BT,GAAcC,GAAkB3ylB,GAAM4ylB,GAA2Bv0gB,GAAKk7G,GAAQw3Z,IAGlI8B,GAAiB59jB,IAAIj1B,GAAKzlB,GAAI2wM,GAClC,CACA,OAAOA,EACX,CACAjrL,cACIlO,KAAK8gmB,iBAAiB/rjB,OAC1B,QACS/0C,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFmylB,IAjVVzgmB,MAiV+Cm+lB,IAjV/Cn+lB,MAiVwE0+lB,IAjVxE1+lB,MAiVqG6xc,OAjVrG7xc,MAiVwHsgmB,IAjVxHtgmB,MAiVuKwoB,MAjVvKxoB,MAiV4L8hJ,OAjV5L9hJ,MAiVoNA,OAjVpNA,MAiV0O2zU,OAAS,CAA+C,QAC1X5zU,KAAKszD,WAlVmFrzD,MAAE,CAAAhQ,MAkVYywmB,GAAmBjgmB,QAAnBigmB,GAAmBhgmB,WAAK,EAC1I,OA/DKggmB,EAAmB,KAkFzB,MAAMM,GACFvhmB,YAAYkhmB,GAAcr0gB,GAAKk7G,GAAQw3Z,IACnCh/lB,KAAK2gmB,aAAeA,GACpB3gmB,KAAKssF,IAAMA,GACXtsF,KAAKwnM,OAASA,GACdxnM,KAAKg/lB,iBAAmBA,GACxBh/lB,KAAK5S,KAAOgiC,OAAOoG,OAAO,MAK1Bx1B,KAAKuhmB,uBAAwB,EAC7BvhmB,KAAKo3L,YAAc,IACvB,CACA3pK,UAAY,CACZ0mB,cAAc3mD,GAAM8pM,IAChB,OAAIA,GAUOt3L,KAAKssF,IAAIw5K,gBAAgBm6V,GAAe3oa,KAAcA,GAAW9pM,IAErEwS,KAAKssF,IAAIn4C,cAAc3mD,GAClC,CACA+pM,cAAcjqM,IACV,OAAO0S,KAAKssF,IAAIirG,cAAcjqM,GAClC,CACAkqM,WAAWlqM,IACP,OAAO0S,KAAKssF,IAAImuL,eAAentR,GACnC,CACAmnD,YAAY4R,GAAQoxI,KACK+pa,GAAen7iB,IAAUA,GAAO9O,QAAU8O,IAClD5R,YAAYgjJ,GAC7B,CACA5vB,aAAaxhH,GAAQoxI,GAAUC,IACvBrxI,KACqBm7iB,GAAen7iB,IAAUA,GAAO9O,QAAU8O,IAClDwhH,aAAa4vB,GAAUC,GAE5C,CACA3uI,YAAY1C,GAAQuxI,IACZvxI,IACAA,GAAO0C,YAAY6uI,GAE3B,CACAE,kBAAkBC,GAAgBC,IAC9B,IAAI9+J,GAA+B,iBAAnB6+J,GAA8B/3L,KAAKssF,IAAI/0B,cAAcwgI,IACjEA,GACJ,IAAK7+J,GACD,MAAM,IAAImzI,OAAc,MAAuFC,GAGnH,OAAK0rB,KACD9+J,GAAGjR,YAAc,IAEdiR,EACX,CACAyvB,WAAWw+F,IACP,OAAOA,GAAKx+F,UAChB,CACAsvI,YAAY9wC,IACR,OAAOA,GAAK8wC,WAChB,CACArwB,aAAa1uI,GAAI1rC,GAAMF,GAAOgqM,IAC1B,GAAIA,GAAW,CACX9pM,GAAO8pM,GAAY,IAAM9pM,GACzB,MAAMi0mB,GAAexB,GAAe3oa,IAChCmqa,GACAvokB,GAAGwokB,eAAeD,GAAcj0mB,GAAMF,IAGtC4rC,GAAG0uI,aAAap6K,GAAMF,GAE9B,MAEI4rC,GAAG0uI,aAAap6K,GAAMF,GAE9B,CACAs2E,gBAAgB1qC,GAAI1rC,GAAM8pM,IACtB,GAAIA,GAAW,CACX,MAAMmqa,GAAexB,GAAe3oa,IAChCmqa,GACAvokB,GAAGyokB,kBAAkBF,GAAcj0mB,IAGnC0rC,GAAG0qC,gBAAgB,GAAG0zH,MAAa9pM,KAE3C,MAEI0rC,GAAG0qC,gBAAgBp2E,GAE3B,CACAi8K,SAASvwI,GAAI1rC,IACT0rC,GAAG5N,UAAUvf,IAAIve,GACrB,CACAo8K,YAAY1wI,GAAI1rC,IACZ0rC,GAAG5N,UAAUtD,OAAOx6B,GACxB,CACA0qM,SAASh/J,GAAIrP,GAAOv8B,GAAOy4G,IACnBA,IAAS0oY,MAAoBC,SAAWD,MAAoB2/B,WAC5Dl1e,GAAGrP,MAAMuuK,YAAYvuK,GAAOv8B,GAAOy4G,GAAQ0oY,MAAoB2/B,UAAY,YAAc,IAGzFl1e,GAAGrP,MAAMA,IAASv8B,EAE1B,CACA6qM,YAAYj/J,GAAIrP,GAAOk8E,IACfA,GAAQ0oY,MAAoBC,SAE5Bx1c,GAAGrP,MAAM+3kB,eAAe/3kB,IAGxBqP,GAAGrP,MAAMA,IAAS,EAE1B,CACAuuK,YAAYl/J,GAAI1rC,GAAMF,IACR,MAAN4rC,KAKJA,GAAG1rC,IAAQF,GACf,CACA6e,SAASg7I,GAAM75J,IACX65J,GAAKopI,UAAYjjS,EACrB,CACAu4L,OAAO/8H,GAAQt9C,GAAO29C,IAGlB,GAAsB,iBAAXL,MACPA,MAASi7f,QAAUjlF,qBAAqB9+d,KAAKssF,IAAKxjC,KAE9C,MAAM,IAAIjhB,MAAM,4BAA4BihB,gBAAoBt9C,MAGxE,OAAOxL,KAAK2gmB,aAAajtkB,iBAAiBo1B,GAAQt9C,GAAOxL,KAAK6hmB,uBAAuB14iB,IACzF,CACA04iB,uBAAuBC,IAKnB,OAAQt2lB,KAMJ,GAAc,iBAAVA,GACA,OAAOs2lB,IAOkB,KAHA9hmB,KAAKg/lB,iBAC9Bh/lB,KAAKwnM,OAAOm+U,WAAW,IAAMm8E,GAAat2lB,KAC1Cs2lB,GAAat2lB,MAEbA,GAAM+b,gBAAe,CAIjC,EAUJ,SAASi6kB,GAAer6c,IACpB,MAAwB,aAAjBA,GAAKwB,cAA2Ct6J,IAAjB84J,GAAK5vG,OAC/C,CACA,MAAM+pjB,WAA0BN,GAC5BvhmB,YAAYkhmB,GAAcC,GAAkBmB,GAAQ9thB,GAAWqY,GAAKk7G,GAAQj6J,GAAOyxjB,IAC/ExujB,MAAMmwjB,GAAcr0gB,GAAKk7G,GAAQw3Z,IACjCh/lB,KAAK4gmB,iBAAmBA,GACxB5gmB,KAAK+hmB,OAASA,GACd/hmB,KAAKwtJ,WAAau0c,GAAOtzc,aAAa,CAAE5xH,KAAM,SAC9C78B,KAAK4gmB,iBAAiBpB,QAAQx/lB,KAAKwtJ,YACnC,MAAM38H,GAAS2vkB,GAAkBvshB,GAAUzrF,GAAIyrF,GAAUpjD,QACzD,UAAWhH,MAASgH,GAAQ,CACxB,MAAMkvkB,GAAU9ylB,SAASknC,cAAc,SACnC5G,IACAwyjB,GAAQn4b,aAAa,QAASr6H,IAElCwyjB,GAAQ93kB,YAAc4B,GACtB7pB,KAAKwtJ,WAAW/4G,YAAYsrjB,GAChC,CACJ,CACAiC,iBAAiB76c,IACb,OAAOA,KAASnnJ,KAAK+hmB,OAAS/hmB,KAAKwtJ,WAAarG,EACpD,CACA1yG,YAAY4R,GAAQoxI,IAChB,OAAOjnJ,MAAMiE,YAAYz0C,KAAKgimB,iBAAiB37iB,IAASoxI,GAC5D,CACA5vB,aAAaxhH,GAAQoxI,GAAUC,IAC3B,OAAOlnJ,MAAMq3H,aAAa7nK,KAAKgimB,iBAAiB37iB,IAASoxI,GAAUC,GACvE,CACA3uI,YAAY1C,GAAQuxI,IAChB,OAAOpnJ,MAAMuY,YAAY/oD,KAAKgimB,iBAAiB37iB,IAASuxI,GAC5D,CACAjvI,WAAWw+F,IACP,OAAOnnJ,KAAKgimB,iBAAiBxxjB,MAAMmY,WAAW3oD,KAAKgimB,iBAAiB76c,KACxE,CACA15H,UACIztB,KAAK4gmB,iBAAiBjB,WAAW3/lB,KAAKwtJ,WAC1C,EAEJ,MAAM4zc,WAAqCJ,GACvCvhmB,YAAYkhmB,GAAcC,GAAkB3shB,GAAW4shB,GAA2Bv0gB,GAAKk7G,GAAQw3Z,GAAkByB,IAC7GjwjB,MAAMmwjB,GAAcr0gB,GAAKk7G,GAAQw3Z,IACjCh/lB,KAAK4gmB,iBAAmBA,GACxB5gmB,KAAK6gmB,0BAA4BA,GACjC7gmB,KAAK6wB,OAAS4vkB,GAASD,GAAkBC,GAAQxshB,GAAUpjD,QAAUojD,GAAUpjD,MACnF,CACAwwkB,cACIrhmB,KAAK4gmB,iBAAiB1B,UAAUl/lB,KAAK6wB,OACzC,CACApD,UACSztB,KAAK6gmB,2BAGV7gmB,KAAK4gmB,iBAAiBvB,aAAar/lB,KAAK6wB,OAC5C,EAEJ,MAAMqwkB,WAA0CE,GAC5C3hmB,YAAYkhmB,GAAcC,GAAkB3shB,GAAWm+C,GAAOyue,GAA2Bv0gB,GAAKk7G,GAAQw3Z,IAClG,MAAMyB,GAASrue,GAAQ,IAAMn+C,GAAUzrF,GACvCgoD,MAAMmwjB,GAAcC,GAAkB3shB,GAAW4shB,GAA2Bv0gB,GAAKk7G,GAAQw3Z,GAAkByB,IAC3GzgmB,KAAKiimB,YAxUb,SAASC,GAAqBC,IAC1B,MAjBiB,oBAiBG9zlB,QAAQiylB,GAAiB6B,GACjD,CAsU2BD,CAAqBzB,IACxCzgmB,KAAKoimB,SAtUb,SAASC,GAAkBF,IACvB,MArBc,iBAqBG9zlB,QAAQiylB,GAAiB6B,GAC9C,CAoUwBE,CAAkB5B,GACtC,CACAU,YAAYrxkB,IACR9vB,KAAKqhmB,cACLrhmB,KAAK4nK,aAAa93I,GAAS9vB,KAAKoimB,SAAU,GAC9C,CACAjujB,cAAckS,GAAQ74D,IAClB,MAAM0rC,GAAKsX,MAAM2D,cAAckS,GAAQ74D,IACvC,OAAAgjD,MAAMo3H,aAAa1uI,GAAIl5B,KAAKiimB,YAAa,IAClC/okB,EACX,EACH,IAEKopkB,GAAe,MAArB,MAAMA,WAAwB7D,GAC1Bh/lB,YAAY6sF,IACR97C,MAAM87C,GACV,CAGAowH,SAASh6G,IACL,OAAO,CACX,CACAhvE,iBAAiB5D,GAAS4yE,GAAWkS,IACjC9kF,UAAQ4D,iBAAiBgvE,GAAWkS,IAAS,GACtC,IAAM50G,KAAK6zB,oBAAoB/D,GAAS4yE,GAAWkS,GAC9D,CACA/gF,oBAAoBi1B,GAAQ45C,GAAWv5C,IACnC,OAAOL,GAAOj1B,oBAAoB6uE,GAAWv5C,GACjD,QACSnpD,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF+zlB,IAjnBVrimB,MAinB2CwoB,MAAQ,CAA+C,QAC1LzoB,KAAKszD,WAlnBmFrzD,MAAE,CAAAhQ,MAknBYqymB,GAAe7hmB,QAAf6hmB,GAAe5hmB,WAAK,EACtI,OAlBK4hmB,EAAe,KA6BrB,MAAMC,GAAgB,CAAC,MAAO,UAAW,OAAQ,SAG3CC,GAAU,CACZ,KAAM,YACN,KAAM,MACN,OAAQ,SACR,OAAQ,SACRC,IAAO,SACPC,IAAO,SACPC,KAAQ,YACRC,MAAS,aACTC,GAAM,UACNC,KAAQ,YACRC,KAAQ,cACRh/b,OAAU,aACVi/b,IAAO,MAKLC,GAAuB,CACzB3+T,IAAQ94R,IAAUA,GAAMmgN,OACxB84V,QAAYj5iB,IAAUA,GAAMogN,QAC5BhiB,KAASp+L,IAAUA,GAAMqgN,QACzBnuJ,MAAUlyD,IAAUA,GAAMsgN,UAE9B,IAGMo3Y,GAAe,MAArB,MAAMA,WAAwBzE,GAK1Bh/lB,YAAY6sF,IACR97C,MAAM87C,GACV,CAMAowH,SAASh6G,IACL,OAAoD,MAA7CwggB,GAAgBC,eAAezggB,GAC1C,CASAhvE,iBAAiB5D,GAAS4yE,GAAWkS,IACjC,MAAM/R,GAAcqggB,GAAgBC,eAAezggB,IAC7C0ggB,GAAiBF,GAAgBG,cAAcxggB,GAAYyggB,QAAY1uf,GAAS50G,KAAKgtB,QAAQwxkB,WACnG,OAAOx+lB,KAAKgtB,QAAQwxkB,UAAUr9c,kBAAkB,OACrC4ia,QAAU45C,YAAY7tkB,GAAS+yE,GAAY0ggB,aAAiBH,IAE3E,CAUA,qBAAOD,CAAezggB,IAClB,MAAMjwC,GAAQiwC,GAAUp4G,cAAc6gC,MAAM,KACtCo4kB,GAAe9wiB,GAAMiL,QAC3B,GAAsB,IAAjBjL,GAAMrgE,QAAoC,YAAjBmxmB,IAA+C,UAAjBA,GACxD,OAAO,KAEX,MAAMrikB,GAAMgikB,GAAgBM,cAAc/wiB,GAAM42L,OAChD,IAAIi6W,GAAU,GACVG,GAAShxiB,GAAM5gE,QAAQ,QAa3B,GAZI4xmB,IAAS,IACThxiB,GAAMpjB,OAAOo0jB,GAAQ,GACrBH,GAAU,SAEdf,GAAcn3kB,QAAQs4kB,KAClB,MAAMrrlB,GAAQo6C,GAAM5gE,QAAQ6xmB,IACxBrrlB,IAAQ,IACRo6C,GAAMpjB,OAAOh3B,GAAO,GACpBirlB,IAAWI,GAAe,OAGlCJ,IAAWpikB,GACS,GAAhBuxB,GAAMrgE,QAA8B,IAAf8uC,GAAI9uC,OAEzB,OAAO,KAKX,MAAMkL,GAAS,CAAC,EAChBA,UAAOimmB,aAAkBA,GACzBjmmB,GAAOgmmB,QAAaA,GACbhmmB,EACX,CAWA,4BAAOqmmB,CAAsBn4lB,GAAOo4lB,IAChC,IAAIC,GAAUrB,GAAQh3lB,GAAM01B,MAAQ11B,GAAM01B,IACtCA,GAAM,GAMV,OALI0ikB,GAAY/xmB,QAAQ,UAAW,IAC/BgymB,GAAUr4lB,GAAMjf,KAChB20C,GAAM,WAGK,MAAX2ikB,KAAoBA,MAExBA,GAAUA,GAAQv5mB,cACF,MAAZu5mB,GACAA,GAAU,QAEO,MAAZA,KACLA,GAAU,OAEdtB,GAAcn3kB,QAAQs4kB,KACdA,KAAiBG,KAEbC,EADmBb,GAAqBS,KACzBl4lB,MACf01B,IAAOwikB,GAAe,IAE9B,GAEJxikB,IAAO2ikB,GACA3ikB,KAAQ0ikB,GACnB,CAQA,oBAAOP,CAAcC,GAAS1uf,GAASgqC,IACnC,OAAQpzI,KACA03lB,GAAgBS,sBAAsBn4lB,GAAO83lB,KAC7C1kd,GAAK+mY,WAAW,IAAM/wa,GAAQppG,IAAM,CAGhD,CAEA,oBAAOg4lB,CAAcxkmB,IACjB,MAAmB,QAAZA,GAAoB,SAAWA,EAC1C,QACSgB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF20lB,IA7xBVjjmB,MA6xB2CwoB,MAAQ,CAA+C,QAC1LzoB,KAAKszD,WA9xBmFrzD,MAAE,CAAAhQ,MA8xBYizmB,GAAezimB,QAAfyimB,GAAeximB,WAAK,EACtI,OAnIKwimB,EAAe,KA6PrB,MAWMa,IAAkB7pD,SAAsB0G,MAAc,UAXhB,CACxC,CAAEjwhB,QAASoxH,MAAa3/E,SAAU4hiB,MAClC,CAAErzkB,QAASo3e,MAAsB3lc,SAbrC,SAAS6hiB,KACLzG,EAAkBC,aACtB,EAW+Dz6hB,OAAO,GAClE,CAAEryC,QAASlI,KAAU8I,WARzB,SAASvL,KAELk+kB,gBAAaj3lB,UACNA,QACX,EAIgDqkB,KAAM,MAehD6ykB,GAAkC,IAAIt+kB,MAAoG,IAC1Iu+kB,GAAwB,CAC1B,CACIzzkB,QAAS0zkB,MACTniiB,SAt+BR,MAAMoiiB,EACFlxD,YAAYx0N,IACR2lR,MAAQC,sBAA2B,CAACpgc,GAAM0wY,IAAkB,KACxD,MAAMN,GAAc51N,GAASi2N,sBAAsBzwY,GAAM0wY,IACzD,GAAmB,MAAfN,GACA,MAAM,IAAInoY,MAAc,MAAwFC,GAGpH,OAAOkoY,IAEX+vD,MAAQE,2BAAgC,IAAM7lR,GAAS+1N,sBACvD4vD,MAAQG,0BAA+B,IAAM9lR,GAASg2N,qBAcjD2vD,MAAQI,uBACTJ,MAAQI,qBAA0B,IAEtCJ,MAAQI,qBAAwB7ikB,KAhBTqnB,KACnB,MAAMy7iB,GAAgBL,MAAQE,6BAC9B,IAAIlugB,GAAQqugB,GAAcxymB,OAC1B,MAAMyymB,GAAY,WACdtugB,KACa,GAATA,IACAptC,IAER,EACAy7iB,GAAcx5kB,QAASophB,KACnBA,GAAYT,WAAW8wD,GAAS,EACnC,EAMT,CACAhwD,sBAAsBj2N,GAAUx6K,GAAM0wY,IAClC,OAAY,MAAR1wY,GACO,KAEDw6K,GAAS81N,eAAetwY,MAIxB0wY,MAGNiP,QAAU+5C,aAAa15b,IAChBpkK,KAAK60iB,sBAAsBj2N,GAAUx6K,GAAKlgG,MAAM,GAEpDlkE,KAAK60iB,sBAAsBj2N,GAAUx6K,GAAKzZ,eAAe,GALrD,KAMf,GA07BIr5H,KAAM,IAEV,CACIX,QAASm0kB,MACT5iiB,SAAU4we,MACVxhhB,KAAM,CAAC8oK,MAAQk6W,MAAqB+vD,QAExC,CACI1zkB,QAASmihB,MACT5we,SAAU4we,MACVxhhB,KAAM,CAAC8oK,MAAQk6W,MAAqB+vD,SAGtCU,GAA2B,CAC7B,CAAEp0kB,QAASq0kB,MAAiB5iiB,SAAU,QACtC,CAAEzxC,QAASs0e,MAAc1ze,WA9C7B,SAASgtC,KACL,OAAO,IAAI0mc,KACf,EA4CuD3ze,KAAM,IAAM,CAC3DX,QAASwtkB,EACTj8hB,SAAUogiB,GACVt/hB,OAAO,EACP1xC,KAAM,CAAC7I,KAAU2xK,MAAQr4C,QAE7B,CAAEpxH,QAASwtkB,EAAuBj8hB,SAAUghiB,GAAiBlgiB,OAAO,EAAM1xC,KAAM,CAAC7I,OACjFi4kB,GAAqB/B,GAAkBP,GACvC,CAAEztkB,QAASqpK,MAAkBppK,YAAa8vkB,IAC1C,CAAE/vkB,QAAS0id,KAAYnxa,SAAUg8hB,EAAY5skB,KAAM,IAG/C,IAER,IASMqpK,GAAa,MAAnB,MAAMA,GACFl7L,YAAYwlmB,IAKZ,CAWA,2BAAOC,CAAqB93lB,IACxB,MAAO,CACHk2I,SAAUq3C,GACVtiK,UAAW,CACP,CAAE1H,QAASmhb,MAAQ1vY,SAAUh1D,GAAOglH,QAGhD,QACSpyH,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFosL,IA/+BV16L,MA++ByCkkmB,GAA+B,KAA6E,QAC7OnkmB,KAAKm4B,UAh/BmFl4B,KAAE,CAAAgO,KAg/BS0sL,IAA8D,QACjK36L,KAAKo4B,UAj/BmFn4B,MAAE,CAAAo4B,UAi/BmC,IAAI0skB,MAA6BX,IAAsB9rkB,QAAA,CAAY5xB,KAAcm6iB,QAAuB,EACjP,OA5BKlmX,EAAa,KA4Nb06H,GAAK,MAAX,MAAMA,GACF51T,YAAYg9F,IACRz8F,KAAKy8F,KAAOA,EAChB,CAIA0ogB,WACI,OAAOnlmB,KAAKy8F,KAAKvxB,KACrB,CAKAs9F,SAAS48b,IACLplmB,KAAKy8F,KAAKvxB,MAAQk6hB,IAAY,EAClC,QACSplmB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF8mT,IAnsCVp1T,MAmsCiCwoB,MAAQ,CAA+C,QAChLzoB,KAAKszD,WApsCmFrzD,MAAE,CAAAhQ,MAosCYolU,GAAK50T,QAAL40T,GAAK30T,UAAAC,WAAc,QAAW,EAChJ,OAnBK00T,EAAK,KAmdLgwS,GAAY,MAAlB,MAAMA,UACOrlmB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF82lB,GAAY,CAAsD,QACpKrlmB,KAAKszD,WAvoDmFrzD,MAAE,CAAAhQ,MAuoDYo1mB,GAAY5kmB,QAAA,SAAA8N,IAAA,IAAAorB,GAAA,YAAAA,GAAAprB,GAAA,IAAAA,IAAZ82lB,IAvoDdplmB,MAuoDiFqlmB,IAAgB3rkB,EAAA,EAAAh5B,WAAzD,QAA+D,EAC3M,OAHK0kmB,EAAY,KAQZC,GAAgB,MAAtB,MAAMA,WAAyBD,GAC3B5lmB,YAAYg9F,IACRjsD,QACAxwC,KAAKy8F,KAAOA,EAChB,CACAn+E,SAASrP,GAAK3hB,IACV,GAAa,MAATA,GACA,OAAO,KACX,OAAQ2hB,IACJ,KAAKi+f,MAAgB7ke,KACjB,OAAO/6C,GACX,KAAK4/gB,MAAgB/wK,KACjB,SAAIopQ,OAAiCj4mB,GAAO,SAA4B,EAC7Dk4mB,OAAiBl4mB,KAAK,EAE1Bm4mB,OAAezlmB,KAAKy8F,KAAMjxD,OAAOl+C,KAAQ6zC,WACpD,KAAK+re,MAAgBpuK,MACjB,SAAIymQ,OAAiCj4mB,GAAO,UAA8B,EAC/Dk4mB,OAAiBl4mB,IAErBA,GACX,KAAK4/gB,MAAgB5uK,OACjB,MAAIinQ,OAAiCj4mB,GAAO,UACxC,SAAOk4mB,OAAiBl4mB,IAE5B,MAAM,IAAI++K,MAAc,MAA6FC,GAEzH,KAAK4gW,MAAgBx7d,IACjB,SAAI6zjB,OAAiCj4mB,GAAO,QAA0B,EAC3Dk4mB,OAAiBl4mB,KAAK,EAE1Bo4mB,OAAcl6jB,OAAOl+C,KAChC,KAAK4/gB,MAAgBC,aACjB,MAAIo4F,OAAiCj4mB,GAAO,eACxC,SAAOk4mB,OAAiBl4mB,IAE5B,MAAM,IAAI++K,MAAc,MAAmGC,GAE/H,QACI,MAAM,IAAID,MAAc,MAA8FC,GAGlI,CACA5tJ,wBAAwBpxB,IACpB,SAAOq4mB,OAA6Br4mB,GACxC,CACAs4mB,yBAAyBt4mB,IACrB,SAAOu4mB,OAA8Bv4mB,GACzC,CACAw4mB,0BAA0Bx4mB,IACtB,SAAOy4mB,OAA+Bz4mB,GAC1C,CACA04mB,uBAAuB14mB,IACnB,SAAO24mB,OAA4B34mB,GACvC,CACA44mB,+BAA+B54mB,IAC3B,SAAO64mB,OAAoC74mB,GAC/C,QACS0S,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF+2lB,IAvsDVrlmB,MAusD4CwoB,MAAQ,CAA+C,QAC3LzoB,KAAKszD,WAxsDmFrzD,MAAE,CAAAhQ,MAwsDYq1mB,GAAgB7kmB,QAAhB6kmB,GAAgB5kmB,UAAAC,WAAc,QAAW,EAC3J,OA5DK2kmB,EAAgB,yUC1yDf,SAAS3nlB,KACZ,SAAOmsL,MAAQ,CAACh2J,EAAQi1J,MACpB,IAAI7sC,EAAa,KACjBpoH,EAAOsyjB,YACP,MAAMx9Y,MAAate,MAAyBvB,QAAY16M,OAAWA,OAAWA,EAAW,KACrF,IAAKylD,GAAUA,EAAOsyjB,WAAa,GAAK,IAAMtyjB,EAAOsyjB,UAEjD,YADAlqc,EAAa,MAGjB,MAAMmqc,GAAmBvyjB,EAAOwyjB,YAC1Br+J,GAAO/rS,EACbA,EAAa,KACTmqc,MAAsBp+J,IAAQo+J,KAAqBp+J,KACnDo+J,GAAiBl4lB,cAErB46L,GAAW56L,aAAY,GAE3B2lC,EAAOznC,UAAUu8M,IACZA,GAAW1jM,SACZg3I,EAAapoH,EAAOk1J,UAAQ,EAGxC,CCnBO,MAAMu9Z,WAA8Bz9Z,KACvCrpM,YAAYq0C,GAAQ0yjB,GAChBh2jB,QACAxwC,KAAK8zC,OAASA,GACd9zC,KAAKwmmB,eAAiBA,EACtBxmmB,KAAKoge,SAAW,KAChBpge,KAAKommB,UAAY,EACjBpmmB,KAAKsmmB,YAAc,QACfx6J,MAAQh4Z,MACR9zC,KAAKy7b,KAAO3nZ,GAAO2nZ,KAE3B,CACAL,WAAWryP,IACP,OAAO/oM,KAAKymmB,aAAap6lB,UAAU08L,GACvC,CACA09Z,aACI,MAAMppK,GAAUr9b,KAAKoge,SACrB,QAAK/iC,IAAWA,GAAQR,aACpB78b,KAAKoge,SAAWpge,KAAKwmmB,kBAElBxmmB,KAAKoge,QAChB,CACAsmI,YACI1mmB,KAAKommB,UAAY,EACjB,MAAQE,gBAAgBtmmB,KACxBA,KAAKoge,SAAWpge,KAAKsmmB,YAAc,KACuBA,IAAYn4lB,aAC1E,CACA66L,UACI,IAAI9sC,GAAal8J,KAAKsmmB,YACtB,IAAKpqc,GAAY,CACbA,GAAal8J,KAAKsmmB,YAAc,IAAI/6lB,MACpC,MAAM8xb,EAAUr9b,KAAKymmB,aACrBvqc,GAAWnwJ,IAAI/L,KAAK8zC,OAAOznC,aAAUi+L,MAAyB+yP,OAAShvc,EAAW,KAC9E2R,KAAK0mmB,YACLrpK,EAAQl2a,UAAS,EACjBgiB,KACAnpC,KAAK0mmB,YACLrpK,EAAQvuc,MAAMq6C,GAAG,EAClB,IAAMnpC,KAAK0mmB,eACVxqc,GAAWh3I,SACXllB,KAAKsmmB,YAAc,KACnBpqc,GAAa3wJ,MAAaunB,MAElC,CACA,OAAOopI,EACX,CACAv+I,WACI,OAAOgplB,KAAsB3mmB,KACjC,4KCnDG,SAAS4mmB,GAASrwgB,GACrB,OAAOA,GAAS,EACV,IAAMzjE,QACNg3K,MAAQ,CAACh2J,GAAQi1J,KACf,IAAI32I,GAAS,GACbte,GAAOznC,aAAUi+L,MAAyBvB,EAAaz7M,KACnD8kE,GAAOtwB,KAAKx0C,IACZipG,EAAQnkC,GAAOhgE,QAAUggE,GAAOsL,OAAM,EACvC,KACC,UAAWpwE,MAAS8kE,GAChB22I,EAAWp8L,KAAKrf,IAEpBy7M,EAAW5hL,UAAS,OACrB94B,EAAW,KACV+jE,GAAS,OACX,EAEd,wFCDA,MAAMy0iB,GAAiB,UAMjBC,GAAgCtzW,OAAO,cAC7C,MAAMuzW,GACFtnmB,YAAY2N,IACRpN,KAAKoN,OAASA,IAAU,CAAC,CAC7B,CACAqsB,IAAIjsC,IACA,OAAO4hC,OAAO0Y,UAAU8qB,eAAelK,KAAK1oD,KAAKoN,OAAQ5f,GAC7D,CACAkb,IAAIlb,IACA,GAAIwS,KAAKy5B,IAAIjsC,IAAO,CAChB,MAAMukC,EAAI/xB,KAAKoN,OAAO5f,IACtB,OAAO8D,MAAMC,QAAQwgC,GAAKA,EAAE,GAAKA,CACrC,CACA,OAAO,IACX,CACAw6M,OAAO/+O,IACH,GAAIwS,KAAKy5B,IAAIjsC,IAAO,CAChB,MAAMukC,EAAI/xB,KAAKoN,OAAO5f,IACtB,OAAO8D,MAAMC,QAAQwgC,GAAKA,EAAI,CAACA,EACnC,CACA,MAAO,EACX,CACA,QAAI1C,GACA,OAAOD,OAAOC,KAAKrvB,KAAKoN,OAC5B,EASJ,SAAS45lB,GAAkB55lB,GACvB,OAAO,IAAI25lB,GAAY35lB,EAC3B,CAgBA,SAAS65lB,GAAkBC,EAAUC,GAAchrlB,GAC/C,MAAMs2C,GAAQt2C,EAAMtlB,KAAKs0B,MAAM,KAK/B,GAJIsnC,GAAMrgE,OAAS80mB,EAAS90mB,QAIJ,SAApB+pB,EAAM+3D,YACLizhB,GAAaC,eAAiB30iB,GAAMrgE,OAAS80mB,EAAS90mB,QAEvD,OAAO,KAEX,MAAMi1mB,GAAY,CAAC,EAEnB,QAAShvlB,GAAQ,EAAGA,GAAQo6C,GAAMrgE,OAAQimB,KAAS,CAC/C,MAAM0xB,GAAO0oB,GAAMp6C,IACbivlB,GAAUJ,EAAS7ulB,IAEzB,GADoB0xB,GAAKza,WAAW,KAEhC+3kB,GAAUt9jB,GAAK10B,UAAU,IAAMiylB,WAE1Bv9jB,KAASu9jB,GAAQzwmB,KAEtB,OAAO,IAEf,CACA,MAAO,CAAE0wmB,SAAUL,EAAStlkB,MAAM,EAAG6wB,GAAMrgE,QAASi1mB,aACxD,CAWA,SAASG,GAAahvmB,EAAG2hE,IAGrB,MAAMouH,EAAK/vL,EAAIivmB,GAAYjvmB,QAAKnK,EAC1Bm6L,GAAKruH,GAAIstiB,GAAYttiB,SAAK9rE,EAChC,IAAKk6L,IAAOC,IAAMD,EAAGn2L,QAAUo2L,GAAGp2L,OAC9B,OAAO,EAEX,IAAI8uC,GACJ,QAASnZ,GAAI,EAAGA,GAAIwgK,EAAGn2L,OAAQ21B,KAE3B,GADAmZ,GAAMqnJ,EAAGxgK,KACJ2/kB,GAAoBlvmB,EAAE0oC,IAAMi5B,GAAEj5B,KAC/B,OAAO,EAGf,OAAO,CACX,CAIA,SAASumkB,GAAYxmkB,GACjB,MAAO,IAAI7R,OAAOC,KAAK4R,MAAS7R,OAAO+tT,sBAAsBl8S,GACjE,CAIA,SAASymkB,GAAoBlvmB,EAAG2hE,IAC5B,GAAI7oE,MAAMC,QAAQiH,IAAMlH,MAAMC,QAAQ4oE,IAAI,CACtC,GAAI3hE,EAAEpG,SAAW+nE,GAAE/nE,OACf,OAAO,EACX,MAAMu1mB,EAAU,IAAInvmB,GAAG0hE,OACjB0tiB,GAAU,IAAIztiB,IAAGD,OACvB,OAAOytiB,EAAQjukB,MAAM,CAAC2K,GAAKhsB,KAAUuvlB,GAAQvvlB,MAAWgsB,GAC5D,CAEI,OAAO7rC,IAAM2hE,EAErB,CAIA,SAASujF,GAAKllJ,GACV,OAAOA,EAAEpG,OAAS,EAAIoG,EAAEA,EAAEpG,OAAS,GAAK,IAC5C,CACA,SAASy1mB,GAAmBv6mB,GACxB,SAAI27J,KAAa37J,GACNA,KAEPmjf,OAAWnjf,IAAK,EAIT4pE,KAAK5iB,QAAQC,QAAQjnD,KAAM,EAE/B6mB,MAAG7mB,EACd,CAEA,MAAMw6mB,GAAiB,CACnBC,MAiBJ,SAASC,GAAmBr1jB,EAAWs1jB,GAAWC,GAM9C,IALKC,GAAUx1jB,EAAUu0jB,SAAUe,GAAUf,YAExCkB,GAAkBz1jB,EAAUu0jB,SAAUe,GAAUf,SAAUgB,IAG3Dv1jB,EAAU01jB,mBAAqBJ,GAAUI,iBACzC,OAAO,EACX,UAAW51mB,MAAKw1mB,GAAUn7f,SAGtB,IAFKn6D,EAAUm6D,SAASr6G,MAEnBu1mB,GAAmBr1jB,EAAUm6D,SAASr6G,IAAIw1mB,GAAUn7f,SAASr6G,IAAIy1mB,GAClE,OAAO,EAEf,OAAO,CACX,EA/BII,OAAUC,IAERC,GAAkB,CACpBT,MASJ,SAASU,GAAY91jB,EAAWs1jB,IAE5B,OAAOT,GAAa70jB,EAAWs1jB,GACnC,EAXIK,OA4BJ,SAASI,GAAe/1jB,EAAWs1jB,IAC/B,OAAQ74kB,OAAOC,KAAK44kB,IAAW71mB,QAAUg9B,OAAOC,KAAKsjB,GAAWvgD,QAC5Dg9B,OAAOC,KAAK44kB,IAAWvukB,MAAOwH,GAAQwmkB,GAAoB/0jB,EAAUzR,GAAM+mkB,GAAU/mkB,IAC5F,EA9BIynkB,QAAWA,KAAM,GAErB,SAASC,GAAaj2jB,EAAWs1jB,GAAWrhlB,GACxC,OAAQkhlB,GAAelhlB,EAAQojO,OAAOr3M,EAAU2oH,KAAM2sc,GAAU3sc,KAAM10I,EAAQshlB,eAC1EM,GAAgB5hlB,EAAQra,aAAaomC,EAAUpmC,YAAa07lB,GAAU17lB,gBAC/C,UAArBqa,EAAQiilB,UAAwBl2jB,EAAUk2jB,WAAaZ,GAAUY,SAC3E,CAyBA,SAASN,GAAqB51jB,EAAWs1jB,GAAWC,GAChD,OAAOY,GAA2Bn2jB,EAAWs1jB,GAAWA,GAAUf,SAAUgB,EAChF,CACA,SAASY,GAA2Bn2jB,EAAWs1jB,GAAWc,EAAgBb,IACtE,GAAIv1jB,EAAUu0jB,SAAS90mB,OAAS22mB,EAAe32mB,OAAQ,CACnD,MAAMkwJ,GAAU3vG,EAAUu0jB,SAAStlkB,MAAM,EAAGmnkB,EAAe32mB,QAK3D,SAJK+1mB,GAAU7ld,GAASymd,IAEpBd,GAAUb,gBAETgB,GAAkB9ld,GAASymd,EAAgBb,IAGpD,IACSv1jB,EAAUu0jB,SAAS90mB,SAAW22mB,EAAe32mB,OAAQ,CAG1D,IAFK+1mB,GAAUx1jB,EAAUu0jB,SAAU6B,KAE9BX,GAAkBz1jB,EAAUu0jB,SAAU6B,EAAgBb,IACvD,OAAO,EACX,UAAWz1mB,MAAKw1mB,GAAUn7f,SAGtB,IAFKn6D,EAAUm6D,SAASr6G,MAEnB81mB,GAAqB51jB,EAAUm6D,SAASr6G,IAAIw1mB,GAAUn7f,SAASr6G,IAAIy1mB,IACpE,OAAO,EAGf,OAAO,CACX,CACK,CACD,MAAM5ld,GAAUymd,EAAennkB,MAAM,EAAG+Q,EAAUu0jB,SAAS90mB,QACrDua,GAAOo8lB,EAAennkB,MAAM+Q,EAAUu0jB,SAAS90mB,QAKrD,SAJK+1mB,GAAUx1jB,EAAUu0jB,SAAU5kd,KAE9B8ld,GAAkBz1jB,EAAUu0jB,SAAU5kd,GAAS4ld,KAE/Cv1jB,EAAUm6D,SAAS+5f,MAEjBiC,GAA2Bn2jB,EAAUm6D,SAAS+5f,IAAiBoB,GAAWt7lB,GAAMu7lB,GAC3F,CACJ,CACA,SAASE,GAAkBY,EAAgBD,GAAgBnilB,GACvD,OAAOmilB,GAAervkB,MAAM,CAACuvkB,GAAkBlhlB,KACpCyglB,GAAgB5hlB,GAASoilB,EAAejhlB,IAAGm5M,WAAY+nY,GAAiB/nY,YAEvF,CA+BA,MAAMgoY,GACFzpmB,YAEA67J,GAAO,IAAI6tc,GAAgB,GAAI,CAAC,GAEhC58lB,EAAc,CAAC,EAEfs8lB,GAAW,MACP7omB,KAAKs7J,KAAOA,GACZt7J,KAAKuM,YAAcA,EACnBvM,KAAK6omB,SAAWA,EAOpB,CACA,iBAAI7rlB,GACA,OAAAhd,KAAKopmB,iBAAmBpC,GAAkBhnmB,KAAKuM,aACxCvM,KAAKopmB,cAChB,CAEAjokB,WACI,OAAOkokB,GAAmBj5jB,UAAUpwC,KACxC,EAWJ,MAAMmpmB,GACF1pmB,YAEAynmB,GAEAp6f,GACI9sG,KAAKknmB,SAAWA,GAChBlnmB,KAAK8sG,SAAWA,EAEhB9sG,KAAKqmD,OAAS,KACdj3B,OAAO3jB,OAAOqhG,GAAU1hF,QAAS2G,IAAOA,GAAEs0B,OAASrmD,KACvD,CAEAonmB,cACI,OAAOpnmB,KAAKqomB,iBAAmB,CACnC,CAEA,oBAAIA,GACA,OAAOj5kB,OAAOC,KAAKrvB,KAAK8sG,UAAU16G,MACtC,CAEA+uC,WACI,OAAOmokB,GAAetpmB,KAC1B,EA4BJ,MAAMupmB,GACF9pmB,YAEA5I,GAEAqqO,GACIlhO,KAAKnJ,KAAOA,GACZmJ,KAAKkhO,WAAaA,CACtB,CACA,gBAAIsoY,GACA,OAAAxpmB,KAAKypmB,gBAAkBzC,GAAkBhnmB,KAAKkhO,YACvClhO,KAAKypmB,aAChB,CAEAtokB,WACI,OAAOuokB,GAAc1pmB,KACzB,EAKJ,SAASmomB,GAAUn/c,EAAI72F,IACnB,OAAI62F,EAAG52J,SAAW+/D,GAAG//D,QAEd42J,EAAGtvH,MAAM,CAAClhC,EAAGuvB,KAAMvvB,EAAE3B,OAASs7D,GAAGpqC,IAAGlxB,KAC/C,CAeA,IAYM8ymB,GAAa,MAAnB,MAAMA,SACO3pmB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFo7lB,EAAa,CAAsD,QACrK3pmB,KAAKszD,WADmFrzD,MAAE,CAAAhQ,MACY05mB,EAAalpmB,YAAwC,IAAImpmB,GAAsBjpmB,WAApD,QAAyD,EACtM,OAHKgpmB,CAAa,KA0BnB,MAAMC,GAEFnsmB,MAAMm9B,IACF,MAAMxsB,EAAI,IAAIy7lB,GAAUjvkB,IACxB,OAAO,IAAIsukB,GAAQ96lB,EAAE07lB,mBAAoB17lB,EAAE27lB,mBAAoB37lB,EAAE47lB,gBACrE,CAEA55jB,UAAU65jB,IACN,MAAM3C,EAAU,IAAI4C,GAAiBD,GAAK3uc,MAAM,KAC1CnkJ,GAgGd,SAASgzlB,GAAqB/8lB,GAC1B,MAAMg9lB,GAAYh7kB,OAAOihB,QAAQjjC,GAC5Bvf,IAAI,EAAEL,EAAMF,MACNgE,MAAMC,QAAQjE,IACfA,GAAMO,IAAKkkC,IAAM,GAAGs4kB,GAAe78mB,MAAS68mB,GAAet4kB,OAAM2Z,KAAK,KACtE,GAAG2+jB,GAAe78mB,MAAS68mB,GAAe/8mB,OAE/CI,OAAQ4E,GAAMA,GACnB,OAAO83mB,GAAUh4mB,OAAS,IAAIg4mB,GAAU1+jB,KAAK,OAAS,EAC1D,CAzGsBy+jB,CAAqBF,GAAK19lB,aAExC,MAAO,GAAG+6lB,IAAUnwlB,KADsB,iBAAlB8ylB,GAAKpB,SAAwB,IAkE7D,SAASyB,GAAkBh4mB,GACvB,OAAOgkJ,UAAUhkJ,EACrB,CApEiEg4mB,CAAkBL,GAAKpB,YAAc,IAElG,EAEJ,MAAMQ,GAAqB,IAAIO,GAC/B,SAASN,GAAehC,GACpB,OAAOA,EAAQJ,SAASr5mB,IAAKugB,IAAMs7lB,GAAct7lB,KAAIs9B,KAAK,IAC9D,CACA,SAASw+jB,GAAiB5C,EAAShsc,IAC/B,IAAKgsc,EAAQF,cACT,OAAOkC,GAAehC,GAE1B,GAAIhsc,GAAM,CACN,MAAMivc,EAAUjD,EAAQx6f,SAAS+5f,IAC3BqD,GAAiB5C,EAAQx6f,SAAS+5f,KAAiB,GACnD,GACA/5f,GAAW,GACjB19E,cAAOihB,QAAQi3jB,EAAQx6f,UAAU1hF,QAAQ,EAAEgY,GAAGrR,OACtCqR,KAAMyjkB,IACN/5f,GAAShrE,KAAK,GAAGsB,MAAK8mkB,GAAiBn4kB,IAAG,KAAQ,GAGnD+6E,GAAS16G,OAAS,EAAI,GAAGm4mB,KAAWz9f,GAASphE,KAAK,SAAW6+jB,CACxE,CACK,CACD,MAAMz9f,EAvFd,SAAS09f,GAAqBlD,EAAS3qlB,IACnC,IAAIlB,EAAM,GACV2T,cAAOihB,QAAQi3jB,EAAQx6f,UAAU1hF,QAAQ,EAAEq/kB,GAAa3gY,OAChD2gY,KAAgB5D,KAChBprlB,EAAMA,EAAIhuB,OAAOkvB,GAAGmtN,GAAO2gY,KAAY,GAG/Cr7kB,OAAOihB,QAAQi3jB,EAAQx6f,UAAU1hF,QAAQ,EAAEq/kB,GAAa3gY,OAChD2gY,KAAgB5D,KAChBprlB,EAAMA,EAAIhuB,OAAOkvB,GAAGmtN,GAAO2gY,KAAY,GAGxChvlB,CACX,CA0EyB+ulB,CAAqBlD,EAAS,CAACv1kB,GAAGqR,KAC3CA,KAAMyjkB,GACC,CAACqD,GAAiB5C,EAAQx6f,SAAS+5f,KAAiB,IAExD,CAAC,GAAGzjkB,MAAK8mkB,GAAiBn4kB,IAAG,OAGxC,OAA6C,IAAzC3C,OAAOC,KAAKi4kB,EAAQx6f,UAAU16G,QAAoD,MAApCk1mB,EAAQx6f,SAAS+5f,IACxD,GAAGyC,GAAehC,MAAYx6f,EAAS,KAE3C,GAAGw8f,GAAehC,OAAax6f,EAASphE,KAAK,QACxD,CACJ,CAOA,SAASg/jB,GAAgBp4mB,GACrB,OAAOo9E,mBAAmBp9E,GACrB+b,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,IAC1B,CAOA,SAASg8lB,GAAe/3mB,GACpB,OAAOo4mB,GAAgBp4mB,GAAG+b,QAAQ,QAAS,IAC/C,CAiBA,SAASs8lB,GAAiBr4mB,GACtB,OAAOo4mB,GAAgBp4mB,GAAG+b,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OAAOA,QAAQ,QAAS,IAC3F,CACA,SAASs7B,GAAOr3C,GACZ,OAAO83C,mBAAmB93C,EAC9B,CAGA,SAASs4mB,GAAYt4mB,GACjB,OAAOq3C,GAAOr3C,EAAE+b,QAAQ,MAAO,OACnC,CACA,SAASq7lB,GAAc7ymB,GACnB,MAAO,GAAG8zmB,GAAiB9zmB,EAAKA,QAEpC,SAASg0mB,GAAsBz9lB,GAC3B,OAAOgiB,OAAOihB,QAAQjjC,GACjBvf,IAAI,EAAEqzC,GAAK5zC,KAAW,IAAIq9mB,GAAiBzpkB,OAAQypkB,GAAiBr9mB,MACpEo+C,KAAK,GACd,CAN4Cm/jB,CAAsBh0mB,EAAKqqO,aACvE,CAgBA,MAAM4pY,GAAa,eACnB,SAASC,GAAc3okB,GACnB,MAAMq7B,GAAQr7B,EAAIq7B,MAAMqtiB,IACxB,OAAOrtiB,GAAQA,GAAM,GAAK,EAC9B,CACA,MAAMutiB,GAA0B,gBAK1BC,GAAiB,YAMjBC,GAAuB,UAM7B,MAAMrB,GACFpqmB,YAAYm7B,IACR56B,KAAK46B,IAAMA,GACX56B,KAAK6tH,UAAYjzF,EACrB,CACAkvkB,mBAEI,OADA9pmB,KAAKmrmB,gBAAgB,KACE,KAAnBnrmB,KAAK6tH,WAAoB7tH,KAAKormB,eAAe,MAAQprmB,KAAKormB,eAAe,KAClE,IAAIjC,GAAgB,GAAI,CAAC,GAG7B,IAAIA,GAAgB,GAAInpmB,KAAKqrmB,gBACxC,CACAtB,mBACI,MAAM38lB,GAAS,CAAC,EAChB,GAAIpN,KAAKmrmB,gBAAgB,KACrB,GACInrmB,KAAKsrmB,gBAAgBl+lB,UAChBpN,KAAKmrmB,gBAAgB,MAElC,OAAO/9lB,EACX,CACA48lB,gBACI,OAAOhqmB,KAAKmrmB,gBAAgB,KAAO/gkB,mBAAmBpqC,KAAK6tH,WAAa,IAC5E,CACAw9e,gBACI,GAAuB,KAAnBrrmB,KAAK6tH,UACL,MAAO,CAAC,EAEZ7tH,KAAKmrmB,gBAAgB,KACrB,MAAMjE,GAAW,GAIjB,IAHKlnmB,KAAKormB,eAAe,MACrBlE,GAASplkB,KAAK9hC,KAAKurmB,gBAEhBvrmB,KAAKormB,eAAe,OAASprmB,KAAKormB,eAAe,QAAUprmB,KAAKormB,eAAe,OAClFprmB,KAAKujG,QAAQ,KACb2jgB,GAASplkB,KAAK9hC,KAAKurmB,gBAEvB,IAAIz+f,EAAW,CAAC,EACZ9sG,KAAKormB,eAAe,QACpBprmB,KAAKujG,QAAQ,KACbuJ,EAAW9sG,KAAKwrmB,aAAY,IAEhC,IAAI/vlB,GAAM,CAAC,EACX,OAAIzb,KAAKormB,eAAe,OACpB3vlB,GAAMzb,KAAKwrmB,aAAY,KAEvBtE,GAAS90mB,OAAS,GAAKg9B,OAAOC,KAAKy9E,GAAU16G,OAAS,KACtDqpB,GAAIorlB,IAAkB,IAAIsC,GAAgBjC,GAAUp6f,IAEjDrxF,EACX,CAGA8vlB,eACI,MAAM10mB,GAAOk0mB,GAAc/qmB,KAAK6tH,WAChC,GAAa,KAATh3H,IAAemJ,KAAKormB,eAAe,KACnC,MAAM,IAAI/+b,MAAc,MAAyFC,GAGrH,OAAAtsK,KAAKujG,QAAQ1sG,IACN,IAAI0ymB,GAAW5/jB,GAAO9yC,IAAOmJ,KAAKyrmB,oBAC7C,CACAA,oBACI,MAAMr+lB,GAAS,CAAC,EAChB,KAAOpN,KAAKmrmB,gBAAgB,MACxBnrmB,KAAK0rmB,WAAWt+lB,IAEpB,OAAOA,EACX,CACAs+lB,WAAWt+lB,IACP,MAAM8zB,EAvFd,SAASyqkB,GAAuBvpkB,GAC5B,MAAMq7B,GAAQr7B,EAAIq7B,MAAMutiB,IACxB,OAAOvtiB,GAAQA,GAAM,GAAK,EAC9B,CAoFoBkuiB,CAAuB3rmB,KAAK6tH,WACxC,IAAK3sF,EACD,OAEJlhC,KAAKujG,QAAQriE,GACb,IAAI5zC,GAAQ,GACZ,GAAI0S,KAAKmrmB,gBAAgB,KAAM,CAC3B,MAAMS,GAAab,GAAc/qmB,KAAK6tH,WAClC+9e,KACAt+mB,GAAQs+mB,GACR5rmB,KAAKujG,QAAQj2G,IAErB,CACA8f,GAAOu8B,GAAOzI,IAAQyI,GAAOr8C,GACjC,CAEAg+mB,gBAAgBl+lB,IACZ,MAAM8zB,EAlGd,SAAS2qkB,GAAiBzpkB,GACtB,MAAMq7B,GAAQr7B,EAAIq7B,MAAMwtiB,IACxB,OAAOxtiB,GAAQA,GAAM,GAAK,EAC9B,CA+FoBouiB,CAAiB7rmB,KAAK6tH,WAClC,IAAK3sF,EACD,OAEJlhC,KAAKujG,QAAQriE,GACb,IAAI5zC,GAAQ,GACZ,GAAI0S,KAAKmrmB,gBAAgB,KAAM,CAC3B,MAAMS,GAnGlB,SAASE,GAAwB1pkB,GAC7B,MAAMq7B,GAAQr7B,EAAIq7B,MAAMytiB,IACxB,OAAOztiB,GAAQA,GAAM,GAAK,EAC9B,CAgG+BquiB,CAAwB9rmB,KAAK6tH,WAC5C+9e,KACAt+mB,GAAQs+mB,GACR5rmB,KAAKujG,QAAQj2G,IAErB,CACA,MAAMy+mB,GAAanB,GAAY1pkB,GACzB8qkB,GAAapB,GAAYt9mB,IAC/B,GAAI8f,GAAOwlD,eAAem5iB,IAAa,CAEnC,IAAIE,GAAa7+lB,GAAO2+lB,IACnBz6mB,MAAMC,QAAQ06mB,MACfA,GAAa,CAACA,IACd7+lB,GAAO2+lB,IAAcE,IAEzBA,GAAWnqkB,KAAKkqkB,GACpB,MAGI5+lB,GAAO2+lB,IAAcC,EAE7B,CAEAR,YAAYU,IACR,MAAMhF,EAAW,CAAC,EAElB,IADAlnmB,KAAKujG,QAAQ,MACLvjG,KAAKmrmB,gBAAgB,MAAQnrmB,KAAK6tH,UAAUz7H,OAAS,GAAG,CAC5D,MAAMyE,GAAOk0mB,GAAc/qmB,KAAK6tH,WAC1BlhH,GAAO3M,KAAK6tH,UAAUh3H,GAAKzE,QAGjC,GAAa,MAATua,IAAyB,MAATA,IAAyB,MAATA,GAChC,MAAM,IAAI0/J,MAAc,MAAiFC,GAE7G,IAAI6/b,GACAt1mB,GAAKhF,QAAQ,MAAO,GACpBs6mB,GAAat1mB,GAAK+qC,MAAM,EAAG/qC,GAAKhF,QAAQ,MACxCmO,KAAKujG,QAAQ4ogB,IACbnsmB,KAAKujG,QAAQ,MAER2ogB,KACLC,GAAatF,IAEjB,MAAM/5f,GAAW9sG,KAAKqrmB,gBACtBnE,EAASiF,IAC4B,IAAjC/8kB,OAAOC,KAAKy9E,IAAU16G,OAChB06G,GAAS+5f,IACT,IAAIsC,GAAgB,GAAIr8f,IAClC9sG,KAAKmrmB,gBAAgB,KACzB,CACA,OAAOjE,CACX,CACAkE,eAAehpkB,IACX,OAAOpiC,KAAK6tH,UAAUv+F,WAAW8S,GACrC,CAEA+okB,gBAAgB/okB,IACZ,QAAIpiC,KAAKormB,eAAehpkB,MACpBpiC,KAAK6tH,UAAY7tH,KAAK6tH,UAAUx4G,UAAU+sB,GAAIhwC,SACvC,EAGf,CACAmxG,QAAQnhE,IACJ,IAAKpiC,KAAKmrmB,gBAAgB/okB,IACtB,MAAM,IAAIiqI,MAAc,MAA0FC,EAE1H,EAEJ,SAAS8/b,GAAWC,GAChB,OAAOA,EAAcnF,SAAS90mB,OAAS,EACjC,IAAI+2mB,GAAgB,GAAI,CAAEmD,CAACzF,IAAiBwF,IAC5CA,CACV,CAWA,SAASE,GAAmBpF,GACxB,MAAMqF,GAAc,CAAC,EACrB,UAAY/B,GAAa3gY,MAAU16M,OAAOihB,QAAQ82jB,EAAar6f,UAAW,CACtE,MAAM2/f,GAAiBF,GAAmBziY,IAE1C,GAAI2gY,KAAgB5D,IACmB,IAAnC4F,GAAevF,SAAS90mB,QACxBq6mB,GAAerF,cACf,UAAYsF,GAAkBC,MAAev9kB,OAAOihB,QAAQo8jB,GAAe3/f,UACvE0/f,GAAYE,IAAoBC,QAG/BF,GAAevF,SAAS90mB,OAAS,GAAKq6mB,GAAerF,iBAC1DoF,GAAY/B,IAAegC,GAEnC,CAEA,OAUJ,SAASG,GAAqBt6mB,GAC1B,GAA2B,IAAvBA,EAAE+1mB,kBAA0B/1mB,EAAEw6G,SAAS+5f,IAAiB,CACxD,MAAMp0mB,GAAIH,EAAEw6G,SAAS+5f,IACrB,OAAO,IAAIsC,GAAgB72mB,EAAE40mB,SAASz5mB,OAAOgF,GAAEy0mB,UAAWz0mB,GAAEq6G,SAChE,CACA,OAAOx6G,CACX,CAhBWs6mB,CADG,IAAIzD,GAAgBhC,EAAaD,SAAUsF,IAEzD,CAgBA,SAASK,GAAU96kB,GACf,OAAOA,aAAam3kB,EACxB,CAyDA,SAAS4D,GAA4B3wlB,GACjC,IAAI4wlB,GAaJ,MACMC,GAAmBZ,GAbzB,SAASa,EAAqCC,IAC1C,MAAMC,GAAe,CAAC,EACtB,UAAWC,MAAiBF,GAAapggB,SAAU,CAC/C,MAAMwuD,GAAO2xc,EAAqCG,IAClDD,GAAaC,GAAcC,QAAU/xc,EACzC,CACA,MAAM6rc,GAAe,IAAIgC,GAAgB+D,GAAatykB,IAAKuykB,IAC3D,OAAID,KAAiB/wlB,IACjB4wlB,GAAc5F,IAEXA,EACX,CACsB8F,CAAqC9wlB,EAAMm/I,OAEjE,OAAOyxc,IAAeC,EAC1B,CACA,SAASM,GAA8B93lB,EAAYs7N,GAAUvkO,EAAas8lB,IACtE,IAAIvtc,GAAO9lJ,EACX,KAAO8lJ,GAAKj1G,QACRi1G,GAAOA,GAAKj1G,OAKhB,GAAwB,IAApByqL,GAAS1+O,OACT,OAAO63mB,GAAK3uc,GAAMA,GAAMA,GAAM/uJ,EAAas8lB,IAE/C,MAAM78gB,GA4EV,SAASuhhB,GAAkBz8X,GACvB,GAA2B,iBAAhBA,EAAS,IAAuC,IAApBA,EAAS1+O,QAAgC,MAAhB0+O,EAAS,GACrE,OAAO,IAAI08X,IAAW,EAAM,EAAG18X,GAEnC,IAAI28X,GAAqB,EACrBC,GAAa,EACjB,MAAMjylB,GAAMq1N,EAAS3sM,OAAO,CAAC1oB,GAAKovM,GAAK8iZ,MACnC,GAAmB,iBAAR9iZ,IAA2B,MAAPA,GAAa,CACxC,GAAIA,GAAI+iZ,QAAS,CACb,MAAMA,GAAU,CAAC,EACjBx+kB,cAAOihB,QAAQw6K,GAAI+iZ,SAASxilB,QAAQ,EAAE59B,GAAMsjP,OACxC88X,GAAQpgnB,IAA4B,iBAAbsjP,GAAwBA,GAAS3lN,MAAM,KAAO2lN,KAElE,IAAIr1N,GAAK,CAAEmylB,YACtB,CACA,GAAI/iZ,GAAIgjZ,YACJ,MAAO,IAAIpylB,GAAKovM,GAAIgjZ,YAE5B,CACA,MAAqB,iBAARhjZ,GACF,IAAIpvM,GAAKovM,IAEL,IAAX8iZ,IACA9iZ,GAAI1/L,MAAM,KAAKC,QAAQ,CAAC0ilB,GAASC,MACZ,GAAbA,IAA8B,MAAZD,KAGA,GAAbC,IAA8B,KAAZD,GAEvBJ,GAAa,EAEI,OAAZI,GAELL,KAEgB,IAAXK,IACLrylB,GAAIqmB,KAAKgskB,IAAO,GAGjBrylB,IAEJ,IAAIA,GAAKovM,GAAG,EACpB,IACH,OAAO,IAAI2iZ,GAAWE,EAAYD,GAAoBhylB,GAC1D,CAxHgB8xlB,CAAkBz8X,IAC9B,GAAI9kJ,GAAIgihB,SACJ,OAAO/D,GAAK3uc,GAAMA,GAAM,IAAI6tc,GAAgB,GAAI,CAAC,GAAI58lB,EAAas8lB,IAEtE,MAAMlzkB,GA4HV,SAASs4kB,GAAmCjihB,EAAKsvE,GAAMxyG,GACnD,GAAIkjC,EAAI0hhB,WACJ,OAAO,IAAIQ,GAAS5yc,IAAM,EAAM,GAEpC,IAAKxyG,EAKD,OAAO,IAAIoljB,GAAS5yc,IAAM,EAAO0vD,KAErC,GAAsB,OAAlBliK,EAAOzC,OACP,OAAO,IAAI6njB,GAASpljB,GAAQ,EAAM,GAEtC,MAAM27N,GAAW0pV,GAAenihB,EAAI8kJ,SAAS,IAAM,EAAI,EAEvD,OAEJ,SAASs9X,GAAiCtimB,EAAOuM,GAAOo1lB,GACpD,IAAI3wZ,GAAIhxM,EACJuimB,GAAKh2lB,GACLu0Z,GAAK6gM,EACT,KAAO7gM,GAAKyhM,IAAI,CAGZ,GAFAzhM,IAAMyhM,GACNvxZ,GAAIA,GAAEz2J,QACDy2J,GACD,MAAM,IAAIzwC,MAAc,MAAsFC,GAElH+hc,GAAKvxZ,GAAEoqZ,SAAS90mB,MACpB,CACA,OAAO,IAAI87mB,GAASpxZ,IAAG,EAAOuxZ,GAAKzhM,GACvC,CAfWwhM,CAAiCtljB,EAD1BA,EAAOo+iB,SAAS90mB,OAAS,EAAIqyR,GACYz4L,EAAIyhhB,mBAC/D,CA7IqBQ,CAAmCjihB,GAAKsvE,GAAM9lJ,GACzD84lB,GAAkB34kB,GAAS44kB,gBAC3BC,EAA2B74kB,GAASwxkB,aAAcxxkB,GAAStd,MAAO2zE,GAAI8kJ,UACtE29X,GAAmB94kB,GAASwxkB,aAAcxxkB,GAAStd,MAAO2zE,GAAI8kJ,UACpE,OAAOm5X,GAAK3uc,GAAM3lI,GAASwxkB,aAAcmH,GAAiB/hmB,EAAas8lB,GAC3E,CACA,SAASsF,GAAe1/b,GACpB,MAA0B,iBAAZA,GAAmC,MAAXA,IAAoBA,EAAQm/b,UAAYn/b,EAAQo/b,WAC1F,CAKA,SAASa,GAAqBjgc,GAC1B,MAA0B,iBAAZA,GAAmC,MAAXA,GAAmBA,EAAQm/b,OACrE,CACA,SAAS3D,GAAK0E,EAASC,GAAiBN,EAAiB/hmB,GAAas8lB,IAClE,IAMIwD,GANAwC,GAAK,CAAC,EACNtimB,IACA6iB,OAAOihB,QAAQ9jC,IAAa6e,QAAQ,EAAE59B,GAAMF,OACxCuhnB,GAAGrhnB,IAAQ8D,MAAMC,QAAQjE,IAASA,GAAMO,IAAKkkC,IAAM,GAAGA,MAAO,GAAGzkC,IAAK,GAKzE++mB,GADAsC,IAAYC,GACIN,EAGAQ,GAAeH,EAASC,GAAiBN,GAE7D,MAAMtjT,GAAUohT,GAAWG,GAAmBF,KAC9C,OAAO,IAAInD,GAAQl+S,GAAS6jT,GAAIhG,GACpC,CAQA,SAASiG,GAAexsd,EAASysd,GAAYC,GACzC,MAAMligB,GAAW,CAAC,EAClB19E,cAAOihB,QAAQiyG,EAAQx1C,UAAU1hF,QAAQ,EAAE+glB,GAAY15mB,OAE/Cq6G,GAASq/f,IADT15mB,KAAMs8mB,GACiBC,EAGAF,GAAer8mB,GAAGs8mB,GAAYC,EAAU,GAGhE,IAAI7F,GAAgB7md,EAAQ4kd,SAAUp6f,GACjD,CACA,MAAM0ggB,GACF/tmB,YAAYiumB,GAAYD,EAAoB38X,IAIxC,GAHA9wO,KAAK0tmB,WAAaA,GAClB1tmB,KAAKytmB,mBAAqBA,EAC1BztmB,KAAK8wO,SAAWA,GACZ48X,IAAc58X,GAAS1+O,OAAS,GAAK+7mB,GAAer9X,GAAS,IAC7D,MAAM,IAAIzkE,MAAc,MAA6FC,GAGzH,MAAM2ic,GAAgBn+X,GAAS37O,KAAKu5mB,IACpC,GAAIO,IAAiBA,KAAkBvxd,GAAKozF,IACxC,MAAM,IAAIzkE,MAAc,MAA4FC,EAG5H,CACA0hc,SACI,OAAOhumB,KAAK0tmB,YAAuC,IAAzB1tmB,KAAK8wO,SAAS1+O,QAAoC,KAApB4N,KAAK8wO,SAAS,EAC1E,EAgDJ,MAAMo9X,GACFzumB,YAAY0nmB,GAAcoH,EAAiBl2lB,IACvCrY,KAAKmnmB,aAAeA,GACpBnnmB,KAAKuumB,gBAAkBA,EACvBvumB,KAAKqY,MAAQA,EACjB,EAwCJ,SAASo2lB,GAAmBtH,EAAcn2b,GAAY8/D,GAElD,GADAq2X,IAAiB,IAAIgC,GAAgB,GAAI,CAAC,GACL,IAAjChC,EAAaD,SAAS90mB,QAAgB+0mB,EAAaC,cACnD,OAAOoH,EAA2BrH,EAAcn2b,GAAY8/D,GAEhE,MAAM9iO,GAuEV,SAASkhmB,EAAa/H,EAAcn2b,GAAY8/D,GAC5C,IAAIq+X,GAAsB,EACtBC,GAAmBp+b,GACvB,MAAMq+b,GAAU,CAAE5xiB,OAAO,EAAO6xiB,UAAW,EAAGC,aAAc,GAC5D,KAAOH,GAAmBjI,EAAaD,SAAS90mB,QAAQ,CACpD,GAAI+8mB,IAAuBr+X,EAAS1+O,OAChC,OAAOi9mB,GACX,MAAMx4mB,GAAOswmB,EAAaD,SAASkI,IAC7B3gc,GAAUqiE,EAASq+X,IAIzB,GAAIT,GAAqBjgc,IACrB,MAEJ,MAAM+gc,GAAO,GAAG/gc,KACV9hK,GAAOwimB,GAAsBr+X,EAAS1+O,OAAS,EAAI0+O,EAASq+X,GAAsB,GAAK,KAC7F,GAAIC,GAAmB,QAAc/gnB,IAATmhnB,GACxB,MACJ,GAAIA,IAAQ7imB,IAAwB,iBAATA,SAAsCte,IAAjBse,GAAKihmB,QAAuB,CACxE,IAAK6B,GAAQD,GAAM7imB,GAAM9V,IACrB,OAAOw4mB,GACXF,IAAuB,CAC3B,KACK,CACD,IAAKM,GAAQD,GAAM,CAAC,EAAG34mB,IACnB,OAAOw4mB,GACXF,IACJ,CACAC,IACJ,CACA,MAAO,CAAE3xiB,OAAO,EAAM6xiB,UAAWF,GAAkBG,aAAcJ,GACrE,CAvGcD,CAAa/H,EAAcn2b,GAAY8/D,GAC3C4+X,GAAiB5+X,EAASlvM,MAAM5zB,GAAEuhmB,cACxC,GAAIvhmB,GAAEyvD,OAASzvD,GAAEshmB,UAAYnI,EAAaD,SAAS90mB,OAAQ,CACvD,MAAM0qN,GAAI,IAAIqsZ,GAAgBhC,EAAaD,SAAStlkB,MAAM,EAAG5zB,GAAEshmB,WAAY,CAAC,GAC5ExyZ,UAAEhwG,SAAS+5f,IAAkB,IAAIsC,GAAgBhC,EAAaD,SAAStlkB,MAAM5zB,GAAEshmB,WAAYnI,EAAar6f,UACjG0hgB,EAA2B1xZ,GAAG,EAAG4yZ,GAC5C,CACK,OAAI1hmB,GAAEyvD,OAAmC,IAA1BiyiB,GAAet9mB,OACxB,IAAI+2mB,GAAgBhC,EAAaD,SAAU,CAAC,GAE9Cl5lB,GAAEyvD,QAAU0piB,EAAaC,cACvBuI,GAAsBxI,EAAcn2b,GAAY8/D,GAElD9iO,GAAEyvD,MACA+wiB,EAA2BrH,EAAc,EAAGuI,IAG5CC,GAAsBxI,EAAcn2b,GAAY8/D,EAE/D,CACA,SAAS09X,EAA2BrH,EAAcn2b,GAAY8/D,GAC1D,GAAwB,IAApBA,EAAS1+O,OACT,OAAO,IAAI+2mB,GAAgBhC,EAAaD,SAAU,CAAC,GAElD,CACD,MAAM0G,GApCd,SAASgC,GAAW9+X,GAChB,OAAI49X,GAAqB59X,EAAS,IACvBA,EAAS,GAAG88X,QAEhB,CAAEtB,CAACzF,IAAiB/1X,EAC/B,CA+BwB8+X,CAAW9+X,GACrBhkI,GAAW,CAAC,EAsBlB,GAAI19E,OAAOC,KAAKu+kB,IAASp8mB,KAAMslF,IAAMA,KAAM+vhB,KACvCM,EAAar6f,SAAS+5f,KACY,IAAlCM,EAAakB,kBAC6C,IAA1DlB,EAAar6f,SAAS+5f,IAAgBK,SAAS90mB,OAAc,CAC7D,MAAMy9mB,GAAuBrB,EAA2BrH,EAAar6f,SAAS+5f,IAAiB71b,GAAY8/D,GAC3G,OAAO,IAAIq4X,GAAgBhC,EAAaD,SAAU2I,GAAqB/igB,SAC3E,CACA19E,cAAOihB,QAAQu9jB,IAASxilB,QAAQ,EAAEiilB,GAAQv8X,OACd,iBAAbA,KACPA,GAAW,CAACA,KAEC,OAAbA,KACAhkI,GAASuggB,IAAUoB,GAAmBtH,EAAar6f,SAASuggB,IAASr8b,GAAY8/D,IAAQ,GAGjG1hN,OAAOihB,QAAQ82jB,EAAar6f,UAAU1hF,QAAQ,EAAEq/kB,GAAa3gY,YAC5Bz7O,IAAzBu/mB,GAAQnD,MACR39f,GAAS29f,IAAe3gY,MAGzB,IAAIq/X,GAAgBhC,EAAaD,SAAUp6f,GACtD,CACJ,CAkCA,SAAS6igB,GAAsBxI,EAAcn2b,GAAY8/D,GACrD,MAAMkZ,GAAQm9W,EAAaD,SAAStlkB,MAAM,EAAGovI,IAC7C,IAAIjpJ,GAAI,EACR,KAAOA,GAAI+oN,EAAS1+O,QAAQ,CACxB,MAAMq8K,GAAUqiE,EAAS/oN,IACzB,GAAI2mlB,GAAqBjgc,IAAU,CAC/B,MAAM3hE,GAAWgjgB,GAAyBrhc,GAAQm/b,SAClD,OAAO,IAAIzE,GAAgBn/W,GAAOl9I,GACtC,CAEA,GAAU,IAAN/kF,IAAWomlB,GAAer9X,EAAS,IAAK,CAExCkZ,GAAMloN,KAAK,IAAIynkB,GADLpC,EAAaD,SAASl2b,IACJn6K,KAAMk0C,GAAU+lM,EAAS,MACrD/oN,KACA,QACJ,CACA,MAAMynlB,GAAOd,GAAqBjgc,IAAWA,GAAQm/b,QAAQ/G,IAAkB,GAAGp4b,KAC5E9hK,GAAOob,GAAI+oN,EAAS1+O,OAAS,EAAI0+O,EAAS/oN,GAAI,GAAK,KACrDynlB,IAAQ7imB,IAAQwhmB,GAAexhmB,KAC/Bq9O,GAAMloN,KAAK,IAAIynkB,GAAWiG,GAAMzkkB,GAAUp+B,MAC1Cob,IAAK,IAGLiiO,GAAMloN,KAAK,IAAIynkB,GAAWiG,GAAM,CAAC,IACjCznlB,KAER,CACA,OAAO,IAAIohlB,GAAgBn/W,GAAO,CAAC,EACvC,CACA,SAAS8lX,GAAyBlC,GAC9B,MAAM9ggB,GAAW,CAAC,EAClB19E,cAAOihB,QAAQu9jB,GAASxilB,QAAQ,EAAEiilB,EAAQv8X,OACd,iBAAbA,KACPA,GAAW,CAACA,KAEC,OAAbA,KACAhkI,GAASuggB,GAAUsC,GAAsB,IAAIxG,GAAgB,GAAI,CAAC,GAAI,EAAGr4X,IAAQ,GAGlFhkI,EACX,CACA,SAAS/hE,GAAU39B,GACf,MAAMqO,GAAM,CAAC,EACb2T,cAAOihB,QAAQjjC,GAAQge,QAAQ,EAAEgY,EAAGrR,MAAQtW,GAAI2nB,GAAK,GAAGrR,MACjDtW,EACX,CACA,SAASg0lB,GAAQ54mB,EAAMuW,GAAQk6lB,GAC3B,OAAOzwmB,GAAQywmB,EAAQzwmB,MAAQ2wmB,GAAap6lB,GAAQk6lB,EAAQpmY,WAChE,CAEA,MAAM6uY,EAAwB,aAM9B,IAAIC,GACH,SAAUA,GACPA,SAAUA,EAAUtmc,gBAAqB,GAAK,kBAC9Csmc,EAAUA,EAAUvwkB,cAAmB,GAAK,gBAC5CuwkB,EAAUA,EAAUC,iBAAsB,GAAK,mBAC/CD,EAAUA,EAAUE,gBAAqB,GAAK,kBAC9CF,EAAUA,EAAUG,iBAAsB,GAAK,mBAC/CH,EAAUA,EAAUI,aAAkB,GAAK,eAC3CJ,EAAUA,EAAUK,WAAgB,GAAK,aACzCL,EAAUA,EAAUM,iBAAsB,GAAK,mBAC/CN,EAAUA,EAAUO,eAAoB,GAAK,iBAC7CP,EAAUA,EAAUQ,qBAA0B,GAAK,uBACnDR,EAAUA,EAAUS,mBAAwB,IAAM,qBAClDT,EAAUA,EAAUU,qBAA0B,IAAM,uBACpDV,EAAUA,EAAUW,mBAAwB,IAAM,qBAClDX,EAAUA,EAAUY,gBAAqB,IAAM,kBAC/CZ,EAAUA,EAAUa,cAAmB,IAAM,gBAC7Cb,EAAUA,EAAUjsc,OAAY,IAAM,SACtCisc,EAAUA,EAAUc,kBAAuB,IAAM,oBAjB1Cd,CAkBX,CAlBC,CAkBEA,IAA0B,CAAC,GAyB9B,MAAMe,GACFtxmB,YAEAjX,GAEAoyC,GACI56B,KAAKxX,GAAKA,GACVwX,KAAK46B,IAAMA,CACf,EAOJ,MAAM8uI,WAAwBqnc,GAC1BtxmB,YAEAjX,GAEAoyC,EAEAo2kB,GAAoB,aAEpBC,GAAgB,MACZzgkB,MAAMhoD,GAAIoyC,GACV56B,KAAKiO,KAAO+hmB,GAAUtmc,gBACtB1pK,KAAKgxmB,kBAAoBA,GACzBhxmB,KAAKixmB,cAAgBA,EACzB,CAEA9vkB,WACI,MAAO,uBAAuBnhC,KAAKxX,aAAawX,KAAK46B,OACzD,EAWJ,MAAM6E,WAAsBsxkB,GACxBtxmB,YAEAjX,GAEAoyC,EAEAs2kB,IACI1gkB,MAAMhoD,GAAIoyC,GACV56B,KAAKkxmB,kBAAoBA,GACzBlxmB,KAAKiO,KAAO+hmB,GAAUvwkB,aAC1B,CAEA0B,WACI,MAAO,qBAAqBnhC,KAAKxX,aAAawX,KAAK46B,6BAA6B56B,KAAKkxmB,qBACzF,EAQJ,IAAIC,GACH,SAAUA,GAIPA,SAA2BA,EAA2BC,SAAc,GAAK,WAIzED,EAA2BA,EAA2BE,0BAA+B,GAAK,4BAI1FF,EAA2BA,EAA2BG,mBAAwB,GAAK,qBAInFH,EAA2BA,EAA2BI,cAAmB,GAAK,gBAhBvEJ,CAiBX,CAjBC,CAiBEA,IAA4D,CAAC,GAO5DK,GACH,SAAUA,GAIPA,SAAsBA,EAAsBC,yBAA8B,GAAK,2BAO/ED,EAAsBA,EAAsBE,6BAAkC,GAAK,+BAX5EF,CAYX,CAZC,CAYEA,IAAkD,CAAC,GAYtD,MAAMvB,WAAyBc,GAC3BtxmB,YAEAjX,GAEAoyC,EAKA1I,GAMA3lC,IACIikD,MAAMhoD,GAAIoyC,GACV56B,KAAKkyB,OAASA,GACdlyB,KAAKzT,KAAOA,GACZyT,KAAKiO,KAAO+hmB,GAAUC,gBAC1B,CAEA9ukB,WACI,MAAO,wBAAwBnhC,KAAKxX,aAAawX,KAAK46B,OAC1D,EAUJ,MAAMk2kB,WAA0BC,GAC5BtxmB,YAEAjX,GAEAoyC,EAKA1I,GAMA3lC,IACIikD,MAAMhoD,GAAIoyC,GACV56B,KAAKkyB,OAASA,GACdlyB,KAAKzT,KAAOA,GACZyT,KAAKiO,KAAO+hmB,GAAUc,iBAC1B,EAWJ,MAAMZ,WAAwBa,GAC1BtxmB,YAEAjX,GAEAoyC,EAEA9rC,GAOAg6D,IACItY,MAAMhoD,GAAIoyC,GACV56B,KAAKlR,MAAQA,GACbkR,KAAK8oD,OAASA,GACd9oD,KAAKiO,KAAO+hmB,GAAUE,eAC1B,CAEA/ukB,WACI,MAAO,uBAAuBnhC,KAAKxX,aAAawX,KAAK46B,gBAAgB56B,KAAKlR,QAC9E,EAOJ,MAAMqhnB,WAAyBY,GAC3BtxmB,YAEAjX,GAEAoyC,EAEAs2kB,GAEAlonB,IACIwnD,MAAMhoD,GAAIoyC,GACV56B,KAAKkxmB,kBAAoBA,GACzBlxmB,KAAKhX,MAAQA,GACbgX,KAAKiO,KAAO+hmB,GAAUG,gBAC1B,CAEAhvkB,WACI,MAAO,wBAAwBnhC,KAAKxX,aAAawX,KAAK46B,6BAA6B56B,KAAKkxmB,8BAA8BlxmB,KAAKhX,QAC/H,EASJ,MAAMsnnB,WAAyBS,GAC3BtxmB,YAEAjX,GAEAoyC,EAEAs2kB,GAEAlonB,IACIwnD,MAAMhoD,GAAIoyC,GACV56B,KAAKkxmB,kBAAoBA,GACzBlxmB,KAAKhX,MAAQA,GACbgX,KAAKiO,KAAO+hmB,GAAUM,gBAC1B,CACAnvkB,WACI,MAAO,wBAAwBnhC,KAAKxX,aAAawX,KAAK46B,6BAA6B56B,KAAKkxmB,8BAA8BlxmB,KAAKhX,QAC/H,EASJ,MAAMunnB,WAAuBQ,GACzBtxmB,YAEAjX,GAEAoyC,EAEAs2kB,GAEAlonB,GAEA2onB,IACInhkB,MAAMhoD,GAAIoyC,GACV56B,KAAKkxmB,kBAAoBA,GACzBlxmB,KAAKhX,MAAQA,GACbgX,KAAK2xmB,eAAiBA,GACtB3xmB,KAAKiO,KAAO+hmB,GAAUO,cAC1B,CACApvkB,WACI,MAAO,sBAAsBnhC,KAAKxX,aAAawX,KAAK46B,6BAA6B56B,KAAKkxmB,8BAA8BlxmB,KAAKhX,0BAA0BgX,KAAK2xmB,iBAC5J,EAYJ,MAAMvB,WAAqBW,GACvBtxmB,YAEAjX,GAEAoyC,EAEAs2kB,GAEAlonB,IACIwnD,MAAMhoD,GAAIoyC,GACV56B,KAAKkxmB,kBAAoBA,GACzBlxmB,KAAKhX,MAAQA,GACbgX,KAAKiO,KAAO+hmB,GAAUI,YAC1B,CACAjvkB,WACI,MAAO,oBAAoBnhC,KAAKxX,aAAawX,KAAK46B,6BAA6B56B,KAAKkxmB,8BAA8BlxmB,KAAKhX,QAC3H,EAQJ,MAAMqnnB,WAAmBU,GACrBtxmB,YAEAjX,GAEAoyC,EAEAs2kB,GAEAlonB,IACIwnD,MAAMhoD,GAAIoyC,GACV56B,KAAKkxmB,kBAAoBA,GACzBlxmB,KAAKhX,MAAQA,GACbgX,KAAKiO,KAAO+hmB,GAAUK,UAC1B,CACAlvkB,WACI,MAAO,kBAAkBnhC,KAAKxX,aAAawX,KAAK46B,6BAA6B56B,KAAKkxmB,8BAA8BlxmB,KAAKhX,QACzH,EASJ,MAAMwnnB,GACF/wmB,YAEA0c,IACInc,KAAKmc,MAAQA,GACbnc,KAAKiO,KAAO+hmB,GAAUQ,oBAC1B,CACArvkB,WACI,MAAO,8BAA8BnhC,KAAKmc,MAAMtlB,OACpD,EASJ,MAAM45mB,GACFhxmB,YAEA0c,IACInc,KAAKmc,MAAQA,GACbnc,KAAKiO,KAAO+hmB,GAAUS,kBAC1B,CACAtvkB,WACI,MAAO,4BAA4BnhC,KAAKmc,MAAMtlB,OAClD,EAUJ,MAAM65mB,GACFjxmB,YAEA6M,IACItM,KAAKsM,SAAWA,GAChBtM,KAAKiO,KAAO+hmB,GAAUU,oBAC1B,CACAvvkB,WAEI,MAAO,+BADOnhC,KAAKsM,SAASslmB,aAAe5xmB,KAAKsM,SAASslmB,YAAY/6mB,MAAS,MAElF,EASJ,MAAM85mB,GACFlxmB,YAEA6M,IACItM,KAAKsM,SAAWA,GAChBtM,KAAKiO,KAAO+hmB,GAAUW,kBAC1B,CACAxvkB,WAEI,MAAO,6BADOnhC,KAAKsM,SAASslmB,aAAe5xmB,KAAKsM,SAASslmB,YAAY/6mB,MAAS,MAElF,EAUJ,MAAM+5mB,GACFnxmB,YAEA6M,IACItM,KAAKsM,SAAWA,GAChBtM,KAAKiO,KAAO+hmB,GAAUY,eAC1B,CACAzvkB,WAEI,MAAO,0BADOnhC,KAAKsM,SAASslmB,aAAe5xmB,KAAKsM,SAASslmB,YAAY/6mB,MAAS,MAElF,EAUJ,MAAMg6mB,GACFpxmB,YAEA6M,IACItM,KAAKsM,SAAWA,GAChBtM,KAAKiO,KAAO+hmB,GAAUa,aAC1B,CACA1vkB,WAEI,MAAO,wBADOnhC,KAAKsM,SAASslmB,aAAe5xmB,KAAKsM,SAASslmB,YAAY/6mB,MAAS,MAElF,EAOJ,MAAMktK,GACFtkK,YAEAoymB,GAEAl8kB,EAEAslR,IACIj7S,KAAK6xmB,YAAcA,GACnB7xmB,KAAK21B,SAAWA,EAChB31B,KAAKi7S,OAASA,GACdj7S,KAAKiO,KAAO+hmB,GAAUjsc,MAC1B,CACA5iI,WAEI,MAAO,mBAAmBnhC,KAAKi7S,uBADnBj7S,KAAK21B,SAAW,GAAG31B,KAAK21B,SAAS,OAAO31B,KAAK21B,SAAS,KAAO,QAE7E,EAEJ,MAAMm8kB,IAEN,MAAMC,GACFtymB,YAAYm7B,IACR56B,KAAK46B,IAAMA,EACf,EAiDJ,MAAMo3kB,GACFvymB,cACIO,KAAKqtmB,OAAS,KACdrtmB,KAAKmc,MAAQ,KACbnc,KAAKyzc,SAAW,KAChBzzc,KAAK8sG,SAAW,IAAImlgB,GACpBjymB,KAAKkymB,UAAY,IACrB,EAEJ,IAKMD,GAAsB,MAA5B,MAAMA,EACFxymB,cAEIO,KAAKmymB,SAAW,IAAIlvkB,GACxB,CAEAmvkB,qBAAqBtqT,EAAWulT,IAC5B,MAAM1+f,GAAU3uG,KAAKqymB,mBAAmBvqT,GACxCn5M,GAAQ0+f,OAASA,GACjBrtmB,KAAKmymB,SAASjvkB,IAAI4kR,EAAWn5M,GACjC,CAMA2jgB,uBAAuBxqT,GACnB,MAAMn5M,GAAU3uG,KAAKooN,WAAW0/F,GAC5Bn5M,KACAA,GAAQ0+f,OAAS,KACjB1+f,GAAQujgB,UAAY,KAE5B,CAKAK,sBACI,MAAMJ,EAAWnymB,KAAKmymB,SACtB,OAAAnymB,KAAKmymB,SAAW,IAAIlvkB,IACbkvkB,CACX,CACAK,mBAAmBL,GACfnymB,KAAKmymB,SAAWA,CACpB,CACAE,mBAAmBvqT,GACf,IAAIn5M,GAAU3uG,KAAKooN,WAAW0/F,GAC9B,OAAKn5M,KACDA,GAAU,IAAIqjgB,GACdhymB,KAAKmymB,SAASjvkB,IAAI4kR,EAAWn5M,KAE1BA,EACX,CACAy5G,WAAW0/F,GACP,OAAO9nT,KAAKmymB,SAASzpmB,IAAIo/S,IAAc,IAC3C,QACS9nT,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF0jmB,EAAsB,CAAsD,QAC9KjymB,KAAKszD,WA15CmFrzD,MAAE,CAAAhQ,MA05CYginB,EAAsBxxmB,QAAtBwxmB,EAAsBvxmB,UAAAC,WAAc,QAAW,EACjK,OAhDKsxmB,CAAsB,KAsD5B,MAAMQ,GACFhzmB,YAAY67J,IACRt7J,KAAK0ymB,MAAQp3c,EACjB,CACA,QAAIA,GACA,OAAOt7J,KAAK0ymB,MAAMplnB,KACtB,CAIA+4D,OAAO93C,IACH,MAAMH,EAAIpO,KAAK2ymB,aAAapkmB,IAC5B,OAAOH,EAAEhc,OAAS,EAAIgc,EAAEA,EAAEhc,OAAS,GAAK,IAC5C,CAIA06G,SAASv+F,IACL,MAAM9c,EAAImhnB,GAASrkmB,GAAGvO,KAAK0ymB,OAC3B,OAAOjhnB,EAAIA,EAAEq7G,SAASj/G,IAAK0gB,IAAMA,GAAEjhB,OAAS,EAChD,CAIAknB,WAAWjG,IACP,MAAM9c,EAAImhnB,GAASrkmB,GAAGvO,KAAK0ymB,OAC3B,OAAOjhnB,GAAKA,EAAEq7G,SAAS16G,OAAS,EAAIX,EAAEq7G,SAAS,GAAGx/G,MAAQ,IAC9D,CAIAk3U,SAASj2T,IACL,MAAMH,EAAIykmB,GAAStkmB,GAAGvO,KAAK0ymB,OAC3B,OAAItkmB,EAAEhc,OAAS,EACJ,GACDgc,EAAEA,EAAEhc,OAAS,GAAG06G,SAASj/G,IAAK4E,IAAMA,GAAEnF,OACvCI,OAAQolnB,IAAOA,KAAOvkmB,GACnC,CAIAokmB,aAAapkmB,IACT,OAAOskmB,GAAStkmB,GAAGvO,KAAK0ymB,OAAO7knB,IAAKyE,GAAMA,EAAEhF,MAChD,EAGJ,SAASslnB,GAAStlnB,EAAO65J,IACrB,GAAI75J,IAAU65J,GAAK75J,MACf,OAAO65J,GACX,UAAW2iF,KAAS3iF,GAAKr6C,SAAU,CAC/B,MAAMq6C,GAAOyrd,GAAStlnB,EAAOw8O,GAC7B,GAAI3iF,GACA,OAAOA,EACf,CACA,OAAO,IACX,CAEA,SAAS0rd,GAASvlnB,EAAO65J,IACrB,GAAI75J,IAAU65J,GAAK75J,MACf,MAAO,CAAC65J,IACZ,UAAW2iF,KAAS3iF,GAAKr6C,SAAU,CAC/B,MAAMj2G,GAAOg8mB,GAASvlnB,EAAOw8O,GAC7B,GAAIjzO,GAAKzE,OACLyE,UAAK05J,QAAQpJ,IACNtwJ,EAEf,CACA,MAAO,EACX,CACA,MAAMk8mB,GACFtzmB,YAAYnS,GAAOw/G,GACf9sG,KAAK1S,MAAQA,GACb0S,KAAK8sG,SAAWA,CACpB,CACA3rE,WACI,MAAO,YAAYnhC,KAAK1S,QAC5B,EAGJ,SAAS0lnB,GAAkB7rd,GACvB,MAAMt5J,GAAM,CAAC,EACb,OAAIs5J,GACAA,EAAKr6C,SAAS1hF,QAAS0+M,GAAWj8O,GAAIi8O,EAAMx8O,MAAM+/mB,QAAUvjY,GAEzDj8O,EACX,CAiCA,MAAMolnB,WAAoBR,GAEtBhzmB,YAAY67J,GAEZhvJ,GACIkkC,MAAM8qH,IACNt7J,KAAKsM,SAAWA,EAChB4mmB,GAAelzmB,KAAMs7J,GACzB,CACAn6H,WACI,OAAOnhC,KAAKsM,SAAS60B,UACzB,EAEJ,SAASgykB,GAAiBC,GACtB,MAAM9mmB,GAUV,SAAS+mmB,GAAyBD,GAC9B,MAIM9jnB,GAAY,IAAIgknB,GAAuB,GAJzB,CAAC,EAEI,CAAC,EACT,GAFC,CAAC,EAGkFzM,GAAgBuM,EAAe,KAAM,CAAC,GAC3I,OAAO,IAAIG,GAAoB,GAAI,IAAIR,GAASzjnB,GAAW,IAC/D,CAjBqB+jnB,CAAyBD,GACpCI,EAAW,IAAI78lB,IAAgB,CAAC,IAAI4ylB,GAAW,GAAI,CAAC,KACpDkK,GAAc,IAAI98lB,IAAgB,CAAC,GACnC+8lB,GAAY,IAAI/8lB,IAAgB,CAAC,GACjCg9lB,GAAmB,IAAIh9lB,IAAgB,CAAC,GACxCkylB,GAAW,IAAIlylB,IAAgB,IAC/BrnB,GAAY,IAAIsknB,GAAeJ,EAAUC,GAAaE,GAAkB9K,GAAU6K,GAAW7M,GAAgBuM,EAAe9mmB,GAASgvJ,MAC3IhsK,UAAUgd,SAAWA,GAASgvJ,KACvB,IAAI23c,GAAY,IAAIF,GAASzjnB,GAAW,IAAKgd,GACxD,CA4BA,MAAMsnmB,GAEFn0mB,YAEAo0mB,GAEAC,EAEAC,GAEAC,GAEAC,GAEA5G,GAEAp5hB,GAAWigiB,IACPl0mB,KAAK6zmB,WAAaA,GAClB7zmB,KAAK8zmB,cAAgBA,EACrB9zmB,KAAK+zmB,mBAAqBA,GAC1B/zmB,KAAKg0mB,gBAAkBA,GACvBh0mB,KAAKi0mB,YAAcA,GACnBj0mB,KAAKqtmB,OAASA,GACdrtmB,KAAKi0E,UAAYA,GACjBj0E,KAAKm0mB,gBAAkBD,GACvBl0mB,KAAKkrE,MAAQlrE,KAAKi0mB,aAAappmB,QAAKhd,MAAKC,IAAMA,GAAEg5mB,QAAe,EAAK3ylB,WAAG9lB,GAExE2R,KAAK46B,IAAMi5kB,GACX7zmB,KAAKoN,OAAS0mmB,EACd9zmB,KAAKuM,YAAcwnmB,GACnB/zmB,KAAK6omB,SAAWmL,GAChBh0mB,KAAK5S,KAAO6mnB,EAChB,CAEA,eAAIrC,GACA,OAAO5xmB,KAAKm0mB,gBAAgBvC,WAChC,CAEA,QAAIt2c,GACA,OAAOt7J,KAAKo0mB,aAAa94c,IAC7B,CAEA,UAAIj1G,GACA,OAAOrmD,KAAKo0mB,aAAa/tjB,OAAOrmD,KACpC,CAEA,cAAIwU,GACA,OAAOxU,KAAKo0mB,aAAa5/lB,WAAWxU,KACxC,CAEA,YAAI8sG,GACA,OAAO9sG,KAAKo0mB,aAAatngB,SAAS9sG,KACtC,CAEA,gBAAI2ymB,GACA,OAAO3ymB,KAAKo0mB,aAAazB,aAAa3ymB,KAC1C,CAMA,YAAIq0mB,GACA,OAAAr0mB,KAAKs0mB,YAAct0mB,KAAKoN,OAAOvC,QAAKhd,MAAKugB,IAAM44lB,GAAkB54lB,MAC1DpO,KAAKs0mB,SAChB,CAKA,iBAAIt3lB,GACA,OAAAhd,KAAKopmB,iBAAmBppmB,KAAKuM,YAAY1B,QAAKhd,MAAKugB,IAAM44lB,GAAkB54lB,MACpEpO,KAAKopmB,cAChB,CACAjokB,WACI,OAAOnhC,KAAKsM,SAAWtM,KAAKsM,SAAS60B,WAAa,UAAUnhC,KAAKm0mB,kBACrE,EAQJ,SAASI,GAAap4lB,EAAOkqC,GAAQmujB,EAA4B,aAC7D,IAAIrzN,GACJ,MAAQywN,gBAAgBz1lB,EACxB,OA2BIglY,GA3BW,OAAX96V,IAC+B,WAA9BmujB,GAEyB,KAAtB5C,IAAa/6mB,OAEXwvD,GAAO4tB,WAAc5tB,GAAOurjB,aAAar9hB,eAsBnC,CACRnnE,OAAQ,IAAK+O,EAAM/O,QACnBhgB,KAAM,IAAK+uB,EAAM/uB,MACjBmnD,QAAS,IAAKp4B,EAAM/uB,QAAU+uB,EAAMs4lB,eAAiB,CAAC,IAxB9C,CACRrnmB,OAAQ,IAAKi5C,GAAOj5C,UAAW+O,EAAM/O,QACrChgB,KAAM,IAAKi5D,GAAOj5D,QAAS+uB,EAAM/uB,MACjCmnD,QAAS,IAOFp4B,EAAM/uB,QAENi5D,GAAOj5D,QAEPwknB,IAAaxknB,QAEb+uB,EAAMs4lB,gBAWjB7C,IAAe8C,GAAe9C,MAC9BzwN,GAAU5sW,QAAQuyjB,IAAiB8K,GAAY1miB,OAE5Ci2U,EACX,CAwBA,MAAMmyN,GAEF,SAAIpoiB,GAGA,OAAOlrE,KAAK5S,OAAO05mB,GACvB,CAEArnmB,YAEAm7B,GAoBAxtB,EAEAb,GAEAs8lB,GAEAz7mB,GAEAignB,GAEAp5hB,GAAW29hB,GAAar9jB,IACpBv0C,KAAK46B,IAAMA,GACX56B,KAAKoN,OAASA,EACdpN,KAAKuM,YAAcA,GACnBvM,KAAK6omB,SAAWA,GAChB7omB,KAAK5S,KAAOA,GACZ4S,KAAKqtmB,OAASA,GACdrtmB,KAAKi0E,UAAYA,GACjBj0E,KAAK4xmB,YAAcA,GACnB5xmB,KAAK20mB,SAAWpgkB,EACpB,CAEA,QAAI+mH,GACA,OAAOt7J,KAAKo0mB,aAAa94c,IAC7B,CAEA,UAAIj1G,GACA,OAAOrmD,KAAKo0mB,aAAa/tjB,OAAOrmD,KACpC,CAEA,cAAIwU,GACA,OAAOxU,KAAKo0mB,aAAa5/lB,WAAWxU,KACxC,CAEA,YAAI8sG,GACA,OAAO9sG,KAAKo0mB,aAAatngB,SAAS9sG,KACtC,CAEA,gBAAI2ymB,GACA,OAAO3ymB,KAAKo0mB,aAAazB,aAAa3ymB,KAC1C,CACA,YAAIq0mB,GACA,OAAAr0mB,KAAKs0mB,YAActN,GAAkBhnmB,KAAKoN,QACnCpN,KAAKs0mB,SAChB,CACA,iBAAIt3lB,GACA,OAAAhd,KAAKopmB,iBAAmBpC,GAAkBhnmB,KAAKuM,aACxCvM,KAAKopmB,cAChB,CACAjokB,WAGI,MAAO,cAFKnhC,KAAK46B,IAAI/sC,IAAKy5mB,IAAYA,GAAQnmkB,YAAYuK,KAAK,gBAC/C1rC,KAAK4xmB,YAAc5xmB,KAAK4xmB,YAAY/6mB,KAAO,MAE/D,EA6BJ,MAAM08mB,WAA4Bd,GAE9BhzmB,YAEAm7B,GAAK0gI,GACD9qH,MAAM8qH,GACNt7J,KAAK46B,IAAMA,GACXs4kB,GAAelzmB,KAAMs7J,EACzB,CACAn6H,WACI,OAAOyzkB,GAAc50mB,KAAK0ymB,MAC9B,EAEJ,SAASQ,GAAelqnB,EAAOm+J,IAC3BA,GAAK75J,MAAM8mnB,aAAeprnB,EAC1Bm+J,GAAKr6C,SAAS1hF,QAAS34B,GAAMygnB,GAAelqnB,EAAOyJ,GACvD,CACA,SAASminB,GAAcztd,GACnB,MAAM10J,GAAI00J,EAAKr6C,SAAS16G,OAAS,EAAI,MAAM+0J,EAAKr6C,SAASj/G,IAAI+mnB,IAAelpkB,KAAK,WAAa,GAC9F,MAAO,GAAGy7G,EAAK75J,QAAQmF,IAC3B,CAMA,SAASoinB,GAAsB14lB,GAC3B,GAAIA,EAAM7P,SAAU,CAChB,MAAM4oL,GAAkB/4K,EAAM7P,SACxBwomB,EAAe34lB,EAAMg4lB,gBAC3Bh4lB,EAAM7P,SAAWwomB,EACZtN,GAAatya,GAAgB3oL,YAAauomB,EAAavomB,cACxD4P,EAAM43lB,mBAAmBpnmB,KAAKmomB,EAAavomB,aAE3C2oL,GAAgB2za,WAAaiM,EAAajM,UAC1C1slB,EAAM63lB,gBAAgBrnmB,KAAKmomB,EAAajM,UAEvCrB,GAAatya,GAAgB9nL,OAAQ0nmB,EAAa1nmB,SACnD+O,EAAM23lB,cAAcnnmB,KAAKmomB,EAAa1nmB,QAnrElD,SAAS2nmB,GAAmBv8mB,EAAG2hE,IAC3B,GAAI3hE,EAAEpG,SAAW+nE,GAAE/nE,OACf,OAAO,EACX,QAAS21B,EAAI,EAAGA,EAAIvvB,EAAEpG,SAAU21B,EAC5B,IAAKy/kB,GAAahvmB,EAAEuvB,GAAIoyC,GAAEpyC,IACtB,OAAO,EAEf,OAAO,CACX,CA6qEagtlB,CAAmB7/a,GAAgBt6J,IAAKk6kB,EAAal6kB,MACtDze,EAAM03lB,WAAWlnmB,KAAKmomB,EAAal6kB,KAElC4skB,GAAatya,GAAgB9nM,KAAM0nnB,EAAa1nnB,OACjD+uB,EAAM83lB,YAAYtnmB,KAAKmomB,EAAa1nnB,KAE5C,MAEI+uB,EAAM7P,SAAW6P,EAAMg4lB,gBAEvBh4lB,EAAM83lB,YAAYtnmB,KAAKwP,EAAMg4lB,gBAAgB/mnB,KAErD,CACA,SAAS4nnB,GAA0Bx8mB,EAAG2hE,IAClC,MAAM86iB,EAAiBzN,GAAahvmB,EAAE4U,OAAQ+sD,GAAE/sD,SAv6DpD,SAAS8nmB,GAAclsd,EAAI72F,IACvB,OAAOg2iB,GAAUn/c,EAAI72F,KAAO62F,EAAGtvH,MAAM,CAAClhC,EAAGuvB,KAAMy/kB,GAAahvmB,EAAE0oO,WAAY/uK,GAAGpqC,IAAGm5M,YACpF,CAq6D+Dg0Y,CAAc18mB,EAAEoiC,IAAKu/B,GAAEv/B,KAElF,OAAQq6kB,MADiBz8mB,EAAE6tD,SAAY8T,GAAE9T,WAGnC7tD,EAAE6tD,QAAU2ujB,GAA0Bx8mB,EAAE6tD,OAAQ8T,GAAE9T,QAC5D,CACA,SAASqujB,GAAe1knB,GACpB,MAA+B,iBAAjBA,EAAOk7E,OAAuC,OAAjBl7E,EAAOk7E,KACtD,CAEA,IAmDMiqiB,GAAY,MAAlB,MAAMA,EACF11mB,cACIO,KAAK1Q,UAAY,KACjB0Q,KAAK+8L,gBAAkB,KAMvB/8L,KAAKxS,KAAOq5mB,GACZ7mmB,KAAKo1mB,eAAiB,IAAItplB,MAC1B9rB,KAAKq1mB,iBAAmB,IAAIvplB,MAK5B9rB,KAAKs1mB,aAAe,IAAIxplB,MAKxB9rB,KAAKu1mB,aAAe,IAAIzplB,MACxB9rB,KAAKw1mB,kBAAiBvklB,OAAOghlB,IAC7BjymB,KAAK6U,YAAWoc,OAAO84f,OACvB/phB,KAAKy1mB,kBAAiBxklB,OAAO+B,OAC7BhzB,KAAKgohB,uBAAsB/2f,OAAO6ge,OAClC9xf,KAAK01mB,eAAczklB,OAAO0klB,GAAc,CAAE78jB,UAAU,IAEpD94C,KAAK41mB,kCAAmC,CAC5C,CAEA,yBAAIC,GACA,OAAO71mB,KAAK1Q,SAChB,CAEAsrd,YAAYlub,GACR,GAAIA,EAAQl/B,KAAS,CACjB,MAAQstd,eAAa3sR,kBAAkBzhK,EAAQl/B,KAC/C,GAAIstd,GAGA,OAGA96c,KAAK81mB,0BAA0B3nb,MAC/BnuL,KAAK+1mB,aACL/1mB,KAAKw1mB,eAAelD,uBAAuBnkb,KAG/CnuL,KAAKg2mB,0BACT,CACJ,CAEA9nmB,cAEQlO,KAAK81mB,0BAA0B91mB,KAAKxS,OACpCwS,KAAKw1mB,eAAelD,uBAAuBtymB,KAAKxS,MAEpDwS,KAAK01mB,aAAaO,yBAAyBj2mB,KAC/C,CACA81mB,0BAA0B3J,GACtB,OAAOnsmB,KAAKw1mB,eAAeptZ,WAAW+jZ,IAAakB,SAAWrtmB,IAClE,CAEA6L,WACI7L,KAAKg2mB,0BACT,CACAA,2BAEI,GADAh2mB,KAAKw1mB,eAAepD,qBAAqBpymB,KAAKxS,KAAMwS,MAChDA,KAAK1Q,UACL,OAIJ,MAAMq/G,EAAU3uG,KAAKw1mB,eAAeptZ,WAAWpoN,KAAKxS,MAChDmhH,GAASxyF,QACLwyF,EAAQujgB,UAERlymB,KAAKw0B,OAAOm6E,EAAQujgB,UAAWvjgB,EAAQxyF,OAIvCnc,KAAKk2mB,aAAavngB,EAAQxyF,MAAOwyF,EAAQ8kW,UAGrD,CACA,eAAI0iK,GACA,QAASn2mB,KAAK1Q,SAClB,CAKA,aAAI2kF,GACA,IAAKj0E,KAAK1Q,UACN,MAAM,IAAI+8K,MAAc,MAAuFC,GACnH,OAAOtsK,KAAK1Q,UAAUg8c,QAC1B,CACA,kBAAI1ua,GACA,IAAK58B,KAAK1Q,UACN,MAAM,IAAI+8K,MAAc,MAAuFC,GACnH,OAAOtsK,KAAK+8L,eAChB,CACA,sBAAIq5a,GACA,OAAIp2mB,KAAK+8L,gBACE/8L,KAAK+8L,gBAAgBzwL,SAASlf,KAElC,CAAC,CACZ,CAIA6nC,SACI,IAAKj1B,KAAK1Q,UACN,MAAM,IAAI+8K,MAAc,MAAuFC,GACnHtsK,KAAK6U,SAASogB,SACd,MAAM43K,EAAM7sM,KAAK1Q,UACjB,OAAA0Q,KAAK1Q,UAAY,KACjB0Q,KAAK+8L,gBAAkB,KACvB/8L,KAAKu1mB,aAAapwlB,KAAK0nL,EAAIy+P,UACpBz+P,CACX,CAIAr4K,OAAOi3O,EAAK7uO,IACR58B,KAAK1Q,UAAYm8Q,EACjBzrQ,KAAK+8L,gBAAkBngK,GACvB58B,KAAK6U,SAAS06N,OAAOk8B,EAAI8vN,UACzBv7d,KAAK01mB,aAAaW,oCAAoCr2mB,MACtDA,KAAKs1mB,aAAanwlB,KAAKsmP,EAAI6/L,SAC/B,CACAyqK,aACI,GAAI/1mB,KAAK1Q,UAAW,CAChB,MAAMmD,EAAIuN,KAAKi0E,UACfj0E,KAAK1Q,UAAUm+B,UACfztB,KAAK1Q,UAAY,KACjB0Q,KAAK+8L,gBAAkB,KACvB/8L,KAAKq1mB,iBAAiBlwlB,KAAK1yB,EAC/B,CACJ,CACAyjnB,aAAat5kB,EAAgBorf,IACzB,GAAIhohB,KAAKm2mB,YACL,MAAM,IAAI9pc,MAAc,MAA2FC,GAGvHtsK,KAAK+8L,gBAAkBngK,EACvB,MAAM/nB,GAAW7U,KAAK6U,SAEhBo/D,GADWr3C,EAAetwB,SACL2nE,UACrBqiiB,GAAgBt2mB,KAAKw1mB,eAAenD,mBAAmBrymB,KAAKxS,MAAMs/G,SAClE2mW,GAAW,IAAI8iK,GAAe35kB,EAAgB05kB,GAAezhmB,GAAS4+b,UAC5Ezzc,KAAK1Q,UAAYulB,GAASumd,gBAAgBnnZ,GAAW,CACjD57D,MAAOxD,GAASziB,OAChBqhd,YACAu0E,oBAAqBA,IAAuBhohB,KAAKgohB,sBAIrDhohB,KAAKy1mB,eAAertlB,eACpBpoB,KAAK01mB,aAAaW,oCAAoCr2mB,MACtDA,KAAKo1mB,eAAejwlB,KAAKnlB,KAAK1Q,UAAUg8c,SAC5C,QACStrc,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF4mmB,EAAY,CAAqD,QACnKn1mB,KAAKi4B,UArmEmFh4B,MAAE,CAAAgO,KAqmEJknmB,EAAYxmmB,UAAA,oBAAAgH,OAAA,CAAAnoB,KAAA,QAAAkjC,QAAA,CAAA0klB,eAAA,WAAAC,iBAAA,aAAAC,aAAA,SAAAC,aAAA,UAAAvslB,SAAA,WAAAC,YAAA,EAAAC,SAAA,CArmEVjpB,QAqmE0Q,EAC9W,OArKKk1mB,CAAY,KA4LlB,MAAMoB,GAgBFC,mBAAmB/uF,IACf,OAAO,IAAI8uF,GAAev2mB,KAAKmc,MAAOnc,KAAKs2mB,cAAe7uF,GAC9D,CACAhohB,YAAY0c,GAAOm6lB,EAAejwjB,IAC9BrmD,KAAKmc,MAAQA,GACbnc,KAAKs2mB,cAAgBA,EACrBt2mB,KAAKqmD,OAASA,EAClB,CACA39C,IAAIzY,GAAOq3f,GACP,OAAIr3f,KAAU2jnB,GACH5zmB,KAAKmc,MAEZlsB,KAAUginB,GACHjymB,KAAKs2mB,cAETt2mB,KAAKqmD,OAAO39C,IAAIzY,GAAOq3f,EAClC,EAEJ,MAAMquH,GAAe,IAAI9vlB,MAAe,IACxC,IAcM4wlB,GAA0B,MAAhC,MAAMA,EACFh3mB,cACIO,KAAK02mB,wBAA0B,IAAIzzkB,GACvC,CACAozkB,oCAAoChJ,GAChCrtmB,KAAKi2mB,yBAAyB5I,GAC9BrtmB,KAAK22mB,qBAAqBtJ,EAC9B,CACA4I,yBAAyB5I,GACrBrtmB,KAAK02mB,wBAAwBhumB,IAAI2kmB,IAASl/lB,cAC1CnO,KAAK02mB,wBAAwBhvkB,OAAO2lkB,EACxC,CACAsJ,qBAAqBtJ,GACjB,MAAQzwkB,mBAAmBywkB,EACrBuJ,MAAmBrpmB,KAAc,CACnCqvB,GAAerwB,YACfqwB,GAAexvB,OACfwvB,GAAexvC,OAEdyd,QAAK+hB,MAAU,EAAErgB,GAAaa,GAAQhgB,IAAOirB,MAC9CjrB,GAAO,IAAKmf,MAAgBa,MAAWhgB,IAGzB,IAAVirB,IAAU,EACHlE,MAAG/mB,IAKPknD,QAAQC,QAAQnnD,OAEtBif,UAAWjf,KAGZ,IAAKignB,EAAO8I,cACP9I,EAAOwI,uBACRxI,EAAOzwkB,iBAAmBA,IACG,OAA7BA,GAAeq3C,UAEf,YADAj0E,KAAKi2mB,yBAAyB5I,GAGlC,MAAMwJ,MAASr0D,OAAqB5lhB,GAAeq3C,WACnD,GAAK4iiB,GAIL,UAAatvF,mBAAkBsvF,GAAOlhmB,OAClC03lB,EAAOwI,sBAAsBpmH,SAAS83B,GAAcn6hB,GAAKm6hB,UAJzDvnhB,KAAKi2mB,yBAAyB5I,EAIwC,GAG9ErtmB,KAAK02mB,wBAAwBxzkB,IAAImqkB,EAAQuJ,GAC7C,QACS52mB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFkomB,EAA0B,CAAsD,QAClLz2mB,KAAKszD,WAnuEmFrzD,MAAE,CAAAhQ,MAmuEYwmnB,EAA0Bh2mB,QAA1Bg2mB,EAA0B/1mB,WAAK,EACjJ,OAtDK+1mB,CAA0B,KA+DhC,SAASK,GAAWC,EAAoBvH,GAAMwH,GAE1C,GAAIA,GAAaD,EAAmBE,iBAAiBzH,GAAKlinB,MAAO0pnB,EAAU1pnB,MAAMgf,UAAW,CACxF,MAAMhf,GAAQ0pnB,EAAU1pnB,MACxBA,GAAM6mnB,gBAAkB3E,GAAKlinB,MAC7B,MAAMw/G,GAmBd,SAASoqgB,GAAsBH,EAAoBvH,GAAMwH,GACrD,OAAOxH,GAAK1igB,SAASj/G,IAAKi8O,KACtB,UAAW17N,MAAK4omB,EAAUlqgB,SACtB,GAAIiqgB,EAAmBE,iBAAiBntY,GAAMx8O,MAAO8gB,GAAE9gB,MAAMgf,UACzD,OAAOwqmB,GAAWC,EAAoBjtY,GAAO17N,IAGrD,OAAO0omB,GAAWC,EAAoBjtY,GAAK,EAEnD,CA5ByBotY,CAAsBH,EAAoBvH,GAAMwH,GACjE,OAAO,IAAIjE,GAASzlnB,GAAOw/G,GAC/B,CACK,CACD,GAAIiqgB,EAAmBI,aAAa3H,GAAKlinB,OAAQ,CAE7C,MAAM8pnB,GAAsBL,EAAmBM,SAAS7H,GAAKlinB,OAC7D,GAA4B,OAAxB8pnB,GAA8B,CAC9B,MAAMnN,GAAOmN,GAAoBj7lB,MACjC8tlB,UAAK38mB,MAAM6mnB,gBAAkB3E,GAAKlinB,MAClC28mB,GAAKn9f,SAAW0igB,GAAK1igB,SAASj/G,IAAK4E,IAAMqknB,GAAWC,EAAoBtknB,KACjEw3mB,EACX,CACJ,CACA,MAAM38mB,GAed,SAASgqnB,GAAqB7knB,GAC1B,OAAO,IAAImhnB,GAAe,IAAIj9lB,IAAgBlkB,EAAEmoC,KAAM,IAAIjkB,IAAgBlkB,EAAE2a,QAAS,IAAIuJ,IAAgBlkB,EAAE8Z,aAAc,IAAIoK,IAAgBlkB,EAAEo2mB,UAAW,IAAIlylB,IAAgBlkB,EAAErF,MAAOqF,EAAE46mB,OAAQ56mB,EAAEwhF,UAAWxhF,EAClN,CAjBsB6knB,CAAqB9H,GAAKlinB,OAClCw/G,GAAW0igB,GAAK1igB,SAASj/G,IAAK4E,IAAMqknB,GAAWC,EAAoBtknB,KACzE,OAAO,IAAIsgnB,GAASzlnB,GAAOw/G,GAC/B,CACJ,CAeA,MAAMyqgB,GAA6B,6BACnC,SAASC,GAA2BC,EAAertjB,IAC/C,MAAQ+pB,aAAYujiB,8BAA8B7K,GAAUzijB,IACtD,CAAE+pB,WAAY/pB,GAAUstjB,+BAA2BrpnB,GACnD+7D,GACAt7D,GAAQ6onB,IAAyBrrc,EAAwE6kc,GAA2BC,UAC1ItinB,UAAM8rC,IAAMu5C,EACZrlF,GAAM4onB,0BAA4BA,GAC3B5onB,EACX,CACA,SAAS6onB,GAAyBptkB,EAASh+C,IACvC,MAAMuC,EAAQ,IAAI+4C,MAAM,6BAA6B0C,GAAW,MAChEz7C,SAAMyonB,KAA8B,EACpCzonB,EAAM8onB,iBAAmBrrnB,GAClBuC,CACX,CAKA,SAAS+onB,GAA2B/onB,GAChC,QAASA,GAASA,EAAMyonB,GAC5B,CAEA,IASMO,GAAqB,MAA3B,MAAMA,SACO93mB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFupmB,EAAqB,CAAqD,QAC5K93mB,KAAK0oB,UAtzEmFzoB,MAAE,CAAAgO,KAszEJ6pmB,EAAqBnpmB,UAAA,mBAAAsa,YAAA,EAAAC,SAAA,CAtzEnBjpB,OAAE2O,MAAA,EAAAC,KAAA,EAAAE,SAAA,SAAAC,GAAAC,IAAA,EAAAD,IAAF/O,MAAE,kBAszEyH,EAAAopB,aAAA,CAA6D8rlB,IAAY5rlB,cAAA,GAAoI,EAC5a,OAHKuulB,CAAqB,KAsJ3B,SAASC,GAAkBp+kB,GACvB,MAAMmzE,GAAWnzE,EAAEmzE,UAAYnzE,EAAEmzE,SAASj/G,IAAIkqnB,IACxCtlnB,EAAIq6G,GAAW,IAAKnzE,EAAGmzE,aAAa,IAAKnzE,GAC/C,OAAKlnC,EAAEwhF,YACFxhF,EAAE8hF,gBACFu4B,IAAYr6G,EAAEqhF,eACfrhF,EAAE46mB,QACF56mB,EAAE46mB,SAAWxG,KACbp0mB,EAAEwhF,UAAY6jiB,IAEXrlnB,CACX,CAEA,SAASulnB,GAAU77lB,GACf,OAAOA,EAAMkxlB,QAAUxG,EAC3B,CAsBA,SAASoR,GAAwB3rmB,GAC7B,IAAKA,EACD,OAAO,KAIX,GAAIA,EAASslmB,aAAar8I,UACtB,OAAOjpd,EAASslmB,YAAYr8I,UAEhC,QAASjje,GAAIga,EAAS+5C,OAAQ/zD,GAAGA,GAAIA,GAAE+zD,OAAQ,CAC3C,MAAMlqC,EAAQ7pB,GAAEs/mB,YAKhB,GAAIz1lB,GAAO+7lB,gBACP,OAAO/7lB,EAAM+7lB,gBACjB,GAAI/7lB,GAAOo5c,UACP,OAAOp5c,EAAMo5c,SACrB,CACA,OAAO,IACX,CAOA,MAAM4iJ,GACF14mB,YAAYs3mB,GAAoBqB,EAAaC,GAAWC,GAAcC,IAClEv4mB,KAAK+2mB,mBAAqBA,GAC1B/2mB,KAAKo4mB,YAAcA,EACnBp4mB,KAAKq4mB,UAAYA,GACjBr4mB,KAAKs4mB,aAAeA,GACpBt4mB,KAAKu4mB,oBAAsBA,EAC/B,CACAC,SAAShD,IACL,MAAMiD,EAAaz4mB,KAAKo4mB,YAAY1F,MAC9BgG,GAAW14mB,KAAKq4mB,UAAYr4mB,KAAKq4mB,UAAU3F,MAAQ,KACzD1ymB,KAAK24mB,sBAAsBF,EAAYC,GAAUlD,IACjDX,GAAsB70mB,KAAKo4mB,YAAY98c,MACvCt7J,KAAK44mB,oBAAoBH,EAAYC,GAAUlD,GACnD,CAEAmD,sBAAsBE,GAAYC,EAAU3G,IACxC,MAAMrlgB,GAAWkmgB,GAAkB8F,GAEnCD,GAAW/rgB,SAAS1hF,QAAS2tlB,KACzB,MAAMC,GAAkBD,GAAYzrnB,MAAM+/mB,OAC1CrtmB,KAAKi5mB,iBAAiBF,GAAajsgB,GAASksgB,IAAkB7G,WACvDrlgB,GAASksgB,GAAe,GAGnC5plB,OAAO3jB,OAAOqhG,IAAU1hF,QAAS2G,KAC7B/xB,KAAKk5mB,8BAA8BnnlB,GAAGoglB,GAAQ,EAEtD,CACA8G,iBAAiBJ,GAAYC,EAAUr6b,IACnC,MAAM+tP,GAASqsM,GAAWvrnB,MACpBkinB,GAAOsJ,EAAWA,EAASxrnB,MAAQ,KACzC,GAAIk/a,KAAWgjM,GAEX,GAAIhjM,GAAOv4V,UAAW,CAElB,MAAM06B,GAAU8vE,GAAc2pC,WAAWokN,GAAO6gM,QAC5C1+f,IACA3uG,KAAK24mB,sBAAsBE,GAAYC,EAAUnqgB,GAAQ7B,SAEjE,MAGI9sG,KAAK24mB,sBAAsBE,GAAYC,EAAUr6b,SAIjD+wb,IAEAxvmB,KAAKk5mB,8BAA8BJ,EAAUr6b,GAGzD,CACAy6b,8BAA8B/8lB,GAAOq5lB,GAG7Br5lB,GAAM7uB,MAAM2mF,WAAaj0E,KAAK+2mB,mBAAmBoC,aAAah9lB,GAAM7uB,MAAMgf,UAC1EtM,KAAKo5mB,2BAA2Bj9lB,GAAOq5lB,GAGvCx1mB,KAAKq5mB,yBAAyBl9lB,GAAOq5lB,EAE7C,CACA4D,2BAA2Bj9lB,GAAOq5lB,GAC9B,MAAM7mgB,GAAU6mgB,EAAeptZ,WAAWjsM,GAAM7uB,MAAM+/mB,QAChD8E,GAAWxjgB,IAAWxyF,GAAM7uB,MAAM2mF,UAAY06B,GAAQ7B,SAAW0ogB,EACjE1ogB,GAAWkmgB,GAAkB72lB,IACnC,UAAWm9lB,MAAYlqlB,OAAO3jB,OAAOqhG,IACjC9sG,KAAKk5mB,8BAA8BI,GAAUnH,IAEjD,GAAIxjgB,IAAWA,GAAQ0+f,OAAQ,CAC3B,MAAMlyI,GAAexsX,GAAQ0+f,OAAOp4kB,SAC9Bk9kB,GAAWxjgB,GAAQ7B,SAASylgB,sBAClCvymB,KAAK+2mB,mBAAmBp3mB,MAAMwc,GAAM7uB,MAAMgf,SAAU,CAAE6ud,gBAAch/c,SAAOg2lB,aAC/E,CACJ,CACAkH,yBAAyBl9lB,GAAOq5lB,GAC5B,MAAM7mgB,GAAU6mgB,EAAeptZ,WAAWjsM,GAAM7uB,MAAM+/mB,QAGhD8E,GAAWxjgB,IAAWxyF,GAAM7uB,MAAM2mF,UAAY06B,GAAQ7B,SAAW0ogB,EACjE1ogB,GAAWkmgB,GAAkB72lB,IACnC,UAAWm9lB,MAAYlqlB,OAAO3jB,OAAOqhG,IACjC9sG,KAAKk5mB,8BAA8BI,GAAUnH,IAE7CxjgB,KACIA,GAAQ0+f,SAER1+f,GAAQ0+f,OAAO0I,aAEfpngB,GAAQ7B,SAASylgB,uBAKrB5jgB,GAAQujgB,UAAY,KACpBvjgB,GAAQxyF,MAAQ,KAExB,CACAy8lB,oBAAoBC,GAAYC,EAAU3G,IACtC,MAAMrlgB,GAAWkmgB,GAAkB8F,GACnCD,GAAW/rgB,SAAS1hF,QAAS34B,KACzBuN,KAAKu5mB,eAAe9mnB,GAAGq6G,GAASr6G,GAAEnF,MAAM+/mB,QAAS8E,IACjDnymB,KAAKs4mB,aAAa,IAAIzH,GAAcp+mB,GAAEnF,MAAMgf,UAAS,GAErDusmB,GAAW/rgB,SAAS16G,QACpB4N,KAAKs4mB,aAAa,IAAI3H,GAAmBkI,GAAWvrnB,MAAMgf,UAElE,CACAitmB,eAAeV,GAAYC,EAAUtD,IACjC,MAAMhpM,GAASqsM,GAAWvrnB,MACpBkinB,GAAOsJ,EAAWA,EAASxrnB,MAAQ,KAGzC,GAFAunnB,GAAsBroM,IAElBA,KAAWgjM,GACX,GAAIhjM,GAAOv4V,UAAW,CAElB,MAAM06B,GAAU6mgB,GAAenD,mBAAmB7lM,GAAO6gM,QACzDrtmB,KAAK44mB,oBAAoBC,GAAYC,EAAUnqgB,GAAQ7B,SAC3D,MAGI9sG,KAAK44mB,oBAAoBC,GAAYC,EAAUtD,SAAc,GAI7DhpM,GAAOv4V,UAAW,CAElB,MAAM06B,GAAU6mgB,GAAenD,mBAAmB7lM,GAAO6gM,QACzD,GAAIrtmB,KAAK+2mB,mBAAmBI,aAAa3qM,GAAOlga,UAAW,CACvD,MAAMktmB,GAAUx5mB,KAAK+2mB,mBAAmBM,SAAS7qM,GAAOlga,UACxDtM,KAAK+2mB,mBAAmBp3mB,MAAM6sa,GAAOlga,SAAU,MAC/CqiG,GAAQ7B,SAAS0lgB,mBAAmBgH,GAAOrH,UAC3CxjgB,GAAQujgB,UAAYsH,GAAOr+I,aAC3BxsX,GAAQxyF,MAAQq9lB,GAAOr9lB,MAAM7uB,MACzBqhH,GAAQ0+f,QAGR1+f,GAAQ0+f,OAAO74kB,OAAOgllB,GAAOr+I,aAAcq+I,GAAOr9lB,MAAM7uB,OAE5DunnB,GAAsB2E,GAAOr9lB,MAAM7uB,OACnC0S,KAAK44mB,oBAAoBC,GAAY,KAAMlqgB,GAAQ7B,SACvD,KACK,CACD,MAAM2mW,GAAWwkK,GAAwBzrM,GAAOlga,UAChDqiG,GAAQujgB,UAAY,KACpBvjgB,GAAQxyF,MAAQqwZ,GAChB79T,GAAQ8kW,SAAWA,GACf9kW,GAAQ0+f,QAGR1+f,GAAQ0+f,OAAO6I,aAAa1pM,GAAQ79T,GAAQ8kW,UAEhDzzc,KAAK44mB,oBAAoBC,GAAY,KAAMlqgB,GAAQ7B,SACvD,CACJ,MAGI9sG,KAAK44mB,oBAAoBC,GAAY,KAAMrD,GAevD,EAGJ,MAAMiE,GACFh6mB,YAAY5I,IACRmJ,KAAKnJ,KAAOA,GACZmJ,KAAKmc,MAAQnc,KAAKnJ,KAAKmJ,KAAKnJ,KAAKzE,OAAS,EAC9C,EAEJ,MAAMsnnB,GACFj6mB,YAAYw0E,GAAW93D,GACnBnc,KAAKi0E,UAAYA,GACjBj0E,KAAKmc,MAAQA,CACjB,EAEJ,SAASw9lB,GAAkBntM,EAAQgjM,GAAMgG,GACrC,MAAMiD,GAAajsM,EAAOkmM,MAE1B,OAAOkH,GAAoBnB,GADVjJ,GAAOA,GAAKkD,MAAQ,KACY8C,EAAgB,CAACiD,GAAWnrnB,OACjF,CAOA,SAASusnB,GAA2BC,EAAiBrmK,IACjD,MAAM3hK,EAAYt+C,SACZl2P,GAASm2c,GAAS/qc,IAAIoxmB,EAAiBhoU,GAC7C,OAAIx0S,KAAWw0S,EACoB,mBAApBgoU,IAAkC,EAACC,OAAcD,GAMjDrmK,GAAS/qc,IAAIoxmB,GAJbA,EAORx8mB,EACX,CACA,SAASs8mB,GAAoBf,EAAYC,GAAU3G,EAAU6H,GAAYC,GAAS,CAC9EC,oBAAqB,GACrBC,kBAAmB,KAEnB,MAAMC,GAAepH,GAAkB8F,IAEvCD,SAAW/rgB,SAAS1hF,QAAS34B,MAQjC,SAAS4nnB,GAAexB,EAAYC,GAAUtD,EAAgBwE,GAAYC,GAAS,CAC/EC,oBAAqB,GACrBC,kBAAmB,KAEnB,MAAM3tM,GAASqsM,EAAWvrnB,MACpBkinB,GAAOsJ,GAAWA,GAASxrnB,MAAQ,KACnCqhH,GAAU6mgB,EAAiBA,EAAeptZ,WAAWywZ,EAAWvrnB,MAAM+/mB,QAAU,KAEtF,GAAImC,IAAQhjM,GAAOolM,cAAgBpC,GAAKoC,YAAa,CACjD,MAAM0I,GAqCd,SAASC,GAA4B/K,EAAMhjM,GAAQ3vY,GAC/C,GAAoB,mBAATA,EACP,OAAOA,EAAK2ykB,EAAMhjM,IAEtB,OAAQ3vY,GACJ,IAAK,mBACD,OAAQsrkB,GAAUqH,EAAK50kB,IAAK4xY,GAAO5xY,KACvC,IAAK,gCACD,OAASutkB,GAAUqH,EAAK50kB,IAAK4xY,GAAO5xY,OAAS4skB,GAAagI,EAAKjjmB,YAAaiga,GAAOjga,aACvF,IAAK,SACD,OAAO,EACX,IAAK,4BACD,OAASyomB,GAA0BxF,EAAMhjM,MACpCg7L,GAAagI,EAAKjjmB,YAAaiga,GAAOjga,aAE/C,QACI,OAAQyomB,GAA0BxF,EAAMhjM,IAEpD,CAvD0B+tM,CAA4B/K,GAAMhjM,GAAQA,GAAOolM,YAAY4I,uBAC3EF,GACAL,GAAOE,kBAAkBr4kB,KAAK,IAAI23kB,GAAYO,MAI9CxtM,GAAOp/a,KAAOoinB,GAAKpinB,KACnBo/a,GAAOioM,cAAgBjF,GAAKiF,eAI5BmF,GAAoBf,EAAYC,GADhCtsM,GAAOv4V,UACmC06B,GAAUA,GAAQ7B,SAAW,KAI7B0ogB,EAJmCwE,GAAYC,IAMzFK,IAAa3rgB,IAAWA,GAAQ0+f,QAAU1+f,GAAQ0+f,OAAO8I,aACzD8D,GAAOC,oBAAoBp4kB,KAAK,IAAI43kB,GAAc/qgB,GAAQ0+f,OAAOp5hB,UAAWu7hB,IAEpF,MAEQA,IACA0J,GAA8BJ,GAAUnqgB,GAASsrgB,IAErDA,GAAOE,kBAAkBr4kB,KAAK,IAAI23kB,GAAYO,KAG1CJ,GAAoBf,EAAY,KADhCrsM,GAAOv4V,UAC+B06B,GAAUA,GAAQ7B,SAAW,KAI7B0ogB,EAJmCwE,GAAYC,GAQjG,EApDQI,CAAe5nnB,GAAG2nnB,GAAa3nnB,GAAEnF,MAAM+/mB,QAAS8E,EAAU6H,GAAWvsnB,OAAO,CAACgF,GAAEnF,QAAS2snB,WACjFG,GAAa3nnB,GAAEnF,MAAM+/mB,OAAM,GAGtCj+kB,OAAOihB,QAAQ+pkB,IAAchvlB,QAAQ,EAAEgY,GAAGrR,MAAOmnlB,GAA8BnnlB,GAAGoglB,EAAS/pZ,WAAWhlL,IAAI62kB,KACnGA,EACX,CAkEA,SAASf,GAA8B/8lB,EAAOwyF,GAASsrgB,GACnD,MAAMntgB,GAAWkmgB,GAAkB72lB,GAC7Bwd,GAAIxd,EAAM7uB,MAChB8hC,OAAOihB,QAAQy8D,IAAU1hF,QAAQ,EAAE08R,GAAW3gK,OAKtC+xd,GAA8B/xd,GAJ7BxtH,GAAEs6C,UAGE06B,GAC+BA,GAAQ7B,SAASs7G,WAAW0/F,IAG5B,KANAn5M,GAGwCsrgB,EAHzB,GAavDA,EAAOC,oBAAoBp4kB,KAAK,IAAI43kB,GAJnC//kB,GAAEs6C,WAGE06B,IAAWA,GAAQ0+f,QAAU1+f,GAAQ0+f,OAAO8I,YACCxngB,GAAQ0+f,OAAOp5hB,UAHf,KAG0Bt6C,IAKpF,CAeA,SAASqoD,GAAWjwD,GAChB,MAAoB,mBAANA,CAClB,CAmBA,SAAS0olB,GAAaj7kB,GAClB,OAAOA,aAAaiga,KAA0B,eAAZjga,GAAGhyC,IACzC,CAEA,MAAMktnB,GAAgClnX,OAAO,iBAC7C,SAASmnX,KACL,SAAO/tlB,MAAW61a,MACPl1b,KAAck1b,EAAI50c,IAAKipF,IAAMA,GAAEjsE,QAAK2C,MAAK,IAAC,EAAGmf,MAAU+tlB,OAAkB7vmB,QAAKhd,MAAKs2F,KACtF,UAAW7mF,KAAU6mF,GACjB,IAAe,IAAX7mF,EAIC,IAAIA,IAAWo9mB,GAEhB,OAAOA,GAEN,IAAe,IAAXp9mB,GAAoBA,aAAkB4rmB,GAI3C,OAAO5rmB,EAIf,OAAO,KACV,EAAG5P,MAAQ6qB,IAASA,KAASmimB,KAAa,EAAGltmB,MAAK,IAE3D,CAyHA,SAASotmB,GAAkBnD,GACvB,SAAO5smB,SAAKmB,MAAK1O,KACb,GAAKuvmB,GAAUvvmB,IAEf,MAAMk6mB,GAA2BC,EAAen6mB,GAAM,IACzD,EAAGzP,MAAKyP,KAAsB,IAAXA,IACxB,CAeA,MAAMu9mB,GACFp7mB,YAAY0nmB,IACRnnmB,KAAKmnmB,aAAeA,IAAgB,IACxC,EAEJ,MAAM2T,WAAyBjzkB,MAC3BpoC,YAAYs7mB,IACRvqkB,QACAxwC,KAAK+6mB,QAAUA,EACnB,EAEJ,SAASC,GAAU7T,GACf,SAAOrikB,MAAW,IAAI+1kB,GAAQ1T,GAClC,CAYA,MAAM8T,GACFx7mB,YAAYg4mB,GAAesD,GACvB/6mB,KAAKy3mB,cAAgBA,GACrBz3mB,KAAK+6mB,QAAUA,CACnB,CACAG,mBAAmB/+lB,GAAO4+lB,GACtB,IAAIt/lB,GAAM,GACNhpB,GAAIsonB,EAAQz/c,KAChB,OAAa,CAET,GADA7/I,GAAMA,GAAIhuB,OAAOgF,GAAEy0mB,UACQ,IAAvBz0mB,GAAE41mB,iBACF,SAAOl0lB,MAAGsH,IAEd,GAAIhpB,GAAE41mB,iBAAmB,IAAM51mB,GAAEq6G,SAAS+5f,IACtC,OArBZ,EAAO/hkB,MAAW,IAAIunI,MAAc,KAAwFC,IAuBpH75K,GAAIA,GAAEq6G,SAAS+5f,GACnB,CACJ,CACAsU,sBAAsBjU,GAAU/yhB,EAAYkzhB,IACxC,MAAM+T,GAAUp7mB,KAAKq7mB,2BAA2BlniB,EAAYn0E,KAAKy3mB,cAAch6mB,MAAM02E,GAAa+yhB,GAAUG,IAC5G,GAAIlzhB,EAAW7kD,WAAW,KACtB,MAAM,IAAIwrlB,GAAiBM,IAE/B,OAAOA,EACX,CACAC,2BAA2BlniB,GAAY4miB,EAAS7T,GAAUG,IACtD,MAAMr8S,GAAUhrT,KAAKs7mB,mBAAmBnniB,GAAY4miB,EAAQz/c,KAAM4rc,GAAUG,IAC5E,OAAO,IAAI6B,GAAQl+S,GAAShrT,KAAKu7mB,kBAAkBR,EAAQxumB,YAAavM,KAAK+6mB,QAAQxumB,aAAcwumB,EAAQlS,SAC/G,CACA0S,kBAAkBC,GAAkBC,GAChC,MAAMhgmB,GAAM,CAAC,EACb2T,cAAOihB,QAAQmrkB,IAAkBpwlB,QAAQ,EAAEgY,GAAGrR,OAE1C,GADqC,iBAANA,IAAkBA,GAAEzC,WAAW,KACzC,CACjB,MAAMqhO,GAAa5+N,GAAE1c,UAAU,GAC/BoG,GAAI2nB,IAAKq4kB,EAAa9qX,GAC1B,MAEIl1O,GAAI2nB,IAAKrR,KAGVtW,EACX,CACA6/lB,mBAAmBnniB,GAAYroE,EAAOo7lB,GAAUG,IAC5C,MAAMqU,GAAkB17mB,KAAK27mB,eAAexniB,GAAYroE,EAAMo7lB,SAAUA,GAAUG,IAClF,IAAIv6f,GAAW,CAAC,EAChB19E,cAAOihB,QAAQvkC,EAAMghG,UAAU1hF,QAAQ,EAAE59B,GAAMs8O,OAC3Ch9H,GAASt/G,IAAQwS,KAAKs7mB,mBAAmBnniB,GAAY21J,GAAOo9X,GAAUG,GAAS,GAE5E,IAAI8B,GAAgBuS,GAAiB5ugB,GAChD,CACA6ugB,eAAexniB,GAAYyniB,EAAoBC,GAAgBxU,IAC3D,OAAOuU,EAAmB/tnB,IAAKyE,IAAMA,GAAEuE,KAAKy4B,WAAW,KACjDtvB,KAAK87mB,aAAa3niB,GAAY7hF,GAAG+0mB,IACjCrnmB,KAAK+7mB,aAAazpnB,GAAGupnB,IAC/B,CACAC,aAAa3niB,GAAY6niB,EAAsB3U,IAC3C,MAAMx9jB,GAAMw9jB,GAAU2U,EAAqBnlnB,KAAKwe,UAAU,IAC1D,IAAKw0B,GACD,MAAM,IAAIwiI,MAAc,MAAmFC,GAE/G,OAAOziI,EACX,CACAkykB,aAAaC,GAAsBH,GAC/B,IAAI1skB,GAAM,EACV,UAAW78C,MAAKupnB,EAAgB,CAC5B,GAAIvpnB,GAAEuE,OAASmlnB,GAAqBnlnB,KAChCglnB,SAAexskB,OAAOF,IACf78C,GAEX68C,IACJ,CACA,OAAO6skB,EACX,EAGJ,MAAM3M,GAAU,CACZx0L,SAAS,EACTohM,iBAAkB,GAClBC,kBAAmB,GACnBh7Y,WAAY,CAAC,EACbi7Y,wBAAyB,CAAC,GAE9B,SAASC,GAAgBjV,EAAchrlB,GAAO+qlB,EAAUzzJ,GAAUgkK,IAC9D,MAAMn6mB,GAASmgE,GAAM0piB,EAAchrlB,GAAO+qlB,GAC1C,OAAK5pmB,GAAOu9a,SAKZ44B,GAh0BJ,SAAS4oK,GAAiClgmB,EAAOmgmB,IAC7C,OAAIngmB,EAAMkc,YAAclc,EAAMo5c,YAC1Bp5c,EAAMo5c,aAAYs8D,OAA0B11gB,EAAMkc,UAAWiklB,GAAiB,UAAUngmB,EAAMtlB,SAE3FslB,EAAMo5c,WAAa+mJ,EAC9B,CA2zBeD,CAAiClgmB,GAAOs3b,IAlIvD,SAAS8oK,GAAkB9oK,EAAUt3b,GAAO+qlB,EAAUuQ,IAClD,MAAM+E,GAAWrgmB,GAAMqgmB,SACvB,IAAKA,IAAgC,IAApBA,GAASpqnB,OACtB,SAAO+hB,OAAG,GACd,MAAMsomB,GAAsBD,GAAS3unB,IAAK6unB,KACtC,MAAMjrN,GAAQooN,GAA2B6C,GAAgBjpK,GAIzD,OAAOo0J,GAxKf,SAAS8U,GAAWlrN,GAChB,OAAOA,GAASzvU,GAAWyvU,EAAM+qN,SACrC,CAmKyBG,CAAWlrN,IACtBA,GAAM+qN,SAASrgmB,GAAO+qlB,IAAQ,EAC9BvqH,OAAsBlpC,EAAU,IAAMhiD,GAAMt1Y,GAAO+qlB,IACvB,GAEtC,SAAO/ylB,MAAGsomB,IAAqB5xmB,KAAK8vmB,KAAyBC,KACjE,CAuHW2B,CAAkB9oK,GAAUt3b,GAAO+qlB,GAAyBr8lB,QAAKhd,MAAKkkC,KAAa,IAANA,GAAaz0B,GAAS,IAAK+xmB,QAAW,EAL/Gl7lB,MAAG7W,GAMlB,CACA,SAASmgE,GAAM0piB,EAAchrlB,GAAO+qlB,GAChC,GAAmB,OAAf/qlB,GAAMtlB,KACN,OAkCR,SAAS+lnB,GAA0B1V,GAC/B,MAAO,CACHrsL,SAAS,EACT35M,WAAYgmY,EAAS90mB,OAAS,EAAIsrJ,GAAKwpd,GAAUhmY,WAAa,CAAC,EAC/D+6Y,iBAAkB/U,EAClBgV,kBAAmB,GACnBC,wBAAyB,CAAC,EAElC,CA1CeS,CAA0B1V,GAErC,GAAmB,KAAf/qlB,GAAMtlB,KACN,MAAwB,SAApBslB,GAAM+3D,YAAyBizhB,EAAaC,eAAiBF,EAAS90mB,OAAS,GACxE,IAAKi9mB,IAET,CACHx0L,SAAS,EACTohM,iBAAkB,GAClBC,kBAAmBhV,EACnBhmY,WAAY,CAAC,EACbi7Y,wBAAyB,CAAC,GAIlC,MAAM1gmB,IADUU,GAAM2ta,SAAWm9K,IACbC,EAAUC,EAAchrlB,IAC5C,IAAKV,GACD,MAAO,IAAK4zlB,IAChB,MAAMhI,GAAY,CAAC,EACnBj4kB,OAAOihB,QAAQ50B,GAAI4rlB,WAAa,CAAC,GAAGj8kB,QAAQ,EAAEgY,GAAGrR,OAC7Cs1kB,GAAUjkkB,IAAKrR,GAAEl7B,OAErB,MAAMqqO,GAAazlN,GAAI8rlB,SAASn1mB,OAAS,EACnC,IAAKi1mB,MAAc5rlB,GAAI8rlB,SAAS9rlB,GAAI8rlB,SAASn1mB,OAAS,GAAG8uO,YACzDmmY,GACN,MAAO,CACHxsL,SAAS,EACTohM,iBAAkBxgmB,GAAI8rlB,SACtB2U,kBAAmBhV,EAAStlkB,MAAMnmB,GAAI8rlB,SAASn1mB,QAE/C8uO,cACAi7Y,wBAAyB1gmB,GAAI4rlB,WAAa,CAAC,EAEnD,CAUA,SAASl8kB,GAAMg8kB,EAAc8U,GAAkBY,EAAgB7snB,IAC3D,OAAI6snB,EAAezqnB,OAAS,GAkChC,SAAS0qnB,GAAyC3V,EAAc0V,GAAgBx4iB,GAC5E,OAAOA,EAAO7yE,KAAMmoC,IAAMojlB,GAAe5V,EAAc0V,GAAgBljlB,KAAMq+kB,GAAUr+kB,MAAOktkB,GAClG,CAnCQiW,CAAyC3V,EAAc0V,EAAgB7snB,IAEhE,CAAEm3mB,aADC,IAAIgC,GAAgB8S,GAAkBe,GAA4BhtnB,GAAQ,IAAIm5mB,GAAgB0T,EAAgB1V,EAAar6f,YAC3G+vgB,eAAgB,IAEhB,IAA1BA,EAAezqnB,QAgCvB,SAAS6qnB,GAAyB9V,EAAc0V,GAAgBx4iB,GAC5D,OAAOA,EAAO7yE,KAAMmoC,IAAMojlB,GAAe5V,EAAc0V,GAAgBljlB,IAC3E,CAjCQsjlB,CAAyB9V,EAAc0V,EAAgB7snB,IAEhD,CAAEm3mB,aADC,IAAIgC,GAAgBhC,EAAaD,SAAUgW,GAAgC/V,EAAc0V,EAAgB7snB,GAAQm3mB,EAAar6f,WAC9G+vgB,kBAGvB,CAAE1V,aADC,IAAIgC,GAAgBhC,EAAaD,SAAUC,EAAar6f,UACxC+vgB,iBAC9B,CACA,SAASK,GAAgC/V,EAAc0V,GAAgBx4iB,EAAQyoC,IAC3E,MAAMrxF,GAAM,CAAC,EACb,UAAWke,MAAK0qC,EACZ,GAAI04iB,GAAe5V,EAAc0V,GAAgBljlB,MAAOmzE,GAASkrgB,GAAUr+kB,KAAK,CAC5E,MAAMrnC,GAAI,IAAI62mB,GAAgB,GAAI,CAAC,GACnC1tlB,GAAIu8lB,GAAUr+kB,KAAMrnC,EACxB,CAEJ,MAAO,IAAKw6G,MAAarxF,GAC7B,CACA,SAASuhmB,GAA4B34iB,EAAQ84iB,IACzC,MAAM1hmB,EAAM,CAAC,EACbA,EAAIorlB,IAAkBsW,GACtB,UAAWxjlB,MAAK0qC,EACZ,GAAe,KAAX1qC,GAAE9iC,MAAemhnB,GAAUr+kB,MAAOktkB,GAAgB,CAClD,MAAMv0mB,GAAI,IAAI62mB,GAAgB,GAAI,CAAC,GACnC1tlB,EAAIu8lB,GAAUr+kB,KAAMrnC,EACxB,CAEJ,OAAOmpB,CACX,CAOA,SAASshmB,GAAe5V,EAAc0V,GAAgBljlB,GAClD,SAAKwtkB,EAAaC,eAAiByV,GAAezqnB,OAAS,IAAsB,SAAhBunC,EAAEu6C,YAGjD,KAAXv6C,EAAE9iC,IACb,CAiCA,MAAMumnB,IAMN,MAAMC,GACF59mB,YAAYg0c,GAAU6pK,EAAcC,GAAmBvtnB,GAAQ+qnB,GAASvG,GAA2BiD,IAC/Fz3mB,KAAKyzc,SAAWA,GAChBzzc,KAAKs9mB,aAAeA,EACpBt9mB,KAAKu9mB,kBAAoBA,GACzBv9mB,KAAKhQ,OAASA,GACdgQ,KAAK+6mB,QAAUA,GACf/6mB,KAAKw0mB,0BAA4BA,GACjCx0mB,KAAKy3mB,cAAgBA,GACrBz3mB,KAAKw9mB,eAAiB,IAAIvC,GAAej7mB,KAAKy3mB,cAAez3mB,KAAK+6mB,SAClE/6mB,KAAKy9mB,sBAAwB,EAC7Bz9mB,KAAK09mB,gBAAiB,CAC1B,CACAC,aAAan+kB,IACT,OAAO,IAAI6sI,MAAc,KAEnB,IAAI7sI,GAAE2nkB,gBAChB,CACAyW,YACI,MAAM5Q,GAAmB7hlB,GAAMnrB,KAAK+6mB,QAAQz/c,KAAM,GAAI,GAAIt7J,KAAKhQ,QAAQm3mB,aACvE,OAAOnnmB,KAAKy9D,MAAMuviB,IAAkBnimB,QAAKhd,MAAKi/G,IAG1C,MAAMwuD,GAAO,IAAIg4c,GAAuB,GAAIlklB,OAAO2xD,OAAO,CAAC,GAAI3xD,OAAO2xD,OAAO,IAAK/gF,KAAK+6mB,QAAQxumB,cAAgBvM,KAAK+6mB,QAAQlS,SAAU,CAAC,EAAGhC,GAAgB7mmB,KAAKu9mB,kBAAmB,KAAM,CAAC,GACnLl+J,GAAW,IAAI0zJ,GAASz3c,GAAMxuD,GAC9B+wgB,GAAa,IAAItK,GAAoB,GAAIl0J,IACzC4qJ,GA13FlB,SAAS6T,GAA0BtomB,EAAYs7N,GAAUvkO,EAAc,KAAMs8lB,GAAW,MAEpF,OAAOyE,GAD2BR,GAA4Bt3lB,GACEs7N,GAAUvkO,EAAas8lB,GAC3F,CAu3FyBiV,CAA0Bxid,GAAM,GAAIt7J,KAAK+6mB,QAAQxumB,YAAavM,KAAK+6mB,QAAQlS,UAIxFoB,UAAK19lB,YAAcvM,KAAK+6mB,QAAQxumB,YAChCsxmB,GAAWjjlB,IAAM56B,KAAKy3mB,cAAcrnkB,UAAU65jB,IAC9CjqmB,KAAK+9mB,qBAAqBF,GAAWnL,MAAO,MACrC,CAAE1pnB,MAAO60nB,GAAY5T,QAAK,GAEzC,CACAxsiB,MAAMuviB,IAEF,OADkBhtmB,KAAKg+mB,oBAAoBh+mB,KAAKyzc,SAAUzzc,KAAKhQ,OAAQg9mB,GAAkBnG,IACxEh8lB,QAAKysD,MAAY93B,KAC9B,GAAIA,cAAas7kB,GACb,OAAA96mB,KAAK+6mB,QAAUv7kB,GAAEu7kB,QACV/6mB,KAAKy9D,MAAMj+B,GAAEu7kB,QAAQz/c,MAEhC,MAAI97H,cAAaq7kB,GACP76mB,KAAK29mB,aAAan+kB,IAEtBA,KAEd,CACAu+kB,qBAAqBE,GAAW53jB,GAC5B,MAAMlqC,GAAQ8hmB,GAAU3wnB,MAClBy6B,GAAIwslB,GAAap4lB,GAAOkqC,EAAQrmD,KAAKw0mB,2BAC3Cr4lB,GAAM/O,OAASgiB,OAAO2xD,OAAOh5D,GAAE3a,QAC/B+O,GAAM/uB,KAAOgiC,OAAO2xD,OAAOh5D,GAAE36B,MAC7B6wnB,GAAUnxgB,SAAS1hF,QAAS35B,IAAMuO,KAAK+9mB,qBAAqBtsnB,GAAG0qB,IACnE,CACA6hmB,oBAAoBvqK,GAAUzjd,EAAQm3mB,GAAckG,IAChD,OAAqC,IAAjClG,GAAaD,SAAS90mB,QAAgB+0mB,GAAaC,cAC5CpnmB,KAAKuumB,gBAAgB96J,GAAUzjd,EAAQm3mB,IAE3CnnmB,KAAKk+mB,eAAezqK,GAAUzjd,EAAQm3mB,GAAcA,GAAaD,SAAUmG,IAAQ,GAAMximB,QAAKhd,MAAKi8O,IAAWA,cAAiBipY,GAAW,CAACjpY,IAAS,IAC/J,CASAykY,gBAAgB96J,GAAUzjd,EAAQm3mB,IAG9B,MAAMgG,GAAe,GACrB,UAAWrjY,MAAS16M,OAAOC,KAAK83kB,GAAar6f,UAC3B,YAAVg9H,GACAqjY,GAAa58c,QAAQu5E,IAGrBqjY,GAAarrkB,KAAKgoM,IAG1B,SAAO5yK,KAAKi2iB,IAActimB,QAAKw+L,MAAWoha,KACtC,MAAM3gY,GAAQq9X,GAAar6f,SAAS29f,IAI9B0T,GAv4BlB,SAASC,GAAsB/5iB,EAAQ8niB,IACnC,MAAMgS,EAAe95iB,EAAO32E,OAAQisC,IAAMq+kB,GAAUr+kB,MAAOwykB,IAC3DgS,SAAar8kB,QAAQuiC,EAAO32E,OAAQisC,IAAMq+kB,GAAUr+kB,MAAOwykB,KACpDgS,CACX,CAm4BiCC,CAAsBpunB,EAAQy6mB,IACnD,OAAOzqmB,KAAKg+mB,oBAAoBvqK,GAAU0qK,GAAcr0Y,GAAO2gY,GAAW,IAC7E,EAAGp9Z,MAAK,CAACvgG,GAAUuxgB,MAChBvxgB,GAAShrE,QAAQu8kB,IACVvxgB,MACV,EAAGq4V,MAAe,MC3wHpB,SAASznT,GAAKmpD,EAAW9gH,IAC5B,MAAM+/W,EAAkBr1Z,UAAUr+C,QAAU,EAC5C,OAAQ0hD,IAAWA,GAAOjpC,KAAKg8L,KAAYn5M,MAAO,CAACqkC,GAAGhK,KAAM8+K,EAAU90K,GAAGhK,GAAG+rB,KAAW4jT,KAAUkvQ,GAAS,GAAI9gK,KAAkBX,MAAep/W,KAAY,EAAIggX,MAAa,IAAM,IAAItG,KAC1L,CDwwHkC6+K,IAAO,EAAGh/a,MAAUxyF,KAC1C,GAAiB,OAAbA,GACA,OAAOkugB,GAAU7T,IAIrB,MAAMoX,GAAiBC,GAAsB1xgB,IAM7C2xgB,OA4HZ,SAASA,GAA4B53d,GACjCA,EAAM3sF,KAAK,CAAC1hE,GAAG2hE,IACP3hE,GAAElL,MAAM+/mB,SAAWxG,IACZ,EACP1siB,EAAE7sE,MAAM+/mB,SAAWxG,GACZ,EACJrumB,GAAElL,MAAM+/mB,OAAOqR,cAAcvkjB,EAAE7sE,MAAM+/mB,QAEpD,CApIYoR,CAA4BF,KAAc,EACnCpqmB,MAAGoqmB,GAAc,GAEhC,CACAL,eAAezqK,GAAUpvY,EAAQ8iiB,GAAcD,GAAUmG,GAAQqQ,IAC7D,SAAOxmjB,KAAKmN,GAAQx5D,QAAKw+L,MAAW1vK,IACzB35B,KAAK2+mB,2BAA2BhllB,GAAE47b,WAAa9hB,GAAUpvY,EAAQ1qC,GAAGwtkB,GAAcD,GAAUmG,GAAQqQ,IAAgB7ymB,QAAKysD,MAAY93B,KACxI,GAAIA,cAAaq7kB,GACb,SAAO1mmB,MAAG,MAEd,MAAMqrB,QAEb,EAAG9Q,MAAOvwB,MAAQA,KAAC,EAAGm5D,MAAY93B,KAC/B,GAAIi7kB,GAAaj7kB,IACb,OArIhB,SAASo/kB,GAAiBzX,EAAcD,GAAUmG,GAC9C,OAA2B,IAApBnG,GAAS90mB,SAAiB+0mB,EAAar6f,SAASuggB,EAC3D,CAmIoBuR,CAAiBzX,GAAcD,GAAUmG,KAAM,EACxCl5lB,MAAG,IAAIipmB,IAEXpC,GAAU7T,IAErB,MAAM3nkB,KAEd,CACAm/kB,2BAA2BlrK,GAAUpvY,EAAQloD,GAAO0imB,GAAY3X,GAAUmG,GAAQqQ,IAC9E,OAhKR,SAASoB,GAAiB3imB,EAAO0imB,GAAY3X,EAAUmG,IAYnD,SAAI2K,GAAU77lB,KAAWkxlB,IACpBA,KAAWxG,IAAmBkW,GAAe8B,GAAY3X,EAAU/qlB,KAGjEshD,GAAMohjB,GAAY1imB,EAAO+qlB,GAAUrsL,OAC9C,CA+IaikM,CAAiB3imB,GAAO0imB,GAAY3X,GAAUmG,SAE1Bh/mB,IAArB8tB,GAAMg4D,WACCn0E,KAAK++mB,yBAAyBtrK,GAAUorK,GAAY1imB,GAAO+qlB,GAAUmG,IAE5ErtmB,KAAK09mB,gBAAkBA,GAChB19mB,KAAKg/mB,uCAAuCvrK,GAAUorK,GAAYx6iB,EAAQloD,GAAO+qlB,GAAUmG,IAE/F2N,GAAU6D,IAPN7D,GAAU6D,GAQzB,CACAG,uCAAuCvrK,GAAU0zJ,EAAc9iiB,GAAQloD,GAAO+qlB,GAAUmG,IACpF,MAAQxyL,WAASohM,oBAAkBE,2BAAyBD,sBAAsBz+iB,GAAM0piB,EAAchrlB,GAAO+qlB,IAC7G,IAAKrsL,GACD,OAAOmgM,GAAU7T,GAGjBhrlB,GAAMg4D,WAAW7kD,WAAW,OAC5BtvB,KAAKy9mB,wBACDz9mB,KAAKy9mB,sBAlJS,KAwJdz9mB,KAAK09mB,gBAAiB,IAG9B,MAAMtC,GAAUp7mB,KAAKw9mB,eAAerC,sBAAsBc,GAAkB9/lB,GAAMg4D,WAAYgoiB,IAC9F,OAAOn8mB,KAAKw9mB,eAAetC,mBAAmB/+lB,GAAOi/lB,IAASvwmB,QAAKy0L,MAAU2/a,IAClEj/mB,KAAKk+mB,eAAezqK,GAAUpvY,GAAQ8iiB,EAAc8X,GAAYxxnB,OAAOyunB,IAAoB7O,IAAQ,IAElH,CACA0R,yBAAyBtrK,GAAUorK,EAAY1imB,GAAO+qlB,GAAUmG,IAC5D,MAAMl0F,GAAcijG,GAAgByC,EAAY1imB,GAAO+qlB,GAAUzzJ,IACjE,MAAmB,OAAft3b,GAAMtlB,OAKNgonB,EAAW/xgB,SAAW,CAAC,GAEpBqsa,GAAYtugB,QAAK+hB,MAAWtvB,IAC1BA,GAAOu9a,QAKL76a,KAAKk/mB,eADZzrK,GAAWt3b,GAAMo5c,WAAa9hB,GACOt3b,GAAO+qlB,IAAUr8lB,QAAK+hB,MAAU,EAAGy3C,OAAQkyW,OAC5E,MAAM4oM,GAAgBhjmB,GAAM+7lB,iBAAmBzkK,IACvCwoK,oBAAkBC,qBAAmBh7Y,eAAe5jO,GACtDgP,GAAW,IAAIgnmB,GAAuB2I,GAAkB/6Y,GAAY9xM,OAAO2xD,OAAO,IAAK/gF,KAAK+6mB,QAAQxumB,cAAgBvM,KAAK+6mB,QAAQlS,SA8GvJ,SAAS3xY,GAAQ/6M,GACb,OAAOA,EAAM/uB,MAAQ,CAAC,CAC1B,CAhHiK8pO,CAAQ/6M,IAAQ67lB,GAAU77lB,IAAQA,GAAM83D,WAAa93D,GAAMijmB,kBAAoB,KAAMjjmB,GAiHtP,SAASkjmB,GAAWljmB,GAChB,OAAOA,EAAMo4B,SAAW,CAAC,CAC7B,CAnH6P8qkB,CAAWljmB,MAChPgrlB,gBAAc0V,mBAAmB1xlB,GAAM0zlB,EAAY5C,GAAkBC,GAAmB3lM,IAChG,GAA8B,IAA1BsmM,GAAezqnB,QAAgB+0mB,GAAaC,cAC5C,OAAOpnmB,KAAKuumB,gBAAgB4Q,GAAe5oM,GAAa4wL,IAAct8lB,QAAKhd,MAAKi/G,IAC3D,OAAbA,GACO,KAEJ,IAAIimgB,GAASzmmB,GAAUwgG,MAGtC,GAA2B,IAAvBypU,GAAYnkb,QAA0C,IAA1ByqnB,GAAezqnB,OAC3C,SAAO+hB,MAAG,IAAI4+lB,GAASzmmB,GAAU,KAErC,MAAMgzmB,GAAkBtH,GAAU77lB,MAAWkxlB,GAS7C,OAAOrtmB,KAAKk+mB,eAAeiB,GAAe5oM,GAAa4wL,GAAc0V,GAAgByC,GAAkBzY,GAAiBwG,IAAQ,GAAMximB,QAAKhd,MAAKi8O,IACrI,IAAIipY,GAASzmmB,GAAUw9N,cAAiBipY,GAAW,CAACjpY,IAAS,KACtE,IA/BKkxY,GAAU6D,IAkC7B,CACAK,eAAezrK,GAAUt3b,EAAO+qlB,IAC5B,OAAI/qlB,EAAM2wF,YAEC34F,MAAG,CAAEkwD,OAAQloD,EAAM2wF,SAAU2mW,cAEpCt3b,EAAM23D,kBAEsBzlF,IAAxB8tB,EAAMojmB,eAAkBlxnB,EACjB8lB,MAAG,CAAEkwD,OAAQloD,EAAMojmB,cAAe9rK,SAAUt3b,EAAM+7lB,kBAjfzE,SAASsH,GAAiB/rK,EAAUt3b,GAAO+qlB,EAAUuQ,IACjD,MAAMgI,GAAUtjmB,GAAMsjmB,QACtB,QAAgBpxnB,IAAZoxnB,IAA4C,IAAnBA,GAAQrtnB,OACjC,SAAO+hB,OAAG,GAEd,MAAMurmB,GAAqBD,GAAQ5xnB,IAAK6unB,KACpC,MAAMjrN,GAAQooN,GAA2B6C,GAAgBjpK,GAIzD,OAAOo0J,GAhKf,SAAS8X,GAAUluN,GACf,OAAOA,GAASzvU,GAAWyvU,EAAMguN,QACrC,CA2JyBE,CAAUluN,IACrBA,GAAMguN,QAAQtjmB,GAAO+qlB,IAAQ,EAC7BvqH,OAAsBlpC,EAAU,IAAMhiD,GAAMt1Y,GAAO+qlB,IACvB,GAEtC,SAAO/ylB,MAAGurmB,IAAoB70mB,KAAK8vmB,KAAyBC,KAChE,CAsemB4E,CAAiB/rK,GAAUt3b,EAAO+qlB,IAA8Br8lB,QAAKy0L,MAAUsgb,IAC9EA,GACO5/mB,KAAKs9mB,aAAaxpiB,aAAa2/X,GAAUt3b,GAAOtR,QAAKmB,MAAK05D,KAC7DvpD,EAAMojmB,cAAgB75iB,GAAIrB,OAC1BloD,EAAM+7lB,gBAAkBxyiB,GAAI+tY,YA/bpD,SAASosK,GAAa1jmB,GAClB,SAAO2oB,MAAW6ykB,IAA8Drrc,EACkB6kc,GAA2BI,eACjI,CA+buBsO,MACT,EAEC1rmB,MAAG,CAAEkwD,OAAQ,GAAIovY,aAC5B,EAWJ,SAASqsK,GAAmB34d,GACxB,MAAMn3J,GAASm3J,EAAK75J,MAAMsknB,YAC1B,OAAO5hnB,IAA0B,KAAhBA,GAAO6G,IAC5B,CAMA,SAAS2nnB,GAAsB33d,GAC3B,MAAMvpJ,GAAS,GAETyinB,EAAc,IAAIn6jB,IACxB,UAAWuhG,MAAQN,EAAO,CACtB,IAAKi5d,GAAmB34d,IAAO,CAC3B7pJ,GAAOwkC,KAAKqlH,IACZ,QACJ,CACA,MAAM64d,GAAyB1inB,GAAOnI,KAAM8qnB,IAAe94d,GAAK75J,MAAMsknB,cAAgBqO,GAAW3ynB,MAAMsknB,kBACxEvjnB,IAA3B2xnB,IACAA,GAAuBlzgB,SAAShrE,QAAQqlH,GAAKr6C,UAC7CizgB,EAAYh0mB,IAAIi0mB,KAGhB1inB,GAAOwkC,KAAKqlH,GAEpB,CAKA,UAAW+4d,MAAcH,EAAa,CAClC,MAAMxB,GAAiBC,GAAsB0B,GAAWpzgB,UACxDxvG,GAAOwkC,KAAK,IAAIixkB,GAASmN,GAAW5ynB,MAAOixnB,IAC/C,CACA,OAAOjhnB,GAAO5P,OAAQ+D,KAAOsunB,EAAYtmlB,IAAIhoC,IACjD,CA8DA,SAAS0unB,GAAiBhkmB,GACtB,MAAMikmB,GAAcjkmB,EAAM2wF,SAASj/G,IAAKi8O,GAAUq2Y,GAAiBr2Y,IAAQ+8R,OAC3E,MAAO,CAAC1qf,KAAUikmB,GACtB,CAsCA,SAASC,GAAU1zmB,GACf,SAAOigB,MAAWmF,KACd,MAAMuulB,EAAa3zmB,EAAKolB,IACxB,OAAIuulB,KACOppjB,KAAKopjB,GAAYz1mB,QAAKhd,MAAI,IAAMkkC,MAAE,EAEtC5d,MAAG4d,GAAC,EAEnB,CAEA,IAuBMwulB,GAAa,MAAnB,MAAMA,EAIFC,WAAWl0mB,GACP,IAAIm0mB,GACAtkmB,GAAQ7P,EAASgvJ,KACrB,UAAiBjtK,IAAV8tB,IACHskmB,GAAYzgnB,KAAK0gnB,yBAAyBvkmB,KAAUskmB,GACpDtkmB,GAAQA,GAAM2wF,SAAS33G,KAAM20O,IAAUA,GAAMujY,SAAWxG,IAE5D,OAAO4Z,EACX,CAKAC,yBAAyBp0mB,GACrB,OAAOA,EAASlf,KAAK05mB,GACzB,QACS9mmB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFgymB,EAAa,CAAsD,QACrKvgnB,KAAKszD,WA5rHmFrzD,MAAE,CAAAhQ,MA4rHYswnB,EAAa9/mB,eAAwCwwB,OAAO0vlB,IAAqBhgnB,WAAtD,QAA2D,EACxM,OAtBK4/mB,CAAa,KA8BbI,GAAoB,MAA1B,MAAMA,UAA6BJ,GAC/B9gnB,YAAYyrE,GACR16B,QACAxwC,KAAKkrE,MAAQA,CACjB,CAMA01iB,YAAYt0mB,GACR,MAAM4+D,GAAQlrE,KAAKwgnB,WAAWl0mB,QAChBje,IAAV68E,IACAlrE,KAAKkrE,MAAMs9F,SAASt9F,GAE5B,QACSlrE,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFoymB,GArtHV1gnB,MAqtHgDC,OAAQ,CAA+C,QAC/LF,KAAKszD,WAttHmFrzD,MAAE,CAAAhQ,MAstHY0wnB,EAAoBlgnB,QAApBkgnB,EAAoBjgnB,UAAAC,WAAc,QAAW,EAC/J,OAlBKggnB,CAAoB,KA6B1B,MAAME,GAAuB,IAAIh7lB,MAAiF,GAAI,CAClHllB,WAAY,OACZF,QAASA,MAAQ,KAafy0E,GAAS,IAAIrvD,MAAsC,IAAI,IACvDi7lB,GAAkB,MAAxB,MAAMA,EACFrhnB,cACIO,KAAK+gnB,iBAAmB,IAAIhtb,QAC5B/zL,KAAKghnB,gBAAkB,IAAIjtb,QAC3B/zL,KAAKihnB,YAAWhwlB,OAAOmmhB,MAC3B,CACA7ie,cAAcp4D,GACV,GAAInc,KAAK+gnB,iBAAiBr4mB,IAAIyT,GAC1B,OAAOnc,KAAK+gnB,iBAAiBr4mB,IAAIyT,GAEhC,GAAIA,EAAMijmB,iBACX,SAAOjrmB,MAAGgI,EAAMijmB,kBAEhBp/mB,KAAKkhnB,qBACLlhnB,KAAKkhnB,oBAAoB/kmB,GAE7B,MAAMglmB,GAAatZ,GAAmB1rlB,EAAMo4D,iBAAiB1pE,QAAKhd,MAAIuznB,KAAwB,EAAGp1mB,MAAKioE,KAC9Fj0E,KAAKqhnB,mBACLrhnB,KAAKqhnB,kBAAkBllmB,GAI3BA,EAAMijmB,iBAAmBnriB,MAC5B,EAAGr1D,MAAS,KACT5e,KAAK+gnB,iBAAiBr5kB,OAAOvrB,EAAK,IAGhCyphB,GAAS,IAAI2gE,GAAsB4a,GAAY,IAAM,IAAI76lB,MAAWzb,KAAK8S,MAC/E,OAAA3d,KAAK+gnB,iBAAiB79kB,IAAI/mB,EAAOyphB,IAC1BA,EACX,CACA9xd,aAAa2zc,EAAgBtrgB,IACzB,GAAInc,KAAKghnB,gBAAgBt4mB,IAAIyT,IACzB,OAAOnc,KAAKghnB,gBAAgBt4mB,IAAIyT,IAE/B,GAAIA,GAAMojmB,cACX,SAAOprmB,MAAG,CAAEkwD,OAAQloD,GAAMojmB,cAAe9rK,SAAUt3b,GAAM+7lB,kBAEzDl4mB,KAAKkhnB,qBACLlhnB,KAAKkhnB,oBAAoB/kmB,IAG7B,MAAMglmB,GAuBd,SAASrtiB,GAAa33D,EAAO8kmB,GAAUx5F,EAAgB45F,IACnD,OAAOxZ,GAAmB1rlB,EAAM23D,gBAAgBjpE,QAAKhd,MAAIuznB,KAAwB,EAAG9hb,MAAU/wL,IACtFA,cAAaijhB,OAAmBlgiB,MAAMC,QAAQgd,KAAC,EACxC4F,MAAG5F,KAAC,EAGJ2oD,KAAK+pjB,GAAS3pE,mBAAmB/oiB,OAE/C,EAAG1gB,MAAKyznB,KACDD,IACAA,GAAkBllmB,GAItB,IAAIs3b,GACA8tK,GACAC,IAA8B,EAClC,OAAIlwnB,MAAMC,QAAQ+vnB,KACdC,GAAYD,IACkB,IAG9B7tK,GAAW6tK,GAAgB9rlB,OAAOiyf,GAAgBh0E,SAKlD8tK,GAAY9tK,GAAS/qc,IAAIwsE,GAAQ,GAAI,CAAEp8B,UAAU,EAAMqR,MAAM,IAAQ08c,QAKlE,CAAExic,OAHMk9iB,GAAU1znB,IAAIkqnB,IAGZtkK,YAAS,GAElC,CA1DuC3/X,CAAa33D,GAAOnc,KAAKihnB,SAAUx5F,EAAgBznhB,KAAKqhnB,mBAC7Cx2mB,QAAK+T,MAAS,KACpD5e,KAAKghnB,gBAAgBt5kB,OAAOvrB,GAAK,IAG/ByphB,GAAS,IAAI2gE,GAAsB4a,GAAY,IAAM,IAAI76lB,MAAWzb,KAAK8S,MAC/E,OAAA3d,KAAKghnB,gBAAgB99kB,IAAI/mB,GAAOyphB,IACzBA,EACX,QACS5liB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFuymB,EAAkB,CAAsD,QAC1K9gnB,KAAKszD,WAryHmFrzD,MAAE,CAAAhQ,MAqyHY6wnB,EAAkBrgnB,QAAlBqgnB,EAAkBpgnB,UAAAC,WAAc,QAAW,EAC7J,OApDKmgnB,CAAkB,KA0GxB,SAASM,GAAyBxykB,GAG9B,OATJ,SAAS6ykB,GAAuBn0nB,GAI5B,OAAOA,GAA0B,iBAAVA,GAAsB,YAAaA,CAC9D,CAIWm0nB,CAAuB7ykB,GAASA,EAAMuhW,QAAavhW,CAC9D,CAEA,IAOM8ykB,GAAmB,MAAzB,MAAMA,SACO1hnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFmzmB,EAAmB,CAAsD,QAC3K1hnB,KAAKszD,WA32HmFrzD,MAAE,CAAAhQ,MA22HYyxnB,EAAmBjhnB,eAAwCwwB,OAAO0wlB,IAA2BhhnB,WAA5D,QAAiE,EACpN,OAHK+gnB,CAAmB,KAWnBC,GAA0B,MAAhC,MAAMA,EACFC,iBAAiBhnlB,GACb,OAAO,CACX,CACAinlB,QAAQjnlB,GACJ,OAAOA,CACX,CACAhtB,MAAMk0mB,EAAYC,IACd,OAAOD,CACX,QACS9hnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFozmB,EAA0B,CAAsD,QAClL3hnB,KAAKszD,WA/3HmFrzD,MAAE,CAAAhQ,MA+3HY0xnB,EAA0BlhnB,QAA1BkhnB,EAA0BjhnB,UAAAC,WAAc,QAAW,EACrK,OAZKghnB,CAA0B,KAmBhC,MAAMK,GAAyB,IAAIn8lB,MAAsD,IACnFo8lB,GAA0B,IAAIp8lB,MAAuD,IAO3F,SAASq8lB,GAAqBzuK,EAAUv8Y,GAAM2kB,GAC1C,MAAMsmiB,GAAoB1uK,EAAS/qc,IAAIu5mB,IACjCh1mB,GAAWwmc,EAAS/qc,IAAI+f,OAE9B,OAAOgrb,EAAS/qc,IAAI0xL,OAAQj5C,kBAAkB,KAC1C,IAAKl0I,GAASm1mB,qBAAuBD,GAAkBE,mBACnDF,UAAkBE,oBAAqB,EAIhC,IAAI/tkB,QAASC,IAAYvnC,WAAWunC,KAE/C,IAAI+tkB,GACJ,MAAMC,GAAwB,IAAIjukB,QAASC,KACvC+tkB,GAA+B/tkB,KAE7BvqB,GAAa/c,GAASm1mB,oBAAoB,KAC5CE,KAiBZ,SAASE,GAAoB/uK,GACzB,OAAO,IAAIn/Z,QAASC,MAChB4xe,SAAgB5xe,GAAS,CAAEk/Z,YAAU,EAE7C,CAhBmB+uK,CAAoB/uK,MAEvBgvK,4BAA4BN,GACpC,OAAIM,OACA9lI,OAAsBlpC,EAAU,IAAMgvK,GAAwB,CAAEz4lB,cAAYktC,QAAM2kB,QAE/E0miB,IAEf,CAQC,IAEKG,GAAqB,MAA3B,MAAMA,EACF,0BAAIC,GACA,OAA6B,IAAtB3inB,KAAK4inB,YAChB,CACAnjnB,cACIO,KAAK6inB,kBAAoB,KACzB7inB,KAAK26K,kBAAoB,KACzB36K,KAAK8inB,yBAA2B,KAMhC9inB,KAAKm/B,OAAS,IAAI7Y,KAIlBtmB,KAAK+inB,uBAAyB,IAAIz8lB,KAClCtmB,KAAKs9mB,gBAAerslB,OAAO6vlB,IAC3B9gnB,KAAKgohB,uBAAsB/2f,OAAO6ge,OAClC9xf,KAAKy3mB,iBAAgBxmlB,OAAO04kB,IAC5B3pmB,KAAKgjnB,gBAAe/xlB,OAAOghlB,IAC3BjymB,KAAK6U,YAAWoc,OAAO+hH,OACvBhzI,KAAKu4mB,oBAAmE,QAAnEA,EAAsBtnlB,OAAO0klB,GAAc,CAAE78jB,UAAU,IAC5D94C,KAAKijnB,iBAAgBhylB,OAAOsvlB,IAC5BvgnB,KAAK4mB,WAAUqK,OAAO4vlB,GAAsB,CAAE/nkB,UAAU,KAAW,CAAC,EACpE94C,KAAKw0mB,0BAA4Bx0mB,KAAK4mB,QAAQ4tlB,2BAA6B,YAC3Ex0mB,KAAKkjnB,uBAAsBjylB,OAAOywlB,IAClC1hnB,KAAKkinB,wBAAuBjxlB,OAAO+wlB,GAAwB,CAAElpkB,UAAU,IACvE94C,KAAK4inB,aAAe,EAOpB5inB,KAAKmjnB,mBAAqB,OAAMhvmB,WAAG,GAEnCnU,KAAKu9mB,kBAAoB,KAGzBv9mB,KAAKs9mB,aAAa+D,kBADC1nlB,IAAM35B,KAAKm/B,OAAOxyB,KAAK,IAAI8jmB,GAAmB92kB,KAEjE35B,KAAKs9mB,aAAa4D,oBAHGvnlB,IAAM35B,KAAKm/B,OAAOxyB,KAAK,IAAI6jmB,GAAqB72kB,IAIzE,CACAxS,WACInnB,KAAK81K,aAAa3uJ,UACtB,CACAi8lB,wBAAwBr9kB,GACpB,MAAMv9C,KAAOwX,KAAK4inB,aAClB5inB,KAAK81K,aAAanpK,KAAK,IAAK3M,KAAK81K,YAAYxoL,SAAUy4C,EAASv9C,OACpE,CACA66nB,iBAAiB3jnB,EAAQ4jnB,GAAgBC,IACrC,OAAAvjnB,KAAK81K,YAAc,IAAIn/J,IAAgB,CACnCnuB,GAAI,EACJg7nB,eAAgBF,GAChBG,cAAeH,GACfI,aAAc1jnB,KAAKkjnB,oBAAoBrB,QAAQyB,IAC/CpS,kBAAmBlxmB,KAAKkjnB,oBAAoBrB,QAAQyB,IACpDK,OAAQL,GACRM,OAAQ,CAAC,EACTrvkB,QAAS,KACTyR,OAAQ,KACRsE,QAAShW,QAAQC,SAAQ,GACzBT,OAAQi8jB,EACRkB,cAAe,KACf/7a,gBAAiBqub,GAAmBj3mB,SACpCu3mB,eAAgB,KAChBC,mBAAoBP,GACpBQ,kBAAmB,KACnBC,OAAQ,CAAE7J,kBAAmB,GAAID,oBAAqB,IACtD+J,aAAc,OAEXjknB,KAAK81K,YAAYjrK,QAAKnd,MAAQ6gB,IAAe,IAATA,GAAE/lB,KAAQ,EAErDqF,MAAK0gB,SACEA,GACHm1mB,aAAc1jnB,KAAKkjnB,oBAAoBrB,QAAQtzmB,GAAEo1mB,YACnD,EAEF/2lB,MAAWs3lB,KACP,IAAIlgf,IAAY,EACZ4lU,IAAU,EACd,SAAOz1b,MAAG+vmB,IAAwBr5mB,QAAK+hB,MAAWre,KAK9C,GAAIvO,KAAK4inB,aAAesB,GAAuB17nB,GAI3C,OAAAwX,KAAKmknB,2BAA2BD,GAD1B,GACsE/S,GAA2BE,2BAChGv+kB,KAEX9yB,KAAK26K,kBAAoBupc,GAEzBlknB,KAAK6inB,kBAAoB,CACrBr6nB,GAAI+lB,GAAE/lB,GACN47nB,WAAY71mB,GAAEo1mB,OACdD,aAAcn1mB,GAAEm1mB,aAChB95lB,QAASrb,GAAEulC,OACX8vkB,OAAQr1mB,GAAEq1mB,OACVS,mBAAqBrknB,KAAK8inB,yBAEpB,IACK9inB,KAAK8inB,yBACRuB,mBAAoB,MAHtB,MAMV,MAAMC,IAAiB5knB,EAAO6knB,WAAavknB,KAAKwknB,2BAA6BxknB,KAAKyknB,sBAElF,IAAKH,IAAyC,YADlB/1mB,GAAEq1mB,OAAOc,qBAAuBhlnB,EAAOglnB,qBACX,CACpD,MAAMxylB,GAEA,GACN,OAAAlyB,KAAKm/B,OAAOxyB,KAAK,IAAImkmB,GAAkBvimB,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEo1mB,QAASzxlB,GAAQs/kB,GAAsBC,2BACnHljmB,GAAEgmC,QAAQ,MACHzhB,IACX,CACA,GAAI9yB,KAAKkjnB,oBAAoBtB,iBAAiBrzmB,GAAEo1mB,QAC5C,SAAOxvmB,MAAG5F,IAAG1D,QAEb+hB,MAAWre,KACP,MAAMyb,GAAahqB,KAAK81K,aAAax4J,WAErC,OADAtd,KAAKm/B,OAAOxyB,KAAK,IAAI+8J,GAAgBn7J,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEm1mB,cAAen1mB,GAAEulC,OAAQvlC,GAAE0imB,gBACjGjnlB,KAAehqB,KAAK81K,aAAax4J,WAC1BwV,KAIJwhB,QAAQC,QAAQhmC,GAAC,GArgBhD,SAASqvmB,GAAUnqK,EAAU6pK,GAAcC,EAAmBvtnB,GAAQ20nB,GAAYnQ,IAC9E,SAAOl1a,MAAU/wL,IA3SrB,SAASq2mB,GAAYnxK,EAAU6pK,GAAcC,EAAmBvtnB,GAAQ+qnB,GAAStD,GAAejD,GAA4B,aACxH,OAAO,IAAI6I,GAAW5pK,EAAU6pK,GAAcC,EAAmBvtnB,GAAQ+qnB,GAASvG,GAA2BiD,IAAemG,WAChI,CAyS2BgH,CAAYnxK,EAAU6pK,GAAcC,EAAmBvtnB,GAAQue,GAAEm1mB,aAAciB,GAAYnQ,IAA2B3pmB,QAAKhd,MAAI,EAAG7E,MAAO66nB,GAAgB5Z,KAAMiH,OAAkB,IACxL3imB,GAAGs1mB,kBAAgB3S,yBAEvC,CAogBoB0M,CAAU59mB,KAAKgohB,oBAAqBhohB,KAAKs9mB,aAAct9mB,KAAKu9mB,kBAAmB79mB,EAAO1P,OAAQgQ,KAAKy3mB,cAAez3mB,KAAKw0mB,4BAAyB,EAEhJxomB,MAAKuC,KACD21mB,GAAuBL,eAAiBt1mB,GAAEs1mB,eAC1CK,GAAuBhT,kBAAoB3imB,GAAE2imB,kBAC7ClxmB,KAAK6inB,kBAAoB,IAClB7inB,KAAK6inB,kBACRgC,SAAUt2mB,GAAE2imB,mBAGhB,MAAM4T,GAAmB,IAAI3U,GAAiB5hmB,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEm1mB,cAAe1jnB,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAE2imB,mBAAoB3imB,GAAEs1mB,gBACvJ7jnB,KAAKm/B,OAAOxyB,KAAKm4mB,GAAgB,IAGpC,GAAIR,IACLtknB,KAAKkjnB,oBAAoBtB,iBAAiBrzmB,GAAEk1mB,eAAgB,CAI5D,MAAQj7nB,MAAIk7nB,gBAAc5vkB,UAAQm9jB,iBAAe2S,WAAWr1mB,GACtDw2mB,GAAW,IAAIr7c,GAAgBlhL,GAAIwX,KAAKy3mB,cAAcrnkB,UAAUszkB,IAAe5vkB,GAAQm9jB,IAC7FjxmB,KAAKm/B,OAAOxyB,KAAKo4mB,IACjB,MAAMlB,GAAiB1Q,GAAiBnzmB,KAAKu9mB,mBAAmBjxmB,SAChE,OAAAtM,KAAK26K,kBAAoBupc,GAAyB,IAC3C31mB,GACHs1mB,kBACA3S,kBAAmBwS,GACnBE,OAAQ,IAAKA,GAAQoB,oBAAoB,EAAOC,YAAY,IAEhEjlnB,KAAK6inB,kBAAkBgC,SAAWnB,MAC3BvvmB,MAAG+vmB,GACd,CACK,CAMD,MAAMhylB,GAGA,GACN,OAAAlyB,KAAKm/B,OAAOxyB,KAAK,IAAImkmB,GAAkBvimB,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEm1mB,cAAexxlB,GAAQs/kB,GAAsBE,+BACzHnjmB,GAAEgmC,QAAQ,MACHzhB,IACX,KACH,EAED9mB,MAAKuC,KACD,MAAM22mB,GAAc,IAAI5U,GAAiB/hmB,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEm1mB,cAAe1jnB,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAE2imB,mBAAoB3imB,GAAEs1mB,gBAClJ7jnB,KAAKm/B,OAAOxyB,KAAKu4mB,GAAW,IAC/B,EAAGr3nB,MAAK0gB,KACLvO,KAAK26K,kBAAoBupc,GAAyB,IAC3C31mB,GACHy1mB,OAAQrK,GAAkBprmB,GAAEs1mB,eAAgBt1mB,GAAE2mL,gBAAiBl1L,KAAKgjnB,eAEjEkB,KA3uCvB,SAASiB,GAAY1xK,EAAU6kK,IAC3B,SAAOh5a,MAAU/wL,IACb,MAAQs1mB,kBAAgB3ub,mBAAiB8ub,QAAU7J,qBAAmBD,yBAA2B3rmB,EACjG,OAAmC,IAA/B2rmB,GAAoB9nnB,QAA6C,IAA7B+nnB,GAAkB/nnB,QAAW,EAC1D+hB,MAAG,IAAK5F,EAAG01mB,cAAc,IAS5C,SAASmB,GAAuBnL,EAAQoL,GAAWC,EAAS7xK,IACxD,SAAOv8Y,KAAK+ijB,GAAQpvmB,QAAKy0L,MAAU49W,IA6EvC,SAASqoE,GAAiBtxiB,EAAWuxiB,GAASF,EAASD,GAAW5xK,IAC9D,MAAMgyK,GAAgBD,IAAWA,GAAQ5T,YAAc4T,GAAQ5T,YAAY6T,cAAgB,KAC3F,IAAKA,IAA0C,IAAzBA,GAAcrznB,OAChC,SAAO+hB,OAAG,GACd,MAAMuxmB,GAA2BD,GAAc53nB,IAAK4E,KAChD,MAAMkznB,GAAkB1N,GAAwBuN,KAAY/xK,GACtDhiD,GAAQooN,GAA2BpnnB,GAAGkznB,IAI5C,OAAO9d,GAzIf,SAAS+d,GAAgBn0N,GACrB,OAAOA,GAASzvU,GAAWyvU,EAAMg0N,cACrC,CAoIyBG,CAAgBn0N,IAC3BA,GAAMg0N,cAAcxxiB,EAAWuxiB,GAASF,EAASD,KAAS,EAC1D1oI,OAAsBgpI,GAAiB,IAAMl0N,GAAMx9U,EAAWuxiB,GAASF,EAASD,MAClDx6mB,QAAK6jB,QAAO,GAEpD,SAAOva,MAAGuxmB,IAA0B76mB,KAAK8vmB,KAC7C,CA1FiD4K,CAAiBroE,GAAMjpe,UAAWipe,GAAM/giB,MAAOmpmB,EAASD,GAAW5xK,MAAS,EAAG/kb,MAAOpxB,KAC7G,IAAXA,IACR,GACP,CAXe8nnB,CAAuBlL,GAAqB2J,GAAgB3ub,GAAiBu+Q,GAAU5oc,QAAKy0L,MAAUmmb,IAClGA,IAvDnB,SAASn+hB,GAAUv1D,GACf,MAAoB,kBAANA,CAClB,CAqDoCu1D,CAAUm+hB,IAW9C,SAASI,GAAqB3R,EAAgB+F,GAAQxmK,EAAU6kK,IAC5D,SAAOphjB,KAAK+ijB,IAAQpvmB,QAAKw+L,MAAW6zW,OACzBzvjB,KA2Bf,SAASq4nB,GAAyBx5mB,EAAUgsmB,IACxC,OAAiB,OAAbhsmB,GAAqBgsmB,IACrBA,GAAa,IAAI5H,GAAqBpkmB,KAAS,EAE5C6H,OAAG,EACd,CAhCsB2xmB,CAAyB5oE,GAAM/giB,MAAMkqC,OAAQiyjB,IAanE,SAASyN,GAAoBz5mB,EAAUgsmB,IACnC,OAAiB,OAAbhsmB,GAAqBgsmB,IACrBA,GAAa,IAAI1H,GAAgBtkmB,KAAS,EAEvC6H,OAAG,EACd,CAlBkF4xmB,CAAoB7oE,GAAM/giB,MAAOm8lB,IAiDnH,SAAS0N,GAAoBX,EAAWxunB,GAAM48c,GAC1C,MAAMwyK,GAAYpvnB,GAAKA,GAAKzE,OAAS,GAM/B8znB,GALyBrvnB,GAC1B+qC,MAAM,EAAG/qC,GAAKzE,OAAS,GACvB67E,UACApgF,IAAKugB,IAvQd,SAAS+3mB,GAAoB/3mB,GACzB,MAAMg4mB,GAAmBh4mB,EAAEwjmB,YAAcxjmB,EAAEwjmB,YAAYwU,iBAAmB,KAC1E,OAAKA,IAAgD,IAA5BA,GAAiBh0nB,OAEnC,CAAE+0J,KAAM/4I,EAAG41mB,OAAQoC,IADf,IAEf,CAkQoBD,CAAoB/3mB,KAC/B1gB,OAAQ+zE,IAAY,OAANA,IACyC5zE,IAAKC,OACtD69V,KAAM,KACT,MAAM06R,GAAev4nB,GAAEk2nB,OAAOn2nB,IAAKu4nB,KAC/B,MAAMT,GAAkB1N,GAAwBnqnB,GAAEq5J,OAASssT,EACrDhiD,GAAQooN,GAA2BuM,GAAkBT,IAI3D,OAAO9d,GA3HvB,SAASye,GAAmB70N,GACxB,OAAOA,GAASzvU,GAAWyvU,EAAM20N,iBACrC,CAsHiCE,CAAmB70N,IAC9BA,GAAM20N,iBAAiBH,GAAWZ,IAAS,EAC3C1oI,OAAsBgpI,GAAiB,IAAMl0N,GAAMw0N,GAAWZ,KAChCx6mB,QAAK6jB,QAAO,GAEpD,SAAOva,MAAGkymB,IAAcx7mB,KAAK8vmB,KAAuB,IAG5D,SAAOxmmB,MAAG+xmB,IAA8Br7mB,KAAK8vmB,KACjD,CAtEkIqL,CAAoB9R,EAAgBh3D,GAAMrmjB,KAAM48c,GAiClL,SAAS8yK,GAAelB,EAAWY,GAAWxyK,GAC1C,MAAMx7Y,GAAcgujB,GAAUrU,YAAcqU,GAAUrU,YAAY35iB,YAAc,KAChF,IAAKA,IAAsC,IAAvBA,GAAY7lE,OAC5B,SAAO+hB,OAAG,GACd,MAAMqymB,GAAyBvujB,GAAYpqE,IAAKoqE,OACrC0zR,KAAM,KACT,MAAMg6R,GAAkB1N,GAAwBgO,KAAcxyK,EACxDhiD,GAAQooN,GAA2B5hjB,GAAa0tjB,IAItD,OAAO9d,GA1GnB,SAAS4e,GAAch1N,GACnB,OAAOA,GAASzvU,GAAWyvU,EAAMx5V,YACrC,CAqG6BwujB,CAAch1N,IACzBA,GAAMx5V,YAAYgujB,GAAWZ,IAAS,EACtC1oI,OAAsBgpI,GAAiB,IAAMl0N,GAAMw0N,GAAWZ,KAChCx6mB,QAAK6jB,QAAO,IAGxD,SAAOva,MAAGqymB,IAAwB37mB,KAAK8vmB,KAC3C,CAhD6L4L,CAAerS,EAAgBh3D,GAAM/giB,MAAOs3b,MACpO,EAAG/kb,MAAOpxB,KACW,IAAXA,IACR,GACP,CAhBkBuonB,CAAqBhC,GAAgB1J,GAAmB1mK,EAAU6kK,KAAY,EAC9EnkmB,MAAGsxmB,MACZ,EAAG53nB,MAAKo2nB,SAAuB11mB,EAAG01mB,mBAAgB,EAE3D,CAguCgBkB,CAAYnlnB,KAAKgohB,oBAAsBvub,IAAQz5F,KAAKm/B,OAAOxyB,KAAK8sF,MAAI,EAAGztF,MAAKuC,KAE5E,GADA21mB,GAAuBD,aAAe11mB,GAAE01mB,aACpCpX,GAAUt+lB,GAAE01mB,cACZ,MAAMzM,GAA2Bx3mB,EAAoBuO,GAAE01mB,cAE3D,MAAMyC,GAAY,IAAInW,GAAehimB,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEm1mB,cAAe1jnB,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAE2imB,mBAAoB3imB,GAAEs1mB,iBAAkBt1mB,GAAE01mB,cAClKjknB,KAAKm/B,OAAOxyB,KAAK+5mB,GAAS,IAC7B,EAAGh5nB,MAAQ6gB,MACHA,GAAE01mB,eACHjknB,KAAKmknB,2BAA2B51mB,GAAG,GAAI4imB,GAA2BI,gBAC3D,IAKf8O,GAAW9xmB,KACP,GAAIA,GAAEy1mB,OAAO7J,kBAAkB/nnB,OAC3B,SAAO+hB,MAAG5F,IAAG1D,QAAKmB,MAAKuC,KACnB,MAAMo4mB,GAAe,IAAIvW,GAAa7hmB,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEm1mB,cAAe1jnB,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAE2imB,mBAAoB3imB,GAAEs1mB,gBAC/I7jnB,KAAKm/B,OAAOxyB,KAAKg6mB,GAAY,IAChC,EAAG/5lB,MAAWre,KACX,IAAIq4mB,IAAe,EACnB,SAAOzymB,MAAG5F,IAAG1D,KAjlBrC,SAASg8mB,GAAYrS,EAA2B/gK,IAC5C,SAAOn0Q,MAAU/wL,IACb,MAAQs1mB,kBAAgBG,QAAU7J,uBAAyB5rmB,EAC3D,IAAK4rmB,GAAkB/nnB,OACnB,SAAO+hB,MAAG5F,GAKd,MAAMu4mB,GAA2B,IAAIlhkB,IAAIu0jB,GAAkBtsnB,IAAKqvjB,IAAUA,GAAM/giB,QAC1E4qmB,GAA2B,IAAInhkB,IACrC,UAAWzpC,MAAS2qmB,GAChB,IAAIC,GAAyBttlB,IAAItd,IAIjC,UAAW6qmB,MAAY7G,GAAiBhkmB,IACpC4qmB,GAAyBh7mB,IAAIi7mB,IAGrC,IAAIC,GAAkB,EACtB,SAAO/vjB,KAAK6vjB,IAA0Bl8mB,QAAKw+L,MAAWltL,IAC9C2qmB,GAAyBrtlB,IAAItd,IAiB7C,SAAS+qmB,GAAWjB,EAAWZ,GAAW7Q,EAA2B/gK,IACjE,MAAMzjd,GAASi2nB,EAAUrU,YACnBr9jB,GAAU0xkB,EAAUtR,SAC1B,YAAsBtmnB,IAAlB2B,IAAQk7E,QAAwBwpiB,GAAe1knB,MAC/CukD,GAAQuyjB,IAAiB92mB,GAAOk7E,OAQxC,SAASi8iB,GAAY5ykB,EAAS0xkB,GAAWZ,EAAW5xK,IAChD,MAAMpkb,GAAOo4kB,GAAYlzjB,GACzB,GAAoB,IAAhBllB,GAAKj9B,OACL,SAAO+hB,MAAG,CAAC,GAEf,MAAM/mB,GAAO,CAAC,EACd,SAAO8pE,KAAK7nC,IAAMxkB,QAAKy0L,MAAUp+J,IAIrC,SAASkmlB,GAAY1K,EAAgBuJ,GAAWZ,EAAW5xK,IACvD,MAAMkyK,GAAkB1N,GAAwBgO,KAAcxyK,GACxDt5C,GAAW0/M,GAA2B6C,EAAgBiJ,IAI5D,OAAO9d,GAHe1tM,GAAS5lX,QACzB4lX,GAAS5lX,QAAQ0xkB,GAAWZ,IAAS,EACrC1oI,OAAsBgpI,GAAiB,IAAMxrN,GAAS8rN,GAAWZ,IAE3E,CAX6C+B,CAAY7ykB,EAAQrT,IAAM+klB,GAAWZ,EAAW5xK,IAAU5oc,QAAK6jB,SAAM,EAAG1iB,MAAK1e,KAClHF,GAAK8zC,IAAO5zC,OACVs5mB,GAAS,IAAC,EAAGphK,MAAMp4c,KAAI,EAAGkqE,MAAY93B,IAAOi7kB,GAAaj7kB,IAAK1M,QAAQgS,MAAWtF,KAC5F,CAfW2nlB,CAAY5ykB,GAAS0xkB,EAAWZ,GAAW5xK,IAAU5oc,QAAKhd,MAAKw5nB,KAClEpB,EAAUxR,cAAgB4S,GAC1BpB,EAAU74nB,KAAOmnnB,GAAa0R,EAAWA,EAAU5/jB,OAAQmujB,GAA2BjgkB,QAC/E,OAEf,CA3BuB2ykB,CAAW/qmB,GAAO0nmB,GAAgBrP,EAA2B/gK,KAGpEt3b,GAAM/uB,KAAOmnnB,GAAap4lB,GAAOA,GAAMkqC,OAAQmujB,GAA2BjgkB,WACnEpgC,WAAG,MAEjB,EAAGnI,MAAI,IAAMi7mB,MAAoBrgB,GAAS,IAAC,EAAGtna,MAAU79H,IAAOwljB,KAAoBF,GAAyBzrhB,QAAOnnF,MAAG5F,GAAKukB,MAAO,EAE3I,CAkjB0C+zlB,CAAY7mnB,KAAKw0mB,0BAA2Bx0mB,KAAKgohB,sBAAmB,EAAGh8gB,MAAI,CACzFW,KAAMA,IAAOi6mB,IAAe,EAC5Bz/lB,SAAUA,KACDy/lB,IACD5mnB,KAAKmknB,2BAA2B51mB,GAE1B,GAAI4imB,GAA2BG,mBAAkB,IAGjE,IACL,EAAGtlmB,MAAKuC,KACL,MAAM+4mB,GAAa,IAAIjX,GAAW9hmB,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEm1mB,cAAe1jnB,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAE2imB,mBAAoB3imB,GAAEs1mB,gBAC3I7jnB,KAAKm/B,OAAOxyB,KAAK26mB,GAAU,GAC7B,GAKVjH,GAAW9xmB,KACP,MAAMg5mB,GAAkBprmB,KACpB,MAAMqrmB,GAAU,GACZrrmB,GAAMy1lB,aAAar9hB,gBAAkBp4D,GAAMy1lB,YAAYwN,kBACvDoI,GAAQ1llB,KAAK9hC,KAAKs9mB,aAAa/oiB,cAAcp4D,GAAMy1lB,aAAa/mmB,QAAKmB,MAAKy7mB,KACtEtrmB,GAAM83D,UAAYwziB,MACrB,EAAG55nB,MAAI,UAEZ,UAAWi8O,MAAS3tN,GAAM2wF,SACtB06gB,GAAQ1llB,QAAQyllB,GAAez9Y,KAEnC,OAAO09Y,IAEX,SAAOj6mB,KAAcg6mB,GAAeh5mB,GAAEs1mB,eAAevod,OAAOzwJ,QAAKs6b,MAAe,OAAI,EAAG33b,MAAK,GAAE,GAC9F6ymB,GAAU,IAAMrgnB,KAAKmjnB,uBAAoB,EAAGv2lB,MAAU,KACtD,MAAQsoK,mBAAiB2ub,mBAAmBK,GACtC3B,GAAwBvinB,KAAKkinB,uBAAuBlinB,KAAKgohB,oBAAqB9yV,GAAgB55B,KAAMuod,GAAevod,MAGzH,OAAOind,MACDrrjB,KAAKqrjB,IAAuB13mB,QAAKhd,MAAI,IAAMq2nB,MAAuB,EAClE/vmB,MAAG+vmB,GAAsB,IAClC,EAAGr2nB,MAAK0gB,KACL,MAAMw1mB,GA38DtB,SAAS2D,GAAkB3Q,EAAoBvH,GAAMwH,GACjD,MAAM17c,GAAOw7c,GAAWC,EAAoBvH,GAAKkD,MAAOsE,EAAYA,EAAUtE,WAAQrknB,GACtF,OAAO,IAAI4knB,GAAY33c,GAAMk0c,GACjC,CAw8D0CkY,CAAkBhonB,EAAOq3mB,mBAAoBxomB,GAAEs1mB,eAAgBt1mB,GAAEu1mB,oBAC3F,OAAA9jnB,KAAK26K,kBAAoBupc,GAAyB,IAAK31mB,GAAGw1mB,sBAC1D/jnB,KAAK6inB,kBAAkBkB,kBAAoBA,GACpCG,MACV,EAAGl4mB,MAAI,KACJhM,KAAKm/B,OAAOxyB,KAAK,IAAImlmB,GAAsB,GAlrDpCyH,EAACyJ,EAAcjM,GAAoBuB,EAAcC,QAAwB1qnB,MAAK0gB,KACjG,IAAI4pmB,GAAepB,GAAoBxomB,GAAEw1mB,kBAAmBx1mB,GAAEu1mB,mBAAoBxL,EAAcC,IAAqBC,SAASwK,GACvHz0mB,KAirDKgrmB,CAAev5mB,KAAKgjnB,aAActjnB,EAAOq3mB,mBAAqBt9gB,IAAQz5F,KAAKm/B,OAAOxyB,KAAK8sF,IAAMz5F,KAAKu4mB,sBAAmB,EAIzH/qmB,MAAK,IAAC,EAAGxB,MAAI,CACTW,KAAO4B,KACHy1H,IAAY,EACZhkI,KAAK8inB,yBAA2B9inB,KAAK6inB,kBACrC7inB,KAAKm/B,OAAOxyB,KAAK,IAAI8yB,GAAclxB,GAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAEm1mB,cAAe1jnB,KAAKy3mB,cAAcrnkB,UAAU7hC,GAAE2imB,qBACtHlxmB,KAAKijnB,eAAerC,YAAYrymB,GAAEw1mB,kBAAkBz3mB,UACpDiC,GAAEgmC,SAAQ,EAAI,EAElBptB,SAAUA,KACN68G,IAAY,MAEnB,EAQDnvG,MAAU70B,KAAK+inB,uBAAuBl4mB,QAAKmB,MAAKm9B,KAC5C,MAAMA,QACP,EAAGvqB,MAAS,MAONolH,KAAc4lU,IAIf5pc,KAAKmknB,2BAA2BD,GAD1B,GACqE/S,GAA2BE,2BAItGrxmB,KAAK26K,mBAAmBnyL,KAAO07nB,GAAuB17nB,KACtDwX,KAAK6inB,kBAAoB,KACzB7inB,KAAK26K,kBAAoB,SAEhC,EAAGrjH,MAAY93B,KAIZ,GAHAoqa,IAAU,EAGNiuK,GAA2Br4kB,IAC3Bx/B,KAAKm/B,OAAOxyB,KAAK,IAAIsjmB,GAAiBiU,GAAuB17nB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU8zkB,GAAuBR,cAAelklB,GAAE+K,QAAS/K,GAAEo4kB,mBAx8DrK,SAAS+P,GAAsC74nB,GAC3C,OAAQ+onB,GAA2B/onB,IAC/B+9mB,GAAU/9mB,EAAM8rC,IACxB,CAw8DyB+slB,CAAsCnolB,IAIvCx/B,KAAKm/B,OAAOxyB,KAAK,IAAIolmB,GAAgBvykB,GAAE5E,MAHvCsplB,GAAuB3vkB,SAAQ,OAQlC,CACDv0C,KAAKm/B,OAAOxyB,KAAK,IAAIujmB,GAAgBgU,GAAuB17nB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU8zkB,GAAuBR,cAAelklB,GAAG0klB,GAAuBL,qBAAkBx1nB,IAC/K,IACI61nB,GAAuB3vkB,QAAQ70C,EAAO6+D,aAAa/+B,IACvD,OACOgqY,IAUCxpa,KAAK4mB,QAAQghmB,gCACb1D,GAAuB3vkB,SAAQ,GAG/B2vkB,GAAuBl+jB,OAAOwjX,GAEtC,CACJ,CACA,OAAO12Y,OACT,GAGV,CACAqxlB,2BAA2B51mB,EAAG2jB,GAAQ3lC,IAClC,MAAMs7nB,GAAY,IAAI5X,GAAiB1hmB,EAAE/lB,GAAIwX,KAAKy3mB,cAAcrnkB,UAAU7hC,EAAEm1mB,cAAexxlB,GAAQ3lC,IACnGyT,KAAKm/B,OAAOxyB,KAAKk7mB,IACjBt5mB,EAAEgmC,SAAQ,EACd,CAKAiwkB,0BAOI,OAAQxknB,KAAK26K,mBAAmB+oc,aAAavilB,aACzCnhC,KAAK26K,mBAAmB6oc,eAAerilB,UAC/C,CAMAsjlB,sBAKI,OAD4BzknB,KAAKkjnB,oBAAoBrB,QAAQ7hnB,KAAKy3mB,cAAch6mB,MAAMuC,KAAK6U,SAAShe,MAAK,KAC7EsqC,aAAenhC,KAAK26K,mBAAmB+oc,aAAavilB,aAC3EnhC,KAAK26K,mBAAmBipc,OAAOoB,kBACxC,QACShlnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFm0mB,EAAqB,CAAsD,QAC7K1inB,KAAKszD,WApzImFrzD,MAAE,CAAAhQ,MAozIYyynB,EAAqBjinB,QAArBiinB,EAAqBhinB,UAAAC,WAAc,QAAW,EAChK,OA9XK+hnB,CAAqB,KAmY3B,SAASoF,GAA6Bh0kB,GAClC,OAAOA,IAAWi8jB,CACtB,CAEA,IAOMgY,GAAkB,MAAxB,MAAMA,SACO/nnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFw5mB,EAAkB,CAAsD,QAC1K/nnB,KAAKszD,WAv0ImFrzD,MAAE,CAAAhQ,MAu0IY83nB,EAAkBtnnB,eAAwCwwB,OAAO+2lB,IAA0BrnnB,WAA3D,QAAgE,EAClN,OAHKonnB,CAAkB,KAyBxB,MAAME,GAKF9O,aAAah9lB,IACT,OAAO,CACX,CAIAxc,MAAMwc,GAAO+rmB,GAAgB,CAE7B/Q,aAAah7lB,IACT,OAAO,CACX,CAEAk7lB,SAASl7lB,IACL,OAAO,IACX,CAMA86lB,iBAAiBzqM,GAAQgjM,GACrB,OAAOhjM,GAAOolM,cAAgBpC,EAAKoC,WACvC,EACH,IACKoW,GAAyB,MAA/B,MAAMA,UAAkCC,UAC3BjonB,KAAKU,UAAI,UAAAynnB,EAAA,gBAAA55mB,IAAA,OAAA45mB,MA53I+ElonB,MA43IU+nnB,KAAyBz5mB,IAAzBy5mB,EAAyB,GAAlH,EAA0K,QACnLhonB,KAAKszD,WA73ImFrzD,MAAE,CAAAhQ,MA63IY+3nB,EAAyBvnnB,QAAzBunnB,EAAyBtnnB,UAAAC,WAAc,QAAW,EACpK,OAHKqnnB,CAAyB,KASzBI,GAAY,MAAlB,MAAMA,SACOponB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF65mB,EAAY,CAAsD,QACpKponB,KAAKszD,WAt4ImFrzD,MAAE,CAAAhQ,MAs4IYm4nB,EAAY3nnB,eAAwCwwB,OAAOo3lB,IAAoB1nnB,WAArD,QAA0D,EACtM,OAHKynnB,CAAY,KAQZC,GAAmB,MAAzB,MAAMA,UAA4BD,GAC9B3onB,cACI+wC,SAASC,WACTzwC,KAAK6U,YAAWoc,OAAO+hH,OACvBhzI,KAAKy3mB,iBAAgBxmlB,OAAO04kB,IAC5B3pmB,KAAK4mB,WAAUqK,OAAO4vlB,GAAsB,CAAE/nkB,UAAU,KAAW,CAAC,EACpE94C,KAAKsonB,6BAA+BtonB,KAAK4mB,QAAQ0hmB,8BAAgC,UACjFtonB,KAAKkjnB,uBAAsBjylB,OAAOywlB,IAClC1hnB,KAAKuonB,kBAAoBvonB,KAAK4mB,QAAQ2hmB,mBAAqB,WAC3DvonB,KAAKwjnB,eAAiB,IAAIta,GAC1BlpmB,KAAKwonB,WAAaxonB,KAAKwjnB,eASvBxjnB,KAAKyonB,cAAgB,EACrBzonB,KAAK0onB,kBAAmB,EACxB1onB,KAAK2onB,YAAcxV,GAAiB,MACpCnzmB,KAAK4onB,aAAe5onB,KAAK6onB,oBAC7B,CACAC,oBACI,OAAO9onB,KAAKwjnB,cAChB,CACAuF,gBACI,OAAO/onB,KAAKwonB,UAChB,CACAvX,gBACI,OAAOjxmB,KAAK6U,SAASsqd,UACzB,CAMA,iBAAI6pJ,GACA,MAA0C,aAAtChpnB,KAAKsonB,6BACEtonB,KAAKyonB,cAETzonB,KAAKixmB,iBAAiBgY,oBAAiBjpnB,KAAKyonB,aACvD,CACAS,iBACI,OAAOlpnB,KAAK2onB,WAChB,CACAE,qBACI,MAAO,CACHL,WAAYxonB,KAAKwonB,WACjBhF,eAAgBxjnB,KAAKwjnB,eACrBmF,YAAa3onB,KAAK2onB,YAE1B,CACAQ,4CAA4CljkB,GACxC,OAAOjmD,KAAK6U,SAASxI,UAAWb,KACN,aAAlBA,GAAMyC,MACNg4C,EAASz6C,GAAMovB,IAAQpvB,GAAMxiB,MAAK,EAG9C,CACAogoB,kBAAkB5plB,EAAGm7I,IACjB,GAAIn7I,aAAakqI,GACb1pK,KAAK4onB,aAAe5onB,KAAK6onB,0BAAmB,GAEvCrplB,aAAasxkB,GAClB9wmB,KAAKwonB,WAAa7tc,GAAkBypc,mBAE/B5klB,aAAa2wkB,IAClB,GAA+B,UAA3BnwmB,KAAKuonB,oBACA5tc,GAAkBipc,OAAOoB,mBAAoB,CAC9C,MAAMrB,GAAS3jnB,KAAKkjnB,oBAAoBt1mB,MAAM+sK,GAAkBkqc,SAAUlqc,GAAkBypc,YAC5FpknB,KAAKqpnB,cAAc1F,GAAQhpc,GAC/B,OAGCn7I,aAAasykB,IAClB9xmB,KAAKwjnB,eAAiB7oc,GAAkBkqc,SACxC7knB,KAAKwonB,WAAaxonB,KAAKkjnB,oBAAoBt1mB,MAAM+sK,GAAkBkqc,SAAUlqc,GAAkBypc,YAC/FpknB,KAAK2onB,YAAchuc,GAAkBopc,kBACN,aAA3B/jnB,KAAKuonB,oBACA5tc,GAAkBipc,OAAOoB,oBAC1BhlnB,KAAKqpnB,cAAcrpnB,KAAKwonB,WAAY7tc,MAIvCn7I,aAAaywkB,KACjBzwkB,EAAEjzC,OAAS4knB,GAA2BI,eACnC/xkB,EAAEjzC,OAAS4knB,GAA2BG,oBAC1CtxmB,KAAKspnB,eAAe3uc,IAEfn7I,aAAa0wkB,GAClBlwmB,KAAKspnB,eAAe3uc,IAAmB,GAElCn7I,aAAaC,KAClBz/B,KAAK0onB,iBAAmBlplB,EAAEh3C,GAC1BwX,KAAKyonB,cAAgBzonB,KAAKgpnB,cAElC,CACAK,cAAczulB,EAAK5Q,IACf,MAAMnzB,GAAOmJ,KAAKy3mB,cAAcrnkB,UAAUxV,GAC1C,GAAI56B,KAAK6U,SAAS+rd,qBAAqB/pe,KAAWmzB,GAAW45lB,OAAOqB,WAAY,CAE5E,MACMj8nB,GAAQ,IACPghC,GAAW45lB,OAAO56nB,SAClBgX,KAAKupnB,sBAAsBv/lB,GAAWxhC,GAHhBwX,KAAKgpnB,gBAKlChpnB,KAAK6U,SAASktG,aAAalrH,GAAM,GAAI7N,GACzC,KACK,CACD,MAAMA,GAAQ,IACPghC,GAAW45lB,OAAO56nB,SAClBgX,KAAKupnB,sBAAsBv/lB,GAAWxhC,GAAIwX,KAAKgpnB,cAAgB,IAEtEhpnB,KAAK6U,SAASqqd,GAAGroe,GAAM,GAAI7N,GAC/B,CACJ,CAKAsgoB,eAAeE,EAAYC,IAA2B,GAClD,GAA0C,aAAtCzpnB,KAAKsonB,6BAA6C,CAClD,MACMoB,GAAqB1pnB,KAAKyonB,cADHzonB,KAAKgpnB,cAEP,IAAvBU,GACA1pnB,KAAK6U,SAAS2pd,UAAUkrJ,IAEnB1pnB,KAAKwjnB,iBAAmBgG,EAAW3E,UAAmC,IAAvB6E,KAIpD1pnB,KAAK2pnB,WAAWH,GAChBxpnB,KAAK4pnB,2BAMb,KAC+C,YAAtC5pnB,KAAKsonB,+BAKNmB,IACAzpnB,KAAK2pnB,WAAWH,GAEpBxpnB,KAAK4pnB,2BAEb,CACAD,WAAWH,GACPxpnB,KAAK2onB,YAAc3onB,KAAK4onB,aAAaD,YACrC3onB,KAAKwjnB,eAAiBxjnB,KAAK4onB,aAAapF,eAMxCxjnB,KAAKwonB,WAAaxonB,KAAKkjnB,oBAAoBt1mB,MAAM5N,KAAKwjnB,eAAgBgG,EAAW3E,UAAY7knB,KAAKwonB,WACtG,CACAoB,2BACI5pnB,KAAK6U,SAASktG,aAAa/hH,KAAKy3mB,cAAcrnkB,UAAUpwC,KAAKwonB,YAAa,GAAIxonB,KAAKupnB,sBAAsBvpnB,KAAK0onB,iBAAkB1onB,KAAKyonB,eACzI,CACAc,sBAAsB3G,EAAciH,IAChC,MAA0C,aAAtC7pnB,KAAKsonB,6BACE,CAAE1F,eAAcqG,mBAAeY,IAEnC,CAAEjH,eACb,QACS5inB,KAAKU,UAAI,UAAAopnB,EAAA,gBAAAv7mB,IAAA,OAAAu7mB,MAvjJ+E7pnB,MAujJUoonB,KAAmB95mB,IAAnB85mB,EAAmB,GAA5G,EAAoK,QAC7KronB,KAAKszD,WAxjJmFrzD,MAAE,CAAAhQ,MAwjJYo4nB,EAAmB5nnB,QAAnB4nnB,EAAmB3nnB,UAAAC,WAAc,QAAW,EAC9J,OA7KK0nnB,CAAmB,KAmLzB,IAAI0B,GACH,SAAUA,GACPA,SAAiBA,EAAiBC,SAAc,GAAK,WACrDD,EAAiBA,EAAiBE,OAAY,GAAK,SACnDF,EAAiBA,EAAiBG,YAAiB,GAAK,cAHjDH,CAIX,CAJC,CAIEA,IAAwC,CAAC,GAU5C,SAASI,GAAoBzqnB,EAAQlU,IACjCkU,EAAOy/B,OACFt0B,QAAKnd,MAAQ8xC,GAAMA,aAAaC,IACjCD,aAAaywkB,IACbzwkB,aAAa0wkB,IACb1wkB,aAAasxkB,KAAiB,EAAGjjnB,MAAK2xC,GAClCA,aAAaC,IAAiBD,aAAasxkB,GACpCiZ,GAAiBC,SAERxqlB,aAAaywkB,KAC3BzwkB,EAAEjzC,OAAS4knB,GAA2BC,UACpC5xkB,EAAEjzC,OAAS4knB,GAA2BE,2BAEzB0Y,GAAiBG,YAAcH,GAAiBE,SACxE,EAAGv8nB,MAAQ4P,GAAWA,IAAWysnB,GAAiBG,cAAW,EAAG18mB,MAAK,IACjEnB,UAAU,KACX7gB,IAAO,EAEf,CAEA,SAASozc,GAAoB9vc,GACzB,MAAMA,CACV,CAKA,MAAMs7nB,GAAoB,CACtBpgY,MAAO,QACP6+W,SAAU,UACVX,aAAc,UACd37lB,YAAa,SAMX89mB,GAAqB,CACvBrgY,MAAO,SACP6+W,SAAU,UACVX,aAAc,UACd37lB,YAAa,UAEjB,IAYM+9mB,GAAM,MAAZ,MAAMA,EACF,kBAAI9G,GACA,OAAOxjnB,KAAKuqnB,aAAazB,mBAC7B,CACA,cAAIN,GACA,OAAOxonB,KAAKuqnB,aAAaxB,eAC7B,CAIA,UAAI5plB,GAKA,OAAOn/B,KAAKktD,OAChB,CAIA,eAAIy7jB,GACA,OAAO3onB,KAAKuqnB,aAAarB,gBAC7B,CACAzpnB,cACIO,KAAKwqnB,UAAW,EAChBxqnB,KAAKyqnB,iBAAkB,EACvBzqnB,KAAKyU,WAAUwc,OAAOy5lB,OACtB1qnB,KAAKuqnB,gBAAet5lB,OAAOm3lB,IAC3BponB,KAAK4mB,WAAUqK,OAAO4vlB,GAAsB,CAAE/nkB,UAAU,KAAW,CAAC,EACpE94C,KAAKi8e,gBAAehrd,OAAOird,OAC3Bl8e,KAAKuonB,kBAAoBvonB,KAAK4mB,QAAQ2hmB,mBAAqB,WAC3DvonB,KAAK2qnB,yBAAwB15lB,OAAOyxlB,IACpC1inB,KAAKy3mB,iBAAgBxmlB,OAAO04kB,IAC5B3pmB,KAAK6U,YAAWoc,OAAO+hH,OACvBhzI,KAAKkjnB,uBAAsBjylB,OAAOywlB,IAMlC1hnB,KAAKktD,QAAU,IAAI5mC,KAQnBtmB,KAAKu+D,aAAev+D,KAAK4mB,QAAQ23C,cAAgBqgY,GAKjD5+b,KAAKuknB,WAAY,EAOjBvknB,KAAK+2mB,sBAAqB9llB,OAAO82lB,IAUjC/nnB,KAAK0knB,oBAAsB1knB,KAAK4mB,QAAQ89lB,qBAAuB,SAC/D1knB,KAAKhQ,UAASihC,OAAOikD,GAAQ,CAAEp8B,UAAU,KAAS+td,QAAU,GAO5D7mgB,KAAK4qnB,gCAAgC,EAAC35lB,OAAO0klB,GAAc,CAAE78jB,UAAU,IACvE94C,KAAK6qnB,mBAAqB,IAAIt/mB,MAC9BvL,KAAKyqnB,mBAAkBx5lB,OAAOmpK,iBAAmBA,OAAUA,MAAOirV,kBAClErlhB,KAAK8qnB,YAAY9qnB,KAAKhQ,QACtBgQ,KAAK2qnB,sBACAtH,iBAAiBrjnB,KAAMA,KAAKwjnB,eAAgBxjnB,KAAK2onB,aACjDt8mB,UAAU,CACXvd,MAAQ0wC,IACJx/B,KAAKyU,QAAQ0zB,KAAsD3I,EAAC,IAG5Ex/B,KAAK+qnB,6BACT,CACAA,8BACI,MAAM1vL,EAAer7b,KAAK2qnB,sBAAsBxrlB,OAAO9yB,UAAWmzB,KAC9D,IACI,MAAMm7I,GAAoB36K,KAAK2qnB,sBAAsBhwc,kBAC/Ckoc,GAAoB7inB,KAAK2qnB,sBAAsB9H,kBACrD,GAA0B,OAAtBloc,IAAoD,OAAtBkoc,GAE9B,GADA7inB,KAAKuqnB,aAAanB,kBAAkB5plB,GAAGqjlB,IACnCrjlB,cAAaywkB,IACbzwkB,GAAEjzC,OAAS4knB,GAA2BC,UACtC5xkB,GAAEjzC,OAAS4knB,GAA2BE,0BAItCrxmB,KAAKuknB,WAAY,UAEZ/klB,cAAaC,GAClBz/B,KAAKuknB,WAAY,UAEZ/klB,cAAauykB,GAAiB,CACnC,MAAMiZ,GAAahrnB,KAAKkjnB,oBAAoBt1mB,MAAM4xB,GAAE5E,IAAK+/I,GAAkB8oc,eACrEG,GAAS,CAEXn+kB,KAAMk1I,GAAkBipc,OAAOn+kB,KAC/Bu/kB,mBAAoBrqc,GAAkBipc,OAAOoB,mBAK7CC,WAAuC,UAA3BjlnB,KAAKuonB,mBACbT,GAA6Bntc,GAAkB7mI,SAEvD9zC,KAAKirnB,mBAAmBD,GAAYjb,EAAuB,KAAM6T,GAAQ,CACrErvkB,QAASomI,GAAkBpmI,QAC3ByR,OAAQ20H,GAAkB30H,OAC1BsE,QAASqwH,GAAkBrwH,SAEnC,EAsYpB,SAAS4gkB,GAAoB1rlB,GACzB,QAASA,aAAasykB,IAA2BtykB,aAAauykB,GAClE,EAnYoBmZ,CAAoB1rlB,KACpBx/B,KAAKktD,QAAQvgD,KAAK6yB,GAE1B,OACOA,IACHx/B,KAAK2qnB,sBAAsB5H,uBAAuBp2mB,KAAK6yB,GAC3D,IAEJx/B,KAAK6qnB,mBAAmB9+mB,IAAIsvb,EAChC,CAEA8vL,uBAAuB5N,GAGnBv9mB,KAAK2onB,YAAYrtd,KAAKrnF,UAAYspiB,EAClCv9mB,KAAK2qnB,sBAAsBpN,kBAAoBA,CACnD,CAIA6N,oBACIprnB,KAAKqrnB,8BACArrnB,KAAK2qnB,sBAAsBhI,wBAC5B3inB,KAAKsrnB,0BAA0BtrnB,KAAK6U,SAAShe,MAAK,GAAOk5mB,EAAuB/vmB,KAAKuqnB,aAAatZ,gBAE1G,CAMAoa,8BAIIrrnB,KAAKurnB,0CACDvrnB,KAAKuqnB,aAAapB,4CAA4C,CAACvulB,EAAK5xC,MAGhEgkB,WAAW,KACPhN,KAAKsrnB,0BAA0B1wlB,EAAK,WAAY5xC,GAAK,EACtD,EAAC,EAEhB,CAQAsioB,0BAA0B1wlB,EAAKkZ,GAAQ9qD,IACnC,MAAM46nB,GAAS,CAAEqB,YAAY,GAQvBhU,GAAgBjonB,IAAO45nB,aAAe55nB,GAAQ,KAGpD,GAAIA,GAAO,CACP,MAAMwioB,GAAY,IAAKxioB,WAChBwioB,GAAU5I,oBACV4I,GAAUvC,mBACqB,IAAlC75lB,OAAOC,KAAKm8lB,IAAWp5nB,SACvBwxnB,GAAO56nB,MAAQwioB,GAEvB,CACA,MAAMzQ,GAAU/6mB,KAAKyrnB,SAAS7wlB,GAC9B56B,KAAKirnB,mBAAmBlQ,GAASjnkB,GAAQm9jB,GAAe2S,GAC5D,CAEA,OAAIhplB,GACA,OAAO56B,KAAK0rnB,aAAa1rnB,KAAKwjnB,eAClC,CAKAmI,uBACI,OAAO3rnB,KAAK2qnB,sBAAsB9H,iBACtC,CAKA,4BAAIC,GACA,OAAO9inB,KAAK2qnB,sBAAsB7H,wBACtC,CAiBAgI,YAAY96nB,GAERgQ,KAAKhQ,OAASA,EAAOnC,IAAIkqnB,IACzB/3mB,KAAKuknB,WAAY,CACrB,CAEAr2mB,cACIlO,KAAK4zB,SACT,CAEAA,UACI5zB,KAAK2qnB,sBAAsBxjmB,WACvBnnB,KAAKurnB,0CACLvrnB,KAAKurnB,wCAAwCp9mB,cAC7CnO,KAAKurnB,6CAA0Cl9nB,GAEnD2R,KAAKwqnB,UAAW,EAChBxqnB,KAAK6qnB,mBAAmB18mB,aAC5B,CAiDAy9mB,cAAc96Y,EAAU+6Y,GAAmB,CAAC,GACxC,MAAQr2mB,cAAYjJ,eAAas8lB,YAAUnzlB,uBAAqBo2mB,qBAAqBD,GAC/E3xmB,GAAI4xmB,GAAmB9rnB,KAAKwjnB,eAAe3a,SAAWA,GAC5D,IAcIkjB,GAdAp0Y,GAAI,KACR,OAAQjiO,IACJ,IAAK,QACDiiO,GAAI,IAAK33O,KAAKwjnB,eAAej3mB,eAAgBA,IAC7C,MACJ,IAAK,WACDorO,GAAI33O,KAAKwjnB,eAAej3mB,YACxB,MACJ,QACIorO,GAAIprO,IAAe,KAEjB,OAANorO,KACAA,GAAI33O,KAAKgsnB,iBAAiBr0Y,KAG9B,IAEIo0Y,GAA4Bjf,GADDt3lB,GAAaA,GAAWlJ,SAAWtM,KAAK2onB,YAAYr8mB,SAASgvJ,KAE5F,QAO+B,iBAAhBw1E,EAAS,KAAoBA,EAAS,GAAGxhN,WAAW,QAQ3DwhN,EAAW,IAEfi7Y,GAA4B/rnB,KAAKwjnB,eAAelod,IACpD,CACA,OAAOgyc,GAA8Bye,GAA2Bj7Y,EAAU6G,GAAGz9N,IAAK,KACtF,CAyBAw9C,cAAc98B,EAAKgplB,GAAS,CACxBoB,oBAAoB,IAOpB,MAAMjK,GAAUlO,GAAUjykB,GAAOA,EAAM56B,KAAKyrnB,SAAS7wlB,GAC/CowlB,GAAahrnB,KAAKkjnB,oBAAoBt1mB,MAAMmtmB,GAAS/6mB,KAAKwonB,YAChE,OAAOxonB,KAAKirnB,mBAAmBD,GAAYjb,EAAuB,KAAM6T,GAC5E,CA+BA5umB,SAAS87N,EAAU8yY,GAAS,CAAEoB,oBAAoB,IAC9CiH,OA4FR,SAASA,GAAiBn7Y,GACtB,QAAS/oN,GAAI,EAAGA,GAAI+oN,EAAS1+O,OAAQ21B,KAEjC,GAAW,MADC+oN,EAAS/oN,IAEjB,MAAM,IAAIskJ,MAAc,MAAkFC,EAItH,CApGQ2/c,CAAiBn7Y,GACV9wO,KAAK03D,cAAc13D,KAAK4rnB,cAAc96Y,EAAU8yY,IAASA,GACpE,CAEA8H,aAAa9wlB,GACT,OAAO56B,KAAKy3mB,cAAcrnkB,UAAUxV,EACxC,CAEA6wlB,SAAS7wlB,GACL,IACI,OAAO56B,KAAKy3mB,cAAch6mB,MAAMm9B,EACpC,OAEI,OAAO56B,KAAKy3mB,cAAch6mB,MAAM,IACpC,CACJ,CACAs1E,SAASn4C,EAAKsxlB,IACV,IAAItlmB,GAUJ,GARIA,IADiB,IAAjBslmB,GACU,IAAK9B,KAEO,IAAjB8B,GACK,IAAK7B,IAGL6B,GAEVrf,GAAUjykB,GACV,OAAOgukB,GAAa5omB,KAAKwjnB,eAAgB5olB,EAAKhU,IAElD,MAAMm0lB,GAAU/6mB,KAAKyrnB,SAAS7wlB,GAC9B,OAAOgukB,GAAa5omB,KAAKwjnB,eAAgBzI,GAASn0lB,GACtD,CACAolmB,iBAAiB5+mB,GACb,OAAOgiB,OAAOihB,QAAQjjC,GAAQ+2B,OAAO,CAAC7mC,IAAS4jC,GAAK5zC,OAClC,MAAVA,KACAgQ,GAAO4jC,IAAO5zC,IAEXgQ,IACR,CAAC,EACR,CACA2tnB,mBAAmBtH,EAAQ7vkB,GAAQm9jB,GAAe2S,GAAQuI,IACtD,GAAInsnB,KAAKwqnB,SACL,OAAOl2kB,QAAQC,SAAQ,GAE3B,IAAIA,GACAyR,GACAsE,GACA6hkB,IACA53kB,GAAU43kB,GAAa53kB,QACvByR,GAASmmkB,GAAanmkB,OACtBsE,GAAU6hkB,GAAa7hkB,SAGvBA,GAAU,IAAIhW,QAAQ,CAAC74B,GAAK82T,MACxBh+R,GAAU94B,GACVuqC,GAASusR,KAIjB,MAAM4pK,GAASn8e,KAAKi8e,aAAalwe,MACjCo+mB,UAAoBnqnB,KAAM,KAGtBq3L,eAAe,IAAMr3L,KAAKi8e,aAAaj0d,OAAOm0d,IAAO,GAEzDn8e,KAAK2qnB,sBAAsBvH,wBAAwB,CAC/CtvkB,UACAm9jB,iBACAuS,eAAgBxjnB,KAAKwjnB,eACrBC,cAAezjnB,KAAKwjnB,eACpBG,SACAC,UACArvkB,WACAyR,UACAsE,WACA4qI,gBAAiBl1L,KAAK2onB,YAAYr8mB,SAClCw3mB,mBAAoB9jnB,KAAK2onB,cAItBr+jB,GAAQpF,MAAO1lB,IACX8U,QAAQ0R,OAAOxmB,IAE9B,QACSx/B,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF+7mB,EAAM,CAAsD,QAC9JtqnB,KAAKszD,WA3nKmFrzD,MAAE,CAAAhQ,MA2nKYq6nB,EAAM7pnB,QAAN6pnB,EAAM5pnB,UAAAC,WAAc,QAAW,EACjJ,OAvfK2pnB,CAAM,KA0mBN8B,GAAU,MAAhB,MAAMA,EACF3snB,YAAYC,EAAQyc,GAAOkwmB,GAAmBlzb,GAAUjgK,GAAIinc,IACxDnge,KAAKN,OAASA,EACdM,KAAKmc,MAAQA,GACbnc,KAAKqsnB,kBAAoBA,GACzBrsnB,KAAKm5L,SAAWA,GAChBn5L,KAAKk5B,GAAKA,GACVl5B,KAAKmge,iBAAmBA,GAKxBnge,KAAK8U,KAAO,KACZ9U,KAAK8wO,SAAW,KAEhB9wO,KAAKssnB,UAAY,IAAIhmmB,KAOrBtmB,KAAK8rnB,kBAAmB,EAOxB9rnB,KAAKglnB,oBAAqB,EAO1BhlnB,KAAKilnB,YAAa,EAClB,MAAMt8d,GAAUzvH,GAAG7R,cAAcshI,SAASr+J,cAC1C0V,KAAKg4c,gBAA8B,MAAZrvT,IAA+B,SAAZA,GACtC3oJ,KAAKg4c,gBACLh4c,KAAKq7b,aAAe37b,EAAOy/B,OAAO9yB,UAAW/Z,KACrCA,cAAamtC,IACbz/B,KAAKusnB,YAAW,GAKxBvsnB,KAAKwsnB,2BAA2B,IAExC,CAKAA,2BAA2BC,GACO,MAA1BzsnB,KAAKqsnB,mBAA+DrsnB,KAAKg4c,iBAG7Eh4c,KAAK0snB,oBAAoB,WAAYD,EACzC,CAEA7xK,YAAYlub,GACJ1sB,KAAKg4c,iBACLh4c,KAAKusnB,aAITvsnB,KAAKssnB,UAAU3/mB,KAAK3M,KACxB,CAQA,cAAI2snB,CAAW77Y,GACK,MAAZA,GACA9wO,KAAK8wO,SAAWx/O,MAAMC,QAAQu/O,GAAYA,EAAW,CAACA,GACtD9wO,KAAKwsnB,2BAA2B,OAGhCxsnB,KAAK8wO,SAAW,KAChB9wO,KAAKwsnB,2BAA2B,MAExC,CAEApuZ,QAAQ5mM,EAAQo0L,GAASE,GAAUH,GAAQE,IACvC,MAAMkvZ,GAAU/6mB,KAAK+6mB,QAIrB,SAHgB,OAAZA,IAGA/6mB,KAAKg4c,kBACU,IAAXxgb,GAAgBo0L,IAAWE,IAAYH,IAAUE,IAG1B,iBAAhB7rN,KAAK8oD,QAAsC,SAAf9oD,KAAK8oD,WAUhD9oD,KAAKN,OAAOg4D,cAAcqjjB,GANX,CACXiK,mBAAoBhlnB,KAAKglnB,mBACzBC,WAAYjlnB,KAAKilnB,WACjBj8nB,MAAOgX,KAAKhX,MACZy8C,KAAMzlC,KAAKylC,QAMPzlC,KAAKg4c,gBACjB,CAEA9pc,cACIlO,KAAKq7b,cAAcltb,aACvB,CACAo+mB,aACI,MAAMxR,EAAU/6mB,KAAK+6mB,QACrB/6mB,KAAK8U,KACW,OAAZimmB,GAAoB/6mB,KAAKmge,iBACnBnge,KAAKmge,kBAAkBJ,mBAAmB//d,KAAKN,OAAOgsnB,aAAa3Q,IACnE,KACV,MAAM6R,GAA+B,OAAd5snB,KAAK8U,KACtB,QAWE84f,OAA2B5tgB,KAAK8U,KAAM9U,KAAKk5B,GAAG7R,cAAcshI,QAAQr+J,cAAe,QAC3F0V,KAAK0snB,oBAAoB,OAAQE,GACrC,CACAF,oBAAoBzkU,EAAU6kM,IAC1B,MAAM3zT,GAAWn5L,KAAKm5L,SAChB9xK,GAAgBrnB,KAAKk5B,GAAG7R,cACZ,OAAdyle,GACA3zT,GAASvxB,aAAavgJ,GAAe4gS,EAAU6kM,IAG/C3zT,GAASv1H,gBAAgBv8C,GAAe4gS,EAEhD,CACA,WAAI8yT,GACA,OAAsB,OAAlB/6mB,KAAK8wO,SACE,KAEJ9wO,KAAKN,OAAOksnB,cAAc5rnB,KAAK8wO,SAAU,CAG5Ct7N,gBAAgCnnB,IAApB2R,KAAKwV,WAA2BxV,KAAKwV,WAAaxV,KAAKmc,MACnE5P,YAAavM,KAAKuM,YAClBs8lB,SAAU7omB,KAAK6omB,SACfnzlB,oBAAqB1V,KAAK0V,oBAC1Bo2mB,iBAAkB9rnB,KAAK8rnB,kBAE/B,QACS9rnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyF69mB,GAh5KVnsnB,MAg5KsCqqnB,IAh5KtCrqnB,MAg5KyD2zmB,IAh5KzD3zmB,MAg5KoF,YAh5KpFA,MAg5K4HA,OAh5K5HA,MAg5KqJA,OAh5KrJA,MAg5K+KG,OAAmB,CAA8C,QACxUJ,KAAKi4B,UAj5KmFh4B,MAAE,CAAAgO,KAi5KJm+mB,EAAUz9mB,UAAA,uBAAAia,SAAA,EAAAC,aAAA,SAAA7Z,GAAAC,IAAA,EAAAD,IAj5KR/O,MAAE,iBAAAmI,IAAA,OAi5KJ6G,GAAAmvN,QAAAh2N,GAAAovB,OAAApvB,GAAAwjN,QAAAxjN,GAAA0jN,SAAA1jN,GAAAujN,OAAAvjN,GAAAyjN,QAAkF,GAAxE,EAAA78M,IAj5KR/O,MAAE,SAAAgP,GAAA65C,OAAA,EAAAnzC,OAAA,CAAAmzC,OAAA,SAAAv8C,YAAA,cAAAs8lB,SAAA,WAAAnzlB,oBAAA,sBAAA1sB,MAAA,QAAAy8C,KAAA,OAAAjwB,WAAA,aAAAs2mB,iBAAA,CAAF7rnB,MAAE6oB,2BAAA,sCAi5KmSC,OAAgBi8lB,mBAAA,CAj5KrT/knB,MAAE6oB,2BAAA,0CAi5KuXC,OAAgBk8lB,WAAA,CAj5KzYhlnB,MAAE6oB,2BAAA,0BAi5KmbC,OAAgB4jmB,WAAA,cAAA1jmB,YAAA,EAAAC,SAAA,CAj5KrcjpB,cAi5KgrB,EACpxB,OAnKKmsnB,CAAU,KAyRVS,GAAgB,MAAtB,MAAMA,EACF,YAAI95iB,GACA,OAAO/yE,KAAK8snB,SAChB,CACArtnB,YAAYC,EAAQowB,GAASqpK,GAAUopX,GAAKzohB,IACxC95B,KAAKN,OAASA,EACdM,KAAK8vB,QAAUA,GACf9vB,KAAKm5L,SAAWA,GAChBn5L,KAAKuijB,IAAMA,GACXvijB,KAAK85B,KAAOA,GACZ95B,KAAK+qB,QAAU,GACf/qB,KAAK8snB,WAAY,EAQjB9snB,KAAK+snB,wBAA0B,CAAEhlB,OAAO,GAiBxC/nmB,KAAKgtnB,eAAiB,IAAIlhmB,MAC1B9rB,KAAKitnB,yBAA2BvtnB,EAAOy/B,OAAO9yB,UAAW/Z,KACjDA,cAAamtC,IACbz/B,KAAKgyG,QAAO,EAGxB,CAEA9lF,sBAEI/X,QAAGnU,KAAKq+B,MAAM3R,WAASvY,MAAG,OACrBtJ,QAAK4/J,SACLp+J,UAAWo1D,IACZzhE,KAAKgyG,SACLhyG,KAAKktnB,8BAA6B,EAE1C,CACAA,+BACIltnB,KAAKmtnB,8BAA8Bh/mB,cACnC,MAAMi/mB,EAAiB,IAAIptnB,KAAKq+B,MAAMnR,UAAWltB,KAAK85B,MACjDpsC,OAAQosC,MAAWA,IACnBjsC,IAAKisC,IAASA,GAAKwylB,WACxBtsnB,KAAKmtnB,gCAA+Bj2jB,KAAKk2jB,GACpCvinB,QAAK4/J,SACLp+J,UAAWytB,KACR95B,KAAK8snB,YAAc9snB,KAAKqtnB,aAAartnB,KAAKN,OAAvBM,CAA+B85B,KAClD95B,KAAKgyG,QAAO,EAGxB,CACA,oBAAIs7gB,CAAiBlgoB,GACjB,MAAM29B,GAAUz5B,MAAMC,QAAQnE,GAAQA,EAAOA,EAAK+9B,MAAM,KACxDnrB,KAAK+qB,QAAUA,GAAQr9B,OAAQ+E,MAAQA,GAC3C,CAEAmod,YAAYlub,GACR1sB,KAAKgyG,QACT,CAEA9jG,cACIlO,KAAKitnB,yBAAyB9+mB,cAC9BnO,KAAKmtnB,8BAA8Bh/mB,aACvC,CACA6jG,UACShyG,KAAKq+B,QAAUr+B,KAAKN,OAAO6knB,WAEhCltb,eAAe,KACX,MAAMk2b,EAAiBvtnB,KAAKutnB,iBAC5BvtnB,KAAK+qB,QAAQK,QAAS34B,KACd86nB,EACAvtnB,KAAKm5L,SAAS1vB,SAASzpK,KAAK8vB,QAAQzI,cAAe50B,IAGnDuN,KAAKm5L,SAASvvB,YAAY5pK,KAAK8vB,QAAQzI,cAAe50B,GAAC,GAG3D86nB,QAAiDl/nB,IAA/B2R,KAAKwtnB,sBACvBxtnB,KAAKm5L,SAASvxB,aAAa5nK,KAAK8vB,QAAQzI,cAAe,eAAgBrnB,KAAKwtnB,sBAAsBrslB,YAGlGnhC,KAAKm5L,SAASv1H,gBAAgB5jE,KAAK8vB,QAAQzI,cAAe,gBAG1DrnB,KAAK8snB,YAAcS,IACnBvtnB,KAAK8snB,UAAYS,EACjBvtnB,KAAKuijB,IAAIn6hB,eAETpoB,KAAKgtnB,eAAe7nmB,KAAKoomB,GAAc,EAGnD,CACAF,aAAa3tnB,GACT,MAAMknB,GAwCd,SAAS6mmB,GAAqB7mmB,GAC1B,QAASA,EAAQojO,KACrB,CA1CwByjY,CAAqBztnB,KAAK+snB,yBACpC/snB,KAAK+snB,wBAEH/snB,KAAK+snB,wBAAwBhlB,QAAS,EAC9C,OAAQjukB,KACJ,MAAMihlB,GAAUjhlB,GAAKihlB,QACrB,QAAOA,IAAUr7mB,EAAOqzE,SAASgoiB,GAASn0lB,GAAW,CAE7D,CACA2mmB,iBACI,MAAMG,EAAkB1tnB,KAAKqtnB,aAAartnB,KAAKN,QAC/C,OAAQM,KAAK85B,MAAQ4zlB,EAAgB1tnB,KAAK85B,OAAU95B,KAAKq+B,MAAM7sC,KAAKk8nB,EACxE,QACS1tnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFs+mB,GAjoLV5snB,MAioL4CqqnB,IAjoL5CrqnB,MAioL+DA,OAjoL/DA,MAioLyFA,OAjoLzFA,MAioLkHA,OAjoLlHA,MAioLmJmsnB,GAAU,IAA8D,QACnTpsnB,KAAKi4B,UAloLmFh4B,MAAE,CAAAgO,KAkoLJ4+mB,EAAgBl+mB,UAAA,6BAAAuhB,eAAA,SAAAlhB,GAAAC,GAAAkhB,IAAmT,GAAnT,EAAAnhB,IAloLd/O,MAAEkwB,GAkoLqTi8lB,GAAU,KAAAp9mB,GAAA,KAAAohB,GAloLjUnwB,MAAEmwB,GAAFnwB,WAAEgP,GAAAovB,MAAAjO,GAAA,GAAAza,OAAA,CAAAo3mB,wBAAA,0BAAAS,sBAAA,wBAAAF,iBAAA,oBAAA58lB,QAAA,CAAAs8lB,eAAA,kBAAAhkmB,SAAA,qBAAAC,YAAA,EAAAC,SAAA,CAAFjpB,QAkoL+Z,EACngB,OA3HK4snB,CAAgB,KA+JtB,MAAMc,IAEN,IAsDMC,GAAe,MAArB,MAAMA,EACFnunB,YAAYC,EAAQuhnB,GAAUxtK,GAAUo6K,GAAoBjoF,IACxD5liB,KAAKN,OAASA,EACdM,KAAKyzc,SAAWA,GAChBzzc,KAAK6tnB,mBAAqBA,GAC1B7tnB,KAAK4liB,OAASA,EAClB,CACAkoF,kBACI9tnB,KAAKq7b,aAAer7b,KAAKN,OAAOy/B,OAC3Bt0B,QAAKnd,MAAQ8xC,GAAMA,aAAaC,KAAa,EAAG4pK,MAAU,IAAMrpM,KAAK+tnB,YACrE1hnB,UAAU,OACnB,CACA0hnB,UACI,OAAO/tnB,KAAKgunB,cAAchunB,KAAKyzc,SAAUzzc,KAAKN,OAAO1P,OACzD,CAEAke,cACQlO,KAAKq7b,cACLr7b,KAAKq7b,aAAaltb,aAE1B,CACA6/mB,cAAcv6K,EAAUpvY,IACpB,MAAM5oD,GAAM,GACZ,UAAWU,MAASkoD,GAAQ,CACpBloD,GAAMkc,YAAclc,GAAMo5c,YAC1Bp5c,GAAMo5c,aAAYs8D,OAA0B11gB,GAAMkc,UAAWo7a,EAAU,UAAUt3b,GAAMtlB,SAE3F,MAAMo3nB,GAA0B9xmB,GAAMo5c,WAAa9hB,EAC7Cy6K,GAAsB/xmB,GAAM+7lB,iBAAmB+V,IAShD9xmB,GAAM23D,eAAiB33D,GAAMojmB,oBAAmClxnB,IAAlB8tB,GAAMsjmB,SACpDtjmB,GAAMo4D,gBAAkBp4D,GAAMijmB,mBAC/B3jmB,GAAIqmB,KAAK9hC,KAAKmunB,cAAcF,GAAyB9xmB,MAErDA,GAAM2wF,UAAY3wF,GAAMojmB,gBACxB9jmB,GAAIqmB,KAAK9hC,KAAKgunB,cAAcE,GAAsB/xmB,GAAM2wF,UAAY3wF,GAAMojmB,eAElF,CACA,SAAOrojB,KAAKz7C,IAAK5Q,QAAK4/J,QAC1B,CACA0jd,cAAc16K,EAAUt3b,IACpB,OAAOnc,KAAK6tnB,mBAAmBE,QAAQ5xmB,GAAO,KAC1C,IAAIiymB,GAEAA,GADAjymB,GAAM23D,mBAAkCzlF,IAAlB8tB,GAAMsjmB,QACVz/mB,KAAK4liB,OAAO9xd,aAAa2/X,EAAUt3b,KAGrDiymB,EAAkBj6mB,MAAG,MAEzB,MAAMk6mB,GAAyBD,GAAgBvjnB,QAAKy0L,MAAUtvM,IAC3C,OAAXA,IAAW,EACJmkB,WAAG,IAEdgI,GAAMojmB,cAAgBvvnB,GAAOq0E,OAC7BloD,GAAM+7lB,gBAAkBlonB,GAAOyjd,SAGxBzzc,KAAKgunB,cAAch+nB,GAAOyjd,UAAYA,EAAUzjd,GAAOq0E,WAElE,GAAIloD,GAAMo4D,gBAAkBp4D,GAAMijmB,iBAAkB,CAChD,MAAMkP,GAAiBtunB,KAAK4liB,OAAOrxd,cAAcp4D,IACjD,SAAO+6C,KAAK,CAACm3jB,GAAwBC,KAAiBzjnB,QAAK4/J,QAC/D,CAEI,OAAO4jd,IAGnB,QACSrunB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFq/mB,GA1yLV3tnB,MA0yL2CqqnB,IA1yL3CrqnB,MA0yL8DA,OA1yL9DA,MA0yLsFA,OA1yLtFA,MA0yLyH0tnB,IA1yLzH1tnB,MA0yLwJ6gnB,IAAkB,CAA+C,QACjT9gnB,KAAKszD,WA3yLmFrzD,MAAE,CAAAhQ,MA2yLY29nB,EAAentnB,QAAfmtnB,EAAeltnB,UAAAC,WAAc,QAAW,EAC1J,OA7EKitnB,CAAe,KAmFrB,MAAMW,GAAkB,IAAI1omB,MAAe,IAAI,IACzC2omB,GAAc,MAApB,MAAMA,EAEF/unB,YAAYg4mB,EAAe3hc,GAAa24c,GAAkB7ve,GAAMh4H,GAAU,CAAC,GACvE5mB,KAAKy3mB,cAAgBA,EACrBz3mB,KAAK81K,YAAcA,GACnB91K,KAAKyunB,iBAAmBA,GACxBzunB,KAAK4+I,KAAOA,GACZ5+I,KAAK4mB,QAAUA,GACf5mB,KAAK6mU,OAAS,EACd7mU,KAAK0unB,WAAa,aAClB1unB,KAAK2unB,WAAa,EAClB3unB,KAAKL,MAAQ,CAAC,EACdK,KAAKgohB,uBAAsB/2f,OAAO6ge,OAElClre,GAAQgomB,4BAA8B,WACtChomB,GAAQiomB,kBAAoB,UAChC,CACA79kB,OAImD,aAA3ChxC,KAAK4mB,QAAQgomB,2BACb5unB,KAAKyunB,iBAAiBt7I,4BAA4B,UAEtDnze,KAAKitnB,yBAA2BjtnB,KAAK8unB,qBACrC9unB,KAAK+unB,yBAA2B/unB,KAAKgvnB,qBACzC,CACAF,qBACI,OAAO9unB,KAAK81K,YAAY32I,OAAO9yB,UAAWmzB,IAClCA,aAAakqI,IAEb1pK,KAAKL,MAAMK,KAAK6mU,QAAU7mU,KAAKyunB,iBAAiB97I,oBAChD3ye,KAAK0unB,WAAalvlB,EAAEwxkB,kBACpBhxmB,KAAK2unB,WAAanvlB,EAAEyxkB,cAAgBzxkB,EAAEyxkB,cAAc2R,aAAe,GAE9DpjlB,aAAaC,IAClBz/B,KAAK6mU,OAASrnS,EAAEh3C,GAChBwX,KAAKivnB,oBAAoBzvlB,EAAGx/B,KAAKy3mB,cAAch6mB,MAAM+hC,EAAE0xkB,mBAAmBrI,WAErErpkB,aAAasxkB,IAClBtxkB,EAAEjzC,OAASilnB,GAAsBC,2BACjCzxmB,KAAK0unB,gBAAargoB,EAClB2R,KAAK2unB,WAAa,EAClB3unB,KAAKivnB,oBAAoBzvlB,EAAGx/B,KAAKy3mB,cAAch6mB,MAAM+hC,EAAE5E,KAAKiukB,UAAQ,EAGhF,CACAmmB,sBACI,OAAOhvnB,KAAK81K,YAAY32I,OAAO9yB,UAAWmzB,IAChCA,aAAaukI,KAGfvkI,EAAE7J,SAC6C,QAA3C31B,KAAK4mB,QAAQgomB,0BACb5unB,KAAKyunB,iBAAiB77I,iBAAiB,CAAC,EAAG,IAEK,YAA3C5ye,KAAK4mB,QAAQgomB,2BAClB5unB,KAAKyunB,iBAAiB77I,iBAAiBpzc,EAAE7J,UAKzC6J,EAAEy7Q,QAA2C,YAAjCj7S,KAAK4mB,QAAQiomB,gBACzB7unB,KAAKyunB,iBAAiB57I,eAAerzc,EAAEy7Q,QAES,aAA3Cj7S,KAAK4mB,QAAQgomB,2BAClB5unB,KAAKyunB,iBAAiB77I,iBAAiB,CAAC,EAAG,IAAE,EAI7D,CACAq8I,oBAAoBpd,EAAa52T,IAAQ,IAAAp1Q,GAAA7lC,KACrCA,KAAK4+I,KAAKuC,mBAAiBr7G,OAAC,kBAIlB,IAAIwO,QAASC,KAEfvnC,WAAW,KACPunC,IAAQ,IACX,EACD4xe,OAAgB,KACZ5xe,IAAQ,EACT,CAAEk/Z,SAAU5ta,GAAKmif,qBAAqB,GAE7Cnif,GAAK+4G,KAAKxoH,IAAI,KACVyP,GAAKiwI,YAAY32I,OAAOxyB,KAAK,IAAIo3J,GAAO8tc,EAAiC,aAApBhskB,GAAK6olB,WAA4B7olB,GAAKlmC,MAAMkmC,GAAK8olB,YAAc,KAAM1zU,IAAO,EAEzI,GACJ,CAEA/sS,cACIlO,KAAKitnB,0BAA0B9+mB,cAC/BnO,KAAK+unB,0BAA0B5gnB,aACnC,QACSnO,KAAKU,UAAI,SAAA6N,IAl5L+EtO,OAAE,CAk5LmF,QAC7KD,KAAKszD,WAn5LmFrzD,MAAE,CAAAhQ,MAm5LYu+nB,EAAc/tnB,QAAd+tnB,EAAc9tnB,WAAK,EACrI,OAjGK8tnB,CAAc,KA2JpB,SAASU,GAAc54hB,EAAMj+D,IACzB,MAAO,CAAE8md,WAAO7oZ,EAAM8oZ,gBAAY/md,GACtC,CAoFA,SAAS82lB,KACL,MAAM17K,KAAWxib,OAAOoqc,OACxB,OAAQ+zJ,KACJ,MAAM3jX,EAAMgoM,EAAS/qc,IAAIstd,OACzB,GAAIo5J,KAA6B3jX,EAAIyN,WAAW,GAC5C,OAEJ,MAAMx5Q,GAAS+zc,EAAS/qc,IAAI4hnB,IACtB+E,GAAgB57K,EAAS/qc,IAAI4mnB,IACM,IAArC77K,EAAS/qc,IAAI6mnB,KACb7vnB,GAAO0rnB,oBAEX33K,EAAS/qc,IAAI8mnB,GAAkB,KAAM7oI,MAAYK,WAAW8mI,kBAC5Dr6K,EAAS/qc,IAAI6lnB,GAAiB,KAAM5nI,MAAYK,WAAWh2c,OAC3DtxC,GAAOyrnB,uBAAuB1/W,EAAIyqS,eAAe,IAC5Cm5E,GAAcnqmB,SACfmqmB,GAAc1inB,OACd0inB,GAAclomB,WACdkomB,GAAclhnB,cAAY,CAGtC,CAMA,MAAMmhnB,GAAiB,IAAIzpmB,MAA4F,GAAI,CACvHplB,QAASA,IACE,IAAI6lB,OAGbipmB,GAAqB,IAAI1pmB,MAAsF,GAAI,CAAEllB,WAAY,OAAQF,QAASA,IAAM,IAyJxJ+unB,GAAmB,IAAI3pmB,MAAoF,IA2BjH,SAAS4pmB,GAAe5B,GAKpB,OAAOqB,GAAc,EAJH,CACd,CAAEv+lB,QAAS6+lB,GAAkB5+lB,YAAag9lB,IAC1C,CAAEj9lB,QAASg9lB,GAAoB/8lB,YAAai9lB,IAGpD,CAiKA,SAAS6B,GAAoB9omB,GAQzB,OAAOsomB,GAAc,EAPH,CACd,CAAEv+lB,QAASqxlB,GAAwB5/iB,SAAU8/iB,IAC7C,CACIvxlB,QAASsxlB,GACT7/iB,SAAU,CAAEigjB,qBAAsBz7lB,GAAS+omB,yBAA0B/omB,KAIjF,CAKA,MAIMgpmB,GAAuB,IAAI/pmB,MAE3B,wBAKAgqmB,GAAmB,CACrB78e,MACA,CAAEriH,QAASg5kB,GAAezniB,SAAU0niB,IACpC0gB,GACArY,GACA,CAAEthlB,QAASijlB,GAAgBrilB,WArf/B,SAASu+lB,GAAUpwnB,GACf,OAAOA,EAAOipnB,YAAYrtd,IAC9B,EAmfsDhqI,KAAM,CAACg5lB,KACzDxJ,GAKM,IAEV,IAqBMnpmB,GAAY,MAAlB,MAAMA,EACFlY,YAAYgyZ,GAAS,CAmBrB,cAAOt8U,CAAQ9Q,EAAQr0E,IACnB,MAAO,CACHszJ,SAAU3rI,EACV0gB,UAAW,CACPw3lB,GAKM,GACN,CAAEl/lB,QAASukD,GAAQlS,OAAO,EAAMZ,SAAUiC,GAC1C,CACI1zC,QAASi/lB,GACTr+lB,WAAYw+lB,GACZz+lB,KAAM,CAAC,CAACg5lB,GAAQ,IAAItjI,MAAY,IAAID,SAExC,CAAEp2d,QAASkwlB,GAAsBz+iB,SAAUpyE,IAAkB,CAAC,GAC9DA,IAAQggoB,QAuEb,CAAEr/lB,QAAS8uc,MAAkBv9Z,SAAUg+Z,OAKvC,CAAEvvc,QAAS8uc,MAAkBv9Z,SAAUw9Z,OAvBvC,CACH/uc,QAAS49lB,GACTh9lB,WAAYA,KACR,MAAMk9lB,KAAmBx9lB,OAAOqhd,OAC1B1zV,MAAO3tH,OAAOmpK,OACdpqM,KAASihC,OAAO4vlB,IAChB/qc,MAAc7kJ,OAAOyxlB,IACrBjL,MAAgBxmlB,OAAO04kB,IAC7B,OAAI35mB,EAAOigoB,cACPxB,EAAiB/7I,UAAU1if,EAAOigoB,cAE/B,IAAIzB,GAAe/W,GAAe3hc,GAAa24c,EAAkB7ve,GAAM5uJ,EAAM,GA9DhFA,IAAQ69nB,mBAAqB4B,GAAez/nB,GAAO69nB,oBAAoBzuI,gBAAa,GACpFpvf,IAAQo7nB,kBAAoB8E,GAAyBlgoB,IAAU,GAC/DA,IAAQmgoB,sBAjIbjB,GAAc,EAJH,CACdzY,GACA,CAAE9llB,QAASgllB,GAAc/klB,YAAa6llB,MAmI8Br3H,gBAAa,GACzEpvf,IAAQogoB,sBAAwBV,KAAsBtwI,gBAAa,GAmGxE,CAGH,CAAEzud,QAAS0/lB,GAAoB9+lB,WAAY49lB,IAC3C,CAAEx+lB,QAAS4khB,MAAwBvye,OAAO,EAAMpyC,YAAay/lB,MAnGjE,CAiBA,eAAOC,CAASjsjB,GACZ,MAAO,CACHi/E,SAAU3rI,EACV0gB,UAAW,CAAC,CAAE1H,QAASukD,GAAQlS,OAAO,EAAMZ,SAAUiC,IAE9D,QACSrkE,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAyFoJ,GA/hNV1X,MA+hNwC2vnB,GAAoB,IAA6D,QACjN5vnB,KAAKm4B,UAhiNmFl4B,KAAE,CAAAgO,KAgiNS0J,GAA6K,QAChR3X,KAAKo4B,UAjiNmFn4B,MAAE,GAiiN0B,EAChI,OAxEK0X,CAAY,KAmHlB,SAASo4mB,GAAoBrwnB,GAKzB,MAAO,SACX,CAGA,SAASwwnB,GAAyBlgoB,GAC9B,MAAO,CAC0B,aAA7BA,EAAOo7nB,kBA/aJ8D,GAAc,EAbH,CACd,CACIv+lB,QAASoyC,MACTC,OAAO,EACPzxC,WAAYA,KACR,MAAM7xB,MAASuxB,OAAOq5lB,IACtB,MAAO,KACH5qnB,GAAO2rnB,6BAA4B,CACvC,GAGR,CAAE16lB,QAAS4+lB,GAAoBntjB,SAAU,KAibiCg9a,gBAAa,GAC1D,oBAA7Bpvf,EAAOo7nB,kBA1dJ8D,GAAc,EAhCH,CACd,CAAEv+lB,QAAS4+lB,GAAoBntjB,SAAU,GACzC,CACIzxC,QAASoyC,MACTC,OAAO,EACP1xC,KAAM,CAAC+pc,OACP9pc,WAAakib,KACT,MAAM88K,EAAsB98K,GAAS/qc,IAAIi2d,MAAsBrqb,QAAQC,WACvE,MAAO,IACIg8kB,EAAoBh+jB,KAAK,IACrB,IAAIje,QAASC,KAChB,MAAM70C,GAAS+zc,GAAS/qc,IAAI4hnB,IACtB+E,GAAgB57K,GAAS/qc,IAAI4mnB,IACnCnF,GAAoBzqnB,GAAQ,KAGxB60C,IAAQ,EAAI,GAEhBk/Z,GAAS/qc,IAAIg6mB,IAAuBS,mBAAqB,KAIrD5ukB,IAAQ,GACD86kB,GAAcnqmB,UAAS/Q,WAAG,GAAUk7mB,IAE/C3vnB,GAAO0rnB,mBAAkB,GAEhC,KAgegChsI,gBACvC,GAEd,CAQA,MAAMixI,GAAqB,IAAIxqmB,MAAsF,sQE1gOhG,IAAIijL,IAAWksN,0KCymByC,MAAA3kZ,GAAA,MAs7E5CmgnB,GAAA,WAxhGjC,SAAS9zS,GAAUpvV,GACf,OAAOi/F,SAAS,GAAGj/F,IAAS,GAChC,CAUA,SAASw1F,GAASx1F,GACd,OAAQ+K,MAAMqkV,GAAUpvV,GAC5B,CAIA,SAASmjoB,GAAUnjoB,GACf,OAAwC,MAAVA,CAClC,CAIA,SAASyoG,GAAUzoG,GACf,OAAIw1F,GAASx1F,GACF,IAAIA,IAAQs0C,OAAM,GAGlB,EAEf,CA+CA,SAAS8ulB,GAAO5gmB,GACZ,OAAQA,GAAW7iB,SAASzjB,MAAMykK,uBACtC,QAzCWO,QAAY,MAAgBA,QAAQ1mH,UAAUnZ,UAErD6/H,QAAQ1mH,UAAUnZ,QAAU,SAAUr8B,GAElC,IAAI4mC,GAAKl5B,KACT,IAAKiN,SAAS4xB,gBAAgBjQ,SAASsK,IACnC,OAAO,KAEX,EAAG,CACC,GAAIA,GAAGyiE,QAAQrpG,GACX,OAAO4mC,GAEXA,GAAKA,GAAGyxH,eAAiBzxH,GAAGyvB,UAChC,OAAgB,OAAPzvB,IAA+B,IAAhBA,GAAG4uH,UAC3B,OAAO,IACX,GAqDJ,MAAMrtF,GAAc,CAChB3pC,WAAW,EACX6/lB,uBAAwB,GAGtBC,GAASA,QACPD,2BAA2Bl2jB,GAC7Bo2jB,GAAqB,IAAI5tlB,IACzB6tlB,GAAmBA,CAAClye,EAAM9uH,GAASihmB,EAASnqmB,KAE9C,IAAI+nF,GAAU/nF,EAAQ+nF,SAAW,CAAC,EAElC,MAAMuwC,GAAU2xe,GAAmBnonB,IAAIonB,IACvC,GAAIovH,GACA,OAAQt4H,EAAQoqmB,mBAGZ,IAAK,WACD,OAAOl+lB,IAIX,IAAK,OACD8rH,EAAKxoH,IAAI,IAAM8oH,GAAQ+xe,YAAY9pmB,YACnCwnF,GAAUv/E,OAAOmpB,OAAO2mG,GAAQvwC,QAASA,IACzCkihB,GAAmBnplB,OAAO5X,IAItC,MAAMohmB,GAAQH,EAAQjhmB,GAASlJ,EAAQkK,UAAW69E,KAAYiihB,GAK9D,IAAKhqmB,EAAQkK,WAAqE,SAAxDlc,OAAOwtJ,iBAAiBtyI,IAASyxiB,mBACvD3ib,SAAKxoH,IAAI,IAAM86lB,OAAO,EACf/8mB,WAAG9lB,GAAWwc,KAzD7B,SAASsmnB,GAAUvye,GACf,OAAQ9qG,IACG,IAAIg1J,IAAWj/C,GAIX/1G,GAAOznC,UAAU,CAAEM,KAHZrf,IAAUsxJ,EAAKxoH,IAAI,IAAMyzH,EAASl9I,KAAKrf,KAGrBwB,MAFjB0wC,IAAMo/G,EAAKxoH,IAAI,IAAMyzH,EAAS/6J,MAAM0wC,KAEZrY,SADtBA,IAAMy3H,EAAKxoH,IAAI,IAAMyzH,EAAS1iI,cAI3D,CAgDkCgqmB,CAAUvye,IAGxC,MAAMqye,GAAc,IAAI3qmB,IAClB8qmB,GAAoB,IAAI9qmB,IACxB4iL,GAAQ+nb,GAAYpmnB,KC3JvB,SAASwmnB,MAAW5lnB,GACvB,OAAQqoC,OAAWrmD,MAAOqmD,MAAQ3/B,SAAM1I,GAC5C,CDyJmC4lnB,EAAQ,IACvCR,GAAmB3tlB,IAAIpT,GAAS,CAC5BmhmB,eACA9pmB,SAAUA,KACNiqmB,GAAkBzknB,OAClByknB,GAAkBjqmB,UAAS,EAE/BwnF,aAEJ,MAAM2ihB,GAzDV,SAASC,GAAwBzhmB,GAC7B,MAAQ0hmB,mBAAiBrwD,sBAAuBvsjB,OAAOwtJ,iBAAiBtyI,GAGxE,OAAsD,KAF3Bo/F,WAAWsigB,IACRtigB,WAAWiyc,GAE7C,CAoDiCowD,CAAwBzhmB,IAOrD8uH,SAAKuC,kBAAkB,KACnB,MAAMswe,MAAiBxylB,KAAUnP,GAAS,iBAAiBjlB,QAAKgqB,MAAUq0K,KAAK,EAAGx7M,MAAO,EAAGo7D,aAAaA,KAAWh5B,ME1KrH,SAAS01S,MAAQx2M,GACpBA,OAC0B,KAD1BA,KAAU+0U,KAAe/0U,IACV58H,QAAW,EAAIi4M,MAAUr7E,EAAQ,IAAM,IAAI85E,IAEvD,SAAS4ob,GAAS1igB,GACrB,OAAQ+5E,KACJ,IAAI4ob,EAAgB,GACpB,QAAS5pmB,EAAI,EAAG4pmB,IAAkB5ob,GAAW7jL,QAAU6C,EAAIinG,EAAQ58H,OAAQ21B,IACvE4pmB,EAAc7vlB,QAAKuoK,MAAUr7E,EAAQjnG,IAAI1b,aAAUi+L,MAAyBvB,GAAaz7M,KACrF,GAAIqkoB,EAAe,CACf,QAASr/nB,GAAI,EAAGA,GAAIq/nB,EAAcv/nB,OAAQE,KACtCA,KAAMy1B,GAAK4pmB,EAAcr/nB,IAAG6b,cAEhCwjnB,EAAgB,IACpB,CACA5ob,GAAWp8L,KAAKrf,GAAK,IACtB,CAGf,CAjByEokoB,CAAS1igB,GAClF,EFyKQw2M,EADMosT,EAASnpkB,KAAM6okB,GAAuBX,IAAwB9lnB,QAAKgqB,MAAUq0K,KACtEuob,GAAgBL,IAAmBvmnB,QAAKgqB,MAAUq0K,KAAQ78L,UAAU,KAC7EwknB,GAAmBnplB,OAAO5X,IAC1B8uH,EAAKxoH,IAAI,KACL86lB,KACAD,GAAYtknB,OACZsknB,GAAY9pmB,UAAS,EACxB,EACJ,GAEE8pmB,GAAYt1mB,cAAa,EA8DpC,IAKMk2mB,GAAS,MAAf,MAAMA,EACFpynB,cACIO,KAAK8wB,UAAY2pC,GAAY3pC,SACjC,EAEJ+gmB,SAAUnxnB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFsjnB,EAAS,EAC/GA,EAAUv+jB,WADkFrzD,MAAE,CAAAhQ,MACY4hoB,EAASpxnB,QAAToxnB,EAASnxnB,UAAAC,WAAc,SAN3HkxnB,CAAS,KAmdTC,GAAkB,MAAxB,MAAMA,GAENA,SAAmBpxnB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFujnB,EAAkB,EACjIA,EAAmB35lB,UAjdyEl4B,KAAE,CAAAgO,KAidkB6jnB,IAChHA,EAAmB15lB,UAldyEn4B,MAAE,CAAAq4B,QAAA,CAkdgD,CAAC5xB,SAJzIornB,CAAkB,KA+GlBC,GAAc,MAApB,MAAMA,GAENA,SAAerxnB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFwjnB,EAAc,EACzHA,EAAe55lB,UAhkB6El4B,KAAE,CAAAgO,KAgkBc8jnB,IAC5GA,EAAe35lB,UAjkB6En4B,MAAE,CAAAq4B,QAAA,CAikBwC,CAAC5xB,SAJjIqrnB,CAAc,KAuOdC,GAAgB,MAAtB,MAAMA,GAENA,SAAiBtxnB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFyjnB,EAAgB,EAC7HA,EAAiB75lB,UAvyB2El4B,KAAE,CAAAgO,KAuyBgB+jnB,IAC9GA,EAAiB55lB,UAxyB2En4B,MAAE,IAoyBxF+xnB,CAAgB,KAmehBC,GAAiB,MAAvB,MAAMA,GAENA,SAAkBvxnB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF0jnB,EAAiB,EAC/HA,EAAkB95lB,UA1wC0El4B,KAAE,CAAAgO,KA0wCiBgknB,IAC/GA,EAAkB75lB,UA3wC0En4B,MAAE,CAAAq4B,QAAA,CA2wC8C,CAAC5xB,SAJvIurnB,CAAiB,KA2GjBC,GAAiB,MAAvB,MAAMA,GAENA,SAAkBxxnB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF2jnB,EAAiB,EAC/HA,EAAkB/5lB,UAr3C0El4B,KAAE,CAAAgO,KAq3CiBiknB,IAC/GA,EAAkB95lB,UAt3C0En4B,MAAE,IAk3CxFiynB,CAAiB,KAgYjBpxjB,GAAiB,MAAvB,MAAMA,EAMFqxjB,cAAct/jB,GACV,MAAO,GAAG7yD,KAAKqhE,iBAAiBxO,EAAK8N,MAAO9N,EAAK6N,SAAS1gE,KAAK4hE,gBAAgB/O,EAAK6N,OACxF,CAMAc,eAAe3O,GAAQ,MAAO,GAAGA,EAAK+N,KAAO,CAM7Cc,gBAAgBC,GAAc,MAAO,GAAGA,GAAc,CAMtDC,gBAAgBlB,GAAQ,MAAO,GAAGA,GAAQ,CAM1C0xjB,eAAiB,MAAO,EAAI,EAEhCtxjB,SAAkBpgE,UAAI,SAAA6N,GAAA,WAAAA,GAAwFuyD,EAAiB,EAC/HA,EAAkBxN,WArxD0ErzD,MAAE,CAAAhQ,MAqxDoB6wE,EAAiBrgE,QAAA,SAAA8N,GAAA,IAAAorB,EAAA,YAAAA,EAAAprB,EAAA,IAAAA,EAnDnI,SAAS8jnB,GAA2BtgoB,GAChC,OAAO,IAAIugoB,GAAyBvgoB,EACxC,CAiDqKsgoB,CArxDzEpynB,MAqxDqHqxe,QAAS33c,CAAA,EAAAh5B,WAAzE,SAnC3ImgE,CAAiB,KA8CjBwxjB,GAAwB,MAA9B,MAAMA,UAAiCxxjB,GACnCrhE,YAAYm2a,GACRplY,QACAxwC,KAAK41a,QAAUA,EACf51a,KAAKy1b,gBAAe2tC,MAAoBxtD,EAAS0rD,KAAUC,WAAYC,KAAiBE,aACxF1he,KAAKuynB,eAAcnvJ,MAAoBxtD,EAAS0rD,KAAUC,WAAYC,KAAiBG,KAC3F,CACA5ga,gBAAgBC,EAASrxB,GACrB,MAAM6ilB,MAA2B3vJ,MAAkB7ie,KAAK41a,QAAS0rD,KAAUC,gBAAsBlze,IAAVshD,EAAsB6xb,KAAiBI,MAAQjyb,GAEtI,OADiB6ilB,GAAyB3koB,IAAI,CAAC+yE,GAAKvoD,KAAUm6mB,IAA0Bn6mB,GAAQ,GAAK,IACrF2oD,EAAU,IAAM,EACpC,CACAG,kBAAkBR,GAAS,OAAO3gE,KAAKy1b,aAAa90X,EAAQ,IAAM,EAAI,CACtEU,iBAAiBV,GAAS,OAAO3gE,KAAKuynB,YAAY5xjB,EAAQ,IAAM,EAAI,CACpEW,gBAAgBzO,GACZ,MAAM0O,EAAS,IAAIvzB,KAAK6kB,EAAK6N,KAAM7N,EAAK8N,MAAQ,EAAG9N,EAAK+N,KACxD,SAAOjD,MAAW4D,EAAQ,WAAYvhE,KAAK41a,QAC/C,EAEJ08M,SAAyB5xnB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF+jnB,GAnzDzBrynB,MAmzDmEqxe,OAAS,EACxKghJ,EAAyBh/jB,WApzDmErzD,MAAE,CAAAhQ,MAozD2BqioB,EAAwB7xnB,QAAxB6xnB,EAAwB5xnB,YApB3I4xnB,CAAwB,KA0TxBG,GAAmB,MAAzB,MAAMA,EACFhznB,cACIO,KAAK0ynB,cAAgB,EACrB1ynB,KAAK+1b,eAAiB,EACtB/1b,KAAKwpnB,WAAa,SAClBxpnB,KAAK2ynB,YAAc,UACnB3ynB,KAAK4ynB,iBAAkB,EACvB5ynB,KAAKmra,SAAWq2D,KAAiBI,KACrC,EAEJ6wJ,SAAoB/xnB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFkknB,EAAmB,EACnIA,EAAoBn/jB,WArmEwErzD,MAAE,CAAAhQ,MAqmEsBwioB,EAAmBhynB,QAAnBgynB,EAAmB/xnB,UAAAC,WAAc,SAX/I8xnB,CAAmB,KAoRzB,IAAII,GACH,SAAUA,GACPA,SAAIA,EAAIC,IAAS,GAAK,MACtBD,EAAIA,EAAIE,MAAW,IAAM,QACzBF,EAAIA,EAAIG,OAAY,IAAM,SAC1BH,EAAIA,EAAII,MAAW,IAAM,QACzBJ,EAAIA,EAAIK,OAAY,IAAM,SAC1BL,EAAIA,EAAIM,SAAc,IAAM,WAC5BN,EAAIA,EAAIO,IAAS,IAAM,MACvBP,EAAIA,EAAIQ,KAAU,IAAM,OACxBR,EAAIA,EAAIS,UAAe,IAAM,YAC7BT,EAAIA,EAAIU,QAAa,IAAM,UAC3BV,EAAIA,EAAIW,WAAgB,IAAM,aAC9BX,EAAIA,EAAIY,UAAe,IAAM,YAZtBZ,CAaX,CAbC,CAaEA,IAAc,CAAC,UAsdA31jB,UAAc,KAAgBA,UAAU+uB,YAHlC,mBAAmBkP,KAAKj+B,UAAU+uB,YACjD,YAAYkP,KAAKj+B,UAAU+uB,YAAc/uB,UAAUq0P,gBAAkBr0P,UAAUq0P,eAAiB,GAC7E,UAAUp2N,KAAKj+B,UAAU+uB,YAyCrD,MAAMyniB,GAA8B,CAChC,UAAW,yBAA0B,6CAA8C,yBACnF,2BAA4B,oBAAqB,mCACnDholB,KAAK,MAIP,SAASiolB,GAA6B7jmB,GAClC,MAAM1kC,GAAOkG,MAAM4lE,KAAKpnC,EAAQhI,iBAAiB4rmB,KAC5ChmoB,OAAOwrC,IAAsB,IAAhBA,EAAGktL,UACrB,MAAO,CAACh7N,GAAK,GAAIA,GAAKA,GAAKgH,OAAS,GACxC,CAkLwB,IAtIxB,MAAMwhoB,GACFr0B,aAAazvkB,IAAW,OAAOlb,OAAOwtJ,iBAAiBtyI,GAAU,CACjE+jmB,SAAS/jmB,GAASknD,GAAQ,OAAOh3E,KAAKu/lB,aAAazvkB,IAASknD,EAAO,CACnE88iB,mBAAmBhkmB,IACf,MAA4D,YAApD9vB,KAAK6znB,SAAS/jmB,GAAS,aAAe,SAClD,CACAi/Q,aAAaj/Q,IACT,IAAIikmB,EAAiBjkmB,GAAQi/Q,cAAgB9hS,SAAS4xB,gBACtD,KAAOk1lB,GAAkBA,IAAmB9mnB,SAAS4xB,iBAAmB7+B,KAAK8znB,mBAAmBC,IAC5FA,EAAiBA,EAAehlV,aAEpC,OAAOglV,GAAkB9mnB,SAAS4xB,eACtC,CACAlJ,SAAS7F,GAASggB,GAAQ,GACtB,IAAIkklB,EACAC,GAAe,CAAEtklB,MAAO,EAAGK,OAAQ,EAAGC,IAAK,EAAGsyH,OAAQ,EAAG1yH,KAAM,EAAGwrD,MAAO,GAC7E,GAA2C,UAAvCr7F,KAAK6znB,SAAS/jmB,GAAS,YACvBkkmB,EAAalkmB,GAAQm+H,wBACrB+le,EAAa,CACT/jlB,IAAK+jlB,EAAW/jlB,IAChBsyH,OAAQyxd,EAAWzxd,OACnB1yH,KAAMmklB,EAAWnklB,KACjBwrD,MAAO24hB,EAAW34hB,MAClBrrD,OAAQgklB,EAAWhklB,OACnBL,MAAOqklB,EAAWrklB,WAGrB,CACD,MAAMoklB,GAAiB/znB,KAAK+uS,aAAaj/Q,IACzCkkmB,EAAah0nB,KAAK+tJ,OAAOj+H,IAAS,GAC9BikmB,KAAmB9mnB,SAAS4xB,kBAC5Bo1lB,GAAej0nB,KAAK+tJ,OAAOgme,IAAgB,IAE/CE,GAAahklB,KAAO8jlB,GAAe/kV,UACnCilV,GAAapklB,MAAQkklB,GAAe7kV,UACxC,CACA8kV,SAAW/jlB,KAAOgklB,GAAahklB,IAC/B+jlB,EAAWzxd,QAAU0xd,GAAahklB,IAClC+jlB,EAAWnklB,MAAQoklB,GAAapklB,KAChCmklB,EAAW34hB,OAAS44hB,GAAapklB,KAC7BC,IACAkklB,EAAW/jlB,IAAM9iB,KAAK2iB,MAAMkklB,EAAW/jlB,KACvC+jlB,EAAWzxd,OAASp1I,KAAK2iB,MAAMkklB,EAAWzxd,QAC1Cyxd,EAAWnklB,KAAO1iB,KAAK2iB,MAAMkklB,EAAWnklB,MACxCmklB,EAAW34hB,MAAQluE,KAAK2iB,MAAMkklB,EAAW34hB,QAEtC24hB,CACX,CACAjme,OAAOj+H,GAASggB,GAAQ,GACpB,MAAMoklB,EAAQpkmB,GAAQm+H,wBAChBkme,OACGv/mB,OAAOopd,QAAU/wd,SAAS4xB,gBAAgBmwQ,UAD7CmlV,QAEIv/mB,OAAOqpd,QAAUhxd,SAAS4xB,gBAAgBqwQ,WAEpD,IAAIklV,GAAW,CACXpklB,OAAQkklB,EAAMlklB,QAAUlgB,GAAQmnb,aAChCtna,MAAOuklB,EAAMvklB,OAAS7f,GAAQ+gR,YAC9B5gQ,IAAKiklB,EAAMjklB,IAAMkklB,OACjB5xd,OAAQ2xd,EAAM3xd,OAAS4xd,OACvBtklB,KAAMqklB,EAAMrklB,KAAOsklB,QACnB94hB,MAAO64hB,EAAM74hB,MAAQ84hB,SAEzB,OAAIrklB,IACAsklB,GAASpklB,OAAS7iB,KAAK2iB,MAAMsklB,GAASpklB,QACtCoklB,GAASzklB,MAAQxiB,KAAK2iB,MAAMsklB,GAASzklB,OACrCyklB,GAASnklB,IAAM9iB,KAAK2iB,MAAMsklB,GAASnklB,KACnCmklB,GAAS7xd,OAASp1I,KAAK2iB,MAAMsklB,GAAS7xd,QACtC6xd,GAASvklB,KAAO1iB,KAAK2iB,MAAMsklB,GAASvklB,MACpCuklB,GAAS/4hB,MAAQluE,KAAK2iB,MAAMsklB,GAAS/4hB,QAElC+4hB,EACX,CAIAC,iBAAiBjtc,GAAag1Z,EAAek4C,EAAWC,IACpD,MAAOC,GAAmB,MAAOC,GAAqB,UAAYH,EAAUnpmB,MAAM,KAC5EupmB,GAAiBH,GAAev0nB,KAAK+tJ,OAAOq5B,IAAa,GAASpnL,KAAK21B,SAASyxJ,IAAa,GAC7Futc,GAAiB30nB,KAAKu/lB,aAAanjB,GACnCnnH,GAAY/lW,WAAWylgB,GAAe1/J,WACtCC,GAAehmW,WAAWylgB,GAAez/J,cACzCH,GAAa7lW,WAAWylgB,GAAe5/J,YACvCC,GAAc9lW,WAAWylgB,GAAe3/J,aAC9C,IAAI4/J,GAAc,EACdC,GAAe,EACnB,OAAQL,IACJ,IAAK,MACDI,GAAeF,GAAezklB,KAAOmsiB,EAAcnlI,aAAege,GAAYC,IAC9E,MACJ,IAAK,SACD0/J,GAAeF,GAAezklB,IAAMyklB,GAAe1klB,OACnD,MACJ,IAAK,OACD6klB,GAAgBH,GAAe7klB,MAAQusiB,EAAcvrS,YAAckkL,GAAaC,IAChF,MACJ,IAAK,QACD6/J,GAAgBH,GAAe7klB,KAAO6klB,GAAe/klB,MAG7D,OAAQ8klB,IACJ,IAAK,MACDG,GAAcF,GAAezklB,IAC7B,MACJ,IAAK,SACD2klB,GAAcF,GAAezklB,IAAMyklB,GAAe1klB,OAASosiB,EAAcnlI,aACzE,MACJ,IAAK,OACD49K,GAAeH,GAAe7klB,KAC9B,MACJ,IAAK,QACDgllB,GAAeH,GAAe7klB,KAAO6klB,GAAe/klB,MAAQysiB,EAAcvrS,YAC1E,MACJ,IAAK,SACwB,QAArB2jV,IAAmD,WAArBA,GAC9BK,GAAgBH,GAAe7klB,KAAO6klB,GAAe/klB,MAAQ,EAAIysiB,EAAcvrS,YAAc,EAG7F+jV,GAAeF,GAAezklB,IAAMyklB,GAAe1klB,OAAS,EAAIosiB,EAAcnlI,aAAe,EAMzGmlI,EAAcvyjB,MAAME,UAAY,aAAaoD,KAAK2iB,MAAM+klB,UAAoB1nmB,KAAK2iB,MAAM8klB,SAEvF,MAAME,GAAc14C,EAAcnub,wBAC5B9vI,GAAOlR,SAAS4xB,gBAChBk2lB,GAAengnB,OAAO6kJ,aAAet7I,GAAK8tI,aAC1C+oe,GAAcpgnB,OAAO4kJ,YAAcr7I,GAAK2gB,YAC9C,OAAOg2lB,GAAYjllB,MAAQ,GAAKillB,GAAY7klB,KAAO,GAAK6klB,GAAYz5hB,OAAS25hB,IACzEF,GAAYvyd,QAAUwyd,EAC9B,GAqGJ,IAeM9yjB,GAAsB,MAA5B,MAAMA,GAENA,SAAuBvhE,UAAI,SAAA6N,GAAA,WAAAA,GAAwF0zD,EAAsB,EACzIA,EAAuB3O,WA3qGqErzD,MAAE,CAAAhQ,MA2qGyBgyE,EAAsBxhE,YArB7I,SAASw0nB,KACL,OAAO,IAAIC,EACf,CAmB+KD,GAAuCt0nB,WAA3D,SAHrJshE,CAAsB,KAQtBizjB,GAAyB,MAA/B,MAAMA,UAAkCjzjB,GACpCxkE,MAAMnQ,GACF,GAAa,MAATA,EAAe,CACf,MAAM6noB,EAAY7noB,EAAM4nB,OAAOiW,MAAM,KACrC,GAAyB,IAArBgqmB,EAAU/ioB,QAAgB0wF,GAASqyiB,EAAU,IAC7C,MAAO,CAAEz0jB,KAAMg8Q,GAAUy4S,EAAU,IAAKx0jB,MAAO,KAAMC,IAAK,MAEzD,GAAyB,IAArBu0jB,EAAU/ioB,QAAgB0wF,GAASqyiB,EAAU,KAAOryiB,GAASqyiB,EAAU,IAC5E,MAAO,CAAEz0jB,KAAMg8Q,GAAUy4S,EAAU,IAAKx0jB,MAAO+7Q,GAAUy4S,EAAU,IAAKv0jB,IAAK,MAE5E,GAAyB,IAArBu0jB,EAAU/ioB,QAAgB0wF,GAASqyiB,EAAU,KAAOryiB,GAASqyiB,EAAU,KAAOryiB,GAASqyiB,EAAU,IACtG,MAAO,CAAEz0jB,KAAMg8Q,GAAUy4S,EAAU,IAAKx0jB,MAAO+7Q,GAAUy4S,EAAU,IAAKv0jB,IAAK87Q,GAAUy4S,EAAU,IAEzG,CACA,OAAO,IACX,CACAl3jB,OAAOpL,GACH,OAAOA,EACH,GAAGA,EAAK6N,QAAQoiB,GAASjwB,EAAK8N,OAASo1B,GAAUljC,EAAK8N,OAAS,MAAMmiB,GAASjwB,EAAK+N,KAAOm1B,GAAUljC,EAAK+N,KAAO,KAChH,EACR,EAEJs0jB,SAA0Bx0nB,UAAI,UAAA00nB,GAAA,gBAAA7mnB,GAAA,OAAA6mnB,QAtsG8Dn1nB,MAssG0Bi1nB,KAAyB3mnB,GAAzB2mnB,EAAyB,GAAjH,GAC9BA,EAA0B5hkB,WAvsGkErzD,MAAE,CAAAhQ,MAusG4BiloB,EAAyBz0nB,QAAzBy0nB,EAAyBx0nB,YAvB7Iw0nB,CAAyB,KAyjBF,IAAIlnlB,KAAK,KAAM,GAAI,IACpB,IAAIA,KAAK,KAAM,GAAI,IAg3B/C,IAmIMqnlB,GAAmB,MAAzB,MAAMA,GAENA,SAAoB30nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF8mnB,EAAmB,EACnIA,EAAoBl9lB,UAhuJwEl4B,KAAE,CAAAgO,KAguJmBonnB,IAEjHA,EAAoBj9lB,UAluJwEn4B,MAAE,CAAAq4B,QAAA,CAkuJkD,CAAC5xB,KAAcuR,UALzJo9mB,CAAmB,KAqCnBC,GAAS,MAAf,MAAMA,GAENA,SAAU50nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF+mnB,EAAS,EAC/GA,EAAUr9lB,UArwJkFh4B,MAAE,CAAAgO,KAqwJJqnnB,EAAS3mnB,UAAA,oBAH7F2mnB,CAAS,KAscTC,GAAiB,MAAvB,MAAMA,GAENA,SAAkB70nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFgnnB,EAAiB,EAC/HA,EAAkBp9lB,UA3sK0El4B,KAAE,CAAAgO,KA2sKiBsnnB,IAC/GA,EAAkBn9lB,UA5sK0En4B,MAAE,IAwsKxFs1nB,CAAiB,KAUvB,MAAMC,GACF/1nB,YAAYonJ,GAAO+0U,EAAST,GACxBn7d,KAAK6mJ,MAAQA,GACb7mJ,KAAK47d,QAAUA,EACf57d,KAAKm7d,aAAeA,CACxB,EAqDH,IAEKs6J,GAAgB,MAAtB,MAAMA,EACFh2nB,YAAYi2nB,EAAK/8b,GACb34L,KAAK01nB,IAAMA,EACX11nB,KAAK24L,MAAQA,CACjB,CACA9sL,WACI7L,KAAK24L,MAAMnqK,SAAS7S,eAAe9Q,QAAK2C,MAAK,IAAInB,UAAU,KACvDyknB,GAAiB9wnB,KAAK24L,MAAO34L,KAAK01nB,IAAIrumB,cAAe,CAACyI,EAASgB,KACvDA,GACA4/lB,GAAO5gmB,GAEXA,EAAQxE,UAAUvf,IAAI,OAAM,EAC7B,CAAE+kB,UAAW9wB,KAAK8wB,UAAWkgmB,kBAAmB,YAAY,EAEvE,CACAjra,OACI,OAAO+qa,GAAiB9wnB,KAAK24L,MAAO34L,KAAK01nB,IAAIrumB,cAAe,EAAGiE,eAAgBA,EAAUtD,OAAO,QAAS,CAAE8I,UAAW9wB,KAAK8wB,UAAWkgmB,kBAAmB,QAC7J,EAEJyE,SAAiB/0nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFknnB,GAjyKjBx1nB,MAiyKmDA,OAjyKnDA,MAiyK6EA,OAAS,EAClLw1nB,EAAiB/smB,UAlyK2EzoB,MAAE,CAAAgO,KAkyKGwnnB,EAAgB9mnB,UAAA,yBAAAga,UAAA,qBAAAC,SAAA,EAAAC,aAAA,SAAA7Z,EAAAC,GAAA,EAAAD,IAlyKrB/O,MAkyKK,kBAAgBgP,EAAAwb,cAAoB,IAAGxb,EAAAwb,cAAmB,KAlyK/DxqB,MAAE,QAAAgP,EAAA6hB,UAAF7wB,CAkyKqB,OAAAgP,EAAA6hB,WAAA,EAAAnb,OAAA,CAAAmb,UAAA,YAAArG,cAAA,iBAAA7b,MAAA,EAAAC,KAAA,EAAAE,SAAA,SAAAC,EAAAC,GAAA,EAAAsa,cAAA,IApB3GksmB,CAAgB,KA8CtB,MAAME,GAMF5pmB,MAAMzuB,IAAU,CAMhBs4nB,QAAQ1jmB,IAAU,EAKtB,MAAM2jmB,GACFp2nB,YAAYq2nB,GAAgBC,EAAaC,EAAkBC,IACvDj2nB,KAAK81nB,eAAiBA,GACtB91nB,KAAK+1nB,YAAcA,EACnB/1nB,KAAKg2nB,iBAAmBA,EACxBh2nB,KAAKi2nB,eAAiBA,GACtBj2nB,KAAKk2nB,QAAU,IAAI5vmB,IACnBtmB,KAAKm2nB,WAAa,IAAI7vmB,IACtBtmB,KAAKo2nB,QAAU,IAAI9vmB,IACnBwvmB,GAAexqL,SAAS+qL,aAAahqnB,UAAW6lB,KAAalyB,KAAK41nB,QAAQ1jmB,GAAM,GAChFlyB,KAAK1C,OAAS,IAAIg3C,QAAQ,CAACC,GAASyR,MAChChmD,KAAK20mB,SAAWpgkB,GAChBv0C,KAAKs2nB,QAAUtwkB,KAEnBhmD,KAAK1C,OAAOi1D,KAAK,KAAM,OAC3B,CAMA,qBAAI4vhB,GACA,GAAInilB,KAAK+1nB,aAAe/1nB,KAAK+1nB,YAAY56J,aACrC,OAAOn7d,KAAK+1nB,YAAY56J,aAAa7vB,QAE7C,CAQA,UAAIpmb,GAAW,OAAOllB,KAAKk2nB,QAAQv6mB,eAAe9Q,QAAKgqB,MAAU70B,KAAKo2nB,SAAW,CASjF,aAAIG,GAAc,OAAOv2nB,KAAKm2nB,WAAWx6mB,eAAe9Q,QAAKgqB,MAAU70B,KAAKo2nB,SAAW,CASvF,UAAIl+nB,GAAW,OAAO8H,KAAKo2nB,QAAQz6mB,cAAgB,CAUnD,SAAIuqM,GAAU,OAAOlmN,KAAK81nB,eAAexqL,SAASplP,MAAMvqM,cAAgB,CAMxEoQ,MAAMzuB,IACE0C,KAAK81nB,iBACL91nB,KAAKk2nB,QAAQvpnB,KAAKrP,IAClB0C,KAAK20mB,SAASr3mB,IACd0C,KAAKw2nB,uBAEb,CACAC,SAASvkmB,IACLlyB,KAAKm2nB,WAAWxpnB,KAAKulB,IACrBlyB,KAAKs2nB,QAAQpkmB,IACblyB,KAAKw2nB,sBACT,CAMAZ,QAAQ1jmB,IACJ,GAAIlyB,KAAK81nB,eACL,GAAK91nB,KAAKi2nB,eAGL,CACD,MAAML,EAAU51nB,KAAKi2nB,kBA1oLrC,SAAS7lP,GAAUr+W,GACf,OAAOA,GAAKA,EAAEwgC,IAClB,CAyoLoB69U,CAAUwlP,IAOO,IAAZA,GACL51nB,KAAKy2nB,SAASvkmB,IAPd0jmB,EAAQrjkB,KAAKj1D,KACM,IAAXA,GACA0C,KAAKy2nB,SAASvkmB,GAAM,EAEzB,OAKX,MAdIlyB,KAAKy2nB,SAASvkmB,GAgB1B,CACAskmB,uBACI,MAAME,GAAoB12nB,KAAK81nB,eAAexqL,SAASvlP,OACjD4wa,EAAsB32nB,KAAKg2nB,iBAAmBh2nB,KAAKg2nB,iBAAiB1qL,SAASvlP,QAAK,EAAI5xM,WAAG9lB,GAE/FqooB,GAAkBrqnB,UAAU,KACxB,MAAQgb,iBAAkBrnB,KAAK81nB,eAAejhnB,SAC9CwS,EAAcshC,WAAWI,YAAY1hC,GACrCrnB,KAAK81nB,eAAeromB,UAChBztB,KAAK+1nB,aAAe/1nB,KAAK+1nB,YAAYn6J,SACrC57d,KAAK+1nB,YAAYn6J,QAAQnuc,UAE7BztB,KAAK81nB,eAAiB,KACtB91nB,KAAK+1nB,YAAc,OAGvBY,EAAoBtqnB,UAAU,KAC1B,GAAIrM,KAAKg2nB,iBAAkB,CACvB,MAAQ3umB,iBAAkBrnB,KAAKg2nB,iBAAiBnhnB,SAChDwS,EAAcshC,WAAWI,YAAY1hC,GACrCrnB,KAAKg2nB,iBAAiBvomB,UACtBztB,KAAKg2nB,iBAAmB,IAC5B,KACH,EAEDhgS,MAAI0gS,GAAmBC,GAAqBtqnB,UAAU,KAClDrM,KAAKo2nB,QAAQzpnB,OACb3M,KAAKo2nB,QAAQjvmB,UAAS,EAE9B,EAGJ,IAAIyvmB,GACH,SAAUA,GACPA,SAAoBA,EAAoBC,eAAoB,GAAK,iBACjED,EAAoBA,EAAoBE,IAAS,GAAK,MAF/CF,CAGX,CAHC,CAGEA,IAA8C,CAAC,GAJ1B,IAMlBG,EAAc,MAApB,MAAMA,EACFt3nB,YAAYumB,EAAWgxmB,EAAQr+b,IAC3B34L,KAAKgmB,UAAYA,EACjBhmB,KAAKg3nB,OAASA,EACdh3nB,KAAK24L,MAAQA,GACb34L,KAAKi3nB,SAAW,IAAI3wmB,IACpBtmB,KAAKk3nB,aAAe,KACpBl3nB,KAAKg3B,UAAW,EAChBh3B,KAAKm3nB,UAAW,EAChBn3nB,KAAKq2nB,aAAe,IAAIvqmB,MACxB9rB,KAAKkmN,MAAQ,IAAI5/L,IACjBtmB,KAAK9H,OAAS,IAAIouB,GACtB,CACAsvmB,QAAQ1jmB,GAAUlyB,KAAKq2nB,aAAalxmB,KAAK+M,EAAS,CAClDrmB,WACI7L,KAAKk3nB,aAAel3nB,KAAKgmB,UAAUwC,cACnCxoB,KAAK24L,MAAMnqK,SAAS7S,eAAe9Q,QAAK2C,MAAK,IAAInB,UAAU,KAAQrM,KAAKo3nB,OAAM,EAClF,CACAlpnB,cAAgBlO,KAAKq3nB,uBAAyB,CAC9Ctxa,OACI,MAAQ1+L,iBAAkBrnB,KAAKg3nB,OACzBrohB,EAAU,CAAE79E,UAAW9wB,KAAK8wB,UAAWkgmB,kBAAmB,QAC1D0F,GAAoB5F,GAAiB9wnB,KAAK24L,MAAOtxK,EAAe,IAAMA,EAAciE,UAAUtD,OAAO,QAAS2mF,GAC9G2ohB,GAAoBxG,GAAiB9wnB,KAAK24L,MAAO34L,KAAKu3nB,UAAUlwmB,cAAe,OAAWsnF,GAC1F6ohB,MAAexhS,MAAI0gS,GAAmBY,IAC5CE,UAAanrnB,UAAU,KACnBrM,KAAK9H,OAAOyU,OACZ3M,KAAK9H,OAAOivB,UAAS,GAEzBnnB,KAAKq3nB,wBACLr3nB,KAAKshlB,gBACEk2C,EACX,CACAJ,QACI,MAAMzohB,EAAU,CAAE79E,UAAW9wB,KAAK8wB,UAAWkgmB,kBAAmB,YAC1D0F,EAAoB5F,GAAiB9wnB,KAAK24L,MAAO34L,KAAKg3nB,OAAO3vmB,cAAe,CAACyI,GAASgB,MACpFA,IACA4/lB,GAAO5gmB,IAEXA,GAAQxE,UAAUvf,IAAI,OAAM,EAC7B4iG,GACG2ohB,GAAoBxG,GAAiB9wnB,KAAK24L,MAAO34L,KAAKu3nB,UAAUlwmB,cAAe,OAAWsnF,IAChGqnP,QAAI0gS,EAAmBY,IAAmBjrnB,UAAU,KAChDrM,KAAKkmN,MAAMv5M,OACX3M,KAAKkmN,MAAM/+L,UAAS,GAExBnnB,KAAKy3nB,uBACLz3nB,KAAK03nB,WACT,CACAD,uBACI,MAAQpwmB,iBAAkBrnB,KAAKg3nB,OAC/Bh3nB,KAAK24L,MAAMx3C,kBAAkB,MACzBliH,OAAU5X,EAAe,WACpBxc,QAAKgqB,MAAU70B,KAAKi3nB,WAAQ,EAEjCvpoB,MAAO8xC,IAAKA,GAAEm4lB,QAAU9E,GAAIG,SACvB3mnB,UAAUb,KACPxL,KAAKm3nB,SACLl0d,sBAAsB,KACbz3J,GAAMosnB,kBACP53nB,KAAK24L,MAAMviK,IAAI,IAAMp2B,KAAK41nB,QAAQgB,GAAoBE,KAAI,GAI3C,WAAlB92nB,KAAKg3B,UACVh3B,KAAK63nB,eAAc,GAK3B,IAAIC,GAAe,GACnB74lB,OAAUj/B,KAAKu3nB,UAAUlwmB,cAAe,aACnCxc,QAAKgqB,MAAU70B,KAAKi3nB,WAAQ,EAAGjrnB,MAAI,IAAM8rnB,GAAe,IAAK,EAAGlrmB,MAAU,OAAMqS,KAAU5X,EAAe,WAAWxc,QAAKgqB,MAAU70B,KAAKi3nB,WAAQ,EAAGzpnB,MAAK,MAAG,EAAG9f,MAAO,EAAGo7D,aAAazhC,IAAkByhC,KACvMz8C,UAAU,KAAQyrnB,GAAe,KAAO,EAK7C74lB,KAAU5X,EAAe,SAASxc,QAAKgqB,MAAU70B,KAAKi3nB,WAAW5qnB,UAAU,EAAGy8C,cACtEzhC,IAAkByhC,KACI,WAAlB9oD,KAAKg3B,SACLh3B,KAAK63nB,iBAEkB,IAAlB73nB,KAAKg3B,WAAsB8gmB,GAChC93nB,KAAK24L,MAAMviK,IAAI,IAAMp2B,KAAK41nB,QAAQgB,GAAoBC,kBAG9DiB,GAAe,GAClB,EAET,CACAT,wBAA0Br3nB,KAAKi3nB,SAAStqnB,MAAQ,CAChD+qnB,YACI,MAAQrwmB,iBAAkBrnB,KAAKg3nB,OAC/B,IAAK3vmB,EAAcuH,SAAS3hB,SAASub,eAAgB,CACjD,MAAMuvmB,EAAgB1wmB,EAAckwC,cAAc,kBAC5CygkB,GAAiBrE,GAA6BtsmB,GAAe,IAC5C0wmB,GAAiBC,IAAkB3wmB,GAC3Cla,OACnB,CACJ,CACAm0kB,gBACI,MAAM93lB,EAAOwW,KAAKgmB,UAAUx8B,KACtByuoB,EAAcj4nB,KAAKk3nB,aACzB,IAAIv1C,GAEAA,GADAs2C,GAAeA,EAAY9qnB,OAAY3jB,EAAKolC,SAASqpmB,GACpCA,EAGAzuoB,EAErBwW,KAAK24L,MAAMx3C,kBAAkB,KACzBn0I,WAAW,IAAM20kB,GAAex0kB,SAChCnN,KAAKk3nB,aAAe,MAE5B,CACAW,gBAC0B,WAAlB73nB,KAAKg3B,UACL85lB,GAAiB9wnB,KAAK24L,MAAO34L,KAAKg3nB,OAAO3vmB,cAAe,EAAGiE,gBACvDA,EAAUvf,IAAI,gBACP,IAAMuf,EAAUtD,OAAO,iBAC/B,CAAE8I,UAAW9wB,KAAK8wB,UAAWkgmB,kBAAmB,YAE3D,EAEJ+F,SAAer2nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFwonB,GAvlLf92nB,MAulL+CwoB,MAvlL/CxoB,MAulLoEA,OAvlLpEA,MAulL8FA,OAAS,EACnM82nB,EAAerumB,UAxlL6EzoB,MAAE,CAAAgO,KAwlLC8onB,EAAcponB,UAAA,uBAAA2hB,UAAA,SAAAthB,EAAAC,GAxlLf,GAwlLe,EAAAD,GAxlLjB/O,MAAEuwnB,GAAA,KAAAxhnB,EAAA,KAAAohB,GAAFnwB,MAAEmwB,GAAFnwB,WAAEgP,EAAAsonB,UAAAnnmB,GAAA1B,MAAA,GAAA/F,UAAA,QAwlLyY,SAAQ,WAAc,MAAIC,SAAA,EAAAC,aAAA,SAAA7Z,EAAAC,GAAA,EAAAD,IAxlLra/O,MAAE,cAwlLC,EAxlLHA,CAwlLO,kBAAAgP,EAAAkxkB,eAxlLPlglB,CAwlLO,mBAAAgP,EAAAixkB,iBAxlLPjglB,MAwlLG,iBAAegP,EAAAipnB,YAAkB,IAAGjpnB,EAAAipnB,YAAiB,KAxlLxDj4nB,MAAE,OAAAgP,EAAA6hB,WAwlLe,EAAAnb,OAAA,CAAAmb,UAAA,YAAAqvjB,eAAA,iBAAAD,gBAAA,kBAAAlpjB,SAAA,WAAAyliB,SAAA,WAAA06D,SAAA,WAAA5wK,WAAA,aAAAjrX,KAAA,OAAA48hB,YAAA,cAAAC,iBAAA,oBAAAznmB,QAAA,CAAA2lmB,aAAA,WAAAjtmB,mBAAA/Y,GAAAzB,MAAA,EAAAC,KAAA,EAAAC,OAAA,wDAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IAxlLjB/O,cAAE,YAAFA,CA0lL4B,WA1lL5BA,MAAE,GAAFA,WA4lLlF,EAAA+O,GA5lLkF/O,MAAE,gBAAAgP,EAAAqsF,KAAA,UAAArsF,EAAAqsF,KAAA,KAAArsF,EAAAwtjB,SAAA,8BAAAxtjB,EAAAs3c,WAAA,gCAAAt3c,EAAAkpnB,iBAAA,IAAAlpnB,EAAAkpnB,iBAAA,IA0lLS,EAAAtnmB,OAAA,sGAAAtH,cAAA,IAhIjGwtmB,CAAc,KAyLdqB,GAAS,MAAf,MAAMA,EACF34nB,YAAYumB,GACRhmB,KAAKgmB,UAAYA,CACrB,CASA+/L,OACI,MAAM6qF,EAAiBzjR,KAAK82D,IAAIrvE,OAAO4kJ,WAAax5J,KAAKgmB,UAAU6Y,gBAAgBC,aAC7Et1C,EAAOwW,KAAKgmB,UAAUx8B,KACtBq8d,GAAYr8d,EAAKqgC,OACfwlR,YAAUgpV,iBAAiBxyK,GACnC,GAAIj1K,EAAiB,EAAG,CACpB,MAAM0nV,GAAgBppgB,WAAWt6G,OAAOwtJ,iBAAiB54K,GAAM6uoB,cAC/DxyK,GAAUwyK,aAAe,GAAGC,GAAgB1nV,KAChD,CACAi1K,UAAUx2K,SAAW,SACd,KACCuB,EAAiB,IACjBi1K,GAAUwyK,aAAeA,IAE7BxyK,GAAUx2K,SAAWA,GAE7B,EAEJ+oV,SAAU13nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF6pnB,GAjrLVn4nB,MAirLqCwoB,MAAQ,EACzI2vmB,EAAU9kkB,WAlrLkFrzD,MAAE,CAAAhQ,MAkrLYmooB,EAAS33nB,QAAT23nB,EAAS13nB,UAAAC,WAAc,SA/B3Hy3nB,CAAS,KAwCTG,EAAa,MAAnB,MAAMA,EACF94nB,YAAY+4nB,EAAiBjjK,EAAWvvc,GAAWyymB,GAAYC,GAAkBntmB,IAC7EvrB,KAAKw4nB,gBAAkBA,EACvBx4nB,KAAKu1d,UAAYA,EACjBv1d,KAAKgmB,UAAYA,GACjBhmB,KAAKy4nB,WAAaA,GAClBz4nB,KAAK04nB,iBAAmBA,GACxB14nB,KAAKurB,QAAUA,GACfvrB,KAAK24nB,4BAA8B,IAAIrymB,IACvCtmB,KAAK44nB,kBAAoB,IAAI31lB,IAC7BjjC,KAAK64nB,oBAAsB,KAC3B74nB,KAAK84nB,oBAAsB,CAAC,YAAa,iBACzC94nB,KAAK+4nB,WAAa,GAClB/4nB,KAAKg5nB,kBAAoB,CACrB,YAAa,iBAAkB,kBAAmB,WAAY,WAAY,WAAY,aAAc,OACpG,cAAe,oBAEnBh5nB,KAAKi5nB,aAAe,GACpBj5nB,KAAKk5nB,iBAAmB,IAAIptmB,MAE5B9rB,KAAK24nB,4BAA4BtsnB,UAAU,KACvC,GAAIrM,KAAKi5nB,aAAa7moB,OAAQ,CAC1B,MAAM+moB,GAAmBn5nB,KAAKi5nB,aAAaj5nB,KAAKi5nB,aAAa7moB,OAAS,GA/zFjEgnoB,EAACx6e,EAAM9uH,GAASupmB,EAAgBC,GAAiB,KAg0FzCt5nB,KAAKurB,QA/zFzB41H,kBAAkB,KAEnB,MAAMo4e,MAAsBt6lB,KAAUnP,GAAS,WAAWjlB,QAAKgqB,MAAUwkmB,IAAc,EAAGxroB,MAAI2xC,IAAKA,GAAEspB,UAErG7pB,OAAUnP,GAAS,WACdjlB,QAAKgqB,MAAUwkmB,IAAc,EAElC3roB,MAAO8xC,IAAKA,GAAEm4lB,QAAU9E,GAAIC,MAAG,EAAG9+mB,MAAeulnB,KAC5CltnB,UAAU,EAAEmtnB,GAAUC,OACvB,MAAO/qmB,GAAOgvH,IAAQi2e,GAA6B7jmB,KAC9C2pmB,KAAmB/qmB,IAAS+qmB,KAAmB3pmB,KAAY0pmB,GAAS1ta,WACrEpuE,GAAKvwI,QACLqsnB,GAASjymB,kBAETkymB,KAAmB/7e,KAAS87e,GAAS1ta,WACrCp9L,GAAMvhB,QACNqsnB,GAASjymB,iBAAe,GAI5B+xmB,MACAr6lB,KAAUnP,GAAS,SACdjlB,QAAKgqB,MAAUwkmB,IAAc,EAAGrlnB,MAAeulnB,KAAmB,EAAG1roB,MAAIg+C,IAAOA,GAAI,KACpFx/B,UAAUqtnB,IAAsBA,GAAmBvsnB,QAAO,EAEtE,EAsyFWisnB,CAAap5nB,EAAcm5nB,GAAiBtknB,SAASwS,cAAernB,KAAK24nB,6BACzE34nB,KAAK25nB,oBACL35nB,KAAK45nB,eAAeT,GAAiBtknB,SAASwS,cAClD,GAER,CACAwymB,oBACI,MAAMC,EAAqB95nB,KAAK64nB,oBAC5BiB,IACA95nB,KAAK64nB,oBAAsB,KAC3BiB,IAER,CACAC,iBACS/5nB,KAAK64nB,sBACN74nB,KAAK64nB,oBAAsB74nB,KAAKy4nB,WAAW1ya,OAEnD,CACAv8J,KAAKwwkB,EAAWC,EAAiB1ilB,GAAS3wB,IACtC,MAAMszmB,GAActzmB,GAAQ+rB,qBAAqButH,YAAct5I,GAAQ+rB,UAAY89kB,GAAU7pmB,GAAQ+rB,WACjG3yC,KAAKgmB,UAAUuxC,cAAc3wC,GAAQ+rB,WACrC3yC,KAAKgmB,UAAUx8B,KACb2vM,GAAWn5L,KAAK04nB,iBAAiBz/b,eAAe,KAAM,MAC5D,IAAKihc,GACD,MAAM,IAAIrylB,MAAM,kCAAkCjhB,GAAQ+rB,WAAa,qCAE3E3yC,KAAK+5nB,iBACL,MAAMI,GAAc,IAAIxE,GAClB3xC,GAAahklB,KAAKo6nB,eAAeJ,EAAWpzmB,GAAQ6sb,UAAYwmL,EAAiB1ilB,GAAS4ilB,GAAavzmB,IAC7G,IAAIyzmB,IAAuC,IAArBzzmB,GAAQoQ,SAAqBh3B,KAAKwqd,gBAAgBwvK,EAAWE,SAAe7roB,EAC9FisoB,GAAgBt6nB,KAAKu6nB,uBAAuBP,EAAWE,GAAal2C,IACpEw2C,GAAc,IAAI3E,GAAYyE,GAAet2C,GAAYq2C,GAAiBzzmB,GAAQ6zmB,eACtF,OAAAz6nB,KAAK06nB,kBAAkBF,IACvBx6nB,KAAK26nB,oBAAoBL,IAIzBE,GAAYtioB,OAAO2S,QAAK2C,MAAK,IAAInB,UAAU,IAAMioC,QAAQC,SAAQ,GAAMge,KAAK,KACnEvyD,KAAK+4nB,WAAW3moB,SACjB+mM,GAASvvB,YAAY5pK,KAAKgmB,UAAUx8B,KAAM,cAC1CwW,KAAK65nB,oBACL75nB,KAAK25nB,oBAAkB,IAG/BQ,GAAYpumB,MAASzuB,KAAak9nB,GAAYzumB,MAAMzuB,GAAM,EAC1D68nB,GAAYvE,QAAW1jmB,KAAasomB,GAAY5E,QAAQ1jmB,GAAM,EAC9DlyB,KAAK46nB,oBAAoBN,GAAchvL,SAAU1kb,IAClB,IAA3B5mB,KAAK+4nB,WAAW3moB,QAChB+mM,GAAS1vB,SAASzpK,KAAKgmB,UAAUx8B,KAAM,cAEvC6woB,IAAmBA,GAAgB/uL,WACnCtrc,KAAK66nB,sBAAsBR,GAAgB/uL,SAAU1kb,IACrDyzmB,GAAgBvwG,kBAAkBptgB,iBAEtC49mB,GAAcxwG,kBAAkBptgB,gBACzB89mB,EACX,CACA,mBAAIM,GAAoB,OAAO96nB,KAAKk5nB,gBAAkB,CACtD6B,WAAW7omB,GAAUlyB,KAAK+4nB,WAAW3tmB,QAAQovmB,GAAeA,EAAY5E,QAAQ1jmB,GAAU,CAC1F8omB,gBAAkB,OAAOh7nB,KAAK+4nB,WAAW3moB,OAAS,CAAG,CACrDo4d,gBAAgBwvK,EAAWE,GAEvB,IAAIG,GADkBL,EAAU9+J,wBAAwBu6J,IAClBjgmB,OAAOx1B,KAAKu1d,WAClD,OAAAv1d,KAAKw4nB,gBAAgBl9J,WAAW++J,GAAgB9+J,UAChD2+J,EAAYzllB,YAAY4llB,GAAgBxlnB,SAASwS,eAC1CgzmB,EACX,CACAE,uBAAuBP,EAAWE,EAAal2C,IAE3C,IAAIs2C,GADgBN,EAAU9+J,wBAAwB67J,GACpBvhmB,OAAOx1B,KAAKu1d,UAAWyuH,GAAWn9b,OACpE,OAAA7mJ,KAAKw4nB,gBAAgBl9J,WAAWg/J,GAAc/+J,UAC9C2+J,EAAYzllB,YAAY6llB,GAAczlnB,SAASwS,eACxCizmB,EACX,CACAM,oBAAoBK,EAAgBr0mB,GAChC5mB,KAAKg5nB,kBAAkB5tmB,QAAS8vmB,KACxBzK,GAAU7pmB,EAAQs0mB,OAClBD,EAAeC,IAAct0mB,EAAQs0mB,IAAU,EAG3D,CACAL,sBAAsBM,EAAkBv0mB,GACpC5mB,KAAK84nB,oBAAoB1tmB,QAAS8vmB,KAC1BzK,GAAU7pmB,EAAQs0mB,OAClBC,EAAiBD,IAAct0mB,EAAQs0mB,IAAU,EAG7D,CACAd,eAAeJ,EAAWC,EAAiB1ilB,GAAS4ilB,GAAavzmB,IAC7D,OAAK2wB,GAGIA,cAAmBhnB,MACjBvwB,KAAKo7nB,uBAAuB7jlB,GAAS4ilB,IA9hMxD,SAASj4iB,GAAS50F,GACd,MAAwB,iBAAVA,CAClB,CA8hMiB40F,CAAS3qC,IACPv3C,KAAKq7nB,kBAAkB9jlB,IAGvBv3C,KAAKs7nB,qBAAqBtB,EAAWC,EAAiB1ilB,GAAS4ilB,GAAavzmB,IAT5E,IAAI4umB,GAAW,GAW9B,CACA4F,uBAAuB7jlB,EAAS4ilB,GAC5B,MAKMv+J,GAAUrkb,EAAQskb,mBALR,CACZpqd,UAAW0onB,EACXpumB,MAAMzuB,IAAU68nB,EAAYpumB,MAAMzuB,GAAS,EAC3Cs4nB,QAAQ1jmB,IAAUiomB,EAAYvE,QAAQ1jmB,GAAS,IAGnD,OAAAlyB,KAAKw4nB,gBAAgBl9J,WAAWM,IACzB,IAAI45J,GAAW,CAAC55J,GAAQE,WAAYF,GAC/C,CACAy/J,kBAAkB9jlB,GACd,MAAM08B,EAAYj0E,KAAKgmB,UAAUy0P,eAAe,GAAGljO,KACnD,OAAO,IAAIi+kB,GAAW,CAAC,CAACvhjB,IAC5B,CACAqnjB,qBAAqBtB,EAAWC,EAAiB1ilB,GAASo3D,GAAS/nF,IAC/D,MAAM20mB,GAAqBvB,EAAU9+J,wBAAwB3jb,IACvDiklB,GAAuBngK,MAAS7lc,OAAO,CAAE6C,UAAW,CAAC,CAAE1H,QAASglmB,GAAgBvzjB,SAAUusC,KAAYtoD,OAAQ4zkB,IAC9G9+J,GAAeogK,GAAmB/lmB,OAAOgmmB,IACzCC,GAAoBtgK,GAAatmd,SAASwS,cAChD,OAAIT,GAAQ2/b,YACRk1K,GAAkBnwmB,UAAUvf,IAAI,6BAEpC/L,KAAKw4nB,gBAAgBl9J,WAAWH,GAAaI,UAGtC,IAAIi6J,GAAW,CAAC,CAACiG,KAAqBtgK,GAAaI,SAAUJ,GACxE,CACAy+J,eAAe9pmB,GACX,MAAMu2B,EAASv2B,EAAQ66H,cACnBtkG,GAAUv2B,IAAY9vB,KAAKgmB,UAAUx8B,OACrC8H,MAAM4lE,KAAK7Q,EAAOymD,UAAU1hF,QAAQygI,KAC5BA,KAAY/7H,GAAgC,WAArB+7H,GAAQjD,WAC/B5oJ,KAAK44nB,kBAAkB11lB,IAAI2oH,GAASA,GAAQvF,aAAa,gBACzDuF,GAAQ+b,aAAa,cAAe,QAAM,GAGlD5nK,KAAK45nB,eAAevzkB,GAE5B,CACAszkB,oBACI35nB,KAAK44nB,kBAAkBxtmB,QAAQ,CAAC99B,EAAOwiC,KAC/BxiC,EACAwiC,EAAQ83I,aAAa,cAAet6K,GAGpCwiC,EAAQ8zC,gBAAgB,cAAa,GAG7C5jE,KAAK44nB,kBAAkB7jlB,OAC3B,CACA2llB,kBAAkBF,GACd,MAAMkB,EAAqBA,KACvB,MAAMrjnB,GAAQrY,KAAK+4nB,WAAWlnoB,QAAQ2ooB,GAClCninB,IAAQ,IACRrY,KAAK+4nB,WAAW1plB,OAAOh3B,GAAO,GAC9BrY,KAAKk5nB,iBAAiB/zmB,KAAKnlB,KAAK+4nB,YAAU,EAGlD/4nB,KAAK+4nB,WAAWj3lB,KAAK04lB,GACrBx6nB,KAAKk5nB,iBAAiB/zmB,KAAKnlB,KAAK+4nB,YAChCyB,EAAYl9nB,OAAOi1D,KAAKmpkB,EAAoBA,EAChD,CACAf,oBAAoBgB,GAChB37nB,KAAKi5nB,aAAan3lB,KAAK65lB,GACvB37nB,KAAK24nB,4BAA4BhsnB,OACjCgvnB,EAAc1td,UAAU,KACpB,MAAM51J,EAAQrY,KAAKi5nB,aAAapnoB,QAAQ8poB,GACpCtjnB,GAAQ,IACRrY,KAAKi5nB,aAAa5plB,OAAOh3B,EAAO,GAChCrY,KAAK24nB,4BAA4BhsnB,OAAK,EAGlD,EAEJ4rnB,SAAc73nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFgqnB,GAl4Ldt4nB,MAk4L6CA,OAl4L7CA,MAk4L2EA,OAl4L3EA,MAk4LmGwoB,MAl4LnGxoB,MAk4LwHm4nB,IAl4LxHn4nB,MAk4L8IA,OAl4L9IA,MAk4L8KA,OAAS,EACnRs4nB,EAAcjlkB,WAn4L8ErzD,MAAE,CAAAhQ,MAm4LgBsooB,EAAa93nB,QAAb83nB,EAAa73nB,UAAAC,WAAc,SAxMnI43nB,CAAa,KAyNbqD,GAAc,MAApB,MAAMA,EACFn8nB,YAAYo8nB,GACR77nB,KAAK67nB,WAAaA,EAClB77nB,KAAKg3B,UAAW,EAChBh3B,KAAKm3nB,UAAW,CACpB,CACA,aAAIrmmB,GAAc,YAA4BziC,IAApB2R,KAAK87nB,WAA4B97nB,KAAK67nB,WAAW/qmB,UAAY9wB,KAAK87nB,UAAY,CACxG,aAAIhrmB,CAAUA,GAAa9wB,KAAK87nB,WAAahrmB,CAAW,EAE5D8qmB,SAAel7nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFqtnB,GA75Lf37nB,MA65L+C4xnB,IAAS,EACpJ+J,EAAetokB,WA95L6ErzD,MAAE,CAAAhQ,MA85LiB2roB,EAAcn7nB,QAAdm7nB,EAAcl7nB,UAAAC,WAAc,SAVrIi7nB,CAAc,KAsBdG,GAAQ,MAAd,MAAMA,EACFt8nB,YAAYu8nB,EAAYzmK,EAAW0mK,GAAa5hgB,IAC5Cr6H,KAAKg8nB,WAAaA,EAClBh8nB,KAAKu1d,UAAYA,EACjBv1d,KAAKi8nB,YAAcA,GACnBj8nB,KAAKq6H,QAAUA,EACnB,CAUA7wE,KAAKjS,EAAS3wB,EAAU,CAAC,GACrB,MAAMs1mB,GAAkB,IAAKl8nB,KAAKq6H,QAASvpG,UAAW9wB,KAAKq6H,QAAQvpG,aAAclK,GACjF,OAAO5mB,KAAKi8nB,YAAYzykB,KAAKxpD,KAAKg8nB,WAAYh8nB,KAAKu1d,UAAWh+a,EAAS2klB,GAC3E,CAIA,mBAAIpB,GAAoB,OAAO96nB,KAAKi8nB,YAAYnB,eAAiB,CAMjEC,WAAW7omB,GAAUlyB,KAAKi8nB,YAAYlB,WAAW7omB,EAAS,CAM1D8omB,gBAAkB,OAAOh7nB,KAAKi8nB,YAAYjB,eAAiB,EAE/De,SAASr7nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFwtnB,GA/8LT97nB,MA+8LmCA,OA/8LnCA,MA+8L2EA,OA/8L3EA,MA+8LmGs4nB,GA/8LnGt4nB,MA+8L6H27nB,IAAc,EACvOG,EAASzokB,WAh9LmFrzD,MAAE,CAAAhQ,MAg9LW8roB,EAAQt7nB,QAARs7nB,EAAQr7nB,UAAAC,WAAc,SAtCzHo7nB,CAAQ,KA4CRI,GAAc,MAApB,MAAMA,GAENA,SAAez7nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF4tnB,EAAc,EACzHA,EAAehkmB,UAz9L6El4B,KAAE,CAAAgO,KAy9LckunB,IAC5GA,EAAe/jmB,UA19L6En4B,MAAE,CAAAo4B,UA09LyC,CAAC0jmB,MAJlII,CAAc,KA+fdC,GAAY,MAAlB,MAAMA,GAENA,SAAa17nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF6tnB,EAAY,EACrHA,EAAajkmB,UAx9M+El4B,KAAE,CAAAgO,KAw9MYmunB,IAC1GA,EAAahkmB,UAz9M+En4B,MAAE,CAAAq4B,QAAA,CAy9MoC,CAAC5xB,SAJ7H01nB,CAAY,KAkeZC,GAAmB,MAAzB,MAAMA,GAENA,SAAoB37nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF8tnB,EAAmB,EACnIA,EAAoBlkmB,UA17NwEl4B,KAAE,CAAAgO,KA07NmBounB,IAGjHA,EAAoBjkmB,UA77NwEn4B,MAAE,CAAAq4B,QAAA,CA67NkD,CAAC5xB,SAN3I21nB,CAAmB,KA6UnBC,GAAgB,MAAtB,MAAMA,GAENA,SAAiB57nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwF+tnB,EAAgB,EAC7HA,EAAiBnkmB,UAvwO2El4B,KAAE,CAAAgO,KAuwOgBqunB,IAC9GA,EAAiBlkmB,UAxwO2En4B,MAAE,CAAAq4B,QAAA,CAwwO4C,CAAC5xB,SAJrI41nB,CAAgB,KA4GhBC,GAAoB,MAA1B,MAAMA,GAENA,SAAqB77nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFgunB,EAAoB,EACrIA,EAAqBpkmB,UAn3OuEl4B,KAAE,CAAAgO,KAm3OoBsunB,IAClHA,EAAqBnkmB,UAp3OuEn4B,MAAE,CAAAq4B,QAAA,CAo3OoD,CAAC5xB,SAJ7I61nB,CAAoB,KAgNpBC,GAAe,MAArB,MAAMA,GAENA,SAAgB97nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFiunB,EAAe,EAC3HA,EAAgBrkmB,UAnkP4El4B,KAAE,CAAAgO,KAmkPeuunB,IAC7GA,EAAgBpkmB,UApkP4En4B,MAAE,CAAAq4B,QAAA,CAokP0C,CAAC5xB,SAJnI81nB,CAAe,KA2dfC,GAAmB,MAAzB,MAAMA,GAENA,SAAoB/7nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFkunB,EAAmB,EACnIA,EAAoBtkmB,UA9hQwEl4B,KAAE,CAAAgO,KA8hQmBwunB,IACjHA,EAAoBrkmB,UA/hQwEn4B,MAAE,CAAAq4B,QAAA,CA+hQkD,CAAC5xB,SAJ3I+1nB,CAAmB,KAoOnBC,GAAc,MAApB,MAAMA,GAENA,SAAeh8nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFmunB,EAAc,EACzHA,EAAevkmB,UAlwQ6El4B,KAAE,CAAAgO,KAkwQcyunB,IAC5GA,EAAetkmB,UAnwQ6En4B,MAAE,CAAAq4B,QAAA,CAmwQwC,CAAC5xB,SAJjIg2nB,CAAc,KA2NdC,GAAgB,MAAtB,MAAMA,GAENA,SAAiBj8nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFounB,EAAgB,EAC7HA,EAAiBxkmB,UA79Q2El4B,KAAE,CAAAgO,KA69QgB0unB,IAC9GA,EAAiBvkmB,UA99Q2En4B,MAAE,IA09QxF08nB,CAAgB,KAyNE,IAAI92mB,MAAe,uBAAwB,CAAEllB,WAAY,OAAQF,QACzF,SAASm8nB,KACL,OAAO,GACX,IAYC,IAmUKC,GAAkB,MAAxB,MAAMA,GAENA,SAAmBn8nB,UAAI,SAAA6N,GAAA,WAAAA,GAAwFsunB,EAAkB,EACjIA,EAAmB1kmB,UAxgSyEl4B,KAAE,CAAAgO,KAwgSkB4unB,IAChHA,EAAmBzkmB,UAzgSyEn4B,MAAE,CAAAq4B,QAAA,CAygSgD,CAAC5xB,SAJzIm2nB,CAAkB,KAcxB,MAAMC,GAAc,CAChBhL,GAAoBC,GAAgBC,GAAkBC,GAAmBC,GAAmBmD,GAC5FE,GAAmB4G,GAAgBC,GAAcC,GAAqBC,GAAkBC,GACxFC,GAAiBC,GAAqBC,GAAgBC,GAAkBE,IAC1E,IACI3knB,GAAS,MAAf,MAAMA,GAENA,SAAUxX,UAAI,SAAA6N,GAAA,WAAAA,GAAwF2J,EAAS,EAC/GA,EAAUigB,UA3hSkFl4B,KAAE,CAAAgO,KA2hSSiK,IAKvGA,EAAUkgB,UAhiSkFn4B,MAAE,CAAAq4B,QAAA,CAgiS8BwkmB,GAAahL,GAAoBC,GAAgBC,GAAkBC,GAAmBC,GAAmBmD,GAC7NE,GAAmB4G,GAAgBC,GAAcC,GAAqBC,GAAkBC,GACxFC,GAAiBC,GAAqBC,GAAgBC,GAAkBE,MAV1E3knB,CAAS,2SGnxSf,MAAM6knB,GACFt9nB,YAAYupT,IACRhpT,KAAKgpT,aAAeA,EACxB,CACAlnP,eAAejuD,IACX,SAAOM,MAAGnU,KAAKgpT,aAAatgT,IAAImL,KAAS,CAAC,EAC9C,EAEJ,MAAMivD,GAAmB,IAAIj9C,MAAe,oBAE5C,SAASvI,GAAS2jB,GAAKpqC,IACnB,OAAKoqC,KAID7R,OAAO0Y,UAAU8qB,eAAelK,KAAKznB,GAAKpqC,IACnCoqC,GAAIpqC,IAERA,GAAKs0B,MAAM,KAAKgZ,OAAO,CAAC/1B,GAAG3b,KAAM2b,KAAI3b,IAAIwuC,IACpD,CAkBA,SAASq6D,GAAKi/S,IACV,OAAKA,GAGDjpZ,MAAMC,QAAQgpZ,IACPA,GAAWnoZ,OAElB2vF,GAASw4T,IACFnrX,OAAOC,KAAKkrX,IAAYnoZ,OAE5BmoZ,GAAaA,GAAWnoZ,OAAS,EAR7B,CASf,CAOA,SAAS8vF,GAAS79C,IACd,MAAsB,iBAARA,EAClB,CAIA,SAAS09C,GAASxpE,IACd,QAASA,IAAwB,iBAATA,KAAsBjnB,MAAMC,QAAQgnB,GAChE,CAYA,SAASy/V,GAAY51U,IACjB,OAAOA,GACF/zB,QAAQ,sBAAuB,CAACuuZ,GAAMvkZ,KAAmB,GAATA,GAAaukZ,GAAKtya,cAAgBsya,GAAK7iY,eACvF1rB,QAAQ,cAAe,GAChC,CAIA,SAASu0Z,GAAMt1a,IACX,OAAiB,MAAVA,EACX,CACA,SAASmjoB,GAAUnjoB,IACf,OAAwB,IAAjBs1a,GAAMt1a,GACjB,CASA,SAAS0voB,GAAczknB,IACnB,OAAOA,IAA8B,iBAAfA,GAAK6hC,KAC/B,CAOA,SAAS0lS,GAAQ7+S,IACb,SAAOg8lB,YAAUh8lB,GAAK,CAAE8oH,MAAM,GAClC,CAEA,MAAM5nF,GAAmB,IAAIt8C,MAAe,mBAAoB,CAC5DllB,WAAY,OACZF,QAASA,MACI6hE,YAAa,SAGxBw0E,GAAgB,CAClBx0E,YAAa,KACbK,sBAAsB,EACtBC,UAAU,EACVs6jB,cAAe,EACfvpnB,eAAgB,GAChB4uD,eAAgB,CACZC,eAAe,EACfC,wBAAwB,EACxB06jB,YAAY,GAEhBr9S,QAAS,CACLs9S,KAAK,GAETC,cAAe,CAAC,KAAM,OAQ1B,SAASh7jB,GAAgBryE,GAAS8mJ,IAC9B,MAAO,IAAKA,MAAkB9mJ,GAClC,CAEA,MAAMstoB,GAAuB,IAAIz3mB,MAAe,wBAAwB,IAClE03mB,GAAiB,MAAvB,MAAMA,GACF99nB,YAAY+9nB,IACRx9nB,KAAKy9nB,qBA4Eb,SAASC,GAAeF,IACpB,MAAO9olB,GAAOi1D,IAAO6zhB,IAAcA,GAAWH,cACxCG,GAAWH,cACXvmf,GAAcumf,cACpB,OAAO,IAAI7tjB,OAAO,GAAG96B,UAAai1D,KAAO,IAC7C,CAjFoC+zhB,CAAeF,GAC/C,CACAx2S,UAAU15V,GAAO8f,GAAS,CAAC,EAAGs5S,GAAaxlR,IACvC,OAAIghD,GAAS50F,IACFA,GAAM+gB,QAAQrO,KAAKy9nB,qBAAsB,CAACh8jB,GAAGhE,MAChDA,GAAQA,GAAMvoD,OACVu7mB,GAAUrjnB,GAAOqwD,KACVrwD,GAAOqwD,IAEXgzjB,GAAU/pU,GAAYjpP,KACvBz9D,KAAKgnV,UAAUtgC,GAAYjpP,IAAQrwD,GAAQs5S,GAAaxlR,IACxD,MAGL9zB,KACD20E,GAASz0F,IACTA,GAAQ0S,KAAK29nB,aAAarwoB,GAAO8f,GAAQs5S,GAAaxlR,IAEjD5vC,MAAMC,QAAQjE,MACnBA,GAAQ0S,KAAK49nB,YAAYtwoB,GAAO8f,GAAQs5S,GAAaxlR,MAGtD5zC,GACX,CAyBAqwoB,aAAarwoB,GAAO8f,GAAS,CAAC,EAAGs5S,GAAaxlR,IAC1C,IAAI5jC,GAAShQ,GACb8hC,cAAOC,KAAKjiB,IAAQge,QAAShd,KAEzB,MAAM2jB,GAAIzU,GAAShgB,GAAQ8Q,IAErByvnB,GAAYvgnB,GAASlQ,GAAQgB,IAE7B0vnB,GAAa99nB,KAAKgnV,UAAUj1T,GAAG8rmB,GAAWn3U,GAAaxlR,IAE7D5jC,GAvLZ,SAAS6O,GAAS80B,GAAK+1C,GAAM3yC,IACzBpD,GAAM,IAAKA,IACX,MAAM9V,GAAQ6rD,GAAK7rD,MAAM,KACnBkjD,GAAYljD,GAAM/4B,OAAS,EACjC+4B,UAAMgZ,OAAO,CAACC,GAAK2F,GAAM1xB,MAEjB+rB,GAAI2F,IADJ1xB,KAAUg2D,GACEhqC,GAGA/yC,MAAMC,QAAQ6yC,GAAI2F,KACxB3F,GAAI2F,IAAMnI,QACV,IAAKwC,GAAI2F,KAEZ3F,IAAOA,GAAI2F,KACnB9I,IACIA,EACX,CAuKqB90B,CAAS7O,GAAQ8Q,GAAG0vnB,GAAU,GAEpCxgoB,EACX,CACAsgoB,YAAYtwoB,GAAO8f,GAAS,CAAC,EAAGs5S,GAAaxlR,IACzC,OAAO5zC,GAAMO,IAAKkkC,IAAM/xB,KAAKgnV,UAAUj1T,GAAG3kB,GAAQs5S,GAAaxlR,IACnE,EAEJq8lB,UAAkB78nB,UAAI,SAAA6N,IAAA,WAAAA,IAAyFgvnB,IAAVt9nB,MAA6CkiE,GAAgB,KAClKo7jB,GAAkBjqkB,WADmFrzD,MAAE,CAAAhQ,MACYstoB,GAAiB98nB,QAAjB88nB,GAAiB78nB,YArE9H68nB,EAAiB,KAiIvB,MAAMQ,GAA4B,IAAIl4mB,MAAe,6BAA6B,IAC5Em4mB,GAAc,MAApB,MAAMA,GACFjwkB,OAAO7sB,GAAKlxC,IAKR,OAJIA,GAAOuyE,eAAeC,gBAAkBxyE,GAAO4yE,UAE/CnuD,QAAQ0zB,KAAK,+BAD2BjH,MACd,+BAEvBA,EACX,EAEJ88lB,UAAet9nB,UAAI,SAAA6N,IAAA,WAAAA,IAAyFyvnB,GAAc,EAC1HA,GAAe1qkB,WAxEsFrzD,MAAE,CAAAhQ,MAwES+toB,GAAcv9nB,QAAdu9nB,GAAct9nB,YAVxHs9nB,EAAc,KAepB,MAAMC,GAAwB,IAAIp4mB,MAAe,yBAAyB,IACpEq4mB,GAAkB,MAAxB,MAAMA,GACFC,mBAAmBz3U,IACf,OAAOA,EACX,CACA03U,sBAAsB38jB,GAAGn0E,IACrB,OAAOA,EACX,EAEJ4woB,UAAmBx9nB,UAAI,SAAA6N,IAAA,WAAAA,IAAyF2vnB,GAAkB,EAClIA,GAAmB5qkB,WAvFkFrzD,MAAE,CAAAhQ,MAuFaiuoB,GAAkBz9nB,QAAlBy9nB,GAAkBx9nB,YAThIw9nB,EAAkB,KAcxB,MAAMG,GAA8B,IAAIx4mB,MAAe,+BAA+B,IAmIlF4se,GAlIE6rI,GAAuB,MAA7B,MAAMA,GACF7+nB,YAAY+9nB,IACRx9nB,KAAKw9nB,WAAaA,EACtB,CACAe,eACI,MAAM77jB,GAAe1iE,KAAKw9nB,WAAW96jB,aACrC,IAAKA,GACD,MAAM,IAAI76B,MAAM,wFAEpB,OAAOv2C,MAAMC,QAAQmxE,IAAgBA,GAAe,CAACA,GACzD,EAEJ47jB,UAAwB59nB,UAAI,SAAA6N,IAAA,WAAAA,IAAyF+vnB,IAzGhBr+nB,MAyGyDkiE,IAAgB,EAC9Km8jB,GAAwBhrkB,WA1G6ErzD,MAAE,CAAAhQ,MA0GkBquoB,GAAuB79nB,QAAvB69nB,GAAuB59nB,YAb1I49nB,EAAuB,KA0C7B,SAASE,GAAiB3qnB,IACtB,IAAKA,GACD,MAAO,GAEX,MAAMsX,GAAQtX,GAAKsX,MAAM,KACzBA,UAAMk+N,MACCl+N,GAAMugB,KAAK,IACtB,CAOA,SAAS+ylB,GAAiB5qnB,IACtB,OAAKA,GAGEA,GAAKsX,MAAM,KAAKk+N,MAFZ,EAGf,CAQA,SAASq1Y,GAAat8lB,GAAK90C,GAAOwlT,GAAO,KACrC,GAAI5wN,GAAS9/C,IAAM,CACf,MAAMu8lB,GAAWv8lB,GAAIjX,MAAM2nR,IACrB8rV,GAAWD,GAASt1Y,MAC1B,OAAOu1Y,KAAatxoB,GAAQ,EAAC,EAAMqxoB,GAASx9lB,YAAc,EAAC,EAAOy9lB,GACtE,CACA,MAAO,EAAC,EAAO,GACnB,CACA,SAASC,GAA0BpsI,GAAS5+e,IACxC,MAAOirnB,IAAaJ,GAAa7qnB,GAAM,UACvC,OAAKirnB,MAEQrsI,GAAQzigB,OAAO2yE,oBAIhC,CACA,SAASo8jB,GAAoBC,IACzB,OAAOA,GAAsBlrlB,IAAWA,MAAStmC,KAAK,EAC1D,CAOA,SAASyxnB,GAAoBC,GAAe9klB,IACxC,OA5SJ,SAAS+klB,GAAgB5mnB,IACrB,OAAOA,IAAQwpE,GAASxpE,GAAKqthB,OACjC,CA0SWu5F,CAAgBD,IAP3B,SAASE,GAAaC,GAAcjllB,IAChC,OAAOhrB,OAAOC,KAAKgwmB,IAAcl7lB,OAAO,CAACC,GAAKvwB,MAC1CuwB,GAAI,GAAGgW,MAASvmC,MAAUwrnB,GAAaxrnB,IAChCuwB,IACR,CAAC,EACR,CAGUg7lB,CAAaF,GAAct5F,OAAQxrf,SACnC/rD,CACV,CACA,SAASixoB,GAAgBzrnB,IACrB,MAAO,CACHumC,MAAOoklB,GAAiB3qnB,KAAS,KACjC0rnB,SAAUd,GAAiB5qnB,IAEnC,CAEA,SAAS2rnB,GAAc54mB,IACnB,MAAQ/vB,QAAMwooB,gBAAcI,cAAYryoB,SAASw5B,GACjD,GAAIy4mB,GAAc,CAEd,IAA+B,IA3WvC,SAASr9iB,GAAW39C,IAChB,MAAsB,mBAARA,EAClB,CAyWY29C,CADeq9iB,GAAaxooB,KAE5B,KAAM,iEAAiEA,KAE3E,OAAOwooB,GAAaxooB,MAAQ07D,KAAM92C,IAAQA,GAAI00X,QAAU10X,GAAI00X,QAAU10X,GAC1E,CACA,OAAOgknB,GAAW39jB,eAAejrE,GAAMzJ,GAC3C,CAmBC,IACK61E,GAAgB,MAAtB,MAAMA,GACFxjE,YAAYmmiB,GAAQ70J,GAAQxuU,GAAgBg2V,GAAailO,GAAYkC,IACjE1/nB,KAAK4liB,OAASA,GACd5liB,KAAK+wY,OAASA,GACd/wY,KAAKuiE,eAAiBA,GACtBviE,KAAKu4Z,YAAcA,GACnBv4Z,KAAKw9nB,WAAaA,GAClBx9nB,KAAK0/nB,iBAAmBA,GACxB1/nB,KAAKq7b,aAAe,KACpBr7b,KAAKgpT,aAAe,IAAI/lR,IACxBjjC,KAAKk5L,MAAQ,IAAIj2J,IACjBjjC,KAAKsiE,YAAc,GACnBtiE,KAAK2T,eAAiB,GACtB3T,KAAK2/nB,uBAAwB,EAC7B3/nB,KAAK4/nB,YAAc,IAAIh6kB,IACvB5lD,KAAKm/B,OAAS,IAAI7Y,IAClBtmB,KAAKk7e,QAAUl7e,KAAKm/B,OAAOxjB,eACtB3b,KAAK4liB,SACN5liB,KAAK4liB,OAAS,IAAIm3F,GAAc/8nB,KAAKgpT,eAEzCypM,GAAUzyf,KACVA,KAAK6/nB,aAzIb,SAASC,GAAYhpf,GAAe0mf,IAChC,MAAO,IACA1mf,MACA0mf,GACHj7jB,eAAgB,IACTu0E,GAAcv0E,kBACdi7jB,GAAWj7jB,gBAElBu9Q,QAAS,IACFhpM,GAAcgpM,WACd09S,GAAW19S,SAG1B,CA4H4BggT,CAAYhpf,GAAe92I,KAAKw9nB,YACpDx9nB,KAAKqjE,kBAAkBrjE,KAAK6/nB,aAAalsnB,gBAAkB,IAC3D3T,KAAKujE,qCAAqCvjE,KAAK6/nB,cAC/C7/nB,KAAKsjE,eAAetjE,KAAK6/nB,aAAav9jB,aACtCtiE,KAAK6T,KAAO,IAAI8C,IAAgB3W,KAAKm0D,kBAGrCn0D,KAAK+T,aAAe/T,KAAK6T,KAAK8H,eAI9B3b,KAAKq7b,aAAer7b,KAAKk7e,QAAQ7ue,UAAWmzB,KACzB,2BAAXA,GAAEvxB,MAAqCuxB,GAAEugmB,YACzC//nB,KAAKgf,cAAcwgB,GAAEv2C,QAAQs2oB,SAAQ,EAGjD,CACA,UAAIvvoB,GACA,OAAOgQ,KAAK6/nB,YAChB,CACA1rkB,iBACI,OAAOn0D,KAAKsiE,WAChB,CACAgB,eAAezvD,IACX7T,KAAKsiE,YAAczuD,EACvB,CACAU,gBACI,OAAOvU,KAAK6T,KAAKyJ,UACrB,CACA0B,cAAcnL,IACV,OAAA7T,KAAK+wY,OAAOivP,gBAAgBnsnB,IAC5B7T,KAAK6T,KAAKlH,KAAKkH,IACf7T,KAAKm/B,OAAOxyB,KAAK,CACbsB,KAAM,cACNhlB,QAASq2oB,GAAgBzrnB,MAEtB7T,IACX,CACAqjE,kBAAkBmqP,IACdxtT,KAAK2T,eAAiB65S,EAC1B,CAQAzuS,oBACI,OAAO/e,KAAK2T,cAChB,CACA++B,KAAK77C,GAAM+vB,GAAU,CAAC,GAClB,MAAMi9O,GAAS7jQ,KAAKk5L,MAAMxwL,IAAI7R,IAC9B,GAAIgtQ,GACA,OAAOA,GAEX,IAAIo8X,GACJ,MAAMC,GAAUlgoB,KAAKmgoB,cAActpoB,IACnC,IAAIujD,GACA8llB,KACA9llB,GAAQoklB,GAAiB3noB,KAE7B,MAAMupoB,GAAiB,CACnBvpoB,QACA4ooB,WAAYz/nB,KAAK4liB,OACjBy5F,aAAcz4mB,GAAQy4mB,aACtBjyoB,KAAM8yoB,GAAU,CAAE9llB,MAAOA,SAAU/rD,GAEvC,GAAI2R,KAAKyiE,uBAAuB5rE,IAAO,CAEnC,MAAMysP,GAAW48Y,GACX,GAAG9llB,MAASp6C,KAAKqgoB,oBACjBrgoB,KAAKqgoB,kBACL7Y,GAhHlB,SAAS8Y,IAAsBb,cAAY5ooB,QAAMzJ,QAAMmzoB,gBAAclB,kBAEjE,OADckB,GAAe,CAAC1poB,GAAM0poB,IAAgB,CAAC1poB,KACxChJ,IAAKgJ,KACd,MAAM+uiB,GAAS45F,GAAc,CAAE3ooB,QAAM4ooB,cAAYJ,gBAAcjyoB,UAC/D,SAAO8pE,KAAK0ue,IAAQ/6hB,QAAKhd,KAAK64T,MAC1BA,eACA7yS,KAAMhd,MACP,EAEX,CAuG4BypoB,CAAoB,IAC7BF,GACHG,aAAcj9Y,KAElB28Y,MAAkBx/L,KAAS+mL,GAC/B,KACK,CACD,MAAM5hF,GAAS45F,GAAcY,IAC7BH,MAAkB/okB,KAAK0ue,GAC3B,CACA,MAAM46F,GAAQP,GAAgBp1nB,QAAKstH,MAAMn4H,KAAKhQ,OAAOktoB,gBAAa,EAAGlxnB,MAAK06S,KAClEp1T,MAAMC,QAAQm1T,IACdA,GAAYt7R,QAAS7c,KACjBvO,KAAKygoB,cAAclynB,GAAEsF,KAAMtF,GAAEm4S,aAEzBn4S,GAAEsF,OAAShd,IACXmJ,KAAKk5L,MAAMh2J,IAAI30B,GAAEsF,QAAMM,MAAG,CAAC,GAAE,GAKzCnU,KAAKygoB,cAAc5poB,GAAM6vT,GAAW,IACvC,EAAGpvP,MAAYxoE,KACPkR,KAAK6/nB,aAAaj9jB,UACnBnuD,QAAQ3lB,MAAM,+BAA+B+H,MAAS/H,IAEnDkR,KAAK0goB,cAAc7poB,GAAM+vB,OACnC,EAAGlJ,MAAY,IAChB,OAAA1d,KAAKk5L,MAAMh2J,IAAIrsC,GAAM2poB,IACdA,EACX,CAYA3znB,UAAUq0B,GAAK9zB,GAAS,CAAC,EAAGyG,GAAO7T,KAAKuU,iBACpC,IAAK2sB,GACD,OAAOA,GACX,MAAQkZ,SAAOumlB,gBAAgB3goB,KAAK4goB,oBAAoB/snB,IACxD,GAAIviB,MAAMC,QAAQ2vC,IACd,OAAOA,GAAIrzC,IAAKu1C,IAAMpjC,KAAK6M,UAAUutC,GAAQ,GAAGA,MAAShX,KAAMA,GAAGh2B,GAAQuznB,KAE9Ez/lB,GAAMkZ,GAAQ,GAAGA,MAASlZ,KAAQA,GAClC,MAAMwlR,GAAc1mT,KAAK8hE,eAAe6+jB,IAClCrzoB,GAAQo5T,GAAYxlR,IAC1B,OAAK5zC,GAGE0S,KAAK+wY,OAAO/pD,UAAU15V,GAAO8f,GAAQs5S,GAAaxlR,IAF9ClhC,KAAK6goB,kBAAkB3/lB,GAAK5zC,GAAO8f,GAGlD,CAYA0znB,gBAAgB5/lB,GAAK9zB,GAAQyG,GAAMktnB,IAAY,GAC3C,IAAI1B,GACJ,MAAM3slB,GAAOA,CAAC7+B,GAAM+S,KAAY5mB,KAAK0yC,KAAK7+B,GAAM+S,IAAS/b,QAAKhd,KAAI,IAAMkzoB,GAClE/goB,KAAKghoB,gBAAgB9/lB,GAAK9zB,GAAQyG,IAClC7T,KAAK6M,UAAUq0B,GAAK9zB,GAAQyG,MAClC,GAAI+uZ,GAAM/uZ,IACN,OAAO7T,KAAK+T,aAAalJ,QAAK+hB,MAAW/Y,IAAS6+B,GAAK7+B,MAE3D,GAAImpnB,GAAcnpnB,IAAO,CAErB,MAAMqrnB,GAAgBrrnB,GACtBA,GAAOqrnB,GAAc9klB,MACrBillB,GAAeJ,GAAoBC,GAAeA,GAAc9klB,MACpE,CAEA,GAAIp6C,KAAKihoB,OAAOptnB,KAAS7T,KAAKkhoB,gBAAgBrtnB,IAC1C,OAAO6+B,GAAK7+B,IAGhB,MAAMumC,GAAQvmC,GACd,OAAO7T,KAAK+T,aAAalJ,QAAK+hB,MAAW/Y,IAAS6+B,GAAK,GAAG0H,MAASvmC,KAAQ,CAAEwrnB,mBACjF,CASA6B,gBAAgBrtnB,IACZ,OAAO7T,KAAKihoB,OAAOxC,GAAiB5qnB,IACxC,CACAmtnB,gBAAgB9/lB,GAAK9zB,GAAS,CAAC,EAAGyG,GAAO7T,KAAKuU,iBAC1C,GAAI2tE,GAAShhD,KAAQ5vC,MAAMC,QAAQ2vC,IAAM,CACrC,MAAQy/lB,eAAavmlB,UAAUp6C,KAAK4goB,oBAAoB/snB,IACxD,GAAIviB,MAAMC,QAAQ2vC,IACd,OAAOA,GAAIrzC,IAAKu1C,IAAMpjC,KAAKghoB,gBAAgB5mlB,GAAQ,GAAGA,MAAShX,KAAMA,GAAGh2B,GAAQuznB,KAEpF,MAAMj6U,GAAc1mT,KAAK8hE,eAAe6+jB,IAElCrzoB,GA7hBlB,SAASizV,GAAUt/S,IACf,SAAOkgmB,cAAYlgmB,GACvB,CA2hB0Bs/S,CAAUvgV,KAAKohoB,eAAe16U,GAD5CxlR,GAAMkZ,GAAQ,GAAGA,MAASlZ,KAAQA,KAGlC,OArlBZ,SAASg3I,GAAQqiO,IACb,OAA4B,IAArBj/S,GAAKi/S,GAChB,CAmlBmBriO,CAAQ5qL,IACT0S,KAAK6M,UAAUq0B,GAAK9zB,GAAQyG,IAC5B7T,KAAK+wY,OAAO/pD,UAAU15V,GAAO8f,GAAQs5S,GAAaxlR,GAC5D,CACA,MAAM8nR,GAAe,GACrB,UAAYq4U,GAAM3sX,MAAY10Q,KAAK0tI,WAAWxsG,IAC1C8nR,GAAalnR,KAAK9hC,KAAKghoB,gBAAgBK,GAAM3sX,GAAS7gQ,KAE1D,OAAOm1S,EACX,CACAs4U,sBAAsBpgmB,GAAK9zB,GAAQyG,IAC/B,GAAIquE,GAAShhD,KAAQ5vC,MAAMC,QAAQ2vC,IAC/B,OAAOlhC,KAAK8goB,gBAAgB5/lB,GAAK9zB,GAAQyG,IAAM,GAEnD,OAAQ0tnB,GAAUC,OAAiB7ikB,IAAQ3+D,KAAK0tI,WAAWxsG,IAG3D,OAAOlhC,KAAKshoB,sBAAsBC,GAAUC,GAAa3tnB,IAAMhJ,QAAKhd,KAAKP,KACrE,MAAM07T,GAAe,CAAC17T,IACtB,UAAY+zoB,GAAM3sX,MAAY/1M,GAC1BqqP,GAAalnR,KAAK9hC,KAAKghoB,gBAAgBK,GAAM3sX,GAAS7gQ,KAE1D,OAAOm1S,KAEf,CACAlnP,eAAe2/jB,IACX,GAAIA,GAAa,CACb,GAAIzhoB,KAAKihoB,OAAOQ,IACZ,OAAOzhoB,KAAKgpT,aAAatgT,IAAI+4nB,KAAgB,CAAC,EAE7C,CAED,MAAQrnlB,SAAOumlB,gBAAgB3goB,KAAK4goB,oBAAoBa,IAClD/6U,GAAc1mT,KAAKgpT,aAAatgT,IAAIi4nB,KAAgB,CAAC,EAC3D,OAAO3goB,KAAKohoB,eAAe16U,GAAatsQ,GAC5C,CACJ,CACA,OAAOp6C,KAAKgpT,YAChB,CAWA04U,kBAAkB7tnB,IACd,IAAI8tnB,GAAY3hoB,KAAK+T,aACrB,GAAIF,GAAM,CACN,MAAM+tnB,GAAqBnD,GAAiB5qnB,MAAUA,GAElD8tnB,GADA3hoB,KAAKihoB,OAAOptnB,KAAS+tnB,IACrBD,EAAYxtnB,MAAGN,IAGH7T,KAAK+T,aAAalJ,QAAKhd,KAAKg0oB,IAAgB,GAAGhunB,MAAQgunB,MAE3E,CACA,OAAOF,GAAU92nB,QAAK+hB,MAAW3gC,IAAa+T,KAAK0yC,KAAKzmD,IAAU4e,QAAKhd,KAAI,IAAMmS,KAAK8hE,eAAe71E,OACzG,CAWA61oB,eAAep7U,GAAa7yS,GAAO7T,KAAKuU,gBAAiBqS,GAAU,CAAC,GAEhE,MAAMm7mB,GAAgB,CADHn0nB,OAAO,EAAMo0nB,YAAY,KACJp7mB,IAClCwzB,GAAQoklB,GAAiB3qnB,IAK/B,IAAIounB,GAA4Bv7U,GAE5BtsQ,KAEA6nlB,GAA4BniT,GAAQ,CAAE,CAD1B9/U,KAAKkioB,eAAe9nlB,KACassQ,MAEjD,MAAMm7U,GAAcznlB,GAAQqklB,GAAiB5qnB,IAAQA,GAC/CsunB,GAAoB,IAClBJ,GAAcn0nB,OAAS5N,KAAK8hE,eAAe+/jB,OAC5CI,IAEDG,GAAqBpioB,KAAK6/nB,aAAa//S,QAAQs9S,IAC/C+E,GACAriT,GAAQqiT,IACRE,GAAWrioB,KAAKu4Z,YAAY4lO,mBAAmBiE,GAAoBP,IACzE7hoB,KAAKgpT,aAAa9lR,IAAI2+lB,GAAaQ,IACnCN,GAAcC,YAAchioB,KAAKgf,cAAchf,KAAKuU,gBACxD,CAWA+tnB,kBAAkBphmB,GAAK5zC,GAEvBumB,GAAO7T,KAAKuU,gBAAiBqS,GAAU,CAAC,GACpC,MAAMy7mB,GAAWrioB,KAAKu4Z,YAAY6lO,sBAAsBl9lB,GAAK5zC,GAAOumB,IAIpE7T,KAAK8hoB,eAHY,CACbS,CAACrhmB,IAAMmhmB,IAEmBxunB,GAAM,IAAK+S,GAAShZ,OAAO,GAC7D,CAKA21D,sCAAuCb,kBACnC,MAAM7uD,GAAOviB,MAAMC,QAAQmxE,IAAgBA,GAAa,GAAKA,GACzDA,IAAgB1iE,KAAKyiE,uBAAuB5uD,MAC5C7T,KAAKqgoB,kBAAoBxsnB,GAEjC,CAIAgtnB,kBAAkB3/lB,GAAK5zC,GAAO8f,IAC1B,GAAIpN,KAAKhQ,OAAOuyE,eAAe46jB,YAAwB,KAAV7voB,GACzC,MAAO,GAEX,IAAK0S,KAAK2/nB,uBAAyB3/nB,KAAKyiE,yBAA0B,CAE9DziE,KAAK2/nB,uBAAwB,EAC7B,MAAM78K,GAAgB9id,KAAK6M,UAAUq0B,GAAK9zB,GAAQpN,KAAKqgoB,mBACvD,OAAArgoB,KAAK2/nB,uBAAwB,EACtB78K,EACX,CACA,OAAO9id,KAAKuiE,eAAexU,OAAO7sB,GAAKlhC,KAAKwioB,wBAAyBp1nB,GACzE,CAIA+ynB,cAActsnB,IACV,OAAqD,IAA9C7T,KAAKyioB,uBAAuB5woB,QAAQgiB,GAC/C,CAOAotnB,OAAOptnB,IACH,OAAqD,IAA9C7T,KAAKyioB,uBAAuB5woB,QAAQgiB,GAC/C,CAOA6unB,kBAAkB7roB,GAAMwooB,IACpB,MAAMsD,GAAWlE,GAAiB5noB,IAClC,OAAImJ,KAAKmgoB,cAActpoB,MAAUmJ,KAAK4ioB,oBAAoBD,KAAQ,EACvDp1nB,KAAcvN,KAAK0yC,KAAKiwlB,IAAW3ioB,KAAK0yC,KAAK77C,GAAM,CAAEwooB,mBAEzDr/nB,KAAK0yC,KAAK77C,GAAM,CAAEwooB,iBAC7B,CAIAwD,uBAAuBpB,IACnB,OAAIzhoB,KAAKmgoB,cAAcsB,MAClBzhoB,KAAKihoB,OAAOxC,GAAiBgD,KACvB,GAAGA,MAAezhoB,KAAKuU,kBAE3BktnB,EACX,CAIAqB,eAAe1olB,GAAO68H,IACbj3K,KAAK6/nB,aAAakD,eACnB/ioB,KAAK6/nB,aAAakD,aAAe,CAAC,GAEtC/ioB,KAAK6/nB,aAAakD,aAAa3olB,IAAS68H,EAC5C,CACA/oK,cACQlO,KAAKq7b,eACLr7b,KAAKq7b,aAAaltb,cAGlBnO,KAAKq7b,aAAe,MAMxBr7b,KAAKk5L,MAAMnkJ,OACf,CACA6tlB,oBAAoB/unB,IAChB,OAAOynF,GAAKt7F,KAAK8hE,eAAejuD,IACpC,CACA4unB,uBAEI,OAAIvgjB,GADUliF,KAAK+e,oBAAoB,IAE5B/e,KAAK+e,oBAET/e,KAAK+e,oBAAoBlxB,IAAKwvB,IAAMA,GAAE70B,GACjD,CACAg6oB,wBACI,MAAO,IACAxioB,KAAKhQ,OACRutB,WAAYvd,KAAKuU,gBACjBZ,eAAgB3T,KAAK2T,eACrB2uD,YAAatiE,KAAKsiE,YAE1B,CAKAG,uBAAuB5uD,IACnB,OAAQ7T,KAAKhQ,OAAOuyE,eAAeE,wBAC/B5uD,KAAS7T,KAAKqgoB,iBACtB,CACAI,cAAc5snB,GAAM6yS,IAChB1mT,KAAK8hoB,eAAep7U,GAAa7yS,GAAM,CAAEmunB,YAAY,IACrDhioB,KAAKm/B,OAAOxyB,KAAK,CACboznB,aAAc//nB,KAAK4/nB,YAAYtkiB,KAC/BrtF,KAAM,yBACNhlB,QAASq2oB,GAAgBzrnB,MAE7B7T,KAAK4/nB,YAAYx0mB,QAAS/N,IAAMrd,KAAKk5L,MAAMxxJ,OAAOrqB,KAClDrd,KAAK4/nB,YAAY7qlB,OACrB,CACA2rlB,cAAc7snB,GAAMmvnB,IAGZpgO,GAAMogO,GAAYC,iBAClBD,GAAYC,cAAgB,EACvBD,GAAYE,gBACbF,GAAYE,cAAgBljoB,KAAK0/nB,iBAAiBnB,aAAa1qnB,MAGvE,MAAM8qnB,GAAW9qnB,GAAKsX,MAAM,KAEtBg4mB,GADYH,GAAYE,cACHF,GAAYC,eAGvC,GAFAjjoB,KAAK4/nB,YAAY7znB,IAAI8H,IAEjB7T,KAAKk5L,MAAMz/J,IAAI0pmB,IACf,OAAAnjoB,KAAKygoB,cAAc0C,GAAUnjoB,KAAK8hE,eAAeqhkB,KAC1CrwmB,IAGX,IAAKqwmB,IADkBA,KAAaxE,GAASA,GAASvsoB,OAAS,GAC9B,CAC7B,IAAIk8F,GAAM,4DACV,MAAIqwiB,GAASvsoB,OAAS,IAClBk8F,IAAO,wCAEL,IAAIzmD,MAAMymD,GACpB,CACA,IAAIqyiB,GAAcwC,GAElB,OAAIxE,GAASvsoB,OAAS,IAGlBusoB,GAASA,GAASvsoB,OAAS,GAAK+woB,GAChCxC,GAAchC,GAASjzlB,KAAK,MAEhCs3lB,GAAYC,gBACZjjoB,KAAKm/B,OAAOxyB,KAAK,CACbsB,KAAM,yBACNhlB,QAASq2oB,GAAgBzrnB,MAEtB7T,KAAK0yC,KAAKiulB,GAAaqC,GAClC,CACAd,eAAe9nlB,IACX,MAAQ2olB,gBAAe,CAAC,GAAM/ioB,KAAKhQ,OACnC,OAAO+yoB,GAAa3olB,KAAU49T,GAAY59T,GAC9C,CAMAwmlB,oBAAoB/snB,IAChB,IACIumC,GADAumlB,GAAc9snB,GAElB,GAAI7T,KAAKmgoB,cAActsnB,IAAO,CAE1B,MAAMuvnB,GAAgB3E,GAAiB5qnB,IAEjCwvnB,GAAUrjoB,KAAKihoB,OAAOmC,IAE5BzC,GAAc0C,GAAUD,GAAgBpjoB,KAAKuU,gBAE7C6lC,GAAQp6C,KAAKkioB,eAAemB,GAAU7E,GAAiB3qnB,IAAQA,GACnE,CACA,MAAO,CAAEumC,SAAOumlB,eACpB,CACAS,eAAe16U,GAAaxlR,IACxB,MAAM5jC,GAAS,CAAC,EACVmsC,GAAS,GAAGvI,MAClB,UAAW0ka,MAAcl/I,GACjBk/I,GAAWt2a,WAAWma,MACtBnsC,GAAOsoc,GAAWv3b,QAAQo7B,GAAQ,KAAOi9Q,GAAYk/I,KAG7D,OAAOtoc,EACX,CACAowI,WAAWxsG,IACP,OAAOA,cAAe+B,IAAM/B,GAAImP,UAAYjhB,OAAOihB,QAAQnP,GAC/D,EAEJ+hC,UAAiBviE,UAAI,SAAA6N,IAAA,WAAAA,IAAyF00D,IAjvBThjE,MAivB2C6iE,GAAgB,GAjvB3D7iE,MAivBwFq9nB,IAjvBxFr9nB,MAivByH89nB,IAjvBzH99nB,MAivB+Jg+nB,IAjvB/Jh+nB,MAivBiMkiE,IAjvBjMliE,MAivB8No+nB,IAA2B,EAC9Vp7jB,GAAiB3P,WAlvBoFrzD,MAAE,CAAAhQ,MAkvBWgzE,GAAgBxiE,QAAhBwiE,GAAgBviE,UAAAC,WAAc,SA5gB1IsiE,EAAgB,KAsiBhBqgkB,GAAwB,MAA9B,MAAMA,IAENA,UAAyB5ioB,UAAI,SAAA6N,IAAA,WAAAA,IAAyF+0nB,GAAwB,EAC9IA,GAAyB56mB,UA/wB4EzoB,MAAE,CAAAgO,KA+wBGq1nB,GAAwB30nB,UAAA,mBAAAgH,OAAA,CAAAwI,KAAA,QAAAvP,MAAA,EAAAC,KAAA,EAAAC,OAAA,gDAAAC,SAAA,SAAAC,GAAAC,IAAA,EAAAD,IA/wB7B/O,MAAE,WAgxBnC,EAAA+O,IAhxBiC/O,MAAE,YAAAgP,GAAAkP,KAAFle,MAgxBxC,EAAAspB,cAAA,IAJvD+5mB,EAAwB,KAiB9B,MAAMC,GACF9joB,YAAYw0P,GAAMuvY,IACdxjoB,KAAKi0P,KAAOA,GACZj0P,KAAKwjoB,IAAMA,GACXxjoB,KAAKyzc,SAAWzzc,KAAKwjoB,IAAI/vL,QAC7B,CACA6nB,aACI,GAAIt7d,KAAKi0P,gBAAgB1jO,MACrBvwB,KAAKwjoB,IAAI3nK,mBAAmB77d,KAAKi0P,WAAI,GAEhC/xK,GAASliF,KAAKi0P,MAAO,CAC1B,MAAMknO,GAAen7d,KAAKo7d,gBAAgBkoK,IAC1CnoK,GAAa7vB,SAASntb,KAAOne,KAAKi0P,KAClCknO,GAAaI,SAAS7+c,eAC1B,MAEI1c,KAAKo7d,gBAAgBp7d,KAAKi0P,KAElC,CACAwnO,aACIz7d,KAAKwjoB,IAAIzulB,OACb,CACAqmb,gBAAgBvuR,IAEZ,MAAMpsM,GADMT,KAAKyzc,SAAS/qc,IAAI0+gB,OACVlsD,wBAAwBruR,IAC5C,OAAO7sM,KAAKwjoB,IAAIpoK,gBAAgB36d,GACpC,EAGJ,MAAMgjoB,GAAiB,IAAI59mB,MAAe,kBAEpC69mB,GAA6B,IAAI79mB,MAAe,8BAEhD89mB,GAAkB,IAAI99mB,MAAe,mBAE3C,MAAM+9mB,GACFnkoB,cACIO,KAAKssI,aAAc,CACvB,CAEA/3F,SAAUu6iB,UAAQv+F,YAAUl5d,YACxB,IAAIxjB,GAAOwjB,GAKX,GAAIr3B,KAAKssI,YACLz4H,UAAOwjB,GACAxjB,GAEX,GAAI08e,GAAU,CACV,MAAM,CAAGl4X,IAAaqmgB,GAAanuI,GAAU,UAC7C18e,GAAOwkH,EACX,CACA,GAAIy2d,GAAQ,CACR,MAAM,CAAGz2d,IAAaqmgB,GAAa5vC,GAAQ,UAC3Cj7kB,GAAOwkH,EACX,CACA,OAAAr4H,KAAKssI,aAAc,EACZz4H,EACX,CAWAgwnB,wBAAwBhwnB,IAEpB,OADc2qnB,GAAiB3qnB,IAChB4qnB,GAAiB5qnB,IAAQA,EAC5C,CAWAiwnB,gBAAgBjwnB,GAAMumC,IAClB,OAAOA,GAAQ,GAAGA,MAASvmC,KAASA,EACxC,EAGJ,MAAMkwnB,GACFtkoB,YAAY66B,IACRt6B,KAAKs6B,iBAAmBA,EAC5B,CAEAia,SAAUu6iB,UAAQv+F,aAAa,CAC3Bu+F,YAAQzgmB,EACRkigB,cAAUligB,IAEV,GAAIygmB,GACA,OAAOA,GAEX,GAAIv+F,GAAU,CACV,GAAIysI,GAAczsI,IAAW,CACzB,MAAQn2c,SAAO68H,SAAQ+gM,GAAY59T,KAAWm2c,GAC9C,OAAAvwf,KAAKs6B,iBAAiBwomB,eAAe1olB,GAAO68H,IACrC78H,EACX,CACA,OAAOm2c,EACX,CAEJ,EACH,IAEKyzI,GAAkB,MAAxB,MAAMA,GACFvkoB,YAAY66B,GAAkB2pmB,GAAK/E,GAAegF,GAAcC,GAAoBX,GAAKjhF,GAAKr+e,GAAMi1H,IAChGn5L,KAAKs6B,iBAAmBA,GACxBt6B,KAAKikoB,IAAMA,GACXjkoB,KAAKk/nB,cAAgBA,GACrBl/nB,KAAKkkoB,aAAeA,GACpBlkoB,KAAKmkoB,mBAAqBA,GAC1BnkoB,KAAKwjoB,IAAMA,GACXxjoB,KAAKuijB,IAAMA,GACXvijB,KAAKkkE,KAAOA,GACZlkE,KAAKm5L,SAAWA,GAChBn5L,KAAKq7b,aAAe,KACpBr7b,KAAKokoB,gBAAkB,CAAC,EACxBpkoB,KAAKoN,OAAS,CAAC,EAEfpN,KAAKssI,aAAc,EACnBtsI,KAAKqkoB,aAAe,IAAIT,GACxB5joB,KAAKskoB,cAAgB,IAAIP,GAAc/joB,KAAKs6B,kBAC5Ct6B,KAAKgrd,SAAwB,OAAbhrd,KAAKikoB,IAAe,YAAc,YACtD,CACA,6BAAO93J,CAAuBp4c,GAAK9kB,IAC/B,OAAO,CACX,CACApD,WACI,MAAMmznB,GAAqBH,GAA0B7+nB,KAAKs6B,iBAAkBt6B,KAAKkkoB,cAAgBlkoB,KAAKukoB,YACtGvkoB,KAAKq7b,aAAer7b,KAAKs6B,iBAAiBvmB,aACrClJ,QAAK+hB,MAAWrP,KACjB,MAAM1J,GAAO7T,KAAKqkoB,aAAa9vlB,QAAQ,CACnCu6iB,OAAQ9ulB,KAAKukoB,WACbh0I,SAAUvwf,KAAKkkoB,aACf7smB,OAAQ9Z,KAEZ,OAAOjsB,MAAMC,QAAQyO,KAAKk/nB,gBAAa,EACjCz+L,KAASzgc,KAAKk/nB,cAAcrxoB,IAAKqxoB,IAAkBl/nB,KAAKwkoB,aAAa3wnB,GAAMqrnB,MAC3El/nB,KAAKwkoB,aAAa3wnB,GAAM7T,KAAKk/nB,cAAa,GAChDH,GAAoBC,KACnB3ynB,UAAU,KACXrM,KAAK6hoB,YAAc7hoB,KAAKqkoB,aAAaR,wBAAwB7joB,KAAKnJ,MAChD,cAAlBmJ,KAAKgrd,SACChrd,KAAKykoB,oBACLzkoB,KAAK0koB,mBAAmB1koB,KAAK6hoB,YAAa7hoB,KAAK2koB,YACrD3koB,KAAKuijB,IAAIn6hB,eACTpoB,KAAKssI,aAAc,IAEvB,MAAMs4f,GAAa5koB,KAAK6koB,iBACnB7koB,KAAKssI,aAAes4f,KACrB5koB,KAAK8koB,iBAAmB,IAAIvB,GAAgBqB,GAAY5koB,KAAKwjoB,KAC7DxjoB,KAAK8koB,iBAAiBxpK,aAE9B,CACA1gB,YAAYlub,IAGc,cAAlB1sB,KAAKgrd,UACW57b,OAAOC,KAAK3C,IAASl7B,KAAMugC,KAAOrF,GAAQqF,IAAG+ob,cAClD96c,KAAKykoB,mBAExB,CACAA,oBACIzkoB,KAAK+koB,eACL/koB,KAAKm5L,SAASf,YAAYp4L,KAAKkkE,KAAK78C,cAAe,YAAarnB,KAAKs6B,iBAAiBztB,UAAU7M,KAAKkhC,IAAKlhC,KAAKoN,OAAQpN,KAAK6hoB,aAChI,CACA6C,mBAAmB7wnB,GAAMglP,IACrB74P,KAAKokoB,gBAAkB,CAAC,EACpBpkoB,KAAKi0P,MAELj0P,KAAKi0P,KAAKtlJ,QAAQl9F,UAAezR,KAAKgloB,eAAenxnB,GAAMglP,IAC3D74P,KAAKi0P,KAAKtlJ,QAAQkzhB,YAAiB7hoB,KAAK6hoB,cAGxC7hoB,KAAK+koB,eACL/koB,KAAKi0P,KAAOj0P,KAAKwjoB,IAAI3nK,mBAAmB77d,KAAKikoB,IAAK,CAC9CxynB,UAAWzR,KAAKgloB,eAAenxnB,GAAMglP,IACrCgpY,YAAa7hoB,KAAK6hoB,cAG9B,CACAmD,eAAenxnB,GAAMglP,IACjB,MAAO,CAAC33N,GAAK9zB,MACT,MAAM63nB,GAAWpsY,GAAO,GAAGA,MAAQ33N,KAAQA,GACrCgkmB,GAAa93nB,GACb,GAAG63nB,KAAWznoB,KAAKutC,UAAU39B,MAC7B63nB,GACN,OAAI71mB,OAAO0Y,UAAU8qB,eAAelK,KAAK1oD,KAAKokoB,gBAAiBc,MAG/DlloB,KAAKokoB,gBAAgBc,IAAc,CAC/B93nB,UACA9f,MAAO0S,KAAKs6B,iBAAiBztB,UAAUo4nB,GAAU73nB,GAAQyG,MAJlD7T,KAAKokoB,gBAAgBc,IAAY53oB,KAMJA,CAEhD,CACAu3oB,gBACI,OAAO7koB,KAAKmloB,WAAanloB,KAAKmkoB,kBAClC,CACAj2nB,cACQlO,KAAKq7b,eACLr7b,KAAKq7b,aAAaltb,cAGlBnO,KAAKq7b,aAAe,KAE5B,CACA0pM,eACI/koB,KAAK8koB,kBAAkBrpK,YAC3B,CACA+oK,aAAa3wnB,GAAMqrnB,IACf,MAAMkG,GAAgBploB,KAAKskoB,cAAc/vlB,QAAQ,CAC7Cu6iB,OAAQ9ulB,KAAKqloB,YACb90I,SAAU2uI,KAEdl/nB,KAAKnJ,KAAOmJ,KAAKqkoB,aAAaP,gBAAgBjwnB,GAAMuxnB,IACpD,MAAM/F,GAAeJ,GAAoBC,GAAekG,IACxD,OAAOploB,KAAKs6B,iBAAiBoomB,kBAAkB1ioB,KAAKnJ,KAAMwooB,GAC9D,EAEJ2E,UAAmBtjoB,UAAI,SAAA6N,IAAA,WAAAA,IAAyFy1nB,IApgCX/joB,MAogC+CgjE,IApgC/ChjE,MAogC4EA,MAAc,GApgC1FA,MAogCuH0joB,GAAe,GApgCtI1joB,MAogCmKwjoB,GAAc,GApgCjLxjoB,MAogC8MyjoB,GAA0B,GApgCxOzjoB,MAogCqQA,OApgCrQA,MAogCqSA,OApgCrSA,MAogCsUA,OApgCtUA,MAogCgWA,OAAY,EACjd+joB,GAAmB/rmB,UArgCkFh4B,MAAE,CAAAgO,KAqgCH+1nB,GAAkBr1nB,UAAA,sBAAAgH,OAAA,CAAAurB,IAAA,CArgCjBjhC,MAAEwwB,KAAA,mBAAArjB,OAAA,CAAFnN,MAAEwwB,KAAA,4BAAA40mB,YAAA,CAAFploB,MAAEwwB,KAAA,gCAAAk0mB,WAAA,CAAF1koB,MAAEwwB,KAAA,8BAAA8zmB,WAAA,CAAFtkoB,MAAEwwB,KAAA,8BAAA00mB,UAAA,CAAFlloB,MAAEwwB,KAAA,oCAAAvH,SAAA,CAAFjpB,SA+4B/F+joB,EAAkB,KAiKlBsB,GAAa,MAAnB,MAAMA,GACF7loB,YAAY66B,GAAkB4kmB,GAAegF,GAAc3hF,IACvDvijB,KAAKs6B,iBAAmBA,GACxBt6B,KAAKk/nB,cAAgBA,GACrBl/nB,KAAKkkoB,aAAeA,GACpBlkoB,KAAKuijB,IAAMA,GACXvijB,KAAKq7b,aAAe,KACpBr7b,KAAKiqM,UAAY,GACjBjqM,KAAKqkoB,aAAe,IAAIT,GACxB5joB,KAAKskoB,cAAgB,IAAIP,GAAc/joB,KAAKs6B,iBAChD,CAGAvQ,UAAUmX,GAAK9zB,GAAQm3nB,IACnB,IAAKrjmB,GACD,OAAOA,GAEX,MAAMliC,GAAUoO,GAAS,GAAG8zB,KAAM1jC,KAAKutC,UAAU39B,MAAY8zB,GAC7D,GAAIliC,KAAYgB,KAAKuloB,QACjB,OAAOvloB,KAAKiqM,UAEhBjqM,KAAKuloB,QAAUvmoB,GACfgB,KAAKq7b,cAAcltb,cACnB,MAAM6wnB,GAAqBH,GAA0B7+nB,KAAKs6B,iBAAkBt6B,KAAKkkoB,cAAgBK,IACjG,OAAAvkoB,KAAKq7b,aAAer7b,KAAKs6B,iBAAiBvmB,aACrClJ,QAAK+hB,MAAWrP,KACjB,MAAM1J,GAAO7T,KAAKqkoB,aAAa9vlB,QAAQ,CACnCu6iB,OAAQy1C,GACRh0I,SAAUvwf,KAAKkkoB,aACf7smB,OAAQ9Z,KAEZ,OAAOjsB,MAAMC,QAAQyO,KAAKk/nB,gBAAa,EACjCz+L,KAASzgc,KAAKk/nB,cAAcrxoB,IAAKqxoB,IAAkBl/nB,KAAKwkoB,aAAa3wnB,GAAMqrnB,MAC3El/nB,KAAKwkoB,aAAa3wnB,GAAM7T,KAAKk/nB,cAAa,GAChDH,GAAoBC,KACnB3ynB,UAAU,IAAMrM,KAAKi5hB,YAAY/3f,GAAK9zB,KACpCpN,KAAKiqM,SAChB,CACA/7L,cACQlO,KAAKq7b,eACLr7b,KAAKq7b,aAAaltb,cAGlBnO,KAAKq7b,aAAe,KAE5B,CACA49F,YAAY/3f,GAAK9zB,IACb,MAAMyG,GAAO7T,KAAKqkoB,aAAaR,wBAAwB7joB,KAAKnJ,MAC5DmJ,KAAKiqM,UAAYjqM,KAAKs6B,iBAAiBztB,UAAUq0B,GAAK9zB,GAAQyG,IAC9D7T,KAAKuijB,IAAIn6hB,cACb,CACAo8mB,aAAa3wnB,GAAMqrnB,IACf,MAAMkG,GAAgBploB,KAAKskoB,cAAc/vlB,QAAQ,CAC7Cu6iB,YAAQzgmB,EACRkigB,SAAU2uI,KAEdl/nB,KAAKnJ,KAAOmJ,KAAKqkoB,aAAaP,gBAAgBjwnB,GAAMuxnB,IACpD,MAAM/F,GAAeJ,GAAoBC,GAAekG,IACxD,OAAOploB,KAAKs6B,iBAAiBoomB,kBAAkB1ioB,KAAKnJ,KAAMwooB,GAC9D,EAEJiG,UAAc5koB,UAAI,SAAA6N,IAAA,WAAAA,IAAyF+2nB,IA7mCNrloB,MA6mCqCgjE,GAAgB,IA7mCrDhjE,MA6mCkE0joB,GAAe,IA7mCjF1joB,MA6mC8GwjoB,GAAc,IA7mC5HxjoB,MA6mCyJA,MAAoB,MAClRqloB,GAAc30J,WA9mCuF1we,MAAE,CAAAzS,KAAA,YAAAygB,KA8mCEq3nB,GAAa10J,MAAA,IA9DhH00J,EAAa,KAiFnB,MAAME,GAAmB,CACrB,CACI70mB,QAAS2smB,GACTp7jB,SAAUq7jB,GACVjsmB,KAAM,CAAC6wC,KAEX,CACIxxC,QAASotmB,GACT77jB,SAAU87jB,IAEd,CACIrtmB,QAASstmB,GACT/7jB,SAAUg8jB,IAEd,CACIvtmB,QAAS0tmB,GACTn8jB,SAAUo8jB,GACVhtmB,KAAM,CAAC6wC,MA+Bd,IAEKv7D,GAAe,MAArB,MAAMA,IAENA,UAAgBlG,UAAI,SAAA6N,IAAA,WAAAA,IAAyF3H,GAAe,EAC5HA,GAAgBuxB,UAtrCqFl4B,KAAE,CAAAgO,KAsrCOrH,KAC9GA,GAAgBwxB,UAvrCqFn4B,MAAE,CAAAo4B,UAurCmC,CAACmtmB,MAJrI5+nB,EAAe,KAcQ,IAAIif,MAAe,sDACjB,IAAIA,MAAe,8OCj5C3C,MAAM4/mB,GACThmoB,YAAY62F,GAAMhpG,GAAOwB,IACrBkR,KAAKs2F,KAAOA,GACZt2F,KAAK1S,MAAQA,GACb0S,KAAKlR,MAAQA,GACbkR,KAAK6gc,SAAoB,MAATvqW,EACpB,CACAq2D,QAAQ9C,IACJ,OAAO67e,GAAoB1loB,KAAM6pJ,GACrC,CACA87e,GAAGC,GAAarnkB,GAAcsnkB,IAC1B,MAAQvviB,QAAMhpG,SAAOwB,UAAUkR,KAC/B,MAAgB,MAATs2F,GAAyEsviB,KAAYt4oB,IAAkB,MAATgpG,GAA2E/3B,KAAazvE,IAA2E+2oB,MAC5Q,CACA1kiB,OAAO2kiB,GAAgBh3oB,GAAOq4B,IAC1B,IAAIuoB,GACJ,SAAOsyC,MAAqC,QAAzBtyC,GAAKo2lB,UAAmC,IAAPp2lB,QAAgB,EAASA,GAAG/iC,MAC1E3M,KAAK2sJ,QAAQm5e,IACb9loB,KAAK2loB,GAAGG,GAAgBh3oB,GAAOq4B,GACzC,CACA0+hB,eACI,MAAQvvd,QAAMhpG,SAAOwB,UAAUkR,KACzB1C,GAAkB,MAATg5F,IAAS,EAEhBniF,MAAG7mB,IAEM,MAATgpG,IAAS,EAEDxxD,MAAW,IAAMh2C,IAER,MAATwnG,GAEQxjE,IAEA,EACxB,IAAKx1B,GACD,MAAM,IAAIixC,UAAU,gCAAgC+nD,MAExD,OAAOh5F,EACX,CACA,iBAAOyooB,CAAWz4oB,IACd,OAAO,IAAIm4oB,GAAa,IAAKn4oB,GACjC,CACA,kBAAO04oB,CAAY78lB,IACf,OAAO,IAAIs8lB,GAAa,SAAKp3oB,EAAW86C,GAC5C,CACA,qBAAO88lB,GACH,OAAOR,GAAaS,oBACxB,EAGG,SAASR,GAAoBjnM,GAAc50S,IAC9C,IAAIn6G,GAAImC,GAAIC,GACZ,MAAQwkD,QAAMhpG,SAAOwB,UAAU2vc,GAC/B,GAAoB,iBAATnoW,GACP,MAAM,IAAI/nD,UAAU,wCAEf,MAAT+nD,GAAwC,QAAxB5mD,GAAKm6G,GAASl9I,YAAyB,IAAP+iC,IAAyBA,GAAGgZ,KAAKmhG,GAAUv8J,IAAkB,MAATgpG,GAAyC,QAAzBzkD,GAAKg4G,GAAS/6J,aAA0B,IAAP+iD,IAAyBA,GAAG6W,KAAKmhG,GAAU/6J,IAAsC,QAA5BgjD,GAAK+3G,GAAS1iI,gBAA6B,IAAP2qB,IAAyBA,GAAG4W,KAAKmhG,GACnR,CARA47e,GAAaS,qBAAuB,IAAIT,GAAa,iFCvD9C,SAAS9sO,GAAQ+sC,GAAaygM,GAAkBrzlB,GAAUy0Z,IAC7D,SAAOz9P,MAAQ,CAACh2J,GAAQi1J,MACpB,IAAIj5K,GACCq2mB,IAAgD,mBAArBA,KAIzBrzlB,YAAUhjB,WAASy3a,cAAc4+L,IAHpCr2mB,GAAUq2mB,GAKd,MAAMtxY,GAAS,IAAI5xN,IACbywH,GAAUzkH,KACZ4lN,GAAOzpO,QAAQ6jB,IACfA,GAAG85J,GAAU,EAEXrqI,GAAev1B,IAAQuqH,GAAQosV,IAAaA,GAAShxf,MAAMq6C,KACjE,IAAIi9lB,GAAe,EACfC,IAAoB,EACxB,MAAMC,GAA0B,IAAIniM,KAAmBp7P,GAAaz7M,KAChE,IACI,MAAM4zC,GAAMwka,GAAYp4c,IACxB,IAAIwe,GAAQ+oP,GAAOnsP,IAAIw4B,IACvB,IAAKp1B,GAAO,CACR+oP,GAAO3xN,IAAIhC,GAAMp1B,GAAQy7b,GAAYA,KAAc,IAAIjhb,KACvD,MAAMignB,GAoBlB,SAASC,GAAwBtlmB,GAAKulmB,IAClC,MAAMnpoB,GAAS,IAAIwrM,IAAY49b,KAC3BN,KACA,MAAMxhM,GAAW6hM,GAAap6nB,UAAUq6nB,IACxC,MAAO,KACH9hM,GAASz2b,cACU,KAAjBi4nB,IAAsBC,IAAqBC,GAAwBn4nB,aAAY,CACrF,GAEJ7Q,UAAO4jC,IAAMA,GACN5jC,EACX,CA/B4BkpoB,CAAwBtlmB,GAAKp1B,IAE7C,GADAi9L,GAAWp8L,KAAK45nB,IACZzzlB,GAAU,CACV,MAAMyxZ,MAAqBj6P,MAAyBx+L,GAAO,KACvDA,GAAMqb,WACkEo9a,IAAmBp2b,aAAY,OACxG9f,OAAWA,EAAW,IAAMwmQ,GAAOntN,OAAOxG,KAC7ColmB,GAAwBv6nB,OAAIs+L,OAAUv3J,GAASyzlB,KAAUl6nB,UAAUk4b,IACvE,CACJ,CACAz4b,GAAMa,KAAKmjB,GAAUA,GAAQxiC,IAASA,GAC1C,OACO67C,IACHu1B,GAAYv1B,GAChB,GACD,IAAMuqH,GAAQosV,IAAaA,GAAS34d,YAAau3C,GAAa,IAAMm2L,GAAO9/M,QAAS,KACnFsxlB,IAAoB,EACI,IAAjBD,KAEXtylB,GAAOznC,UAAUi6nB,GAYjB,EAER,gECpDA,MAAMK,GAAwB,CAC1Bl6nB,UAAU,EACVm6nB,YAAY,EACZC,wBAAwB,GAEtBC,GAA6B,2BAuEnC,SAAS3qc,GAAaroJ,GAAQ9jD,GAAS,CAAC,GACpC,MAAM0kd,GAAS1kd,GAAO42oB,WAAa9ylB,GAASA,KACtCxmD,GAAQ,IACPq5oB,MACA32oB,IAEPo/B,cAAO0rD,eAAe45X,GAAQoyL,GAA4B,CACtDx5oB,WAEGond,EACX,CAmCA,SAASqyL,GAAqBz7L,IAC1B,OAAOl8a,OAAOmnD,eAAe+0X,GACjC,CAMA,SAAS07L,GAAQC,IACb,MAAgC,mBAAlBA,EAClB,CACA,SAASC,GAAWC,IAChB,OAAOA,GAAkBz5oB,OAAOs5oB,GACpC,CAKA,SAASI,GAAaC,GAAgBC,GAAoBC,IACtD,MAAMzzlB,GAASizlB,GAAqBM,IAE9B12Y,GADuB78M,IAAsC,WAA5BA,GAAOr0C,YAAYjS,KAClBsmD,GAAOr0C,YAAYjS,KAAO,KAC5Dg6oB,GA1BV,SAASC,GAAkBn8L,IACvB,OA/BJ,SAASo8L,GAAwBp8L,IAqB7B,OApBsBl8a,OAAO6lB,oBAAoBq2Z,IAE5C59c,OAAQumL,OACLq3R,GAASr3R,MACTq3R,GAASr3R,IAAcrhH,eAAek0kB,MAIrBx7L,GAASr3R,IACV6yd,IAA4Bl0kB,eAAe,aAI9D/kE,IAAKomL,KAEC,CACHA,mBAFaq3R,GAASr3R,IAAc6yd,MAOhD,CASWY,CAAwBp8L,GACnC,CAwByBm8L,CAAkBJ,IAAgBx5oB,IAAI,EAAGomL,gBAAcxnK,YAAUo6nB,8BAClF,MAAMc,GAAsD,mBAAjCN,GAAepzd,IACpCozd,GAAepzd,MACfozd,GAAepzd,IACf2zd,GAAgBf,GAChBU,GAAoBI,GAAaL,IACjCK,GACN,OAAiB,IAAbl7nB,GACOm7nB,GAAc/8nB,QAAK06b,QAERqiM,GAAc/8nB,KC/JrC,SAASg9nB,KACZ,SAAO/9b,MAAQ,CAACh2J,GAAQi1J,MACpBj1J,GAAOznC,aAAUi+L,MAAyBvB,GAAaz7M,KACnDy7M,GAAWp8L,KAAK84nB,GAAaM,WAAWz4oB,IAAM,EAC/C,KACCy7M,GAAWp8L,KAAK84nB,GAAaQ,kBAC7Bl9b,GAAW5hL,UAAS,EACpBgiB,KACA4/J,GAAWp8L,KAAK84nB,GAAaO,YAAY78lB,KACzC4/J,GAAW5hL,UAAS,GACtB,EAEV,CDmJiD0gnB,IACpBh9nB,QAAKhd,MAAK4wc,MAC3BiW,OAAQ2yL,GAAepzd,IACvBwqR,gBACAxqR,gBACA08E,cACA02Y,qBACD,GAEP,SAAOz5nB,QAAS45nB,GACpB,CAGA,SAASM,GAA2BH,GAAappkB,GAAcwpkB,GAD1B,IAEjC,OAAOJ,GAAY98nB,QAAKysD,MAAYxoE,KAC5ByvE,IACAA,GAAaG,YAAY5vE,IACzBi5oB,IAAoB,EACbJ,GAGJG,GAA2BH,GAAappkB,GAAcwpkB,GAAmB,KAExF,CAAC,IAEKC,GAAO,MAAb,MAAMA,WAAgBl/b,IAClBrpM,YAAYq0C,IACRtD,QACIsD,KACA9zC,KAAK8zC,OAASA,GAEtB,CACA2nZ,KAAKvmM,IACD,MAAMwmM,GAAa,IAAIssM,GACvBtsM,UAAW5nZ,OAAS9zC,KACpB07b,GAAWxmM,SAAWA,GACfwmM,EACX,QAC4B17b,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFy5nB,IAAV/noB,OAAmCgooB,OAAqB,CAA+C,QAC9LjooB,KAAKszD,WADkFrzD,OAAE,CAAAhQ,MACY+3oB,GAAOvnoB,QAAPunoB,GAAOtnoB,UAAAC,WAAc,QAAW,EACpK,OAfKqnoB,EAAO,KA0Db,SAASt7nB,MAAUw7nB,IACf,SAAOx6oB,MAAQlC,IAAW08oB,GAAa12oB,KAAM22oB,IACN,iBAAxBA,GAEAA,KAAwB38oB,GAAOyiB,KAGnCk6nB,GAAoBl6nB,OAASziB,GAAOyiB,MAEnD,CAEA,MAAMm6nB,GAAsB,IAAIvinB,OAAe,qCACzCwinB,GAAwB,IAAIxinB,OAAe,uCAC3CyinB,GAAgB,IAAIzinB,OAAe,uCACnC0inB,GAA0B,IAAI1inB,OAAe,iDAC7C2inB,GAAmB,IAAI3inB,OAAe,0CACtC4inB,GAAmC,IAAI5inB,OAAe,0DACtD6inB,GAAwB,IAAI7inB,OAAe,sCAAuC,CAAEllB,WAAY,OAAQF,QAASA,IAAMqnoB,KAEvHa,GAAoB,sBACpBC,EAAkB5npB,OAAa2npB,IA0CrC,SAASE,GAAgBv9L,IACrB,OAAOtpX,GAAWspX,GAFA,oBAGtB,CACA,SAAStpX,GAAWspX,GAAUv0S,IAC1B,OAAQu0S,IACJv0S,MAAgBu0S,IACkB,mBAA3BA,GAASv0S,GACxB,CAAC,IAEK+xe,GAAa,MAAnB,MAAMA,WAAsBxinB,IACxB7mB,YAAY8+D,GAAcgpkB,IACtB/2lB,QACAxwC,KAAKu+D,aAAeA,GACpBv+D,KAAKunoB,oBAAsBA,EAC/B,CACAwB,WAAWC,IACPhpoB,KAAK2M,KAAKq8nB,GACd,CAIAC,YACI,OAAOjpoB,KAAK6K,KAAK8tZ,GAASuwO,IApMlC,SAASC,GAAgBlomB,IACrB,QAAUA,GAAIxhC,aACe,WAAzBwhC,GAAIxhC,YAAYjS,MACS,aAAzByzC,GAAIxhC,YAAYjS,IACxB,CAgMsD27oB,CAAgBD,IACxDnC,GAAqBmC,IACrBA,KAAe,EAAG5pc,MAAU8pc,IACvBA,GAAQv+nB,KAAK8tZ,GAAQuwO,OAC/B,EAAG5pc,MAAU8pc,KACV,MAAMC,GAAUD,GAAQv+nB,QAAK+3L,MAAYykc,IA4BrD,SAASiC,GAAoB/qkB,GAAcgpkB,IACvC,OAAQF,KACJ,MAAMkC,GAAiBnC,GAAaC,GAAgB9okB,GAAcgpkB,IAClE,OA9DR,SAASiC,GAAel+L,IACpB,OAAOtpX,GAAWspX,GAFE,mBAGxB,CA4DYk+L,CAAenC,IACRA,GAAeoC,iBAAiBF,IAEpCA,GAEf,CAnCuBD,CAAoBtpoB,KAAKu+D,aAAcv+D,KAAKunoB,oBAA5C+B,CAAiEjC,MAC3E,EAAGx5oB,MAAKq8C,KArErB,SAASw/lB,GAAqBx/lB,GAAQy/lB,IAClC,GAAiC,MAA7Bz/lB,GAAOu0Z,aAAanoW,KAAc,CAClC,MAAM9qG,GAAS0+C,GAAOu0Z,aAAanxc,OAO3C,SAASs8oB,GAASp+oB,IACd,MAA0B,mBAAXA,IACXA,IACAA,GAAOyiB,MACgB,iBAAhBziB,GAAOyiB,IACtB,CAXiC27nB,CAASp+oB,KAE9Bm+oB,GAASjrkB,YAAY,IAAI72B,MAAM,UAU3C,SAASgimB,IAAgB51d,gBAAcozd,kBAAgB12Y,gBACnD,MAAMm5Y,GAAmD,mBAAjCzC,GAAepzd,IAEvC,OAD6B08E,GAEvB,IAAIA,MAAcnlN,OAAOyoI,MAAgB61d,GAAW,KAAO,MAC3D,IAAIt+lB,OAAOyoI,QACrB,CAhBqD41d,CAAc3/lB,qCAiBnE,SAASa,GAAUv/C,IACf,IACI,OAAOgS,KAAKutC,UAAUv/C,GAC1B,OAEI,OAAOA,EACX,CACJ,CAxB4Gu/C,CAAUv/C,OAElH,CACJ,CA8DgBk+oB,CAAqBx/lB,GAAQlqC,KAAKu+D,cAC3Br0B,GAAOu0Z,gBACjB,EAAG/wc,MAAQ+wc,IAAuC,MAAtBA,GAAanoW,MAAsC,MAAtBmoW,GAAanxc,OEhV5E,SAASy8oB,KACZ,SAAOjgc,MAAQ,CAACh2J,GAAQi1J,MACpBj1J,GAAOznC,aAAUi+L,MAAyBvB,GAAa01P,IAAiBinM,GAAoBjnM,GAAc11P,KAAY,EAE9H,CF4UmGghc,IAGjFC,GAAQZ,GAAQv+nB,QAAK2C,MAAK,IAAC,EAAG9f,MAAOm7oB,KAAe,EAAGh7oB,MAAKy9c,IAAaA,GAAS2+L,sBACxF,SAAOr8nB,KAAMy7nB,GAASW,GAAK,GAEnC,QAC4BhqoB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFu6nB,IAlJV7ooB,OAkJyCA,QAlJzCA,OAkJqEyooB,IAAqB,CAA+C,QAChO1ooB,KAAKszD,WAnJkFrzD,OAAE,CAAAhQ,MAmJY64oB,GAAarooB,QAAbqooB,GAAapooB,UAAAC,WAAc,QAAW,EAC1K,OAhCKmooB,EAAa,KAwCnB,SAASI,GAAgB7B,IACrB,OA1DJ,SAAS6C,GAAoB5+L,IACzB,OAAOtpX,GAAWspX,GAFO,wBAG7B,CAwDQ4+L,CAAoB7C,IACbA,GAAe8C,wBAEnB,EACX,CASC,IAEKC,GAAa,MAAnB,MAAMA,GACF,aAAIC,GACA,QAASrqoB,KAAKsqoB,mBAClB,CACA7qoB,YAAY8qoB,GAAe5qoB,IACvBK,KAAKuqoB,cAAgBA,GACrBvqoB,KAAKL,MAAQA,GACbK,KAAKsqoB,oBAAsB,IAC/B,CACA51lB,QACS10C,KAAKsqoB,sBACNtqoB,KAAKsqoB,oBAAsBtqoB,KAAKuqoB,cAC3BtB,YACA58nB,UAAUrM,KAAKL,OAE5B,CACAuO,cACQlO,KAAKsqoB,sBACLtqoB,KAAKsqoB,oBAAoBn8nB,cACzBnO,KAAKsqoB,oBAAsB,KAEnC,QAC4BtqoB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF67nB,IAlMVnqoB,OAkMyC6ooB,IAlMzC7ooB,OAkMmEG,OAAQ,CAA+C,QACjNJ,KAAKszD,WAnMkFrzD,OAAE,CAAAhQ,MAmMYm6oB,GAAa3poB,QAAb2poB,GAAa1poB,UAAAC,WAAc,QAAW,EAC1K,OAxBKypoB,EAAa,KA8BbI,GAAiB,MAAvB,MAAMA,GACF/qoB,YAAYuvH,GAASy7gB,GAAQ9qoB,GAAO+qoB,GAAsBC,GAAiBC,GAAoBn5O,IAC3FzxZ,KAAKgvH,QAAUA,GACfy7gB,GAAO/1lB,QACP,UAAWw0lB,MAAmBwB,GAC1B17gB,GAAQ+5gB,WAAWG,IAEvBvpoB,GAAM8M,SAAS,CAAEwB,KAAM06nB,IAC3B,CACAI,WAAWG,IACPlpoB,KAAKgvH,QAAQ+5gB,WAAWG,GAC5B,QAC4BlpoB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFi8nB,IAtNVvqoB,OAsN6C6ooB,IAtN7C7ooB,OAsNuEmqoB,IAtNvEnqoB,OAsNiGG,OAtNjGH,OAsNsHsooB,IAtNtHtooB,OAsN0JG,MAAkB,GAtN5KH,OAsNyMG,MAAqB,GAtN9NH,OAsN2PmooB,GAAmB,IAA6D,QAClapooB,KAAKm4B,UAvNkFl4B,MAAE,CAAAgO,KAuNSu8nB,IAAsB,QACxHxqoB,KAAKo4B,UAxNkFn4B,OAAE,GAwN+B,EACvJ,OAfKuqoB,EAAiB,KAiCjBK,GAAoB,MAA1B,MAAMA,GACFproB,YAAYqroB,GAAmBC,GAAuBJ,GAAiBC,IACnE,MAAMI,GAAmBD,GAAsBlkI,OAC/C,UAAWqiI,MAAmB8B,GAC1BF,GAAkB/B,WAAWG,GAErC,QAC4BlpoB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFs8nB,IAlPV5qoB,OAkPgDuqoB,IAlPhDvqoB,OAkP8EwooB,IAlP9ExooB,OAkP2HG,MAAkB,GAlP7IH,OAkP0KG,MAAqB,IAA6D,QACnVJ,KAAKm4B,UAnPkFl4B,MAAE,CAAAgO,KAmPS48nB,IAAyB,QAC3H7qoB,KAAKo4B,UApPkFn4B,OAAE,GAoPkC,EAC1J,OAVK4qoB,EAAoB,KAuBpB72T,GAAa,MAAnB,MAAMA,GACF,iBAAOi3T,IAAcC,IACjB,MAAM7oc,GAAU6oc,GAAerkI,OACzBskI,GAAiBjE,GAAW7kc,IAClC,MAAO,CACH/+C,SAAUunf,GACVxymB,UAAW,CACP8ymB,GACA,CACIx6mB,QAAS63mB,GACTxlkB,OAAO,EACPZ,SAAUigI,IAEd,CACI1xK,QAAS03mB,GACTrlkB,OAAO,EACPZ,SAAU,IAEd,CACIzxC,QAAS83mB,GACTzlkB,OAAO,EACPzxC,WAAY65mB,GACZ95mB,KAAM,CAACk3mB,GAAkBH,MAIzC,CACA,cAAOlzjB,IAAWk2jB,IACd,MAAMhpc,GAAUgpc,GAAYxkI,OACtBskI,GAAiBjE,GAAW7kc,IAClC,MAAO,CACH/+C,SAAUknf,GACVnymB,UAAW,CACP8ymB,GACA,CACIx6mB,QAAS23mB,GACTlmkB,SAAU,CAACigI,KAEf,CACI1xK,QAASy3mB,GACT72mB,WAAY+5mB,IAEhB,CACI36mB,QAAS03mB,GACTrlkB,OAAO,EACPZ,SAAU,IAEd,CACIzxC,QAAS43mB,GACTh3mB,WAAY65mB,GACZ95mB,KAAM,CAACg3mB,GAAeD,MAItC,QAC4BrooB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFylU,GAAa,CAAoD,QAClKh0U,KAAKm4B,UA1TkFl4B,MAAE,CAAAgO,KA0TS+lU,IAAkB,QACpHh0U,KAAKo4B,UA3TkFn4B,OAAE,GA2T2B,EACnJ,OA1DK+zU,EAAa,KA+DnB,SAASo3T,GAAuBG,GAAeC,IAC3C,MAAMnpc,GAAU,GAChB,UAAWopc,MAAgBF,GACvBlpc,GAAQvgK,QAAQ2pmB,IAEpB,UAAWC,MAA4BF,GACnCnpc,GAAQvgK,QAAQ4pmB,IAEpB,OAAOrpc,GAAQx0M,IAAK89oB,IAjYxB,SAASC,GAAQC,IACb,OAAOA,cAAyBhmnB,QAAkBmhnB,GAAQ6E,GAC9D,CA+XiDD,CAAQD,KAAoB,EACnE16mB,QAAO06mB,IACPA,GACV,CACA,SAASL,KACL,MAAMb,MAASx5mB,QAAOm5mB,GAAe,CAAEtxlB,UAAU,EAAMmvc,UAAU,IAC3DojJ,MAAcp6mB,QAAOq3mB,GAAe,CAAEn+kB,MAAM,IAGlD,IAD4C,IAAvBkhlB,GAAYj5oB,QAA0C,IAA1Bi5oB,GAAY,GAAGj5oB,SAC9Cq4oB,GACd,MAAM,IAAIl8lB,UAAU,wGAExB,MAAO,SACX,4VGxhBA,MAAMu9lB,GAA0B,CAAC,EA+EjC,SAAS9qpB,GAAaitB,GAAMje,IAExB,GADA87oB,GAAwB79nB,KAAS69nB,GAAwB79nB,KAAS,GAAK,EACjD,mBAAXje,GACP,OAAO+7oB,GAAW99nB,GAAM,IAAI86B,UACrB/4C,MAAU+4C,IACb96B,WAIR,OADWje,GAASA,GAAOg8oB,IAAM,SAE7B,IAAK,QACD,OAAOD,GAAW99nB,GAAM,MAASA,WACrC,IAAK,QACD,OAAO89nB,GAAW99nB,GAAOhtB,SAClBA,GACHgtB,WAER,QACI,MAAM,IAAI45B,MAAM,sBAE5B,CACA,SAAS5mD,KAEL,MAAO,CAAE+qpB,IAAK,QAASC,QAAI59oB,EAC/B,CAKA,SAAS09oB,GAAW99nB,GAAM0mP,IACtB,OAAOvlO,OAAO0rD,eAAe65K,GAAS,OAAQ,CAC1CrnQ,MAAO2gB,GACPgtM,UAAU,GAElB,CAuEA,MAAMxgN,GAAO,mBAAmB,IAC1BitM,GAAc,MAApB,MAAMA,WAAuB/wL,IACzBlX,cACI+wC,MAAM,CAAEviC,KAAMxT,IAClB,CACAkS,KAAKnhB,IACD,GAAsB,mBAAXA,GACP,MAAM,IAAI+iD,UAAU,uPAKnB,UAAW/iD,GAAW,IACvB,MAAM,IAAI+iD,UAAU,2BAEnB,UAAW/iD,GAAOyiB,KAAS,IAC5B,MAAM,IAAIsgC,UAAU,qCAExBiC,MAAM7jC,KAAKnhB,GACf,CACA27B,WACI,CAEJjZ,cACIsiC,MAAMrpB,UACV,QAC4BnnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFm5L,GAAc,CAAsD,QACrK1nM,KAAKszD,WADkFrzD,MAAE,CAAAhQ,MACYy3M,GAAcjnM,QAAdinM,GAAchnM,WAAK,EACvJ,OA3BKgnM,EAAc,KA+BpB,MAAMwkc,GAA4B,CAACxkc,IAE7Bykc,GAAoB,IAAItmnB,MAAe,mCACvCumnB,GAAiB,IAAIvmnB,MAAe,sCACpC+oL,GAAgB,IAAI/oL,MAAe,6BACnCwmnB,GAAkB,IAAIxmnB,MAAe,+BACrCymnB,GAAmB,IAAIzmnB,MAAe,iDACtC0mnB,GAAmB,IAAI1mnB,MAAe,gCACtC2mnB,GAAoB,IAAI3mnB,MAAe,yCACvC4mnB,GAAiB,IAAI5mnB,MAAe,8BACpC6mnB,GAAkB,IAAI7mnB,MAAe,uCACrC8mnB,GAAoB,IAAI9mnB,MAAe,yCACvC+mnB,GAAmB,IAAI/mnB,MAAe,wCACtCgnnB,GAAkB,IAAIhnnB,MAAe,uCACrCinnB,GAA0B,IAAIjnnB,MAAe,+CAC7CknnB,GAAmB,IAAIlnnB,MAAe,gCAItCmnnB,GAA8B,IAAInnnB,MAAe,2CAIjDonnB,GAAgB,IAAIpnnB,MAAe,6BAKnCqnnB,GAA0B,IAAIrnnB,MAAe,+CAK7CsnnB,GAAsB,IAAItnnB,MAAe,0CAIzCunnB,GAAuB,IAAIvnnB,MAAe,mDAI1CwnnB,GAAwB,IAAIxnnB,MAAe,uCAC3CynnB,GAAgC,IAAIznnB,MAAe,gDAiDzD,SAAS0nnB,GAAgBxyc,GAAUjyM,GAAe,CAAC,GAC/C,MAAM0kpB,GAAcp+mB,OAAOC,KAAK0rK,IAC1B0yc,GAAgB,CAAC,EACvB,QAAS1lnB,GAAI,EAAGA,GAAIylnB,GAAYp7oB,OAAQ21B,KAAK,CACzC,MAAMmZ,GAAMssmB,GAAYzlnB,IACK,mBAAlBgzK,GAAS75J,MAChBusmB,GAAcvsmB,IAAO65J,GAAS75J,IAEtC,CACA,MAAMwsmB,GAAmBt+mB,OAAOC,KAAKo+mB,IACrC,OAAO,SAAqBzkpB,GAAOwC,IAC/BxC,QAAkBqF,IAAVrF,GAAsBF,GAAeE,GAC7C,IAAIm1lB,IAAa,EACjB,MAAMt7Z,GAAY,CAAC,EACnB,QAAS96J,GAAI,EAAGA,GAAI2lnB,GAAiBt7oB,OAAQ21B,KAAK,CAC9C,MAAMmZ,GAAMwsmB,GAAiB3lnB,IAEvB4lnB,GAAsB3kpB,GAAMk4C,IAC5B0smB,IAAkBtlpB,EAFRmlpB,GAAcvsmB,KAEEysmB,GAAqBnipB,IACrDq3L,GAAU3hJ,IAAO0smB,GACjBzvD,GAAaA,IAAcyvD,KAAoBD,EACnD,CACA,OAAOxvD,GAAat7Z,GAAY75L,EACpC,CACJ,CAMA,SAASi/P,MAAW65D,IAChB,OAAO,SAAUv6N,IACb,GAAyB,IAArBu6N,GAAU1vT,OACV,OAAOm1F,GAEX,MAAMm2D,GAAOokK,GAAUA,GAAU1vT,OAAS,GAE1C,OADa0vT,GAAUlgR,MAAM,GAAG,GACpBovT,YAAY,CAAC68S,GAAUlxnB,KAAOA,GAAGkxnB,IAAWnwf,GAAKn2D,IACjE,CACJ,CACA,SAASumjB,GAAqBC,GAAgBC,IAC1C,OAAI18oB,MAAMC,QAAQy8oB,KAAiBA,GAAa57oB,OAAS,IACrD27oB,GAAiB9lZ,GAAQ/rM,MAAM,KAAM,IAC9B8xlB,GACHD,MAGD,CAAChzc,GAAUjyM,MACd,MAAMR,GAAUylpB,GAAehzc,IAC/B,MAAO,CAAC/xM,GAAOwC,KAEJlD,GADPU,QAAkBqF,IAAVrF,GAAsBF,GAAeE,GACvBwC,GAAM,CAGxC,CAhG4B,IAAIq6B,MAAe,mCAOhB,IAAIA,MAAe,sCAuGlD,MAAMoonB,WAA0Bnlc,KAEhC,MAAMuG,WAAiC3H,IAEvC,MAAM4B,GAAS,8BAA8B,IACvC4kc,GAAc,MAApB,MAAMA,WAAuBv3nB,IACzB,mBAAIw3nB,GACA,OAAOnuoB,KAAK+6L,QAChB,CACAt7L,YAAYsoM,GAAYj/M,GAAciyM,GAAUgzc,IAC5Cv9lB,MAAMu9lB,GAAehzc,GAAUjyM,KAC/BkX,KAAK+nM,WAAaA,GAClB/nM,KAAKlX,aAAeA,GACpBkX,KAAK+6L,SAAWA,GAChB/6L,KAAK+toB,eAAiBA,EAC1B,CACAK,WAAW9uJ,IACPt/e,KAAKquoB,YAAY,CAAC/uJ,IACtB,CACA+uJ,YAAYnlnB,IACR,MAAM6xK,GAAW7xK,GAASib,OAAO,CAACmqmB,IAAevzc,YAAUgzc,kBAAgBC,gBAAcllpB,gBAAco4C,WACnG,MAAM54C,GAA8B,mBAAbyyM,GAlCnC,SAASwzc,GAA4BP,IACjC,MAAMD,GAAiBz8oB,MAAMC,QAAQy8oB,KAAiBA,GAAa57oB,OAAS,EACtE61P,MAAW+lZ,IACVr0mB,IAAMA,GACb,MAAO,CAACrxC,GAASQ,MACbR,GAAUylpB,GAAezlpB,IAClB,CAACU,GAAOwC,KAEJlD,GADPU,QAAkBqF,IAAVrF,GAAsBF,GAAeE,GACvBwC,IAGlC,CAwBkB+ipB,CAA4BP,GAA5BO,CAA0Cxzc,GAAUjyM,IACpDglpB,GAAqBC,GAAgBC,GAArCF,CAAmD/yc,GAAUjyM,IACnEwlpB,UAAYptmB,IAAO54C,GACZgmpB,IACR,CAAC,GACJtuoB,KAAKwuoB,YAAYzzc,GACrB,CACA0zc,cAAcnvJ,IACVt/e,KAAK0uoB,eAAe,CAACpvJ,IACzB,CACAovJ,eAAexlnB,IACXlpB,KAAK2uoB,eAAezlnB,GAASr7B,IAAKugB,IAAMA,GAAE8yB,KAC9C,CACA0tmB,WAAW1tmB,GAAK54C,IACZ0X,KAAKwuoB,YAAY,CAAEK,CAAC3tmB,IAAM54C,IAC9B,CACAkmpB,YAAYzzc,IACR/6L,KAAK+6L,SAAW,IAAK/6L,KAAK+6L,YAAaA,IACvC/6L,KAAK8uoB,eAAe1/mB,OAAOC,KAAK0rK,IACpC,CACAg0c,cAAc5gpB,IACV6R,KAAK2uoB,eAAe,CAACxgpB,IACzB,CACAwgpB,eAAeK,IACXA,GAAY5jnB,QAAS8V,KACjBlhC,KAAK+6L,SA1FjB,SAASshO,GAAK72U,GAAQypjB,IAClB,OAAO7/mB,OAAOC,KAAKm2D,IACd93F,OAAQwzC,IAAQA,KAAQ+tmB,IACxB9qmB,OAAO,CAAC7mC,GAAQ4jC,KAAQ9R,OAAOmpB,OAAOj7C,GAAQ,CAAE4xoB,CAAChumB,IAAMskD,GAAOtkD,MAAS,CAAC,EACjF,CAsF4Bm7X,CAAKr8Z,KAAK+6L,SAAU75J,GAAG,GAE3ClhC,KAAK8uoB,eAAeE,GACxB,CACAF,eAAeE,IACXhvoB,KAAK2M,KAAK3M,KAAK+toB,eAAe/toB,KAAK+6L,SAAU/6L,KAAKlX,eAClDkX,KAAK+nM,WAAWp7L,KAAK,CACjBsB,KAAMq7L,GACNpgL,SAAU8lnB,IAElB,CACA9goB,cACIlO,KAAKmnB,UACT,QAC4BnnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwF2/nB,IAlOVjuoB,MAkO0CovM,IAlO1CpvM,MAkO+E2uM,IAlO/E3uM,MAkOyGssoB,IAlOzGtsoB,MAkOsIosoB,IAAe,CAA+C,QAC3RrsoB,KAAKszD,WAnOkFrzD,MAAE,CAAAhQ,MAmOYi+oB,GAAcztoB,QAAdytoB,GAAcxtoB,WAAK,EACvJ,OA1DKwtoB,EAAc,KAuEpB,MAAMiB,GAA4B,CAC9BjB,GACA,CAAEv9mB,QAASs9mB,GAAmBr9mB,YAAas9mB,IAC3C,CAAEv9mB,QAAS0+K,GAA0Bz+K,YAAa82K,KACpD,IAEIugc,GAAqB,MAA3B,MAAMA,WAA8B3hnB,IAChCpY,cACIlO,KAAKmnB,UACT,QAC4BnnB,KAAKU,UAAI,UAAA0uoB,GAAA,gBAAA7goB,IAAA,OAAA6goB,QA3P8EnvoB,MA2PUgooB,MAAqB15nB,IAArB05nB,GAAqB,GAA7G,EAAqK,QAC9KjooB,KAAKszD,WA5PkFrzD,MAAE,CAAAhQ,MA4PYg4oB,GAAqBxnoB,QAArBwnoB,GAAqBvnoB,WAAK,EAC9J,OANKunoB,EAAqB,KAU3B,MAAMoH,GAAoC,CACtCpH,IAGJ,MAAM94b,WAAwBrG,KAC7B,IACK/+M,GAAK,MAAX,MAAMA,WAAc4sB,WACP3W,KAAKvF,KAAOA,EAAM,CAC3BgF,YAAYw8L,GAAUqzc,GAAU1jc,GAAgB9iN,IAC5C0nD,MAAM1nD,IAEN,MAEMympB,GAHkBtzc,GAASpxL,QAAKkiM,KAAUC,MACLniM,QAAKmJ,KAAes7nB,KAEpBzkoB,QAAKwiM,KAAKmic,GADxC,CAAExmpB,MAAOF,MAEtBkX,KAAKyvoB,kBAAoBF,GAAgBljoB,UAAU,EAAGrjB,SAAOwC,cACzDwU,KAAK2M,KAAK3jB,IACV4iN,GAAej/L,KAAKnhB,GAAM,GAE9BwU,KAAKhX,SAAQglN,OAAShuM,KAAM,CAAEiuM,eAAe,EAAMC,aAAa,GACpE,CACAhgM,cACIlO,KAAKyvoB,kBAAkBthoB,cACvBnO,KAAKmnB,UACT,QAC4BnnB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFxkB,IAzRVkW,MAyRiCynM,IAzRjCznM,MAyR4DguoB,IAzR5DhuoB,MAyR0FgooB,IAzR1FhooB,MAyR4H2uM,IAAa,CAA+C,QAC/Q5uM,KAAKszD,WA1RkFrzD,MAAE,CAAAhQ,MA0RYlG,GAAK0W,QAAL1W,GAAK2W,WAAK,EAC9I,OApBK3W,EAAK,KA2BX,SAASylpB,GAAYE,GAAkB,CAAE1mpB,WAAOqF,IAAc7C,GAAQlD,KAClE,MAAQU,UAAU0mpB,GAClB,MAAO,CAAE1mpB,MAAOV,GAAQU,GAAOwC,IAASA,UAC5C,CACA,MAAMmkpB,GAAkB,CACpB5lpB,GACA,CAAE4mC,QAASw+K,GAAiBv+K,YAAa7mC,KAG7C,IACM6lpB,GAAK,MAAX,MAAMA,WAAc9mc,IAChBrpM,YAAYsuM,GAAQ8hc,GAAiBC,IACjCt/lB,QACAxwC,KAAK6voB,gBAAkBA,GACvB7voB,KAAK8voB,eAAiBA,GACtB9voB,KAAK8zC,OAASi6J,GACd/tM,KAAKhX,MAAQ+kN,GAAO/kN,KACxB,CACA8hB,OAAOiloB,MAAgB/lZ,IACnB,OAAOl/O,GAAO49C,KAAK,KAAMqnlB,MAAgB/lZ,GAAlCl/O,CAAyC9K,KACpD,CAOAgwoB,aAAajwe,GAAUn5I,IACnB,SAAOqzC,OAAS,IAAM8lG,GAAS//J,KAAKhX,SAAU49B,GAClD,CACA60a,KAAKvmM,IACD,MAAMv1P,GAAQ,IAAIiwoB,GAAM5voB,KAAMA,KAAK6voB,gBAAiB7voB,KAAK8voB,gBACzDnwoB,UAAMu1P,SAAWA,GACVv1P,EACX,CACA8M,SAASjhB,IACLwU,KAAK6voB,gBAAgBljoB,KAAKnhB,GAC9B,CACAmhB,KAAKnhB,IACDwU,KAAK6voB,gBAAgBljoB,KAAKnhB,GAC9B,CACAsD,MAAMq6C,IACFnpC,KAAK6voB,gBAAgB/gpB,MAAMq6C,GAC/B,CACAhiB,WACInnB,KAAK6voB,gBAAgB1onB,UACzB,CACAynnB,WAAW1tmB,GAAK54C,IACZ0X,KAAK8voB,eAAelB,WAAW1tmB,GAAK54C,GACxC,CACAympB,cAAc7tmB,IACVlhC,KAAK8voB,eAAef,cAAc7tmB,GACtC,QAC4BlhC,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFqhoB,IAvVV3voB,MAuViCkvM,IAvVjClvM,MAuV6DynM,IAvV7DznM,MAuVwFiuoB,IAAc,CAA+C,QAC5OluoB,KAAKszD,WAxVkFrzD,MAAE,CAAAhQ,MAwVY2/oB,GAAKnvoB,QAALmvoB,GAAKlvoB,WAAK,EAC9I,OA7CKkvoB,EAAK,KAiDX,MAAMK,GAAkB,CAACL,IACzB,SAAS9koB,GAAOiloB,GAAaG,MAAgBlmZ,IACzC,OAAO,SAAwBo/Y,IAC3B,IAAI+G,GACJ,GAA2B,iBAAhBJ,GAA0B,CACjC,MAAMK,GAAa,CAACF,MAAgBlmZ,IAAOt8P,OAAO8nE,SAClD26kB,GAAU/G,GAAQv+nB,KC1jBvB,SAASwloB,KAAS7hjB,IACrB,MAAMp8F,GAASo8F,GAAWp8F,OAC1B,GAAe,IAAXA,GACA,MAAM,IAAIy1C,MAAM,uCAEpB,SAAOh6C,KAAKsQ,KACR,IAAImyoB,GAAcnyoB,GAClB,QAAS4pB,GAAI,EAAGA,GAAI31B,GAAQ21B,KAAK,CAC7B,MAAM3Z,GAA8DkioB,KAAY9hjB,GAAWzmE,KAC3F,YAAW3Z,GAAM,KAIb,OAHAkioB,GAAclioB,EAKtB,CACA,OAAOkioB,IAEf,CDwiBmCD,CAAMN,MAAgBK,IACjD,SACgC,mBAAhBL,GAIZ,MAAM,IAAIxhmB,UAAU,2BAA2BwhmB,2DAH/CI,GAAU/G,GAAQv+nB,QAAKhd,KAAKimD,IAAWi8lB,GAAYj8lB,GAAQo8lB,KAIrB,CAE1C,OAAOC,GAAQtloB,QAAK46b,QACxB,CACJ,CAEA,MAAM8qM,GAAoB,2DAC1B,SAAS3ujB,GAAY94B,IACjB,YAAkBz6D,IAAXy6D,EACX,CACA,SAAS+5W,GAAO/5W,IACZ,OAAkB,OAAXA,EACX,CACA,SAASv3D,GAAQu3D,IACb,OAAOx3D,MAAMC,QAAQu3D,GACzB,CAUA,SAAS62V,GAAa72V,IAClB,MAAyB,iBAAXA,IAAkC,OAAXA,EACzC,CAWA,SAASk5B,GAAWl5B,IAChB,MAAyB,mBAAXA,EAClB,CAgBA,SAAS0nlB,GAAah4oB,GAAG2hE,IACrB,OAAO3hE,KAAM2hE,EACjB,CAYA,SAASs2kB,GAAeC,GAAcC,GAAmBH,GAAcI,GAAgBJ,IACnF,IAGIK,GAHAC,GAAgB,KAEhBC,GAAa,KAkCjB,MAAO,CAAE32O,SApBT,SAASA,KACL,QAAuB/ra,IAAnBwipB,GACA,OAAOA,GAAevzoB,OAE1B,IAAKwzoB,GACDC,UAAaL,GAAax0lB,MAAM,KAAMzL,WACtCqgmB,GAAgBrgmB,UACTsgmB,GAEX,IArCR,SAASC,GAAmBjomB,GAAM+nmB,GAAej3P,IAC7C,QAAS9xX,GAAI,EAAGA,GAAIghB,GAAK32C,OAAQ21B,KAC7B,IAAK8xX,GAAW9wW,GAAKhhB,IAAI+onB,GAAc/onB,KACnC,OAAO,EAGf,OAAO,CACX,CA8BaipnB,CAAmBvgmB,UAAWqgmB,GAAeH,IAC9C,OAAOI,GAEX,MAAME,GAAYP,GAAax0lB,MAAM,KAAMzL,WAE3C,OADAqgmB,GAAgBrgmB,UACZmgmB,GAAcG,GAAYE,IACnBF,IAEXA,GAAaE,GACNA,GACX,EACmBnupB,MAhCnB,SAASA,KACLgupB,GAAgB,KAChBC,GAAa,IACjB,EA6B0BG,UA5B1B,SAASA,GAAU5zoB,QAASjP,GACxBwipB,GAAiB,CAAEvzoB,UACvB,EA0BqC6zoB,YAzBrC,SAASA,KACLN,QAAiBxipB,CACrB,EAwBJ,CACA,SAASpE,MAAkB2kD,IACvB,OAsFJ,SAASwimB,GAAsBl6O,GAAStwY,GAAU,CAC9CyqnB,QAASC,KAET,OAAO,YAAa1imB,IAChB,IAAI7F,GAAO6F,GACX,GAAIt9C,MAAMC,QAAQw3C,GAAK,IAAK,CACxB,MAAOqsH,MAASsrQ,IAAQ33X,GACxBA,GAAO,IAAIqsH,MAASsrQ,GACxB,MACyB,IAAhB33X,GAAK32C,QA6CtB,SAASm/oB,GAAsB5ioB,IAC3B,QAAUA,IACe,iBAAdA,IACPygB,OAAO3jB,OAAOkD,IAAW+qB,MAAOqmI,IAAiC,mBAAbA,GAC5D,CAjDsCwxe,CAAsBxomB,GAAK,MACrDA,GAiDZ,SAASyomB,GAAmCC,IACxC,MAAM9ioB,GAAYygB,OAAO3jB,OAAOgmoB,IAC1BC,GAAatinB,OAAOC,KAAKoinB,IAK/B,MAAO,IAAI9ioB,GAJOgjoB,IAAIC,KAAoBF,GAAWvtmB,OAAO,CAAC7mC,GAAQ4jC,GAAK7oB,UACnE/a,GACHu0oB,CAAC3wmB,IAAM0wmB,GAAgBv5nB,MACvB,CAAC,GAET,CAzDmBm5nB,CAAmCzomB,GAAK,KAEnD,MAAMp6B,GAAYo6B,GAAKnH,MAAM,EAAGmH,GAAK32C,OAAS,GACxCu/oB,GAAY5omB,GAAKA,GAAK32C,OAAS,GAC/B0/oB,GAAoBnjoB,GAAUjhB,OAAQqyK,IAAaA,GAASgye,SAAuC,mBAArBhye,GAASgye,SACvFC,GAAoB96O,GAAQ,YAAavoZ,IAC3C,OAAOgjoB,GAAUz1lB,MAAM,KAAMvtC,GACjC,GACMsjoB,GAAgBxB,GAAe,SAAUznpB,GAAO/H,IAClD,OAAO2lC,GAAQyqnB,QAAQn1lB,MAAM,KAAM,CAC/BlzD,GACA2lB,GACA1tB,GACA+wpB,IAER,GAMA,OAAO5inB,OAAOmpB,OAAO05lB,GAAc73O,SAAU,CACzC23O,QANJ,SAASA,KACLE,GAAcnvpB,QACdkvpB,GAAkBlvpB,QAClBgvpB,GAAkB1mnB,QAAS20I,IAAaA,GAASgye,UACrD,EAGIJ,UAAWK,GAAkB53O,SAC7B82O,UAAWe,GAAcf,UACzBC,YAAac,GAAcd,aAEnC,CACJ,CA5HWC,CAAsBX,GAAtBW,IAAyCximB,GACpD,CACA,SAAS0imB,GAAetopB,GAAO2lB,GAAW1tB,GAAO+wpB,IAC7C,QAAc3jpB,IAAVpN,GAAqB,CACrB,MAAM8nD,GAAOp6B,GAAU9gB,IAAK8uB,IAAOA,GAAG3zB,KACtC,OAAOgppB,GAAkB53O,SAASl+W,MAAM,KAAMnT,GAClD,CACA,MAAMA,GAAOp6B,GAAU9gB,IAAK8uB,IAAOA,GAAG3zB,GAAO/H,KAC7C,OAAO+wpB,GAAkB53O,SAASl+W,MAAM,KAAM,IAAInT,GAAM9nD,IAC5D,CA0QA,SAASixpB,GAAqBn3c,IAC1B,OAAOA,cAAoBl1K,SAAiBoL,OAAO8pK,IAAYA,EACnE,CACA,SAASo3c,GAAoBC,GAASC,IAClC,OAAOA,GAAcxkpB,IAAI,CAACykpB,GAAMj6nB,MAC5B,GAAI+5nB,GAAQ/5nB,cAAkBwN,MAAgB,CAC1C,MAAMigD,MAAO70C,OAAOmhnB,GAAQ/5nB,KAC5B,MAAO,CACH6oB,IAAKoxmB,GAAKpxmB,IACV6smB,eAAgBjokB,GAAKiokB,eACfjokB,GAAKiokB,eACLR,GACNS,aAAclokB,GAAKkokB,aAAelokB,GAAKkokB,aAAe,GACtDllpB,aAAcg9E,GAAKh9E,aAE3B,CACA,OAAOwppB,IAEf,CACA,SAASC,GAAuBC,IAC5B,OAAOA,GAAkB3kpB,IAAKvF,IACnBA,cAAmBu9B,SAAiBoL,OAAO3oC,IAAWA,GAErE,CACA,SAASmqpB,GAAqB3ppB,IAC1B,MAA4B,mBAAjBA,GACAA,KAEJA,EACX,CACA,SAAS4ppB,GAAoB1E,GAAc2E,IACvC,OAAO3E,GAAavgpB,OAAOklpB,GAC/B,CACA,SAASrH,KAEL,MADcr6mB,OAAO2+mB,GAAO,CAAE92lB,UAAU,EAAMmvc,UAAU,IAEpD,MAAM,IAAI15c,UAAU,2GAExB,MAAO,SACX,CASA,SAASwyC,GAAOj4B,IACZ15B,OAAO2xD,OAAOj4B,IACd,MAAM8plB,GAAmB5wjB,GAAWl5B,IACpC15B,cAAO6lB,oBAAoB6T,IAAQ19B,QAAS4rD,KAExC,IAAIA,GAAK1nD,WAAW,WA1Y5B,SAASsjC,GAAe9J,GAAQmrH,IAC5B,OAAO7kJ,OAAO0Y,UAAU8qB,eAAelK,KAAKI,GAAQmrH,GACxD,CA2YYrhH,CAAe9J,GAAQkuB,OACtB47jB,IACc,WAAT57jB,IAA8B,WAATA,IAA8B,cAATA,IACnC,CACb,MAAM67jB,GAAY/plB,GAAOkuB,KACpB2oU,GAAakzP,KAAc7wjB,GAAW6wjB,OACtCzjnB,OAAO+xU,SAAS0xS,KACjB9xjB,GAAO8xjB,GAEf,IAEG/plB,EACX,CAgBA,SAASgqlB,GAAkBhqlB,GAAQjyD,GAAO,IAEtC,OAAK+qF,GAAY94B,KAAW+5W,GAAO/5W,MAA4B,IAAhBjyD,GAAKzE,OACzC,CACHyE,KAAM,CAAC,QACPvJ,MAAOw7D,IAGF15B,OAAOC,KAAKy5B,IACb3kB,OAAO,CAAC7mC,GAAQ4jC,MACxB,GAAI5jC,GACA,OAAOA,GAEX,MAAMhQ,GAAQw7D,GAAO5nB,IAErB,OA3bR,SAAS0te,GAAY9ld,IACjB,OAAOk5B,GAAWl5B,KAAWA,GAAO8J,eAAe,YACvD,CAybYg8c,CAAYthhB,IACLgQ,KAEPskF,GAAYt0F,KACZu1a,GAAOv1a,KAldnB,SAASw1F,GAASh6B,IACd,MAAyB,iBAAXA,EAClB,CAidYg6B,CAASx1F,KAtdrB,SAASg6F,GAAUx+B,IACf,MAAyB,kBAAXA,EAClB,CAqdYw+B,CAAUh6F,KA1dtB,SAAS40F,GAASp5B,IACd,MAAyB,iBAAXA,EAClB,CAydYo5B,CAAS50F,KACTiE,GAAQjE,OA7cpB,SAASy1F,GAAcj6B,IACnB,IAJJ,SAASi5B,GAASj5B,IACd,OAAO62V,GAAa72V,MAAYv3D,GAAQu3D,GAC5C,CAESi5B,CAASj5B,IACV,OAAO,EAEX,MAAMiqlB,GAAkB3jnB,OAAOmnD,eAAeztB,IAC9C,OAAOiqlB,KAAoB3jnB,OAAO0Y,WAAiC,OAApBirmB,EACnD,CA0cYhwjB,CAAcz1F,IACPwlpB,GAAkBxlpB,GAAO,IAAIuJ,GAAMqqC,KAEvC,CACHrqC,KAAM,IAAIA,GAAMqqC,IAChB5zC,UACJ,GACD,EACP,CACA,SAAS0lpB,GAAsBC,GAAgBtkiB,IAC3C,IAAuB,IAAnBskiB,GACA,OAEJ,MAAMC,GAAqBD,GAAep8oB,KAAK60C,KAAK,KAC9C58C,GAAQ,IAAI+4C,MAAM,2BAA2B8mE,UAAeukiB,QAAwB3C,YAA2B5hiB,qBACrH7/G,SAAMxB,MAAQ2lpB,GAAe3lpB,MAC7BwB,GAAMokpB,mBAAqBA,GACrBpkpB,EACV,CAWA,SAASqkpB,EAA0BC,IAC/B,SAAIr4F,SACO,CACHs4F,4BAA4B,EAC5BC,6BAA6B,EAC7BC,yBAAyB,EACzBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,4BAA4B,KACzBN,IAGJ,CACHC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,yBAAyB,EACzBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,4BAA4B,EAEpC,CACA,SAASC,IAAsCL,+BAA6BD,gCACxE,OAAQ/qpB,IAAYgrpB,IAA+BD,GA3FvD,SAASO,GAA8BtrpB,GAAS2xnB,IAC5C,OAAO,SAAUjxnB,GAAOwC,IAChByunB,GAAOzunB,OAAOA,KAEdwnpB,GAD6BF,GAAkBtnpB,IACH,UAEhD,MAAMq3L,GAAYv6L,GAAQU,GAAOwC,IAKjC,OAJIyunB,GAAOjxnB,SAEPgqpB,GAD4BF,GAAkBjwd,IACH,SAExCA,EACX,CACJ,CA+EU+wd,CAA8BtrpB,GAAS,CACrCkD,OAASA,IAAW8npB,KAAgCO,GAAiBropB,IACrExC,MAAOA,IAAMqqpB,KAEf/qpB,EACV,CACA,SAASwrpB,IAAqCN,4BAA0BD,6BACpE,OAAQjrpB,IAAYkrpB,IAA4BD,GAhIpD,SAASQ,GAA6BzrpB,GAAS2xnB,IAC3C,OAAO,SAAUjxnB,GAAOwC,IACpB,MAAMwopB,GAAM/5B,GAAOzunB,OAAOA,IAAUu1F,GAAOv1F,IAAUA,GAC/Cq3L,GAAYv6L,GAAQU,GAAOgrpB,IACjC,OAAO/5B,GAAOjxnB,QAAU+3F,GAAO8hG,IAAaA,EAChD,CACJ,CA2HUkxd,CAA6BzrpB,GAAS,CACpCkD,OAASA,IAAWgopB,KAA6BK,GAAiBropB,IAClExC,MAAOA,IAAMuqpB,KAEfjrpB,EACV,CACA,SAASurpB,GAAiBropB,IACtB,OAAOA,GAAOyiB,KAAKqhB,WAAW,QAClC,CACA,SAAS2knB,IAAiCR,8BACtC,OAAQnrpB,IAAYmrpB,GAlDxB,SAASS,EAA0B5rpB,GAAS2xnB,IACxC,OAAO,SAAUjxnB,GAAOwC,IACpB,GAAIyunB,GAAOzunB,OAAOA,MAAYyU,MAAUolhB,kBACpC,MAAM,IAAIx9e,MAAM,WAAWr8C,GAAOyiB,iCAAiCsioB,+BAEvE,OAAOjopB,GAAQU,GAAOwC,GAC1B,CACJ,CA4CU0opB,CAA0B5rpB,GAAS,CACjCkD,OAASA,IAAWiopB,KAA6BI,GAAiBropB,MAEpElD,EACV,CACA,SAAS6rpB,EAAqBf,IAC1B,MAAO,CACH,CACIzinB,QAASy8mB,GACThrkB,SAAUgxkB,IAEd,CACIzinB,QAASw8mB,GACT57mB,WAAY6inB,GACZ9inB,KAAM,CAAC87mB,KAEX,CACIz8mB,QAAS08mB,GACT/7mB,KAAM,CAAC67mB,IACP57mB,WAAY4hnB,GAEhB,CACIxinB,QAASs8mB,GACTjqkB,OAAO,EACP1xC,KAAM,CAAC+7mB,IACP97mB,WAAYuinB,IAEhB,CACInjnB,QAASs8mB,GACTjqkB,OAAO,EACP1xC,KAAM,CAAC+7mB,IACP97mB,WAAYoinB,IAEhB,CACIhjnB,QAASs8mB,GACTjqkB,OAAO,EACP1xC,KAAM,CAAC+7mB,IACP97mB,WAAY0inB,IAGxB,CACA,SAASI,KACL,MAAO,CACH,CACI1jnB,QAAS28mB,GACTtqkB,OAAO,EACP1xC,KAAM,CAAC+7mB,IACP97mB,WAAY+inB,IAGxB,CACA,SAASF,GAAsBhB,IAC3B,OAAOA,EACX,CACA,SAASkB,GAA2BtkpB,IAChC,IAAKA,GAAO0jpB,2BACR,OAEJ,MAAMt0F,GAAahwhB,OAAOihB,QAAQy7lB,IAC7Bp+oB,OAAO,EAAC,CAAG6mpB,MAAmBA,GAAgB,GAC9C1mpB,IAAI,EAAEogB,MAAUA,IACrB,GAAImxiB,GAAWhtjB,OACX,MAAM,IAAIy1C,MAAM,+CAA+Cu3gB,GAC1DvxjB,IAAKogB,IAAS,IAAIA,OAClBy9B,KAAK,UAAU6kmB,gCAE5B,CA6BA,SAASiE,GAAcz5c,GAAW,CAAC,EAAG/qM,GAAS,CAAC,GAC5C,MAAO,CACH,CACI2gC,QAASw7mB,GACT56mB,WAAY+5mB,IAEhB,CAAE36mB,QAASy7mB,GAAgBhqkB,SAAUpyE,GAAOlH,cAC5C,CACI6nC,QAASi+K,GACTr9K,WAAYkhnB,GACZnhnB,KAAM,CAAC86mB,KAEX,CAAEz7mB,QAAS67mB,GAAmBpqkB,SAAU24H,IACxC,CACIpqK,QAAS+7mB,GACT97mB,YAAamqK,cAAoBl1K,MAAiBk1K,GAAWyxc,IAEjE,CACI77mB,QAAS47mB,GACTj7mB,KAAM,CAACk7mB,GAAmB,CAAC,IAAIlkJ,MAAOokJ,MACtCn7mB,WAAY2gnB,IAEhB,CACIvhnB,QAASq8mB,GACT5qkB,SAAUpyE,GAAOg+oB,aAAeh+oB,GAAOg+oB,aAAe,IAE1D,CACIr9mB,QAASu8mB,GACT57mB,KAAM,CAAC27mB,GAAeD,IACtBz7mB,WAAYmhnB,IAEhB,CACI/hnB,QAAS27mB,GACTlqkB,SAAUpyE,GAAO+9oB,eAAiB/9oB,GAAO+9oB,eAAiBR,IAE9D,CACI58mB,QAAS07mB,GACT/6mB,KAAM,CAACg7mB,GAAkBY,IACzB37mB,WAAYu8mB,IAEhB5B,GACAiD,GACAE,GACAM,GACAM,GACAkE,EAAqBnkpB,GAAOojpB,eAC5BiB,KAER,CA+EA,SAASI,GAAcC,GAAoB35c,GAAU/qM,GAAS,CAAC,GAC3D,MAAO,CACH,CACI2gC,QAASi8mB,GACT5pkB,OAAO,EACPZ,SAAUsykB,cAA8BtlnB,OAAS,CAAC,EAAIp/B,IAE1D,CACI2gC,QAAS87mB,GACTzpkB,OAAO,EACPZ,SAAU,CACNlhC,IAAKwzmB,cAA8BtlnB,OAC7BslnB,GAAmBlnpB,KACnBknpB,GACN3G,eAAkB/9oB,cAAkB61B,QAAmB71B,GAAO+9oB,eAExDR,GADAv9oB,GAAO+9oB,eAEbC,aAAgBh+oB,cAAkB61B,QAAmB71B,GAAOg+oB,aAEtD,GADAh+oB,GAAOg+oB,aAEbllpB,aAAgBkH,cAAkB61B,QAAmB71B,GAAOlH,kBAEtDuF,EADA2B,GAAOlH,eAIrB,CACI6nC,QAASk8mB,GACTv7mB,KAAM,CAACs7mB,GAAkBH,IACzBl7mB,WAAY4gnB,IAEhB,CACIxhnB,QAASg8mB,GACT3pkB,OAAO,EACPZ,SAAUsykB,cAA8BtlnB,OAClCslnB,GAAmBpspB,QACnByyM,IAEV,CACIpqK,QAASm8mB,GACT9pkB,OAAO,EACPpyC,YAAamqK,cAAoBl1K,MAAiBk1K,GAAW4xc,IAEjE,CACIh8mB,QAASo8mB,GACT/pkB,OAAO,EACP1xC,KAAM,CAACq7mB,GAAmB,CAAC,IAAIrkJ,MAAOwkJ,MACtCv7mB,WAAYghnB,IAEhB8B,KAER,CAAC,IAEKM,GAAe,MAArB,MAAMA,GACFl1oB,YAAYw8L,GAAUqzc,GAAUsF,GAAiBj1oB,GAAO8xZ,GAAOojP,IAAe,QAClD70oB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFomoB,IAprCV10oB,MAorC2CynM,IAprC3CznM,MAorCsEguoB,IAprCtEhuoB,MAorCoGgooB,IAprCpGhooB,MAorCsI2voB,IAprCtI3voB,MAorCwJksoB,GAAiB,GAprCzKlsoB,MAorCsMqtoB,GAA6B,IAA6D,QACvXttoB,KAAKm4B,UArrCkFl4B,KAAE,CAAAgO,KAqrCS0moB,IAAoB,QACtH30oB,KAAKo4B,UAtrCkFn4B,MAAE,GAsrC6B,EACrJ,OALK00oB,EAAe,KAoBfG,GAAkB,MAAxB,MAAMA,GACFr1oB,YAAYypB,GAAU6rnB,GAAiBjF,GAAgBx0e,GAAMu5e,IACzD70oB,KAAKkpB,SAAWA,GAChBlpB,KAAK+0oB,gBAAkBA,GACvB/0oB,KAAK8voB,eAAiBA,GACtB,MAAMkF,GAAQ9rnB,GAASr7B,IAAI,CAACyxf,GAASjne,MAGjC,MAAM0iL,GAF2Bg6c,GAAgBr3kB,QAEQrlD,IACzD,MAAO,IACAine,GACHvkT,YACAjyM,aAAc2ppB,GAAqBnzJ,GAAQx2f,cAC/C,GAEJgnpB,GAAezB,YAAY2G,GAC/B,CAEA9moB,cACIlO,KAAK8voB,eAAepB,eAAe1uoB,KAAKkpB,SAC5C,QAC4BlpB,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFumoB,IA3tCV70oB,MA2tC8C4soB,IA3tC9C5soB,MA2tC0E8soB,IA3tC1E9soB,MA2tCuGiuoB,IA3tCvGjuoB,MA2tCkI00oB,IA3tClI10oB,MA2tC8JqtoB,GAA6B,IAA6D,QAC/UttoB,KAAKm4B,UA5tCkFl4B,KAAE,CAAAgO,KA4tCS6moB,IAAuB,QACzH90oB,KAAKo4B,UA7tCkFn4B,MAAE,GA6tCgC,EACxJ,OAxBK60oB,EAAkB,KAwClB/gU,GAAW,MAAjB,MAAMA,GACF,cAAO5+P,CAAQ4lH,GAAU/qM,IACrB,MAAO,CACHszJ,SAAUqxf,GACVt8mB,UAAW,IAAIm8mB,GAAcz5c,GAAU/qM,KAE/C,CACA,iBAAOi7oB,CAAWyJ,GAAoB35c,GAAU/qM,GAAS,CAAC,GACtD,MAAO,CACHszJ,SAAUwxf,GACVz8mB,UAAW,IAAIo8mB,GAAcC,GAAoB35c,GAAU/qM,KAEnE,QAC4BgQ,KAAKU,UAAI,SAAA6N,IAAA,WAAAA,IAAwFwlU,GAAW,CAAoD,QAChK/zU,KAAKm4B,UA5vCkFl4B,KAAE,CAAAgO,KA4vCS8lU,IAAgB,QAClH/zU,KAAKo4B,UA7vCkFn4B,MAAE,GA6vCyB,EACjJ,OAhBK8zU,EAAW,KAoCjB,SAAShrV,MAAMggD,IAGX,MAAO,CAAEzgD,QAFOygD,GAAKsgN,MAEH1lO,MADJolB,GAAKl7C,IAAK8mQ,IAAYA,GAAQ1mP,MAEhD,CA8BA,SAAS1lB,GAAcO,MAAiBmspB,IACpC,MAAMpnpB,GAAM,IAAIo1C,IAChB,UAAWl6C,MAAMkspB,GACb,UAAWhnoB,MAAQllB,GAAG46B,MAAO,CACzB,MAAMuxnB,GAAkBrnpB,GAAI6a,IAAIuF,IAG5BpgB,GAAIq1C,IAAIj1B,GAFRinoB,GACmBC,CAACnspB,GAAOwC,KAAWzC,GAAGT,QAAQ4spB,GAAgBlspB,GAAOwC,IAASA,IAInEzC,GAAGT,QAEzB,CAEJ,OAAO,SAAUU,GAAQF,GAAc0C,IACnC,MAAMlD,GAAUuF,GAAI6a,IAAIld,GAAOyiB,MAC/B,OAAO3lB,GAAUA,GAAQU,GAAOwC,IAAUxC,EAC9C,CACJ,kDE5hDA,MACEqnD,UACAmrC,iBACA2lR,WACA5qR,iBACAqlF,4BACExsI,OACJ,IACE2xD,SACA4lQ,OACAnxT,UACEpG,QAEF8sB,QACAk5lB,oBACS5lK,QAAY,KAAeA,QACjCzuZ,IACHA,EAAS,SAAgB5iF,IACvB,OAAOA,EACT,GAEGwoV,IACHA,EAAO,SAAcxoV,IACnB,OAAOA,EACT,GAEG+9C,IACHA,EAAQ,SAAeg5X,GAAKmgO,GAAWtsmB,IACrC,OAAOmsY,GAAIh5X,MAAMm5lB,GAAWtsmB,GAC9B,GAEGqsmB,IACHA,EAAY,SAAmBE,GAAMvsmB,IACnC,OAAO,IAAIusmB,MAAQvsmB,GACrB,GAEF,MAAMwsmB,GAAeC,GAAQlkpB,MAAMw2C,UAAU1c,SACvCqqnB,GAAmBD,GAAQlkpB,MAAMw2C,UAAUsH,aAC3CsmmB,GAAWF,GAAQlkpB,MAAMw2C,UAAUuhN,KACnC0wJ,GAAYy7P,GAAQlkpB,MAAMw2C,UAAUhG,MACpC6zmB,GAAcH,GAAQlkpB,MAAMw2C,UAAUuH,QACtCummB,GAAoBJ,GAAQhqmB,OAAO1D,UAAUx9C,aAC7CurpB,GAAiBL,GAAQhqmB,OAAO1D,UAAU3G,UAC1C20mB,GAAcN,GAAQhqmB,OAAO1D,UAAU21B,OACvCs4kB,GAAgBP,GAAQhqmB,OAAO1D,UAAUz5B,SACzC2noB,GAAgBR,GAAQhqmB,OAAO1D,UAAUj2C,SACzCokpB,GAAaT,GAAQhqmB,OAAO1D,UAAU5yB,MACtCghoB,GAAuBV,GAAQpmnB,OAAO0Y,UAAU8qB,gBAChDujlB,GAAaX,GAAQhmkB,OAAO1nC,UAAUqzD,MACtCi7iB,GAqBN,SAASC,GAAY7+jB,IACnB,OAAO,WACL,QAAS8+jB,GAAQ7lmB,UAAUr+C,OAAQ22C,GAAO,IAAIz3C,MAAMglpB,IAAQC,GAAQ,EAAGA,GAAQD,GAAOC,KACpFxtmB,GAAKwtmB,IAAS9lmB,UAAU8lmB,IAE1B,OAAOnB,EAAU59jB,GAAMzuC,GACzB,CACF,CA5BwBstmB,CAAY9nmB,WAOpC,SAASinmB,GAAQh+jB,IACf,OAAO,SAAUqM,IACf,QAAS2yjB,GAAO/lmB,UAAUr+C,OAAQ22C,GAAO,IAAIz3C,MAAMklpB,GAAO,EAAIA,GAAO,EAAI,GAAInV,GAAO,EAAGA,GAAOmV,GAAMnV,KAClGt4lB,GAAKs4lB,GAAO,GAAK5wlB,UAAU4wlB,IAE7B,OAAOnllB,EAAMs7B,GAAMqM,GAAS96C,GAC9B,CACF,CAuBA,SAAS0tmB,GAASvzmB,GAAKiY,IACrB,IAAIu7lB,GAAoBjmmB,UAAUr+C,OAAS,QAAsB/D,IAAjBoiD,UAAU,GAAmBA,UAAU,GAAKmlmB,GACxFp6jB,GAIFA,EAAet4C,GAAK,MAEtB,IAAI7lB,GAAI89B,GAAM/oD,OACd,KAAOirB,MAAK,CACV,IAAIyS,GAAUqrB,GAAM99B,IACpB,GAAuB,iBAAZyS,GAAsB,CAC/B,MAAM6mnB,GAAYD,GAAkB5mnB,IAChC6mnB,KAAc7mnB,KAEXqxU,EAAShmT,MACZA,GAAM99B,IAAKs5nB,IAEb7mnB,GAAU6mnB,GAEd,CACAzzmB,GAAIpT,KAAW,CACjB,CACA,OAAOoT,EACT,CAOA,SAAS0zmB,GAAWz7lB,IAClB,QAAS9iC,GAAQ,EAAGA,GAAQ8iC,GAAM/oD,OAAQimB,KAChB69nB,GAAqB/6lB,GAAO9iC,MAElD8iC,GAAM9iC,IAAS,MAGnB,OAAO8iC,EACT,CAOA,SAASxzB,GAAM69D,IACb,MAAMqxjB,GAAYrhnB,EAAO,MACzB,UAAYq1D,GAAUv9F,MAAU+iD,EAAQm1C,IACd0wjB,GAAqB1wjB,GAAQqF,MAGjDgsjB,GAAUhsjB,IADRv5F,MAAMC,QAAQjE,IACMsppB,GAAWtppB,IACxBA,IAA0B,iBAAVA,IAAsBA,GAAMmS,cAAgB2vB,OAC/CzH,GAAMr6B,IAENA,IAI5B,OAAOuppB,EACT,CAQA,SAASC,GAAatxjB,GAAQxO,IAC5B,KAAkB,OAAXwO,IAAiB,CACtB,MAAMo/E,GAAOhJ,EAAyBp2E,GAAQxO,IAC9C,GAAI4tF,GAAM,CACR,GAAIA,GAAKl8J,IACP,OAAO8soB,GAAQ5we,GAAKl8J,KAEtB,GAA0B,mBAAfk8J,GAAKt3K,MACd,OAAOkopB,GAAQ5we,GAAKt3K,MAExB,CACAk4F,GAASjP,EAAeiP,GAC1B,CAIA,OAHA,SAASs9X,KACP,OAAO,IACT,CAEF,CAEA,MAAMi0L,GAASh2jB,EAAO,CAAC,IAAK,OAAQ,UAAW,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,MAAO,MAAO,MAAO,QAAS,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,SAAU,OAAQ,OAAQ,MAAO,WAAY,UAAW,OAAQ,WAAY,KAAM,YAAa,MAAO,UAAW,MAAO,SAAU,MAAO,MAAO,KAAM,KAAM,UAAW,KAAM,WAAY,aAAc,SAAU,OAAQ,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,MAAO,QAAS,MAAO,MAAO,QAAS,SAAU,KAAM,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,QAAS,MAAO,OAAQ,KAAM,WAAY,SAAU,SAAU,IAAK,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,UAAW,SAAU,SAAU,QAAS,SAAU,SAAU,OAAQ,SAAU,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,WAAY,QAAS,KAAM,QAAS,OAAQ,KAAM,QAAS,KAAM,IAAK,KAAM,MAAO,QAAS,QACn+Bi2jB,GAAQj2jB,EAAO,CAAC,MAAO,IAAK,WAAY,cAAe,eAAgB,eAAgB,gBAAiB,mBAAoB,SAAU,WAAY,OAAQ,OAAQ,UAAW,SAAU,OAAQ,IAAK,QAAS,WAAY,QAAS,QAAS,OAAQ,iBAAkB,SAAU,OAAQ,WAAY,QAAS,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,QAAS,SAAU,SAAU,OAAQ,WAAY,QAAS,OAAQ,QAAS,OAAQ,UAC3ck2jB,GAAal2jB,EAAO,CAAC,UAAW,gBAAiB,sBAAuB,cAAe,mBAAoB,oBAAqB,oBAAqB,iBAAkB,eAAgB,UAAW,UAAW,UAAW,UAAW,UAAW,iBAAkB,UAAW,UAAW,cAAe,eAAgB,WAAY,eAAgB,qBAAsB,cAAe,SAAU,iBAKhYm2jB,GAAgBn2jB,EAAO,CAAC,UAAW,gBAAiB,SAAU,UAAW,YAAa,mBAAoB,iBAAkB,gBAAiB,gBAAiB,gBAAiB,QAAS,YAAa,OAAQ,eAAgB,YAAa,UAAW,gBAAiB,SAAU,MAAO,aAAc,UAAW,QAChTo2jB,GAAWp2jB,EAAO,CAAC,OAAQ,WAAY,SAAU,UAAW,QAAS,SAAU,KAAM,aAAc,gBAAiB,KAAM,KAAM,QAAS,UAAW,WAAY,QAAS,OAAQ,KAAM,SAAU,QAAS,SAAU,OAAQ,OAAQ,UAAW,SAAU,MAAO,QAAS,MAAO,SAAU,aAAc,gBAGxSq2jB,GAAmBr2jB,EAAO,CAAC,UAAW,cAAe,aAAc,WAAY,YAAa,UAAW,UAAW,SAAU,SAAU,QAAS,YAAa,aAAc,iBAAkB,cAAe,SAC3MpqC,GAAOoqC,EAAO,CAAC,UAEf5iE,GAAO4iE,EAAO,CAAC,SAAU,SAAU,QAAS,MAAO,iBAAkB,eAAgB,uBAAwB,WAAY,aAAc,UAAW,SAAU,UAAW,cAAe,cAAe,UAAW,OAAQ,QAAS,QAAS,QAAS,OAAQ,UAAW,WAAY,eAAgB,SAAU,cAAe,WAAY,WAAY,UAAW,MAAO,WAAY,0BAA2B,wBAAyB,WAAY,YAAa,UAAW,eAAgB,OAAQ,MAAO,UAAW,SAAU,SAAU,OAAQ,OAAQ,WAAY,KAAM,YAAa,YAAa,QAAS,OAAQ,QAAS,OAAQ,OAAQ,UAAW,OAAQ,MAAO,MAAO,YAAa,QAAS,SAAU,MAAO,YAAa,WAAY,QAAS,OAAQ,QAAS,UAAW,aAAc,SAAU,OAAQ,UAAW,UAAW,cAAe,cAAe,UAAW,gBAAiB,sBAAuB,SAAU,UAAW,UAAW,aAAc,WAAY,MAAO,WAAY,MAAO,WAAY,OAAQ,OAAQ,UAAW,aAAc,QAAS,WAAY,QAAS,OAAQ,QAAS,OAAQ,UAAW,QAAS,MAAO,SAAU,OAAQ,QAAS,UAAW,WAAY,QAAS,YAAa,OAAQ,SAAU,SAAU,QAAS,QAAS,OAAQ,QAAS,SAC5tCorE,GAAMprE,EAAO,CAAC,gBAAiB,aAAc,WAAY,qBAAsB,YAAa,SAAU,gBAAiB,gBAAiB,UAAW,gBAAiB,iBAAkB,QAAS,OAAQ,KAAM,QAAS,OAAQ,gBAAiB,YAAa,YAAa,QAAS,sBAAuB,8BAA+B,gBAAiB,kBAAmB,KAAM,KAAM,IAAK,KAAM,KAAM,kBAAmB,YAAa,UAAW,UAAW,MAAO,WAAY,YAAa,MAAO,WAAY,OAAQ,eAAgB,YAAa,SAAU,cAAe,cAAe,gBAAiB,cAAe,YAAa,mBAAoB,eAAgB,aAAc,eAAgB,cAAe,KAAM,KAAM,KAAM,KAAM,aAAc,WAAY,gBAAiB,oBAAqB,SAAU,OAAQ,KAAM,kBAAmB,KAAM,MAAO,YAAa,IAAK,KAAM,KAAM,KAAM,KAAM,UAAW,YAAa,aAAc,WAAY,OAAQ,eAAgB,iBAAkB,eAAgB,mBAAoB,iBAAkB,QAAS,aAAc,aAAc,eAAgB,eAAgB,cAAe,cAAe,mBAAoB,YAAa,MAAO,OAAQ,QAAS,SAAU,OAAQ,MAAO,OAAQ,aAAc,SAAU,WAAY,UAAW,QAAS,SAAU,cAAe,SAAU,WAAY,cAAe,OAAQ,aAAc,sBAAuB,mBAAoB,eAAgB,SAAU,gBAAiB,sBAAuB,iBAAkB,IAAK,KAAM,KAAM,SAAU,OAAQ,OAAQ,cAAe,YAAa,UAAW,SAAU,SAAU,QAAS,OAAQ,kBAAmB,QAAS,mBAAoB,mBAAoB,eAAgB,cAAe,eAAgB,cAAe,aAAc,eAAgB,mBAAoB,oBAAqB,iBAAkB,kBAAmB,oBAAqB,iBAAkB,SAAU,eAAgB,QAAS,eAAgB,iBAAkB,WAAY,cAAe,UAAW,UAAW,YAAa,mBAAoB,cAAe,kBAAmB,iBAAkB,aAAc,OAAQ,KAAM,KAAM,UAAW,SAAU,UAAW,aAAc,UAAW,aAAc,gBAAiB,gBAAiB,QAAS,eAAgB,OAAQ,eAAgB,mBAAoB,mBAAoB,IAAK,KAAM,KAAM,QAAS,IAAK,KAAM,KAAM,IAAK,eAC5zEs2jB,GAASt2jB,EAAO,CAAC,SAAU,cAAe,QAAS,WAAY,QAAS,eAAgB,cAAe,aAAc,aAAc,QAAS,MAAO,UAAW,eAAgB,WAAY,QAAS,QAAS,SAAU,OAAQ,KAAM,UAAW,SAAU,gBAAiB,SAAU,SAAU,iBAAkB,YAAa,WAAY,cAAe,UAAW,UAAW,gBAAiB,WAAY,WAAY,OAAQ,WAAY,WAAY,aAAc,UAAW,SAAU,SAAU,cAAe,gBAAiB,uBAAwB,YAAa,YAAa,aAAc,WAAY,iBAAkB,iBAAkB,YAAa,UAAW,QAAS,UACrpBq/gB,GAAMr/gB,EAAO,CAAC,aAAc,SAAU,cAAe,YAAa,gBAGlEu2jB,GAAgB3wT,EAAK,6BACrB4wT,GAAW5wT,EAAK,yBAChB6wT,GAAc7wT,EAAK,iBACnB8wT,GAAY9wT,EAAK,gCACjB+wT,GAAY/wT,EAAK,kBACjBgxT,GAAiBhxT,EAAK,6FAEtBixT,GAAoBjxT,EAAK,yBACzBkxT,GAAkBlxT,EAAK,+DAEvBmxT,GAAenxT,EAAK,WACpBoxT,GAAiBpxT,EAAK,4BAE5B,IAAIqxT,GAA2B5onB,OAAO2xD,OAAO,CAC3CtF,UAAW,KACXi8jB,UAAWA,GACXG,gBAAiBA,GACjBE,eAAgBA,GAChBN,UAAWA,GACXK,aAAcA,GACdP,SAAUA,GACVI,eAAgBA,GAChBC,kBAAmBA,GACnBN,cAAeA,GACfE,YAAaA,KA0lCf,IAAIS,GA/gCJ,SAASC,KACP,IAAItjoB,GAAS67B,UAAUr+C,OAAS,QAAsB/D,IAAjBoiD,UAAU,GAAmBA,UAAU,UAtD9D77B,OAAW,IAAc,KAAOA,OAuD9C,MAAMyJ,GAAYi9I,IAAQ48e,GAAgB58e,IAG1C,GAFAj9I,GAAUs8C,QAAU,QACpBt8C,GAAU6/G,QAAU,IACftpH,KAAWA,GAAO3H,UAhEb,IAgEyB2H,GAAO3H,SAAS66I,WAAoClzI,GAAO45I,QAG5FnwI,UAAU2uE,aAAc,EACjB3uE,GAET,IACEpR,aACE2H,GACJ,MAAMujoB,GAAmBlroB,GACnBmvI,GAAgB+7f,GAAiB/7f,eAErCy4K,oBACAujV,uBACAlwf,QACAsG,WACAxD,cACAqtf,gBAAezjoB,GAAOyjoB,cAAgBzjoB,GAAO0joB,gBAC7CC,mBACAluI,aACAv8K,iBACEl5U,GACE4joB,GAAmBhqf,GAAQ1mH,UAC3BlgB,GAAYkvnB,GAAa0B,GAAkB,aAC3CxwnB,GAAS8unB,GAAa0B,GAAkB,UACxC1sI,GAAiBgrI,GAAa0B,GAAkB,eAChDC,GAAgB3B,GAAa0B,GAAkB,cAC/CE,GAAgB5B,GAAa0B,GAAkB,cAOrD,GAAmC,mBAAxBJ,GAAoC,CAC7C,MAAMrpoB,GAAW9B,GAASknC,cAAc,YACpCplC,GAASwoC,SAAWxoC,GAASwoC,QAAQ62G,gBACvCnhJ,GAAW8B,GAASwoC,QAAQ62G,cAEhC,CACA,IAAIuqf,GACAhnS,GAAY,GAChB,MACE84J,kBACAmuI,sBACAC,0BACAxjf,yBACEpoJ,IAEF6roB,eACEX,GACJ,IAAIrliB,GApEG,CACLimiB,wBAAyB,GACzBC,sBAAuB,GACvBC,uBAAwB,GACxBC,yBAA0B,GAC1BC,uBAAwB,GACxBC,wBAAyB,GACzBC,sBAAuB,GACvBC,oBAAqB,GACrBC,uBAAwB,IA+D1Bl7nB,GAAU2uE,YAAiC,mBAAZ38C,GAAmD,mBAAlBqomB,IAAgCjuI,SAAwDp8gB,IAAtCo8gB,GAAeC,mBACjI,MACE4sI,iBACAC,YACAC,eACAC,aACAC,aACAE,qBACAC,mBACAE,mBACEC,GACJ,IACEL,eAAgB6B,IACdxB,GAMAyB,GAAe,KACnB,MAAMC,GAAuBjD,GAAS,CAAC,EAAG,IAAIM,MAAWC,MAAUC,MAAeE,MAAaxgmB,KAE/F,IAAIgjmB,GAAe,KACnB,MAAMC,GAAuBnD,GAAS,CAAC,EAAG,IAAIt4nB,MAASguI,MAAQkrf,MAAWj3C,KAO1E,IAAIy5C,GAA0BzqnB,OAAOu3T,KAAKnxT,EAAO,KAAM,CACrDsknB,aAAc,CACZ7+b,UAAU,EACVj2H,cAAc,EACdD,YAAY,EACZz3F,MAAO,MAETyspB,mBAAoB,CAClB9+b,UAAU,EACVj2H,cAAc,EACdD,YAAY,EACZz3F,MAAO,MAET0spB,+BAAgC,CAC9B/+b,UAAU,EACVj2H,cAAc,EACdD,YAAY,EACZz3F,OAAO,MAIP2spB,GAAc,KAEdC,GAAc,KAEdC,IAAkB,EAElBC,IAAkB,EAElBC,IAA0B,EAG1BC,IAA2B,EAI3BC,IAAqB,EAIrBC,IAAe,EAEfC,IAAiB,EAEjBC,GAAa,EAGbj8nB,GAAa,EAKbk8nB,IAAa,EAGbC,IAAsB,EAGtBC,IAAsB,EAItBC,IAAe,EAcfC,GAAuB,EAGvBC,IAAe,EAGfC,IAAW,EAEXC,GAAe,CAAC,EAEhBC,GAAkB,KACtB,MAAMC,GAA0B3E,GAAS,CAAC,EAAG,CAAC,iBAAkB,QAAS,WAAY,OAAQ,gBAAiB,OAAQ,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,QAAS,UAAW,WAAY,WAAY,YAAa,SAAU,QAAS,MAAO,WAAY,QAAS,QAAS,QAAS,QAE1R,IAAI4E,GAAgB,KACpB,MAAMC,GAAwB7E,GAAS,CAAC,EAAG,CAAC,QAAS,QAAS,MAAO,SAAU,QAAS,UAExF,IAAI8E,GAAsB,KAC1B,MAAMC,GAA8B/E,GAAS,CAAC,EAAG,CAAC,MAAO,QAAS,MAAO,KAAM,QAAS,OAAQ,UAAW,cAAe,OAAQ,UAAW,QAAS,QAAS,QAAS,UAClKgF,GAAmB,qCACnB1jJ,GAAgB,6BAChB2jJ,GAAiB,+BAEvB,IAAIC,GAAYD,GACZE,IAAiB,EAEjBC,GAAqB,KACzB,MAAMC,GAA6BrF,GAAS,CAAC,EAAG,CAACgF,GAAkB1jJ,GAAe2jJ,IAAiB7F,IACnG,IAAIkG,GAAiCtF,GAAS,CAAC,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,UACvEuF,GAA0BvF,GAAS,CAAC,EAAG,CAAC,mBAK5C,MAAMwF,GAA+BxF,GAAS,CAAC,EAAG,CAAC,QAAS,QAAS,OAAQ,IAAK,WAElF,IAAIyF,GAAoB,KACxB,MAAMC,GAA+B,CAAC,wBAAyB,aAE/D,IAAIzF,GAAoB,KAEpB0F,GAAS,KAGb,MAAMC,GAAcpvoB,GAASknC,cAAc,QACrCmomB,GAAoB,SAA2BC,IACnD,OAAOA,cAAqB/skB,QAAU+skB,cAAqBplkB,QAC7D,EAOMqlkB,GAAe,WACnB,IAAI92kB,GAAMj1B,UAAUr+C,OAAS,QAAsB/D,IAAjBoiD,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/E,IAAI2rmB,IAAUA,KAAW12kB,GAsHzB,MAlHKA,IAAsB,iBAARA,MACjBA,GAAM,CAAC,GAGTA,GAAM/9C,GAAM+9C,IACZw2kB,IAEgE,IAAhEC,GAA6BtqpB,QAAQ6zE,GAAIw2kB,mBA7BT,YA6BiEx2kB,GAAIw2kB,kBAErGxF,GAA0C,0BAAtBwF,GAAgDrG,GAAiBD,GAErF6D,GAAevD,GAAqBxwkB,GAAK,gBAAkB+wkB,GAAS,CAAC,EAAG/wkB,GAAI+zkB,aAAc/C,IAAqBgD,GAC/GC,GAAezD,GAAqBxwkB,GAAK,gBAAkB+wkB,GAAS,CAAC,EAAG/wkB,GAAIi0kB,aAAcjD,IAAqBkD,GAC/GiC,GAAqB3F,GAAqBxwkB,GAAK,sBAAwB+wkB,GAAS,CAAC,EAAG/wkB,GAAIm2kB,mBAAoBhG,IAAkBiG,GAC9HP,GAAsBrF,GAAqBxwkB,GAAK,qBAAuB+wkB,GAAS9unB,GAAM6znB,IAA8B91kB,GAAI+2kB,kBAAmB/F,IAAqB8E,GAChKH,GAAgBnF,GAAqBxwkB,GAAK,qBAAuB+wkB,GAAS9unB,GAAM2znB,IAAwB51kB,GAAIg3kB,kBAAmBhG,IAAqB4E,GACpJH,GAAkBjF,GAAqBxwkB,GAAK,mBAAqB+wkB,GAAS,CAAC,EAAG/wkB,GAAIy1kB,gBAAiBzE,IAAqB0E,GACxHnB,GAAc/D,GAAqBxwkB,GAAK,eAAiB+wkB,GAAS,CAAC,EAAG/wkB,GAAIu0kB,YAAavD,IAAqB,CAAC,EAC7GwD,GAAchE,GAAqBxwkB,GAAK,eAAiB+wkB,GAAS,CAAC,EAAG/wkB,GAAIw0kB,YAAaxD,IAAqB,CAAC,EAC7GwE,KAAehF,GAAqBxwkB,GAAK,iBAAkBA,GAAIw1kB,aAC/Df,IAA0C,IAAxBz0kB,GAAIy0kB,gBACtBC,IAA0C,IAAxB10kB,GAAI00kB,gBACtBC,GAA0B30kB,GAAI20kB,0BAA2B,EACzDC,IAA4D,IAAjC50kB,GAAI40kB,yBAC/BC,GAAqB70kB,GAAI60kB,qBAAsB,EAC/CC,IAAoC,IAArB90kB,GAAI80kB,aACnBC,GAAiB/0kB,GAAI+0kB,iBAAkB,EACvCE,GAAaj1kB,GAAIi1kB,aAAc,EAC/BC,GAAsBl1kB,GAAIk1kB,sBAAuB,EACjDC,GAAsBn1kB,GAAIm1kB,sBAAuB,EACjDp8nB,EAAainD,GAAIjnD,aAAc,EAC/Bq8nB,IAAoC,IAArBp1kB,GAAIo1kB,aACnBC,EAAuBr1kB,GAAIq1kB,uBAAwB,EACnDC,IAAoC,IAArBt1kB,GAAIs1kB,aACnBC,GAAWv1kB,GAAIu1kB,WAAY,EAC3BzB,GAAmB9zkB,GAAIi3kB,oBAAsBhF,GAC7CgE,GAAYj2kB,GAAIi2kB,WAAaD,GAC7BK,GAAiCr2kB,GAAIq2kB,gCAAkCA,GACvEC,GAA0Bt2kB,GAAIs2kB,yBAA2BA,GACzDnC,GAA0Bn0kB,GAAIm0kB,yBAA2B,CAAC,EACtDn0kB,GAAIm0kB,yBAA2ByC,GAAkB52kB,GAAIm0kB,wBAAwBC,gBAC/ED,GAAwBC,aAAep0kB,GAAIm0kB,wBAAwBC,cAEjEp0kB,GAAIm0kB,yBAA2ByC,GAAkB52kB,GAAIm0kB,wBAAwBE,sBAC/EF,GAAwBE,mBAAqBr0kB,GAAIm0kB,wBAAwBE,oBAEvEr0kB,GAAIm0kB,yBAAiG,kBAA/Dn0kB,GAAIm0kB,wBAAwBG,iCACpEH,GAAwBG,+BAAiCt0kB,GAAIm0kB,wBAAwBG,gCAEnFO,KACFH,IAAkB,GAEhBQ,KACFD,IAAa,GAGXO,KACFzB,GAAehD,GAAS,CAAC,EAAG9/lB,IAC5BgjmB,GAAe,IACW,IAAtBuB,GAAa/8nB,OACfs4nB,GAASgD,GAAc1C,IACvBN,GAASkD,GAAcx7nB,MAEA,IAArB+8nB,GAAa/uf,MACfsqf,GAASgD,GAAczC,IACvBP,GAASkD,GAAcxtf,IACvBsqf,GAASkD,GAAcv5C,MAEO,IAA5B86C,GAAajE,aACfR,GAASgD,GAAcxC,IACvBR,GAASkD,GAAcxtf,IACvBsqf,GAASkD,GAAcv5C,MAEG,IAAxB86C,GAAa7D,SACfZ,GAASgD,GAActC,IACvBV,GAASkD,GAActC,IACvBZ,GAASkD,GAAcv5C,MAIvB16hB,GAAInnD,WACFk7nB,KAAiBC,KACnBD,GAAe9xnB,GAAM8xnB,KAEvBhD,GAASgD,GAAc/zkB,GAAInnD,SAAUm4nB,KAEnChxkB,GAAIlnD,WACFm7nB,KAAiBC,KACnBD,GAAehynB,GAAMgynB,KAEvBlD,GAASkD,GAAcj0kB,GAAIlnD,SAAUk4nB,KAEnChxkB,GAAI+2kB,mBACNhG,GAAS8E,GAAqB71kB,GAAI+2kB,kBAAmB/F,IAEnDhxkB,GAAIy1kB,kBACFA,KAAoBC,KACtBD,GAAkBxznB,GAAMwznB,KAE1B1E,GAAS0E,GAAiBz1kB,GAAIy1kB,gBAAiBzE,KAG7CsE,KACFvB,GAAa,UAAW,GAGtBgB,IACFhE,GAASgD,GAAc,CAAC,OAAQ,OAAQ,SAGtCA,GAAaxzY,QACfwwY,GAASgD,GAAc,CAAC,iBACjBQ,GAAY2C,OAEjBl3kB,GAAIm3kB,qBAAsB,CAC5B,GAAmD,mBAAxCn3kB,GAAIm3kB,qBAAqBjwT,WAClC,MAAMwpT,GAAgB,+EAExB,GAAwD,mBAA7C1wkB,GAAIm3kB,qBAAqB/vT,gBAClC,MAAMspT,GAAgB,oFAGxBuC,GAAqBjzkB,GAAIm3kB,qBAEzBlrS,GAAYgnS,GAAmB/rT,WAAW,GAC5C,WAE6Bv+V,IAAvBsqpB,KACFA,GA5Y0B,SAAmC7qT,GAAcgvT,IACjF,GAA4B,iBAAjBhvT,IAAkE,mBAA9BA,GAAaC,aAC1D,OAAO,KAKT,IAAIwlM,GAAS,KACb,MAAMwpH,GAAY,wBACdD,IAAqBA,GAAkBp2f,aAAaq2f,MACtDxpH,GAASupH,GAAkBx2f,aAAay2f,KAE1C,MAAMC,GAAa,aAAezpH,GAAS,IAAMA,GAAS,IAC1D,IACE,OAAOzlM,GAAaC,aAAaivT,GAAY,CAC3CpwT,WAAWzuU,IACFA,GAET2uU,gBAAgBmwT,IACPA,IAGb,OAIExooB,eAAQ0zB,KAAK,uBAAyB60mB,GAAa,0BAC5C,IACT,CACF,CA+W6BE,CAA0BpvT,GAAc1xM,KAGpC,OAAvBu8f,IAAoD,iBAAdhnS,KACxCA,GAAYgnS,GAAmB/rT,WAAW,KAK1C7rQ,GACFA,EAAOrb,IAET02kB,GAAS12kB,GACX,EAIMy3kB,GAAe1G,GAAS,CAAC,EAAG,IAAIO,MAAUC,MAAeC,KACzDkG,GAAkB3G,GAAS,CAAC,EAAG,IAAIU,MAAaC,KAoFhDiG,GAAe,SAAsBl2f,IACzC4yP,GAAU17X,GAAU6/G,QAAS,CAC3BpuG,QAASq3H,KAEX,IAEEuxf,GAAcvxf,IAAMp+F,YAAYo+F,GAClC,OACEn/H,GAAOm/H,GACT,CACF,EAOMm2f,GAAmB,SAA0B9vpB,GAAMsiC,IACvD,IACEiqX,GAAU17X,GAAU6/G,QAAS,CAC3BoiL,UAAWxwR,GAAQytnB,iBAAiB/vpB,IACpC0pE,KAAMpnC,IAEV,OACEiqX,GAAU17X,GAAU6/G,QAAS,CAC3BoiL,UAAW,KACXppP,KAAMpnC,IAEV,CAGA,GAFAA,GAAQ8zC,gBAAgBp2E,IAEX,OAATA,GACF,GAAImtpB,IAAcC,GAChB,IACEyC,GAAavtnB,GACf,OAAa,MAEb,IACEA,GAAQ83I,aAAap6K,GAAM,GAC7B,OAAa,CAGnB,EAOMgwpB,GAAgB,SAAuBv2kB,IAE3C,IAAIqlB,GAAM,KACNmxjB,GAAoB,KACxB,GAAIh/nB,EACFwoD,GAAQ,oBAAsBA,OACzB,CAEL,MAAM00B,GAAUm6iB,GAAY7ukB,GAAO,eACnCw2kB,GAAoB9hjB,IAAWA,GAAQ,EACzC,CAC0B,0BAAtBugjB,IAAiDP,KAAcD,KAEjEz0kB,GAAQ,iEAAmEA,GAAQ,kBAErF,MAAMy2kB,GAAe/E,GAAqBA,GAAmB/rT,WAAW3lR,IAASA,GAKjF,GAAI00kB,KAAcD,GAChB,IACEpvjB,IAAM,IAAI+9a,IAAY71J,gBAAgBkpS,GAAcxB,GACtD,OAAa,CAGf,IAAK5vjB,KAAQA,GAAIztD,gBAAiB,CAChCytD,GAAMm+a,GAAekzI,eAAehC,GAAW,WAAY,MAC3D,IACErvjB,GAAIztD,gBAAgBgoR,UAAY+0V,GAAiBjqS,GAAY+rS,EAC/D,OACE,CAEJ,CACA,MAAMl0pB,GAAO8iG,GAAI9iG,MAAQ8iG,GAAIztD,gBAK7B,OAJIooC,IAASw2kB,IACXj0pB,GAAKq+K,aAAa56J,GAASwtQ,eAAegjY,IAAoBj0pB,GAAKmmS,WAAW,IAAM,MAGlFgsX,KAAcD,GACTrmf,GAAqB3sG,KAAK4jC,GAAKmujB,GAAiB,OAAS,QAAQ,GAEnEA,GAAiBnujB,GAAIztD,gBAAkBr1C,EAChD,EAOMo0pB,GAAsB,SAA6Btif,IACvD,OAAOs9e,GAAmBlwlB,KAAK4yG,GAAKlN,eAAiBkN,GAAMA,GAE3DtQ,GAAWC,aAAeD,GAAW6yf,aAAe7yf,GAAWE,UAAYF,GAAW8yf,4BAA8B9yf,GAAW+yf,mBAAoB,KACrJ,EAOMC,GAAe,SAAsBlunB,IACzC,OAAOA,cAAmByonB,KAAgD,iBAArBzonB,GAAQ84H,UAAwD,iBAAxB94H,GAAQ7H,aAA2D,mBAAxB6H,GAAQi5B,eAAgCj5B,GAAQs8H,sBAAsBisf,KAAoD,mBAA5BvonB,GAAQ8zC,iBAAkE,mBAAzB9zC,GAAQ83I,cAA+D,iBAAzB93I,GAAQk4H,cAA6D,mBAAzBl4H,GAAQ+3I,cAAgE,mBAA1B/3I,GAAQspS,cACza,EAOM6kV,GAAU,SAAiB3wpB,IAC/B,MAAuB,mBAAT46J,IAAuB56J,cAAiB46J,EACxD,EACA,SAASg2f,GAAcpriB,GAAOy4C,GAAan+J,IACzCmopB,GAAaziiB,GAAOI,KAClBA,GAAKxqD,KAAKrqC,GAAWktI,GAAan+J,GAAMgvpB,GAAM,EAElD,CAUA,MAAM+B,GAAoB,SAA2B5yf,IACnD,IAAIh0G,GAAU,KAId,GAFA2mmB,GAAcpriB,GAAMqmiB,uBAAwB5tf,GAAa,MAErDyyf,GAAazyf,IACf8xf,UAAa9xf,KACN,EAGT,MAAM5C,GAAU+tf,GAAkBnrf,GAAY3C,UAiB9C,GAfAs1f,GAAcpriB,GAAMwmiB,oBAAqB/tf,GAAa,CACpD5C,WACAy1f,YAAa3E,KAGXluf,GAAY6tK,kBAAoB6kV,GAAQ1yf,GAAYq9K,oBAAsButU,GAAW,UAAW5qf,GAAYs7J,YAAcsvV,GAAW,UAAW5qf,GAAYtjI,cA7pB1I,IAkqBlBsjI,GAAYzD,UAKZ0yf,IAtqBG,IAsqBajvf,GAAYzD,UAAkCquf,GAAW,UAAW5qf,GAAYn+J,MAClGiwpB,UAAa9xf,KACN,EAGT,IAAKkuf,GAAa9wf,KAAYsxf,GAAYtxf,IAAU,CAElD,IAAKsxf,GAAYtxf,KAAY01f,GAAsB11f,MAC7Ckxf,GAAwBC,wBAAwBtqkB,QAAU2mkB,GAAW0D,GAAwBC,aAAcnxf,KAG3Gkxf,GAAwBC,wBAAwB3ikB,UAAY0ikB,GAAwBC,aAAanxf,KACnG,OAAO,EAIX,GAAIqyf,KAAiBG,GAAgBxyf,IAAU,CAC7C,MAAMhgG,GAAa+vlB,GAAcntf,KAAgBA,GAAY5iG,WACvDgnO,GAAa8oX,GAAcltf,KAAgBA,GAAYokI,WAC7D,GAAIA,IAAchnO,GAEhB,QAAS5gC,GADU4nQ,GAAWv9R,OACJ,EAAG21B,IAAK,IAAKA,GAAG,CACxC,MAAMu2nB,GAAa12nB,GAAU+nQ,GAAW5nQ,KAAI,GAC5Cu2nB,GAAWC,gBAAkBhzf,GAAYgzf,gBAAkB,GAAK,EAChE51lB,GAAWk/G,aAAay2e,GAAYxyI,GAAevgX,IACrD,CAEJ,CACA8xf,UAAa9xf,KACN,CACT,CAOA,OALIA,cAAuBiD,KAhRA,SAA8B1+H,IACzD,IAAIu2B,GAASqylB,GAAc5onB,MAGtBu2B,KAAWA,GAAOsiG,WACrBtiG,GAAS,CACP2hG,aAAc2zf,GACdhzf,QAAS,aAGb,MAAMA,GAAUitf,GAAkB9lnB,GAAQ64H,SACpC61f,GAAgB5I,GAAkBvvlB,GAAOsiG,SAC/C,QAAKkzf,GAAmB/rnB,GAAQk4H,gBAG5Bl4H,GAAQk4H,eAAiB+vW,GAIvB1xc,GAAO2hG,eAAiB0zf,GACP,QAAZ/yf,GAKLtiG,GAAO2hG,eAAiByzf,GACP,QAAZ9yf,KAAwC,mBAAlB61f,IAAsCzC,GAA+ByC,OAIrFrB,GAAax0f,IAE1B74H,GAAQk4H,eAAiByzf,GAIvBp1lB,GAAO2hG,eAAiB0zf,GACP,SAAZ/yf,GAILtiG,GAAO2hG,eAAiB+vW,GACP,SAAZpvW,IAAsBqzf,GAAwBwC,MAIxCpB,GAAgBz0f,IAE7B74H,GAAQk4H,eAAiB0zf,KAIvBr1lB,GAAO2hG,eAAiB+vW,KAAkBikJ,GAAwBwC,KAGlEn4lB,GAAO2hG,eAAiByzf,KAAqBM,GAA+ByC,OAKxEpB,GAAgBz0f,MAAaszf,GAA6Btzf,MAAaw0f,GAAax0f,OAGpE,0BAAtBuzf,KAAiDL,GAAmB/rnB,GAAQk4H,eAQlF,CAyMyCy2f,CAAqBlzf,MAK3C,aAAZ5C,IAAsC,YAAZA,IAAqC,aAAZA,KAA2Bwtf,GAAW,8BAA+B5qf,GAAYs7J,YACvIw2V,GAAa9xf,KACN,IAGLgvf,IAvtBA,IAutBsBhvf,GAAYzD,WAEpCvwG,GAAUg0G,GAAYtjI,YACtBstnB,GAAa,CAAC+B,GAAeC,GAAUC,IAAcpge,KACnD7/H,GAAUw+lB,GAAcx+lB,GAAS6/H,GAAM,IAAG,GAExC7rB,GAAYtjI,cAAgBsvB,KAC9BwiW,GAAU17X,GAAU6/G,QAAS,CAC3BpuG,QAASy7H,GAAY3jI,cAEvB2jI,GAAYtjI,YAAcsvB,KAI9B2mmB,GAAcpriB,GAAMkmiB,sBAAuBztf,GAAa,OACjD,EACT,EAUMmzf,GAAoB,SAA2BC,GAAO7qK,GAAQxmf,IAElE,GAAIwtpB,KAA4B,OAAXhnK,IAA8B,SAAXA,MAAuBxmf,MAAS2f,IAAY3f,MAAS+upB,IAC3F,OAAO,EAMT,KAAIjC,IAAoBF,GAAYpmK,MAAWqiK,GAAWsB,GAAW3jK,QAAoBqmK,KAAmBhE,GAAWuB,GAAW5jK,KAAgB,IAAK6lK,GAAa7lK,KAAWomK,GAAYpmK,KACzL,KAIAuqK,GAAsBM,MAAW9E,GAAwBC,wBAAwBtqkB,QAAU2mkB,GAAW0D,GAAwBC,aAAc6E,KAAU9E,GAAwBC,wBAAwB3ikB,UAAY0ikB,GAAwBC,aAAa6E,OAAY9E,GAAwBE,8BAA8BvqkB,QAAU2mkB,GAAW0D,GAAwBE,mBAAoBjmK,KAAW+lK,GAAwBE,8BAA8B5ikB,UAAY0ikB,GAAwBE,mBAAmBjmK,MAGve,OAAXA,IAAmB+lK,GAAwBG,iCAAmCH,GAAwBC,wBAAwBtqkB,QAAU2mkB,GAAW0D,GAAwBC,aAAcxspB,KAAUuspB,GAAwBC,wBAAwB3ikB,UAAY0ikB,GAAwBC,aAAaxspB,MAClS,OAAO,WAGAiupB,GAAoBznK,MAAoBqiK,GAAWqD,GAAkBzD,GAAczopB,GAAOuqpB,GAAiB,OAA6B,QAAX/jK,IAA+B,eAAXA,IAAsC,SAAXA,IAAgC,WAAV6qK,IAAwD,IAAlC3I,GAAc1opB,GAAO,WAAkB+tpB,GAAcsD,QAAmBtE,IAA4BlE,GAAWyB,GAAmB7B,GAAczopB,GAAOuqpB,GAAiB,OAAiBvqpB,GAC1Z,OAAO,EAET,OAAO,CACT,EASM+wpB,GAAwB,SAA+B11f,IAC3D,MAAmB,mBAAZA,IAAgCmtf,GAAYntf,GAASovf,GAC9D,EAWM6G,GAAsB,SAA6Brzf,IAEvD2yf,GAAcpriB,GAAMomiB,yBAA0B3tf,GAAa,MAC3D,MACEa,eACEb,GAEJ,IAAKa,IAAc4xf,GAAazyf,IAC9B,OAEF,MAAMszf,GAAY,CAChB52V,SAAU,GACV6kM,UAAW,GACXgyJ,UAAU,EACVC,kBAAmBpF,GACnBqF,mBAAe3wpB,GAEjB,IAAIgvB,GAAI+uI,GAAWh6J,OAEnB,KAAOirB,MAAK,CACV,MAAMmpI,GAAO4F,GAAW/uI,KAEtB7vB,QACAw6J,gBACA16J,MAAOw/f,IACLtmW,GACEstV,GAAS4iK,GAAkBlppB,IACjC,IAAIF,GAAiB,UAATE,GAAmBs/f,GAAYmpJ,GAAWnpJ,IAkBtD,GAhBA+xJ,GAAU52V,SAAW6rL,GACrB+qK,GAAU/xJ,UAAYx/f,GACtBuxpB,GAAUC,UAAW,EACrBD,GAAUG,mBAAgB3wpB,EAC1B6vpB,GAAcpriB,GAAMumiB,sBAAuB9tf,GAAaszf,IACxDvxpB,GAAQuxpB,GAAU/xJ,UAIdiuJ,IAAoC,OAAXjnK,IAA8B,SAAXA,MAE9CwpK,GAAiB9vpB,GAAM+9J,IAEvBj+J,GAhmB8B,gBAgmBQA,IAGpCktpB,IAAgBrE,GAAW,gCAAiC7opB,IAAQ,CACtEgwpB,GAAiB9vpB,GAAM+9J,IACvB,QACF,CAQA,GANIszf,GAAUG,gBAId1B,GAAiB9vpB,GAAM+9J,KAElBszf,GAAUC,UACb,SAGF,IAAKxE,IAA4BnE,GAAW,OAAQ7opB,IAAQ,CAC1DgwpB,GAAiB9vpB,GAAM+9J,IACvB,QACF,CAEIgvf,IACFhF,GAAa,CAAC+B,GAAeC,GAAUC,IAAcpge,KACnD9pL,GAAQyopB,GAAczopB,GAAO8pL,GAAM,IAAG,GAI1C,MAAMune,GAAQjI,GAAkBnrf,GAAY3C,UAC5C,GAAK81f,GAAkBC,GAAO7qK,GAAQxmf,IAItC,IAAIqrpB,IAA8C,iBAAjB7qT,IAAsE,mBAAlCA,GAAamxT,mBAC5Ej3f,GACF,OAAQ8lM,GAAamxT,iBAAiBN,GAAO7qK,KAC3C,IAAK,cAEDxmf,GAAQqrpB,GAAmB/rT,WAAWt/V,IACtC,MAEJ,IAAK,mBAEDA,GAAQqrpB,GAAmB7rT,gBAAgBx/V,IAOrD,IACM06J,GACFuD,GAAYm2c,eAAe15c,GAAcx6J,GAAMF,IAG/Ci+J,GAAYqc,aAAap6K,GAAMF,IAE7B0wpB,GAAazyf,IACf8xf,GAAa9xf,IAEbmqf,GAASr3nB,GAAU6/G,QAEvB,OAAa,EACf,CAEAgghB,GAAcpriB,GAAMimiB,wBAAyBxtf,GAAa,KAC5D,EAMM2zf,GAAqB,SAASA,GAAmBr2C,IACrD,IAAIs2C,GAAa,KACjB,MAAMC,GAAiBxB,GAAoB/0C,IAG3C,IADAq1C,GAAcpriB,GAAMsmiB,wBAAyBvwC,GAAU,MAChDs2C,GAAaC,GAAe9zf,YAEjC4yf,GAAcpriB,GAAMymiB,uBAAwB4F,GAAY,MAExDhB,GAAkBgB,IAElBP,GAAoBO,IAEhBA,GAAW5nmB,mBAAmBs9Q,IAChCqqV,GAAmBC,GAAW5nmB,SAIlC2mmB,GAAcpriB,GAAMmmiB,uBAAwBpwC,GAAU,KACxD,EAEAxqlB,UAAUC,SAAW,SAAU2oD,IAC7B,IAAIvB,GAAMj1B,UAAUr+C,OAAS,QAAsB/D,IAAjBoiD,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC3EjnD,GAAO,KACP61pB,GAAe,KACf9zf,GAAc,KACd+zf,GAAa,KASjB,GALA1D,IAAkB30kB,GACd20kB,KACF30kB,GAAQ,eAGW,iBAAVA,KAAuBg3kB,GAAQh3kB,IACxC,IAA8B,mBAAnBA,GAAM9lC,SAMf,MAAMi1mB,GAAgB,8BAJtB,GAAqB,iBADrBnvkB,GAAQA,GAAM9lC,YAEZ,MAAMi1mB,GAAgB,kCAG0B,CAItD,IAAK/3nB,GAAU2uE,YACb,OAAO/lB,GAYT,GATKyzkB,GACH8B,GAAa92kB,IAGfrnD,GAAU6/G,QAAU,GAEC,iBAAVj3D,KACTg0kB,IAAW,GAETA,IAEF,GAAIh0kB,GAAM2hF,SAAU,CAClB,MAAMD,GAAU+tf,GAAkBzvkB,GAAM2hF,UACxC,IAAK6wf,GAAa9wf,KAAYsxf,GAAYtxf,IACxC,MAAMytf,GAAgB,0DAE1B,UACSnvkB,cAAiBihF,GAG1B1+J,GAAOg0pB,GAAc,iBACrB6B,GAAe71pB,GAAK4kK,cAAc0qf,WAAW7xkB,IAAO,GA59B/C,IA69BDo4kB,GAAav3f,UAA4D,SAA1Bu3f,GAAaz2f,UAG3B,SAA1By2f,GAAaz2f,SADtBp/J,GAAO61pB,GAKP71pB,GAAKirD,YAAY4qmB,QAEd,CAEL,IAAK1E,KAAeJ,KAAuBE,KAEpB,IAAvBxzkB,GAAMp1E,QAAQ,KACZ,OAAO8mpB,IAAsBkC,GAAsBlC,GAAmB/rT,WAAW3lR,IAASA,GAK5F,GAFAz9E,GAAOg0pB,GAAcv2kB,KAEhBz9E,GACH,OAAOmxpB,GAAa,KAAOE,GAAsBlpS,GAAY,EAEjE,CAEInoX,IAAQi1B,GACV4+nB,GAAa7zpB,GAAKgrB,YAGpB,MAAM+qoB,GAAe3B,GAAoB3C,GAAWh0kB,GAAQz9E,IAE5D,KAAO+hK,GAAcg0f,GAAaj0f,YAEhC6yf,GAAkB5yf,IAElBqzf,GAAoBrzf,IAEhBA,GAAYh0G,mBAAmBs9Q,IACjCqqV,GAAmB3zf,GAAYh0G,SAInC,GAAI0jmB,GACF,OAAOh0kB,GAGT,GAAI0zkB,GAAY,CACd,GAAIC,GAEF,IADA0E,GAAazG,GAAuBnwlB,KAAKl/D,GAAK4kK,eACvC5kK,GAAKgrB,YAEV8qoB,GAAW7qmB,YAAYjrD,GAAKgrB,iBAG9B8qoB,GAAa91pB,GAEf,OAAImwpB,GAAa6F,YAAc7F,GAAa8F,kBAQ1CH,GAAaxG,GAAWpwlB,KAAKyvlB,GAAkBmH,IAAY,IAEtDA,EACT,CACA,IAAII,GAAiBjF,GAAiBjxpB,GAAKwpX,UAAYxpX,GAAKq9T,UAE5D,OAAI4zV,IAAkBhB,GAAa,aAAejwpB,GAAK4kK,eAAiB5kK,GAAK4kK,cAAcuxf,SAAWn2pB,GAAK4kK,cAAcuxf,QAAQnypB,MAAQ2opB,GAAW2B,GAActupB,GAAK4kK,cAAcuxf,QAAQnypB,QAC3LkypB,GAAiB,aAAel2pB,GAAK4kK,cAAcuxf,QAAQnypB,KAAO,MAAQkypB,IAGxEnF,IACFhF,GAAa,CAAC+B,GAAeC,GAAUC,IAAcpge,KACnDsoe,GAAiB3J,GAAc2J,GAAgBtoe,GAAM,IAAG,GAGrDuhe,IAAsBkC,GAAsBlC,GAAmB/rT,WAAW8yT,IAAkBA,EACrG,EACArhoB,GAAUuhoB,UAAY,WAEpBpD,GADU/rmB,UAAUr+C,OAAS,QAAsB/D,IAAjBoiD,UAAU,GAAmBA,UAAU,GAAK,CAAC,GAE/EiqmB,GAAa,CACf,EACAr8nB,GAAUwhoB,YAAc,WACtBzD,GAAS,KACT1B,GAAa,CACf,EACAr8nB,GAAUyhoB,iBAAmB,SAAUh3f,GAAKtC,GAAMl5J,IAE3C8upB,IACHI,GAAa,CAAC,GAEhB,MAAMmC,GAAQjI,GAAkB5tf,IAC1BgrV,GAAS4iK,GAAkBlwf,IACjC,OAAOk4f,GAAkBC,GAAO7qK,GAAQxmf,GAC1C,EACA+wB,GAAU0hoB,QAAU,SAAUC,GAAYC,IACZ,mBAAjBA,IAGXlmQ,GAAUjnS,GAAMktiB,IAAaC,GAC/B,EACA5hoB,GAAU6hoB,WAAa,SAAUF,GAAYC,IAC3C,QAAqB5xpB,IAAjB4xpB,GAA4B,CAC9B,MAAM5noB,GAAQo9nB,GAAiB3iiB,GAAMktiB,IAAaC,IAClD,OAAiB,IAAV5noB,QAAehqB,EAAYsnpB,GAAY7iiB,GAAMktiB,IAAa3noB,GAAO,GAAG,EAC7E,CACA,OAAOq9nB,GAAS5iiB,GAAMktiB,IACxB,EACA3hoB,GAAU8hoB,YAAc,SAAUH,IAChCltiB,GAAMktiB,IAAc,EACtB,EACA3hoB,GAAU+hoB,eAAiB,WACzBttiB,GAvhCK,CACLimiB,wBAAyB,GACzBC,sBAAuB,GACvBC,uBAAwB,GACxBC,yBAA0B,GAC1BC,uBAAwB,GACxBC,wBAAyB,GACzBC,sBAAuB,GACvBC,oBAAqB,GACrBC,uBAAwB,GA+gC1B,EACOl7nB,EACT,CACa65nB,iCCtzCb,SAASmI,EAAQp/mB,IAAkC,OAAOo/mB,EAAU,mBAAqB7sZ,QAAU,iBAAmBA,OAAOijB,SAAW,SAAUx1O,IAAO,cAAcA,EAAK,EAAI,SAAUA,IAAO,OAAOA,IAAO,mBAAqBuyN,QAAUvyN,GAAIxhC,cAAgB+zP,QAAUvyN,KAAQuyN,OAAO1rN,UAAY,gBAAkB7G,EAAK,GAAWA,GAAM,CAE/U,SAASq/mB,EAAkBx3lB,GAAQ7nE,IAAS,QAAS8mC,GAAI,EAAGA,GAAI9mC,GAAMmR,OAAQ21B,KAAK,CAAE,IAAI+8D,GAAa7jG,GAAM8mC,IAAI+8D,GAAWC,WAAaD,GAAWC,aAAc,EAAOD,GAAWE,cAAe,EAAU,UAAWF,KAAYA,GAAWm2H,UAAW,GAAM7rL,OAAO0rD,eAAehyB,GAAQg8B,GAAW5jD,IAAK4jD,GAAa,CAAE,CAY5T,SAASy7jB,EAAuBp2lB,IAAQ,QAAa,IAATA,GAAmB,MAAM,IAAI+1P,eAAe,6DAAgE,OAAO/1P,EAAM,CAErK,SAASq2lB,EAAiBC,IAAS,IAAIC,GAAwB,mBAARz9mB,IAAqB,IAAIA,SAAQ50C,EAAWmypB,SAAmB,SAA0BC,IAAS,GAAc,OAAVA,KAM7J,SAASE,GAAkBhkoB,IAAM,OAA+D,IAAxDw6D,SAASh2C,SAASunB,KAAK/rC,IAAI9qB,QAAQ,gBAAyB,CAN4E8upB,CAAkBF,IAAQ,OAAOA,GAAO,GAAqB,mBAAVA,GAAwB,MAAM,IAAIlymB,UAAU,sDAAyD,UAAWmymB,GAAW,IAAa,CAAE,GAAIA,GAAOjnnB,IAAIgnnB,IAAQ,OAAOC,GAAOh4oB,IAAI+3oB,IAAQC,GAAOx9mB,IAAIu9mB,GAAOG,GAAU,CAAE,SAASA,KAAY,OAAOC,EAAWJ,GAAOhwmB,UAAWqwmB,GAAgB9gpB,MAAMP,YAAc,CAAEmhpB,UAAQ94mB,UAAY1Y,OAAOoG,OAAOirnB,GAAM34mB,UAAW,CAAEroC,YAAa,CAAEnS,MAAOszpB,GAAS77jB,YAAY,EAAOk2H,UAAU,EAAMj2H,cAAc,KAAkB+7jB,GAAgBH,GAASH,GAAQ,EAAUD,EAAiBC,GAAQ,CAEtvB,SAASI,EAAWG,GAAQj4mB,GAAM03mB,IAAS,OAAmCI,EAA/BI,KAA4CzxK,QAAQ4lK,UAAiC,SAAoB4L,GAAQj4mB,GAAM03mB,IAAS,IAAIjopB,GAAI,CAAC,MAAOA,GAAEspC,KAAKoa,MAAM1jD,GAAGuwC,IAAO,IAAsDuia,GAAW,IAA/Cn0X,SAASlgE,KAAKilC,MAAM8kmB,GAAQxopB,KAAsC,OAAIiopB,IAAOM,GAAgBz1M,GAAUm1M,GAAM34mB,WAAmBwja,EAAU,GAAuBpvZ,MAAM,KAAMzL,UAAY,CAEja,SAASwwmB,KAAsG,UAA7DzxK,QAAY,MAAgBA,QAAQ4lK,WAA6B5lK,QAAQ4lK,UAAU8L,KAAM,OAAO,EAAO,GAAqB,mBAAV5xK,MAAsB,OAAO,EAAM,IAAM95a,eAAQ1tB,UAAUqrB,QAAQzK,KAAK8mb,QAAQ4lK,UAAU5/kB,QAAS,GAAI,WAAa,KAAY,CAAM,OAAc,OAAO,CAAO,CAAE,CAIxU,SAASurlB,GAAgBjqkB,GAAG1oE,IAAK2yoB,UAAkB3xnB,OAAOosD,gBAAkB,SAAyB1E,GAAG1oE,IAAK0oE,UAAE2E,UAAYrtE,GAAU0oE,EAAG,GAA0BA,GAAG1oE,GAAI,CAEzK,SAAS0yoB,GAAgBhqkB,IAAKgqkB,UAAkB1xnB,OAAOosD,eAAiBpsD,OAAOmnD,eAAiB,SAAyBO,IAAK,OAAOA,GAAE2E,WAAarsD,OAAOmnD,eAAeO,GAAI,GAA0BA,GAAI,mBAO5M,IAAIqqkB,GAA0B,SAAUC,KAzBxC,SAASC,EAAUC,GAAUC,IAAc,GAA0B,mBAAfA,IAA4C,OAAfA,GAAuB,MAAM,IAAIhzmB,UAAU,sDAAyD+ymB,GAASx5mB,UAAY1Y,OAAOoG,OAAO+rnB,IAAcA,GAAWz5mB,UAAW,CAAEroC,YAAa,CAAEnS,MAAOg0pB,GAAUrmc,UAAU,EAAMj2H,cAAc,KAAW51D,OAAO0rD,eAAewmkB,GAAU,YAAa,CAAErmc,UAAU,IAAcsmc,IAAYR,GAAgBO,GAAUC,GAAa,CA0BjcF,CAAUF,GAAYC,IAEtB,IAAI5jiB,GA1BN,SAASgkiB,EAAaC,IAAW,IAAIC,GAA4BT,KAA6B,OAAO,WAAkC,IAAsC3jpB,GAAlCqkpB,GAAQb,GAAgBW,IAAkB,GAAIC,GAA2B,CAAE,IAAIE,GAAYd,GAAgB9gpB,MAAMP,YAAanC,GAASkye,QAAQ4lK,UAAUuM,GAAOlxmB,UAAWmxmB,GAAY,MAAStkpB,GAASqkpB,GAAMzlmB,MAAMl8C,KAAMywC,WAAc,OAEpX,SAASoxmB,EAA2B13lB,GAAMzB,IAAQ,GAAIA,KAA2B,WAAlB23lB,EAAQ33lB,KAAsC,mBAATA,IAAwB,OAAOA,GAAa,QAAa,IAATA,GAAmB,MAAM,IAAIna,UAAU,4DAA+D,OAAOgymB,EAAuBp2lB,GAAO,CAF4F03lB,CAA2B7hpB,KAAM1C,GAAS,CAAG,CA0BzZkkpB,CAAaL,IAE1B,SAASA,GAAW50pB,IAClB,IAAIs5C,GAEJi8mB,OAnCJ,SAASA,EAAgBx2M,GAAUj2X,IAAe,KAAMi2X,cAAoBj2X,IAAgB,MAAM,IAAI9mC,UAAU,oCAAwC,CAmCpJuzmB,CAAgB9hpB,KAAMmhpB,IAEtBt7mB,GAAQ23E,GAAO90D,KAAK1oD,KAAMzT,IAG1B6iC,OAAOosD,eAAe+kkB,EAAuB16mB,IAAQs7mB,GAAWr5mB,WAChEjC,GAAMr4C,KAAOq4C,GAAMpmC,YAAYjS,KACxBq4C,EACT,CAEA,OA/CF,SAASk8mB,EAAa1skB,GAAa2skB,GAAYC,IAAe,OAAID,IAAY1B,EAAkBjrkB,GAAYvtC,UAAWk6mB,IAAiBC,IAAa3B,EAAkBjrkB,GAAa4skB,IAAc7ynB,OAAO0rD,eAAezF,GAAa,YAAa,CAAE4lI,UAAU,IAAiB5lI,EAAa,CA+CnR0skB,CAAaZ,GACtB,CAnB8B,CAmBdX,EAAiB34mB,uDCpDjC,IAAIq6mB,EAAoB,CAAC,EAAEzipB,YACZ,SAASsiF,EAASyD,GAC/B,OAA0C,MAAXA,GAAmBA,EAAO/lF,cAAgByipB,CAC3E,gCCKe,SAASC,EAAC3ppB,GAAG2hE,IAC1B3hE,GAAIA,GAAE2yB,MAAM,KACZgvC,GAAIA,GAAEhvC,MAAM,KAIZ,QAHI4hS,GAAKv0T,GAAE,GAAG2yB,MAAM,KAChBi3nB,GAAKjolB,GAAE,GAAGhvC,MAAM,KAEXpD,GAAI,EAAGA,GAAI,EAAGA,KAAK,CAC1B,IAAIs6nB,GAAK7hmB,OAAOusQ,GAAGhlS,KACf6kS,GAAKpsQ,OAAO4hmB,GAAGr6nB,KACnB,GAAIs6nB,GAAKz1V,GAAI,OAAO,EACpB,GAAIA,GAAKy1V,GAAI,OAAO,EACpB,IAAKhqpB,MAAMgqpB,KAAOhqpB,MAAMu0T,IAAK,OAAO,EACpC,GAAIv0T,MAAMgqpB,MAAQhqpB,MAAMu0T,IAAK,OAAO,CACtC,CAEA,OAAIp0T,GAAE,IAAM2hE,GAAE,GACL3hE,GAAE,GAAK2hE,GAAE,GAAK,EAAI3hE,GAAE,GAAK2hE,GAAE,IAAK,EAAK,GAGtC3hE,GAAE,IAAM2hE,GAAE,GAAK,EAAI3hE,GAAE,KAAO2hE,GAAE,IAAK,EAAK,CAClD,uDC5BA,SAASkmlB,EAAQp/mB,IAAkC,OAAOo/mB,EAAU,mBAAqB7sZ,QAAU,iBAAmBA,OAAOijB,SAAW,SAAUx1O,IAAO,cAAcA,EAAK,EAAI,SAAUA,IAAO,OAAOA,IAAO,mBAAqBuyN,QAAUvyN,GAAIxhC,cAAgB+zP,QAAUvyN,KAAQuyN,OAAO1rN,UAAY,gBAAkB7G,EAAK,GAAWA,GAAM,CAE/U,SAAS6gnB,EAAgBx2M,GAAUj2X,IAAe,KAAMi2X,cAAoBj2X,IAAgB,MAAM,IAAI9mC,UAAU,oCAAwC,CAExJ,SAAS+xmB,EAAkBx3lB,GAAQ7nE,IAAS,QAAS8mC,GAAI,EAAGA,GAAI9mC,GAAMmR,OAAQ21B,KAAK,CAAE,IAAI+8D,GAAa7jG,GAAM8mC,IAAI+8D,GAAWC,WAAaD,GAAWC,aAAc,EAAOD,GAAWE,cAAe,EAAU,UAAWF,KAAYA,GAAWm2H,UAAW,GAAM7rL,OAAO0rD,eAAehyB,GAAQg8B,GAAW5jD,IAAK4jD,GAAa,CAAE,CAE5T,SAASi9jB,EAAa1skB,GAAa2skB,GAAYC,IAAe,OAAID,IAAY1B,EAAkBjrkB,GAAYvtC,UAAWk6mB,IAAiBC,IAAa3B,EAAkBjrkB,GAAa4skB,IAAc7ynB,OAAO0rD,eAAezF,GAAa,YAAa,CAAE4lI,UAAU,IAAiB5lI,EAAa,CAM5R,IAKIitkB,EAAqB,SACrBC,GAAuB,QAKvB1+f,GAAwB,WAC1B,SAASA,GAAS7rG,IAChB8pmB,EAAgB9hpB,KAAM6jJ,IA8hBnB,SAAS2+f,GAAiBxqmB,IAC/B,IAAKA,GACH,MAAM,IAAInQ,MAAM,6EAKlB,KAAI,EAACk6C,KAAS/pC,OAAa,EAAC+pC,KAAS/pC,GAASpiD,WAC5C,MAAM,IAAIiyC,MAAM,sJAAsJp6C,UAAOs0F,KAAS/pC,IAAY,yBAA2B5oB,OAAOC,KAAK2oB,IAAUtM,KAAK,MAAQ,KAAO,KAAOw7S,GAAOlvS,IAAY,KAAOA,GAAU,KAEtT,CAtiBIwqmB,CAAiBxqmB,IACjBh4C,KAAKg4C,SAAWA,GAChByqmB,GAAW/5lB,KAAK1oD,KAAMg4C,GACxB,CAEA+pmB,SAAal+f,GAAU,CAAC,CACtB3iH,IAAK,eACL5zC,MAAO,WACL,OAAO8hC,OAAOC,KAAKrvB,KAAKg4C,SAASpiD,WAAWlI,OAAO,SAAU+zE,IAC3D,MAAa,QAANA,EACT,EACF,GACC,CACDvgC,IAAK,qBACL5zC,MAAO,SAA4BD,IACjC,OAAO2S,KAAKg4C,SAASpiD,UAAUvI,GACjC,GACC,CACD6zC,IAAK,gBACL5zC,MAAO,WACL,KAAI0S,KAAKkuiB,IAAMluiB,KAAKquiB,IAAMruiB,KAAKsyiB,IAI/B,OAAOtyiB,KAAKg4C,SAAS0qmB,eAAiB1ipB,KAAKg4C,SAAS2qmB,eACtD,GACC,CACDzhnB,IAAK,aACL5zC,MAAO,SAAoB3C,IACzB,YAA4C0D,IAArC2R,KAAK4ipB,mBAAmBj4pB,GACjC,GACC,CACDu2C,IAAK,iBACL5zC,MAAO,SAAwBu1pB,IAC7B,GAAI7ipB,KAAK8ipB,8BAA8BD,IACrC,OAAO,EAGT,GAAI7ipB,KAAK0ipB,iBACP,GAAI1ipB,KAAK0ipB,gBAAgBG,IACvB,OAAO,MAEJ,CAEL,IAAIE,GAAe/ipB,KAAKgjpB,sBAAsBH,IAE9C,GAAIE,IAAwC,IAAxBA,GAAa3wpB,QAAoC,QAApB2wpB,GAAa,GAC5D,OAAO,CAEX,CACF,GACC,CACD7hnB,IAAK,6BACL5zC,MAAO,SAAoCu1pB,IACzC,OAAI7ipB,KAAK0ipB,kBACA1ipB,KAAK0ipB,gBAAgBG,KAErB7ipB,KAAK8ipB,8BAA8BD,GAE9C,GAEC,CACD3hnB,IAAK,UACL5zC,MAAO,SAAiBD,IACtB,OAAO2S,KAAKijpB,oBAAoB51pB,GAClC,GACC,CACD6zC,IAAK,sBACL5zC,MAAO,SAA6BD,GAAaw1pB,IAO/C,GALIx1pB,IAAek1pB,GAAqBpnjB,KAAK9tG,MAC3Cw1pB,GAAcx1pB,GACdA,GAAc,MAGZA,IAA+B,QAAhBA,GAAuB,CACxC,IAAK2S,KAAKkjpB,WAAW71pB,IACnB,MAAM,IAAIw6C,MAAM,oBAAoBp6C,OAAOJ,KAG7C2S,KAAKmjpB,cAAgB,IAAIC,GAAcpjpB,KAAK4ipB,mBAAmBv1pB,IAAc2S,KAC/E,SAAW6ipB,GAAa,CACtB,IAAK7ipB,KAAKqjpB,eAAeR,IACvB,MAAM,IAAIh7mB,MAAM,yBAAyBp6C,OAAOo1pB,KAGlD7ipB,KAAKmjpB,cAAgB,IAAIC,GAAcpjpB,KAAKsjpB,yBAAyBT,IAAc7ipB,KACrF,MACEA,KAAKmjpB,mBAAgB90pB,EAGvB,OAAO2R,IACT,GACC,CACDkhC,IAAK,gCACL5zC,MAAO,SAAuCu1pB,IAC5C,IAAIE,GAAe/ipB,KAAKgjpB,sBAAsBH,IAE9C,GAAIE,GAUF,OAA4B,IAAxBA,GAAa3wpB,QAA2C,IAA3B2wpB,GAAa,GAAG3wpB,YAC/C,EAGK2wpB,EAEX,GACC,CACD7hnB,IAAK,+BACL5zC,MAAO,SAAsCu1pB,IAC3C,IAAIE,GAAe/ipB,KAAK8ipB,8BAA8BD,IAEtD,GAAIE,GACF,OAAOA,GAAa,EAExB,GACC,CACD7hnB,IAAK,2BACL5zC,MAAO,SAAkCu1pB,IACvC,IAAIx1pB,GAAc2S,KAAKujpB,6BAA6BV,IAEpD,GAAIx1pB,GACF,OAAO2S,KAAK4ipB,mBAAmBv1pB,IAGjC,GAAI2S,KAAK0ipB,gBAAiB,CACxB,IAAI1qmB,GAAWh4C,KAAK0ipB,gBAAgBG,IAEpC,GAAI7qmB,GACF,OAAOA,EAEX,KAAO,CAML,IAAI+qmB,GAAe/ipB,KAAKgjpB,sBAAsBH,IAE9C,GAAIE,IAAwC,IAAxBA,GAAa3wpB,QAAoC,QAApB2wpB,GAAa,GAC5D,OAAO/ipB,KAAKg4C,SAASpiD,UAAU,MAEnC,CACF,GAEC,CACDsrC,IAAK,qBACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcN,aAC5B,GAEC,CACD3hnB,IAAK,YACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcK,WAC5B,GAEC,CACDtinB,IAAK,mBACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcM,kBAC5B,GAEC,CACDvinB,IAAK,wBACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcO,uBAC5B,GAEC,CACDxinB,IAAK,kBACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcQ,iBAC5B,GAEC,CACDzinB,IAAK,UACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAc30N,SAC5B,GAEC,CACDttZ,IAAK,2BACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcS,0BAC5B,GAEC,CACD1inB,IAAK,8BACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcU,6BAC5B,GAEC,CACD3inB,IAAK,gBACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcW,eAC5B,GAEC,CACD5inB,IAAK,WACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcY,UAC5B,GAEC,CACD7inB,IAAK,OACL5zC,MAAO,SAAcq0O,IACnB,OAAO3hO,KAAKmjpB,cAAcl1oB,KAAK0zN,GACjC,GAEC,CACDzgM,IAAK,MACL5zC,MAAO,WACL,OAAO0S,KAAKmjpB,cAAcpujB,KAC5B,GACC,CACD7zD,IAAK,sBACL5zC,MAAO,WACL,OAAI0S,KAAKkuiB,GAAWluiB,KAAKg4C,SAASgsmB,gCAC3BhkpB,KAAKg4C,SAASismB,qBACvB,GAEC,CACD/inB,IAAK,oCACL5zC,MAAO,SAA2Cu1pB,IAChD,OAAO7ipB,KAAKijpB,oBAAoBJ,GAClC,GACC,CACD3hnB,IAAK,2BACL5zC,MAAO,WACL,YAA8Be,IAAvB2R,KAAKmjpB,aACd,KAGKt/f,EACT,CAxP4B,GA4PxBu/f,GAA6B,WAC/B,SAASA,GAAcprmB,GAAUksmB,IAC/BpC,EAAgB9hpB,KAAMojpB,IAEtBpjpB,KAAKkkpB,qBAAuBA,GAC5BlkpB,KAAKg4C,SAAWA,GAChByqmB,GAAW/5lB,KAAK1oD,KAAMkkpB,GAAqBlsmB,SAC7C,CAEA+pmB,SAAaqB,GAAe,CAAC,CAC3BlinB,IAAK,cACL5zC,MAAO,WACL,OAAO0S,KAAKg4C,SAAS,EACvB,GAOC,CACD9W,IAAK,qCACL5zC,MAAO,WACL,OAAO0S,KAAKkkpB,qBAAqBZ,yBAAyBtjpB,KAAK6ipB,cACjE,GAEC,CACD3hnB,IAAK,YACL5zC,MAAO,WACL,IAAI0S,KAAKkuiB,KAAMluiB,KAAKquiB,GACpB,OAAOruiB,KAAKg4C,SAAS,EACvB,GAEC,CACD9W,IAAK,mBACL5zC,MAAO,WACL,IAAI0S,KAAKkuiB,KAAMluiB,KAAKquiB,GACpB,OAAOruiB,KAAKg4C,SAAS,GACvB,GACC,CACD9W,IAAK,wBACL5zC,MAAO,WACL,OAAI0S,KAAKkuiB,IAAMluiB,KAAKquiB,GAAWruiB,KAAKg4C,SAAS,GACtCh4C,KAAKg4C,SAAS,EACvB,GAEC,CACD9W,IAAK,kBACL5zC,MAAO,WACL,IAAI0S,KAAKkuiB,GACT,OAAOluiB,KAAKg4C,SAASh4C,KAAKquiB,GAAK,EAAI,EACrC,GACC,CACDntgB,IAAK,cACL5zC,MAAO,SAAqB0qD,IAC1B,OAAOA,GAASh4C,KAAKkuiB,GAAK,EAAIluiB,KAAKquiB,GAAK,EAAI,EAC9C,GAIC,CACDntgB,IAAK,UACL5zC,MAAO,WACL,IAAIu4C,GAAQ7lC,KAGZ,OADcA,KAAKmkpB,YAAYnkpB,KAAKg4C,WAAah4C,KAAKmkpB,YAAYnkpB,KAAKokpB,uCAAyC,IACjGv2pB,IAAI,SAAU4zE,IAC3B,OAAO,IAAI0iS,GAAO1iS,GAAG57B,GACvB,EACF,GACC,CACD3E,IAAK,iBACL5zC,MAAO,WACL,OAAO0S,KAAKg4C,SAASh4C,KAAKkuiB,GAAK,EAAIluiB,KAAKquiB,GAAK,EAAI,EACnD,GACC,CACDntgB,IAAK,mCACL5zC,MAAO,SAA0C0qD,IAC/C,OAAOA,GAASh4C,KAAKkuiB,GAAK,EAAIluiB,KAAKquiB,GAAK,EAAI,EAC9C,GAIC,CACDntgB,IAAK,+BACL5zC,MAAO,WACL,OAAO0S,KAAKqkpB,iCAAiCrkpB,KAAKg4C,WAAah4C,KAAKqkpB,iCAAiCrkpB,KAAKokpB,qCAC5G,GACC,CACDljnB,IAAK,4BACL5zC,MAAO,WACL,OAAO0S,KAAKg4C,SAASh4C,KAAKkuiB,GAAK,EAAIluiB,KAAKquiB,GAAK,EAAI,EACnD,GACC,CACDntgB,IAAK,2BACL5zC,MAAO,WAGL,OAAO0S,KAAKskpB,6BAA+BtkpB,KAAKukpB,gBAClD,GACC,CACDrjnB,IAAK,8BACL5zC,MAAO,WACL,OAAO0S,KAAKg4C,SAASh4C,KAAKkuiB,GAAK,EAAIluiB,KAAKquiB,GAAK,EAAI,EACnD,GACC,CACDntgB,IAAK,6CACL5zC,MAAO,WACL,QAAS0S,KAAKg4C,SAASh4C,KAAKkuiB,GAAK,EAAIluiB,KAAKquiB,GAAK,EAAI,EACrD,GAKC,CACDntgB,IAAK,yDACL5zC,MAAO,WACL,OAAO0S,KAAKwkpB,2CAA2CxkpB,KAAKg4C,WAAah4C,KAAKwkpB,2CAA2CxkpB,KAAKokpB,qCAChI,GACC,CACDljnB,IAAK,gBACL5zC,MAAO,WACL,OAAO0S,KAAKg4C,SAASh4C,KAAKkuiB,GAAK,EAAIluiB,KAAKquiB,GAAK,EAAI,GACnD,GACC,CACDntgB,IAAK,QACL5zC,MAAO,WACL,OAAO0S,KAAKg4C,SAASh4C,KAAKkuiB,GAAK,EAAIluiB,KAAKquiB,GAAK,GAAK,GACpD,GACC,CACDntgB,IAAK,WACL5zC,MAAO,WAIL,QAAI0S,KAAK2jB,SAAmC,IAAxB3jB,KAAK2jB,QAAQvxB,SAMxB4N,KAAK2jB,QAChB,GACC,CACDud,IAAK,OACL5zC,MAAO,SAAcm3pB,IACnB,GAAIzkpB,KAAK+jpB,YAAcW,GAAQ1kpB,KAAK2jB,QAAS8goB,IAC3C,OAAO,IAAIl1oB,GAAKm1oB,GAAQ1kpB,KAAK2jB,QAAS8goB,IAASzkpB,KAEnD,GACC,CACDkhC,IAAK,MACL5zC,MAAO,WACL,OAAI0S,KAAKkuiB,IAAMluiB,KAAKquiB,GAAWi0G,EACxBtipB,KAAKg4C,SAAS,KAAOsqmB,CAC9B,KAGKc,EACT,CA/JiC,GAiK7Bj/S,GAAsB,WACxB,SAASA,GAAOlmS,GAAQjmB,IACtB8pmB,EAAgB9hpB,KAAMmkW,IAEtBnkW,KAAKgpC,QAAUi1B,GACfj+D,KAAKg4C,SAAWA,EAClB,CAEA+pmB,SAAa59S,GAAQ,CAAC,CACpBjjU,IAAK,UACL5zC,MAAO,WACL,OAAO0S,KAAKgpC,QAAQ,EACtB,GACC,CACD9H,IAAK,SACL5zC,MAAO,WACL,OAAO0S,KAAKgpC,QAAQ,EACtB,GACC,CACD9H,IAAK,wBACL5zC,MAAO,WACL,OAAO0S,KAAKgpC,QAAQ,IAAM,EAC5B,GACC,CACD9H,IAAK,+BACL5zC,MAAO,WACL,OAAO0S,KAAKgpC,QAAQ,IAAMhpC,KAAKg4C,SAAS2smB,8BAC1C,GACC,CACDzjnB,IAAK,yDACL5zC,MAAO,WACL,QAAS0S,KAAKgpC,QAAQ,IAAMhpC,KAAKg4C,SAAS4smB,wDAC5C,GACC,CACD1jnB,IAAK,0DACL5zC,MAAO,WAML,OAAO0S,KAAK6kpB,uBAAyB7kpB,KAAK4kpB,wDAC5C,GAEC,CACD1jnB,IAAK,qBACL5zC,MAAO,WACL,SAAO0S,KAAK2kpB,gCACXG,GAAgC3pjB,KAAKn7F,KAAK2kpB,gCAK7C,GACC,CACDzjnB,IAAK,sBACL5zC,MAAO,WACL,OAAO0S,KAAKgpC,QAAQ,IAAMhpC,KAAKi+D,QACjC,KAGKkmS,EACT,CA9D0B,GAsEtB2gT,GAAkC,cAElCv1oB,GAAoB,WACtB,SAASA,GAAKtB,GAAM+pC,IAClB8pmB,EAAgB9hpB,KAAMuP,IAEtBvP,KAAKiO,KAAOA,GACZjO,KAAKg4C,SAAWA,EAClB,CAEA+pmB,SAAaxyoB,GAAM,CAAC,CAClB2xB,IAAK,UACL5zC,MAAO,WACL,OAAI0S,KAAKg4C,SAASk2f,GAAWluiB,KAAKiO,KAC3BjO,KAAKiO,KAAK,EACnB,GACC,CACDizB,IAAK,kBACL5zC,MAAO,WACL,IAAI0S,KAAKg4C,SAASk2f,GAClB,OAAOluiB,KAAKiO,KAAK,IAAMjO,KAAKg4C,SAAS2rmB,iBACvC,KAGKp0oB,EACT,CAvBwB,GAyBxB,SAASm1oB,GAAQ/goB,GAAO1V,IACtB,OAAQA,IACN,IAAK,aACH,OAAO0V,GAAM,GAEf,IAAK,SACH,OAAOA,GAAM,GAEf,IAAK,YACH,OAAOA,GAAM,GAEf,IAAK,eACH,OAAOA,GAAM,GAEf,IAAK,kBACH,OAAOA,GAAM,GAEf,IAAK,YACH,OAAOA,GAAM,GAEf,IAAK,MACH,OAAOA,GAAM,GAEf,IAAK,QACH,OAAOA,GAAM,GAEf,IAAK,OACH,OAAOA,GAAM,GAEf,IAAK,cACH,OAAOA,GAAM,GAEnB,CAiBA,IAAIujU,GAAS,SAAgBzlR,IAC3B,OAAO4+kB,EAAQ5+kB,GACjB,EAgCO,SAASsjlB,GAAsBp6pB,GAASqtD,IAG7C,IAFAA,GAAW,IAAI6rG,GAAS7rG,KAEXkrmB,WAAWv4pB,IACtB,OAAOqtD,GAASrtD,QAAQA,IAASq6pB,qBAGnC,MAAM,IAAIn9mB,MAAM,oBAAoBp6C,OAAO9C,IAC7C,CACO,SAASs6pB,GAAmBt6pB,GAASqtD,IAG1C,OAAOA,GAASpiD,UAAUg9D,eAAejoE,GAC3C,CAEA,SAAS83pB,GAAWzqmB,IAClB,IAAI2iB,GAAU3iB,GAAS2iB,QAEA,iBAAZA,IACT36D,KAAKkuiB,GAAiB,IAAZvze,GACV36D,KAAKquiB,GAAiB,IAAZ1ze,GACV36D,KAAKsyiB,GAAiB,IAAZ33e,GACV36D,KAAKklpB,GAAiB,IAAZvqlB,IAELA,IAE+B,IAAzB80iB,EAAQ90iB,GApnBd,SAqnBH36D,KAAKquiB,IAAK,GACwB,IAAzBohE,EAAQ90iB,GApnBd,UAqnBH36D,KAAKsyiB,IAAK,EAEVtyiB,KAAKklpB,IAAK,EANVllpB,KAAKkuiB,IAAK,CAShB,iEC1oBA,SAASi3G,EAAQ3/jB,GAAQ4/jB,IAAkB,IAAI/1nB,GAAOD,OAAOC,KAAKm2D,IAAS,GAAIp2D,OAAO+tT,sBAAuB,CAAE,IAAIkoU,GAAUj2nB,OAAO+tT,sBAAsB33P,IAAS4/jB,KAAmBC,GAAUA,GAAQ33pB,OAAO,SAAU43pB,IAAO,OAAOl2nB,OAAOwsI,yBAAyBp2E,GAAQ8/jB,IAAKvgkB,UAAY,IAAK11D,GAAKyS,KAAKoa,MAAM7sB,GAAMg2nB,GAAU,CAAE,OAAOh2nB,EAAM,CAIpV,SAASk2nB,EAAgBtknB,GAAKC,GAAK5zC,IAAS,OAAI4zC,MAAOD,GAAO7R,OAAO0rD,eAAe75C,GAAKC,GAAK,CAAE5zC,MAAOA,GAAOy3F,YAAY,EAAMC,cAAc,EAAMi2H,UAAU,IAAkBh6K,GAAIC,IAAO5zC,GAAgB2zC,EAAK,CAQhN,SAASuknB,EAAkB35mB,GAAKkO,KAAkB,MAAPA,IAAeA,GAAMlO,GAAIz5C,UAAQ2nD,GAAMlO,GAAIz5C,QAAQ,QAAS21B,GAAI,EAAG+6Z,GAAO,IAAIxxb,MAAMyoD,IAAMhyB,GAAIgyB,GAAKhyB,KAAO+6Z,GAAK/6Z,IAAK8jB,GAAI9jB,IAAM,OAAO+6Z,EAAM,CAWvK,SAAS2iO,GAAmB18mB,IACzC,IAOI4N,GACA/vB,GACAoxB,GARA0tmB,GAnBN,SAASC,EAAe95mB,GAAK9jB,IAAK,OAUlC,SAAS69nB,EAAgB/5mB,IAAO,GAAIv6C,MAAMC,QAAQs6C,IAAM,OAAOA,EAAK,CAV3B+5mB,CAAgB/5mB,KAQzD,SAASg6mB,EAAsBh6mB,GAAK9jB,IAAK,IAAI+nF,GAAY,MAAPjkE,GAAc,YAAc2nN,OAAW,KAAe3nN,GAAI2nN,OAAOijB,WAAa5qO,GAAI,cAAe,GAAU,MAANikE,GAAoB,KAAkDg2iB,GAAIC,GAAlDC,GAAO,GAAQC,IAAK,EAAUpxO,IAAK,EAAmB,IAAM,IAAK/kU,GAAKA,GAAGpnD,KAAK7c,MAAQo6mB,IAAMH,GAAKh2iB,GAAGnjG,QAAQgrD,QAAoBqulB,GAAKlknB,KAAKgknB,GAAGx4pB,QAAYy6B,IAAKi+nB,GAAK5zpB,SAAW21B,IAA3Dk+nB,IAAK,GAAkE,OAAS98mB,IAAO0rY,IAAK,EAAMkxO,GAAK58mB,EAAK,SAAY,KAAW88mB,IAAsB,MAAhBn2iB,GAAGw8L,QAAmBx8L,GAAGw8L,QAAa,SAAY,GAAIuoI,GAAI,MAAMkxO,EAAI,CAAE,CAAE,OAAOC,GAAM,CAR/bH,CAAsBh6mB,GAAK9jB,KAI5F,SAASm+nB,EAA4BpvkB,GAAGqvkB,IAAU,GAAKrvkB,GAAW,IAAiB,iBAANA,GAAgB,OAAO0ukB,EAAkB1ukB,GAAGqvkB,IAAS,IAAI10pB,GAAI29B,OAAO0Y,UAAU3G,SAASunB,KAAKouB,IAAGl1C,MAAM,GAAG,GAAkE,GAAnD,WAANnwC,IAAkBqlF,GAAEr3E,cAAahO,GAAIqlF,GAAEr3E,YAAYjS,MAAgB,QAANiE,IAAqB,QAANA,GAAa,OAAOH,MAAM4lE,KAAK4f,IAAI,GAAU,cAANrlF,IAAqB,2CAA2C0pG,KAAK1pG,IAAI,OAAO+zpB,EAAkB1ukB,GAAGqvkB,GAAM,CAAG,CAJ7TD,CAA4Br6mB,GAAK9jB,KAEnI,SAASq+nB,IAAqB,MAAM,IAAI73mB,UAAU,4IAA8I,CAFvD63mB,EAAoB,CAmB9HT,CADDr0pB,MAAMw2C,UAAUlG,MAAM8mB,KAAK3f,IACY,GAC/Ds9mB,GAAQX,GAAuB,GAC/BY,GAAQZ,GAAuB,GAC/Ba,GAAQb,GAAuB,GAC/Bc,GAAQd,GAAuB,GAOnC,GAAqB,iBAAVW,GAEJ,MAAM,IAAI93mB,UAAU,wCAI3B,GALEoI,GAAO0vmB,GAKJC,IAA0B,iBAAVA,GAYP,QAILvkkB,KAASukkB,IAOX,MAAM,IAAIz+mB,MAAM,4BAA4Bp6C,OAAO64pB,KANpDC,IACF3/nB,GAAU0/nB,GACVtumB,GAAWuumB,IAEXvumB,GAAWsumB,EAEiD,MAtB1DE,IACF5/nB,GAAU2/nB,GACVvumB,GAAWwumB,KAEX5/nB,QAAUv4B,EACV2pD,GAAWuumB,IAGTD,KACF1/nB,GAlDN,SAAS6/nB,EAAc39lB,IAAU,QAAS/gC,GAAI,EAAGA,GAAI0oB,UAAUr+C,OAAQ21B,KAAK,CAAE,IAAI+rB,GAAS,MAAQrD,UAAU1oB,IAAK0oB,UAAU1oB,IAAK,CAAC,EAAGA,GAAI,EAAIo9nB,EAAQ/1nB,OAAO0kB,KAAS,GAAI1oB,QAAQ,SAAU8V,IAAOqknB,EAAgBz8lB,GAAQ5nB,GAAK4S,GAAO5S,IAAO,GAAK9R,OAAOs3nB,0BAA4Bt3nB,OAAOkvT,iBAAiBx1R,GAAQ15B,OAAOs3nB,0BAA0B5ymB,KAAWqxmB,EAAQ/1nB,OAAO0kB,KAAS1oB,QAAQ,SAAU8V,IAAO9R,OAAO0rD,eAAehyB,GAAQ5nB,GAAK9R,OAAOwsI,yBAAyB9nH,GAAQ5S,IAAO,EAAI,CAAE,OAAO4nB,EAAQ,CAkDze29lB,CAAc,CACtBE,eAAgBL,IACf1/nB,KAaP,MAAO,CACL+vB,KAAMA,GACN/vB,QAASA,GACToxB,SAAUA,GAEd,kDCvEO,IAAI4umB,EAAqB,EAGrBC,EAAqB,GAErBC,EAA0B,EAG1BC,EAAe,6CAaftkR,GAAoB,GAAGh1Y,OAXrB,oCAWoCA,OAVnC,WAUmDA,OATtD,WASmEA,OARtD,+BAQyEA,OAPlF,oCAOmGA,OALrG,+CCRTu5pB,GAA4B,SAAmCzzjB,IACjE,MAAO,KAAK9lG,OAAOs5pB,EAAc,QAAQt5pB,OAAO8lG,GAAW,KAC7D,EAUe,SAAS0zjB,GAAuBC,IAQ7C,IAYIC,GAA6C,eAI7CC,GAA6B,6BAsB7BC,GAA0C,cAsC9C,MAvGwB,QA2EYL,GAhDH,MA4EhB,IAzBEG,GA3BK,2FA2B4DC,GAA6BJ,GAnDhF,MA4E1BM,MAtBaH,GAzBK,qDAyB6DC,GAA6BJ,GAhDlF,KAsE1BM,WAnBgDN,GAhD7B,KAmEnBM,KAhBgBD,GAfa,aAe6DD,GAA6BJ,GAzD/F,MAyExBM,MAbcD,GAA0C,SAAWD,GAA6BJ,GAzDtE,KAaR,IA0D3B,CChFA,IAAIO,GAAkC,IAAMR,EAAe,KAAOH,EAAqB,IAK5EY,GAAqB,qBAA4C/kR,GAAoB,MAAaskR,EAAe,UAAsBtkR,GAAoBskR,EAAe,KAUjLU,GAAmC,IAAIj4kB,OAAO,sBAAkDizT,GAAoB,MAAaskR,EAAe,WAAsB,KAC/JW,GAAoCF,GAC/C,MAAQP,KAA2B,KAG/BU,GAA6B,IAAIn4kB,OACrC,IAAM+3kB,GAAkC,MAClCG,GAAoC,IAAK,KC7C3CE,GAAe,IAAIp4kB,OAAO,MAAQy3kB,KAA2B,KAAM,KCS5DY,GAAS,CAClB,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,IAEV,SAAU,KC7EZ,SAASrC,GAAkB35mB,GAAKkO,KAAkB,MAAPA,IAAeA,GAAMlO,GAAIz5C,UAAQ2nD,GAAMlO,GAAIz5C,QAAQ,QAAS21B,GAAI,EAAG+6Z,GAAO,IAAIxxb,MAAMyoD,IAAMhyB,GAAIgyB,GAAKhyB,KAAO+6Z,GAAK/6Z,IAAK8jB,GAAI9jB,IAAM,OAAO+6Z,EAAM,CAmBvK,SAASglO,GAA2BjqU,IAQjD,QAAwEx0B,GAPpE/rT,GAAS,GAOJgsT,GA/BX,SAASy+V,GAAgCjxkB,GAAGkxkB,IAAkB,IAAIjvnB,UAAYy6N,OAAW,KAAe18K,GAAE08K,OAAOijB,WAAa3/L,GAAE,cAAe,GAAI/9C,GAAI,OAAQA,GAAKA,GAAG2vB,KAAKouB,KAAInqE,KAAKsK,KAAK8hB,IAAK,GAAIznC,MAAMC,QAAQulF,MAAO/9C,GAExN,SAASmtnB,GAA4BpvkB,GAAGqvkB,IAAU,GAAKrvkB,GAAW,IAAiB,iBAANA,GAAgB,OAAO0ukB,GAAkB1ukB,GAAGqvkB,IAAS,IAAI10pB,GAAI29B,OAAO0Y,UAAU3G,SAASunB,KAAKouB,IAAGl1C,MAAM,GAAG,GAAkE,GAAnD,WAANnwC,IAAkBqlF,GAAEr3E,cAAahO,GAAIqlF,GAAEr3E,YAAYjS,MAAgB,QAANiE,IAAqB,QAANA,GAAa,OAAOH,MAAM4lE,KAAK4f,IAAI,GAAU,cAANrlF,IAAqB,2CAA2C0pG,KAAK1pG,IAAI,OAAO+zpB,GAAkB1ukB,GAAGqvkB,GAAM,CAAG,CAFlMD,CAA4BpvkB,MAAOkxkB,IAAkBlxkB,IAAyB,iBAAbA,GAAE1kF,OAAqB,CAAM2mC,KAAI+9C,GAAI/9C,IAAI,IAAIhR,GAAI,EAAG,OAAO,WAAc,OAAIA,IAAK+uD,GAAE1kF,OAAe,CAAEulE,MAAM,GAAe,CAAEA,MAAM,EAAOrqE,MAAOwpF,GAAE/uD,MAAQ,CAAG,CAAE,MAAM,IAAIwmB,UAAU,wIAA0I,CA+BpkBw5mB,CAAgClqU,GAAO1yT,MAAM,OAAek+R,GAAQC,MAAa3xP,MAEpGr6D,IAAU2qpB,GADM5+V,GAAM/7T,MACyBgQ,KAAW,GAG5D,OAAOA,EACT,CAaO,SAAS2qpB,GAA0Br3a,GAAWs3a,GAAsB38F,IAEzE,MAAkB,MAAd36U,GAGEs3a,QAYuB,mBAAd38F,IACTA,GAAU,QAMP,IDUJ,SAAS48F,GAAWv3a,IACzB,OAAOi3a,GAAOj3a,GAChB,CCRSu3a,CAAWv3a,GACpB,CC3EA,SAAS40a,GAAkB35mB,GAAKkO,KAAkB,MAAPA,IAAeA,GAAMlO,GAAIz5C,UAAQ2nD,GAAMlO,GAAIz5C,QAAQ,QAAS21B,GAAI,EAAG+6Z,GAAO,IAAIxxb,MAAMyoD,IAAMhyB,GAAIgyB,GAAKhyB,KAAO+6Z,GAAK/6Z,IAAK8jB,GAAI9jB,IAAM,OAAO+6Z,EAAM,CCHvK,SAASslO,GAAkBh8oB,GAAgB4rC,IACxD,OAAOqwmB,GAAyBj8oB,QAAgB/d,EAAW2pD,GAC7D,CAGO,SAASqwmB,GAAyBj8oB,GAAgB6B,GAAM+pC,IAC7D,IAAIswmB,GAAYtwmB,GAAS/pC,KAAKA,IAQ1Bs6oB,GAAmBD,IAAaA,GAAU3E,mBAAqB3rmB,GAAS2rmB,kBAG5E,IAAK4E,GACH,MAAO,cAGT,GAAa,yBAATt6oB,GAAiC,CAInC,IAAK+pC,GAAS/pC,KAAK,cAGjB,OAAOo6oB,GAAyBj8oB,GAAgB,SAAU4rC,IAG5D,IAAIwwmB,GAAcxwmB,GAAS/pC,KAAK,UAE5Bu6oB,KAMFD,GD5BS,SAASE,GAAYjwpB,GAAG2hE,IAGrC,QAAyDkvP,GAFrDq/V,GAASlwpB,GAAEopC,QAEN0nR,GAfX,SAASy+V,GAAgCjxkB,GAAGkxkB,IAAkB,IAAIjvnB,UAAYy6N,OAAW,KAAe18K,GAAE08K,OAAOijB,WAAa3/L,GAAE,cAAe,GAAI/9C,GAAI,OAAQA,GAAKA,GAAG2vB,KAAKouB,KAAInqE,KAAKsK,KAAK8hB,IAAK,GAAIznC,MAAMC,QAAQulF,MAAO/9C,GAExN,SAASmtnB,GAA4BpvkB,GAAGqvkB,IAAU,GAAKrvkB,GAAW,IAAiB,iBAANA,GAAgB,OAAO0ukB,GAAkB1ukB,GAAGqvkB,IAAS,IAAI10pB,GAAI29B,OAAO0Y,UAAU3G,SAASunB,KAAKouB,IAAGl1C,MAAM,GAAG,GAAkE,GAAnD,WAANnwC,IAAkBqlF,GAAEr3E,cAAahO,GAAIqlF,GAAEr3E,YAAYjS,MAAgB,QAANiE,IAAqB,QAANA,GAAa,OAAOH,MAAM4lE,KAAK4f,IAAI,GAAU,cAANrlF,IAAqB,2CAA2C0pG,KAAK1pG,IAAI,OAAO+zpB,GAAkB1ukB,GAAGqvkB,GAAM,CAAG,CAFlMD,CAA4BpvkB,MAAOkxkB,IAAkBlxkB,IAAyB,iBAAbA,GAAE1kF,OAAqB,CAAM2mC,KAAI+9C,GAAI/9C,IAAI,IAAIhR,GAAI,EAAG,OAAO,WAAc,OAAIA,IAAK+uD,GAAE1kF,OAAe,CAAEulE,MAAM,GAAe,CAAEA,MAAM,EAAOrqE,MAAOwpF,GAAE/uD,MAAQ,CAAG,CAAE,MAAM,IAAIwmB,UAAU,wIAA0I,CAepkBw5mB,CAAgC5tlB,MAAakvP,GAAQC,MAAa3xP,MAAO,CAC5F,IAAI7nC,GAAUu5R,GAAM/7T,MAEhBkL,GAAE3G,QAAQi+B,IAAW,GACvB44nB,GAAO5mnB,KAAKhS,GAEhB,CAEA,OAAO44nB,GAAOxulB,KAAK,SAAU1hE,GAAG2hE,IAC9B,OAAO3hE,GAAI2hE,EACb,EAMF,CCSyBsulB,CAAYF,GAAkBC,GAAY7E,mBASjE,SACS11oB,KAASq6oB,GAChB,MAAO,iBAGT,IAAIK,GAAgBv8oB,GAAeha,OAQ/Bw2pB,GAAiBL,GAAiB,GAEtC,OAAIK,KAAmBD,GACd,cAGLC,GAAiBD,GACZ,YAGLJ,GAAiBA,GAAiBn2pB,OAAS,GAAKu2pB,GAC3C,WAIFJ,GAAiB12pB,QAAQ82pB,GAAe,IAAM,EAAI,cAAgB,gBAC3E,CCTO,SAAS5+Q,GAAiB39X,GAAgB4rC,IAE/C,MACO,gBADCowmB,GAAkBh8oB,GAAgB4rC,GAW5C,CC7Ee,SAASsuV,GAAgB3vV,GAAMkymB,IAG5ClymB,UAAOA,IAAQ,GACR,IAAI64B,OAAO,OAASq5kB,GAAqB,MAAM1tjB,KAAKxkD,GAC7D,CCNA,SAAS6umB,GAAkB35mB,GAAKkO,KAAkB,MAAPA,IAAeA,GAAMlO,GAAIz5C,UAAQ2nD,GAAMlO,GAAIz5C,QAAQ,QAAS21B,GAAI,EAAG+6Z,GAAO,IAAIxxb,MAAMyoD,IAAMhyB,GAAIgyB,GAAKhyB,KAAO+6Z,GAAK/6Z,IAAK8jB,GAAI9jB,IAAM,OAAO+6Z,EAAM,CAItL,IAAIgmO,GAA6B,CAAC,SAAU,eAAgB,YAAa,cAAe,OAAQ,kBAAmB,QAAS,MAAO,aAEpH,SAAS9hR,GAAcp4V,GAAOhoB,GAASoxB,IAOpD,GAJApxB,GAAUA,IAAW,CAAC,EAIjBgoB,GAAMjkD,SAAYikD,GAAMo2mB,mBAI7BhtmB,KAAW,IAAI6rG,MAAS7rG,KACfirmB,oBAAoBr0mB,GAAMjkD,QAASikD,GAAMo2mB,oBAClD,IAAI54oB,GAAiBwa,GAAQynhB,GAAKz/f,GAAMxiC,eAAiBwiC,GAAMzkD,MAI/D,GAAKm8Y,GAAgBl6X,GAAgB4rC,GAAS0rmB,yBAK9C,IAAIqF,GAAoB38oB,GAAgB,aAAc4rC,IAwBpD,OAnBIA,GAAS/pC,KAAK,WAAmD,KAAtC+pC,GAAS/pC,KAAK,UAAU2B,YAWlDooC,GAAS/pC,KAAK,WAQf86oB,GAAoB38oB,GAAgB,SAAU4rC,IACzC,uBAGF,aAGT,QAAkFqxQ,GAAzEC,GA/DX,SAASy+V,GAAgCjxkB,GAAGkxkB,IAAkB,IAAIjvnB,UAAYy6N,OAAW,KAAe18K,GAAE08K,OAAOijB,WAAa3/L,GAAE,cAAe,GAAI/9C,GAAI,OAAQA,GAAKA,GAAG2vB,KAAKouB,KAAInqE,KAAKsK,KAAK8hB,IAAK,GAAIznC,MAAMC,QAAQulF,MAAO/9C,GAExN,SAASmtnB,GAA4BpvkB,GAAGqvkB,IAAU,GAAKrvkB,GAAW,IAAiB,iBAANA,GAAgB,OAAO0ukB,GAAkB1ukB,GAAGqvkB,IAAS,IAAI10pB,GAAI29B,OAAO0Y,UAAU3G,SAASunB,KAAKouB,IAAGl1C,MAAM,GAAG,GAAkE,GAAnD,WAANnwC,IAAkBqlF,GAAEr3E,cAAahO,GAAIqlF,GAAEr3E,YAAYjS,MAAgB,QAANiE,IAAqB,QAANA,GAAa,OAAOH,MAAM4lE,KAAK4f,IAAI,GAAU,cAANrlF,IAAqB,2CAA2C0pG,KAAK1pG,IAAI,OAAO+zpB,GAAkB1ukB,GAAGqvkB,GAAM,CAAG,CAFlMD,CAA4BpvkB,MAAOkxkB,IAAkBlxkB,IAAyB,iBAAbA,GAAE1kF,OAAqB,CAAM2mC,KAAI+9C,GAAI/9C,IAAI,IAAIhR,GAAI,EAAG,OAAO,WAAc,OAAIA,IAAK+uD,GAAE1kF,OAAe,CAAEulE,MAAM,GAAe,CAAEA,MAAM,EAAOrqE,MAAOwpF,GAAE/uD,MAAQ,CAAG,CAAE,MAAM,IAAIwmB,UAAU,wIAA0I,CA+DpkBw5mB,CAAgCe,MAAsCz/V,GAAQC,MAAa3xP,MAAO,CACrH,IAAI1pD,GAAOo7S,GAAM/7T,MAEjB,GAAIy7pB,GAAoB38oB,GAAgB6B,GAAM+pC,IAC5C,OAAO/pC,EAEX,GACF,CACO,SAAS86oB,GAAoB38oB,GAAgB6B,GAAM+pC,IAaxD,UAZA/pC,GAAO+pC,GAAS/pC,KAAKA,OAEPA,GAAK2B,WAUf3B,GAAK01oB,mBAAqB11oB,GAAK01oB,kBAAkB9xpB,QAAQua,GAAeha,QAAU,IAI/Ek0Y,GAAgBl6X,GAAgB6B,GAAK2B,UAC9C,CCpFO,IAAIo5oB,GAAsB,SCMjC,IAAIC,GAA4B,yCCPhC,SAASzD,GAAkB35mB,GAAKkO,KAAkB,MAAPA,IAAeA,GAAMlO,GAAIz5C,UAAQ2nD,GAAMlO,GAAIz5C,QAAQ,QAAS21B,GAAI,EAAG+6Z,GAAO,IAAIxxb,MAAMyoD,IAAMhyB,GAAIgyB,GAAKhyB,KAAO+6Z,GAAK/6Z,IAAK8jB,GAAI9jB,IAAM,OAAO+6Z,EAAM,CAEtL,SAASqiO,GAAQ3/jB,GAAQ4/jB,IAAkB,IAAI/1nB,GAAOD,OAAOC,KAAKm2D,IAAS,GAAIp2D,OAAO+tT,sBAAuB,CAAE,IAAIkoU,GAAUj2nB,OAAO+tT,sBAAsB33P,IAAS4/jB,KAAmBC,GAAUA,GAAQ33pB,OAAO,SAAU43pB,IAAO,OAAOl2nB,OAAOwsI,yBAAyBp2E,GAAQ8/jB,IAAKvgkB,UAAY,IAAK11D,GAAKyS,KAAKoa,MAAM7sB,GAAMg2nB,GAAU,CAAE,OAAOh2nB,EAAM,CAEpV,SAASo3nB,GAAc39lB,IAAU,QAAS/gC,GAAI,EAAGA,GAAI0oB,UAAUr+C,OAAQ21B,KAAK,CAAE,IAAI+rB,GAAS,MAAQrD,UAAU1oB,IAAK0oB,UAAU1oB,IAAK,CAAC,EAAGA,GAAI,EAAIo9nB,GAAQ/1nB,OAAO0kB,KAAS,GAAI1oB,QAAQ,SAAU8V,IAAOqknB,GAAgBz8lB,GAAQ5nB,GAAK4S,GAAO5S,IAAO,GAAK9R,OAAOs3nB,0BAA4Bt3nB,OAAOkvT,iBAAiBx1R,GAAQ15B,OAAOs3nB,0BAA0B5ymB,KAAWqxmB,GAAQ/1nB,OAAO0kB,KAAS1oB,QAAQ,SAAU8V,IAAO9R,OAAO0rD,eAAehyB,GAAQ5nB,GAAK9R,OAAOwsI,yBAAyB9nH,GAAQ5S,IAAO,EAAI,CAAE,OAAO4nB,EAAQ,CAEzf,SAASy8lB,GAAgBtknB,GAAKC,GAAK5zC,IAAS,OAAI4zC,MAAOD,GAAO7R,OAAO0rD,eAAe75C,GAAKC,GAAK,CAAE5zC,MAAOA,GAAOy3F,YAAY,EAAMC,cAAc,EAAMi2H,UAAU,IAAkBh6K,GAAIC,IAAO5zC,GAAgB2zC,EAAK,CAWhN,IAAI4jK,GAAkB,CACpBqkd,gBAAiB,SAAyBC,GAAiBx9c,GAAW3zJ,IACpE,MAAO,GAAGvqD,OAAO07pB,IAAiB17pB,OAAOuqD,GAAS+8C,OAAOtnG,OAAOk+M,GAClE,GA8FF,SAASy9c,GAAqB58pB,GAAQ68pB,GAAaC,GAAUtxmB,GAAUpxB,IACrE,IAAIq3C,GAcC,SAASsrlB,GAAsBC,GAAkBC,IACtD,QAAwEpgW,GAA/DC,GAtIX,SAASy+V,GAAgCjxkB,GAAGkxkB,IAAkB,IAAIjvnB,UAAYy6N,OAAW,KAAe18K,GAAE08K,OAAOijB,WAAa3/L,GAAE,cAAe,GAAI/9C,GAAI,OAAQA,GAAKA,GAAG2vB,KAAKouB,KAAInqE,KAAKsK,KAAK8hB,IAAK,GAAIznC,MAAMC,QAAQulF,MAAO/9C,GAExN,SAASmtnB,GAA4BpvkB,GAAGqvkB,IAAU,GAAKrvkB,GAAW,IAAiB,iBAANA,GAAgB,OAAO0ukB,GAAkB1ukB,GAAGqvkB,IAAS,IAAI10pB,GAAI29B,OAAO0Y,UAAU3G,SAASunB,KAAKouB,IAAGl1C,MAAM,GAAG,GAAkE,GAAnD,WAANnwC,IAAkBqlF,GAAEr3E,cAAahO,GAAIqlF,GAAEr3E,YAAYjS,MAAgB,QAANiE,IAAqB,QAANA,GAAa,OAAOH,MAAM4lE,KAAK4f,IAAI,GAAU,cAANrlF,IAAqB,2CAA2C0pG,KAAK1pG,IAAI,OAAO+zpB,GAAkB1ukB,GAAGqvkB,GAAM,CAAG,CAFlMD,CAA4BpvkB,MAAOkxkB,IAAkBlxkB,IAAyB,iBAAbA,GAAE1kF,OAAqB,CAAM2mC,KAAI+9C,GAAI/9C,IAAI,IAAIhR,GAAI,EAAG,OAAO,WAAc,OAAIA,IAAK+uD,GAAE1kF,OAAe,CAAEulE,MAAM,GAAe,CAAEA,MAAM,EAAOrqE,MAAOwpF,GAAE/uD,MAAQ,CAAG,CAAE,MAAM,IAAIwmB,UAAU,wIAA0I,CAsIpkBw5mB,CAAgCyB,MAA4BngW,GAAQC,MAAa3xP,MAAO,CAC3G,IAAIsG,GAASorP,GAAM/7T,MAKnB,GAAI2wE,GAAOyrlB,wBAAwBt3pB,OAAS,EAAG,CAE7C,IAAIu3pB,GAA2B1rlB,GAAOyrlB,wBAAwBzrlB,GAAOyrlB,wBAAwBt3pB,OAAS,GAEtG,GAAyD,IAArDq3pB,GAAgBrzlB,OAAOuzlB,IACzB,QAEJ,CAGA,GAAIrjR,GAAgBmjR,GAAiBxrlB,GAAOruD,WAC1C,OAAOquD,EAEX,CACF,CAnCesrlB,CAAsBvxmB,GAASw2Y,UAAWhic,IAEvD,OAAKyxE,GFnHQ,SAAS2rlB,GAAgCp9pB,GAAQyxE,GAAQjiB,IACtE,IAAI6tmB,GAAyB7tmB,GAAK6tmB,uBAC9BC,GAAqB9tmB,GAAK8tmB,mBAG1BX,GAAkB38pB,GAAO6hB,QAAQ,IAAImhE,OAAOvR,GAAOruD,WAAYi6oB,GAAyB5rlB,GAAO8rlB,sBAanGD,IAAsB7rlB,GAAO0mlB,+BAAiC1mlB,GAAOA,SAAS5vD,QAAQ26oB,GAAqB/qlB,GAAO0mlB,gCAAkC1mlB,GAAOA,UAE3J,OAAI4rlB,GGKS,SAASG,GAAiCb,IACvD,OAAOA,GAAgB96oB,QAAQ,IAAImhE,OAAO,IAAI/hF,OAAOg1Y,GAAmB,MAAO,KAAM,KAAKvtX,MAC5F,CHNW80oB,CAAiCb,IAGnCA,EACT,CE8FSS,CAAgCp9pB,GAAQyxE,GAAQ,CACrD4rlB,uBAAqC,kBAAbP,GACxBQ,qBAAoB7rlB,GAAO2mlB,0DAA4Dh+nB,KAAsC,IAA3BA,GAAQ29nB,gBAC1G8E,YAAaA,GACbrxmB,SAAUA,KAPHxrD,EASX,CAyBA,SAASy9pB,GAAad,GAAiBp0jB,GAAK/8C,GAAUkxmB,IACpD,OAAOn0jB,GAAMm0jB,GAAgBC,GAAiBp0jB,GAAK/8C,IAAYmxmB,EACjE,CE9JA,SAAShE,GAAQ3/jB,GAAQ4/jB,IAAkB,IAAI/1nB,GAAOD,OAAOC,KAAKm2D,IAAS,GAAIp2D,OAAO+tT,sBAAuB,CAAE,IAAIkoU,GAAUj2nB,OAAO+tT,sBAAsB33P,IAAS4/jB,KAAmBC,GAAUA,GAAQ33pB,OAAO,SAAU43pB,IAAO,OAAOl2nB,OAAOwsI,yBAAyBp2E,GAAQ8/jB,IAAKvgkB,UAAY,IAAK11D,GAAKyS,KAAKoa,MAAM7sB,GAAMg2nB,GAAU,CAAE,OAAOh2nB,EAAM,CAEpV,SAASo3nB,GAAc39lB,IAAU,QAAS/gC,GAAI,EAAGA,GAAI0oB,UAAUr+C,OAAQ21B,KAAK,CAAE,IAAI+rB,GAAS,MAAQrD,UAAU1oB,IAAK0oB,UAAU1oB,IAAK,CAAC,EAAGA,GAAI,EAAIo9nB,GAAQ/1nB,OAAO0kB,KAAS,GAAI1oB,QAAQ,SAAU8V,IAAOqknB,GAAgBz8lB,GAAQ5nB,GAAK4S,GAAO5S,IAAO,GAAK9R,OAAOs3nB,0BAA4Bt3nB,OAAOkvT,iBAAiBx1R,GAAQ15B,OAAOs3nB,0BAA0B5ymB,KAAWqxmB,GAAQ/1nB,OAAO0kB,KAAS1oB,QAAQ,SAAU8V,IAAO9R,OAAO0rD,eAAehyB,GAAQ5nB,GAAK9R,OAAOwsI,yBAAyB9nH,GAAQ5S,IAAO,EAAI,CAAE,OAAO4nB,EAAQ,CAEzf,SAASy8lB,GAAgBtknB,GAAKC,GAAK5zC,IAAS,OAAI4zC,MAAOD,GAAO7R,OAAO0rD,eAAe75C,GAAKC,GAAK,CAAE5zC,MAAOA,GAAOy3F,YAAY,EAAMC,cAAc,EAAMi2H,UAAU,IAAkBh6K,GAAIC,IAAO5zC,GAAgB2zC,EAAK,CAIhN,SAASq/mB,GAAkBx3lB,GAAQ7nE,IAAS,QAAS8mC,GAAI,EAAGA,GAAI9mC,GAAMmR,OAAQ21B,KAAK,CAAE,IAAI+8D,GAAa7jG,GAAM8mC,IAAI+8D,GAAWC,WAAaD,GAAWC,aAAc,EAAOD,GAAWE,cAAe,EAAU,UAAWF,KAAYA,GAAWm2H,UAAW,GAAM7rL,OAAO0rD,eAAehyB,GAAQg8B,GAAW5jD,IAAK4jD,GAAa,CAAE,CAW5T,IAEImpS,GAA2B,WAO7B,SAASA,GAAYi8R,GAA6B99oB,GAAgB4rC,IAGhE,GAzBJ,SAAS8pmB,GAAgBx2M,GAAUj2X,IAAe,KAAMi2X,cAAoBj2X,IAAgB,MAAM,IAAI9mC,UAAU,oCAAwC,CAuBpJuzmB,CAAgB9hpB,KAAMiuX,KAEjBi8R,GACH,MAAM,IAAI37mB,UAAU,gDAGtB,IAAKniC,GACH,MAAM,IAAImiC,UAAU,+BAGtB,IAAKyJ,GACH,MAAM,IAAIzJ,UAAU,yBAGtB,IAAI47mB,GAgHR,SAASC,GAAgCF,GAA6BG,IACpE,IAAI1/pB,GACAq6pB,GACAhtmB,GAAW,IAAI6rG,MAASwmgB,IAG5B,OAAIC,GAAcJ,KAEhBlymB,GAASirmB,oBADTt4pB,GAAUu/pB,IAEVlF,GAAqBhtmB,GAASgtmB,sBAE9BA,GAAqBkF,GAUhB,CACLv/pB,QAASA,GACTq6pB,mBAAoBA,GAExB,CAzIgCoF,CAAgCF,GAA6BlymB,IAErFgtmB,GAAqBmF,GAAsBnF,mBAE/ChlpB,KAAKrV,QAHSw/pB,GAAsBx/pB,QAIpCqV,KAAKglpB,mBAAqBA,GAC1BhlpB,KAAKoM,eAAiBA,GACtBpM,KAAKxT,OAAS,IAAMwT,KAAKglpB,mBAAqBhlpB,KAAKoM,eAKnDpM,KAAKo4C,YAAc,WACjB,OAAOJ,EACT,CACF,CAEA+pmB,OAlDF,SAASA,GAAa1skB,GAAa2skB,GAAYC,IAAmBD,IAAY1B,GAAkBjrkB,GAAYvtC,UAAWk6mB,IAAiBC,IAAa3B,GAAkBjrkB,GAAa4skB,IAAc7ynB,OAAO0rD,eAAezF,GAAa,YAAa,CAAE4lI,UAAU,GAA8B,CAkD1R8mc,CAAa9zR,GAAa,CAAC,CACzB/sV,IAAK,SACL5zC,MAAO,SAAgBynG,IACrB/0F,KAAK+0F,IAAMA,EACb,GACC,CACD7zD,IAAK,uBACL5zC,MAAO,WACL,OAAI0S,KAAKrV,QACA,CAACqV,KAAKrV,SC5DN,SAAS4/pB,GAA8B1H,GAAaz2oB,GAAgB4rC,IACjF,IAEIwymB,GAFY,IAAI3mgB,MAAS7rG,IAEK8qmB,8BAA8BD,IAEhE,OAAK2H,GAIEA,GAAkB98pB,OAAO,SAAU/C,IACxC,OAIJ,SAAS8/pB,GAAmCr+oB,GAAgBzhB,GAASqtD,IACnE,IAAIL,GAAY,IAAIksG,MAAS7rG,IAI7B,OAFAL,GAAUsrmB,oBAAoBt4pB,IAE1BgtD,GAAUwrmB,cAAcQ,kBAAkB9xpB,QAAQua,GAAeha,SAAW,CAKlF,CAdWq4pB,CAAmCr+oB,GAAgBzhB,GAASqtD,GACrE,GALS,EAMX,CDmDauymB,CAA8BvqpB,KAAKglpB,mBAAoBhlpB,KAAKoM,eAAgBpM,KAAKo4C,cAC1F,GACC,CACDlX,IAAK,aACL5zC,MAAO,WACL,OP7DS,SAASo9pB,GAAsB97mB,GAAOhoB,GAASoxB,IAQ5D,QANgB3pD,IAAZu4B,KACFA,GAAU,CAAC,GAGboxB,GAAW,IAAI6rG,MAAS7rG,IAEpBpxB,GAAQynhB,GAAI,CACd,IAAKz/f,GAAMo2mB,mBACT,MAAM,IAAIn9mB,MAAM,sCAGlBmQ,GAASirmB,oBAAoBr0mB,GAAMo2mB,mBACrC,KAAO,CACL,IAAKp2mB,GAAMzkD,MACT,OAAO,EAGT,GAAIykD,GAAMjkD,QAAS,CACjB,IAAKqtD,GAASkrmB,WAAWt0mB,GAAMjkD,SAC7B,MAAM,IAAIk9C,MAAM,oBAAoBp6C,OAAOmhD,GAAMjkD,UAGnDqtD,GAASrtD,QAAQikD,GAAMjkD,QACzB,KAAO,CACL,IAAKikD,GAAMo2mB,mBACT,MAAM,IAAIn9mB,MAAM,sCAGlBmQ,GAASirmB,oBAAoBr0mB,GAAMo2mB,mBACrC,CACF,CAGA,GAAIhtmB,GAAS2rmB,kBACX,OAAO55Q,GAAiBn7V,GAAMzkD,OAASykD,GAAMxiC,eAAgB4rC,IAQ7D,GAAIpJ,GAAMo2mB,oBAAsBhtmB,GAAS2ymB,2BAA2B/7mB,GAAMo2mB,oBAGxE,OAAO,EAEP,MAAM,IAAIn9mB,MAAM,iGAGtB,COSakiW,CAAiB/pY,KAAM,CAC5BquiB,IAAI,GACHruiB,KAAKo4C,cACV,GACC,CACDlX,IAAK,UACL5zC,MAAO,WACL,OE9CS,SAASse,GAAcgjC,GAAOhoB,GAASoxB,IAQpD,OALApxB,GAAUA,IAAW,CAAC,GACtBoxB,GAAW,IAAI6rG,MAAS7rG,KACfirmB,oBAAoBr0mB,GAAMjkD,QAASikD,GAAMo2mB,oBAG9ChtmB,GAAS+rmB,gBACiD11pB,IAArD24Y,GAAcp4V,GAAOhoB,GAASoxB,GAASA,UAMzCsuV,GADc1/W,GAAQynhB,GAAKz/f,GAAMxiC,eAAiBwiC,GAAMzkD,MACxB6tD,GAAS0rmB,wBAClD,CF8Ba93oB,CAAc5L,KAAM,CACzBquiB,IAAI,GACHruiB,KAAKo4C,cACV,GACC,CACDlX,IAAK,kBACL5zC,MAAO,WAEL,OADe,IAAIu2J,MAAS7jJ,KAAKo4C,eACjBuymB,2BAA2B3qpB,KAAKglpB,mBAClD,GACC,CACD9jnB,IAAK,UACL5zC,MAAO,SAAiB+d,IACtB,OAAOrL,KAAKxT,SAAW6e,GAAY7e,QAAUwT,KAAK+0F,MAAQ1pF,GAAY0pF,GACxE,GAeC,CACD7zD,IAAK,UACL5zC,MAAO,WACL,OAAO05Y,GAAchnY,KAAM,CACzBquiB,IAAI,GACHruiB,KAAKo4C,cACV,GACC,CACDlX,IAAK,SACL5zC,MAAO,SAAgB07C,GAASpiB,IAC9B,OFjFS,SAASgkoB,GAAah8mB,GAAOqvB,GAAQr3C,GAASoxB,IAU3D,GAPEpxB,GADEA,GACQ6/nB,GAAcA,GAAc,CAAC,EAAG5hd,IAAkBj+K,IAElDi+K,GAGZ7sJ,GAAW,IAAI6rG,MAAS7rG,IAEpBpJ,GAAMjkD,SAA6B,QAAlBikD,GAAMjkD,QAAmB,CAE5C,IAAKqtD,GAASkrmB,WAAWt0mB,GAAMjkD,SAC7B,MAAM,IAAIk9C,MAAM,oBAAoBp6C,OAAOmhD,GAAMjkD,UAGnDqtD,GAASrtD,QAAQikD,GAAMjkD,QACzB,UAAWikD,GAAMo2mB,mBAEV,OAAOp2mB,GAAMzkD,OAAS,GAD3B6tD,GAASirmB,oBAAoBr0mB,GAAMo2mB,mBACR,CAE7B,IAIIx4pB,GAJAw4pB,GAAqBhtmB,GAASgtmB,qBAC9B54oB,GAAiBwa,GAAQynhB,GAAKz/f,GAAMxiC,eAAiBwiC,GAAMzkD,MAK/D,OAAQ8zE,IACN,IAAK,WAGH,OAAK7xD,GAKE69oB,GADPz9pB,GAAS48pB,GAAqBh9oB,GAAgBwiC,GAAMy6mB,YAAa,WAAYrxmB,GAAUpxB,IAC3DgoB,GAAMmmD,IAAK/8C,GAAUpxB,GAAQsioB,iBAJhD,GAMX,IAAK,gBAGH,OAAK98oB,IAIL5f,GAAS48pB,GAAqBh9oB,GAAgB,KAAM,gBAAiB4rC,GAAUpxB,IAExEqjoB,GADPz9pB,GAAS,IAAIiB,OAAOu3pB,GAAoB,KAAKv3pB,OAAOjB,IACxBoiD,GAAMmmD,IAAK/8C,GAAUpxB,GAAQsioB,kBALhD,IAAIz7pB,OAAOu3pB,IAOtB,IAAK,QAEH,MAAO,IAAIv3pB,OAAOu3pB,IAAoBv3pB,OAAO2e,IAE/C,IAAK,UACH,OKrBC,SAASy+oB,GAAc7umB,IAC5B,IAAIxvD,GAASwvD,GAAKxvD,OACduoG,GAAM/4C,GAAK+4C,IAEf,IAAKvoG,GACH,MAAO,GAGT,GAAkB,MAAdA,GAAO,GACT,MAAM,IAAIq7C,MAAM,6DAGlB,MAAO,OAAOp6C,OAAOjB,IAAQiB,OAAOsnG,GAAM,QAAUA,GAAM,GAC5D,CLQa81jB,CAAc,CACnBr+pB,OAAQ,IAAIiB,OAAOu3pB,IAAoBv3pB,OAAO2e,IAC9C2oF,IAAKnmD,GAAMmmD,MAOf,IAAK,MACH,IAAKnuE,GAAQkkoB,YACX,OAGF,IAAI3B,GAkDV,SAAS4B,GAAU3+oB,GAAgBi9oB,GAAarE,GAAoB8F,GAAa9ymB,IAG/E,IAFIgzmB,EAAyBjG,OAAsB+F,GAAa9ymB,GAASA,YAE1CgtmB,GAAoB,CACjD,IAAImE,GAAkBC,GAAqBh9oB,GAAgBi9oB,GAAa,WAAYrxmB,IAGpF,MAA2B,MAAvBgtmB,GACKA,GAAqB,IAAMmE,GAY7BA,EACT,CAEA,IAAI8B,GDzKS,SAASC,GAAavgqB,GAASk4pB,GAAa7qmB,IACzD,IAAImzmB,GAAkB,IAAItngB,MAAS7rG,IAGnC,OAFAmzmB,GAAgBlI,oBAAoBt4pB,GAASk4pB,IAEzCsI,GAAgB1H,mBACX0H,GAAgB1H,mBAGrBwF,GAA0B9tjB,KAAKgwjB,GAAgB3H,aAC1C2H,GAAgB3H,iBADzB,CAGF,CC8JkB0H,CAAaJ,QAAaz8pB,EAAW2pD,GAASA,UAE9D,GAAIizmB,GACF,MAAO,GAAGx9pB,OAAOw9pB,GAAW,KAAKx9pB,OAAOu3pB,GAAoB,KAAKv3pB,OAAO27pB,GAAqBh9oB,GAAgB,KAAM,gBAAiB4rC,IAExI,CA9E4B+ymB,CAAU3+oB,GAAgBwiC,GAAMy6mB,YAAarE,GAAoBp+nB,GAAQkkoB,YAAa9ymB,IAC5G,OAAOiymB,GAAad,GAAiBv6mB,GAAMmmD,IAAK/8C,GAAUpxB,GAAQsioB,iBAEpE,QACE,MAAM,IAAIrhnB,MAAM,0DAA+Dp6C,OAAOwwE,GAAQ,MAEpG,CEOa2slB,CAAa5qpB,KAAMgpC,GAASpiB,GAAU6/nB,GAAcA,GAAc,CAAC,EAAG7/nB,IAAU,CAAC,EAAG,CACzFynhB,IAAI,IACD,CACHA,IAAI,GACHruiB,KAAKo4C,cACV,GACC,CACDlX,IAAK,iBACL5zC,MAAO,SAAwBs5B,IAC7B,OAAO5mB,KAAKi+D,OAAO,WAAYr3C,GACjC,GACC,CACDsa,IAAK,sBACL5zC,MAAO,SAA6Bs5B,IAClC,OAAO5mB,KAAKi+D,OAAO,gBAAiBr3C,GACtC,GACC,CACDsa,IAAK,SACL5zC,MAAO,SAAgBs5B,IACrB,OAAO5mB,KAAKi+D,OAAO,UAAWr3C,GAChC,KAGKqnW,EACT,CA9H+B,GAkI3Bq8R,GAAgB,SAAuBh9pB,IACzC,MAAO,aAAa6tG,KAAK7tG,GAC3B,EIvJI01Y,GAA0B,IAAIxzT,OAAO,KAAOu3kB,EAAe,MCWhD,SAASqE,GAAsB5+pB,GAAQwrD,IAUpD,IAAIqzmB,GCVS,SAASC,GAAkD9+pB,GAAQwrD,IAChF,GAAIxrD,IAAUwrD,GAASmrmB,cAAcS,2BAA4B,CAI/D,IAAI2H,GAAgB,IAAI/7kB,OAAO,OAASx3B,GAASmrmB,cAAcS,2BAA6B,KACxF4H,GAAcD,GAAc1slB,KAAKryE,IAErC,GAAIg/pB,GAAa,CACf,IAAIp/oB,GACAi9oB,GAqDA9E,GApCAkH,GAAsBD,GAAYp5pB,OAAS,EAC3Cs5pB,GAAoBD,GAAsB,GAAKD,GAAYC,IAqC/D,GAnCIzzmB,GAAS6rmB,+BAAiC6H,IAC5Ct/oB,GAAiB5f,GAAO6hB,QAAQk9oB,GAAevzmB,GAAS6rmB,+BAGpD4H,GAAsB,IACxBpC,GAAcmC,GAAY,MAe5Bp/oB,GAAiB5f,GAAOo1C,MADS4pnB,GAAY,GACYp5pB,QAGrDs5pB,KACFrC,GAAcmC,GAAY,KAW1BE,GAAmB,CACrB,IAAIC,GAA0Cn/pB,GAAOqF,QAAQ25pB,GAAY,IAC5Ch/pB,GAAOo1C,MAAM,EAAG+pnB,MAOd3zmB,GAASmrmB,cAAcoB,mBACpDA,GAAiBvsmB,GAASmrmB,cAAcoB,iBAE5C,MACEA,GAAiBiH,GAAY,GAG/B,MAAO,CACLp/oB,eAAgBA,GAChBm4oB,eAAgBA,GAChB8E,YAAaA,GAEjB,CACF,CAEA,MAAO,CACLj9oB,eAAgB5f,GAEpB,CDlF8B8+pB,CAAkD9+pB,GAAQwrD,IAClFqxmB,GAAcgC,GAAsBhC,YACpCj9oB,GAAiBi/oB,GAAsBj/oB,eAE3C,GAAIA,KAAmB5f,GAAQ,CAC7B,IA8CJ,SAASo/pB,GAAkCC,GAAsBC,GAAqB9zmB,IAGpF,QAAIsuV,GAAgBulR,GAAsB7zmB,GAAS0rmB,2BAA6Bp9Q,GAAgBwlR,GAAqB9zmB,GAAS0rmB,yBAkBhI,CAnESkI,CAAkCp/pB,GAAQ4f,GAAgB4rC,IAE7D,MAAO,CACL5rC,eAAgB5f,IAMpB,GAAIwrD,GAAS2rmB,oBA4DjB,SAASoI,GAAmC3/oB,GAAgB4rC,IAC1D,OAAQowmB,GAAkBh8oB,GAAgB4rC,KACxC,IAAK,YACL,IAAK,iBAIH,OAAO,EAET,QACE,OAAO,EAEb,CA/DW+zmB,CAAmC3/oB,GAAgB4rC,IAEtD,MAAO,CACL5rC,eAAgB5f,GAIxB,CAEA,MAAO,CACL4f,eAAgBA,GAChBi9oB,YAAaA,GAEjB,CEvDA,SAAS7D,GAAkB35mB,GAAKkO,KAAkB,MAAPA,IAAeA,GAAMlO,GAAIz5C,UAAQ2nD,GAAMlO,GAAIz5C,QAAQ,QAAS21B,GAAI,EAAG+6Z,GAAO,IAAIxxb,MAAMyoD,IAAMhyB,GAAIgyB,GAAKhyB,KAAO+6Z,GAAK/6Z,IAAK8jB,GAAI9jB,IAAM,OAAO+6Z,EAAM,CCHtL,IAAIkpO,IAAkC,EACvB,SAASC,GAAwBpJ,GAAa7mmB,IAC3D,IAAIkwmB,GAAsBlwmB,GAAK5vC,eAC3Bu6oB,GAAiB3qmB,GAAK2qmB,eACtB3umB,GAAWgE,GAAKhE,SAGpB,GAAIg0mB,IACEh0mB,GAAS2ymB,2BAA2B9H,IACtC,MAAO,MAIX,IAAI2H,GAAoBxymB,GAAS8qmB,8BAA8BD,IAE/D,OAAK2H,GAM4B,IAA7BA,GAAkBp4pB,OACbo4pB,GAAkB,GDfd,SAAS2B,GAA2BD,GAAqBlwmB,IACtE,IAAIpmD,GAAYomD,GAAKpmD,UAEjBoiD,GAAWgE,GAAKhE,SAEpBA,GAAW,IAAI6rG,MAAS7rG,IAExB,QAAiEqxQ,GAAxDC,GAfX,SAASy+V,GAAgCjxkB,GAAGkxkB,IAAkB,IAAIjvnB,UAAYy6N,OAAW,KAAe18K,GAAE08K,OAAOijB,WAAa3/L,GAAE,cAAe,GAAI/9C,GAAI,OAAQA,GAAKA,GAAG2vB,KAAKouB,KAAInqE,KAAKsK,KAAK8hB,IAAK,GAAIznC,MAAMC,QAAQulF,MAAO/9C,GAExN,SAASmtnB,GAA4BpvkB,GAAGqvkB,IAAU,GAAKrvkB,GAAW,IAAiB,iBAANA,GAAgB,OAAO0ukB,GAAkB1ukB,GAAGqvkB,IAAS,IAAI10pB,GAAI29B,OAAO0Y,UAAU3G,SAASunB,KAAKouB,IAAGl1C,MAAM,GAAG,GAAkE,GAAnD,WAANnwC,IAAkBqlF,GAAEr3E,cAAahO,GAAIqlF,GAAEr3E,YAAYjS,MAAgB,QAANiE,IAAqB,QAANA,GAAa,OAAOH,MAAM4lE,KAAK4f,IAAI,GAAU,cAANrlF,IAAqB,2CAA2C0pG,KAAK1pG,IAAI,OAAO+zpB,GAAkB1ukB,GAAGqvkB,GAAM,CAAG,CAFlMD,CAA4BpvkB,MAAOkxkB,IAAkBlxkB,IAAyB,iBAAbA,GAAE1kF,OAAqB,CAAM2mC,KAAI+9C,GAAI/9C,IAAI,IAAIhR,GAAI,EAAG,OAAO,WAAc,OAAIA,IAAK+uD,GAAE1kF,OAAe,CAAEulE,MAAM,GAAe,CAAEA,MAAM,EAAOrqE,MAAOwpF,GAAE/uD,MAAQ,CAAG,CAAE,MAAM,IAAIwmB,UAAU,wIAA0I,CAepkBw5mB,CAAgCnypB,MAAqByzT,GAAQC,MAAa3xP,MAAO,CACpG,IAAIhtE,GAAU0+T,GAAM/7T,MASpB,GARA0qD,GAASrtD,QAAQA,IAQbqtD,GAAS8rmB,iBACX,GAAIoI,IAAgF,IAAzDA,GAAoB91lB,OAAOpe,GAAS8rmB,iBAC7D,OAAOn5pB,WAIFq8Y,GAAc,CACrB78Y,MAAO+hqB,GACPvhqB,QAASA,SACR0D,EAAW2pD,GAASA,UAIrB,OAAOrtD,EAUX,CAKF,CC3BSwhqB,CAA2BD,GAAqB,CACrDt2pB,UAAW40pB,GACX7D,eAAgBA,GAChB3umB,SAAUA,GAASA,gBAbrB,CAeF,CCxBO,IAAI8oV,GAAY,IAEnB2C,GAAuB,KAAYsjR,EAAZ,qBAOvBpjR,EAAwC,IAAIn0T,OANZ,MAAasxT,GAAY2C,GAAuB,KAAYsjR,EAAe,IAAMtjR,GAAuB,KAMtD,KAalFO,EAA8B,IAAIx0T,OANZ,MAJVu3kB,EAC6B,aAD7BA,EAIU,4BAJVA,EAIU,WAMwC,KACvD9lR,GAAkB,OAClBC,GAAyB,kBACzBC,GAA2B,SCVtC,IAAIirR,GAA0B,IAE1BC,GAA6B,IAAI78kB,OAAO,WAAmBu3kB,EAAe,KAI1EuF,GAAiC,IAAI98kB,OAAO,KAAOu3kB,EAAe,QAClEiF,IAAkC,EAyBvB,SAASvupB,GAAMk5C,GAAM/vB,GAASoxB,IAM3C,GAHApxB,GAAUA,IAAW,CAAC,EACtBoxB,GAAW,IAAI6rG,MAAS7rG,IAEpBpxB,GAAQ+/nB,iBAAmB3umB,GAASkrmB,WAAWt8nB,GAAQ+/nB,gBACzD,MAAI//nB,GAAQynhB,GACJ,IAAI8yG,KAAW,mBAGjB,IAAIt5mB,MAAM,oBAAoBp6C,OAAOm5B,GAAQ+/nB,iBAIrD,IAAI4F,GAwJN,SAASC,GAAW71mB,GAAM03f,GAAIwzE,IAM5B,IAAIr1nB,GC3NS,SAASigqB,GAAwDC,GAAe1wmB,IAC7F,IAOI2wmB,GAPAC,GAA8B5wmB,GAAK4wmB,4BACnCC,GF+BS,SAASC,GAAoBC,IAC1C,IAAIC,GAAsBD,GAAoBl7pB,QAAQqvY,IAEtD,GAAI8rR,GAAsB,EACxB,OAAO,KAGT,IAAIC,GAAoBD,GAAsB9rR,GAAuB9uY,OAErE,GAAI66pB,IAAqBF,GAAoB36pB,OAC3C,MAAO,GAGT,IAAI86pB,GAAkBH,GAAoBl7pB,QAAQ,IAAKo7pB,IAEvD,OAAIC,IAAmB,EACdH,GAAoB13oB,UAAU43oB,GAAmBC,IAEjDH,GAAoB13oB,UAAU43oB,GAEzC,CEnDqBH,CAAoBJ,IAEvC,IFyDK,SAASS,GAAoBN,IAClC,OAAqB,OAAjBA,IAIwB,IAAxBA,GAAaz6pB,SAKVuxY,EAAsCxoS,KAAK0xjB,KAAiB7oR,EAA4B7oS,KAAK0xjB,IACtG,CEpEOM,CAAoBN,IACvB,MAAM,IAAI1L,KAAW,gBAKvB,GAAqB,OAAjB0L,GAGFF,GAAoBC,GAA4BF,KAAkB,OAC7D,CACLC,GAAoB,GAGhBE,GAAaz3oB,OAAO,KAAO0rX,KAC7B6rR,IAAqBE,IAQvB,IACIO,GADAC,GAAuBX,GAAc76pB,QAAQovY,IAO/CmsR,GADEC,IAAwB,EACFA,GAAuBpsR,GAAgB7uY,OAEvC,EAG1B,IAAI46pB,GAAsBN,GAAc76pB,QAAQqvY,IAChDyrR,IAAqBD,GAAcr3oB,UAAU+3oB,GAAuBJ,GACtE,CAKA,IAAIM,GAAcX,GAAkB96pB,QAAQsvY,IAW5C,GATImsR,GAAc,IAChBX,GAAoBA,GAAkBt3oB,UAAU,EAAGi4oB,KAQ3B,KAAtBX,GACF,OAAOA,EAEX,CD+JeF,CAAwD91mB,GAAM,CACzEi2mB,4BAA6B,SAAqCj2mB,IAChE,OA5CN,SAAS42mB,GAA6B52mB,GAAMkrkB,GAAS2rC,IACnD,GAAK72mB,GAIL,IAAIA,GAAKvkD,OAASg6pB,GAAyB,CACzC,GAAIoB,GACF,MAAM,IAAIrM,KAAW,YAGvB,MACF,CAEA,IAAgB,IAAZt/B,GACF,OAAOlrkB,GAIT,IAAI82mB,GAAW92mB,GAAKyf,OAAOi2lB,IAE3B,KAAIoB,GAAW,GAIf,OAAO92mB,GACN/U,MAAM6rnB,IACNp/oB,QAAQi+oB,GAAgC,GAAE,CAC7C,CAiBaiB,CAA6B52mB,GAAMkrkB,GAASxzE,GACrD,IAGF,IAAK7hjB,GACH,MAAO,CAAC,EAGV,IvBrLa,SAAS65Y,GAAoB75Y,IAC1C,OAAOA,GAAO4F,QAAUw0pB,GAAsBe,GAA2BxsjB,KAAK3uG,GAChF,CuBmLO65Y,CAAoB75Y,IACvB,OvB7KG,SAASkhqB,GAAyBlhqB,IACvC,OAAOi7pB,GAAiCtsjB,KAAK3uG,GAC/C,CuB2KQkhqB,CAAyBlhqB,IACpB,CACLsC,MAAO,aAIJ,CAAC,EAKV,IAAI6+pB,GtBlPS,SAASC,GAAiBphqB,IACvC,IAAIkoD,GAAQloD,GAAO4pE,OAAOwxlB,IAE1B,GAAIlzmB,GAAQ,EACV,MAAO,CAAC,EASV,QAJIm5mB,GAAyBrhqB,GAAOo1C,MAAM,EAAG8S,IACzCinD,GAAUnvG,GAAOixE,MAAMmqlB,IACvB7/nB,GAAI,EAEDA,GAAI4zE,GAAQvpG,QAAQ,CACzB,GAAIupG,GAAQ5zE,IACV,MAAO,CACLv7B,OAAQqhqB,GACR94jB,IAAK4G,GAAQ5zE,KAIjBA,IACF,CACF,CsB2N8B6loB,CAAiBphqB,IAE7C,OAAImhqB,GAAsB54jB,IACjB44jB,GAGF,CACLnhqB,OAAQA,GAEZ,CA7LoBggqB,CAAW71mB,GAAM/vB,GAAQynhB,GAAIznhB,GAAQi7lB,SACnDisC,GAAuBvB,GAAY//pB,OACnCuoG,GAAMw3jB,GAAYx3jB,IAItB,IAAK+4jB,GAAsB,CACzB,GAAIlnoB,GAAQynhB,GACV,MACQ,IAAI8yG,KADE,cALNoL,GAAYz9pB,MAMG,YAGF,gBAGvB,MAAO,CAAC,CACV,CAEA,IAAIi/pB,GAuMN,SAAS7hpB,GAAiB4hpB,GAAsBnH,GAAgBqH,GAAoBh2mB,IAElF,IAMIrtD,GANAsjqB,GEzQS,SAASC,GAA0B1hqB,GAAQ7B,GAASk4pB,GAAa7qmB,IAC9E,IAAKxrD,GACH,MAAO,CAAC,EAGV,IAAI2hqB,GAQJ,GAAkB,MAAd3hqB,GAAO,GAAY,CAGrB,IAAI4hqB,GRpCO,SAASC,GAAe7hqB,GAAQ7B,GAASk4pB,GAAa7qmB,IACnE,GAAKrtD,GAKL,KAAIwgqB,GAAkB,IAAItngB,MAAS7rG,IACnCmzmB,GAAgBlI,oBAAoBt4pB,GAASk4pB,IAC7C,IAAIyL,GAAmB,IAAI9+kB,OAAO27kB,GAAgB3H,aAElD,GAAwC,IAApCh3pB,GAAO4pE,OAAOk4lB,IAKlB9hqB,CAKA,IAAI+hqB,IALJ/hqB,GAASA,GAAOo1C,MAAMp1C,GAAOixE,MAAM6wlB,IAAkB,GAAGl8pB,SAK7BqrE,MAAMulU,IAEjC,KAAIurR,IAAqC,MAApBA,GAAc,IAAcA,GAAc,GAAGn8pB,OAAS,GAChD,MAArBm8pB,GAAc,IAKpB,OAAO/hqB,IACT,CQO2B6hqB,CAAe7hqB,GAAQ7B,GAASk4pB,GAAa7qmB,IAIpE,IAAIo2mB,IAAoBA,KAAqB5hqB,GAGtC,CAKL,GAAI7B,IAAWk4pB,GAAa,CAC1B,IAAIoL,GCrCG,SAASO,GAAgEhiqB,GAAQ7B,GAASk4pB,GAAa7qmB,IACpH,IAAIgtmB,GAAqBr6pB,MAAUo6pB,OAAsBp6pB,GAASqtD,IAAY6qmB,GAE9E,GAA2C,IAAvCr2pB,GAAOqF,QAAQmzpB,IAA2B,EAC5ChtmB,GAAW,IAAI6rG,MAAS7rG,KACfirmB,oBAAoBt4pB,GAASk4pB,IACtC,IAAI4L,GAAwBjiqB,GAAOo1C,MAAMojnB,GAAmB5ypB,QAGxDs8pB,GADwBtD,GAAsBqD,GAAuBz2mB,IACf5rC,eAGtDA,GADyBg/oB,GAAsB5+pB,GAAQwrD,IACf5rC,eAU5C,IAAKk6X,GAAgBl6X,GAAgB4rC,GAAS0rmB,0BAA4Bp9Q,GAAgBooR,GAA+B12mB,GAAS0rmB,0BAA4E,aAAhD0E,GAAkBh8oB,GAAgB4rC,IAC9L,MAAO,CACLgtmB,mBAAoBA,GACpBx4pB,OAAQiiqB,GAGd,CAEA,MAAO,CACLjiqB,OAAQA,GAEZ,CDIoCgiqB,CAAgEhiqB,GAAQ7B,GAASk4pB,GAAa7qmB,IACtHgtmB,GAAqBiJ,GAAsBjJ,mBAG/C,GAAIA,GACF,MAAO,CACL2J,yBAA0B,gCAC1B3J,mBAAoBA,GACpBx4pB,OANgByhqB,GAAsBzhqB,OAS5C,CAEA,MAAO,CAGLA,OAAQA,GAEZ,CA1BE2hqB,IAAwB,EACxB3hqB,GAAS,IAAM4hqB,EA0BnB,CAGA,GAAkB,MAAd5hqB,GAAO,GACT,MAAO,CAAC,EAGVwrD,GAAW,IAAI6rG,MAAS7rG,IAYxB,QAFIjwB,GAAI,EAEDA,GAAI,GAAK++nB,GAA2B/+nB,IAAKv7B,GAAO4F,QAAQ,CAC7D,IAAIw8pB,GAAsBpiqB,GAAOo1C,MAAM,EAAG7Z,IAE1C,GAAIiwB,GAASqrmB,eAAeuL,IAC1B52mB,UAASirmB,oBAAoB2L,IACtB,CACLD,yBAA0BR,GAAwB,uBAAyB,6BAC3EnJ,mBAAoB4J,GACpBpiqB,OAAQA,GAAOo1C,MAAM7Z,KAIzBA,IACF,CAEA,MAAO,CAAC,CACV,CFsL8BmmoB,CAA0BpG,GAA2BgG,IAAuBnH,GAAgBqH,GAAoBh2mB,GAASA,UACjJ22mB,GAA2BV,GAAsBU,yBACjD3J,GAAqBiJ,GAAsBjJ,mBAC3Cx4pB,GAASyhqB,GAAsBzhqB,OAKnC,GAAIw4pB,GACFhtmB,GAASirmB,oBAAoB+B,QAAkB,KAGxCx4pB,KAAWm6pB,KAAkBqH,GAe/B,MAAO,CAAC,EAdbh2mB,GAASirmB,oBAAoB0D,GAAgBqH,IAEzCrH,GACFh8pB,GAAUg8pB,GAGNqF,IACEh0mB,GAAS2ymB,2BAA2BqD,MACtCrjqB,GAAU,OAKhBq6pB,GAAqBgJ,OAAsBjJ,OAAsB4B,GAAgB3umB,GAASA,SAC7E,CAEf,IAAKxrD,GACH,MAAO,CACLmiqB,yBAA0BA,GAC1B3J,mBAAoBA,IAIxB,IAAIqG,GAAwBD,GAAsBtD,GAA2Bt7pB,IAASwrD,IAClF5rC,GAAiBi/oB,GAAsBj/oB,eACvCi9oB,GAAcgC,GAAsBhC,YAYpCwF,GAAe5C,GAAwBjH,GAAoB,CAC7D54oB,eAAgBA,GAChBu6oB,eAAgBA,GAChB3umB,SAAUA,KAGZ,OAAI62mB,KACFlkqB,GAAUkkqB,GAGW,QAAjBA,IAIF72mB,GAASrtD,QAAQA,KAId,CACLA,QAASA,GACTq6pB,mBAAoBA,GACpB2J,yBAA0BA,GAC1BvipB,eAAgBA,GAChBi9oB,YAAaA,GAEjB,CApR0Bn9oB,CAAiB4hpB,GAAsBlnoB,GAAQ+/nB,eAAgB//nB,GAAQonoB,mBAAoBh2mB,IAC/GrtD,GAAUojqB,GAAkBpjqB,QAC5ByhB,GAAiB2hpB,GAAkB3hpB,eACnC44oB,GAAqB+I,GAAkB/I,mBACvC2J,GAA2BZ,GAAkBY,yBAC7CtF,GAAc0E,GAAkB1E,YAEpC,IAAKrxmB,GAAS82mB,2BAA4B,CACxC,GAAIlooB,GAAQynhB,GACV,MAAM,IAAI8yG,KAAW,mBAGvB,MAAO,CAAC,CACV,CAGA,IAAK/0oB,IAAkBA,GAAeha,OAASw0pB,EAAoB,CAIjE,GAAIhgoB,GAAQynhB,GACV,MAAM,IAAI8yG,KAAW,aAIvB,MAAO,CAAC,CACV,CAWA,GAAI/0oB,GAAeha,OAASy0pB,EAAoB,CAC9C,GAAIjgoB,GAAQynhB,GACV,MAAM,IAAI8yG,KAAW,YAIvB,MAAO,CAAC,CACV,CAEA,GAAIv6nB,GAAQynhB,GAAI,CACd,IAAIhjiB,GAAc,IAAI4iX,GAAY+2R,GAAoB54oB,GAAgB4rC,GAASA,UAE/E,OAAIrtD,KACF0gB,GAAY1gB,QAAUA,IAGpB0+pB,KACFh+oB,GAAYg+oB,YAAcA,IAGxBt0jB,KACF1pF,GAAY0pF,IAAMA,IAGpB1pF,GAAY0jpB,2BAA6BJ,GAClCtjpB,EACT,CAKA,IAAI+zD,MAASx4C,GAAQugE,SAAWnvC,GAAS82mB,2BAA6BnkqB,KAAW27Y,GAAgBl6X,GAAgB4rC,GAAS0rmB,yBAE1H,OAAK98nB,GAAQugE,SAKN,CACLx8F,QAASA,GACTq6pB,mBAAoBA,GACpBqE,YAAaA,GACbjqlB,MAAOA,GACP4vlB,WAAU5vlB,OAAoC,IAArBx4C,GAAQugE,WAAqBnvC,GAAS2rmB,oBAAqB55Q,GAAiB39X,GAAgB4rC,KACrH7tD,MAAOiiB,GACP2oF,IAAKA,IAXE31B,GA0GX,SAAS9hE,GAAO3S,GAASyhB,GAAgB2oF,IACvC,IAAIz3F,GAAS,CACX3S,QAASA,GACTR,MAAOiiB,IAGT,OAAI2oF,KACFz3F,GAAOy3F,IAAMA,IAGRz3F,EACT,CArHmBA,CAAO3S,GAASyhB,GAAgB2oF,IAAO,CAAC,CAa3D,CI3KA,SAASowjB,GAAQ3/jB,GAAQ4/jB,IAAkB,IAAI/1nB,GAAOD,OAAOC,KAAKm2D,IAAS,GAAIp2D,OAAO+tT,sBAAuB,CAAE,IAAIkoU,GAAUj2nB,OAAO+tT,sBAAsB33P,IAAS4/jB,KAAmBC,GAAUA,GAAQ33pB,OAAO,SAAU43pB,IAAO,OAAOl2nB,OAAOwsI,yBAAyBp2E,GAAQ8/jB,IAAKvgkB,UAAY,IAAK11D,GAAKyS,KAAKoa,MAAM7sB,GAAMg2nB,GAAU,CAAE,OAAOh2nB,EAAM,CAEpV,SAASo3nB,GAAc39lB,IAAU,QAAS/gC,GAAI,EAAGA,GAAI0oB,UAAUr+C,OAAQ21B,KAAK,CAAE,IAAI+rB,GAAS,MAAQrD,UAAU1oB,IAAK0oB,UAAU1oB,IAAK,CAAC,EAAGA,GAAI,EAAIo9nB,GAAQ/1nB,OAAO0kB,KAAS,GAAI1oB,QAAQ,SAAU8V,IAAOqknB,GAAgBz8lB,GAAQ5nB,GAAK4S,GAAO5S,IAAO,GAAK9R,OAAOs3nB,0BAA4Bt3nB,OAAOkvT,iBAAiBx1R,GAAQ15B,OAAOs3nB,0BAA0B5ymB,KAAWqxmB,GAAQ/1nB,OAAO0kB,KAAS1oB,QAAQ,SAAU8V,IAAO9R,OAAO0rD,eAAehyB,GAAQ5nB,GAAK9R,OAAOwsI,yBAAyB9nH,GAAQ5S,IAAO,EAAI,CAAE,OAAO4nB,EAAQ,CAEzf,SAASy8lB,GAAgBtknB,GAAKC,GAAK5zC,IAAS,OAAI4zC,MAAOD,GAAO7R,OAAO0rD,eAAe75C,GAAKC,GAAK,CAAE5zC,MAAOA,GAAOy3F,YAAY,EAAMC,cAAc,EAAMi2H,UAAU,IAAkBh6K,GAAIC,IAAO5zC,GAAgB2zC,EAAK,CAGjM,SAASgunB,GAA0Bt4mB,GAAM/vB,GAASoxB,IAC/D,OAAOv6C,GAAMk5C,GAAM8vmB,GAAcA,GAAc,CAAC,EAAG7/nB,IAAU,CAAC,EAAG,CAC/DynhB,IAAI,IACFr2f,GACN,6GCXA,SAASmtmB,EAAQ3/jB,GAAQ4/jB,IAAkB,IAAI/1nB,GAAOD,OAAOC,KAAKm2D,IAAS,GAAIp2D,OAAO+tT,sBAAuB,CAAE,IAAIkoU,GAAUj2nB,OAAO+tT,sBAAsB33P,IAAS4/jB,KAAmBC,GAAUA,GAAQ33pB,OAAO,SAAU43pB,IAAO,OAAOl2nB,OAAOwsI,yBAAyBp2E,GAAQ8/jB,IAAKvgkB,UAAY,IAAK11D,GAAKyS,KAAKoa,MAAM7sB,GAAMg2nB,GAAU,CAAE,OAAOh2nB,EAAM,CAEpV,SAASo3nB,EAAc39lB,IAAU,QAAS/gC,GAAI,EAAGA,GAAI0oB,UAAUr+C,OAAQ21B,KAAK,CAAE,IAAI+rB,GAAS,MAAQrD,UAAU1oB,IAAK0oB,UAAU1oB,IAAK,CAAC,EAAGA,GAAI,EAAIo9nB,EAAQ/1nB,OAAO0kB,KAAS,GAAI1oB,QAAQ,SAAU8V,IAAOqknB,EAAgBz8lB,GAAQ5nB,GAAK4S,GAAO5S,IAAO,GAAK9R,OAAOs3nB,0BAA4Bt3nB,OAAOkvT,iBAAiBx1R,GAAQ15B,OAAOs3nB,0BAA0B5ymB,KAAWqxmB,EAAQ/1nB,OAAO0kB,KAAS1oB,QAAQ,SAAU8V,IAAO9R,OAAO0rD,eAAehyB,GAAQ5nB,GAAK9R,OAAOwsI,yBAAyB9nH,GAAQ5S,IAAO,EAAI,CAAE,OAAO4nB,EAAQ,CAEzf,SAASy8lB,EAAgBtknB,GAAKC,GAAK5zC,IAAS,OAAI4zC,MAAOD,GAAO7R,OAAO0rD,eAAe75C,GAAKC,GAAK,CAAE5zC,MAAOA,GAAOy3F,YAAY,EAAMC,cAAc,EAAMi2H,UAAU,IAAkBh6K,GAAIC,IAAO5zC,GAAgB2zC,EAAK,CCFjM,SAAS/0B,IACtB,IAAIgjpB,MAAsBzJ,KAAmBh1mB,WAK7C,ODCa,SAASvkC,EAAiByqC,GAAM/vB,GAASoxB,IAElDpxB,IAAWA,GAAQ+/nB,kBAAkB,EAAC1B,MAAmBr+nB,GAAQ+/nB,eAAgB3umB,MACnFpxB,GAAU6/nB,EAAcA,EAAc,CAAC,EAAG7/nB,IAAU,CAAC,EAAG,CACtD+/nB,oBAAgBt4pB,KAKpB,IACE,SAAO4gqB,KAA0Bt4mB,GAAM/vB,GAASoxB,GAClD,OAASlpD,IAEP,KAAIA,cAAiBqypB,KAEnB,MAAMrypB,EAEV,CACF,CCnBSqgqB,CAJID,GAAoBv4mB,KACjBu4mB,GAAoBtooB,QACnBsooB,GAAoBl3mB,SAGrC,CCNO,SAAS9rC,KACf,SAAOkjpB,KAAqBrB,EAAmBt9mB,UAChD,iDCFA,MAAA4+mB,EAAe,CAAC10lB,QAAU,EAAEsplB,sBAAwB,CAAC,EAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,EAAI,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,C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","names":["AppActions","loadAppLanguage","createAction","props","loadAppLanguageSuccess","loadAppLanguageFailure","setActiveLanguage","runCheckChangeEmailRequest","HeaderActions","setVisibility","loadProfiles","getAuthenticatorUri","getRecoveryCodes","updatePhoneDetails","twoFaEnableSuccess","updatePhoneTemp","setResidence","restoreResidence","removeStoredResidence","getProfile","getProfileSuccess","getProfileFailed","getConsent","getConsentSuccess","getMarketingConsentsCheckedSuccess","getConsentFailed","consentOnchanges","clearConsentPayload","AddInvalidMyProfileFormFields","ProfileActions","RemoveInvalidMyProfileFormFields","ResetInvalidMyProfileFormFields","reset","loadRegisterProfile","loadRegisterProfileSuccess","loadRegisterProfileFailure","loadExistingPTProfile","loadExistingPTProfileSuccess","loadExistingPTProfileFailure","submitRegisterProfile","submitRegisterProfileSuccess","submitRegisterProfileFailure","updatePtExistingProfile","updatePtExistingProfileSuccess","updatePtExistingProfileFailure","signupToTaraClicked","signupToTaraClickedSuccess","signupToTaraClickedFailure","loadRegistrationClaims","loadRegistrationClaimSuccess","loadRegistrationClaimFailed","loadExternalAuthProviders","loadExternalAuthProviderSuccess","loadExternalAuthProviderFailed","setUserPassword","setUserPasswordSuccess","setUserPasswordFailed","loadTaraUserInfo","loadTaraUserInfoSuccess","loadTaraUserInfoFailed","taraResendEmailActivation","taraResendEmailActivationSuccess","taraResendEmailActivationFailed","activateUserAccount","activateTaraUserSuccess","activateTaraUserFailed","updatePhoneNumber","updatePhoneNumberSuccess","updatePhoneNumberFailed","verifyPhoneNumber","verifyPhoneNumberSuccess","verifyPhoneNumberFailed","enableMFA","enableMFASuccess","enableMFAFailed","enableMFAVerify","enableMFAVerifySuccess","enableMFAVerifyFailed","resetMFAInProgress","setAuthenticatorAppData","loadExistingUserClaims","RegisterActions","acceptPrivacyPolicy","loadStss","loadStssSuccess","loadStssFailure","loadConfigSuccess","addUserInfo","checkLoginStatus","loadProfileSuccess","loadProfileFailed","loadCountry","loadCountryFailed","loadCountrySuccess","setClaims","STSActions","setProfileEmail","setHasGeneplanetOrders","fetchHasGeneplanetOrders","setGeneplanetEnrolled","validateMFAResetLink","validateMFAResetLinkSuccess","validateMFAResetLinkFailed","changePhone","changePhoneSuccess","changePhoneFailed","verifyChangePhone","verifyChangePhoneSuccess","verifyChangePhoneFailed","set2FA","set2FASuccess","set2FAFailed","verifySet2FA","verifySet2FASuccess","verifySet2FAFailed","DkMfaResetAction","getMFAResetClaims","getMFAResetClaimsSuccess","getMFAResetClaimsFailed","dkMfaResetFeatureKey","reducer","createReducer","id","seqId","isMFAResetLinkValid","mfaResetClaims","activityInProgress","activityName","initialState","on","state","payload","EResetMFAActivity","RESET_ISVALID","RESET_CLAIMS","claims","CHANGE_PHONE","VERIFY_PHONE","body","twoFactorProvider","E2FAProvider","SMS","SET_2FA_SMS","SET_2FA_AUTH_APP","VERIFY_2FA","State","getLoadingComponent","createSelector","getPhone","phone","getPhoneVerified","phone_verified","toLowerCase","claimValues","TRUE","DKMFAResetSelector","getCountry","country","getQueryParams","searchLegalDocumentsAction","searchLegalDocumentsSuccessAction","searchLegalDocumentsVersionsAction","searchLegalDocumentsVersionsSuccessAction","legalDocumentFeatureKey","documents","isLoading","list","versions","searchLegalDocumentsReducer","searchLegalDocumentsSuccessReducer","action","legalDocuments","searchLegalDocumentsVersionsReducer","searchLegalDocumentsVersionsSuccessReducer","legalDocumentsReducer","appFeatureKey","appReducer","activeLanguage","loadingJSON","language","formatLocale","profileFeatureKey","profile_data","user_type","authenticator_uri","code","number","country_phone","country_residence","phone_temp","two_factor_enabled","residenceCountryCode","profile","consents","consents_payload","consentLoading","isMarketingConsentChecked","invalidProfileFormFields","data","countryCode","value","getConsentPayload","name","concat","filter","invalidField","consent","map","d","ConsentId","consentId","Allowed","allowed","featureKey","registerProfile","undefined","registerProfileLoadError","registerProfileLoadErrorObject","registerProfileSubmitted","registerProfileLoading","submitRegisterProfileLoading","submitRegisterProfileError","submitConsentLoading","RegisterProfileActions","error","errorObject","registrationFeatureKey","getClaimsLoading","externalAuthProviders","setPasswordInProgress","activationEmail","resendActivationLoading","activated","editPhoneLoading","smsCodeMFALoading","authAppData","privacyPolicyAccepted","items","email","stsFeatureKey","synlabId","role","config","token","userInfo","loginStatus","idp","countryInfo","status","hasGeneplanetOrders","isGenePlanetEnrolled","isGeneplanetEnrolled","ssnRegex","alphanumeric","hasOrders","isEnrolled","TaraRegisterProfileActions","AppSelector","isLanguageLoading","getActiveLanguage","profileReducer","getCurrentPhoneDetails","getTwoFactorEnabled","isTeacher","Array","isArray","some","n","getTempPhoneDetails","getUserCountryRequireMFA","initialMultiFactorAuthCountries","indexOf","getLocale","locale","getConsentsLoading","getConsentsPayload","ProfileSelectors","hasInvalidFormFields","length","RegisterProfileReducer","s","registerProfileErrorObject","registerSynlabAccessUser","c","claimType","claimTypes","USER_TYPE","claimValue","userTypes","SYNLAB_ACCESS_USER","registerProfileLinkInvalid","registerProfileLinkUsed","registerSubmittedSuccessfully","submitted","submitting","RegistrationReducer","getRegisterClaimUserId","userId","getTaraRegistrationEmail","getResendActivationLoading","getIsTaraUserActivated","getRegistrationPhoneNumber","getEditPhoneLoading","getTwoFactorEnabledClaim","getLoadClaimsLoading","getSMSMFACodeLoading","authenticatorUri","getAuthenticatorAppCode","getPrivacyAccepted","getRegistrationUserType","RegistrationSelectors","getRegistrationIsPatient","VALUE_TRUE","stsReducer","getName","getAppLogo","appLogo","SYNLAB","LOADING","isAppWhiteLabeled","getConfig","WHITE_LABEL_ENABLED","getSynlabId","isSynlabAccessUser","isAnonymousUser","find","ANONYMOUS_USER","toLocaleLowerCase","isUkDfpAdminUser","UK_DFP_ADMIN","isUkShfyAdminUser","UK_SHFY_ADMIN","isGenePlanetElligibleUser","COUNTRY_STORAGE","countries","ESTONIA","NATIONALITY","hasEmail","EMAIL","NO_EMAIL","isWardProfile","WARD_PROFILE","getBaseBookingUrl","BaseBookingUrl","getBasePlasmaUrl","BasePlasmaUrl","getBookingAdminUrl","BaseBookingAdminUrl","getWebreqAdminUrl","BaseWebreqAdminUrl","getCheckResultUrl","path","checkTenant","whiteLabelNames","UK_DFP","UK_SHFY","getBookingLinkEnabled","isAppAccessUser","hideBookingLinkOnThisRoles","SCHOOL_ADMIN","SCHOOL_TEACHER","LOLLI_SUPER_ADMIN","LOLLI_LAB_USER","BCP","WEBREQ_USER","isPTCountry","PORTUGAL","isEETenant","isHUTenant","HUNGARY","isDfpTenant","isShfytenant","hidden","includes","getWardLimit","isNaN","WardLimit","isSchoolAdmin","a","isMassCompanyUser","MASS_COMPANY","getVersion","Version","getUserInfo","isLoggedIn","getClaims","isMFARequired","isMFAEnabled","TWO_FACTOR_ENABLED","isTaraLogin","ELoginMethod","EE_TARA","isTeliaLogin","FI_TELIA","isBankIdLogin","CZ_BANKID","requireMfa","showPreventionWellnessMenu","COUNTRY_RESIDENCE","getPreventionWellnessLink","getPetProfileEnabled","PET_PROFILE_ENABLED","getEnablePreventionWellness","ENABLE_PREVENTION_WELLNESS","isEstoniaInstance","isSpainInstance","SPAIN","isHungaryInstance","isUkShfyInstance","isUkDfpInstance","isPtInstance","INIT","isBETenant","BELGIUM","isESTenant","isESTCTenant","SPAIN_TELECOUNSELING","isFITenant","FINLAND","isCzechRepublic","CZECH_REPUBLIC","isBelgium","checkIfTaraLoginMethod","checkIfTeliaLoginMethod","checkBankIdLoginMethod","getRoles","getUserHeader","givenName","GIVEN_NAME","familyName","FAMILY_NAME","getGpEnrolleeInfo","sex","GENDER","dateOfBirth","DATE_OF_BIRTH","getWhiteLabelName","WhiteLabelName","getEnableOpenReplay","OPEN_REPLAY_ENABLE","getOpenReplayProjectKey","OPEN_REPLAY_PROJECT_KEY","getOpenReplayIngestPoint","OPEN_REPLAY_INGEST_API","getAppEnvironment","ENVIRONMENT","getUserUserId","getUserSub","sub","getSSN","ssn","getUserActiveEmail","stsCountrySSNRegex","isSTSCountryLoading","isEEWithNoEmail","isEE","result","claim","JSON","parse","FALSE","getAccountsBaseUrl","BaseProfileUrl","isSuperSupportUser","accessPerTenant","EE_ADMIN","userTypesToCheck","PT_ADMIN","isClaimTrue","x","ALLOW_DELETE_USER","getBaseProfileUrl","useNewUI","useNewNav","useNewUiResult","isEstoniaInstanceResult","wardProfileAddEnabled","WardProfileAddEnabled","wardProfileEditEnabled","WardProfileEditEnabled","wardProfileDeleteEnabled","WardProfileDeleteEnabled","keyName","tenantName","isWhiteLabeled","whiteLabelName","WHITE_LABEL_NAME","StsSelectors","getContactEmail","CONTACT_EMAIL","AppCommonServices","constructor","router","store","transloco","logger","toastr","auth","this","i0","i1","i2","i3","i4","i5","i6","i7","factory","ɵfac","providedIn","GLOBAL","EXPERT","BOOKING_ADMIN_BCP_COORDINATOR","BOOKING_ADMIN_BCP_CLERK","BOOKING_ADMIN","WEBREQ_ADMIN","WEBREQ_SUPERADMIN","WEBREQ_ADMIN_USER_TYPES","BOOKING_ADMIN_USER_TYPES","ShfyRoles","DOCTOR","SHFY_ROLES","PHONE","PHONE_VERIFIED","COUNTRY_PHONE","COUNTRY_ADDRESS","SSN","IS_SELF_REGISTERED","IS_TARA_PROVIDER","TARA_ID","ACTIVE","CAPTURE_FROM_BOOKING_INTEGRATION","EMAIL_TURNED_OFF","PET_PROFILE","PET_CATEGORY_NAME","PET_CATEGORY","EE_MIGRATION_ACCEPTED","EE_NOTIFICATION_LANGUAGE","EE_MESSAGE_TYPE","EE_NOTIFICATION_TWO_DAYS_BEFORE","EE_NOTIFICATION_WHEN_READY","EE_NOTIFICATION_NEWS_LETTER","EE_GP_AGREE_TERMS_AND_CONDITIONS","EE_GP_AGREE_PRIVACY_POLICY","EE_GP_AGREE_DATA_PRIVACY","PASSPORT_NUMBER","USERID","LOGIN_METHOD","GENEPLANET_USER","COOKIE_BOT_API_KEY","REQUIRE_MFA","COUNTRY_CONTACT","LOCALE","SYNLAB_ID","EMAIL_VERIFIED","PROFILE_TOS_ENABLED","TWO_FACTOR_PROVIDER","COLOMBIA","petCategories","DOG","CAT","HORSE","MONKEY","OTHER","externalLink","TARA_PRIVACY_POLICY_LINK","GP_TERMS_AND_CONDITIONS","GP_PRIVACY_POLICY","GP_DATA_PRIVACY","registerV2Enum","ACTIVE_STEPPER","DATE_OF_BIRTH_FORMAT","AUTH_PROVIDER_TYPE","LOCAL","queryParamKey","REGID","SEQID","SEQUENCE_ID","TARA_CREATED","USER_ID","BANK_ID","FINLAND_ADMIN_SIGNUP","EMAIL_ADDRESS_FROM_RESULT","defaultTaraLocale","taraPrefilledClaims","ACCOUNT_ACTIVATION","VERIFICATION_FAILED","EMAIL_ACTIVATED","ACTIVATION_LINK_USED","SYNLAB_ACCESS","EPageTitle","DEFAULT","localeMap","et","ru","en","GTM_PLACEHOLDER_VALUE","CONSENTS","ErrorCode","USER_DEACTIVATED","AUTH_METHOD","TELIA","TARA","DatePickerModule","CommonModule","ReactiveFormsModule","TranslocoModule","MatDatepickerModule","MatNativeDateModule","MatMomentDateModule","MatInputModule","MatButtonModule","MatIconModule","t1_r3","_r1","ctx_r1","toggleEditSmsOnclick","RegisterMfaSmsComponent_div_0_div_11_span_6_Template","RegisterMfaSmsComponent_div_0_div_11_ng_template_7_Template","enableSMSLoading","showEnableText_r4","_r5","resetView","_r6","RegisterMfaSmsComponent_div_0_div_17_span_9_Template","RegisterMfaSmsComponent_div_0_div_17_ng_template_11_Template","smsCodeEnableMfaFC","invalid","getSMSMFACodeLoading$","showText1_r7","$event","_r8","validatePhoneFormGroupValues","RegisterMfaSmsComponent_div_0_ng_template_19_div_1_span_8_Template","RegisterMfaSmsComponent_div_0_ng_template_19_div_1_ng_template_10_Template","form","get","tmp_12_0","getRawValue","isValid","editPhoneLoading$","showText2_r9","_r10","verifyPhone","RegisterMfaSmsComponent_div_0_ng_template_19_div_4_span_9_Template","RegisterMfaSmsComponent_div_0_ng_template_19_div_4_ng_template_11_Template","smsCodeFC","showText3_r11","RegisterMfaSmsComponent_div_0_ng_template_19_div_1_Template","RegisterMfaSmsComponent_div_0_ng_template_19_div_4_Template","editPhoneToggle$","smsCodePhoneUpdateToggle$","RegisterMfaSmsComponent_div_0_div_11_Template","RegisterMfaSmsComponent_div_0_ng_template_14_Template","RegisterMfaSmsComponent_div_0_div_17_Template","RegisterMfaSmsComponent_div_0_ng_template_19_Template","phoneNumber$","smsCodeEnableMFAToggle$","showCancel_r12","showUpdatePhoneContainer_r13","EAuthenticationType","AUTHENTICATOR","RegisterMfaSmsComponent","_store","_actRoute","_actions$","_transloco","_toastr","formBuilder","myAccountSvc","tkey1","pipe","select","ReplaySubject","phoneNumberFC","UntypedFormControl","Validators","required","countryISO","phoneNumber","_subs","Subscription","event","values","e164Number","phoneValidator","isValidNumber","ngOnInit","group","add","tap","phoneTemp","parsePhoneNumber","setValue","nationalNumber","subscribe","snapshot","queryParams","userid","dispatch","ofType","next","mess","translate","twoFactorAuthenticatorScopeKey","success","setTimeout","document","getElementById","focus","params","sequenceId","sequence_id","combineLatest","take","isCz","objClaims","claimsToObject","merge","ErrorMessage","generalScopeKey","authType","m","type","ngOnDestroy","unsubscribe","p","replace","countryPhone","t","btoa","twoFactorEnabled","tokenProvider","selectors","decls","vars","consts","template","rf","ctx","RegisterMfaSmsComponent_div_0_Template","FI_CONFIG","completeProfile","Name","Required","Type","Order","Readonly","Hide","CustomValidators","pattern","emailPattern","fiveDigitsPattern","roles","adminCompleteProfile","personalInfo","contact","adminContact","dummyDOBValue","_c1","forceMFA$","checkResultLink$","t_r4","isSHFYInstance$","plasmaLink$","plasmaLabel$","bookingLink$","preventionWellnessLink$","HeaderComponent_ng_container_0_div_8_li_6_Template","HeaderComponent_ng_container_0_div_8_li_8_Template","HeaderComponent_ng_container_0_div_8_li_9_Template","HeaderComponent_ng_container_0_div_8_li_11_Template","_r3","startSignoutMainWindow","isSuperSupportUser$","isTara","bookingLinkEnabled$","showPreventionWellnessLink$","c_r6","$implicit","changeActiveLanguage","_c2","activeLang$","flag","navigateLink","HeaderComponent_ng_container_0_div_8_Template","HeaderComponent_ng_container_0_li_18_Template","logo$","_c0","initial","HeaderComponent","i18n","activeRoute","usertype","showDropdown","envConfig$","isAdminUser","isCountryAdmin","isUserAdmin","BaseAdminUrl","isWebreqAdminUser","isWebreqUser","BaseWebreqUrl","isUefaUser","BaseUefaUrl","isPatient","isAppUser","isSchoolTeacher","isLolliSuperAdmin","isCustomerCare","isSynlabAccessUser$","isUkDfpAdminUser$","isUkShfyAdminUser$","availableLangs","getAvailableLanguages","lang","Countries","langChanges$","withLatestFrom","isDenmarkAdmin","headerScopeKey","of","isEEInstance$","isHUTenant$","defLanguage","getActiveLang","firstChild","console","log","isHU","window","location","href","basePlasmaUrl","navigate","family_name","trim","given_name","charAt","substring","setStoredLanguage","updateQueryParam","relativeTo","langCode","queryParamsHandling","inputs","HeaderComponent_ng_container_0_Template","EPassForm","AUTH_PROVIDER","SCHEME_PROVIDER","CURRENT_PASS","NEW_PASS","CONFIRM_PASS","LocalStorageKeys","needReloadForCookiebot","EStorageKeys","REDIRECT_URL","REGISTER_USER_ID","REGISTER_REDIRECT_URL","CountryService","countriesAsObj$","BehaviorSubject","countries$","smallCodeCountries$","SmallName","Code","getCountryText$","bind","filterCountries$","query","DxpBackgroundComponent","DxpBackgroundModule","alphanumericUnicode","fiAlphanumericUnicode","passwordPattern","passwordValidation","SharedModule","RouterModule","MatSelectModule","MatProgressSpinnerModule","MatDialogModule","ScrollingModule","MatTooltipModule","FormsModule","NgbModule","ClaimService","upsert","index","findIndex","item","MyAccountService","i18nService","claimService","anon$","synlabAccessUser$","isHungaryTenant$","isFITenant$","isCzechRepublic$","disabledFields$","isAnon","getProfileSection$","isContactSectionVisible$","getFieldsForPersonalInfo$","getFieldsForContactInfo$","isVisible","personalFields","contactFields","personal","visible","fields","anon","isHu","formConfig","disabled","field","Disabled","f","isFi","HeaderConfigService","_cfg","BaseBigCommerceUrl","EeBaseBookingUrl","WhiteLabelEnabled","EnableCheckResults","_envConfig","baseAdminUrl","baseBookingUrl","baseBookingAdminUrl","baseWebreqAdminUrl","eeBaseBookingUrl","baseWebreqUrl","baseBigcommerceUrl","baseProfileUrl","EnablePreventionWellness","FullCatalogueViewEnabled","applicationId","configSubject","enrolled","canEnroll","res","config$","asObservable","HeaderUsertypeService","_auth","usertypes$","userInfo$","u","profile$","ManagedPrivacyPolicyComponent","route","agreement","sanitizer","changeRef","localeClaim$","isLoggedIn$","firstLoad$","detectChanges","fn","isLoggedOut","loading","langCode$","getLocales","queryParamMap","userLocale","locales","qsLang","translocoLang","l","getValue","activeLang","getPreferredSupportedLanguage","cultureCode","shareReplay","refCount","bufferSize","html$","page","flatMap","getPublishedAgreementByLocale","files","htmlFile","html","purified","DOMPurify","sanitize","ADD_TAGS","ADD_ATTR","FORCE_BODY","bypassSecurityTrustHtml","addTargetBlankToAnchors","finalize","inAvailableLang","isInAvailableLocale","getAvailableLangs","setActiveLang","takeWhile","ManagedPrivacyPolicyComponent_div_2_Template","PrivacyPolicyModule","ManagedTermsOfUseComponent","AgreementType","TermsAndCondition","ManagedTermsOfUseComponent_div_2_Template","TermsOfUseModule","UserType","SuperAdmin","ApiAdmin","ClientAdmin","IdentityResourceAdmin","Bcp","UefaAdmin","UefaLaboratory","UefaTeam","UefaOfficial","UefaUser","UefaMlo","UefaManagement","UefaTeammloLab","UefaMloLab","Doctor","WebreqUser","SynlabAccessUser","WebreqAdmin","WebreqSuperAdmin","Patient","CustomerCare","DeAdmin","EsAdmin","ItAdmin","CoAdmin","DkAdmin","PtAdmin","EeAdmin","AirAdmin","UkDfpAdmin","UkShfyAdmin","UserAdmin","SchoolAdmin","MassCompany","SchoolTeacher","LolliSuperAdmin","UserRoleService","patient_users","customer_care","de_admin","es_admin","it_admin","co_admin","dk_admin","pt_admin","ee_admin","air_admin","uk_dfp_admin","uk_shfy_admin","useradmin","synlab_access_users","bcp_user","school_admin","mass_company","school_teacher","lolli_superadmin","webreq_users","webreqadmin_users","admintypes","uefa_users","admin_users","setUser","user","currentUser","checkUserAccess","types","isColombiaAdmin","isPortugalAdmin","isAirAdmin","isBCP","isMassCompany","ConfigService","CoreModule","MIN_DESKTOP_WIDTH","PATIENT_WEB_LOCALE_STORAGE_KEY","ACCOUNTS_LOCALE_STORAGE_KEY","RANDOM_NONCE","HeaderVisibilityService","visible$","ProfileService","UsertypeService","LoggerService","SpinnerComponent","SpinnerModule","MatMenuItem_Conditional_4_Template","_c3","MatMenu_ng_template_0_Template","_handleKeydown","closed","emit","_onAnimationStart","_onAnimationDone","_classList","panelId","_panelAnimationState","ariaLabel","ariaLabelledby","ariaDescribedby","MAT_MENU_PANEL","InjectionToken","MatMenuItem","_elementRef","_document","_focusMonitor","_parentMenu","_changeDetectorRef","disableRipple","_hovered","Subject","_focused","_highlighted","_triggersSubmenu","addItem","origin","options","focusVia","_getHostElement","ngAfterViewInit","monitor","stopMonitoring","removeItem","complete","_getTabIndex","nativeElement","_checkDisabled","preventDefault","stopPropagation","_handleMouseEnter","getLabel","clone","cloneNode","icons","querySelectorAll","i","remove","textContent","_setHighlighted","isHighlighted","markForCheck","_setTriggersSubmenu","triggersSubmenu","_hasFocus","activeElement","DOCUMENT","ɵcmp","hostAttrs","hostVars","hostBindings","HasDecoratorInputTransform","booleanAttribute","exportAs","standalone","features","attrs","ngContentSelectors","dependencies","MatRipple","encapsulation","changeDetection","MAT_MENU_CONTENT","matMenuAnimations","transformMenu","trigger","style","opacity","transform","transition","animate","fadeInItems","menuPanelUid","MAT_MENU_DEFAULT_OPTIONS","MAT_MENU_DEFAULT_OPTIONS_FACTORY","overlapTrigger","xPosition","yPosition","backdropClass","MatMenu","_xPosition","setPositionClasses","_yPosition","panelClass","classes","previousPanelClass","_previousPanelClass","newClassList","split","forEach","className","classList","_ngZone","defaultOptions","_elevationPrefix","_baseElevation","_directDescendantItems","QueryList","_animationDone","EventEmitter","close","overlayPanelClass","hasBackdrop","ngAfterContentInit","_updateDirectDescendants","_keyManager","FocusKeyManager","withWrap","withTypeAhead","withHomeAndEnd","tabOut","changes","startWith","switchMap","focusedItem","updateActiveItem","itemsList","manager","activeItem","toArray","Math","max","min","activeItemIndex","setActiveItem","setNextItemActive","destroy","_firstItemFocusSubscription","_item","keyCode","ESCAPE","hasModifierKey","LEFT_ARROW","parentMenu","direction","RIGHT_ARROW","UP_ARROW","DOWN_ARROW","setFocusOrigin","onKeydown","focusFirstItem","onStable","menuPanel","first","closest","contains","setFirstItemActive","resetActiveItem","setElevation","depth","elevation","newElevation","customElevation","Object","keys","startsWith","_previousElevation","posX","posY","_startAnimation","_resetAnimation","_isAnimating","toState","element","scrollTop","_allItems","notifyOnChanges","contentQueries","dirIndex","_t","lazyContent","viewQuery","TemplateRef","templateRef","None","outputs","provide","useExisting","styles","animation","MAT_MENU_SCROLL_STRATEGY","overlay","inject","Overlay","scrollStrategies","reposition","MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER","deps","useFactory","MAT_MENU_SCROLL_STRATEGY_FACTORY","passiveEventListenerOptions","normalizePassiveListenerOptions","passive","MatMenuTrigger","_deprecatedMatMenuTriggerFor","menu","v","_menu","_menuCloseSubscription","reason","_destroyMenu","_parentMaterialMenu","_menuItemInstance","_overlay","_element","_viewContainerRef","scrollStrategy","_dir","_overlayRef","_menuOpen","_closingActionsSubscription","EMPTY","_hoverSubscription","ChangeDetectorRef","_handleTouchStart","isFakeTouchstartFromScreenReader","_openedBy","restoreFocus","menuOpened","onMenuOpen","menuClosed","onMenuClose","_scrollStrategy","addEventListener","_handleHover","dispose","removeEventListener","menuOpen","dir","toggleMenu","closeMenu","openMenu","overlayRef","_createOverlay","overlayConfig","positionStrategy","_setPosition","attach","_getPortal","menuData","_menuClosingActions","_initMenu","takeUntil","withLockedPosition","reapplyLastPosition","updatePosition","detach","_attached","_setIsMenuOpen","_setMenuElevation","isOpen","_getOverlayConfig","_subscribeToPositions","create","keydownEvents","OverlayConfig","position","flexibleConnectedTo","withGrowAfterOpen","withTransformOriginOn","positionChanges","change","connectionPair","overlayX","overlayY","run","originX","originFallbackX","overlayFallbackY","originY","originFallbackY","overlayFallbackX","offsetY","_parentInnerPadding","firstItem","offsetTop","withPositions","backdrop","backdropClick","detachments","parentClose","hover","active","_handleMousedown","isFakeMousedownFromScreenReader","button","ENTER","SPACE","_handleClick","delay","asapScheduler","_portal","TemplatePortal","i1$1","ɵdir","MatMenuModule","ɵmod","ɵinj","providers","imports","MatRippleModule","MatCommonModule","OverlayModule","CdkScrollableModule","defaultCountryPerLang","de","fr","pt","it","lt","uk","el","hu","es","lookupCountry","hasAny","req","ut","has","every","r","hasTrueClaim","langCodeQueryStr","link","toUpperCase","countryPerLang","SynlabHeaderService","usertypeService","configService","profileService","headerVisibilityService","translocoService","logr","links$","linkCondition","lc","condition","url","urlGenerator","user$","myAccountLink$","brandLogoLink$","label","icon","isMenuLinkNotHidden","linksPerLang","isSpain","locale_r2","config_r3","ngIf","ctx_r3","changeLang","activeLocale$","getDisplayLocale","LocalePickerComponent_ng_container_0_div_2_a_1_Template","availableLocale","LocalePickerComponent_ng_container_0_div_2_Template","locale_r6","config_r7","LocalePickerComponent_ng_template_1_div_0_ng_container_10_span_7_Template","useFlags","LocalePickerComponent_ng_template_1_div_0_mat_icon_6_Template","LocalePickerComponent_ng_template_1_div_0_mat_icon_7_Template","LocalePickerComponent_ng_template_1_div_0_ng_container_10_Template","localeMenu_r10","open_r9","LocalePickerComponent_ng_template_1_div_0_Template","LocalePickerComponent","headerService","activatedRoute","mode","sessionStorage","setItem","localStorage","part1","LocalePickerComponent_ng_container_0_Template","LocalePickerComponent_ng_template_1_Template","dropdownView_r11","LocalePickerModule","disableLinks","l_r3","HeaderComponent_ng_container_0_li_14_a_1_Template","HeaderComponent_ng_container_0_li_14_a_2_Template","HeaderComponent_ng_container_0_div_17_img_3_Template","HeaderComponent_ng_container_0_div_17_mat_icon_5_Template","logout","menu_r7","isMobile$","myAccountLink","HeaderComponent_ng_container_0_mat_icon_10_Template","HeaderComponent_ng_container_0_mat_icon_12_Template","HeaderComponent_ng_container_0_li_14_Template","HeaderComponent_ng_container_0_div_17_Template","HeaderComponent_ng_container_0_div_18_Template","links","brandLogoLink","brandLogo","isMobileMenuOpen$","getDisplayedLinks","_router","onLogout","onMyAccount","documentElement","clientWidth","destroy$","resize$","fromEvent","auditTime","events","HeaderModule","HIDDEN_LINK_ROUTES","SynlabHeaderComponent","destory$","e","NavigationEnd","tmp_0_0","SynlabHeaderModule","htmlString","allowNull","DefaultLanguage","tenant","localeCode","firstnameClaimType","lastnameClaimType","activeClaimType","userIdClaimType","userTypeClaimType","linkedAccountsClaimType","localeClaimType","countryResidenceClaimType","addressClaimType","cityClaimType","zipCodeClaimType","synlabIdClaimType","petCategoryClaimType","petCategoryNameClaimType","wardVerifiedClaimType","objectToClaims","obj","key","toString","getClaimValueWithType","hasClaimWithTypeAndValue","claimIsTrue","CheckIfTrueString","updateClaims","oldClaims","newClaims","resultingClaims","slice","indexlist","push","removeNullClaims","removeClaimsForPtEe","isClaim","getNameFromClaims","fname","str","getPetName","getPetCategory","getPetCategoryName","petCategoryName","category","getWardVerifiedClaimValue","externalProviderValue","countryClaimType","emailClaimType","allowedDuplicateClaimTypes","removeDuplicateClaims","claimsMap","Map","set","distinctClaims","k","duplicableClaims","AccountsService","api","updateConsentEndpoint","latestAccountInfo","latestAccountInfo$","latestAccountInfoObj$","latestAccountLocaleCode$","latestAccountAuthProvider$","country$","isSynlabAccount$","isSynlabAccount","deactivated$","checkFinlandRedirectToCompleteProfile","reduce","acc","val","categoryName","checkIfMarketingConsentIsChecked","emailAddress","updateConsent","cons","put","getBySynlabId","users","throwError","post","latest","wardPut","sendDeleteEmail","responseType","confirmDelete","getDeleteValidity","fetchPendingBooking","endsWith","fetchInitialUserClaims","info","getByEmail","resendActivationEmail","getUserProperties","_this","_asyncToGenerator","request","response","firstValueFrom","PasswordIsSet","Active","TermsAndConditionFIProfessionals","PrivacyPolicyFIProfessionals","PrivacyPolicy","TermsOfService","ADDITIONAL_INFO_COLLECTED_DATA","AgreementService","getUserAgreements","agreementType","getPublishedAgreement","getPublishedByUniqueId","uniqueId","getAgreementFile","ApiService","http","endpoint","baseAuthUrl","headers","baseProfileApiUrl","getHttp","opts","postAccounts","baseAccountUrl","delete","formatAcceptLanguage","InvalidTokenError","Error","prototype","level","Log2","nopLogger","debug","warn","Log","NONE","ERROR","WARN","INFO","DEBUG","setLevel","setLogger","Logger","_Logger","_name","args","_format","_method","throw","err","method","methodLogger","createStatic","staticMethod","staticLogger","prefix","JwtUtils","decode","jwtDecode","pos","header","part","decoded","base64UrlDecode","output","b64DecodeUnicode","decodeURIComponent","atob","charCodeAt","message","generateSignedJwt","privateKey","encodedToken","CryptoUtils","encodeBase64Url","TextEncoder","encode","stringify","signature","crypto","subtle","sign","hash","Uint8Array","toBase64","chr","String","fromCharCode","join","_CryptoUtils","_randomWord","arr","Uint32Array","getRandomValues","generateUUIDv4","generateCodeVerifier","generateCodeChallenge","code_verifier","hashed","digest","generateBasicAuth","client_id","client_secret","alg","msgUint8","hashBuffer","customCalculateJwkThumbprint","jwk","jsonObject","kty","crv","y","utf8encodedAndHashed","generateDPoPProof","accessToken","httpMethod","keyPair","nonce","hashedToken","encodedHash","jti","randomUUID","htm","htu","iat","floor","Date","now","ath","publicJwk","exportKey","publicKey","typ","TypeError","generateDPoPJkt","generateDPoPKeys","generateKey","namedCurve","input","Event","_callbacks","_logger","addHandler","cb","removeHandler","idx","lastIndexOf","splice","raise","ev","PopupUtils","center","_a","width","outerWidth","left","round","screenX","height","top","screenY","outerHeight","serialize","entries","Timer","_Timer","super","arguments","_timerHandle","_expiration","_callback","diff","getEpochTime","cancel","init","durationInSeconds","logger2","expiration","timerDurationInSeconds","setInterval","clearInterval","UrlUtils","readParams","responseMode","URL","URLSearchParams","ErrorResponse","_b","_c","error_description","error_uri","userState","session_state","url_state","ErrorTimeout","AccessTokenEvents","_expiringTimer","_expiredTimer","_expiringNotificationTimeInSeconds","expiringNotificationTimeInSeconds","load","container","access_token","expires_in","duration","expiring","expired","unload","addAccessTokenExpiring","removeAccessTokenExpiring","addAccessTokenExpired","removeAccessTokenExpired","CheckSessionIFrame","_client_id","_intervalInSeconds","_stopOnError","_timer","_session_state","_message","_frame_origin","source","_frame","contentWindow","stop","parsedUrl","createElement","visibility","src","Promise","resolve","onload","appendChild","start","send","postMessage","InMemoryWebStorage","_data","clear","getItem","getOwnPropertyNames","ErrorDPoPNonce","JsonService","additionalContentTypes","_jwtHandler","_extraHeaders","_contentTypes","fetchWithTimeout","timeoutInSeconds","initFetch","fetch","controller","AbortController","timeoutId","abort","signal","DOMException","clearTimeout","getJson","credentials","_this2","Accept","Authorization","appendExtraHeaders","contentType","ok","text","json","statusText","postForm","basicAuth","initCredentials","extraHeaders","_this3","responseText","customKeys","protectedHeaders","headerName","content","MetadataService","_settings","_signingKeys","_metadata","_metadataUrl","metadataUrl","_jsonService","signingKeys","metadata","fetchRequestCredentials","_fetchRequestCredentials","resetSigningKeys","getMetadata","_this4","requestTimeoutInSeconds","assign","metadataSeed","getIssuer","_getMetadataProperty","getAuthorizationEndpoint","getUserInfoEndpoint","getTokenEndpoint","optional","getCheckSessionIframe","getEndSessionEndpoint","getRevocationEndpoint","getKeysEndpoint","_this5","getSigningKeys","_this6","jwks_uri","keySet","WebStorageStateStore","_prefix","_this7","_this8","_this9","getAllKeys","_this10","len","substr","OidcClientSettingsStore","authority","response_type","scope","redirect_uri","post_logout_redirect_uri","client_authentication","prompt","display","max_age","ui_locales","acr_values","resource","response_mode","filterProtocolClaims","loadUserInfo","staleStateAgeInSeconds","mergeClaimsStrategy","array","disablePKCE","stateStore","revokeTokenAdditionalContentTypes","refreshTokenAllowedScope","extraQueryParams","extraTokenParams","dpop","omitScopeWhenRequesting","UserInfoService","_metadataService","_this11","_getClaimsFromJwt","_ref","_x","apply","_this12","TokenClient","exchangeCode","grant_type","_this13","append","exchangeCredentials","_this14","exchangeRefreshToken","_this15","refresh_token","param","revoke","_this16","token_type_hint","ResponseValidator","_claimsService","_userInfoService","_tokenClient","validateSigninResponse","_this17","_processSigninState","_processCode","isOpenId","_validateIdTokenAttributes","_processClaims","skipUserInfo","validateCredentialsResponse","_this18","id_token","validateRefreshResponse","_this19","hasIdToken","validateSignoutResponse","validateSub","_this20","mergeClaims","_this21","tokenResponse","existingToken","incoming","existing","auth_time","azp","_State","created","request_type","toStorageString","fromStorageString","storageString","clearStaleState","storage","age","cutoff","SigninState","_SigninState","code_challenge","_SigninRequest","state_data","dpopJkt","optionalParams","_this22","searchParams","stateParam","SigninRequest","SigninResponse","token_type","splitState","expires_at","Number","SignoutRequest","id_token_hint","SignoutResponse","DefaultProtocolClaims","InternalRequiredProtocolClaims","ClaimsService","protocolClaims","claims1","claims2","mergedValues","DPoPState","OidcClient","settings","metadataService","_validator","createSigninRequest","request_uri","login_hint","_this23","signinRequest","signinState","readSigninResponseState","removeState","_this24","storedStateString","processSigninResponse","_this25","dpopProof","getDpopProof","DPoP","dpopStore","_this26","dpopState","processResourceOwnerPasswordCredentials","username","password","_this27","signinResponse","useRefreshToken","_this28","allowableScopes","createSignoutRequest","_this29","signoutState","readSignoutResponseState","_this30","processSignoutResponse","_this31","revokeToken","_this32","SessionMonitor","_userManager","_this33","_start","_ref2","_sub","_checkSessionIFrame","checkSessionIFrame","checkSessionIntervalInSeconds","stopCheckSessionOnError","_x2","_stop","monitorAnonymousSession","timerHandle","session","querySessionStatus","raiseEvent","_raiseUserSessionChanged","_raiseUserSignedOut","_raiseUserSignedIn","addUserLoaded","addUserUnloaded","_init","catch","_this34","getUser","User","_User","scopes","messageSource","AbstractChildWindow","_abort","_disposeHandlers","Set","_window","_this35","keepOpen","reject","listener","scriptOrigin","_dispose","_notifyParent","parent","targetOrigin","DefaultPopupWindowFeatures","toolbar","closePopupWindowAfterInSeconds","DefaultPopupTarget","DefaultAccessTokenExpiringNotificationTimeInSeconds","DefaultCheckSessionIntervalInSeconds","UserManagerSettingsStore","popup_redirect_uri","popup_post_logout_redirect_uri","popupWindowFeatures","popupWindowTarget","redirectMethod","redirectTarget","iframeNotifyParentOrigin","iframeScriptOrigin","silent_redirect_uri","silentRequestTimeoutInSeconds","automaticSilentRenew","validateSubOnSilentRenew","includeIdTokenInSilentRenew","monitorSession","query_status_response_type","revokeTokenTypes","revokeTokensOnSignout","includeIdTokenInSilentSignout","accessTokenExpiringNotificationTimeInSeconds","userStore","IFrameWindow","_IFrameWindow","_timeoutInSeconds","createHiddenIframe","iframe","_superprop_getNavigate","_this36","timer","call","parentNode","_a2","frame","target","removeChild","notifyParent","IFrameNavigator","prepare","callback","_this37","PopupWindow","popupSignal","centeredPopup","open","_superprop_getNavigate2","_this38","popupClosedInterval","notifyOpener","opener","PopupNavigator","_this39","RedirectNavigator","_this40","targetWindow","self","redirect","_ref5","promise","_x3","UserManagerEvents","_userLoaded","_userUnloaded","_silentRenewError","_userSignedIn","_userSignedOut","_userSessionChanged","_superprop_getLoad","_this41","_superprop_getUnload","_this42","removeUserLoaded","removeUserUnloaded","addSilentRenewError","removeSilentRenewError","_raiseSilentRenewError","_this43","addUserSignedIn","removeUserSignedIn","_this44","addUserSignedOut","removeUserSignedOut","_this45","addUserSessionChanged","removeUserSessionChanged","_this46","SilentRenewService","_this47","_isStarted","_retryTimer","_tokenExpiring","signinSilent","_this48","RefreshState","UserManager","redirectNavigator","popupNavigator","iframeNavigator","_client","_redirectNavigator","_popupNavigator","_iframeNavigator","_events","_silentRenewService","startSilentRenew","_sessionMonitor","_this49","_loadUser","removeUser","_this50","storeUser","signinRedirect","_this51","requestArgs","bind_authorization_code","handle","_signinStart","signinRedirectCallback","_this52","_signinEnd","signinResourceOwnerCredentials","_this53","_buildUser","signinPopup","_this54","_signin","signinPopupCallback","_this55","_this56","_useRefreshToken","verifySub","_this57","signinSilentCallback","_this58","signinCallback","_this59","signoutCallback","_this60","signoutRedirectCallback","signoutPopupCallback","signoutSilentCallback","_this61","navResponse","_this62","_this63","_this64","_this65","signoutRedirect","_this66","_signoutStart","_this67","_signoutEnd","signoutPopup","_this68","_signout","_this69","_this70","_this71","_revokeInternal","signoutRequest","_this72","signoutResponse","signoutSilent","_this73","_this74","revokeTokens","_this75","_this76","typesPresent","stopSilentRenew","_userStoreKey","_this77","_this78","_this79","_this80","dpopSettings","_this81","dpopKeys","JWT_OPTIONS","JwtHelperService","tokenGetter","urlBase64Decode","b64decode","bs","buffer","bc","decodeToken","then","_decodeToken","parts","getTokenExpirationDate","_getTokenExpirationDate","hasOwnProperty","date","setUTCSeconds","exp","isTokenExpired","offsetSeconds","_isTokenExpired","valueOf","getAuthScheme","authScheme","ɵprov","UserClaimsService","accountsService","userClaimsIsLoaded","claims$","getUserClaims","toPromise","rawClaims","getUserClaimsAsObject","usertypes","setAppLanguageFromJwtToken","getLang","availableLanguages","getDefaultLang","fromStorage","getLangCodeFromLocalStorage","fromQString","getLangCodeFromQueryString","fromJwtLangCode","langToSet","AvailableLanguage","AuthService","userClaim","jwt","_user","userLoadededEvent","profileInfo","signinRedirectTrigger$","signinRedirectCallbackTrigger$","_manager","getClientSettings","initializeUser","registerUserEvents","takeUntilDestroyed","Boolean","addSignInEvents","throttleTime","saveUserInformation","OIDC","envJson","BaseAuthUrl","ClientId","ResponseType","Scope","getExtraQueryParams","returnTo","search","return_to","setUserLoggedIn","isPrivateRoute","checkSavedUserInfo","saveToState","showCookieBot","redirectParams","webreqAdminUrl","bookingAdminUrl","isFinland","isWebreqAdmin","isBookingAdmin","checkLogin","from","isLoggedInObs","handleSigninRedirect","handleSigninRedirectCallback","catchError","querySelector","initialRoute","getInitialRoute","navigateByUrl","done","redirectURL","additionalUserClaims","synlab_id","AuthGuard","authService","canActivate","sessionTransferObj","loggedin","ChangeEmailService","sendChangeEmailRequest","resendChangeEmailRequest","cancelChangeEmailRequest","checkPendingChangeEmailRequest","verifyEmailLink","BE_CONFIG","CustomLabelTranslationKey","CZ_CONFIG","FORM_CONFIG","completeProfileExpert","Options","FetchFromUrl","Url","Items","Value","Label","completeProfileExpertAdditionalInfo","AddNewItemEnabled","expertPersonalInfo","expertContact","fi","cz","be","countryService","_envConfigError","_envConfig$","authUrl","getCountries","computed","sort","b","loadEnvJson","env","_checkEmptyConfig","baseClientUrl","BaseProfileApiUrl","environment","Environment","version","twilioEnabled","TwilioEnabled","UseProfileAPI","shfyDxpBaseURL","ShfyDxpBaseURL","shfyRegistrationURL","ShfyRegistrationURL","shfyCompleteProfileURL","ShfyCompleteProfileURL","isWardProfileEnabled","WardProfileEnabled","isWardProfileAddEnabled","isWardProfileEditEnabled","isWardProfileDeleteEnabled","consentCategoryName","ConsentCategoryName","bookingProfessionalUrl","BookingProfessionalUrl","UserTypeGuard","errorScopeKey","myAccountScopeKey","securityScopeKey","verifyProfileScopeKey","completeProfileScopeKey","registrationSecureScopeKey","deleteScopeKey","sessionTransferKey","petProfileScopeKey","langCodeStorageKey","I18nService","browserLocale","getBrowserLanguages","translateIfExists","translated","detectBrowserLocale","getFromLocalStorage","formattedLocale","moment","navigator","languages","preferredLanguages","supportedLanguages","pl","sl","getLangCode","match","shift","formatDate","isoDateTime","momentFormat","outputAsUTCTimezone","mom","local","format","formatTime","time","getMomentDateFormatToken","localeData","longDateFormat","errorHandler","consoleLog","isProduction","handleError","rest","getLine","exec","stack","PhoneValidationService","inputNumber","phoneUtil","libphonenumber","getInstance","valid","RegisterProfileApiService","registerProfileEndpoint","rollbackInactivatedUserEndpoint","getPtProfileEndpoint","updatePtProfileEndpoint","getRegistrationClaimsForCzech","mapDataForCzech","nclaims","getRegisterProfile","regId","getRegisterProfileForCzechRepublic","bankId","bankidtoken","validateRegistrationDocument","submitRegisterProfileForBankId","addBankIds","BankIdToken","getPtExisitngProfile","updateConsents","rollBackUser","CustomNgbDateParserFormatterService","year","month","day","CustomNgbDatepickeri18nService","NgbDatepickerI18n","getWeekdayLabel","weekday","getWeekdayShortName","momentWeekdayIndex","getMonthShortName","momentMonthIndex","getMonthFullName","getDayAriaLabel","jsDate","getDayNumerals","_","getWeekNumerals","weekNumber","getYearNumerals","TranslocoHttpLoader","getTranslation","memoizee","TranslocoRootModule","NgbDateParserFormatter","useClass","TRANSLOCO_CONFIG","useValue","translocoConfig","defaultLang","missingHandler","logMissingKey","useFallbackTranslation","fallbackLang","reRenderOnLangChange","prodMode","production","TRANSLOCO_LOADER","APP_INITIALIZER","multi","TranslocoService","configLanguages","allAvailableLanguages","defaultL","setAvailableLangs","setDefaultLang","setFallbackLangForMissingTranslation","localeFromUrl","localeFromStorage","localeFromConfig","formattedLocaleFromUrl","removeAttribute","available","accumulator","urlSearchParams","delayInMilliseconds","trimUrl","host","getRedirectUrl","pathname","routes","firstPath","PNF","parseAndKeepRawInput","getRegionCodeForNumber","dialCode","getCountryCode","E164","internationalNumber","INTERNATIONAL","NATIONAL","getNationalNumber","getErrorStatuscode","isBadRequest","isConflict","getErrorMessage","HAS_GENEPLANET_RESULTS_API","isGeneplanetAllowed","baseUrl$","baseUrl","isGeneplanetEnabled","cfg","EReset","AUTH_APP","InitComponent","conf","SiginCallbackComponent","redirectToContactSynlab","t_r3","ForgotPasswordComponent_ng_container_0_div_6_ng_container_1_Template","ForgotPasswordComponent_ng_container_0_div_6_ng_template_3_Template","useNewNav$","oldWarning_r4","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_ng_container_2_ng_container_1_Template","passwordHelpBlock_r6","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_ng_container_15_ng_container_1_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_ng_container_2_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_label_5_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_label_10_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_small_14_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_ng_container_15_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_i_19_Template","fp_r7","errors","dirty","confirmPassword","setAccountPassword","ForgotPasswordComponent_ng_container_0_div_7_div_9_div_12_Template","passwordFormG","ForgotPasswordComponent_ng_container_0_div_7_p_8_Template","ForgotPasswordComponent_ng_container_0_div_7_div_9_Template","ForgotPasswordComponent_ng_container_0_div_1_Template","ForgotPasswordComponent_ng_container_0_ng_container_3_Template","ForgotPasswordComponent_ng_container_0_div_5_Template","ForgotPasswordComponent_ng_container_0_div_6_Template","ForgotPasswordComponent_ng_container_0_div_7_Template","ForgotPasswordComponent_ng_container_0_ng_template_8_Template","showSpin","showForm","ForgotPasswordComponent","toast","isMatched","returnUrl","showError","passwordFormatInvalid","UntypedFormGroup","authenticationProvider","schemeProvider","newPassword","checkPasswords","pass","confirmPass","setValidators","seq","loadClaims","UserId","NewPassword","Sequence","markAsPristine","errMessage","Window","ForgotPasswordComponent_ng_container_0_Template","RenewtokenComponent","SelfSamplingInstructionComponent","ParentSelfSamplingInstructionComponent","t_r1","GeneralTermsComponent","GeneralTermsComponent_div_5_Template","_r4","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_6_ng_container_1_Template","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_6_ng_template_3_Template","oldWarning_r5","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_5_Template","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_6_Template","DeleteAccountComponent_ng_container_0_ng_container_4_ng_container_7_Template","isValidDeleteAccountLink$","DeleteAccountComponent_ng_container_0_ng_template_6_div_3_Template","DeleteAccountComponent_ng_container_0_ng_template_6_ng_template_5_Template","invalidLink_r7","DeleteAccountComponent_ng_container_0_ng_container_1_Template","DeleteAccountComponent_ng_container_0_ng_container_4_Template","DeleteAccountComponent_ng_container_0_ng_template_6_Template","shfy_r8","DeleteAccountComponent","actRoute","accountService","cnfg","UserCode","SequenceCode","title","onHidden","clearStorageAfterSuccessfulDelete","sessionLangCode","localLangCode","DeleteAccountComponent_ng_container_0_Template","SessionTransferErrorCode","AccessTokenParseFailed","CreateDecryptorFailed","DecryptionFailed","DtoValueToBytesFailed","GetSessionTransferFailed","HashKeyToBytesFailed","InvalidValueBytes","JsonParseFailed","ParsedObjectInvalid","RemovePaddingFailed","TrimJsonFailed","UTF8DecodeFailed","SessionTransferError","errorCode","AuthSessionTransferService","getSessionTransfer$","sessionId","resp","dtoToModel","hashKey","dto","valueBytes","base64","ErrCode","ivBytes","subarray","encryptedBytes","hashKeyBytes","aesCbcDecryptor","decryptedBytesWithPadding","decryptedBytes","aesjs","cbc","decrypt","removePadding","TextDecoder","trimJson","idToken","paddingValue","reversed","reverse","firstNonPaddingEntry","nonPaddingIndex","firstIndex","lastIndex","LoaderComponent","InitSessionComponent","sessionTransferService","toastrConfig","disableTimeOut","queryArgs","replaceSpaceWithPlus","WindowRefService","nativeWindow","onClear","formatSuccessMessage","onSubmit","DxpSendForgotPasswordComponent_div_1_span_9_Template","onCancel","DxpSendForgotPasswordComponent_div_1_div_16_Template","touched","showMessage","DxpSendForgotPasswordComponent","RegExp","buildForm","encodeURIComponent","DxpSendForgotPasswordComponent_div_1_Template","deactivatedMessage","SendForgotPasswordComponent_ng_template_2_ng_container_0_span_9_Template","SendForgotPasswordComponent_ng_template_2_ng_container_0_div_15_Template","SendForgotPasswordComponent_ng_template_2_ng_container_0_div_16_Template","isUserDeactivated","SendForgotPasswordComponent_ng_template_2_ng_container_0_Template","SendForgotPasswordComponent","fb","windowRef","isUkShfyInstance$","valueChanges","errorMessage","controlName","SendForgotPasswordComponent_ng_container_0_Template","SendForgotPasswordComponent_ng_template_2_Template","originalForgotPasswordPage_r5","CheckLogin","check$","EePrivacyTermsComponent","redirectToLogin","ActivateAccountComponent_div_2_div_3_ng_container_1_Template","loading$","error$","ActivateAccountComponent_div_2_ng_template_5_div_0_Template","ActivateAccountComponent_div_2_ng_template_5_div_2_Template","ActivateAccountComponent_div_2_ng_template_5_div_4_Template","ActivateAccountComponent_div_2_ng_template_5_div_6_Template","isActiveUser","isLinkExpired","isDuplicateError","ActivateAccountComponent_div_2_mat_spinner_1_Template","ActivateAccountComponent_div_2_div_3_Template","ActivateAccountComponent_div_2_ng_template_5_Template","success$","notSuccessful_r5","ActivateAccountComponent","activeRt","changeEmail","share","putConfirmEmail","isShfy","shfyActivationRedirect","hasRedirected","loginLink$","isChangeEmail","ActivateAccountComponent_div_2_Template","PreventShfyGuard","registerProfileApiService","getUrlParam","navigateToDxp","isTwoFAEnabled","isActive","navigateToUrl","isLoggedInUserAllowed","isAllowed","infoUserTypes","isEmailVerified","shfyRoles","isGuestUserAllowed","MedioService","urlParams","medioUrl","MedioRedirectComponent","medio","RedirectGuard","routesFactory","loadChildren","__webpack_require__","NotFoundPageModule","component","pathMatch","redirectTo","all","IndexModule","ProfileV3Module","loadComponent","SsnVerificationComponent","canProceedToNewUI","isTaraActivation","getQueryParameter","UseNewUI","Registerv2Module","ProfileModule","TaraRegisterModule","MfaResetModule","AppRoutingModule","ROUTES","forRoot","UNDEFINED","Constructor","Prototype","strFunction","DynInstFuncTable","DynProxyTag","DynClassName","DynInstChkTag","DynAllowInstChkTag","DynProtoDefaultOptions","UnknownValue","str__Proto","DynProtoBaseProto","DynProtoGlobalSettings","DynProtoCurrent","strUseBaseInst","strSetInstFuncs","Obj","_objGetPrototypeOf","getPrototypeOf","_objGetOwnProps","_gbl","_getGlobal","globalThis","global","_gblInst","o","_hasOwnProperty","prop","_isObjectOrArrayPrototype","_isObjectArrayOrFunctionPrototype","Function","_getObjProto","newProto","curProto","_forEachProp","func","name_1","lp","_isDynamicCandidate","funcName","skipOwn","_throwTypeError","_newObject","_hasVisited","_populatePrototype","proto","baseInstFuncs","setInstanceFunc","instFuncTable","instFuncs_1","_createDynamicPrototype","dynProtoProxy","instFunc","_getInstFunc","currentDynProtoProxy","canAddInst","objProto","visited","protoFunc","_getProtoFunc","_getObjName","unknownValue","dynamicProto","theClass","delegateFunc","classProto","_checkPrototype","thisTarget","thisProto","perfOptions","useBaseInst","instFuncs","_getInstanceFuncs","baseFuncs","_getBaseFuncs","_instFuncProxy","funcHost","theFunc","baseProto","strShimFunction","strShimObject","strShimUndefined","strShimPrototype","strShimHasOwnProperty","ObjClass","ObjProto","ObjAssign","ObjCreate","ObjDefineProperty","defineProperty","ObjHasOwnProperty","_cachedGlobal","getGlobal","useCached","throwTypeError","objCreateFn","tmpFunc","__assignFn","extendStaticsFn","setPrototypeOf","__proto__","__extendsFn","__","__spreadArrayFn","to","il","j","_DYN_INITIALIZE","_DYN_NAME","_DYN_GET_NOTIFY_MGR","_DYN_IDENTIFIER","_DYN_PUSH","_DYN_IS_INITIALIZED","_DYN_CONFIG","_DYN_INSTRUMENTATION_KEY","_DYN_LOGGER","_DYN_LENGTH","_DYN_TIME","_DYN_PROCESS_NEXT","_DYN_GET_PROCESS_TEL_CONT0","_DYN_ADD_NOTIFICATION_LIS1","_DYN_REMOVE_NOTIFICATION_2","_DYN_STOP_POLLING_INTERNA3","_DYN_ON_COMPLETE","_DYN_GET_PLUGIN","_DYN_FLUSH","_DYN__EXTENSIONS","_DYN_SPLICE","_DYN_TEARDOWN","_DYN_MESSAGE_ID","_DYN_MESSAGE","_DYN_IS_ASYNC","_DYN__DO_TEARDOWN","_DYN_UPDATE","_DYN_GET_NEXT","_DYN_DIAG_LOG","_DYN_SET_NEXT_PLUGIN","_DYN_CREATE_NEW","_DYN_COOKIE_CFG","_DYN_INDEX_OF","_DYN_SUBSTRING","_DYN_USER_AGENT","_DYN_SPLIT","_DYN_SET_ENABLED","_DYN_SUBSTR","_DYN_NODE_TYPE","_DYN_APPLY","_DYN_REPLACE","_DYN_ENABLE_DEBUG_EXCEPTI4","_DYN_LOG_INTERNAL_MESSAGE","_DYN_TO_LOWER_CASE","_DYN_CALL","_DYN_TYPE","_DYN_HANDLER","_DYN_LISTENERS","_DYN_IS_CHILD_EVT","_DYN_GET_CTX","_DYN_SET_CTX","_DYN_COMPLETE","_DYN_TRACE_ID","_DYN_TRACE_FLAGS","_DYN_VERSION","STR_EMPTY","STR_CHANNELS","STR_CORE","STR_CREATE_PERF_MGR","STR_DISABLED","STR_EXTENSION_CONFIG","STR_PROCESS_TELEMETRY","STR_PRIORITY","STR_EVENTS_SENT","STR_EVENTS_DISCARDED","STR_EVENTS_SEND_REQUEST","STR_PERF_EVENT","STR_ERROR_TO_CONSOLE","STR_WARN_TO_CONSOLE","STR_GET_PERF_MGR","strToISOString","cStrEndsWith","strIndexOf","strReduce","cStrTrim","strToString","strConstructor","_objDefineProperty","_objFreeze","freeze","_objKeys","StringProto","_strTrim","_strEndsWith","_dataToISOString","_isArray","_objToString","_fnToString","_objFunctionString","rCamelCase","rNormalizeInvalid","rLeadingNumeric","isUndefined","isNullOrUndefined","isNotNullOrUndefined","isObject","isFunction","normalizeJsName","isString","_all","letter","objForEachKey","callbackfn","strEndsWith","_strEndsWithPoly","searchLen","valLen","strContains","_isArrayPoly","isError","isNumber","isPlainObject","toISOString","_toISOStringPoly","getUTCFullYear","pad","num","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","arrForEach","thisArg","arrIndexOf","searchElement","fromIndex","abs","arrMap","results","strTrim","_objKeysHasDontEnumBug","propertyIsEnumerable","_objKeysDontEnums","objKeys","objType","dontEnumsLength","objDefineAccessors","getProp","setProp","descriptor","enumerable","configurable","deepFreeze","objFreeze","_doNothing","dateNow","dt","getTime","getExceptionName","object","valChk","srcChk","theValue","getSetValue","defValue","getCfgValue","defaultValue","isTruthy","_createProxyFunction","srcFunc","originalArguments","proxyFunctionAs","overwriteTarget","proxyFunctions","functionsToProxy","theFuncName","optimizeObject","theObject","objExtend","obj1","obj2","obj3","obj4","obj5","obj6","theArgs","extended","argLen","deep","isBoolean","arg","isArgArray","isArgObj","newValue","isNewArray","_DYN_INGESTIONENDPOINT","_DYN_TO_STRING","_DYN_REMOVE_ITEM","_DYN_STRINGIFY","_DYN_PATHNAME","_DYN_CORRELATION_HEADER_E0","_DYN_EXCEPTIONS","_DYN_PARSED_STACK","_DYN_PROPERTIES","_DYN_MEASUREMENTS","_DYN_SIZE_IN_BYTES","_DYN_TYPE_NAME","_DYN_SEVERITY_LEVEL","_DYN_PROBLEM_GROUP","_DYN_IS_MANUAL","_DYN__CREATE_FROM_INTERFA1","_DYN_ASSEMBLY","_DYN_FILE_NAME","_DYN_HAS_FULL_STACK","_DYN_LEVEL","_DYN_METHOD","_DYN_LINE","_DYN_DURATION","_DYN_RECEIVED_RESPONSE","strEmpty","stringToBoolOrDefault","msToTimeSpan","totalms","ms","sec","hour","days","strWindow","strDocument","strNavigator","strLocation","strPerformance","strJSON","strCrypto","strMsCrypto","strMsie","strTrident","strXMLHttpRequest","_isTrident","_navUserAgentCheck","_enableMocks","_useXDomainRequest","_beaconsSupported","_hasProperty","property","supported","getGlobalInst","gbl","hasWindow","getWindow","hasDocument","getDocument","hasNavigator","getNavigator","hasHistory","history","getLocation","checkForMock","mockLocation","getPerformance","hasJSON","getJSON","isIE","nav","userAgent","getIEVersion","userAgentStr","navigator_1","ua","doc","parseInt","tridentVer","dumpObj","objectTypeDump","propertyValueDump","isBeaconsSupported","sendBeacon","isFetchSupported","withKeepAlive","isSupported","useXDomainRequest","XDomainRequest","isXhrSupported","_debugListener","listenerFuncs","_aiNamespace","_listenerProxyFunc","dbgExt","getDebugExt","ns","disableDbgExt","_getExtensionNamespace","ApplicationInsights","ChromeDbgExt","_sanitizeDiagnosticText","_logToConsole","theConsole","getConsole","logFunc","_InternalLogMessage","msgId","msg","isUserAct","properties","_self","strProps","diagnosticText","dataType","safeGetLogger","core","DiagnosticLogger","identifier","queue","_loggingLevelConsole","_loggingLevelTelemetry","_maxInternalMessageLimit","_enableDebug","_messageCount","_messageLogged","_logInternalMessage","severity","_areInternalMessagesThrottled","logMessage","messageKey","_debugExtMsg","throttleLimitMessage","throttleMessage","_setDefaultsFromConfig","loggingLevelConsole","loggingLevelTelemetry","maxMessageLimit","enableDebug","consoleLoggingLevel","telemetryLoggingLevel","maxInternalMessageLimit","throwInternal","resetInternalMessageCount","__ieDyn","_getLogger","_throwInternal","_warnToConsole","createEnumStyle","enumClass","StorageType","LocalStorage","SessionStorage","_canUseLocalStorage","AI","AI_AND_W3C","W3C","_canUseSessionStorage","_storagePrefix","_getLocalStorageObject","utlCanUseLocalStorage","_getVerifiedStorageObject","storageType","uid","fail","_getSessionStorageObject","utlCanUseSessionStorage","utlSetStoragePrefix","storagePrefix","utlGetSessionStorage","exception","utlSetSessionStorage","PropertiesPluginIdentifier","BreezeChannelIdentifier","DisabledPropertyName","SampleRate","ProcessLegacy","HttpMethod","DEFAULT_BREEZE_ENDPOINT","DEFAULT_BREEZE_PATH","strNotSpecified","strIkey","dataSanitizeKeyAndAddUniqueness","origLength","dataSanitizeKey","uniqueField","dsPadNumber","nameTrunc","dataSanitizeString","maxLength","valueTrunc","dataSanitizeUrl","dataSanitizeInput","dataSanitizeMessage","messageTrunc","dataSanitizeException","exceptionTrunc","dataSanitizeProperties","tempProps_1","dataSanitizeMeasurements","measurements","tempMeasurements_1","measure","dataSanitizeId","_msgId","inputTrunc","createTelemetryItem","baseType","envelopeName","customProperties","systemProperties","iKey","telemetryItem","ext","tags","baseData","MAX_NAME_LENGTH","MAX_ID_LENGTH","MAX_PROPERTY_LENGTH","MAX_STRING_LENGTH","MAX_URL_LENGTH","MAX_MESSAGE_LENGTH","MAX_EXCEPTION_LENGTH","sanitizeKey","sanitizeString","sanitizeUrl","sanitizeMessage","sanitizeId","sanitizeInput","padNumber","aiDataContract","ver","envelopeType","Trace","severityLevel","DataPoint","kind","count","stdDev","Metric","metrics","dataPoint","PageView","durationMs","PageViewPerformance","unused","cs4BaseData","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","strError","strStack","strStackDetails","strErrorSrc","strMessage","strDescription","_stringify","convertToString","_formatMessage","theEvent","errorType","evtMessage","filename","lineno","colno","_isStackDetails","details","_convertStackObj","errorStack","_getStackFromErrorObj","errorObj","opera","_getOperaStack","lines","entry","_getErrorType","typeName","_formatErrorCode","Exception","exceptions","_isExceptionInternal","_ExceptionDetails","CreateAutoException","lineNumber","columnNumber","evt","errorSrc","stackDetails","CreateFromInterface","ex","__assign","toInterface","problemGroup","isManual","exceptionDetailsInterface","CreateSimpleException","assembly","fileName","line","formatError","outerId","hasFullStack","parsedStack","_isExceptionDetailsInternal","_parseStack","frames","level_1","totalSizeInBytes_1","theFrame","_StackFrame","regex","test","parsedFrame","right","size","acceptedLeft","acceptedRight","_formatStackTrace","sourceFrame","matches","sizeInBytes","baseSize","strToGMTString","strToUTCString","strCookie","strExpires","strEnabled","strIsCookieUseDisabled","strDisableCookiesUsage","strConfigCookieMgr","_supportsCookies","_allowUaSameSite","_parsedCookieValue","_doc","_cookieCache","_globalCookieConfig","_isMgrEnabled","cookieMgr","isEnabled","_isIgnoredCookie","cookieMgrCfg","ignoreCookies","safeGetCookieMgr","getCookieMgr","cookieCfg","createCookieMgr","_gblCookieMgr","inst","rootConfig","cookieMgrConfig","_createCookieMgrConfig","cookieDomain","cookiePath","cookieEnabled","_path","_domain","domain","_enabled","enabled","areCookiesSupported","gblManager","maxAgeSec","_isBlockedCookie","blockedCookies","_extractParts","_isIE","expireMs","expiry","setTime","_formatDate","location_1","protocol","uaDisallowsSameSiteNone","setCookie","_setCookieValue","_formatCookieValue","getCookie","_getCookieValue","del","purge","delCookie","thePart","theDate","cookieValue","theCookie","UInt32Mask","MaxUInt32","_mwcSeeded","_mwcW","_mwcZ","_autoSeedMwc","_mwcSeed","seedValue","random","random32","signed","getCrypto","getMsCrypto","mwcRandom32","newId","chars","instanceName","_dataUid","_canAcceptData","createUniqueNamespace","includeVersion","createElmNodeData","accept","addDefault","theCache","_getCache","_createAccessor","kill","strOnPrefix","strAttachEvent","strAddEventHelper","strDetachEvent","strRemoveEventListener","strEvents","strVisibilityChangeEvt","strPageHide","strBeforeUnload","strPageHideNamespace","rRemoveEmptyNs","rRemoveTrailingEmptyNs","_guid","elmNodeData","eventNamespace","_normalizeNamespace","_getEvtNamespace","eventName","evtNamespace","theNamespace_1","parsedEvent","_getRegisteredEvents","evtName","aiEvts","registeredEvents","_doDetach","handlerRef","useCapture","_doUnregister","unRegFn","capture","mergeEvtNamespace","theNamespace","namespaces","eventOn","_doAttach","registeredEvent","guid","eventOff","evtName_1","found_1","_unregisterEvents","eventCache","evtType","regEvent","_addEventListeners","excludeEvents","added","addEventHandler","w","removeEventListeners","removeEventHandler","addPageHideEventListener","newNamespaces","pageUnloadAdded","_handlePageVisibility","visibilityState","generateW3CId","tmp","hexValues","oct","clockSequenceHi","INVALID_TRACE_ID","INVALID_SPAN_ID","_isValid","invalidValue","_formatValue","createTraceParent","traceId","spanId","flags","isValidTraceId","isValidSpanId","traceFlags","formatTraceParent","_formatFlags","createDomEvent","createEvent","initEvent","RequestHeaders","createValueMap","mapClass","requestContextHeader","requestContextTargetKey","requestContextAppIdFormat","requestIdHeader","traceParentHeader","traceStateHeader","sdkContextHeader","sdkContextHeaderAppIdRequest","requestContextHeaderLowerCase","_htmlAnchorIdx","_htmlAnchorElement","urlParseUrl","anchorIdx","anchorCache","tempAnchor","urlParseHost","inclPort","fullHost","urlParseFullHost","port","_internalEndpoints","isInternalApplicationInsightsEndpoint","endpointUrl","CorrelationIdHelper","correlationIdPrefix","canIncludeCorrelationHeader","requestUrl","currentHost","disableCorrelationHeaders","correlationHeaderExcludePatterns","requestHost","enableCorsCorrelation","matchExists_1","includedDomains","correlationHeaderDomains","excludedDomains","correlationHeaderExcludedDomains","getCorrelationContext","responseHeader","correlationId","getCorrelationContextValue","keyValues","keyValue","dateTimeUtilsNow","perf","timing","navigationStart","dateTimeUtilsDuration","end","createDistributedTraceContextFromTrace","telemetryTrace","parentCtx","trace","setName","getTraceId","traceID","setTraceId","getSpanId","parentID","setSpanId","getTraceFlags","setTraceFlags","newTraceFlags","RemoteDependencyData","absoluteUrl","commandName","resultCode","requestAPI","correlationContext","dependencyKind","dependencySource","dependencyTypeName","dependencyFields","AjaxHelperParseDependencyPath","pathName","strExecutionContextKey","strParentContextKey","strChildrenContextKey","PerfEvent","payloadDetails","isAsync","theDetails_1","accessorDefined","childTime","childEvts","childEvt","exTime","ParentContextKey","ChildrenContextKey","PerfManager","fire","perfEvent","doPerfActiveKey","doPerf","mgrSource","getSource","perfMgr","perfEvt","currentActive","children","pluginStateData","_getPluginState","plugin","initializePlugins","processContext","extensions","pluginState","initPlugins","lastPlugin","proxy","thePlugin","getCfg","sortPlugins","plugins","extA","extB","bHasProcess","strTelemetryPluginChain","strHasRunFlags","strGetTelCtx","_chainId","_createInternalContext","telemetryChain","startAt","_nextProxy","_onComplete","_getNextProxyStart","createTelemetryProxyChain","context","_next","_moveNext","nextProxy","completeDetails","diagLog","getExtCfg","_getExtCfg","_getConfig","extConfig","hasNext","getNext","setNext","nextPlugin","iterate","_iterateChain","onComplete","_addOnComplete","that","_i","mergeDefault","theConfig","newConfig_1","cfgValue","createProcessTelemetryContext","internalContext","_processNext","_createNew","createProcessTelemetryUnloadContext","unloadState","createProcessTelemetryUpdateContext","updateState","firstProxy","lastProxy_1","newProxy","createTelemetryPluginProxy","chainId","hasProcessTelemetry","hasSetNext","proxyChain","getPlugin","processTelemetry","_processTelemetry","itemCtx","_processChain","_getTelCtx","_callProcessTelemetry","sync","_unloadPlugin","unloadCtx","_callTeardown","hasRun","pluginCore","update","_updatePlugin","updateCtx","_callUpdate","_id","_setNext","processPluginFn","hasRunContext","nextId","hasNextRun","aiInstrumentHooks","cbNames","_arrLoop","_doCallbacks","hooks","callDetails","cbArgs","hookCtx","hook","cbks","orgEx","hookErrorCb","_getOwner","checkPrototype","checkParentProto","owner","_createInstrumentHook","callbacks","aiHook","newFunc","_createFunctionHook","orgArgs","h","funcArgs","_replaceArg","_createArgs","rslt","theHook","rm","InstrumentFunc","InstrumentEvent","createUnloadHandlerContainer","handlers","_addHandler","handler","_runHandlers","strGetPlugin","BaseTelemetryPlugin","_isinitialized","_rootCtx","_nextPlugin","_unloadHandlerContainer","_hooks","currentCtx","_setDefaults","pluginChain","_initDefaults","unloadDone","theUnloadCtx","theUnloadState","_unloadCallback","oldHooks","updateDone","theUpdateCtx","_doUpdate","_updateCallback","_addHook","setInitialized","isInitialized","_DYN_DISABLE_EXCEPTION_TR0","_DYN_AUTO_TRACK_PAGE_VISI1","_DYN_OVERRIDE_PAGE_VIEW_D2","_DYN_ENABLE_UNHANDLED_PRO3","_DYN_SAMPLING_PERCENTAGE","_DYN_IS_STORAGE_USE_DISAB4","_DYN_IS_BROWSER_LINK_TRAC5","_DYN_ENABLE_AUTO_ROUTE_TR6","_DYN_NAME_PREFIX","_DYN_DISABLE_FLUSH_ON_BEF7","_DYN_CORE","_DYN_DATA_TYPE","_DYN_ENVELOPE_TYPE","_DYN_TRACK","_DYN_TRACK_PAGE_VIEW","_DYN_TRACK_PREVIOUS_PAGE_9","_DYN_SEND_PAGE_VIEW_INTER10","_DYN_SEND_PAGE_VIEW_PERFO11","_DYN_POPULATE_PAGE_VIEW_P12","_DYN_HREF","_DYN_SEND_EXCEPTION_INTER13","_DYN_EXCEPTION","_DYN_ERROR","_DYN__ONERROR","_DYN_ERROR_SRC","_DYN_LINE_NUMBER","_DYN_COLUMN_NUMBER","_DYN__CREATE_AUTO_EXCEPTI14","_DYN_ADD_TELEMETRY_INITIA15","_DYN_IS_PERFORMANCE_TIMIN16","_DYN_GET_PERFORMANCE_TIMI17","_DYN_NAVIGATION_START","_DYN_SHOULD_COLLECT_DURAT18","_DYN_IS_PERFORMANCE_TIMIN19","_DYN_RESPONSE_START","_DYN_LOAD_EVENT_END","_DYN_RESPONSE_END","_DYN_CONNECT_END","_DYN_PAGE_VISIT_START_TIM20","_isWebWorker","PageViewManager","appInsights","overridePageViewDuration","pageViewPerformanceManager","queueTimer","itemQueue","pageViewPerformanceSent","_flushChannels","flush","_startTimer","allItems","doFlush","_addQueue","pageView","uri","isWebWorker","WorkerGlobalScope","customDuration","pageViewSent","processed","pageViewPerformance","teardown","botAgentNames","_isPerformanceTimingSupported","_isPerformanceTimingDataReady","domainLookupStart","domLoading","_getPerformanceTiming","_shouldCollectDuration","durations","isGoogleBot","PageViewPerformanceManager","navigationTiming","_getPerformanceNavigationTiming","_isPerformanceNavigationTimingSupported","getEntriesByType","total","network","dom","startTime","requestStart","responseEnd","PageVisitTimeManager","pageVisitTimeTrackingHandler","prevPageVisitDataKeyName","currentPageName","currentPageUrl","prevPageVisitTimeData","restartPageVisitTimer","pageName","pageUrl","prevPageVisitData","stopPageVisitTimer","pageVisitEndTime","pageVisitDataJsonStr","pageVisitTime","utlRemoveSessionStorage","startPageVisitTimer","currPageVisitData","PageVisitData","currPageVisitDataStr","Timing","_dispatchEvent","evnt","dispatchEvent","MinMilliSeconds","_configMilliseconds","_getDefaultConfig","sessionRenewalMs","sessionExpirationMs","disableFlushOnUnload","_updateStorageUsage","utlDisableStorage","utlEnableStorage","AnalyticsPlugin","_super","_eventTracking","_pageTracking","_pageViewManager","_pageViewPerformanceManager","_pageVisitTimeManager","_preInitTelemetryInitializers","_isBrowserLinkTrackingEnabled","_browserLinkInitializerAdded","_enableAutoRouteTracking","_historyListenerAdded","_disableExceptionTracking","_autoExceptionInstrumented","_enableUnhandledPromiseRejectionTracking","_autoUnhandledPromiseInstrumented","_prevUri","_currUri","_evtNamespace","priority","autoRoutePVDelay","_base","processNext","trackEvent","EventTelemetry","startTrackEvent","stopTrackEvent","trackTrace","trackMetric","metric","inPv","refUri","referrer","trackPageViewPerformance","inPvp","startTrackPage","stopTrackPage","measurement","loc","theError","trackException","isCrossOriginError","_sendCORSException","errorString","telemetryInitializer","initialize","initializer","_populateDefaults","defaults","trackPageVisitTime","average","sampleCount","PageName","PageUrl","_updateBrowserLinkTracking","_addDefaultTelemetryInitializers","browserLinkPaths_1","envelope","remoteData","_updateExceptionTracking","locn","autoExceptionInstrumented","rsp","_addUnhandledPromiseRejectionTracking","_location","_getReason","autoUnhandledPromiseInstrumented","_updateLocationChange","win","_history","getHistory","pushState","replaceState","strUndefined","_addHistoryListener","namePrefix","_popstateHandler","_locationChangeHandler","distributedTraceCtx","_getDistributedTraceCtx","getTraceCtx","traceLocationName","_doTeardown","__extends","getDefaultConfig","_aiNameFunc","baseName","aiName","_aiApplication","_aiDevice","_aiLocation","_aiOperation","_aiSession","_aiUser","_aiCloud","_aiInternal","ContextTagKeys","createClassFromInterface","class_1","_this_1","applicationVersion","applicationBuild","applicationTypeId","applicationLayer","deviceId","deviceIp","deviceLanguage","deviceLocale","deviceModel","deviceFriendlyName","deviceNetwork","deviceNetworkName","deviceOEMName","deviceOS","deviceOSVersion","deviceRoleInstance","deviceRoleName","deviceScreenResolution","deviceType","deviceMachineName","deviceVMName","deviceBrowser","deviceBrowserVersion","locationIp","locationCountry","locationProvince","locationCity","operationId","operationName","operationParentId","operationRootId","operationSyntheticSource","operationCorrelationVector","sessionIsFirst","sessionIsNew","userAccountAcquisitionDate","userAccountId","userStoreRegion","userAuthUserId","userAnonymousUserAcquisitionDate","userAuthenticatedUserAcquisitionDate","cloudName","cloudRole","cloudRoleVer","cloudRoleInstance","cloudEnvironment","cloudLocation","cloudDeploymentUnit","internalNodeName","internalSdkVersion","internalAgentVersion","internalSnippet","internalSdkSrc","Extensions","CtxTagKeys","Envelope","sampleRate","Data","STR_DURATION","_DYN_TAGS","_DYN_DEVICE_TYPE","_DYN_DATA","_DYN_ON_LINE","_DYN_IS_ONLINE","_DYN_ENQUEUE","_DYN_COUNT","_DYN_EVENTS_LIMIT_IN_MEM","_DYN_EMIT_LINE_DELIMITED_0","_DYN_CLEAR","_DYN_BATCH_PAYLOADS","_DYN_MARK_AS_SENT","_DYN_CLEAR_SENT","_DYN_BUFFER_OVERRIDE","_DYN__BUFFER__KEY","_DYN__SENT__BUFFER__KEY","_DYN__MAX__BUFFER__SIZE","_DYN_MAX_BATCH_SIZE_IN_BY1","_DYN_TRIGGER_SEND","_DYN_ONUNLOAD_DISABLE_BEA2","_DYN_IS_BEACON_API_DISABL3","_DYN__SENDER","_DYN__SENDER_CONFIG","_DYN_ENABLE_SESSION_STORA4","_DYN__BUFFER","_DYN_ENDPOINT_URL","_DYN_CUSTOM_HEADERS","_DYN_DISABLE_XHR","_DYN_ONUNLOAD_DISABLE_FET5","_DYN_DISABLE_TELEMETRY","_DYN_BASE_TYPE","_DYN_SAMPLE_RATE","_DYN_CONVERT_UNDEFINED","_DYN__ON_ERROR","_DYN__ON_PARTIAL_SUCCESS","_DYN__ON_SUCCESS","_DYN_ITEMS_ACCEPTED","_DYN_IS_RETRY_DISABLED","_DYN_SET_REQUEST_HEADER","_DYN_MAX_BATCH_INTERVAL","_DYN_EVENTS_SEND_REQUEST","_DYN_DISABLE_INSTRUMENTAT7","_DYN_GET_SAMPLING_SCORE","strBaseType","strBaseData","strProperties","strTrue","_setValueIf","_extractPropsAndMeasurements","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","iKeyNoDashes","_extractPartAExtensions","envTags","itmExt","itmTags","extUser","authId","localId","extApp","app","sesId","extDevice","device","deviceClass","ip","model","web","browserLang","browserVer","browser","envData","envBaseData","envProps","screenRes","userConsent","extOs","os","extTrace","tgs","tg","theTags","EnvelopeCreator","EnvelopeCreatorInit","EventEnvelopeCreator","customMeasurements","baseTypeSource","eventData","_disableEvents","BaseSendBuffer","_buffer","_bufferFullMessageSent","_get","_set","getItems","ArraySendBuffer","SessionStorageSendBuffer","bufferItems","_getBuffer","notDeliveredItems","_removePayloadsFromBuffer","payloads","remaining","prefixedKey","bufferJson","buffer_1","_setBuffer","sentElements","BUFFER_KEY","SENT_BUFFER_KEY","MAX_BUFFER_SIZE","Serializer","_serializeObject","circularReferenceCheck","_serializeStringMap","_serializeArray","contract","isRequired","isHidden","isPresent","isObj","sources","expectedType","parseFloat","HashCodeScoreGenerator","getHashCodeScore","getHashCode","INT_MAX_VALUE","SamplingScoreGenerator","hashCodeGenerator","Sample","samplingRate","samplingScoreGenerator","isSampledIn","samplingPercentage","_getResponseText","xhr","_getDefaultAppInsightsChannelConfig","retryCodes","EnvelopeTypeCreator","TraceEnvelopeCreator","PageViewEnvelopeCreator","currentContextId","bd","pageType","pageViewData","PageViewPerformanceEnvelopeCreator","ExceptionEnvelopeCreator","exData","MetricEnvelopeCreator","baseMetricData","DependencyEnvelopeCreator","remoteDepData","responseCode","Sender","_senderConfig","_consecutiveErrors","_retryAt","_paused","_timeoutHandle","_serializer","_stamp_specific_redirects","_headers","_fallbackSender","_syncUnloadSender","_offlineListener","_retryCodes","_syncFetchPayload","_checkResponsStatus","responseUrl","countOfItemsInPayload","_appId","_parseResponse","appId","_checkAndUpdateEndPointUrl","_isRetriable","_resendPayload","isOnline","_doUnloadSend","_beaconSender","_doBeaconSend","batch","plainTextBatch","Blob","queued","_onSuccess","droppedPayload","thePayload","_xhrSender","XMLHttpRequest","endPointUrl","onreadystatechange","_xhrReadyStateChange","onerror","_formatErrorMessageXhr","_fetchKeepAliveSender","payloadSize","_doFetchSender","_fetchSender","requestHeaders","Headers","batchLength","ignoreResponse","responseHandled","keepalive","Request","itemsReceived","itemsAccepted","linearFactor","payload_1","_setRetryTime","delayInSeconds","backOffSlot","pow","backOffDelay","retryAfterTimeSpan","_setupTimer","retryInterval","timerValue","_clearScheduledTimer","statusCode","_xdrSender","xdr","_xdrOnLoad","_formatErrorMessageXdr","hostingProtocol","_sample","pause","resume","callBack","sendReason","onunloadFlush","addHeader","createOfflineListener","parentEvtNamespace","_navigator","_isListening","_onlineStatus","_enableEvents","ononline","_setOnline","_setOffline","_isOnline","isListening","_unload","useSessionStorage","_validateInstrumentationKey","customHeaders","customHeader","senderConfig","sendPostFunc","diagLogger","_isSampledIn","convertUndefined","defaultEnvelopeIkey","aiEnvelope_1","constructEnvelope","doNotSendItem_1","readyState","responseURL","async","forcedSender","_notifySendRequest","sendRequest","_getNotifyMgr","_notificationManager","ieVer","failed","retry","errors_1","extracted","orig","parseConnectionString","connectionString","arrReduce","initialValue","kv","kvParts","endpointsuffix","Verbose","Information","Warning","Critical","_addChannelQueue","channelQueue","queueItem","chain","TelemetryInitializerPlugin","_initializers","addTelemetryInitializer","theInitializer","doNotSendItem","telemetryInitializersCount","strValidationError","strNotificationManager","strSdkUnloadingError","defaultInitConfig","_createPerfManager","notificationMgr","_isPluginPresent","exists","BaseCore","_config","_isInitialized","_eventQueue","_perfManager","_cfgPerfManager","_cookieManager","_pluginChain","_configExtensions","_coreExtensions","_channelControl","_channelConfig","_channelQueue","_isUnloading","_telemetryInitializerPlugin","_internalLogsEventName","_unloadHandlers","_traceCtx","_internalLogPoller","_forceStopInternalLogPoller","_startInternalLogTimer","alwaysStart","interval","diagnosticLogInterval","_flushInternalLogs","_createTelCtx","theCtx","_getPluginChain","_initPluginChain","theExtensions","_validateExtensions","channelPriority","allExtensions","coreExtensions","extPriorities","extPriority","createChannelQueues","channels","extensionQueue_1","_setQueue","createChannelControllerPlugin","_processChannelQueue","theChannels","processFn","waiting","_runChainOnComplete","chainCtx","theUpdateState","getChannel","_getChannel","pluginIdentifier","cbTimeout","doneIterating","cbTimer","doCallback","handled_1","_updateHook","_getPlugin","theExt","removeCb","pluginsToRemove","_removePlugins","removed","thePlugins","removeComplete","newConfigExtensions","newChannelConfig","newQueue","channel","track","_logOrThrowError","notificationManager","_initDebugListener","getDebugListener","_initPerfManager","enablePerfMgr","_initExtConfig","NotificationManager","cfgExtensions","__spreadArray","releaseQueue","getTransmissionControls","controls","_createDummyNotificationManager","setCookieMgr","createPerfMgr","setPerfMgr","eventCnt","eventQueue","pollInternalLogs","unloadComplete","flushComplete","processUnloadCtx","_doUnload","addPlugin","replaceExisting","addCb","existingPlugin","_addPlugin","removedPlugins_1","createNew","createDistributedTraceContext","setTraceCtx","traceCtx","_runListeners","listeners","perfEvtsSendAll","AppInsightsCore","_notifyInvalidEvent","_validateTelemetryItem","STR_PROPERTIES","_DYN_REQUEST_URL","_DYN_INST","_DYN_SPAN_ID","_DYN_CONTEXT","_DYN_ABORTED","_DYN_TRACE_ID0","_DYN_SPAN_ID1","_DYN_INCLUDE_CORRELATION_2","_DYN_CAN_INCLUDE_CORRELAT3","_DYN_GET_ABSOLUTE_URL","_DYN_HEADERS","_DYN_REQUEST_HEADERS","_DYN_APP_ID","_DYN_TRACK_DEPENDENCY_DAT4","_DYN_DISTRIBUTED_TRACING_5","_DYN_START_TIME","_DYN_STATUS","_DYN_STATUS_TEXT","_DYN_HEADER_MAP","_DYN_OPEN_DONE","_DYN_SEND_DONE","_DYN_REQUEST_SENT_TIME","_DYN_ABORT_DONE","_DYN_GET_TRACE_ID","_DYN_GET_TRACE_FLAGS","_DYN_ERROR_STATUS_TEXT","_DYN_STATE_CHANGE_ATTACHE14","_DYN_RESPONSE_FINISHED_TI15","_DYN__CREATE_TRACK_ITEM","_DYN_RESPONSE","_DYN_GET_ALL_RESPONSE_HEA16","_DYN_GET_PART_APROPS","_DYN_GET_CORRELATION_CONT17","_DYN_PERF_MARK","_DYN_PERF_TIMING","_DYN_AJAX_TOTAL_DURATION","_DYN_EVENT_TRACE_CTX","_calcPerfDuration","resourceEntry","_setPerfDuration","_setPerfValue","strPerf","XHRMonitoringState","setRequestHeaderDone","ajaxRecord","completed","requestHeadersSize","responseReceivingDuration","callbackDuration","requestSize","responseStartedTime","callbackFinishedTime","endTime","xhrMonitoringState","clientFailure","getAbsoluteUrl","urlGetAbsoluteUrl","getPathName","urlGetCompleteUrl","ajaxType","enableRequestHeaderTracking","getResponse","ajaxTotalDuration","requestSentTime","responseFinishedTime","dependency","_populatePerfData","ajaxData","propsSet","strName","strStart","strEnd","strDomainLookup","strConnect","strRedirect","strRequest","strResponse","strStartTime","strDomainLookupStart","strDomainLookupEnd","strConnectStart","strConnectEnd","strRequestStart","strRequestEnd","strResponseStart","strResponseEnd","strRedirectStart","strRedirectEnd","strTransferSize","strEncodedBodySize","strDecodedBodySize","strServerTiming","serverTiming","server_1","perfAttempts","headerMap","responseHeaders","partA","traceExt","AJAX_MONITOR_PREFIX","strDiagLog","AJAX_DATA_CONTAINER","STR_FETCH","ERROR_HEADER","ERROR_PREFIX","ERROR_POSTFIX","ERROR_NOT_SENT","CORRELATION_HEADER_ERROR","CUSTOM_REQUEST_CONTEXT_ERROR","FAILED_TO_CALCULATE_DURATION_ERROR","_markCount","_getAjaxData","ajaxDataId","_isHeaderSet","xh","_getFailedAjaxDiagnosticsMessage","_throwInternalCritical","ajaxMonitorInstance","_throwInternalWarning","_createErrorCallbackFunc","internalMessage","ajaxDiagnosticsMessage","_ajaxDataId","_indexOf","theHandler","_processDependencyContainer","BLOB_CORE","DfltAjaxCorrelationHeaderExDomains","_internalExcludeEndpoints","maxAjaxCallsPerView","disableAjaxTracking","disableFetchTracking","excludeRequestFromAutoTrackingPatterns","distributedTracingMode","enableResponseHeaderTracking","enableAjaxErrorStatusText","enableAjaxPerfTracking","maxAjaxPerfLookupAttempts","ajaxPerfLookupDelay","ignoreHeaders","addRequestContext","addIntEndpoints","_getEmptyConfig","emptyConfig","AjaxMonitor","_fetchInitialized","_xhrInitialized","_currentWindowHost","_enableRequestHeaderTracking","_enableAjaxErrorStatusText","_trackAjaxAttempts","_context","_isUsingW3CHeaders","_isUsingAIHeaders","_markPrefix","_enableAjaxPerfTracking","_maxAjaxCallsPerView","_enableResponseHeaderTracking","_disabledUrls","_disableAjaxTracking","_disableFetchTracking","_excludeRequestFromAutoTrackingPatterns","_addRequestContext","_dependencyHandlerId","_dependencyListeners","_dependencyInitializers","getEmptyConfig","_canIncludeHeaders","rlt","_hookProto","InstrumentProto","_isDisabledRequest","isDisabled","theUrl","theRegex","idx2","_isMonitoredXhrInstance","excludeAjaxDataValidation","ajaxValidation","initialized","_getAjaxCorrelationContext","responseHeadersString","getResponseHeader","_createMarkId","performance_1","mark","markId","getEntriesByName","_findPerfResourceEntry","initiatorType","trackCallback","reportError","perfMark","performance","maxAttempts","retryDelay","attempt","locateResourceTiming","perfTiming","getEntries","entryType","clearMarks","_getFailedFetchDiagnosticsMessage","_reportFetchMetrics","_reportFetchError","failedProps","errorProps","fetchDiagnosticsMessage","sysProperties","_reportDependencyInternal","_getFetchCorrelationContext","initializers","aborted","instrumentationKey","_instrumentXhr","_supportsAjaxMonitoring","strPrototype","xhrData","theOpen","_openHandler","spanID","xhrRequestData","ajaxDataCntr","_attachToOnReadyStateChange","_onAjaxComplete","_reportXhrError","ajaxResponse","responseHeaderMap_2","exceptionText","hkErr","_addSharedXhrHeaders","_instrumentFetch","_supportsFetch","_global","isPolyfill","polyfill","fetchData","_createFetchRecord","newInit","fetchData_1","responseHeaderMap_1","_populateContext","propExt","trackDependencyData","currentWindowHost","_processDependencyListeners","traceParent","addDependencyListener","dependencyListener","addDependencyInitializer","dependencyInitializer","Application","Device","_DYN_SESSION_MANAGER","_DYN_IS_USER_COOKIE_SET","_DYN_IS_NEW_USER","_DYN_GET_TRACE_CTX","_DYN_TELEMETRY_TRACE","_DYN_APPLY_SESSION_CONTEX0","_DYN_APPLY_APPLICATION_CO1","_DYN_APPLY_DEVICE_CONTEXT","_DYN_APPLY_OPERATION_CONT2","_DYN_APPLY_USER_CONTEXT","_DYN_APPLY_OPERATING_SYST3","_DYN_APPLY_LOCATION_CONTE4","_DYN_APPLY_INTERNAL_CONTE5","_DYN_ACCOUNT_ID","_DYN_SDK_EXTENSION","_DYN_GET_SESSION_ID","_DYN_SESSION_COOKIE_POSTF6","_DYN_USER_COOKIE_POSTFIX","_DYN_ID_LENGTH","_DYN_GET_NEW_ID","_DYN_AUTOMATIC_SESSION","_DYN_AUTHENTICATED_ID","_DYN_SESSION_EXPIRATION_M7","_DYN_SESSION_RENEWAL_MS","_DYN_ACQUISITION_DATE","_DYN_RENEWAL_DATE","_DYN_COOKIE_DOMAIN","_DYN_JOIN","_DYN_COOKIE_SEPARATOR","_DYN_AUTH_USER_COOKIE_NAM8","Internal","sdkVersion","Location","Session","_SessionManager","_storageNamePrefix","_cookieUpdatedTimestamp","acquisitionSpan","renewalSpan","sessionCookiePostfix","_initializeAutomaticSessionWithData","sessionData","sessionReset","tokens","acqMs","renewalMs","_setCookie","nowMs","acq","renewalPeriodMs","acqTimeLeftMs","cookie","isExpired","_initializeAutomaticSession","storageValue","utlGetLocalStorage","timeSinceAcqMs","timeSinceRenewalMs","_renew","getNewId","automaticSession","cookieUpdateInterval","backup","_setStorage","renewal","utlSetLocalStorage","TelemetryTrace","parentId","_validateUserInput","isNewUser","isUserCookieSet","userCookiePostfix","userCookieName","_generateNewId","_generateNewCookie","acqStr","accountAcquisitionDate","_setUserCookie","utlRemoveStorage","authCookie","authCookieString","decodeURI","setAuthenticatedUserContext","authenticatedUserId","accountId","storeInCookie","encodeURI","clearAuthenticatedUserContext","cookieSeparator","authUserCookieName","strExt","strTags","_removeEmpty","TelemetryContext","defaultConfig","previousTraceCtx","application","internal","autoSession","build","agentVersion","snippetVer","sdkSrc","applyWebContext","cleanUp","dist_esm_PropertiesPlugin","PropertiesPlugin","_extensionConfig","_distributedTraceCtx","_previousTraceCtx","breezeChannel","_extConfig","theContext","userCtx","_processTelemetryInternal","nullValue","isBrowserLinkTrackingEnabled","_internalSdkSrc","_AUTHENTICATED_USER_CONTEXT","_TRACK","STR_SNIPPET","STR_FLUSH","STR_POLL_INTERNAL_LOGS","STR_GET_PLUGIN","STR_EVT_NAMESPACE","STR_TRACK_EVENT","STR_TRACK_TRACE","STR_TRACK_METRIC","STR_TRACK_PAGE_VIEW","STR_TRACK_EXCEPTION","STR_TRACK_DEPENDENCY_DATA","STR_SET_AUTHENTICATED_USER_CONTEXT","STR_CLEAR_AUTHENTICATED_USER_CONTEXT","_DYN_DIAGNOSTIC_LOG_INTER4","_DYN_QUEUE","_DYN_CONNECTION_STRING","_DYN_APP_INSIGHTS","_DYN_DISABLE_IKEY_DEPRECA18","_DYN_GET_TRANSMISSION_CON19","_DYN_ONUNLOAD_FLUSH","_DYN_ADD_HOUSEKEEPING_BEF20","_ignoreUpdateSnippetProperties","Initialization","snippet","_sender","_snippetVersion","_houseKeepingNamespace","_core","sv","cs","ingest","ingestionendpoint","instrumentationkey","DependenciesPlugin","isErrMessageDisabled","_getSKUDefaults","legacyMode","_updateSnippetProperties","emptyQueue","proxyAssign","chkSet","_loop_1","length_1","appInsightsInstance","performHousekeeping","loadedPlugin","propertiesPlugin","_sessionManager","excludePageUnloadEvents","disablePageUnloadEvents","addPageUnloadEventListener","addEventListeners","isReactNative","product","getSender","removePageUnloadEventListener","removePageHideEventListener","_getCurrentDependencies","cdns","scrpt","currentScript","MonitoringService","httpClient","envSetting","InstrumentationKey","ApplicationMonitoring","ApplicationName","enableAutoRouteTracking","Enabled","loadAppInsights","trackPageView","logPageView","logEvent","logMetric","logException","logTrace","Interrupt","onInterrupt","IdleExpiry","idValue","idlingValue","idling","last","AlternativeStorage","storageMap","getStorage","_wrapped","LocalStorageExpiry","idleName","setExpiry","getExpiry","setIdling","getIdling","getIdleName","setIdleName","KeepaliveSvc","AutoResume","idle","notIdle","Idle","zone","keepaliveSvc","platformId","timeoutVal","autoResume","interrupts","running","keepaliveEnabled","onIdleStart","onIdleEnd","onTimeoutWarning","onTimeout","getKeepaliveEnabled","setKeepaliveEnabled","getTimeout","seconds","getIdle","setIdle","getAutoResume","setAutoResume","setInterrupts","clearInterrupts","interrupt","force","innerArgs","getInterrupts","isRunning","isIdling","watch","skipExpiry","safeClearInterval","timeout","toggleState","startKeepalive","toggleInterrupts","watchFn","getExpiryDiff","setIdleIntervalOutsideOfZone","frequency","runOutsideAngular","idleHandle","stopKeepalive","countdown","eventArgs","doCountdown","setTimeoutIntervalOutsideZone","doCountdownInZone","intervalFn","timeoutHandle","handleName","ping","PLATFORM_ID","InterruptArgs","InterruptSource","attachFn","detachFn","isAttached","Zone","current","EventTargetInterruptSource","eventSubscription","throttleDelay","isPlatformServer","eventTarget","fromEvents","eventSrc","filterEvent","DocumentInterruptSource","originalEvent","movementX","movementY","WindowInterruptSource","StorageInterruptSource","NgIdleModule","ngModule","DEFAULT_INTERRUPTSOURCES","createDefaultInterruptSources","SetNodeAttribute","RemoveNodeAttribute","SetInputChecked","checked","Metadata","ResourceTiming","timestamp","ttfb","headerSize","encodedBodySize","decodedBodySize","initiator","LoadFontFace","family","descriptors","SetNodeFocus","SetNodeAttributeURLBased","baseURL","CreateIFrameDocument","frameID","AdoptedSSReplaceURLBased","sheetID","AdoptedSSInsertRuleURLBased","rule","AdoptedSSDeleteRule","AdoptedSSAddOwner","AdoptedSSRemoveOwner","JSException","DEPRECATED_ATTRS","htmlmasked","masked","IN_BROWSER","IS_FIREFOX","timeOrigin","stars","repeat","normSpaces","isURL","DOCS_HOST","warnedFeatures","deprecationWarn","nameOfFeature","useInstead","docsPath","getLabelAttribute","getAttribute","hasOpenreplayAttribute","attr","newName","hasAttribute","Nodes","node_id","nodes","nodeCallbacks","elementListeners","attachNodeCallback","nodeCallback","attachNodeListener","node","getID","registerNode","isNew","unregisterNode","cleanTree","callNodeCallbacks","isStart","getNode","isNode","sth","nodeType","isSVGElement","namespaceURI","isElementNode","Node","ELEMENT_NODE","isTextNode","TEXT_NODE","isDocument","DOCUMENT_NODE","isRootNode","DOCUMENT_FRAGMENT_NODE","hasTag","tagName","nodeName","isIgnored","tag","rel","as","isObservable","RecentsType","New","Removed","Changed","Observer","isTopContext","commited","recents","indexes","attributesMap","textSet","observer","MutationObserver","safe","mutations","mutation","removedNodes","bindNode","addedNodes","bindTree","attributeName","commitNodes","sendNodeAttribute","getBaseHref","sendNodeData","parentElement","SetCSSDataURLBased","SetNodeData","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","acceptNode","FILTER_REJECT","FILTER_ACCEPT","nextNode","currentNode","unbindTree","RemoveNode","_commitNode","commitNode","handleNode","sibling","previousSibling","siblingID","recentsType","clientHeight","CreateElementNode","svg","attributes","CreateTextNode","MoveNode","cmt","observeRoot","beforeCommit","nodeToBind","observe","childList","characterData","subtree","attributeOldValue","characterDataOldValue","disconnect","IFrameObserver","contentDocument","hostID","docID","ShadowRootObserver","shRoot","shadowRoot","rootID","IFrameOffsets","states","calcOffset","parLeft","parTop","offset","iFrame","getBoundingClientRect","getDocumentOffset","parentDoc","ownerDocument","invalidateOffset","defaultView","attachShadowNativeFn","Element","attachShadow","ShadowRoot","TopObserver","iframeOffsets","contextCallbacks","contextsSet","iframeObservers","shadowRootObservers","captureIFrames","handleIframe","handleShadowRoot","attachContextCallback","currentWin","currentDoc","shadow","SanitizeLevel","Plain","Obscured","Hidden","Sanitizer","obscured","obscureTextEmails","obscureTextNumbers","domSanitizer","sanitizeLevel","isObscured","getInnerTextSecure","innerText","Ticker","useSafe","unshift","wrap","IsCustomLevel","userID","attachUpdateCallback","handleUpdate","newInfo","sessionID","projectID","setMetadata","setUserID","getPageNumber","pageNoStr","session_pageno_key","incPageNo","pageNo","getSessionToken","session_token_key","setSessionToken","applySessionHash","hashParts","getSessionHash","getInfo","memory","deviceMemory","jsHeapSizeLimit","CANCELED","UnsuccessfulStart","ActivityState","NotActive","Starting","DEFAULT_INGEST_POINT","App","projectKey","sessionToken","messages","startCallbacks","stopCallbacks","commitCallbacks","activityState","revID","session_reset_key","local_uuid_key","ingestPoint","resourceBaseHref","verbose","__is_snippet","__debug_report_edp","ticker","commit","__debug__","notify","UserID","worker","Worker","createObjectURL","_debug","onmessage","alertWorker","attachEventListener","urgent","Timestamp","attachCommitCallback","attachStartCallback","attachStopCallback","checkRequiredVersion","reqVer","getTrackerInfo","userUUID","trackerVersion","isSnippet","getSessionInfo","getSessionID","getSessionURL","getHost","getProjectKey","baseURI","head","getElementsByTagName","resolveResourceURL","resourceURL","base","isServiceURL","resetNextPageSession","startOpts","resetByWorker","adjustTimeOrigin","sessionHash","forceNew","connAttemptCount","connAttemptGap","lsReset","needNewSessionID","beaconSizeLimit","startTimestamp","onStartInfo","onStart","onVisibilityChange","stopWorker","printError","printString","printObject","consoleMethods","getDefaultStack","functionName","getExceptionMessage","fallbackStack","ErrorStackParser","getExceptionMessageFromEvent","ErrorEvent","PromiseRejectionEvent","resolveURL","INPUT_TYPES","isTextEditable","isCheckable","labelElementFor","HTMLInputElement","labels","getInputLabel","labelElement","placeholder","isClickable","onclick","getTarget","_getTarget","ownerSVGElement","getDocumentScroll","pageXOffset","scrollLeft","pageYOffset","hasAdoptedSS","adoptedStyleSheets","nextID","styleSheetIDMap","DOCS_SETUP","API","processOptions","__OPENREPLAY__","__DISABLE_SECURE_MODE","doNotTrack","respectDoNotTrack","viewport","sendSetPageLocation","SetPageLocation","sendSetViewportSize","innerWidth","innerHeight","SetViewportSize","sendSetPageVisibility","SetPageVisibility","getTimeOrigin","Viewport","cssrules","CSSStyleSheet","TechnicalInfo","sendInsertDeleteRule","sheet","sendReplaceGroupingRule","topmostRule","parentRule","parentStyleSheet","cssText","cssRules","patchContext","insertRule","deleteRule","groupInsertRule","groupDeleteRule","CSSGroupingRule","nodeID","rules","CSSRules","constructedStyleSheets","adoptedStyleSheetsOwnings","sendAdoptedStyleSheetsUpdate","root","pastOwning","nowOwning","styleSheets","patchAdoptedStyleSheets","nativeAdoptedStyleSheetsDescriptor","getOwnPropertyDescriptor","retVal","__openreplay_adpss_patched__","Document","replaceSync","ConstructedStyleSheets","connection","mozConnection","webkitConnection","sendConnectionInformation","ConnectionInformation","downlink","Connection","modules_console","consoleThrottling","sendConsoleLog","ConsoleLog","printf","printFloat","printInt","patchConsole","Console","captureExceptions","img","sendPlaceholder","sendSrcset","srcset","resolvedSrcset","sendSrc","sendImgError","resolvedSrc","sendImgAttrs","naturalHeight","naturalWidth","isSVGInFireFox","attributeFilter","Img","obscureInputNumbers","obscureInputEmails","defaultInputMode","obscureInputDates","sendInputValue","inputMode","mask","SetInputValue","inputValues","checkableValues","registeredTargets","sendInputTarget","SetInputTarget","Input","mouse","mousePositionX","mousePositionY","mousePositionChanged","mouseTarget","mouseTargetTime","selectorMap","sendMouseMove","MouseMove","patchDocument","topframe","attachListener","clientX","clientY","MouseClick","hesitationTime","selector","getTargetLabel","dl","HTMLElement","getSelector","_getSelector","cn","sel","Mouse","captureResourceTimings","capturePageLoadTimings","capturePageRenderTimings","resources","resourceTiming","responseStart","transferSize","PerformanceObserver","prevSessionID","entryTypes","firstPaint","firstContentfulPaint","pageLoadTimingSent","loadEventEnd","domContentLoadedEventStart","domContentLoadedEventEnd","loadEventStart","PageLoadTiming","visuallyComplete","interactiveWindowStartTime","interactiveWindowTickTime","paintBlocks","pageRenderTimingSent","getPaintBlocks","elements","styleURL","currentSrc","backgroundImage","getComputedStyle","getPropertyValue","rect","bottom","area","speedIndex","calculateSpeedIndex","timeToInteractive","PageRenderTiming","modules_performance","capturePerformance","ticks","nextFrame","requestAnimationFrame","sendPerformanceTrack","PerformanceTrack","totalJSHeapSize","usedJSHeapSize","Performance","modules_scroll","documentScroll","nodeScroll","setNodeScroll","sendSetViewportScroll","SetViewportScroll","sendSetNodeScroll","SetNodeScroll","Scroll","modules_focus","sendSetNodeFocus","blurred","relatedTarget","elem","Focus","fonts","FontFace","docFonts","patchWindow","wnd","FontFaceInterceptor","desc","ffData","ffDataArr","Fonts","autoResetOnWindowOpen","wOpen","use","setUserAnonymousID","UserAnonymousID","userAnonymousID","issue","RawCustomEvent","CustomIssue","Keepalive","pingInterval","onPing","onPingResponse","pingRequest","HttpRequest","pingHandle","hasPingHandle","NgIdleKeepaliveModule","GoogleTagManagerConfigService","GoogleTagManagerConfiguration","googleTagManagerConfig","_googleTagManagerConfig","gtm_auth","gtm_preview","GoogleTagManagerModule","GoogleTagManagerService","googleTagManagerConfiguration","googleTagManagerId","googleTagManagerMode","googleTagManagerAuth","googleTagManagerPreview","googleTagManagerResourcePath","googleTagManagerCSPNonce","isLoaded","browserGlobals","documentRef","gtm_resource_path","checkForId","getDataLayer","dataLayer","pushOnDataLayer","addGtmToDom","gtmScript","applyGtmQueryParams","setAttribute","insertBefore","pushTag","signout","AppComponent","renderer2","commonService","loggerService","gtmService","imgs","cookieBotDetailToggled","setPageClass","setTitle","_fetchFreshToken","isNewUI","idleTime","eeIdleTimeOutInSeconds","_enableIdleTimer","subscribeToLangChanges","setCountries","EnableGoogleTag","pload","openReplayEnabled","OpenReplayProjectKey","OpenReplayIngestPoint","tracker","OpenReplay","isLangLoading$","Image","addClass","NavigationStart","prevurl","removeClass","currentUrlSlug","privateRoute","idleTimerInSeconds","createIframes","changes$","CookieBotEnabled","cookieBotFrame","iFrameContainer","reload","expandElementSelector","onIframeReady","onMoreDetails","mergeAll","onAcceptClick","onDeclineClick","click","AppComponent_ng_container_0_Template","AppComponent_div_3_Template","UnauthorizedComponent","UnauthorizedComponent_div_0_Template","ErrorHandlerService","matDialog","toastrService","handleUnauthorized","handleForbidden","handleNotFound","handleServerError","handleGenericError","timeOut","disableClose","TokenInterceptor","dialog","errorHandlerService","localSession","intercept","tokenJson","setHeaders","isNewErrorSchema","inputError","invalidTimingValue","ɵRuntimeError","ngDevMode","optimizeGroupPlayer","players","NoopAnimationPlayer","ɵAnimationGroupPlayer","normalizeKeyframes$1","normalizer","keyframes","preStyles","postStyles","normalizedKeyframes","previousOffset","previousKeyframe","kf","isSameOffset","normalizedKeyframe","normalizedProp","normalizedValue","normalizePropertyName","ɵPRE_STYLE","AUTO_STYLE","normalizeStyleValue","animationFailed","listenOnPlayer","player","copyAnimationEvent","onDone","onDestroy","phaseName","makeAnimationEvent","triggerName","fromState","totalTime","getOrSetDefaultValue","parseTimelineCommand","command","separatorPos","getParentElement","_CACHED_BODY","_IS_WEBKIT","containsElement","elm1","elm2","invokeQuery","NoopAnimationDriver","validateStyleProperty","getBodyNode","containsVendorPrefix","matchesElement","_selector","computeStyle","easing","previousPlayers","scrubberAccessRequested","AnimationDriver","NOOP","AnimationStyleNormalizer","ONE_SECOND","ENTER_CLASSNAME","LEAVE_CLASSNAME","NG_TRIGGER_CLASSNAME","NG_TRIGGER_SELECTOR","NG_ANIMATING_CLASSNAME","NG_ANIMATING_SELECTOR","resolveTimingValue","_convertTimeValueToMS","unit","resolveTiming","timings","allowNegativeValues","parseTimeExpression","delayMatch","easingVal","containsErrors","startIndex","negativeStepValue","negativeDelayValue","setStyles","formerStyles","camelProp","dashCaseToCamelCase","eraseStyles","normalizeAnimationEntry","steps","sequence","PARAM_REGEX","extractStyleParams","interpolateParams","original","varName","localVal","invalidParamValue","DASH_CASE_REGEXP","visitDslNode","visitor","AnimationMetadataType","Trigger","visitTrigger","visitState","Transition","visitTransition","visitSequence","Group","visitGroup","Animate","visitAnimate","Keyframes","visitKeyframes","Style","visitStyle","Reference","visitReference","AnimateChild","visitAnimateChild","AnimateRef","visitAnimateRef","Query","visitQuery","Stagger","visitStagger","invalidNodeType","DIMENSIONAL_PROP_SET","WebAnimationsStyleNormalizer","propertyName","userProvidedProperty","normalizedProperty","strVal","valAndSuffixMatch","invalidCssUnitValue","ANY_STATE","TRUE_BOOLEAN_VALUES","FALSE_BOOLEAN_VALUES","makeLambdaFromStates","lhs","rhs","LHS_MATCH_BOOLEAN","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN_REGEX","buildAnimationAst","driver","warnings","AnimationAstBuilderVisitor","_driver","AnimationAstBuilderContext","_resetContextStyleTimingState","currentQuerySelector","collectedStyles","currentTime","queryCount","depCount","transitions","invalidTrigger","definitions","def","stateDef","invalidDefinition","styleAst","astParams","containsDynamicStyles","missingSubs","invalidState","metadataName","matchers","parseTransitionExpr","transitionValue","expressions","parseInnerTransitionStr","eventStr","parseAnimationAlias","alias","invalidTransitionAlias","invalidExpression","expr","separator","normalizeAnimationOptions","furthestTime","step","innerAst","timingAst","constructTimingAst","makeTimingAst","strValue","ast","dynamic","currentAnimateTimings","styleMetadata","isEmpty","newStyleData","_styleAst","isEmptyStep","_makeStyleAst","_validateStyleAst","metadataStyles","styleTuple","collectedEasing","styleData","tuple","collectedEntry","updateCollectedStyle","invalidParallelAnimation","firstStart","firstEnd","secondStart","secondEnd","validateStyleParams","invalidStyleParams","invalidKeyframes","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","offsetVal","consumeOffset","invalidOffset","keyframeOffsetsOutOfOrder","generatedOffset","keyframesMissingOffsets","limit","animateDuration","durationUpToThisFrame","parentSelector","currentQuery","includeSelf","normalizeSelector","hasAmpersand","originalSelector","invalidStagger","currentTransition","unsupportedCSSPropertiesFound","normalizeParams","createTimelineInstruction","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","_map","instructions","existingInstructions","ENTER_TOKEN_REGEX","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","buildKeyframes","AnimationTimelineContext","currentTimeline","delayNextStep","timelines","timeline","containsAnimation","lastRootTimeline","allowOnlyTimelineStyles","elementInstructions","innerContext","createSubContext","_visitSubInstructions","transformIntoNewTimeline","previousNode","_applyAnimationRefDelays","animationsRefsOptions","animationRefOptions","animationDelay","animationDelayValue","instruction","instructionTimings","appendInstructionToTimeline","updateOptions","subContextCount","snapshotCurrentStyles","DEFAULT_NOOP_PREVIOUS_NODE","applyStylesToKeyframe","innerTimelines","mergeTimelineCollectedStyles","_visitTiming","incrementTime","hasCurrentStyleProperties","forwardFrame","applyEmptyStep","innerTimeline","forwardTime","elms","currentQueryTotal","sameElementTimeline","currentQueryIndex","parentContext","tl","maxTime","currentStaggerTime","startingTime","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate","_copyOptions","oldParams","newTime","fork","updatedTimings","builder","SubTimelineBuilder","stretchStartingKeyframe","invalidQuery","_elementTimelineStylesLookup","_previousKeyframe","_currentKeyframe","_keyframes","_styleSummary","_localTimelineStyles","_pendingStyles","_backFill","_currentEmptyStepKeyframe","_globalTimelineStyles","_loadKeyframe","hasPreStyleStep","_updateStyle","flattenStyles","allStyles","allProperties","getFinalKeyframe","details1","details0","finalKeyframes","keyframe","finalKeyframe","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","oldOffset","decimalPoints","mult","createTransitionInstruction","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","currentState","nextState","oneOrMoreTransitionsMatch","matchFns","buildStyles","stateName","styler","currentOptions","nextOptions","skipAstBuild","transitionAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","applyParamDefaults","elm","userParams","AnimationStateStyles","defaultParams","combinedParams","AnimationTrigger","_normalizer","transitionFactories","balanceProperties","fallbackTransition","createFallbackTransition","containsQueries","matchTransition","matchStyles","stateMap","key1","key2","EMPTY_INSTRUCTION_MAP","TimelineAnimationEngine","bodyNode","_animations","_playersById","register","registerFailed","_buildPlayer","autoStylesMap","missingOrDestroyedAnimation","createAnimationFailed","_getPlayer","missingPlayer","listen","baseEvent","play","restart","finish","setPosition","QUEUED_CLASSNAME","DISABLED_CLASSNAME","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","namespaceId","setForRemoval","setForMove","hasAnimation","removedBeforeQueried","NULL_REMOVED_QUERIED_STATE","REMOVAL_FLAG","StateValue","normalizeTriggerValue","absorbOptions","VOID_VALUE","DEFAULT_STATE_VALUE","AnimationTransitionNamespace","hostElement","_engine","_triggers","_queue","_elementListeners","_hostClassName","phase","missingTrigger","missingEvent","isTriggerEventValid","unsupportedTriggerEvent","triggersWithStates","statesByElement","afterFlush","_getTrigger","unregisteredTrigger","defaultToFallback","TransitionAnimationPlayer","objEquals","k1","k2","playersOnElement","playersByElement","isFallbackTransition","totalQueuedPlayers","deregister","clearElementCache","elementPlayers","_signalRemovalForInnerTriggers","fetchNamespacesByElement","triggerLeaveAnimation","afterFlushAnimationsDone","destroyAfterComplete","triggerStates","previousTriggersValues","markElementAsRemoved","processLeaveNode","prepareLeaveAnimationListeners","elementStates","visitedTriggers","removeNode","engine","childElementCount","containsPotentialParentTransition","totalAnimations","currentPlayers","playersByQueriedElement","removalFlag","destroyInnerAnimations","_onRemovalComplete","insertNode","drainQueuedTransitions","microtaskId","destroyed","markedForDestroy","d0","d1","TransitionAnimationEngine","onRemovalComplete","scheduler","newHostElements","disabledNodes","_namespaceLookup","_namespaceList","_flushFns","_whenQuietFns","namespacesByHostElement","collectedEnterElements","collectedLeaveElements","queuedPlayers","createNamespace","_balanceNamespaceList","collectEnterElement","namespaceList","found","ancestor","ancestorNs","registerTrigger","_fetchNamespace","stateValue","markElementAsDisabled","hostNS","_buildInstruction","subTimelines","skipBuildAst","containerElement","destroyActiveAnimationsForElement","finishActiveQueriedAnimationOnElement","whenRenderingDone","cleanupFns","_flushAnimations","quietFns","triggerTransitionsFailed","skippedPlayers","skippedPlayersMap","queuedInstructions","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","allTriggerElements","enterNodeMap","buildRootMap","enterNodeMapIds","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","previousValue","nodeIsOrphaned","stringMap","setVal","transitionFailed","allPreviousPlayersMap","animationElementMap","_beforeAnimationBuild","_getPreviousPlayers","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","cloakAndComputeStyles","preStylesMap","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","overrideTotalTime","parentWithAnimation","parentsToAdd","detectedParent","innerPlayer","_buildAnimation","setRealPlayer","parentPlayers","parentPlayer","playersForElement","syncPlayerEvents","queriedPlayerResults","queriedInnerElements","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation","targetNameSpaceId","targetTriggerName","timelineInstruction","realPlayer","getRealPlayer","beforeDestroy","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","flattenGroupPlayers","finalPlayers","_flattenGroupPlayersRecur","wrappedPlayer","deleteOrUnsetInMap","currentValues","_player","_containsRealPlayer","_queuedCallbacks","triggerCallback","_queueEvent","hasStarted","getPosition","cloakElement","oldValue","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","roots","rootMap","nodeSet","localRootMap","getRoot","postEntry","preEntry","AnimationEngine","_triggerCache","_transitionEngine","_timelineEngine","componentId","cacheKey","triggerBuildFailed","buildTrigger","onInsert","onRemove","disableAnimations","disable","process","eventPhase","SpecialCasedStyles","initialStylesByElement","WeakMap","_startStyles","_endStyles","_state","initialStyles","_initialStyles","filterNonAnimatableStyles","isNonAnimatableStyle","WebAnimationsPlayer","_specialStyles","_onDoneFns","_onStartFns","_onDestroyFns","_initialized","_finished","_started","_destroyed","_originalOnDoneFns","_originalOnStartFns","currentSnapshot","_duration","_delay","_onFinish","_preparePlayerBeforeStart","domPlayer","_triggerWebAnimation","_finalKeyframe","onFinish","_resetDomPlayerState","_convertKeyframesToObject","kfs","fromEntries","methods","WebAnimationsDriver","validateAnimatableStyleProperty","playerOptions","fill","previousStyles","previousWebAnimationPlayers","allowPreviousPlayerStylesMerge","normalizeKeyframes","balancePreviousStylesIntoKeyframes","startingKeyframe","missingStyleProps","specialStyles","packageNonAnimatableStyles","startStyles","endStyles","DISABLE_ANIMATIONS_FLAG","BaseAnimationRenderer","delegate","_onDestroy","ɵtype","destroyNode","queueMicrotask","namespace","createComment","createText","newChild","refChild","isMove","oldChild","isHostElement","selectRootElement","selectorOrNode","preserveContent","nextSibling","setStyle","removeStyle","setProperty","AnimationRenderer","resolveElementFromTarget","parseTriggerCallbackName","dotIndex","scheduleListenerCallback","AnimationRendererFactory","_zone","_currentId","_microtaskId","_animationCallbacksBuffer","_rendererCache","_cdRecurDepth","createRenderer","cache","renderer","onRendererDestroy","animationTriggers","begin","_scheduleCountTask","animationCallbacksBuffer","SHARED_ANIMATION_PROVIDERS","ɵAnimationStyleNormalizer","instantiateDefaultStyleNormalizer","ɵWebAnimationsStyleNormalizer","ɵAnimationEngine","InjectableAnimationEngine","ɵChangeDetectionScheduler","RendererFactory2","instantiateRendererFactory","ɵAnimationRendererFactory","ɵDomRendererFactory2","NgZone","BROWSER_ANIMATIONS_PROVIDERS","ɵWebAnimationsDriver","ANIMATION_MODULE_TYPE","BROWSER_NOOP_ANIMATIONS_PROVIDERS","BrowserAnimationsModule","withConfig","BrowserModule","ForgotPasswordModule","DeleteAccountModule","TermsOfUseMobileModule","reducers","AppReducer","sts","STSReducer","ProfileReducer","registration","taraRegisterProfile","TaraRegisterProfileReducer","HeaderReducer","dkMfaReset","DKMFAResetReducer","REDUCER_TOKEN","getReducers","residenceCountryCodeKey","storageAvailable","getFromStorage","stringToBoolean","ProfileEffects","actions$","saveResidenceCountryCode$","createEffect","saveToStorage","caught","removeStoredResidence$","removeFromStorage","getProfile$","getConsents$","getConsentSuccess$","AppEffects","setAppLanguage$","RegistrationEffects","_api","_activatedRoute","registerProfileApi","bookingUrl$","plasmaUrl$","bookingAdminUrl$","webreqAdminUrl$","isCZTenant$","isPatient$","registrationUserType$","isForBooking$","isForBookingQuery","paramMap$","userId$","loadRegistrationClaims$","getClaimsAsObject","loadExistsRegistrationClaims$","loadExternalAuthProviders$","setUserPassword$","bookingUrl","isCZ","userType","arrUserType","loadTaraUserInfo$","taraResendEmailActivation$","activateUserAccount$","accountType","updatePhoneNumber$","updatePhoneNumberFailure$","verifyPhoneNumber$","verifyPhoneNumberSuccess$","enableMFA$","enableMFASuccess$","enableMFAVerify$","enableMFAVerifySuccess$","enableMFAVerifyFailed$","i8","RegisterProfileEffects","isFinland$","loadRegisterProfile$","mergeMap","loadExistingPTProfile$","userIdEncoded","submitRegisterProfile$","updatePtExisitingProfile$","signupToTaraCLicked$","TaraRegisterProfileApiService","taraRegisterGetEndpoint","taraRegisterUpdateEndpoint","taraUniqueId","TaraMigrateApiService","taraResultMigrateEndpoint","taraOrderMigrateEndpoint","migrateResults","migrateOrders","TaraRegisterProfileEffects","taraRegisterProfileApi","taraMigrateApi","Ssn","Email","SynlabId","CreatedDate","migrate$","loadRegisterProfileSuccess$","registrationDone","apiService","getByCode","StsEffects","loadCountry$","fetchGeneplanetHasOrders","isSAuser","DkMfaResetEffects","_st","_tostr","_rt","_lang","phone$","validateMFAResetLink$","getMFAResetClaims$","changePhone$","verifyChangePhone$","set2FA$","mfaType","verifySet2FA$","LegalDocumentsService","searchLegalDocuments","searchLegalDocumentsVersions","effects","LegalDocumentsEffects","legalDocumentsService","searchLegalDocuments$","createSearchLegalDocumentsEffect","searchLegalDocumentsVersions$","createSearchLegalDocumentsVersionsEffect","exhaustMap","docType","TimeoutError","createErrorClass","timeoutErrorFactory","PERFORM_ACTION","ROLLBACK","TOGGLE_ACTION","JUMP_TO_STATE","JUMP_TO_ACTION","IMPORT_STATE","LOCK_CHANGES","PAUSE_RECORDING","PerformAction","Refresh","Reset","Rollback","Commit","Sweep","ToggleAction","JumpToState","JumpToAction","actionId","ImportState","nextLiftedState","LockChanges","PauseRecording","STORE_DEVTOOLS_CONFIG","INITIAL_OPTIONS","noMonitor","DEFAULT_NAME","createConfig","optionsInput","DEFAULT_OPTIONS","maxAge","actionSanitizer","stateSanitizer","logOnly","autoPause","traceLimit","lock","persist","export","import","jump","skip","reorder","connectInZone","difference","second","unliftState","liftedState","computedStates","currentStateIndex","liftAction","sanitizeActions","actions","sanitizedActions","actionIdx","sanitizeAction","sanitizeStates","computedState","sanitizeState","stateIdx","shouldFilterActions","predicate","actionsSafelist","actionsBlocklist","isActionFiltered","safelist","blockedlist","predicateMatch","safelistMatch","escapeRegExp","blocklistMatch","injectZoneConfig","ngZone","DevtoolsDispatcher","ActionsSubject","ɵDevtoolsDispatcher_BaseFactory","REDUX_DEVTOOLS_EXTENSION","DevtoolsExtension","devtoolsExtension","dispatcher","zoneConfig","createActionStreams","isLocked","isPaused","sanitizedState","sanitizedAction","nextActionId","sendToReduxDevtools","extensionConnection","sanitizedLiftedState","stagedActionIds","actionsById","getExtensionConfig","createChangesObservable","Observable","subscriber","connect","start$","stop$","liftedActions$","unwrapAction","concatMap","UPDATE","schedulerArg","each","with","_with","asyncScheduler","meta","isValidDate","operate","originalSourceSubscription","timerSubscription","lastValue","seen","startTimer","executeSchedule","innerFrom","createOperatorSubscriber","debounceTime","actionsUntilStop$","liftedUntilStop$","eval","extensionOptions","INIT_ACTION","RECOMPUTE_ACTION","computeNextEntry","nextError","recomputeStates","minInvalidatedStateIndex","committedState","skippedActionIds","nextComputedStates","lastIncludedActionId","previousEntry","previousState","previousError","StoreDevtools","reducers$","extension","scannedActions","liftedInitialState","liftInitialState","initialCommittedState","monitorReducer","monitorState","liftReducer","liftReducerWith","initialLiftedState","liftedAction","commitExcessActions","excess","idsToDelete","commitChanges","Infinity","actionIds","lastState","cmp","liftedAction$","observeOn","queueScheduler","liftedReducer$","liftedStateSubject","liftedStateSubscription","emitInZone","scan","reducedLiftedState","filterLiftedState","blocklist","filteredStagedActionIds","filteredActionsById","filteredComputedStates","extensionStartSubscription","refresh","liftedState$","state$","toSignal","manualCleanup","requireSync","performAction","rollback","sweep","toggleAction","jumpToAction","jumpToState","importState","lockChanges","pauseRecording","INITIAL_STATE","IS_EXTENSION_OR_MONITOR_PRESENT","createIsExtensionOrMonitorPresent","createReduxDevtoolsExtension","extensionKey","provideStoreDevtools","makeEnvironmentProviders","StateObservable","createStateObservable","ReducerManagerDispatcher","devtools","StoreDevtoolsModule","instrument","StoreService","exports","definition","__webpack_exports__","pdfjsLib","AbortException","AnnotationEditorLayer","AnnotationEditorParamsType","AnnotationEditorType","AnnotationEditorUIManager","AnnotationLayer","AnnotationMode","ColorPicker","DOMSVGFactory","DrawLayer","FeatureTest","GlobalWorkerOptions","ImageKind","InvalidPDFException","MissingPDFException","OPS","OutputScale","PDFDataRangeTransport","PDFDateString","PDFWorker","PasswordResponses","PermissionFlag","PixelsPerInch","RenderingCancelledException","TextLayer","UnexpectedResponseException","Util","VerbosityLevel","XfaLayer","createValidAbsoluteUrl","getFilenameFromUrl","getPdfFilenameFromUrl","getXfaPageViewport","isDataScheme","isPdfFile","noContextMenu","normalizeUnicode","setLayerDimensions","isNodeJS","nw","electron","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","FREETEXT","HIGHLIGHT","STAMP","INK","RESIZE","CREATE","FREETEXT_SIZE","FREETEXT_COLOR","FREETEXT_OPACITY","INK_COLOR","INK_THICKNESS","INK_OPACITY","HIGHLIGHT_COLOR","HIGHLIGHT_DEFAULT_COLOR","HIGHLIGHT_THICKNESS","HIGHLIGHT_FREE","HIGHLIGHT_SHOW_ALL","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","util_ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","ERRORS","WARNINGS","INFOS","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotation","endAnnotation","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","setStrokeTransparent","setFillTransparent","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","getVerbosityLevel","unreachable","assert","cond","addDefaultProtocol","tryConvertEncoding","stringToUTF8String","escape","_isValidProtocol","nonSerializable","writable","BaseException","PasswordException","UnknownErrorException","FormatError","bytesToString","bytes","MAX_ARGUMENT_COUNT","strBuf","chunkEnd","chunk","stringToBytes","objectFromMap","util_FeatureTest","isLittleEndian","buffer8","isEvalSupported","isOffscreenCanvasSupported","OffscreenCanvas","platform","isMac","isWindows","isFirefox","isCSSRoundSupported","CSS","supports","hexNumbers","padStart","makeHexColor","g","scaleMinMax","minMax","temp","m1","m2","applyTransform","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","p3","p4","inverseTransform","singularValueDecompose2dScale","transpose","sqrt","sy","normalizeRect","intersect","rect1","rect2","xLow","xHigh","yLow","yHigh","#getExtremumOnCurve","x0","x1","x2","x3","y0","y1","y2","y3","mt","tt","ttt","#getExtremum","delta","sqrtDelta","a2","bezierBoundingBox","NormalizeRegex","NormalizationMap","replaceAll","normalize","AnnotationPrefix","SVG_NS","static","PDF","_fetchData","isValidFetchUrl","arrayBuffer","blob","DONE","PageViewport","viewBox","scale","rotation","offsetX","dontFlip","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","rawDims","pageWidth","pageHeight","pageX","pageY","convertToViewportPoint","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","extraDelay","ii","defaultFilename","reFilename","splitURI","suggestedFilename","StatTimer","started","times","timeEnd","outBuf","longest","padEnd","deprecated","toDateObject","#regex","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","xfaPage","getRGB","color","colorRGB","getCurrentTransform","getTransform","getCurrentTransformInverse","invertSelf","div","mustFlip","mustRotate","useRound","widthStr","heightStr","pixelRatio","devicePixelRatio","sx","scaled","symmetric","EditorToolbar","#toolbar","#colorPicker","#editor","#buttons","#altText","editor","#l10nRemove","freetext","highlight","ink","stamp","render","editToolbar","_uiManager","_signal","#pointerDown","buttons","toolbarPosition","insetInlineEnd","#addDeleteButton","#focusIn","_focusEventsAllowed","#focusOut","#addListenersToElement","hide","hideDropdown","show","shown","editorType","tabIndex","#divider","divider","addAltText","altText","prepend","addColorPicker","colorPicker","renderButton","HighlightToolbar","#uiManager","uiManager","#render","#addHighlightButton","#getLastPoint","boxes","isLTR","lastY","lastX","box","span","highlightSelection","bindEvents","names","IdManager","#id","ImageManager","#baseId","getUuid","buf","#cache","_isSVGFittingCanvas","getContext","willReadFrequently","image","drawImage","getImageData","#get","rawData","bitmap","refCounter","isSvg","File","file","mustRemoveAspectRatioPromise","fileReader","FileReader","imageElement","imagePromise","svgUrl","readAsDataURL","createImageBitmap","getFromFile","lastModified","getFromUrl","getFromBlob","blobPromise","getFromId","getFromCanvas","canvas","offscreen","transferToImageBitmap","getSvgUrl","deleteId","transferFromImageBitmap","convertToBlob","isValidId","CommandManager","#commands","#locked","#maxSize","#position","maxSize","cmd","undo","mustExec","NaN","overwriteIfSameType","keepUndo","redo","hasSomethingToUndo","hasSomethingToRedo","KeyboardManager","allKeys","isMacKey","at","#serialize","altKey","ctrlKey","metaKey","shiftKey","bubbles","checker","ColorManager","_colors","colors","getColorValues","computedColor","convert","rgb","matchMedia","RGB","_colorsMapping","getHexCode","#abortController","#activeEditor","#allEditors","#allLayers","#altTextManager","#annotationStorage","#changedExistingAnnotations","#commandManager","#copyPasteAC","#currentPageIndex","#deletedAnnotationsElementIds","#draggingEditors","#editorTypes","#editorsToRescale","#enableHighlightFloatingButton","#enableUpdatedAddImage","#enableNewAltTextWhenAddingImage","#filterFactory","#focusMainContainerTimeoutId","#focusManagerAC","#highlightColors","#highlightWhenShiftUp","#highlightToolbar","#idManager","#isEnabled","#isWaiting","#keyboardManagerAC","#lastActiveElement","#mainHighlightColorPicker","#mlManager","#mode","#selectedEditors","#selectedTextNode","#pageColors","#showAllStates","#previousStates","isEditing","hasSelectedEditor","hasSelectedText","#translation","#translationTimeoutId","#container","#viewer","#updateModeCapability","_keyboardManager","arrowChecker","hasSomethingToControl","textInputChecker","small","TRANSLATE_SMALL","big","TRANSLATE_BIG","selectAll","addNewEditorFromKeyboard","HTMLButtonElement","isEnterHandled","unselectAll","translateSelectedEditors","viewer","altTextManager","eventBus","pdfDocument","pageColors","highlightColors","enableHighlightFloatingButton","enableUpdatedAddImage","enableNewAltTextWhenAddingImage","mlManager","_eventBus","_on","onEditingAction","onPageChanging","onScaleChanging","onRotationChanging","onSetPreference","updateParams","#addSelectionListener","#addDragAndDropListeners","#addKeyboardManager","annotationStorage","filterFactory","viewParameters","realScale","PDF_TO_CSS_UNITS","isShiftKeyDown","layer","combinedSignal","ac","AbortSignal","any","useNewAltTextFlow","useNewAltTextWhenAddingImage","hcmFilter","addHCMFilter","foreground","background","pair","highlightColorNames","setMainHighlightColorPicker","editAltText","firstTime","switchToMode","once","setPreference","pageNumber","focusMainContainer","findParent","layerX","layerY","disableUserSelect","toggle","addShouldRescale","removeShouldRescale","commitOrRemove","pagesRotation","#getAnchorElementForSelection","anchorNode","#getLayerForTextLayer","textLayer","currentLayer","hasTextLayer","methodOfCreation","selection","getSelection","isCollapsed","anchorOffset","focusNode","focusOffset","getSelectionBoxes","empty","isNoneMode","createAndAddNewEditor","showAllEditors","#displayHighlightToolbar","addToAnnotationStorage","#selectionChange","#dispatchUpdateStates","activeLayer","toggleDrawing","pointerup","#onSelectEnd","#addFocusManager","blur","#removeFocusManager","hasSelection","lastEditor","lastActiveElement","keydown","keyup","#removeKeyboardManager","#addCopyPasteListeners","copy","cut","paste","#removeCopyPasteListeners","dragOver","drop","addEditListeners","removeEditListeners","dataTransfer","isHandlingMimeForPasting","dropEffect","editors","serialized","clipboardData","setData","getData","newEditors","deserializedEditor","deserialize","#addEditorToLayer","#selectEditors","addCommands","isEditorHandlingKeyboard","#dispatchUpdateUI","setEditingState","#isEmpty","registerEditorTypes","defaultPropertiesToUpdate","getId","getLayer","pageIndex","currentPageIndex","addLayer","enable","removeLayer","updateMode","editId","isFromKeyboard","withResolvers","#disableAll","#enableAll","annotationElementId","setSelected","enterInEditMode","unselect","canCreateNewEmptyEditor","addNewEditor","updateToolbar","updateColor","updateDefaultParams","updateButton","enableWaiting","mustWait","disableClick","enableClick","promises","getEditors","getEditor","addEditor","removeEditor","addDeletedAnnotationElement","addChangedExistingAnnotation","deleted","isDeletedAnnotationElement","removeDeletedAnnotationElement","removeChangedExistingAnnotation","addOrRebuild","setActiveEditor","propertiesToUpdate","#lastSelectedEditor","ed","updateUI","toggleSelected","isSelected","firstSelectedEditor","noCommit","totalX","totalY","translateInPage","setUpDragSession","savedX","savedY","savedPageIndex","newX","newY","newPageIndex","endDragSession","mustBeAddedInUndoStack","move","_setParentAndPosition","dragSelectedEditors","tx","ty","drag","rebuild","changeParent","getActive","shouldGetKeyboardEvents","getMode","imageManager","rangeCount","getRangeAt","commonAncestorContainer","parentWidth","parentHeight","rotator","range","collapsed","getClientRects","renderAnnotationElement","annotation","editorId","hasBeenModified","AltText","#altTextDecorative","#altTextButton","#altTextButtonLabel","#altTextTooltip","#altTextTooltipTimeout","#altTextWasFromKeyBoard","#badge","#guessedText","#textWithDisclaimer","#useNewAltTextFlow","#l10nNewButton","missing","review","l10n","_l10n","onClick","_reportTelemetry","#label","#setState","guessedText","focusVisible","hasData","setGuessedText","generatedAltText","toggleAltTextBadge","badge","isForCopying","decorative","textWithDisclaimer","tooltip","DELAY_TO_SHOW_TOOLTIP","getImageForAltText","AnnotationEditor","#accessibilityData","#allResizerDivs","#disabled","#keepAspectRatio","#resizersDiv","#savedDimensions","#focusAC","#focusedResizerName","#hasBeenClicked","#initialPosition","#isEditing","#isInEditMode","#isResizerEnabledForKeyboard","#moveInDOMTimeout","#prevDragX","#prevDragY","#telemetryTimeouts","_editToolbar","_initialOptions","_initialData","_isVisible","#isDraggable","#zIndex","_zIndex","_resizerKeyboardManager","resize","_resizeWithKeyboard","_stopResizingWithKeyboard","parameters","_willKeepAspectRatio","isCentered","_structTreeParentId","pageRotation","pageDimensions","pageTranslation","parentDimensions","isAttachedToDOM","_type","_defaultLineColor","_colorManager","deleteAnnotationElement","fakeEditor","FakeEditor","getNextId","_l10nResizer","topMiddle","topRight","middleRight","bottomMiddle","bottomLeft","middleLeft","_borderLineWidth","_value","mime","_isDraggable","parentRotation","fixAndSetPosition","setInBackground","zIndex","setInForeground","setParent","#stopResizing","focusin","focusout","isMultipleSelection","setAt","screenToPageTranslation","#translate","scrollIntoView","block","findNewParent","bx","by","getBaseTranslation","_hasBeenMoved","_mustFixPosition","moveInDOM","#rotatePoint","angle","pageTranslationToScreen","#getRotationMatrix","parentScale","setDims","fixDims","widthPercent","heightPercent","getInitialTranslation","#createResizers","#resizerPointerdown","savedDraggable","togglePointerEvents","#resizerPointermove","savedWidth","savedHeight","savedParentCursor","cursor","savedCursor","pointerUpCallback","#addResizeToUndoStack","newWidth","newHeight","minWidth","MIN_SIZE","minHeight","rotationMatrix","transf","invRotationMatrix","getPoint","getOpposite","isDiagonal","isHorizontal","point","oppositePoint","transfOppositePoint","oppositeX","oppositeY","ratioX","ratioY","deltaX","deltaY","oldDiag","hypot","invTransf","altTextFinish","addEditToolbar","removeEditToolbar","addContainer","editToolbarDiv","before","getClientDimensions","addAltTextButton","altTextData","guessedAltText","setGuessedAltText","serializeAltText","hasAltText","hasAltTextData","#addFocusListeners","maxWidth","maxHeight","pointerdown","#setUpDragSession","#selectOnPointerEvent","moveEditorInDOM","getRect","shiftX","shiftY","getRectInCurrentCoords","onceAdded","enableEditMode","disableEditMode","isInEditMode","needsToBeRebuilt","rotate","_angle","serializeDeleted","popupRef","accessibilityData","isResizable","makeResizable","boundResizerKeydown","#resizerKeydown","boundResizerBlur","#resizerBlur","#resizerFocus","firstPosition","nextFirstPosition","lastChild","child","#setResizerTabIndex","stopImmediatePropagation","preventScroll","disableEditing","enableEditing","contentDiv","setAspectRatio","aspectRatio","telemetryInitialData","telemetryFinalData","_telemetryTimeout","resetAnnotationElement","SEED","MASK_HIGH","MASK_LOW","MurmurHash3_64","seed","h1","h2","ArrayBuffer","isView","byteLength","blockCounts","tailLength","dataUint32","C1","C2","hexdigest","SerializableEmpty","transfer","AnnotationStorage","#modified","#modifiedIds","#storage","onSetModified","onResetModified","onAnnotationEditor","resetModified","modified","#setModified","getAll","setAll","print","PrintAnnotationStorage","serializable","hasBitmap","editorStats","stats","typeToEditor","counters","computeTelemetryFinalData","resetModifiedIds","modifiedIds","ids","#serializable","structuredClone","FontLoader","#systemFonts","styleElement","nativeFontFaces","loadingRequests","loadTestFontId","addNativeFontFace","nativeFontFace","removeNativeFontFace","styleSheet","loadSystemFont","systemFontInfo","_inspectFont","loadedName","disableFontFace","isFontLoadingAPISupported","fontFace","baseFontName","font","attached","missingFile","createNativeFontFace","loaded","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","completeRequest","otherRequest","_loadTestFont","int32","spliceString","insert","called","XXXX_VALUE","checksum","string32","fontFamily","isFontReady","fillText","FontFaceObject","translatedData","inspectFont","compiledGlyphs","cssFontInfo","css","weight","fontWeight","italicAngle","mimetype","toBase64Util","getPathGenerator","objs","character","cmds","commands","bezierCurveTo","quadraticCurveTo","BaseCanvasFactory","#enableHWA","enableHWA","_createCanvas","canvasAndContext","BaseCMapReaderFactory","isCompressed","_fetch","cMapData","DOMCMapReaderFactory","BaseFilterFactory","addFilter","maps","fgColor","bgColor","addAlphaFilter","addLuminosityFilter","addHighlightHCMFilter","filterName","newFgColor","newBgColor","keepHCM","BaseStandardFontDataFactory","DOMStandardFontDataFactory","packageCapability","packageMap","fs","https","path2d","loadPackages","NodePackages","node_utils_fetchData","_node_utils_fetchData","readFile","applyBoundingBox","bbox","region","Path2D","BaseShadingPattern","getPattern","RadialAxialShadingPattern","IR","_bbox","_colorStops","_p0","_p1","_r0","matrix","_createGradient","grad","createLinearGradient","createRadialGradient","colorStop","addColorStop","inverse","pathType","ownerBBox","getClippedPathBoundingBox","ceil","tmpCanvas","cachedCanvases","getCanvas","tmpCtx","clearRect","beginPath","baseTransform","fillStyle","createPattern","domMatrix","DOMMatrix","setTransform","drawTriangle","c1","c2","c3","coords","rowSize","scaleX","scaleY","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","verticesPerRow","rows","cols","q","MeshShadingPattern","_coords","_figures","_bounds","_background","_createMeshCanvas","combinedScale","backgroundColor","boundsWidth","boundsHeight","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","createImageData","putImageData","matrixScale","temporaryPatternCanvas","DummyShadingPattern","TilingPattern","canvasGraphicsFactory","operatorList","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScaleX","combinedScaleY","canvasWidth","canvasHeight","redrawHorizontally","redrawVertically","xScaledStep","yScaledStep","dimx","getSizeAndScale","dimy","graphics","createCanvasGraphics","groupLevel","setFillAndStrokeStyleToContext","clipBbox","executeOperatorList","endDrawing","dimx2","dimy2","xSize","ySize","tmpCanvas2","tmpCtx2","jj","realOutputSize","updateRectMinMax","strokeStyle","fillColor","strokeColor","cssColor","convertBlackAndWhiteToRGBA","srcPos","dest","nonBlackColor","inverseDecode","black","zeroMapping","oneMapping","widthInSource","widthRemainder","srcLength","destPos","CachedCanvases","canvasFactory","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","rTlX","rTlY","rWidth","rHeight","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","transferMaps","startNewPathAndClipBox","clipBox","setCurrentPoint","updatePathMinMax","minX","maxX","updateScalingPathMinMax","updateCurvePathMinMax","getPathBoundingBox","xStrokePad","yStrokePad","updateClipFromPath","isEmptyClip","putBinaryImageData","imgData","ImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","thisChunkHeight","elemsInThisChunk","dest32","dest32DataLength","fullSrcDiff","white","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","getImageSmoothingEnabled","interpolate","fround","actualScale","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","CanvasGraphics","canvasCtx","commonObjs","optionalContentConfig","markedContentStack","annotationCanvasMap","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransformStack","smaskStack","smaskCounter","tempSMask","suspendedCtx","contentVisible","cachedPatterns","viewportScale","outputScaleX","outputScaleY","_cachedScaleForStroking","_cachedGetSinglePixelWidth","_cachedBitmapsMap","getObject","fallback","beginDrawing","transparency","savedFillStyle","fillRect","transparentCanvas","compositeCtx","executionStartIdx","continueCallback","stepper","argsArray","fnArray","argsArrayLen","chunkOperations","fnId","nextBreakPoint","breakIt","depObjId","objsPool","#restoreInitialState","inSMaskMode","HTMLCanvasElement","#drawFilter","hcmFilterId","savedFilter","_scaleImage","displayWidth","displayHeight","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","_createMaskCanvas","isPatternFill","currentTransform","maskCanvas","mainKey","cachedImage","maskToCanvas","drawnWidth","drawnHeight","fillCanvas","fillCtx","imageSmoothingEnabled","dashArray","dashPhase","intent","flatness","checkSMaskState","beginSMaskMode","endSMaskMode","scratchCanvas","mirrorContextOperations","_removeMirroring","__originalSave","__originalRestore","__originalRotate","__originalScale","__originalTranslate","__originalTransform","__originalSetTransform","__originalResetTransform","resetTransform","__originalClip","__originalMoveTo","__originalLineTo","__originalBezierCurveTo","__originalRect","__originalClosePath","__originalBeginPath","cp1x","cp1y","cp2x","cp2y","compose","dirtyBox","composeSMask","smask","layerCtx","layerBox","layerOffsetX","layerOffsetY","layerWidth","layerHeight","genericComposeSMask","subtype","transferMap","maskCtx","maskOffsetX","maskOffsetY","maskX","maskY","backdropRGB","old","pop","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","rescaleAndStroke","needRestore","paths","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","typeface","fallbackName","bold","italic","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","getSinglePixelWidth","isInvalidPDFjsFont","glyph","unicode","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","vmetric","vx","remeasure","measuredWidth","measureText","characterScaleX","isInFont","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","_getPattern","objId","getShadingPattern","inv","isolated","knockout","bounds","cacheId","groupCtx","startTransformInverse","currentMtx","hasOwnCanvas","annotationCanvas","savedCtx","compiled","compileType3Glyph","POINT_TYPES","width1","j0","points","lineSize","sum","Int32Array","p0","pp","skewX","skewY","positions","trans","images","applyTransferMapsToCanvas","applyTransferMapsToBitmap","imgToPaint","isContentVisible","absDet","normX","normY","getScaleForStroking","scaledLineWidth","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","dashes","op","workerPort","#port","workerSrc","#src","wrapReason","MessageHandler","#messageAC","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","#onMessage","stream","#processStreamMessage","capability","#createStreamSink","actionName","ah","transfers","sendWithPromise","sendWithStream","queueingStrategy","ReadableStream","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","streamSink","enqueue","isCancelled","lastDesiredSize","sinkCapability","ready","onPull","streamController","#deleteStreamController","allSettled","#metadataMap","#data","parsedData","getRaw","INTERNAL","Symbol","OptionalContentGroup","#isDisplay","#isPrint","#userSet","#visible","renderingIntent","usage","rbGroups","view","viewState","printState","_setVisible","userSet","OptionalContentConfig","#cachedGetHash","#groups","#initialHash","#order","creator","order","groups","baseState","off","getHash","#evaluateVisibilityExpression","operator","expression","policy","preserveRB","rbGroup","otherId","setOCGState","hasInitialVisibility","getOrder","getGroups","getGroup","PDFDataTransportStream","pdfDataRangeTransport","disableRange","disableStream","initialData","progressiveDone","contentDispositionFilename","_queuedChunks","_progressiveDone","_contentDispositionFilename","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","rangeReader","_begin","_progressiveDataLength","_loaded","onProgress","_removeRangeReader","reader","getFullReader","queuedChunks","PDFDataTransportStreamReader","getRangeReader","PDFDataTransportStreamRangeReader","requestDataRange","cancelAllRequests","_stream","_done","_filename","_requests","_headersReady","headersReady","isRangeSupported","isStreamingSupported","contentLength","read","requestCapability","_end","_queuedChunk","createHeaders","isHttp","httpHeaders","validateRangeRequestCapabilities","rangeChunkSize","returnValues","allowRangeRequests","suggestedLength","isInteger","extractFilenameFromHeader","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","unescape","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","contentDispositionStr","iter","quot","attributePattern","textdecode","encoding","decoder","fatal","quotindex","extvalue","encodingend","charset","hex","createResponseStatusError","validateResponseStatus","createFetchOptions","withCredentials","abortController","getArrayBuffer","PDFFetchStream","_rangeRequestReaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_reader","_withCredentials","_headersCapability","_disableRange","_rangeChunkSize","_abortController","getReader","_readCapability","NetworkManager","currXhrId","pendingRequests","requestRange","requestFull","xhrId","pendingRequest","setRequestHeader","expectedStatus","onError","onStateChange","onprogress","onHeadersReceived","xhrStatus","network_getArrayBuffer","rangeHeader","getRequestXhr","isPendingRequest","abortRequest","PDFNetworkStream","_source","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onHeadersReceived","_onDone","_onError","_url","_fullRequestId","_cachedChunks","_storedError","fullRequestXhrId","fullRequestXhr","getAllResponseHeaders","lengthComputable","_requestId","_close","urlRegex","createRequest","PDFNodeStream","parseUrlOrPath","sourceUrl","pathToFileURL","isFsUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_readableStream","_error","_setReadableStream","readableStream","BaseRangeReader","_request","Range","lstat","stat","createReadStream","#capability","#disableProcessItems","#fontInspectorEnabled","FontInspector","#lang","#layoutTextParams","#pageHeight","#pageWidth","#reader","#rootContainer","#rotation","#scale","#styleCache","#textContentItemsStr","#textContentSource","#textDivs","#textDivProperties","#transform","textContentSource","#ensureMinFontSizeComputed","finally","#pendingTextLayers","fontFamilyMap","pump","#processItems","onBefore","#getCtx","#layout","abortEx","textDivs","textContentItemsStr","#appendText","geom","textDiv","textDivProperties","hasText","hasEOL","atan2","fontName","PI","fontSubstitution","fontHeight","fontAscent","#getAscent","sin","cos","scaleFactorStr","divStyle","#minFontSize","dataset","fontSubstitutionLoadedName","shouldScaleText","absScaleX","absScaleY","br","#ensureCtxFont","cleanup","#ascentCache","#canvasContexts","alpha","#canvasCtxFonts","cached","lineHeight","cachedAscent","ascent","fontBoundingBoxAscent","descent","fontBoundingBoxDescent","ratio","pixels","XfaText","xfa","walk","shouldBuildText","DEFAULT_RANGE_CHUNK_SIZE","DefaultCanvasFactory","NodeCanvasFactory","createCanvas","DOMCanvasFactory","DefaultCMapReaderFactory","NodeCMapReaderFactory","DefaultFilterFactory","NodeFilterFactory","DOMFilterFactory","#baseUrl","#_cache","#_defs","#docId","#document","#_hcmCache","docId","#hcmCache","#defs","contain","createElementNS","#createTables","mapR","table","mapG","mapB","bufferR","bufferG","bufferB","#createUrl","tableR","tableG","tableB","#createFilter","#addTransferMapConversion","fgRGB","#getRGB","bgRGB","#addGrayConversion","getSteps","tableA","#addTransferMapAlphaConversion","#addLuminosityConversion","fgGray","bgGray","newFgRGB","newBgRGB","fg","bg","newStart","newStep","prev","feColorMatrix","#appendFeFunc","feComponentTransfer","feFunc","rTable","gTable","bTable","aTable","DefaultStandardFontDataFactory","NodeStandardFontDataFactory","task","PDFDocumentLoadingTask","getUrlProp","getDataProp","Buffer","rangeTransport","docBaseUrl","cMapUrl","cMapPacked","CMapReaderFactory","standardFontDataUrl","StandardFontDataFactory","ignoreErrors","stopAtErrors","maxImageSize","isChrome","chrome","canvasMaxAreaInBytes","fontExtraProperties","enableXfa","disableAutoFetch","pdfBug","CanvasFactory","FilterFactory","useSystemFonts","useWorkerFetch","setVerbosityLevel","transportFactory","cMapReaderFactory","standardFontDataFactory","workerParams","fromPort","_worker","docParams","apiVersion","evaluatorOptions","transportParams","loadingParams","workerIdPromise","messageHandler","networkStream","NetworkStream","Response","workerId","transport","WorkerTransport","_transport","_capability","isRefProxy","ref","gen","onPassword","_pendingDestroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","onDataRange","onDataProgress","onDataProgressiveRead","onDataProgressiveDone","PDFDocumentProxy","pdfInfo","_pdfInfo","numPages","fingerprints","isPureXfa","_htmlForXfa","allXfaHtml","getPage","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJSActions","getDocJSActions","getOutline","getOptionalContentConfig","getRenderingIntent","getPermissions","getMarkInfo","saveDocument","getDownloadInfo","downloadInfoCapability","keepLoadedFonts","startCleanup","loadingTask","cachedPageNumber","getFieldObjects","hasJSActions","getCalculationOrderIds","PDFPageProxy","#delayedCleanupTimeout","#pendingCleanup","pageInfo","_pageIndex","_pageInfo","_stats","_pdfBug","PDFObjects","_maybeCleanupAfterRender","_intentStates","userUnit","getViewport","getAnnotations","getPageJSActions","getXfa","canvasContext","annotationMode","optionalContentConfigPromise","printAnnotationStorage","intentArgs","#abortDelayedCleanup","intentState","streamReaderCancelTimeout","intentPrint","displayReadyCapability","lastChunk","separateAnnots","_pumpOperatorList","renderTasks","internalRenderTask","#tryCleanup","_abortOperatorList","Stats","InternalRenderTask","useRequestAnimationFrame","renderTask","initializeGraphics","operatorListChanged","getOperatorList","opListTask","opListReadCapability","streamTextContent","includeMarkedContent","disableNormalization","highWaterMark","TEXT_CONTENT_CHUNK_SIZE","getTextContent","getStructTree","_destroy","waitOn","resetStats","delayed","_startRenderPage","_renderPageChunk","operatorListChunk","annotationStorageSerializable","streamReader","curCacheKey","curIntentState","LoopbackPort","#listeners","#deferred","rmAbort","onAbort","terminate","#isWorkerDisabled","_isSameOrigin","otherUrl","other","_createCDNWrapper","_port","_webWorker","_messageHandler","#workerPorts","_initializeFromPort","_initialize","#resolve","#mainThreadWorkerMessageHandler","_setupFakeWorker","terminateEarly","sendTest","testObj","_setupFakeWorkerGlobal","WorkerMessageHandler","#fakeWorkerId","workerHandler","setup","cachedPort","pdfjsWorker","_ref3","#methodPromises","#pageCache","#pagePromises","#pageRefCache","#passwordCapability","fontLoader","_params","destroyCapability","_networkStream","_fullReader","_lastProgress","setupMessageHandler","#cacheSimpleMethod","cachedPromise","isOpList","modifiedIdsHash","terminated","sink","readyReason","_ref4","_numPages","htmlForXfa","updatePassword","exportedData","exportedError","fontAdded","imageRef","pageProxy","dataLen","imageData","_x4","_ref6","_x5","refStr","INITIAL_DATA","#objs","#ensureObj","iterator","RenderTask","#internalRenderTask","onContinue","#rAF","WeakSet","operatorListIdx","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_cancelBound","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_canvas","#canvasInUse","StepperManager","getNextBreakPoint","gfx","cancelAnimationFrame","updateOperatorList","makeColorComp","scaleAndClamp","ColorConverters","CMYK_G","G_CMYK","G_RGB","G_rgb","G_HTML","G","RGB_G","RGB_rgb","RGB_HTML","T_HTML","T_rgb","CMYK_RGB","CMYK_rgb","CMYK_HTML","components","RGB_CMYK","BaseSVGFactory","skipDimensions","_createSVG","setupStorage","storedData","xfaOn","xfaOff","option","selected","selectedIndex","setAttributes","linkService","isHTMLAnchorElement","HTMLAnchorElement","addLinkAttributes","newWindow","dataId","xfaHtml","rootHtml","isNotForRichText","rootDiv","createTextNode","childHtml","xmlns","DEFAULT_TAB_INDEX","GetElementsByNameSet","getRectDims","AnnotationElementFactory","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","SignatureWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","#updates","#hasBorder","#popupElement","isRenderable","ignoreBorder","createQuadrilaterals","downloadManager","imageResourcesPath","renderForms","svgFactory","enableScripting","_fieldObjects","fieldObjects","_createContainer","_createQuadrilaterals","_hasPopupData","titleObj","contentsObj","richText","_isEditable","isEditable","hasPopupData","updateEdited","#setRectEdited","popup","resetEdited","currentRect","setRotation","alternativeText","noRotate","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","borderRadius","borderBottomStyle","borderColor","elementWidth","elementHeight","_commonActions","setColor","jsName","styleName","detail","colorType","colorArray","noView","noPrint","userName","readonly","_setRequired","textColor","_dispatchEventFromSandbox","jsEvent","commonActions","_setDefaultPropertiesFromJS","quadPoints","rectBlX","rectBlY","rectTrX","rectTrY","trX","trY","blX","blY","svgBuffer","defs","clipPath","rectWidth","rectHeight","_createPopup","modificationDate","parentRect","_getElementsByName","skipId","fieldObj","exportValues","exportValue","domElement","getElementsByName","maybeShow","forceHide","getElementsToTriggerPopup","addHighlightArea","triggers","_editOnDoubleClick","annotationEditorType","isTooltipOnly","isBound","_bindNamedAction","attachment","#bindAttachment","attachmentDest","#bindSetOCGState","_bindLink","Action","_bindJSAction","resetForm","_bindResetFormAction","#setInternalLink","destination","getDestinationHash","goToDestination","getAnchorUrl","executeNamedAction","description","openOrDownloadData","executeSetOCGState","otherClickAction","resetFormFields","refs","resetFormRefs","include","allFields","fieldIds","fieldName","allIds","showElementAndHideCanvas","_getKeyModifier","_setEventListener","elementData","valueGetter","modifier","focused","_setEventListeners","getter","Blur","_setBackgroundColor","_setTextStyle","fontColor","defaultAppearanceData","computedFontSize","roundToOneDecimal","multiLine","numberOfLines","textAlignment","textAlign","hasAppearance","fieldValue","setPropertyOnSiblings","keyInStorage","maxLen","charLimit","fieldFormattedValues","formattedValue","comb","userValue","lastCommittedValue","commitKey","doNotScroll","overflowY","overflowX","readOnly","defaultFieldValue","blurListener","selRange","setSelectionRange","willCommit","selStart","selectionStart","selEnd","selectionEnd","_blurListener","Keystroke","inputType","combWidth","letterSpacing","verticalAlign","checkbox","curChecked","buttonValue","radio","pdfButtonValue","linkElement","selectElement","addAnEmptyEntry","combo","multiSelect","multiple","optionElement","displayValue","removeEmptyEntry","noneOptionElement","isExport","selectedValues","multipleSelection","selectChild","indices","editable","changeEx","keyDown","PopupElement","elementIds","ariaHasPopup","#boundKeyDown","#keyDown","#boundHide","#hide","#boundShow","#show","#boundToggle","#toggle","#color","#contentsObj","#dateObj","#elements","#parent","#parentRect","#pinned","#popup","#rect","#richText","#titleObj","#wasVisible","baseColor","outlineColor","BACKGROUND_ENLIGHT","dateObj","#html","contents","_formatContents","#fontSize","#fontColor","#makePopupContent","popupLines","popupContent","lineAttributes","#setPosition","useParentRect","normalizedRect","textPosition","lineSpan","#line","lineCoordinates","#square","square","#circle","circle","#polyline","containerClassName","svgElementName","vertices","polyline","#polylines","inkLists","inkList","#trigger","#download","#accessibilityManager","#annotationCanvasMap","#editableAnnotations","#structTreeLayer","accessibilityManager","annotationEditorUIManager","structTreeLayer","_annotationEditorUIManager","hasEditableAnnotations","#appendElement","contentElement","annotationId","ariaAttributes","getAriaAttributes","moveElementInDOM","annotations","popupToElements","elementParams","noHTML","isPopupAnnotation","rendered","#setAnnotationCanvasMap","replaceWith","after","getEditableAnnotations","getEditableAnnotation","EOL_PATTERN","FreeTextEditor","#content","#editorDivId","#editModeAC","_translateEmpty","_defaultColor","_defaultFontSize","_internalPadding","#updateFontSize","#updateColor","setFontsize","editorDiv","#setEditorDimensions","savedFontsize","col","savedColor","overlayDiv","contentEditable","editorDivKeydown","editorDivFocus","editorDivBlur","editorDivInput","editorDivPaste","#extractText","prevChild","childNodes","#getNodeContent","savedDisplay","savedVisibility","savedText","newText","trimEnd","setText","#setContent","dblclick","baseX","baseY","nodeValue","#deserializeContent","deleteFromDocument","collapseToStart","startContainer","startOffset","bufferBefore","bufferAfter","newRange","beforeLength","setStart","setEnd","removeAllRanges","addRange","replaceChildren","#serializeContent","_superprop_getDeserialize","padding","structTreeParentId","#hasElementChanged","Outline","toSVGPath","_rotation","classNamesForDrawing","classNamesForOutlining","mustRemoveSelfIntersections","FreeDrawOutliner","#box","#bottom","#innerMargin","#isLTR","#top","#last","Float64Array","#lastX","#lastY","#min","#min_dist","#scaleFactor","#thickness","#points","#MIN_DIST","#MIN_DIFF","scaleFactor","thickness","innerMargin","#MIN","#getLastCoords","lastTop","lastBottom","diffX","diffY","diffD","K","thX","thY","#toSVGPathTwoPoints","#toSVGPathEnd","#toSVGPathStart","lastTopX","lastTopY","lastBottomX","lastBottomY","newFreeDrawOutline","outline","FreeDrawOutline","getOutlines","#getOutlineTwoPoints","N","#getOutlineEnd","#getOutlineStart","#bbox","#outline","#computeMinMax","#rescale","#rescaleAndSwap","lastPointX","lastPointY","ltrCallback","lastPoint","newOutliner","getNewOutline","outliner","HighlightOutliner","#verticalEdges","#intervals","EPSILON","bboxWidth","bboxHeight","shiftedMinX","shiftedMinY","lastEdge","edge","outlineVerticalEdges","#breakEdge","#insert","#remove","#getOutlines","edges","allEdges","edge1","edge2","outlines","HighlightOutline","#binarySearch","middle","y4","#outlines","polygon","prevX","prevY","FreeHighlightOutliner","FreeHighlightOutline","#button","#buttonSwatch","#defaultColor","#dropdown","#dropdownWasFromKeyboard","#isMainColorPicker","#eventBus","#openDropdownAC","#type","_hideDropdownFromKeyboard","_colorSelectFromKeyboard","_moveToNext","_moveToPrevious","_moveToBeginning","_moveToEnd","#l10nColor","blue","green","pink","red","yellow","#openDropdown","swatch","renderMainDropdown","dropdown","#getDropdownRoot","#colorSelect","#isDropdownVisible","HighlightEditor","#anchorNode","#anchorOffset","#boxes","#clipPathId","#focusOutlines","#focusNode","#focusOffset","#highlightDiv","#highlightOutlines","#isFreeHighlight","#lastPoint","#opacity","#outlineId","#text","#methodOfCreation","_moveCaret","_defaultThickness","_defaultOpacity","highlightId","#createFreeOutlines","#addToDrawLayer","#createOutlines","numberOfColors","outlinerForOutline","highlightOutlines","clipPathId","drawLayer","finalizeLine","drawOutline","updateLine","updateBox","#rotateBbox","#updateThickness","setColorAndOpacity","opa","changeColor","changeOpacity","savedOpacity","savedThickness","setThickness","th","#changeThickness","_superprop_getAddEditToolbar","#getRotation","addUndoableEditor","#cleanDrawLayer","mustBeSelected","draw","#keydown","highlightDiv","pointerover","pointerleave","#setCaret","#serializeBoxes","Float32Array","#serializeOutlines","startHighlighting","#endHighlight","#highlightMove","_freeHighlight","_freeHighlightId","_freeHighlightClipId","updatePath","_superprop_getDeserialize2","rawWidth","InkEditor","#baseHeight","#baseWidth","#canvasContextMenuTimeoutId","#currentPath2D","#disableEditing","#drawingAC","#hasSomethingToDraw","#isCanvasInitialized","#observer","#pointerdownAC","#realWidth","#realHeight","#requestFrameCallback","bezierPath2D","allRawPaths","currentPath","translationX","translationY","#updateOpacity","#fitToContent","#redraw","setOpacity","#createCanvas","#createObserver","#setCanvasDims","setDimensions","#addPointerdownListener","#removePointerdownListener","#getInitialBBox","#setStroke","opacityToHex","#startDrawing","canvasPointerleave","canvasPointermove","canvasPointerup","#drawPoints","#draw","path2D","#makeBezierCurve","#endPath","#stopDrawing","bezier","#generateBezierPoints","xy","lastPoints","bezierPoints","#updateTransform","addInkEditorIfNeeded","canvasPointerdown","pointerdownAC","#endDrawing","ResizeObserver","contentRect","roundedWidth","roundedHeight","#setScaleFactor","#getPadding","scaleFactorW","scaleFactorH","#buildPath2D","control1","control2","#toPDFCoordinates","#fromPDFCoordinates","#serializePaths","p10","p11","p20","p21","p30","p31","p40","p41","#getBbox","xMin","xMax","yMin","yMax","prevTranslationX","prevTranslationY","unscaledPadding","_superprop_getDeserialize3","StampEditor","#bitmap","#bitmapId","#bitmapPromise","#bitmapUrl","#bitmapFile","#bitmapFileName","#canvas","#resizeTimeoutId","#isSvg","#hasBeenAddedInUndoStack","bitmapUrl","bitmapFile","supportedTypes","supportedTypesStr","pasteEditor","getAsFile","hasAltTextStats","hasNoAltText","#getBitmapFetched","fromId","#getBitmapDone","alt_text_modal","alt_text_type","mlGuessAltText","updateAltTextData","isEnabledFor","copyCanvas","guess","alt","#getBitmap","MAX_RATIO","factor","#drawBitmap","maxDataDimension","maxPreviewDimension","bitmapWidth","bitmapHeight","outputScale","scaledWidth","scaledHeight","#scaleBitmap","boxDim","boxDimWidth","boxDimHeight","patternCtx","dataWidth","dataHeight","offscreenCtx","#setDimensions","prevWidth","prevHeight","#serializeBitmap","toUrl","toDataURL","_superprop_getDeserialize4","structParent","_structTree","bitmapId","isSame","isSameAltText","stamps","prevData","isSameRect","isSamePageIndex","#allowClick","#annotationLayer","#clickAC","#editorFocusTimeoutId","#editors","#hadPointerDown","#isCleaningUp","#isDisabling","#textLayer","#textSelectionAC","_editorType","annotationLayer","editorTypes","isInvisible","#cleanup","disableTextSelection","toggleAnnotationLayerPointerEvents","enableTextSelection","isCommitting","annotationElementIds","editables","changedAnnotations","resetAnnotations","#textLayerPointerDown","removePointerInTextLayer","#currentEditorType","#createNewEditor","#getCenterPoint","tlX","tlY","oldRotation","#mapping","#toUpdate","_svgFactory","#setBox","#createSVG","#createClipPath","pathId","clipPathUse","isPathUpdatable","maskId","use1","use2","getSVGRoot","__webpack_exports__AbortException","__webpack_exports__AnnotationEditorLayer","__webpack_exports__AnnotationEditorParamsType","__webpack_exports__AnnotationEditorType","__webpack_exports__AnnotationEditorUIManager","__webpack_exports__AnnotationLayer","__webpack_exports__AnnotationMode","__webpack_exports__ColorPicker","__webpack_exports__DOMSVGFactory","__webpack_exports__DrawLayer","__webpack_exports__FeatureTest","__webpack_exports__GlobalWorkerOptions","__webpack_exports__ImageKind","__webpack_exports__InvalidPDFException","__webpack_exports__MissingPDFException","__webpack_exports__OPS","__webpack_exports__OutputScale","__webpack_exports__PDFDataRangeTransport","__webpack_exports__PDFDateString","__webpack_exports__PDFWorker","__webpack_exports__PasswordResponses","__webpack_exports__PermissionFlag","__webpack_exports__PixelsPerInch","__webpack_exports__RenderingCancelledException","__webpack_exports__TextLayer","__webpack_exports__UnexpectedResponseException","__webpack_exports__Util","__webpack_exports__VerbosityLevel","__webpack_exports__XfaLayer","__webpack_exports__build","__webpack_exports__createValidAbsoluteUrl","__webpack_exports__fetchData","__webpack_exports__getDocument","__webpack_exports__getFilenameFromUrl","__webpack_exports__getPdfFilenameFromUrl","__webpack_exports__getXfaPageViewport","__webpack_exports__isDataScheme","__webpack_exports__isPdfFile","__webpack_exports__noContextMenu","__webpack_exports__normalizeUnicode","__webpack_exports__setLayerDimensions","__webpack_exports__shadow","__webpack_exports__version","_OverloadYield","_awaitAsyncGenerator","AsyncGenerator","settle","_invoke","return","_wrapAsyncGenerator","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","asyncIterator","pdfjsViewer","AnnotationLayerBuilder","DownloadManager","EventBus","FindState","GenericL10n","LinkTarget","PDFFindController","PDFHistory","PDFLinkService","PDFPageView","PDFScriptingManager","PDFSinglePageViewer","PDFViewer","ProgressBar","RenderingStates","ScrollMode","SimpleLinkService","SpreadMode","StructTreeLayerBuilder","TextLayerBuilder","XfaLayerBuilder","parseQueryString","INITIAL","RUNNING","PAUSED","FINISHED","UNKNOWN","VERTICAL","HORIZONTAL","WRAPPED","PAGE","ODD","EVEN","spot","scrollMatches","offsetParent","clientTop","offsetLeft","clientLeft","scrollHeight","scrollWidth","overflow","InvisibleCharsRegExp","removeNullCharacters","replaceInvisible","binarySearchFirstItem","minIndex","maxIndex","currentIndex","approximateFraction","xinv","x_","floorToDivide","isValidRotation","isPortraitOrientation","docStyle","#classList","#disableAutoFetchTimeout","#percent","#style","bar","percent","clamp","setWidth","scrollbarWidth","offsetWidth","setDisableAutoFetch","calcRound","getCharacterType","charCode","isAlphabeticalScript","isAscii","isAsciiSpace","isAsciiAlpha","isAsciiDigit","isThai","isHan","isKatakana","isHiragana","isHalfwidthKatakana","NormalizeWithNFKC","FOUND","NOT_FOUND","PENDING","CHARACTERS_TO_NORMALIZE","DIACRITICS_EXCEPTION","DIACRITICS_EXCEPTION_STR","DIACRITICS_REG_EXP","SPECIAL_CHARS_REG_EXP","NOT_DIACRITIC_FROM_END_REG_EXP","NOT_DIACRITIC_FROM_START_REG_EXP","SYLLABLES_REG_EXP","SYLLABLES_LENGTHS","NFKC_CHARS_TO_NORMALIZE","noSyllablesRegExp","withSyllablesRegExp","syllablePositions","normalizationRegex","char","regexp","getNormalizeWithNFKC","rawDiacriticsPositions","normalized","rawDiacriticsIndex","syllableIndex","shiftOrigin","eol","hasDiacritics","p5","p6","p7","p8","p9","replacement","hasTrailingDashEOL","newCharLen","#state","#updateMatchesCountOnProgress","#visitedPagesCount","updateMatchesCountOnProgress","_linkService","onIsPageVisible","#reset","#onFind","#onFindBarClose","highlightMatches","_highlightMatches","pageMatches","_pageMatches","pageMatchesLength","_pageMatchesLength","_selected","setDocument","_pdfDocument","_firstPageCapability","#shouldDirtyMatch","_dirtyMatch","#updateUIState","findbarClosed","pendingTimeout","_findTimeout","#nextMatch","highlightAll","#updateAllPages","scrollMatchIntoView","selectedLeft","matchIndex","_scrollMatches","matchIdx","pageIdx","_offset","wrapped","_extractTextPromises","_pageContents","_pageDiffs","_hasDiacritics","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","#query","_rawQuery","_normalizedQuery","newQuery","prevQuery","newType","pagesCount","#isEntireWord","startIdx","#convertToRegExpString","matchDiacritics","isUnicode","trailingSpaces","#calculateMatch","matcherResult","matchesLength","diffs","matchPos","matchLen","getOriginalIndex","oldStart","#updatePage","#nextPageMatch","pageMatchesCount","#updateUIResultsCount","pageContent","isUnicodePart","queryPart","caseSensitive","entireWord","deferred","textOptions","pdfPage","textItem","previous","findPrevious","#updateMatch","#advanceOffsetPage","#matchesReady","numMatches","previousPage","#requestMatchesCount","matchesCount","rawQuery","SELF","BLANK","PARENT","TOP","externalLinkEnabled","externalLinkTarget","externalLinkRel","ignoreDestinationZoom","_ignoreDestinationZoom","pdfViewer","pdfHistory","setViewer","setHistory","currentPageNumber","isInPresentationMode","namedDest","explicitDest","destRef","pushCurrentPosition","scrollPageIntoView","destArray","goToPage","pageLabelToPageNumber","pushPage","targetStr","anchor","setHash","phrase","zoomArgs","zoomArg","zoomArgNumber","allowNegativeOffset","#isValidExplicitDest","back","forward","nextPage","zoom","argsLen","pdf_viewer_AbortException","pdf_viewer_AnnotationEditorLayer","pdf_viewer_AnnotationEditorType","pdf_viewer_AnnotationEditorUIManager","pdf_viewer_AnnotationLayer","pdf_viewer_AnnotationMode","pdf_viewer_createValidAbsoluteUrl","pdf_viewer_DrawLayer","pdf_viewer_fetchData","pdf_viewer_getPdfFilenameFromUrl","pdf_viewer_isPdfFile","pdf_viewer_normalizeUnicode","pdf_viewer_OutputScale","pdf_viewer_PermissionFlag","pdf_viewer_PixelsPerInch","pdf_viewer_RenderingCancelledException","pdf_viewer_setLayerDimensions","pdf_viewer_shadow","pdf_viewer_TextLayer","pdf_viewer_version","#onAppend","#eventAbortController","hasJSActionsPromise","fieldObjectsPromise","onAppend","_hasJSActionsPromise","_fieldObjectsPromise","_annotationCanvasMap","_accessibilityManager","_cancelled","#updatePresentationModeState","disableFormElements","section","inert","download","blobUrl","#openBlobUrls","downloadData","WaitOnType","_waitOnEventOrTimeout","external","_off","eventListeners","externalListeners","FluentType","FluentNone","FluentNumber","memoizeIntlObject","Intl","NumberFormat","FluentDateTime","DateTimeFormat","MAX_PLACEABLES","FSI","PDI","PluralRules","getDefault","variants","star","resolvePattern","RangeError","getArguments","positional","named","resolveExpression","minimumFractionDigits","precision","resolveVariableReference","ReferenceError","resolveMessageReference","bundle","_messages","attribute","resolveTermReference","term","_terms","resolved","resolveFunctionReference","_functions","resolveSelectExpression","variant","resolveComplexPattern","ptn","useIsolating","_useIsolating","placeables","_transform","ctor","_intls","unwrapped","opt","NUMBER_ALLOWED","NUMBER","DATETIME_ALLOWED","DATETIME","FluentBundle","functions","getMemoizerForLocale","stringLocale","memoizer","hasMessage","getMessage","addResource","allowOverrides","formatPattern","RE_MESSAGE_START","RE_ATTRIBUTE_START","RE_VARIANT_START","RE_NUMBER_LITERAL","RE_IDENTIFIER","RE_REFERENCE","RE_FUNCTION_NAME","RE_TEXT_RUN","RE_STRING_RUN","RE_STRING_ESCAPE","RE_UNICODE_ESCAPE","RE_LEADING_NEWLINES","RE_TRAILING_SPACES","RE_BLANK_LINES","RE_INDENT","TOKEN_BRACE_OPEN","TOKEN_BRACE_CLOSE","TOKEN_BRACKET_OPEN","TOKEN_BRACKET_CLOSE","TOKEN_PAREN_OPEN","TOKEN_ARROW","TOKEN_COLON","TOKEN_COMMA","TOKEN_BLANK","FluentResource","parseMessage","SyntaxError","re","consumeChar","errorClass","consumeToken","match1","parsePattern","parseAttributes","parsePatternElements","indent","parseIndent","commonIndent","parsePlaceable","lastElement","baked","Indent","parseInlineExpression","parseVariants","parseVariantKey","sigil","parseArguments","parseArgument","parseLiteral","parseNumberLiteral","parseStringLiteral","parseEscapeSequence","fraction","codepoint4","codepoint6","codepoint","fromCodePoint","makeIndent","blank","reOverlay","TEXT_LEVEL_ELEMENTS","LOCALIZABLE_ATTRIBUTES","menuitem","optgroup","textarea","textbox","translateElement","translation","localName","templateElement","innerHTML","overlayChildNodes","fromFragment","toElement","childNode","sanitized","getNodeForNamedElement","replaceChild","isElementAllowed","createSanitizedElement","createTextNodeFromTextContent","overlayAttributes","fromElement","explicitlyAllowed","isAttrNameLocalizable","sourceElement","translatedChild","childName","sourceChild","shallowPopulateUsing","attrName","elemName","CachedIterable","iterable","CachedAsyncIterable","cur","touchNext","Localization","resourceIds","generateBundles","onChange","addResourceIds","eager","removeResourceIds","formatWithFallback","translations","hasAtLeastOneBundle","_iteratorError","_iteratorAbruptCompletion","_didIteratorError","_step","_iterator","_asyncIterator","bundles","missingIds","keysFromBundle","formatMessages","messageFromBundle","formatValues","valueFromBundle","formatValue","handleEvent","formatted","attrNames","messageErrors","L10NID_ATTR_NAME","L10NARGS_ATTR_NAME","L10N_ELEMENT_QUERY","DOMLocalization","pendingrAF","pendingElements","windowElement","mutationObserver","observerConfig","translateRoots","getAttributes","connectRoot","newRoot","translateMutations","disconnectRoot","pauseObserving","resumeObserving","translateFragment","takeRecords","addedNode","getTranslatables","translateElements","frag","getKeysForElement","applyTranslations","L10n","#dir","#l10n","isRTL","#fixupLangCode","#isRTL","_setL10n","getLanguage","getDirection","translateOnce","fy","ga","gu","hi","hy","nb","ne","nn","pa","zh","shortCode","createBundle","genericl10n_GenericL10n","#generateBundles","#generateBundlesFallback","baseLang","#getPaths","langs","shortLang","#createBundle","#createBundleFallback","getCurrentHash","_fingerprint","_isPagesLoaded","fingerprint","resetHistory","updateUrl","reInitialized","_updateUrl","#bindEvents","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","#isValidState","#parseCurrentHash","#pushOrReplaceState","#updateInternalState","_initialRotation","_initialBookmark","#pageHide","#unbindEvents","_updateViewareaTimeout","#isValidPage","forceReplace","isDestHashesEqual","destHash","pushHash","isDestArraysEqual","firstDest","secondDest","isEntryEqual","#tryPushCurrentPosition","popStateInProgress","initialBookmark","initialRotation","shouldReplace","newState","newUrl","temporary","checkReload","perfEntry","removeTemporary","checkNameddest","nameddest","#updateViewarea","pdfOpenParams","#popState","newHash","hashChanged","waitOnEventOrTimeout","AnnotationEditorLayerBuilder","#drawLayer","annotationEditorLayer","clonedViewport","compatParams","maxTouchPoints","isAndroid","BOOLEAN","OBJECT","STRING","allowedGlobalEvents","OptionKind","isInAutomation","localeProperties","nimbusDataStr","supportsCaretBrowsingMode","supportsDocumentFonts","supportsIntegratedFind","supportsMouseWheelZoomCtrlKey","supportsMouseWheelZoomMetaKey","supportsPinchToZoom","toolbarDensity","altTextLearnMoreUrl","annotationEditorMode","cursorToolOnLoad","debuggerSrc","defaultZoomDelay","defaultZoomValue","disableHistory","disablePageLabels","enableAltText","enableAltTextModelDownload","enableGuessAltText","enablePermissions","enablePrintAutoRotate","highlightEditorColors","historyUpdateUrl","maxCanvasPixels","forcePageColors","pageColorsBackground","pageColorsForeground","pdfBugEnabled","printResolution","sidebarViewOnLoad","scrollModeOnLoad","spreadModeOnLoad","textLayerMode","viewOnLoad","AppOptions","#opts","_hasInvokedSet","_checkDisablePreferences","defaultOnly","defaultOpt","prefs","userOpt","DrawLayerBuilder","getDrawLayer","PDF_ROLE_TO_HTML_ROLE","DocumentFragment","Part","Sect","Div","Aside","NonStruct","P","H","Title","FENote","Sub","Lbl","Span","Em","Strong","Link","Annot","Form","Ruby","RB","RT","RP","Warichu","WT","WP","L","LI","LBody","Table","TR","TH","TD","THead","TBody","TFoot","Caption","Figure","Formula","Artifact","HEADING_PATTERN","#promise","#treeDom","#treePromise","#elementAttributes","#rawDims","#elementsToAddToTextLayer","#walk","#setAttributes","structElement","htmlElement","#addImageInTextLayer","calc","addElementsToTextLayer","kid","TextAccessibilityManager","#enabled","#textChildren","#textNodes","#waitingElements","setTextMapping","#compareElementPositions","e1","e2","mid1","mid2","textChildren","nodeIndex","#addIdToAriaOwns","isRemovable","addPointerInTextLayer","owns","hasChildNodes","elementToCompare","TextHighlighter","findController","divs","texts","_updateMatches","_convertMatches","iIndex","mm","divIdx","_renderMatches","isSelectedPage","selectedMatchIdx","prevEnd","appendTextToDiv","fromOffset","toOffset","lastDivIdx","lastOffset","highlightSuffix","n0","n1","clearedUntilDivIdx","#enablePermissions","#renderingDone","highlighter","textContentParams","endOfContent","#bindMouse","#removeGlobalSelectionListener","#textLayers","#enableGlobalSelectionListener","textLayerDiv","#selectionChangeAbortController","isPointerDown","prevRange","activeTextLayers","intersectsNode","endDiv","modifyStart","compareBoundaryPoints","END_TO_END","START_TO_END","endContainer","parentTextLayer","cloneRange","DEFAULT_LAYER_PROPERTIES","LAYERS_ORDER","#annotationMode","#hasRestrictedScaling","#layerProperties","#loadingId","#previousRotation","#scaleRoundX","#scaleRoundY","#renderError","#renderingState","#textLayerMode","#useThumbnailCanvas","directDrawing","initialOptionalContent","regularAnnotations","#viewportMap","#layers","defaultViewport","renderingId","layerProperties","pageLabel","pdfPageRotate","_optionalContentConfigPromise","renderingQueue","_isStandalone","hasViewer","_container","zoomLayer","xfaLayer","#addLayer","oldDiv","renderingState","setPdfPage","_textHighlighter","#dispatchLayerRendered","#renderAnnotationLayer","#renderAnnotationEditorLayer","#renderDrawLayer","#renderXfaLayer","#buildXfaTextContentItems","#renderTextLayer","#renderStructTreeLayer","treeDom","_resetZoomLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotationLayer","keepAnnotationEditorLayer","keepXfaLayer","keepTextLayer","cancelRendering","zoomLayerNode","annotationLayerNode","annotationEditorLayerNode","xfaLayerNode","textLayerNode","layerIndex","toggleEditingMode","drawingDelay","onlyCssZoom","postponeDrawing","cancelExtraDelay","cssTransform","redrawAnnotationLayer","redrawAnnotationEditorLayer","redrawXfaLayer","redrawTextLayer","hideTextLayer","originalViewport","relativeRotation","absRotation","getPagePoint","#finishRenderTask","canvasWrapper","annotationLayerDiv","hasHCM","showCanvas","isLastShow","invScale","maxScale","sfx","sfy","renderContext","cont","isHighestPriority","resultPromise","annotationEditorLayerDiv","setPageLabel","thumbnailCanvas","_docProperties","filesize","authors","GenericScripting","sandboxBundleSrc","_ready","pdfjsSandbox","QuickJSSandbox","createSandbox","dispatchEventInSandbox","sandbox","destroySandbox","nukeSandbox","#closeCapability","#destroyCapability","#docProperties","#externalServices","#pdfDocument","#pdfViewer","#ready","#scripting","#willPrintCapability","externalServices","docProperties","#destroyScripting","objects","calculationOrder","docActions","#initScripting","#updateFromSandbox","#dispatchPageClose","#dispatchPageOpen","_pageOpenPending","appInfo","docInfo","dispatchWillSave","dispatchDidSave","dispatchWillPrint","dispatchDidPrint","destroyPromise","_visitedPages","isChangingPresentationMode","siblings","modes","apiPageLayoutToViewerModes","layout","scrollMode","spreadMode","pagesPromise","currentScaleValue","increaseScale","decreaseScale","elementId","CustomEvent","visitedPages","getPageView","actionsPromise","createScripting","race","PDFScriptingManagerComponents","PDFRenderingQueue","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","setThumbnailViewer","renderHighestPriority","currentlyVisiblePages","forceRendering","getHighestPriority","views","scrolledDown","preRenderExtra","visibleViews","numVisible","isViewFinished","firstId","lastId","visibleIds","holeId","holeView","preRenderIndex","preRenderView","renderView","isValidAnnotationEditorMode","PDFPageViewBuffer","#buf","#size","#destroyFirstView","newSize","idsToKeep","firstView","#buffer","#annotationEditorHighlightColors","#annotationEditorMode","#annotationEditorUIManager","#containerTopLeft","#switchAnnotationEditorModeAC","#switchAnnotationEditorModeTimeoutId","#getAllTextInProgress","#hiddenCopyElement","#interruptCopyCondition","#previousContainerHeight","#resizeObserver","#resizeObserverCallback","#scrollModePageState","#scaleTimeoutId","viewerVersion","firstElementChild","_getVisiblePages","_scriptingManager","scriptingManager","annotationEditorHighlightColors","removePageBorders","defaultRenderingQueue","abortSignal","scroll","watchScroll","viewAreaElement","debounceScroll","rAF","currentX","currentY","down","_eventHandler","_scrollUpdate","presentationModeState","_resetView","#updateContainerHeightCss","_pages","getCachedPageViews","pageViewsReady","_currentPageNumber","_setCurrentPageNumber","resetCurrentPageView","#resetCurrentPageView","_pageLabels","currentPageLabel","currentScale","_currentScale","#setScale","noScroll","_currentScaleValue","_pagesRotation","firstPagePromise","onePageRendered","_onePageRenderedCapability","_pagesCapability","_layerProperties","#initializePermissions","permissions","#onePageRenderedOrForceFetch","hiddenCapability","getAllText","pageNum","#copyCallback","containsNode","clipboard","writeText","_cancelRendering","permissionsPromise","_scrollMode","onAfterDraw","firstPdfPage","loadModel","viewerElement","#ensurePageViewVisible","_spreadMode","_updateSpreadMode","getPagesLeft","Language","setPageLabels","_previousScrollMode","previousPageNumber","scrollDown","pages","_updateScrollMode","#cleanupSwitchAnnotationEditorMode","pageIndexSet","parity","spread","dummyPage","#scrollIntoView","pageSpot","#isSameScale","newScale","#setScaleUpdatePages","preset","presetValue","previousScale","scaleDiff","containerTopLeft","#pageWidthScaleFactor","currentPage","hPadding","vPadding","pageWidthScale","pageHeightScale","horizontalScale","changeOrientation","boundingRect","_updateLocation","firstPage","normalizedScaleValue","intLeft","intTop","visiblePages","numVisiblePages","newCacheSize","isSimpleLayout","currentId","stillFullyVisible","#switchToEditAnnotationMode","pagesToRefresh","_isContainerRtl","isHorizontalScrollbarEnabled","isVerticalScrollbarEnabled","horizontal","getVisibleElements","scrollEl","sortByVisibility","rtl","numViews","firstVisibleElementInd","isElementNextAfterViewHorizontally","elementLeft","isElementBottomAfterViewTop","backtrackBeforeAllVisibleElements","elt","pageTop","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","fractionWidth","pc","#ensurePdfPageLoaded","#getScrollAhead","scrollAhead","hasEqualPageSizes","firstPageView","getPagesOverview","initialOrientation","orientation","isValidScrollMode","isValidSpreadMode","_getPageAdvance","pageLayout","yArray","expectedId","advance","updateScale","borderBoxSize","blockSize","updater","idsToRefresh","noUpdate","updateArgs","isSSR","PDFJS","rej","PdfViewerModule","SelfSamplingInstructionModule","ParentSelfSamplingInstructionModule","GeneralTermsModule","InitSessionModule","SendForgotPasswordModule","BrowserRedirectModule","HeaderSelectors","getVisibility","ActivateAccountModule","AppModule","bootstrap","gtms","enableGtms","tagId","GoogleTagId","HTTP_INTERCEPTORS","LibConfigService","LibLoggerService","LibHeaderVisibilityService","CSP_NONCE","HttpClientModule","ToastrModule","StoreModule","EffectsModule","getBaseUrl","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","checkInt","checkInts","arrayish","coerceArray","createArray","copyArray","sourceArray","targetArray","targetStart","sourceStart","sourceEnd","convertUtf8","toBytes","fromBytes","convertHex","Hex","numberOfRounds","rcon","S","Si","T1","T2","T3","T4","T5","T6","T7","T8","U1","U2","U3","U4","convertToInt32","AES","_prepare","rounds","_Ke","_Kd","roundKeyCount","KC","tk","rconpointer","encrypt","plaintext","ciphertext","ModeOfOperationECB","_aes","ModeOfOperationCBC","iv","_lastCipherblock","ModeOfOperationCFB","segmentSize","_shiftRegister","xorSegment","encrypted","ModeOfOperationOFB","_lastPrecipher","_lastPrecipherIndex","Counter","_counter","setBytes","MAX_SAFE_INTEGER","increment","ModeOfOperationCTR","counter","_remainingCounter","_remainingCounterIndex","module","ModeOfOperation","ecb","cfb","ofb","ctr","utils","utf8","pkcs7","pkcs7pad","padder","strip","pkcs7strip","_arrayTest","base64ToBytes","missingOctets","getBase64Code","base64codes","isValue","require","isPlainFunction","normalizeOpts","dscr","gs","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","define","StackFrame","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","stacktrace","parseOpera","parseV8OrIE","parseFFOrSafari","extractLocation","urlLike","sanitizedLine","locationParts","functionNameRegex","parseOpera9","parseOpera11","parseOpera10","lineRE","argsRaw","functionCall","numberIsNaN","toPosInt","objHasOwnProperty","iteratorSymbol","isArguments","callable","validValue","arrayLike","Context","getIterator","mapFn","captureStackTrace","generate","mixin","arg1","arg2","objToString","isFunctionStringTag","isFinite","toInteger","objPropertyIsEnumerable","defVal","compareFn","foo","trzy","function","_undefined","targetObj","getOwnPropertySymbols","sourceObject","symbol","opts1","ensureValue","stringifiable","isCallable","searchString","safeToString","reNewLine","string","validTypes","toPrimitive","toStringTag","objPrototype","ie11BugWorkaround","postfix","NativeSymbol","SymbolPolyfill","defineProperties","hasInstance","isConcatSpreadable","species","unscopables","validateSymbol","registry","for","keyFor","HiddenSymbol","isNativeSafe","generateName","setupStandardSymbols","setupSymbolRegistry","__description__","__name__","isSymbol","__eeOnceListener__","__ee__","candidate","naiveFallback","__global__","isBuffer","keyIdentity","flatten","delimiter","maxDepth","transformKey","currentDepth","isarray","isbuffer","isobject","newKey","unflatten","overwrite","getkey","parsedKey","addKeys","keyPrefix","recipient","$jscomp","createTemplateTagFirstArg","raw","createTemplateTagFirstArgWithRaw","arrayIteratorImpl","arrayIterator","makeIterator","arrayFromIterator","arrayFromIterable","checkStringArgs","ASSUME_ES5","ASSUME_NO_NATIVE_MAP","ASSUME_NO_NATIVE_SET","SIMPLE_FROUND_POLYFILL","ISOLATE_POLYFILLS","FORCE_POLYFILL_PROMISE","FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION","IS_SYMBOL_NATIVE","TRUST_ES6_POLYFILLS","polyfills","propertyToPolyfillSymbol","POLYFILL_PREFIX","$jscomp$lookupPolyfilledValue","polyfillIsolated","polyfillUnisolated","findInternal","initSymbol","$jscomp$symbol$id_","iteratorPrototype","iteratorFromArray","is","COMPILED","goog","module$contents$goog$debug$Error_DebugError","reportErrorToServer","exportPath_","execScript","CLOSURE_UNCOMPILED_DEFINES","CLOSURE_DEFINES","FEATURESET_YEAR","TRUSTED_SITE","DISALLOW_TEST_ONLY_CODE","ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING","isInModuleLoader_","isProvided_","constructNamespace_","implicitNamespaces_","getObjectByName","getScriptNonce","getScriptNonce_","cspNonce_","NONCE_PATTERN_","VALID_MODULE_RE_","isInGoogModuleLoader_","moduleLoaderState_","moduleName","getInternal_","loadedModules_","ModuleType","ES6","GOOG","isInEs6ModuleLoader_","getCurrentModulePath","declareLegacyNamespace","declareModuleId","moduleId","setTestOnly","forwardDeclare","addDependency","DEPENDENCIES_ENABLED","debugLoader_","ENABLE_DEBUG_LOADER","logToConsole_","requested","load_","requireType","basePath","nullFunction","abstractMethod","addSingletonGetter","instance_","instantiatedSingletons_","LOAD_MODULE_USING_EVAL","SEAL_MODULE_EXPORTS","TRANSPILE","ASSUME_ES_MODULES_TRANSPILED","TRANSPILE_TO_LANGUAGE","TRANSPILER","hasBadLetScoping","useSafari10Workaround","workaroundSafari10EvalBug","loadModule","loadModuleFromSource_","seal","normalizePath_","loadFileSync_","CLOSURE_LOAD_FILE_SYNC","transpile_","transpile","$gwtExport","typeOf","isArrayLike","isDateLike","getFullYear","getUid","UID_PROPERTY_","uidCounter_","hasUid","removeUid","cloneObject","bindNative_","bindJs_","partial","globalEval","getCssName","cssNameMapping_","cssNameMappingStyle_","CLOSURE_CSS_NAME_MAP_FN","setCssNameMapping","CLOSURE_CSS_NAME_MAPPING","getMsg","unescapeHtmlEntities","getMsgWithFallback","exportSymbol","exportProperty","inherits","superClass_","defineClass","statics","createSealingConstructor_","applyProperties_","SEAL_CLASS_INSTANCES","OBJECT_PROTOTYPE_FIELDS_","inHtmlDocument_","isDocumentLoading_","attachEvent","findBasePath_","CLOSURE_BASE_PATH","Transpiler","requiresTranspilation_","transpilationTarget_","createRequiresTranspilation_","es3","needsTranspile","transpiler_","protectScriptTag_","DebugLoader_","dependencies_","idToPath_","written_","loadingDeps_","depsToLoad_","paused_","factory_","DependencyFactory","deferredCallbacks_","deferredQueue_","getPathFromDeps_","onLoad","loadClosureDeps","createDependency","loadDeps_","areDepsLoaded_","requires","setDependencyFactory","loading_","resume_","loaded_","pending","setModuleState","registerEs6ModuleExports","registerGoogModuleExports","clearModuleState","defer","defer_","areDepsLoaded","pause_","LoadController","Dependency","relativePath","provides","loadFlags","loadCallbacks_","callbackMap_","registerCallback_","unregisterCallback_","callback_","CLOSURE_IMPORT_SCRIPT","write","TRUSTED_TYPES_POLICY_","createHTML","IS_OLD_IE_","createScriptURL","Es6ModuleDependency","createScript","TransformedDependency","contents_","lazyFetch_","ensure","TranspiledDependency","transpiler","PreTranspiledEs6ModuleDependency","GoogModuleDependency","needsTranspile_","TRUSTED_TYPES_POLICY_NAME","createTrustedTypesPolicy","CLOSURE_NO_DEPS","identity_","trustedTypes","createPolicy","NodeType","ELEMENT","ATTRIBUTE","TEXT","CDATA_SECTION","ENTITY_REFERENCE","ENTITY","PROCESSING_INSTRUCTION","COMMENT","DOCUMENT_TYPE","DOCUMENT_FRAGMENT","NOTATION","asserts","ENABLE_ASSERTS","AssertionError","subs_","messagePattern","DEFAULT_ERROR_HANDLER","errorHandler_","doAssertFailure_","setErrorHandler","assertExists","assertNumber","assertString","assertFunction","assertObject","assertArray","assertBoolean","assertElement","assertInstanceof","getType_","assertFinite","assertObjectPrototypeIsIntact","displayName","NATIVE_ARRAY_PROTOTYPES","module$contents$goog$array_ASSUME_NATIVE_FUNCTIONS","module$contents$goog$array_peek","ASSUME_NATIVE_FUNCTIONS","peek","module$contents$goog$array_indexOf","module$contents$goog$array_lastIndexOf","module$contents$goog$array_forEach","module$contents$goog$array_forEachRight","forEachRight","module$contents$goog$array_filter","module$contents$goog$array_map","module$contents$goog$array_reduce","module$contents$goog$array_reduceRight","reduceRight","module$contents$goog$array_some","module$contents$goog$array_every","module$contents$goog$array_count","module$contents$goog$array_find","module$contents$goog$array_findIndex","module$contents$goog$array_findRight","module$contents$goog$array_findIndexRight","module$contents$goog$array_contains","module$contents$goog$array_isEmpty","module$contents$goog$array_clear","module$contents$goog$array_insert","module$contents$goog$array_insertAt","module$contents$goog$array_splice","module$contents$goog$array_insertArrayAt","module$contents$goog$array_insertBefore","module$contents$goog$array_remove","module$contents$goog$array_removeAt","module$contents$goog$array_removeLast","module$contents$goog$array_removeIf","module$contents$goog$array_removeAllIf","module$contents$goog$array_concat","module$contents$goog$array_join","module$contents$goog$array_toArray","findRight","findIndexRight","insertAt","insertArrayAt","removeLast","removeAt","removeIf","removeAllIf","module$contents$goog$array_clone","module$contents$goog$array_extend","module$contents$goog$array_slice","module$contents$goog$array_removeDuplicates","module$contents$goog$array_binarySearch","module$contents$goog$array_binarySearch_","module$contents$goog$array_defaultCompare","module$contents$goog$array_binarySelect","module$contents$goog$array_sort","module$contents$goog$array_stableSort","module$contents$goog$array_sortByKey","module$contents$goog$array_sortObjectsByKey","module$contents$goog$array_isSorted","module$contents$goog$array_equals","module$contents$goog$array_defaultCompareEquality","module$contents$goog$array_compare3","module$contents$goog$array_inverseDefaultCompare","module$contents$goog$array_binaryInsert","module$contents$goog$array_binaryRemove","module$contents$goog$array_bucket","module$contents$goog$array_toObject","module$contents$goog$array_range","module$contents$goog$array_repeat","module$contents$goog$array_flatten","module$contents$goog$array_rotate","module$contents$goog$array_moveItem","module$contents$goog$array_zip","module$contents$goog$array_shuffle","module$contents$goog$array_copyByIndex","module$contents$goog$array_concatMap","extend","removeDuplicates","binarySearch","binarySelect","stableSort","sortByKey","sortObjectsByKey","isSorted","equals","compare3","defaultCompare","inverseDefaultCompare","defaultCompareEquality","binaryInsert","binaryRemove","bucket","toObject","moveItem","zip","shuffle","copyByIndex","assertIsLocation","getWindow_","debugStringForType_","assertIsElementType_","assertIsHTMLAnchorElement","assertIsHTMLButtonElement","assertIsHTMLLinkElement","assertIsHTMLImageElement","assertIsHTMLAudioElement","assertIsHTMLVideoElement","assertIsHTMLInputElement","assertIsHTMLTextAreaElement","assertIsHTMLCanvasElement","assertIsHTMLEmbedElement","assertIsHTMLFormElement","assertIsHTMLFrameElement","assertIsHTMLIFrameElement","assertIsHTMLObjectElement","assertIsHTMLScriptElement","parentWindow","HtmlElement","constant","NULL","identity","nth","partialRight","withReturnValue","equalTo","and","or","not","CACHE_RETURN_VALUE","cacheReturnValue","debounce","throttle","rateLimit","TagName","cast","A","ABBR","ACRONYM","ADDRESS","APPLET","AREA","ARTICLE","ASIDE","AUDIO","B","BASE","BASEFONT","BDI","BDO","BIG","BLOCKQUOTE","BODY","BR","BUTTON","CANVAS","CAPTION","CENTER","CITE","CODE","COL","COLGROUP","COMMAND","DATA","DATALIST","DD","DEL","DETAILS","DFN","DIALOG","DIR","DIV","DL","DT","EM","EMBED","FIELDSET","FIGCAPTION","FIGURE","FONT","FOOTER","FORM","FRAME","FRAMESET","H1","H2","H3","H4","H5","H6","HEAD","HEADER","HGROUP","HR","HTML","I","IFRAME","IMG","INPUT","INS","ISINDEX","KBD","KEYGEN","LABEL","LEGEND","LINK","MAIN","MAP","MARK","MATH","MENU","MENUITEM","META","METER","NAV","NOFRAMES","NOSCRIPT","OL","OPTGROUP","OPTION","OUTPUT","PARAM","PICTURE","PRE","PROGRESS","Q","RTC","RUBY","SAMP","SCRIPT","SECTION","SELECT","SMALL","SOURCE","SPAN","STRIKE","STRONG","STYLE","SUB","SUMMARY","SUP","SVG","TABLE","TBODY","TEMPLATE","TEXTAREA","TFOOT","THEAD","TIME","TITLE","TRACK","TT","U","UL","VAR","VIDEO","WBR","getCount","getAnyKey","getAnyValue","containsValue","getValues","getKeys","getValueByKeys","containsKey","findKey","findValue","setIfUndefined","setWithReturnValueIfNotSet","unsafeClone","DataView","PROTOTYPE_FIELDS_","createSet","createImmutableView","isFrozen","isImmutableView","getAllPropertyNames","getSuperClass","VOID_TAGS_","embed","hr","keygen","wbr","isVoidTag","TypedString","Const","stringConstValueWithSecurityContract__googStringSecurityPrivate_","GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_","STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_","TYPE_MARKER_","implementsGoogStringTypedString","getTypedStringValue","unwrap","trustedtypes","getPolicyPrivateDoNotAccessOrElse","cachedPolicy_","module$contents$goog$html$SafeScript_CONSTRUCTOR_TOKEN_PRIVATE","module$contents$goog$html$SafeScript_SafeScript","privateDoNotAccessOrElseSafeScriptWrappedValue_","fromConstant","createSafeScriptSecurityPrivateDoNotAccessOrElse","fromConstantAndArgs","stringify_","fromJson","unwrapTrustedScript","SafeScript","createObjectUrl","getUrlObject_","revokeObjectUrl","revokeObjectURL","UrlObject_","findUrlObject_","webkitURL","browserSupportsObjectUrls","getBlob","BlobBuilder","WebKitBlobBuilder","getBlobWithProperties","endings","bidi","FORCE_RTL","IS_RTL","Format","LRE","RLE","LRM","RLM","Dir","LTR","RTL","NEUTRAL","RIGHT","LEFT","I18N_RIGHT","I18N_LEFT","toDir","ltrChars_","rtlChars_","htmlSkipReg_","stripHtmlIfNeeded_","rtlCharReg_","ltrCharReg_","hasAnyRtl","hasRtlChar","hasAnyLtr","ltrRe_","rtlRe_","isRtlChar","isLtrChar","isNeutralChar","ltrDirCheckRe_","rtlDirCheckRe_","startsWithRtl","isRtlText","startsWithLtr","isLtrText","isRequiredLtrRe_","isNeutralText","ltrExitDirCheckRe_","rtlExitDirCheckRe_","endsWithLtr","isLtrExitText","endsWithRtl","isRtlExitText","rtlLocalesRe_","isRtlLanguage","bracketGuardTextRe_","guardBracketInText","enforceRtlInHtml","enforceRtlInText","enforceLtrInHtml","enforceLtrInText","dimensionsRe_","leftRe_","rightRe_","tempRe_","mirrorCSS","doubleQuoteSubstituteRe_","singleQuoteSubstituteRe_","normalizeHebrewQuote","wordSeparatorRe_","hasNumeralsRe_","rtlDetectionThreshold_","estimateDirection","detectRtlDirectionality","setElementDirAndAlign","setElementDirByTextDirectionality","DirectionalString","TrustedResourceUrl","privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_","CONSTRUCTOR_TOKEN_PRIVATE_","implementsGoogI18nBidiDirectionalString","cloneWithParams","URL_PARAM_PARSER_","createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse","stringifyParams_","unwrapTrustedScriptURL","BASE_URL_","FORMAT_MARKER_","formatWithParams","fromConstants","fromSafeScript","caseInsensitiveStartsWith","caseInsensitiveCompare","caseInsensitiveEndsWith","caseInsensitiveEquals","isEmptyOrWhitespace","newLineToBr","htmlEscape","AMP_RE_","LT_RE_","GT_RE_","QUOT_RE_","SINGLE_QUOTE_RE_","NULL_RE_","ALL_RE_","whitespaceEscape","caseInsensitiveContains","compareVersions","compareElements_","SafeUrl","privateDoNotAccessOrElseSafeUrlWrappedValue_","INNOCUOUS_STRING","createSafeUrlSecurityPrivateDoNotAccessOrElse","SAFE_MIME_TYPE_PATTERN_","isSafeMimeType","fromBlob","fromMediaSource","MediaSource","DATA_URL_PATTERN_","tryFromDataUrl","fromDataUrl","INNOCUOUS_URL","fromTelUrl","SIP_URL_PATTERN_","fromSipUrl","fromFacebookMessengerUrl","fromWhatsAppUrl","fromSmsUrl","isSmsUrlBodyValid_","fromSshUrl","sanitizeChromeExtensionUrl","sanitizeExtensionUrl_","sanitizeFirefoxExtensionUrl","sanitizeEdgeExtensionUrl","fromTrustedResourceUrl","SAFE_URL_PATTERN_","SAFE_URL_PATTERN","trySanitize","sanitizeAssertUnchanged","ABOUT_BLANK","SafeStyle","privateDoNotAccessOrElseSafeStyleWrappedValue_","createSafeStyleSecurityPrivateDoNotAccessOrElse","sanitizePropertyValue_","sanitizePropertyValueString_","FUNCTIONS_RE_","URL_RE_","VALUE_RE_","COMMENT_RE_","hasBalancedQuotes_","hasBalancedSquareBrackets_","sanitizeUrl_","VALUE_ALLOWED_CHARS_","ALLOWED_FUNCTIONS_","module$contents$goog$html$SafeStyleSheet_CONSTRUCTOR_TOKEN_PRIVATE","module$contents$goog$html$SafeStyleSheet_SafeStyleSheet","privateDoNotAccessOrElseSafeStyleSheetWrappedValue_","createRule","hasBalancedBrackets_","createSafeStyleSheetSecurityPrivateDoNotAccessOrElse","SafeStyleSheet","labs","util","getNativeUserAgentString_","getNavigator_","userAgent_","setUserAgent","getUserAgent","matchUserAgent","matchUserAgentIgnoreCase","extractVersionTuples","matchOpera_","matchIE_","matchEdgeHtml_","matchEdgeChromium_","matchOperaChromium_","matchFirefox_","matchSafari_","matchChrome_","matchCoast_","isSilk","matchIosWebview_","matchAndroidBrowser_","isOpera","isEdge","isEdgeChromium","isOperaChromium","isSafari","isCoast","isIosWebview","isAndroidBrowser","getIEVersion_","isVersionOrHigher","SafeHtml","privateDoNotAccessOrElseSafeHtmlWrappedValue_","dir_","ENABLE_ERROR_MESSAGES","SUPPORT_STYLE_ATTRIBUTE","unwrapTrustedHTML","createSafeHtmlSecurityPrivateDoNotAccessOrElse","htmlEscapePreservingNewlines","htmlEscapePreservingNewlinesAndSpaces","comment","VALID_NAMES_IN_TAG_","URL_ATTRIBUTES_","cite","formaction","manifest","poster","NOT_ALLOWED_TAG_NAMES_","verifyTagName","createSafeHtmlTagSecurityPrivateDoNotAccessOrElse","createIframe","srcdoc","combineAttributes","createSandboxIframe","canUseSandboxIframe","HTMLIFrameElement","createScriptSrc","createStyle","createMetaRefresh","getAttrNameAndValue_","getStyleValue_","createWithDir","concatWithDir","stringifyAttributes","DOCTYPE_HTML","emptyHTML","uncheckedconversions","safeHtmlFromStringKnownToSatisfyTypeContract","safeScriptFromStringKnownToSatisfyTypeContract","safeStyleFromStringKnownToSatisfyTypeContract","safeStyleSheetFromStringKnownToSatisfyTypeContract","safeUrlFromStringKnownToSatisfyTypeContract","trustedResourceUrlFromStringKnownToSatisfyTypeContract","InsertAdjacentHtmlPosition","AFTERBEGIN","AFTEREND","BEFOREBEGIN","BEFOREEND","insertAdjacentHtml","insertAdjacentHTML","SET_INNER_HTML_DISALLOWED_TAGS_","isInnerHtmlCleanupRecursive_","unsafeSetInnerHtmlDoNotUseOrElse","setInnerHtml","setInnerHtmlFromConstant","setOuterHtml","outerHTML","setFormElementAction","setButtonFormAction","formAction","setInputFormAction","documentWrite","setAnchorHref","setImageSrc","setAudioSrc","setVideoSrc","setEmbedSrc","setFrameSrc","setIframeSrc","setIframeSrcdoc","setLinkHrefAndRel","setObjectData","setScriptSrc","setNonceForScriptElement_","setScriptContent","setLocationHref","assignLocation","replaceLocation","openInWindow","parseFromStringHtml","parseFromString","createImageFromBlob","DETECT_DOUBLE_ESCAPING","FORCE_NON_DOM_HTML_UNESCAPING","Unicode","NBSP","subs","collapseWhitespace","isEmptyString","isEmptyOrWhitespaceSafe","makeSafe","isEmptySafe","isBreakingWhitespace","isAlpha","isNumeric","isAlphaNumeric","isUnicodeChar","stripNewlines","canonicalizeNewlines","normalizeWhitespace","normalizeSpaces","collapseBreakingSpaces","trimLeft","trimRight","numberAwareCompare_","intAwareCompare","floatAwareCompare","numerateCompare","urlEncode","urlDecode","E_RE_","unescapeEntities","unescapeEntitiesUsingDom_","unescapePureXmlEntities_","unescapeEntitiesWithDocument","HTML_ENTITY_PATTERN_","preserveSpaces","stripQuotes","truncate","truncateMiddle","specialEscapeChars_","jsEscapeCache_","quote","escapeChar","escapeString","countOf","removeAll","regExpEscape","buildString","getRandomString","hashCode","uniqueStringCounter_","createUniqueString","toNumber","isLowerCamelCase","isUpperCamelCase","toCamelCase","toSelectorCase","toTitleCase","capitalize","splitLimit","lastComponent","editDistance","proto2","Descriptor","messageType_","name_","fullName_","fullName","containingType_","containingType","fields_","getTag","getFullName","getContainingType","getDescriptor","getFields","getFieldsMap","findFieldByName","findFieldByTag","createMessageInstance","FieldDescriptor","parent_","tag_","isPacked_","packed","isRepeated_","repeated","isRequired_","fieldType_","nativeType_","deserializationConversionPermitted_","FieldType","INT64","UINT64","FIXED64","SFIXED64","SINT64","FLOAT","DOUBLE","defaultValue_","INT32","FIXED32","BOOL","GROUP","MESSAGE","BYTES","UINT32","ENUM","SFIXED32","SINT32","getDefaultValue","getFieldType","getNativeType","deserializationConversionPermitted","getFieldMessageType","isCompositeType","isPacked","isRepeated","isOptional","Message","values_","deserializedFields_","lazyDeserializer_","initializeForLazyDeserializer","setUnknown","forEachUnknown","has$Value","arrayOf","array$Values","count$Values","get$Value","getOrDefault","get$ValueOrDefault","set$Value","add$Value","clear$Field","getValueForTag_","copyFrom","mergeFrom","initDefaults","deserializeField","checkFieldType_","createDescriptor","DECODE_SYMBOLIC_ENUMS","getSerializedValue","deserializeTo","getDeserializedValue","INTEGER_REGEX","LazyDeserializer","PbLiteSerializer","zeroIndexing_","setZeroIndexed","StringBuffer","buffer_","getLength","phonenumbers","descriptor_","getPatternOrDefault","setPattern","hasPattern","patternCount","clearPattern","getFormat","getFormatOrDefault","setFormat","hasFormat","formatCount","clearFormat","getLeadingDigitsPattern","getLeadingDigitsPatternOrDefault","addLeadingDigitsPattern","leadingDigitsPatternArray","hasLeadingDigitsPattern","leadingDigitsPatternCount","clearLeadingDigitsPattern","getNationalPrefixFormattingRule","getNationalPrefixFormattingRuleOrDefault","setNationalPrefixFormattingRule","hasNationalPrefixFormattingRule","nationalPrefixFormattingRuleCount","clearNationalPrefixFormattingRule","getNationalPrefixOptionalWhenFormatting","getNationalPrefixOptionalWhenFormattingOrDefault","setNationalPrefixOptionalWhenFormatting","hasNationalPrefixOptionalWhenFormatting","nationalPrefixOptionalWhenFormattingCount","clearNationalPrefixOptionalWhenFormatting","getDomesticCarrierCodeFormattingRule","getDomesticCarrierCodeFormattingRuleOrDefault","setDomesticCarrierCodeFormattingRule","hasDomesticCarrierCodeFormattingRule","domesticCarrierCodeFormattingRuleCount","clearDomesticCarrierCodeFormattingRule","PhoneNumberDesc","getNationalNumberPattern","getNationalNumberPatternOrDefault","setNationalNumberPattern","hasNationalNumberPattern","nationalNumberPatternCount","clearNationalNumberPattern","getPossibleLength","getPossibleLengthOrDefault","addPossibleLength","possibleLengthArray","hasPossibleLength","possibleLengthCount","clearPossibleLength","getPossibleLengthLocalOnly","getPossibleLengthLocalOnlyOrDefault","addPossibleLengthLocalOnly","possibleLengthLocalOnlyArray","hasPossibleLengthLocalOnly","possibleLengthLocalOnlyCount","clearPossibleLengthLocalOnly","getExampleNumber","getExampleNumberOrDefault","setExampleNumber","hasExampleNumber","exampleNumberCount","clearExampleNumber","PhoneMetadata","getGeneralDesc","getGeneralDescOrDefault","setGeneralDesc","hasGeneralDesc","generalDescCount","clearGeneralDesc","getFixedLine","getFixedLineOrDefault","setFixedLine","hasFixedLine","fixedLineCount","clearFixedLine","getMobile","getMobileOrDefault","setMobile","hasMobile","mobileCount","clearMobile","getTollFree","getTollFreeOrDefault","setTollFree","hasTollFree","tollFreeCount","clearTollFree","getPremiumRate","getPremiumRateOrDefault","setPremiumRate","hasPremiumRate","premiumRateCount","clearPremiumRate","getSharedCost","getSharedCostOrDefault","setSharedCost","hasSharedCost","sharedCostCount","clearSharedCost","getPersonalNumber","getPersonalNumberOrDefault","setPersonalNumber","hasPersonalNumber","personalNumberCount","clearPersonalNumber","getVoip","getVoipOrDefault","setVoip","hasVoip","voipCount","clearVoip","getPager","getPagerOrDefault","setPager","hasPager","pagerCount","clearPager","getUan","getUanOrDefault","setUan","hasUan","uanCount","clearUan","getEmergency","getEmergencyOrDefault","setEmergency","hasEmergency","emergencyCount","clearEmergency","getVoicemail","getVoicemailOrDefault","setVoicemail","hasVoicemail","voicemailCount","clearVoicemail","getShortCode","getShortCodeOrDefault","setShortCode","hasShortCode","shortCodeCount","clearShortCode","getStandardRate","getStandardRateOrDefault","setStandardRate","hasStandardRate","standardRateCount","clearStandardRate","getCarrierSpecific","getCarrierSpecificOrDefault","setCarrierSpecific","hasCarrierSpecific","carrierSpecificCount","clearCarrierSpecific","getSmsServices","getSmsServicesOrDefault","setSmsServices","hasSmsServices","smsServicesCount","clearSmsServices","getNoInternationalDialling","getNoInternationalDiallingOrDefault","setNoInternationalDialling","hasNoInternationalDialling","noInternationalDiallingCount","clearNoInternationalDialling","getIdOrDefault","setId","hasId","idCount","clearId","getCountryCodeOrDefault","setCountryCode","hasCountryCode","countryCodeCount","clearCountryCode","getInternationalPrefix","getInternationalPrefixOrDefault","setInternationalPrefix","hasInternationalPrefix","internationalPrefixCount","clearInternationalPrefix","getPreferredInternationalPrefix","getPreferredInternationalPrefixOrDefault","setPreferredInternationalPrefix","hasPreferredInternationalPrefix","preferredInternationalPrefixCount","clearPreferredInternationalPrefix","getNationalPrefix","getNationalPrefixOrDefault","setNationalPrefix","hasNationalPrefix","nationalPrefixCount","clearNationalPrefix","getPreferredExtnPrefix","getPreferredExtnPrefixOrDefault","setPreferredExtnPrefix","hasPreferredExtnPrefix","preferredExtnPrefixCount","clearPreferredExtnPrefix","getNationalPrefixForParsing","getNationalPrefixForParsingOrDefault","setNationalPrefixForParsing","hasNationalPrefixForParsing","nationalPrefixForParsingCount","clearNationalPrefixForParsing","getNationalPrefixTransformRule","getNationalPrefixTransformRuleOrDefault","setNationalPrefixTransformRule","hasNationalPrefixTransformRule","nationalPrefixTransformRuleCount","clearNationalPrefixTransformRule","getSameMobileAndFixedLinePattern","getSameMobileAndFixedLinePatternOrDefault","setSameMobileAndFixedLinePattern","hasSameMobileAndFixedLinePattern","sameMobileAndFixedLinePatternCount","clearSameMobileAndFixedLinePattern","getNumberFormat","getNumberFormatOrDefault","addNumberFormat","numberFormatArray","hasNumberFormat","numberFormatCount","clearNumberFormat","getIntlNumberFormat","getIntlNumberFormatOrDefault","addIntlNumberFormat","intlNumberFormatArray","hasIntlNumberFormat","intlNumberFormatCount","clearIntlNumberFormat","getMainCountryForCode","getMainCountryForCodeOrDefault","setMainCountryForCode","hasMainCountryForCode","mainCountryForCodeCount","clearMainCountryForCode","getLeadingDigits","getLeadingDigitsOrDefault","setLeadingDigits","hasLeadingDigits","leadingDigitsCount","clearLeadingDigits","PhoneMetadataCollection","getMetadataOrDefault","addMetadata","metadataArray","hasMetadata","metadataCount","clearMetadata","PhoneNumber","getNationalNumberOrDefault","setNationalNumber","hasNationalNumber","nationalNumberCount","clearNationalNumber","getExtension","getExtensionOrDefault","setExtension","hasExtension","extensionCount","clearExtension","getItalianLeadingZero","getItalianLeadingZeroOrDefault","setItalianLeadingZero","hasItalianLeadingZero","italianLeadingZeroCount","clearItalianLeadingZero","getNumberOfLeadingZeros","getNumberOfLeadingZerosOrDefault","setNumberOfLeadingZeros","hasNumberOfLeadingZeros","numberOfLeadingZerosCount","clearNumberOfLeadingZeros","getRawInput","getRawInputOrDefault","setRawInput","hasRawInput","rawInputCount","clearRawInput","getCountryCodeSource","getCountryCodeSourceOrDefault","setCountryCodeSource","hasCountryCodeSource","countryCodeSourceCount","clearCountryCodeSource","getPreferredDomesticCarrierCode","getPreferredDomesticCarrierCodeOrDefault","setPreferredDomesticCarrierCode","hasPreferredDomesticCarrierCode","preferredDomesticCarrierCodeCount","clearPreferredDomesticCarrierCode","CountryCodeSource","UNSPECIFIED","FROM_NUMBER_WITH_PLUS_SIGN","FROM_NUMBER_WITH_IDD","FROM_NUMBER_WITHOUT_PLUS_SIGN","FROM_DEFAULT_COUNTRY","countryCodeToRegionCodeMap","countryToMetadata","AC","AD","AE","AF","AG","AL","AM","AO","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GT","GU","GW","GY","HK","HN","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TG","TJ","TK","TL","TM","TN","TO","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW","PhoneNumberUtil","regionToMetadataMap","INVALID_COUNTRY_CODE","NOT_A_NUMBER","TOO_SHORT_AFTER_IDD","TOO_SHORT_NSN","TOO_LONG","NANPA_COUNTRY_CODE_","MIN_LENGTH_FOR_NSN_","MAX_LENGTH_FOR_NSN_","MAX_LENGTH_COUNTRY_CODE_","MAX_INPUT_STRING_LENGTH_","UNKNOWN_REGION_","MOBILE_TOKEN_MAPPINGS_","GEO_MOBILE_COUNTRIES_","PLUS_SIGN","STAR_SIGN_","RFC3966_EXTN_PREFIX_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","RFC3966_ISDN_SUBADDRESS_","DIGIT_MAPPINGS","DIALLABLE_CHAR_MAPPINGS_","ALPHA_MAPPINGS_","C","D","E","F","J","M","O","R","T","V","W","X","Y","Z","ALL_NORMALIZATION_MAPPINGS_","ALL_PLUS_NUMBER_GROUPING_SYMBOLS_","z","SINGLE_INTERNATIONAL_PREFIX_","VALID_PUNCTUATION","VALID_DIGITS_","VALID_ALPHA_","PLUS_CHARS_","PLUS_CHARS_PATTERN","LEADING_PLUS_CHARS_PATTERN","SEPARATOR_PATTERN_","CAPTURING_DIGIT_PATTERN","VALID_START_CHAR_PATTERN_","SECOND_NUMBER_START_PATTERN_","UNWANTED_END_CHAR_PATTERN_","VALID_ALPHA_PHONE_PATTERN_","MIN_LENGTH_PHONE_NUMBER_PATTERN_","VALID_PHONE_NUMBER_","DEFAULT_EXTN_PREFIX_","RFC3966_VISUAL_SEPARATOR_","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","ALPHANUM_","RFC3966_DOMAINLABEL_","RFC3966_TOPLABEL_","RFC3966_DOMAINNAME_","RFC3966_DOMAINNAME_PATTERN_","extnDigits_","createExtnPattern_","EXTN_PATTERN_","VALID_PHONE_NUMBER_PATTERN_","NON_DIGITS_PATTERN_","FIRST_GROUP_PATTERN_","NP_PATTERN_","FG_PATTERN_","CC_PATTERN_","FIRST_GROUP_ONLY_PREFIX_PATTERN_","REGION_CODE_FOR_NON_GEO_ENTITY","PhoneNumberFormat","RFC3966","PhoneNumberType","FIXED_LINE","MOBILE","FIXED_LINE_OR_MOBILE","TOLL_FREE","PREMIUM_RATE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL","MatchType","NO_MATCH","SHORT_NSN_MATCH","NSN_MATCH","EXACT_MATCH","ValidationResult","IS_POSSIBLE","IS_POSSIBLE_LOCAL_ONLY","TOO_SHORT","INVALID_LENGTH","extractPossibleNumber","isViablePhoneNumber","matchesEntirely","normalizeHelper_","normalizeDigitsOnly","normalizeSB_","normalizeDiallableCharsOnly","convertAlphaCharactersInNumber","getLengthOfGeographicalAreaCode","getMetadataForRegion","isNumberGeographical","getLengthOfNationalDestinationCode","getNumberType","getCountryMobileToken","getSupportedRegions","getSupportedGlobalNetworkCallingCodes","getSupportedCallingCodes","descHasPossibleNumberData_","descHasData_","getSupportedTypesForMetadata_","getNumberDescByType_","getSupportedTypesForRegion","isValidRegionCode_","getSupportedTypesForNonGeoEntity","getMetadataForNonGeographicalRegion","formattingRuleHasFirstGroupOnly","hasValidCountryCallingCode_","getNationalSignificantNumber","prefixNumberWithCountryCallingCode_","getRegionCodeForCountryCode","getMetadataForRegionOrCallingCode_","maybeGetFormattedExtension_","formatNsn_","formatByPattern","chooseFormattingPatternForNumber_","formatNsnUsingPattern_","formatNationalNumberWithCarrierCode","formatNationalNumberWithPreferredCarrierCode","formatNumberForMobileDialing","canBeInternationallyDialled","testNumberLength_","formatOutOfCountryCallingNumber","isNANPACountry","getCountryCodeForValidRegion_","formatInOriginalFormat","hasFormattingPatternForNumber_","getNddPrefixForRegion","rawInputContainsNationalPrefix_","formatOutOfCountryKeepingAlphaChars","getExampleNumberForType","getExampleNumberForNonGeoEntity","getNumberTypeHelper_","isNumberMatchingDesc_","isValidNumberForRegion","getRegionCodeForNumberFromRegionList_","getRegionCodesForCountryCode","getCountryCodeForRegion","isAlphaNumber","maybeStripExtension","isPossibleNumber","isPossibleNumberWithReason","isPossibleNumberForType","isPossibleNumberForTypeWithReason","testNumberLengthForType_","isPossibleNumberString","truncateTooLongNumber","extractCountryCode","maybeExtractCountryCode","maybeStripInternationalPrefixAndNormalize","maybeStripNationalPrefixAndCarrierCode","parsePrefixAsIdd_","checkRegionForParsing_","parseHelper_","setItalianLeadingZerosForPhoneNumber_","buildNationalNumberForParsing_","extractPhoneContext_","isPhoneContextValid_","copyCoreFieldsOnly_","isNumberMatch","isNationalNumberSuffixOfTheOther_","matchesPrefix","shortnumbermetadata","ShortNumberInfo","REGIONS_WHERE_EMERGENCY_NUMBERS_MUST_BE_EXACT_","ShortNumberCost","STANDARD_RATE","UNKNOWN_COST","getRegionCodesForCountryCode_","regionDialingFromMatchesNumber_","isPossibleShortNumberForRegion","getMetadataForRegion_","getNationalSignificantNumber_","isPossibleShortNumber","isValidShortNumberForRegion","matchesPossibleNumberAndNationalNumber_","isValidShortNumber","getRegionCodeForShortNumberFromRegionList_","getExpectedCostForRegion","isEmergencyNumber","getExpectedCost","getExampleShortNumber","getExampleShortNumberForCost","connectsToEmergencyNumber","matchesEmergencyNumberHelper_","isCarrierSpecific","isCarrierSpecificForRegion","isSmsServiceForRegion","AsYouTypeFormatter","DIGIT_PLACEHOLDER_","DIGIT_PATTERN_","currentOutput_","formattingTemplate_","currentFormattingPattern_","accruedInput_","accruedInputWithoutFormatting_","ableToFormat_","isExpectingCountryCallingCode_","isCompleteNumber_","inputHasFormatting_","phoneUtil_","positionToRemember_","originalPosition_","lastMatchPosition_","prefixBeforeNationalNumber_","shouldAddSpaceAfterNationalPrefix_","extractedNationalPrefix_","nationalNumber_","possibleFormats_","defaultCountry_","defaultMetadata_","currentMetadata_","SEPARATOR_BEFORE_NATIONAL_NUMBER_","EMPTY_METADATA_","ELIGIBLE_FORMAT_PATTERN_","NATIONAL_PREFIX_SEPARATORS_PATTERN_","MIN_LEADING_DIGITS_LENGTH_","maybeCreateNewTemplate_","createFormattingTemplate_","getAvailableFormats_","narrowDownPossibleFormats_","getFormattingTemplate_","inputDigit","inputDigitWithOptionToRememberPosition_","inputDigitAndRememberPosition","isDigitOrLeadingPlusSign_","normalizeAndAccrueDigitsAndPlusSign_","attemptToExtractIdd_","attemptToExtractCountryCallingCode_","attemptToChoosePatternWithPrefixExtracted_","ableToExtractLongerNdd_","removeNationalPrefixFromNationalNumber_","attemptToChooseFormattingPattern_","inputDigitHelper_","attemptToFormatAccruedDigits_","inputAccruedNationalNumber_","appendNationalNumber_","getExtractedNationalPrefix_","getRememberedPosition","isNanpaNumberWithNationalPrefix_","default","isPromise","cookiesSplat","newCookie","expires","secure","monster","qs","koekje","querystringify","pairs","querystring","parser","FUNC_ERROR_TEXT","HASH_UNDEFINED","PLACEHOLDER","INFINITY","MAX_ARRAY_LENGTH","wrapFlags","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reIsDeepProp","reIsPlainProp","rePropName","reRegExpChar","reHasRegExpChar","reTrimStart","reWhitespace","reWrapComment","reWrapDetails","reSplitDetails","reAsciiWord","reForbiddenIdentifierChars","reEscapeChar","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","reIsUint","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboRange","rsComboMarksRange","rsDingbatRange","rsLowerRange","rsUpperRange","rsVarRange","rsBreakRange","rsMathOpRange","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsModifier","rsOptVar","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","reUnicode","reUnicodeWord","reHasUnicode","reHasUnicodeWord","contextProps","templateCounter","typedArrayTags","cloneableTags","stringEscapes","freeParseFloat","freeParseInt","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","nodeUtil","binding","nodeIsArrayBuffer","isArrayBuffer","nodeIsDate","isDate","nodeIsMap","isMap","nodeIsRegExp","isRegExp","nodeIsSet","isSet","nodeIsTypedArray","isTypedArray","arrayAggregator","setter","iteratee","arrayEach","arrayEachRight","arrayEvery","arrayFilter","resIndex","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","arrayPush","arrayReduce","initAccum","arrayReduceRight","arraySome","asciiSize","baseProperty","baseFindKey","collection","eachFunc","baseFindIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","basePropertyOf","baseReduce","baseTimes","baseTrim","trimmedEndIndex","baseUnary","baseValues","cacheHas","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","deburrLetter","escapeHtmlChar","escapeStringChar","hasUnicode","mapToArray","overArg","replaceHolders","setToArray","stringSize","unicodeSize","stringToArray","unicodeToArray","asciiToArray","unescapeHtmlChar","runInContext","pick","arrayProto","objectProto","coreJsData","funcToString","idCounter","maskSrcKey","IE_PROTO","nativeObjectToString","objectCtorString","oldDash","reIsNative","allocUnsafe","getPrototype","objectCreate","spreadableSymbol","symIterator","symToStringTag","getNative","ctxClearTimeout","ctxNow","ctxSetTimeout","nativeCeil","nativeFloor","nativeGetSymbols","nativeIsBuffer","nativeIsFinite","nativeJoin","nativeKeys","nativeMax","nativeMin","nativeNow","nativeParseInt","nativeRandom","nativeReverse","nativeCreate","metaMap","realNames","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","symbolToString","lodash","isObjectLike","LazyWrapper","LodashWrapper","wrapperClone","baseCreate","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","Hash","ListCache","MapCache","SetCache","__data__","Stack","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","isIndex","arraySample","baseRandom","arraySampleSize","shuffleSelf","baseClamp","arrayShuffle","assignMergeValue","eq","baseAssignValue","assignValue","objValue","assocIndexOf","baseAggregator","baseEach","baseAssign","copyObject","baseAt","lower","upper","baseClone","bitmask","customizer","isDeep","isFlat","isFull","initCloneArray","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","getSymbolsIn","baseAssignIn","keysIn","copySymbols","getSymbols","initCloneByTag","Ctor","cloneArrayBuffer","cloneDataView","dataView","byteOffset","cloneTypedArray","cloneRegExp","cloneSymbol","stacked","subValue","getAllKeysIn","baseConformsTo","baseDelay","wait","baseDifference","isCommon","valuesLength","outer","valuesIndex","templateSettings","evaluate","variable","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","setCacheAdd","setCacheHas","stackClear","stackDelete","stackGet","stackHas","stackSet","LARGE_ARRAY_SIZE","createBaseEach","baseForOwn","baseEachRight","baseForOwnRight","baseEvery","baseExtremum","baseFilter","baseFlatten","isStrict","isFlattenable","baseFor","createBaseFor","baseForRight","baseFunctions","baseGet","castPath","toKey","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","getRawTag","isOwn","unmasked","objectToString","baseGt","baseHas","baseHasIn","baseIntersection","arrays","othLength","othIndex","caches","baseInvoke","baseIsArguments","baseIsEqual","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","isPartial","objProps","objLength","objStacked","othStacked","skipCtor","othValue","compared","objCtor","othCtor","baseIsMatch","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","baseIsNative","isMasked","baseIteratee","baseMatchesProperty","baseMatches","baseKeys","isPrototype","baseLt","baseMap","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","srcIndex","baseMergeDeep","mergeFunc","safeGet","isTyped","isArrayLikeObject","toPlainObject","baseNth","baseOrderBy","iteratees","orders","getIteratee","baseSortBy","comparer","criteria","compareMultiple","objCriteria","othCriteria","ordersLength","compareAscending","basePickBy","baseSet","basePullAll","basePullAt","baseUnset","baseRepeat","baseRest","setToString","overRest","baseSample","baseSampleSize","nested","baseSetData","baseSetToString","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","low","high","mid","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","baseUniq","seenIndex","baseUpdate","baseWhile","isDrop","baseWrapperValue","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castRest","castSlice","typedArray","valIsDefined","valIsReflexive","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","createAggregator","createAssigner","assigner","guard","isIterateeCall","createCaseFirst","methodName","trailing","createCompounder","words","deburr","createCtor","thisBinding","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","wrapper","getFuncName","isLaziable","plant","createHybrid","partialsRight","holdersRight","argPos","ary","arity","isAry","isBind","isBindKey","isFlip","getHolder","holdersCount","countHolders","newHolders","createRecurry","arrLength","oldArray","createInverter","toIteratee","baseInverter","createMathOperation","createOver","arrayFunc","createPadding","charsLength","createRange","toFinite","baseRange","createRelationalOperation","wrapFunc","isCurry","newData","setWrapToString","createRound","noop","createToPairs","setToPairs","baseToPairs","createWrap","mergeData","srcBitmask","newBitmask","createCurry","createPartial","createBind","customDefaultsAssignIn","customDefaultsMerge","customOmitClone","arrStacked","arrValue","otherFunc","isKeyable","stubArray","hasPath","hasFunc","isLength","ctorString","isMaskable","stubFalse","otherArgs","shortOut","reference","insertWrapDetails","updateWrapDetails","getWrapDetails","lastCalled","rand","memoizeCapped","memoize","subString","differenceBy","differenceWith","findLastIndex","intersection","mapped","intersectionBy","intersectionWith","pullAll","pullAt","union","unionBy","unionWith","unzip","unzipWith","without","xor","xorBy","xorWith","zipWith","interceptor","wrapperAt","countBy","findLast","groupBy","invokeMap","keyBy","partition","sortBy","bindKey","WRAP_BIND_FLAG","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","timeWaiting","debounced","isInvoking","leadingEdge","resolver","memoized","Cache","negate","overArgs","transforms","funcsLength","rearg","gt","gte","baseIsArrayBuffer","baseIsDate","baseIsMap","baseIsRegExp","baseIsSet","baseIsTypedArray","lte","iteratorToArray","remainder","toLength","isBinary","assignIn","assignInWith","assignWith","propsIndex","propsLength","defaultsDeep","mergeWith","invert","invertBy","invoke","baseKeysIn","nativeKeysIn","isProto","omit","CLONE_DEEP_FLAG","basePick","pickBy","toPairs","toPairsIn","camelCase","word","upperFirst","kebabCase","lowerCase","lowerFirst","snakeCase","startCase","upperCase","hasUnicodeWord","unicodeWords","asciiWords","bindAll","methodNames","flow","flowRight","methodOf","over","overEvery","overSome","basePropertyDeep","rangeRight","augend","addend","divide","dividend","divisor","multiply","multiplier","multiplicand","subtract","minuend","subtrahend","castArray","compact","conforms","baseConforms","curry","curryRight","dropRight","dropRightWhile","dropWhile","baseFill","flatMapDeep","flatMapDepth","flattenDeep","flattenDepth","flip","fromPairs","functionsIn","mapKeys","mapValues","matchesProperty","nthArg","omitBy","orderBy","propertyOf","pullAllBy","pullAllWith","sampleSize","setWith","sortedUniq","sortedUniqBy","tail","takeRight","takeRightWhile","toPath","isArrLike","unary","uniq","uniqBy","uniqWith","unset","updateWith","valuesIn","zipObject","zipObjectDeep","entriesIn","extendWith","cloneDeep","cloneDeepWith","cloneWith","conformsTo","defaultTo","findLastKey","forIn","forInRight","forOwn","forOwnRight","inRange","baseInRange","isElement","isEqual","isEqualWith","isMatch","isMatchWith","isNative","isNil","isNull","isSafeInteger","isWeakMap","isWeakSet","strictLastIndexOf","maxBy","mean","meanBy","minBy","stubObject","stubString","stubTrue","noConflict","strLength","radix","floating","sample","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sumBy","isEscaping","isEvaluating","importsKeys","importsValues","reDelimiters","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","toLower","toSafeInteger","toUpper","trimStart","omission","newEnd","eachRight","VERSION","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isUnwrapped","onlyLazy","chainName","lazyClone","lazyReverse","lazyValue","isRight","getView","iterLength","takeCount","iterIndex","wrapperChain","wrapperCommit","wrapperNext","wrapperPlant","wrapperReverse","toJSON","wrapperValue","wrapperToIterator","hit","oldIndex","nuIndex","aFrom","objectMap","defineLength","nextTick","tbi","currentCallback","currentContext","currentArgs","origCb","oldCache","resultArray","timeouts","preFetchAge","preFetchTimeouts","unref","preFetch","toPosInteger","lruQueue","primitiveSet","ensureString","toShortString","supportedModes","ignore","isFailed","onSuccess","onFailure","resolvedMode","nextTickFailure","deleteRef","getRefCount","resolveLength","plain","primitive","customError","ee","resolveResolve","resolveNormalize","memLength","extDel","extGet","extHas","getListeners","setListeners","deleteListeners","resolvers","profileName","updateEnv","__memoized__","_has","optsLength","fnLength","userNormalizer","resolveArgs","argsMap","currentLength","configure","extFn","__profiler__","defineLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","meridiem","hours","minutes","isLower","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","hh","dd","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","postformat","symbolMap","preparse","numberMap","suffixes","relativeTimeWithPlural","plural","forms","isFormat","period","ww","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","softMutation","mutationTable","lastNumber","monthsParse","monthsRegex","minWeekdaysParse","weekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","specialMutationForYears","processRelativeTime","ll","lll","llll","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","$0","$1","$2","isUpper","ezafeNumSuffix","eifelerRegelAppliesToNumber","processFutureTime","processPastTime","units","translateSingular","special","translateSeconds","relativeTimeWithSingular","relativeSeconds","translator","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","numberNoun","numberAsNoun","hundred","ten","one","translateFuture","translatePast","hm","processHoursFunction","weekdaysCaseReplace","nominative","accusative","genitive","hookCallback","hasOwnProp","isObjectEmpty","arrLen","createUTC","strict","createLocalOrUTC","utc","getParsingFlags","_pf","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","parsedParts","isNowValid","_d","invalidWeekday","_strict","bigHour","createInvalid","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_f","_l","_tzm","_isUTC","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","deprecationHandler","deprecations","deprecateSimple","mergeConfigs","parentConfig","childConfig","Locale","zeroFill","targetLength","forceSign","absNumber","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","removeFormattingTokens","formatMoment","expandFormat","makeFormatFunction","replaceLongDateFormatTokens","aliases","dates","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","milliseconds","millisecond","quarters","quarter","gg","weekyears","weekyear","isoweekyears","isoweekyear","weeks","isoweeks","isoweek","years","normalizeUnits","normalizeObjectUnits","inputObject","normalizedInput","priorities","isoWeekday","dayOfYear","weekYear","isoWeekYear","isoWeek","regexes","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","strictRegex","getParseRegexForToken","unescapeFormat","regexEscape","matched","absFloor","toInt","argumentForCoercion","coercedNumber","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","keepTime","set$1","isUTC","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getUTCDay","getDay","getMonth","setUTCMilliseconds","setMilliseconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","daysInMonth","modMonth","mod","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","llc","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","setUTCMonth","getSetMonth","computeMonthsParse","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","createUTCDate","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","lowercase","matchMeridiem","_meridiemParse","kFormat","kInput","_isPm","_meridiem","pos1","pos2","getSetHour","globalLocale","baseConfig","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","loadLocale","oldLocale","isLocaleNameSane","_abbr","aliasedRequire","getSetGlobalLocale","parentLocale","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","preprocessRFC2822","extractFromRFC2822Strings","monthStr","dayStr","hourStr","minuteStr","secondStr","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","configFromArray","currentDate","expectedWeekday","yearToUse","currentDateArray","nowValue","_useUTC","dayOfYearFromWeekInfo","weekdayOverflow","curWeek","createLocal","_week","_dayOfYear","_nextDay","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","isPm","erasConvertYear","prepareConfig","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromInput","configFromString","createFromInputFallback","configFromObject","createFromConfig","prototypeMin","prototypeMax","moments","ordering","Duration","isDurationValid","unitHasDecimal","orderLen","_milliseconds","_days","_months","_bubble","isDuration","absRound","utcOffset","offsetFromString","chunkOffset","matcher","cloneWithOffset","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","parseIso","momentsDifference","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","addSubtract","isAdding","createInvalid$1","isMomentInput","isNumberOrStringArray","arrayTest","dataTypeTest","isMomentInputObject","objectTest","propertyTest","propertyLen","monthDiff","wholeMonthDiff","newLocaleData","defaultFormat","defaultFormatUtc","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","matchEraName","erasNameRegex","matchEraNarrow","erasNarrowRegex","erasParse","matchEraYearOrdinal","_eraYearOrdinalRegex","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","preParsePostFormat","calendar$1","formats","isCalendarSpec","sod","startOf","calendarFormat","asFloat","zoneDelta","endOf","startOfDate","inputString","humanize","fromNow","toNow","stringGet","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","inputMs","isSameOrAfter","isSameOrBefore","isValid$2","parsingFlags","stringSet","prioritized","getPrioritizedUnits","unitsObj","prioritizedLen","toDate","keepOffset","inspect","isLocal","unix","creationData","eraName","getEraName","eraNarrow","getEraNarrow","eraAbbr","getEraAbbr","eraYear","getEraYear","getIsLeapYear","getSetWeekYear","getSetISOWeekYear","getSetQuarter","getDaysInMonth","getSetWeek","isoWeeks","getSetISOWeek","getWeeksInYear","weekInfo","weeksInWeekYear","getWeeksInWeekYear","isoWeeksInYear","getISOWeeksInYear","isoWeeksInISOWeekYear","getISOWeeksInISOWeekYear","getSetDayOfWeek","parseWeekday","getSetLocaleDayOfWeek","getSetISODayOfWeek","parseIsoWeekday","getSetDayOfYear","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","setOffsetToUTC","setOffsetToLocal","parseZone","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDST","isDaylightSavingTime","isUtcOffset","zoneAbbr","getZoneAbbr","zoneName","getZoneName","getSetZone","isDSTShifted","isDaylightSavingTimeShifted","_isDSTShifted","compareArrays","array1","array2","dontConvert","lengthDiff","proto$1","get$1","listMonthsImpl","out","listWeekdaysImpl","localeSorted","_calendar","_longDateFormat","formatUpper","tok","_invalidDate","_ordinal","_relativeTime","pastFuture","localeEras","_eras","localeErasParse","localeErasConvertYear","localeMonths","localeMonthsShort","_monthsShort","localeMonthsParse","_monthsParseExact","localeWeek","firstDayOfYear","localeFirstDayOfYear","firstDayOfWeek","localeFirstDayOfWeek","localeWeekdays","_weekdays","localeWeekdaysMin","_weekdaysMin","localeWeekdaysShort","_weekdaysShort","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","localeIsPM","localeMeridiem","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","isValid$1","add$1","subtract$1","bubble","monthsFromDays","clone$1","get$2","argWithSuffix","argThresholds","withSuffix","relativeTime$1","posNegDuration","toIsoString","setHookCallback","createUnix","listMonths","listWeekdays","createInZone","listMonthsShort","listWeekdaysMin","updateLocale","tmpLocale","listLocales","listWeekdaysShort","relativeTimeRounding","getSetRelativeTimeRounding","roundingFunction","relativeTimeThreshold","getSetRelativeTimeThreshold","threshold","getCalendarFormat","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME_SECONDS","TIME_MS","ensureCallable","byObserver","currentQueue","WebKitMutationObserver","setImmediate","clean","objStorage","_subscribe","subscription","hasError","thrownError","_throwIfClosed","lift","observable","observerOrNext","isSubscriber","Subscriber","isObserver","isSubscription","SafeSubscriber","errorContext","_trySubscribe","promiseCtor","getPromiseCtor","Symbol_observable","operations","pipeFromArray","_bufferSize","_windowTime","_timestampProvider","dateTimestampProvider","_infiniteTimeWindow","isStopped","_trimBuffer","_innerSubscribe","_checkFinalizedStatuses","adjustedBufferSize","ObjectUnsubscribedError","currentObservers","observers","subject","AnonymousSubject","observed","EMPTY_SUBSCRIPTION","arrRemove","COMPLETE_NOTIFICATION","createNotification","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","errorNotification","_complete","_bind","ConsumerObserver","partialObserver","handleUnhandledError","useDeprecatedNextContext","useDeprecatedSynchronousErrorHandling","captureError","reportUnhandledError","notification","onStoppedNotification","timeoutProvider","defaultErrorHandler","UnsubscriptionError","initialTeardown","_parentage","_finalizers","initialFinalizer","finalizer","execFinalizer","_hasParent","_addParent","_removeParent","onUnhandledError","hasConfig","EmptyError","popScheduler","resultSelector","popResultSelector","observables","argsArgArrayOrObject","combineLatestInit","valueTransform","maybeSchedule","remainingFirstValues","hasFirstValue","createObject","mapOneOrManyArgs","execute","concatAll","observableFactory","forkJoin","remainingCompletions","remainingEmissions","sourceIndex","hasValue","subscribeOn","schedule","scheduleAsyncIterable","scheduled","isInteropObservable","scheduleObservable","scheduleArray","schedulePromise","isAsyncIterable","isIterable","scheduleIterable","Symbol_iterator","isReadableStreamLike","scheduleReadableStreamLike","readableStreamLikeToAsyncGenerator","createInvalidObservableTypeError","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","isEventTarget","isNodeStyleEventEmitter","addListener","removeListener","toCommonHandlerRegistry","isJQueryStyleEventEmitter","subTarget","fromInteropObservable","obs","fromArrayLike","fromPromise","fromAsyncIterable","fromIterable","fromReadableStreamLike","asyncIterable","asyncIterable_1","asyncIterable_1_1","e_1","__awaiter","__asyncValues","e_1_1","concurrent","popNumber","errorOrErrorFactory","errorFactory","dueTime","intervalOrScheduler","intervalDuration","isScheduler","due","argsOrArgArray","buffers","onNext","onFinalize","OperatorSubscriber","shouldUnsubscribe","audit","durationSelector","durationSubscriber","isComplete","endDuration","cleanupDuration","handledResult","innerSub","syncUnsub","project","activeTask","lastTime","emitWhenIdle","targetTime","defaultIfEmpty","delayWhen","delayDurationSelector","subscriptionDelay","ignoreElements","mapTo","distinctUntilChanged","keySelector","previousKey","currentKey","outerValue","hasDefaultValue","throwIfEmpty","mergeInternals","onBeforeNext","expand","innerSubScheduler","additionalFinalizer","checkComplete","outerNext","doInnerSub","innerComplete","innerValue","bufferedValue","configOrCount","resetOnSuccess","soFar","subscribeForRetry","resub","notifier","notifierSubscriber","scanInternals","hasSeed","emitOnNext","emitBeforeComplete","hasState","connector","resetOnError","resetOnComplete","resetOnRefCountZero","wrapperSource","resetConnection","hasCompleted","hasErrored","cancelReset","resetAndUnsubscribe","conn","handleReset","onSubscriber","configOrBufferSize","windowTime","innerSubscriber","innerIndex","outerIndex","inclusive","tapObserver","isUnsub","duration$","sendValue","throttled","endThrottling","cleanupThrottling","startThrottle","defaultErrorFactory","otherValues","work","intervalProvider","AsyncAction","recycleAsyncId","requestAsyncId","_scheduler","_execute","errorValue","errored","Scheduler","schedulerActionCtor","AsyncScheduler","SchedulerAction","_active","animationFrameProvider","animationFrameScheduler","AnimationFrameScheduler","flushId","_scheduled","AnimationFrameAction","nextHandle","activeHandles","findAndClearHandle","Immediate","clearImmediate","immediateProvider","AsapScheduler","AsapAction","QueueScheduler","QueueAction","getSymbolIterator","isPOJO","createImpl","ctorFunc","instance","isRoot","errorThrown","parentSubscription","scheduleSubscription","__asyncGenerator","__await","releaseLock","hasLift","liftedSource","callOrApply","fns","objstorage","_isNumber","_capitalize","_getter","booleanProps","numericProps","stringProps","getArgs","setArgs","getEvalOrigin","evalOrigin","setEvalOrigin","getFileName","getLineNumber","getColumnNumber","getFunctionName","getIsEval","fromString","argsStartIndex","argsEndIndex","locationString","maxTimeout","possibleTypes","classRe","functionToString","windowStorage","webpackContext","webpackContextResolve","stateChangeExpr","animateChild","AnimationBuilder","BrowserAnimationBuilder","AnimationFactory","rootRenderer","animationModuleType","_nextAnimationId","_renderer","ViewEncapsulation","isAnimationRenderer","issueAnimationCommand","BrowserAnimationFactory","RendererAnimationPlayer","_command","_listen","unwrapAnimationRenderer","animationRenderer","_onStart","triggerMicrotask","AnimationGroupPlayer","_players","doneCount","destroyCount","startCount","timeAtPosition","longestPlayer","longestSoFar","mediaQueriesForWebkitCompatibility","mediaQueryStyleNode","MediaMatcher","_platform","_nonce","_matchMedia","isBrowser","noopMatchMedia","WEBKIT","BLINK","createEmptyStyleRule","media","BreakpointObserver","_mediaMatcher","_queries","_destroySubject","splitQueries","mediaQuery","_registerQuery","mql","stateObservable","breakpointStates","breakpoints","queries","a1","ID_DELIMITER","addAriaReferencedId","getAriaReferenceIds","existingId","removeAriaReferencedId","filteredIds","CDK_DESCRIBEDBY_ID_PREFIX","CDK_DESCRIBEDBY_HOST_ATTRIBUTE","AriaDescriber","_messageRegistry","_messagesContainer","APP_ID","describe","_canBeDescribed","getKey","setMessageId","messageElement","referenceCount","_createMessageElement","_isElementDescribedByMessage","_addMessageReference","removeDescription","_isElementNode","_removeMessageReference","registeredMessage","_deleteMessageElement","describedElements","_removeCdkDescribedByReferenceIds","_createMessagesContainer","serverContainers","messagesContainer","originalReferenceIds","referenceIds","messageId","trimmedMessage","serviceId","ListKeyManager","_items","injector","_activeItemIndex","_activeItem","_wrap","_letterKeyStream","_typeaheadSubscription","_vertical","_allowedModifierKeys","_homeAndEnd","_pageUpAndDown","_skipPredicateFn","_pressedLetters","_itemChangesSubscription","newItems","_itemsChanged","isSignal","_effectRef","effect","skipPredicate","shouldWrap","withVerticalOrientation","withHorizontalOrientation","_horizontal","withAllowedModifierKeys","debounceInterval","_getItemsArray","cancelTypeahead","withPageUpDown","previousActiveItem","isModifierAllowed","TAB","setPreviousItemActive","HOME","END","setLastItemActive","PAGE_UP","targetIndex","_setActiveItemByIndex","PAGE_DOWN","itemsLength","toLocaleUpperCase","ZERO","NINE","isTyping","_setActiveItemByDelta","itemArray","_setActiveInWrapMode","_setActiveInDefaultMode","fallbackDelta","newIndex","ActiveDescendantKeyManager","setInactiveStyles","setActiveStyles","_origin","InteractivityChecker","hasGeometry","offsetHeight","isTabbable","frameElement","getFrameElement","getTabIndexValue","tabIndexValue","IOS","isPotentiallyTabbableIOS","FIREFOX","isFocusable","isPotentiallyFocusable","isHiddenInput","isInputElement","isNativeFormElement","isAnchorWithHref","isAnchorElement","hasValidTabIndex","ignoreVisibility","FocusTrap","_startAnchor","_endAnchor","_toggleAnchorTabIndex","_checker","deferAnchors","_hasAttached","startAnchorListener","focusLastTabbableElement","endAnchorListener","focusFirstTabbableElement","attachAnchors","startAnchor","endAnchor","_createAnchor","focusInitialElementWhenReady","_executeOnStable","focusInitialElement","focusFirstTabbableElementWhenReady","focusLastTabbableElementWhenReady","_getRegionBoundary","bound","markers","_getFirstTabbableElement","_getLastTabbableElement","redirectToElement","focusableChild","hasAttached","tabbableChild","toggleAnchors","isStable","FocusTrapFactory","deferCaptureElements","CdkTrapFocus","focusTrap","_focusTrapFactory","_previouslyFocusedElement","Platform","autoCapture","_captureFocus","ngDoCheck","ngOnChanges","autoCaptureChange","firstChange","_getFocusedElementPierceShadowDom","touch","touches","changedTouches","radiusX","radiusY","INPUT_MODALITY_DETECTOR_OPTIONS","INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS","ignoreKeys","ALT","CONTROL","MAC_META","SHIFT","modalityEventListenerOptions","InputModalityDetector","mostRecentModality","_modality","_mostRecentTarget","_lastTouchMs","_onKeydown","_options","_getEventTarget","_onMousedown","_onTouchstart","modalityDetected","modalityChanged","LIVE_ANNOUNCER_ELEMENT_TOKEN","LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY","LIVE_ANNOUNCER_DEFAULT_OPTIONS","uniqueIds","LiveAnnouncer","elementToken","_defaultOptions","_liveElement","_createLiveElement","announce","politeness","_previousTimeout","_exposeAnnouncerToModals","_currentPromise","_currentResolve","elementClass","previousElements","getElementsByClassName","liveEl","modals","modal","ariaOwns","FocusMonitorDetectionMode","IMMEDIATE","EVENTUAL","FOCUS_MONITOR_DEFAULT_OPTIONS","captureEventListenerOptions","FocusMonitor","_inputModalityDetector","_windowFocused","_originFromTouchInteraction","_elementInfo","_monitoredElementCount","_rootNodeFocusListenerCount","_windowFocusListener","_windowFocusTimeoutId","_stopInputModalityDetector","_rootNodeFocusAndBlurListener","_onFocus","_onBlur","_detectionMode","detectionMode","checkChildren","coerceElement","rootNode","_getShadowRoot","_getDocument","cachedInfo","_registerGlobalListeners","elementInfo","_setClasses","_removeGlobalListeners","_getClosestElementsInfo","currentElement","_originChanged","_setOrigin","_info","_getWindow","_getFocusOrigin","focusEventTarget","_shouldBeAttributedToTouch","_lastFocusOrigin","_isLastInteractionFromInputLabel","isFromInteraction","_originTimeoutId","_emitOrigin","rootNodeFocusListeners","modality","mostRecentTarget","CdkMonitorFocus","_focusOrigin","cdkFocusChange","focusOrigin","_monitorSubscription","HighContrastMode","BLACK_ON_WHITE","WHITE_ON_BLACK","BLACK_ON_WHITE_CSS_CLASS","WHITE_ON_BLACK_CSS_CLASS","HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS","HighContrastModeDetector","_breakpointSubscription","_hasCheckedHighContrastMode","_applyBodyHighContrastModeCssClasses","getHighContrastMode","testElement","documentWindow","computedStyle","bodyClasses","A11yModule","highContrastModeDetector","ObserversModule","DIR_DOCUMENT","DIR_DOCUMENT_FACTORY","RTL_LOCALE_PATTERN","Directionality","_resolveDirectionality","rawValue","BidiModule","coerceBooleanProperty","coerceNumberProperty","fallbackValue","_isNumberValue","coerceCssPixelValue","elementOrRef","ElementRef","coerceStringArray","sourceValues","sourceValue","trimmedString","SelectionModel","_selection","_multiple","initiallySelectedValues","_emitChanges","compareWith","_deselectedToEmit","_selectedToEmit","changed","_markSelected","_verifyValueAssignment","_hasQueuedChanges","_emitChangeEvent","deselect","_unmarkSelected","setSelection","oldValues","newSelectedSet","_getConcreteValue","flushEvent","_unmarkAll","inputValue","selectedValue","UniqueSelectionDispatcher","_listeners","registered","modifiers","MutationObserverFactory","scrollBehaviorSupported","supportsScrollBehavior","BlockScrollStrategy","_viewportRuler","_previousHTMLStyles","_isEnabled","_canBeEnabled","_previousScrollPosition","getViewportScrollPosition","htmlStyle","bodyStyle","previousHtmlScrollBehavior","scrollBehavior","previousBodyScrollBehavior","getViewportSize","CloseScrollStrategy","_scrollDispatcher","_scrollSubscription","_detach","scrolled","scrollable","overlayElement","getElementRef","_initialScrollPosition","scrollPosition","NoopScrollStrategy","isElementScrolledOutsideView","scrollContainers","containerBounds","isElementClippedByScrolling","scrollContainerRect","RepositionScrollStrategy","scrollThrottle","autoClose","overlayRect","ScrollStrategyOptions","disposeOnNavigation","configKeys","ConnectedOverlayPositionChange","scrollableViewProperties","BaseOverlayDispatcher","_attachedOverlays","OverlayKeyboardDispatcher","_keydownListener","overlays","_keydownEvents","_isAttached","OverlayOutsideClickDispatcher","_cursorStyleIsSet","_pointerDownListener","_pointerDownEventTarget","_clickListener","_outsidePointerEvents","outsidePointerEvents","_cursorOriginalValue","OverlayContainer","_containerElement","getContainerElement","containerClass","_isTestEnvironment","oppositePlatformContainers","OverlayRef","_portalOutlet","_host","_pane","_keyboardDispatcher","_outsideClickDispatcher","_animationsDisabled","_backdropElement","_backdropClick","_attachments","_detachments","_locationChanges","_backdropClickHandler","_backdropTransitionendHandler","_disposeBackdrop","_positionStrategy","backdropElement","portal","_previousHostParent","attachResult","_updateStackingOrder","_updateElementSize","_updateElementDirection","_togglePointerEvents","_attachBackdrop","_toggleClasses","detachBackdrop","detachmentResult","_detachContentWhenStable","_disposeScrollStrategy","attachments","updatePositionStrategy","strategy","updateSize","sizeConfig","setDirection","addPanelClass","removePanelClass","updateScrollStrategy","enablePointer","pointerEvents","showingClass","backdropToDetach","_backdropTimeout","cssClasses","isAdd","boundingBoxClass","cssUnitPattern","FlexibleConnectedPositionStrategy","_preferredPositions","connectedTo","_overlayContainer","_lastBoundingBoxSize","_isPushed","_canPush","_growAfterOpen","_hasFlexibleDimensions","_positionLocked","_viewportMargin","_scrollables","_positionChanges","_resizeSubscription","_offsetX","_offsetY","_appliedPanelClasses","setOrigin","_validatePositions","_boundingBox","_isDisposed","_isInitialRender","_lastPosition","_clearPanelClasses","_resetOverlayElementStyles","_resetBoundingBoxStyles","_viewportRect","_getNarrowedViewportRect","_originRect","_getOriginRect","_overlayRect","_containerRect","originRect","viewportRect","containerRect","flexibleFits","originPoint","_getOriginPoint","overlayPoint","_getOverlayPoint","overlayFit","_getOverlayFit","isCompletelyWithinViewport","_applyPosition","_canFitWithFlexibleDimensions","boundingBoxRect","_calculateBoundingBoxRect","visibleArea","bestFit","bestScore","fit","_previousPushAmount","extendStyles","alignItems","justifyContent","lastPosition","withScrollableContainers","scrollables","withViewportMargin","margin","withFlexibleDimensions","flexibleDimensions","growAfterOpen","withPush","canPush","withDefaultOffsetX","withDefaultOffsetY","_transformOriginSelector","_isRtl","endX","overlayStartX","overlayStartY","rawOverlayRect","getRoundedBoundingClientRect","_getOffset","topOverflow","bottomOverflow","visibleWidth","_subtractOverflows","visibleHeight","fitsInViewportVertically","fitsInViewportHorizontally","availableHeight","availableWidth","getPixelValue","_pushOverlayOnScreen","overflowRight","overflowBottom","overflowTop","overflowLeft","pushX","pushY","_setTransformOrigin","_setOverlayElementStyles","_setBoundingBoxStyles","_addPanelClasses","scrollVisibility","_getScrollVisibility","_lastScrollVisibility","compareScrollVisibility","isOriginClipped","isOriginOutsideView","isOverlayClipped","isOverlayOutsideView","changeEvent","xOrigin","yOrigin","transformOrigin","isRtl","smallestDistanceToViewportEdge","previousHeight","previousWidth","_hasExactPosition","hasExactPosition","hasFlexibleDimensions","_getExactOverlayY","_getExactOverlayX","transformString","horizontalStyleProperty","originBounds","overlayBounds","scrollContainerBounds","overflows","currentValue","currentOverflow","axis","cssClass","clientRect","wrapperClass","GlobalPositionStrategy","_cssPosition","_topOffset","_bottomOffset","_alignItems","_xOffset","_width","_height","centerHorizontally","centerVertically","parentStyles","shouldBeFlushHorizontally","shouldBeFlushVertically","xOffset","marginLeft","marginRight","marginTop","marginBottom","OverlayPositionBuilder","nextUniqueId","_componentFactoryResolver","_positionBuilder","_injector","_directionality","_animationsModuleType","_createHostElement","pane","_createPaneElement","portalOutlet","_createPortalOutlet","_appRef","ApplicationRef","DomPortalOutlet","defaultPositionList","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY","CdkOverlayOrigin","elementRef","CdkConnectedOverlay","_updatePositionStrategy","_disposeOnNavigation","viewContainerRef","scrollStrategyFactory","_backdropSubscription","_attachSubscription","_detachSubscription","_positionSubscription","viewportMargin","lockPosition","positionChange","overlayKeydown","overlayOutsideClick","_templatePortal","_scrollStrategyFactory","_attachOverlay","_detachOverlay","_buildConfig","_getOriginElement","_createPositionStrategy","currentPosition","_getOrigin","transformOriginSelector","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY","PortalModule","hasV8BreakIterator","v8BreakIterator","supportsPassiveEvents","_platformId","isPlatformBrowser","EDGE","TRIDENT","ANDROID","SAFARI","supportsPassiveEventListeners","RtlScrollAxisType","NORMAL","NEGATED","INVERTED","rtlScrollAxisType","shadowDomIsSupported","scrollToFunction","scrollTo","getRtlScrollAxisType","scrollContainer","containerStyle","contentStyle","_supportsShadowDom","createShadowRoot","getRootNode","newActiveElement","composedPath","__karma__","jasmine","jest","Mocha","Portal","_attachedHost","setAttachedHost","ComponentPortal","componentFactoryResolver","projectableNodes","DomPortal","BasePortalOutlet","attachDomPortal","_attachedPortal","attachComponentPortal","attachTemplatePortal","_invokeDisposeFn","setDisposeFn","_disposeFn","outletElement","_defaultInjector","componentFactory","resolveComponentFactory","componentRef","createComponent","Injector","attachView","hostView","viewCount","detachView","_getComponentRootNode","viewContainer","viewRef","createEmbeddedView","rootNodes","CdkPortalOutlet","_getRootNode","attachedRef","_attachedRef","ScrollDispatcher","_scrolled","_globalSubscription","_scrolledCount","elementScrolled","scrollableReference","auditTimeInMs","_addGlobalListener","_removeGlobalListener","ancestorScrolled","elementOrElementRef","ancestors","getAncestorScrollContainers","scrollingContainers","_subscription","_scrollableContainsElement","scrollableElement","CdkScrollable","scrollDispatcher","_elementScrolled","_applyScrollToOptions","measureScrollOffset","ViewportRuler","_change","_changeListener","_viewportSize","_updateViewportSize","getViewportRect","documentRect","scrollY","scrollX","_DOM","getDOM","setRootDomAdapter","adapter","DomAdapter","PlatformLocation","historyGo","relativePosition","BrowserPlatformLocation","LOCATION_INITIALIZED","getBaseHrefFromDOM","onPopState","getGlobalEventTarget","onHashChange","hostname","newPath","go","getState","joinWithSlash","slashes","stripTrailingSlash","pathEndIdx","normalizeQueryParams","LocationStrategy","PathLocationStrategy","APP_BASE_HREF","_platformLocation","_removeListenerFns","_baseHref","prepareExternalUrl","includeHash","externalUrl","HashLocationStrategy","locationStrategy","_subject","_urlChangeListeners","_urlChangeSubscription","_locationStrategy","baseHref","_basePath","_stripOrigin","_stripIndexHtml","isCurrentPathEqualTo","_stripBasePath","strippedUrl","_notifyUrlChangeListeners","onUrlChange","fnIndex","onThrow","onReturn","createLocation","ɵɵinject","FormStyle","Standalone","TranslationWidth","Narrow","Abbreviated","Wide","Short","FormatWidth","Medium","Long","Full","NumberSymbol","Decimal","List","PercentSign","PlusSign","MinusSign","Exponential","SuperscriptingExponent","PerMille","TimeSeparator","CurrencyDecimal","CurrencyGroup","getLocaleDayNames","formStyle","ɵfindLocaleData","getLastDefinedValue","ɵLocaleDataIndex","DaysFormat","DaysStandalone","getLocaleMonthNames","MonthsFormat","MonthsStandalone","getLocaleDateFormat","DateFormat","getLocaleTimeFormat","TimeFormat","getLocaleDateTimeFormat","dateTimeFormatData","getLocaleNumberSymbol","NumberSymbols","checkFullData","ExtraData","LocaleId","extractTime","ISO8601_DATE_REGEX","NAMED_FORMATS","DATE_FORMATS_SPLIT","ZoneWidth","ShortGMT","Extended","DateType","FullYear","Month","Hours","Minutes","Seconds","FractionalSeconds","Day","TranslationType","DayPeriods","Days","Months","Eras","timezone","parsedNb","isoStringToDate","tzHour","tzMin","dateSetter","timeSetter","getNamedFormat","dateTimezoneOffset","timezoneToOffset","convertTimezoneToLocal","reverseValue","addDateMinutes","dateFormatter","getDateFormatter","DATE_FORMATS","formatter","dateStrGetter","dateGetter","weekNumberingYearGetter","weekGetter","timeZoneGetter","newDate","localeId","getLocaleId","shortTime","shortDate","formatDateTime","mediumTime","mediumDate","longTime","longDate","fullTime","fullDate","opt_values","digits","minusSign","negWrap","neg","strNum","getDatePart","formatFractionalSeconds","localeMinus","getDateTranslation","currentHours","currentMinutes","getLocaleExtraDayPeriodRules","dayPeriods","getLocaleExtraDayPeriods","afterFrom","beforeTo","getLocaleDayPeriods","amPm","DayPeriodsFormat","DayPeriodsStandalone","getLocaleEraNames","erasData","JANUARY","THURSDAY","getThursdayThisIsoWeek","datetime","currentDay","deltaToThursday","monthBased","nbDaysBefore1stDayOfMonth","today","thisThurs","firstThurs","getFirstThursdayOfYear","requestedTimezoneOffset","parseCookieValue","cookieStr","eqIndex","cookieName","WS_REGEXP","EMPTY_ARRAY","NgClass","_ngEl","initialClasses","klass","ngClass","rawClass","_updateState","_applyStateDiff","nextEnabled","stateEntry","_toggleClass","NgForOfContext","ngForOf","even","odd","NgForOf","_ngForOf","_ngForOfDirty","ngForTrackBy","_trackByFn","_viewContainer","_template","_differs","_differ","ngForTemplate","_applyChanges","forEachOperation","adjustedPreviousIndex","previousIndex","applyViewChange","ilen","forEachIdentityChange","record","ngTemplateContextGuard","NgIf","NgIfContext","_thenTemplateRef","_elseTemplateRef","_thenViewRef","_elseViewRef","_updateView","ngIfThen","assertTemplate","ngIfElse","ɵstringify","SwitchView","_templateRef","_created","enforceState","NgSwitch","_defaultViews","_defaultUsed","_caseCount","_lastCaseCheckIndex","_lastCasesMatched","ngSwitch","_ngSwitch","_updateDefaultCases","_addCase","_addDefault","_matchCase","useDefault","NgSwitchCase","_view","ngSwitchCase","NgSwitchDefault","NgStyle","_ngStyle","ngStyle","_setStyle","nameAndUnit","RendererStyleFlags2","DashCase","forEachRemovedItem","forEachAddedItem","forEachChangedItem","NgTemplateOutlet","_viewRef","ngTemplateOutletContext","ngTemplateOutlet","ngTemplateOutletInjector","_shouldRecreateView","viewContext","_createContextForwardProxy","Proxy","_target","Reflect","receiver","invalidPipeArgumentError","SubscribableStrategy","createSubscription","updateLatestValue","untracked","PromiseStrategy","_promiseStrategy","_subscribableStrategy","AsyncPipe","_latestValue","markForCheckOnValueUpdate","_obj","_strategy","_selectStrategy","_updateLatestValue","ɵisPromise","ɵisSubscribable","ɵpipe","pure","LowerCasePipe","unicodeWordMatch","TitleCasePipe","txt","UpperCasePipe","DATE_PIPE_DEFAULT_TIMEZONE","DATE_PIPE_DEFAULT_OPTIONS","DatePipe","defaultTimezone","LOCALE_ID","KeyValuePipe","differs","defaultComparator","differ","differChanges","compareFnChanged","forEachItem","makeKeyValuePair","keyValueA","keyValueB","aString","bString","SlicePipe","PLATFORM_BROWSER_ID","PLATFORM_SERVER_ID","ViewportScroller","ɵɵdefineInjectable","BrowserViewportScroller","NullViewportScroller","setOffset","getScrollPosition","scrollToPosition","scrollToAnchor","elSelected","findAnchorFromDocument","documentResult","treeWalker","scrollToElement","setHistoryScrollRestoration","scrollRestoration","XhrFactory","HttpHandler","HttpBackend","HttpHeaders","normalizedNames","lazyUpdate","lazyInit","maybeSetNormalizedName","setHeaderEntries","lcName","applyUpdate","toDelete","headerValues","HttpUrlEncodingCodec","encodeKey","standardEncoding","encodeValue","decodeKey","decodeValue","STANDARD_ENCODING_REGEX","STANDARD_ENCODING_REPLACEMENTS","valueToString","HttpParams","updates","cloneFrom","encoder","fromObject","paramParser","rawParams","codec","eqIdx","appendAll","eKey","HttpContext","isBlob","isFormData","FormData","third","fourth","reportProgress","mightHaveBody","transferCache","urlWithParams","qIdx","serializeBody","isUrlSearchParams","detectContentTypeHeader","setParams","HttpEventType","Sent","UploadProgress","ResponseHeader","DownloadProgress","HttpResponseBase","defaultStatus","HttpStatusCode","Ok","defaultStatusText","HttpHeaderResponse","HttpResponse","HttpErrorResponse","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","addBody","HttpClient","events$","res$","jsonp","callbackParam","patch","interceptorChainEndFn","finalHandlerFn","adaptLegacyInterceptorToChain","chainTailFn","initialRequest","downstreamRequest","HTTP_INTERCEPTOR_FNS","HTTP_ROOT_INTERCEPTOR_FNS","PRIMARY_HTTP_BACKEND","legacyInterceptorFnFactory","pendingTasks","ɵPendingTasks","taskId","HttpInterceptorHandler","backend","primaryHttpBackend","dedupedInterceptorFns","nextSequencedFn","interceptorFn","chainedInterceptorFn","runInInjectionContext","XSSI_PREFIX","HttpXhrBackend","xhrFactory","ɵloadImpl","detectedType","reqBody","headerResponse","partialFromXhr","getResponseUrl","originalBody","sentHeaders","onDownProgress","progressEvent","partialText","onUpProgress","progress","upload","XSRF_ENABLED","XSRF_COOKIE_NAME","XSRF_HEADER_NAME","HttpXsrfTokenExtractor","HttpXsrfCookieExtractor","lastCookieString","lastToken","parseCount","getToken","cookieString","ɵparseCookieValue","xsrfInterceptorFn","lcUrl","HttpFeatureKind","Interceptors","LegacyInterceptors","CustomXsrfConfiguration","NoXsrfProtection","JsonpSupport","RequestsMadeViaParent","Fetch","makeHttpFeature","ɵkind","ɵproviders","provideHttpClient","feature","LEGACY_INTERCEPTOR_FN","defaultEquals","activeConsumer","inNotificationPhase","epoch","SIGNAL","setActiveConsumer","consumer","REACTIVE_NODE","lastCleanEpoch","producerNode","producerLastReadVersion","producerIndexOfThis","nextProducerIndex","liveConsumerNode","liveConsumerIndexOfThis","consumerAllowSignalWrites","consumerIsAlwaysLive","producerMustRecompute","producerRecomputeValue","consumerMarkedDirty","consumerOnSignalRead","producerAccessed","assertConsumerNode","consumerIsLive","producerRemoveLiveConsumerAtIndex","producerAddLiveConsumer","producerUpdateValueVersion","consumerPollProducersForChange","producerNotifyConsumers","consumerMarkDirty","producerUpdatesAllowed","consumerBeforeComputation","consumerAfterComputation","prevConsumer","producer","seenVersion","consumerDestroy","indexOfThis","assertProducerNode","lastIdx","idxProducer","UNSET","COMPUTING","ERRORED","COMPUTED_NODE","equal","computation","throwInvalidWriteToSignalErrorFn","defaultThrowError","throwInvalidWriteToSignalError","postSignalSetFn","signalSetFn","signalValueChanged","producerIncrementEpoch","SIGNAL_NODE","NOOP_CLEANUP_FN","WATCH_NODE","cleanupFn","XSS_SECURITY_URL","RuntimeError","formatRuntimeError","noSideEffects","PARAMETERS","makeParamDecorator","parentClass","metaCtor","makeMetadataCtor","propName","ParamDecoratorFactory","annotationInstance","ParamDecorator","cls","unusedKey","ngMetadataName","annotationCls","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","overriddenName","newLineIndex","concatStringsWithSpace","__forward_ref__","forwardRef","forwardRefFn","resolveForwardRef","isForwardRef","assertEqual","actual","expected","comparison","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","isInjectable","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ngInjectableDef","ngInjectorDef","_desc","__NG_ELEMENT_ID__","isEnvironmentProviders","NG_COMP_DEF","NG_DIR_DEF","NG_PIPE_DEF","NG_MOD_DEF","NG_FACTORY_DEF","NG_ELEMENT_ID","NG_ENV_ID","__NG_ENV_ID__","renderStringify","throwProviderNotFoundError","injectorName","InjectFlags","Default","Host","Self","SkipSelf","Optional","_injectImplementation","getInjectImplementation","setInjectImplementation","impl","injectRootLimpMode","notFoundValue","injectableDef","THROW_IF_NOT_FOUND","DI_DECORATOR_FLAG","NG_TEMP_TOKEN_PATH","NEW_LINE","_currentInjector","setCurrentInjector","former","injectInjectorOnly","convertToBitFlags","skipSelf","injectArgs","getInjectFlag","attachInjectFlag","decorator","Inject","getFactoryDef","throwNotFound","deepForEach","addToArray","removeFromArray","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","arrayInsert2","value1","value2","keyValueArrayGet","_arrayIndexOfSorted","EMPTY_OBJ","ENVIRONMENT_INITIALIZER","INJECTOR$1","INJECTOR_DEF_TYPES","NullInjector","ChangeDetectionStrategy","OnPush","ViewEncapsulation$1","Emulated","ShadowDom","InputFlags","SignalBased","classIndexOf","classToSearch","startingIndex","foundIndex","setUpAttributes","native","attrVal","isAnimationProp","isNameOnlyAttributeMarker","marker","mergeHostAttrs","dst","srcMarker","mergeHostAttribute","markerInsertPosition","dstValue","NG_TEMPLATE_SELECTOR","isCssClassMatching","tNode","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","stringifyCSSSelector","currentChunk","valueOrMarker","attrValue","ɵɵdefineComponent","componentDefinition","baseDef","getNgDirectiveDef","onPush","directiveDefs","pipeDefs","getStandaloneInjector","signals","schemas","tView","initFeatures","extractDefListOrFactory","getComponentId","componentDef","hashSelectors","imul","extractDirectiveDef","getComponentDef","getDirectiveDef","nonNull","ɵɵdefineNgModule","declarations","transitiveCompileScopes","parseAndConvertBindingsForDefinition","declaredInputs","newLookup","minifiedKey","publicName","declaredName","inputFlags","ɵɵdefineDirective","directiveDefinition","ɵɵdefinePipe","pipeDef","getPipeDef$1","isStandalone","getNgModuleDef","ngModuleDef","providersResolver","inputTransforms","inputConfig","setInput","findHostDirectiveDefs","hostDirectives","debugInfo","defExtractor","dep","importProvidersFrom","internalImportProvidersFrom","ɵfromNgModule","checkForStandaloneCmp","providersOut","dedup","injectorTypesWithProviders","collectProviders","provider","internalSource","walkProviderTree","processInjectorTypesWithProviders","typesWithProviders","deepForEachProvider","parents","defType","injDef","cmpDef","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","USE_VALUE$1","isValueProvider","isTypeProvider","INJECTOR_SCOPE","NOT_YET","CIRCULAR","NULL_INJECTOR","getNullInjector","EnvironmentInjector","R3Injector","records","_ngOnDestroyHooks","_onDestroyHooks","forEachSingleProvider","processProvider","makeRecord","injectorDefTypes","assertNotDestroyed","setActiveConsumer$1","service","onDestroyHooks","removeOnDestroy","previousInjector","previousInjectImplementation","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","catchInjectorError","injectorErrorName","tokenPath","resolveInjectorInitializers","providerToRecord","providerToFactory","multiRecord","hasOnDestroy","destroyCBIdx","getUndecoratedInjectableFactory","inheritedInjectableDef","getInheritedInjectableDef","ngModuleType","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","prevInjector","isInInjectionContext","getCurrentInjector","assertInInjectionContext","debugFn","HOST","TVIEW","FLAGS","NEXT","T_HOST","HYDRATION","CLEANUP","CONTEXT","INJECTOR","RENDERER","CHILD_HEAD","CHILD_TAIL","DECLARATION_VIEW","DECLARATION_COMPONENT_VIEW","DECLARATION_LCONTAINER","PREORDER_HOOK_FLAGS","QUERIES","EMBEDDED_VIEW_INJECTOR","ON_DESTROY_HOOKS","EFFECTS_TO_SCHEDULE","REACTIVE_TEMPLATE_CONSUMER","HEADER_OFFSET","TYPE","NATIVE","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","LContainerFlags","HasTransplantedViews","isLView","isLContainer","isContentQueryHost","isComponentHost","componentOffset","isDirectiveHost","isComponentDef","isRootView","SimpleChange","isFirstChange","applyValueToInputField","inputSignalNode","privateName","applyValueToInputSignal","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","simpleChangesStore","getSimpleChangesStore","setSimpleChangesStore","SIMPLE_CHANGES_STORE","previousChange","ngInherit","profiler","hookOrListener","SVG_NAMESPACE","_ensureDirtyViewsAreAlwaysReachable","unwrapRNode","getNativeByIndex","lView","getNativeByTNode","getTNode","getComponentLViewByIndex","slotValue","viewAttachedToChangeDetector","getConstant","resetPreOrderHookFlags","markViewForRefresh","markAncestorsForTraversal","requiresRefreshOrTraversal","updateAncestorTraversalFlagsOnAttach","changeDetectionScheduler","getEnsureDirtyViewsAreAlwaysReachable","getLViewParent","storeLViewOnDestroy","onDestroyCallback","instructionState","lFrame","createLFrame","bindingsEnabled","skipHydrationRootTNode","getBindingsEnabled","isInSkipHydrationBlock$1","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","ɵɵresetView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","isParent","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","getBindingRoot","bindingRootIndex","bindingStartIndex","getBindingIndex","bindingIndex","nextBindingIndex","incrementBindingIndex","setInI18nBlock","isInI18nBlock","inI18n","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","parentTNode","parentLView","allocLFrame","enterView","newView","newLFrame","currentLFrame","childLFrame","elementDepthCount","currentNamespace","leaveViewLight","oldLFrame","leaveDI","leaveView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceHTML","namespaceHTMLInternal","_wasLastNodeCreated","wasLastNodeCreated","lastNodeWasCreated","registerPostOrderHooks","directiveStart","directiveEnd","lifecycleHooks","ngAfterContentChecked","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentView","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","callHook","callHookInternal","directive","isInitHook","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","hasParentInjector","parentLocation","getParentInjectorIndex","getParentInjectorView","startView","viewOffset","getParentInjectorViewOffset","parentView","includeViewProviders","setIncludeViewProviders","BLOOM_MASK","BLOOM_BUCKET_BITS","nextNgElementId","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","firstCreatePass","injectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","getTNodeFromLView","diPublicInInjector","bloomAdd","bloomHash","notFoundValueOrThrow","lookupTokenUsingModuleInjector","moduleInjector","getOrCreateInjectable","embeddedInjectorValue","lookupTokenUsingEmbeddedInjector","currentLView","nodeInjectorValue","lookupTokenUsingNodeInjector","embeddedViewInjector","embeddedViewInjectorValue","bloomHashBitOrFactory","tokenId","createNodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","currentTView","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","canAccessViewProviders","isHostSpecialCase","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","endIndex","providerTokenOrDef","dirDef","isFactory","throwCyclicDependencyError","stringifyForError","previousIncludeViewProviders","registerPreOrderHooks","directiveIndex","directiveDef","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","injectorView","isFirstHostTNode","NodeInjector","_tNode","_lView","ɵɵgetInheritedFactory","ownConstructor","ownFactory","getFactoryOf","objectPrototype","tViewType","ɵɵinjectAttribute","attrNameToInject","injectAttributeImpl","attrsLength","createInjector","additionalProviders","createInjectorWithoutInjectorInstances","getOriginalError","ErrorHandler","_console","originalError","_findOriginalError","INTERNAL_APPLICATION_ERROR_HANDLER","DestroyRef","injectDestroyRef","NodeInjectorDestroyRef","removeLViewOnDestroy","injectElementRef","createElementRef","unwrapElementRef","_wrapInTimeout","EventEmitter_","destroyRef","__isAsync","nextFn","errorFn","completeFn","symbolIterator","_results","_changes","_emitDistinctChangesOnly","_onDirty","_changesDetected","resultsTree","identityAccessor","newResultFlat","flat","POSITIVE_INFINITY","arrayEquals","valueA","valueB","onDirty","setDirty","hasInSkipHydrationBlockFlag","TRACKED_LVIEWS","uniqueIdCounter","MONKEY_PATCH_KEY_NAME","attachPatchData","registerLView","getFirstLContainer","getNearestLContainer","getNextLContainer","viewOrContainer","DEFAULT_APP_ID","PLATFORM_INITIALIZER","_retrieveHydrationInfoImpl","retrieveHydrationInfo","rNode","PRESERVE_HOST_CONTENT","policy$1","getPolicy$1","trustedHTMLFromString","getPolicy","trustedHTMLFromStringBypass","trustedScriptURLFromStringBypass","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","getTypeName","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","getInertBodyHelper","defaultDoc","inertDocumentHelper","InertDocumentHelper","isDOMParserAvailable","DOMParser","DOMParserHelper","getInertBodyElement","inertDocument","implementation","createHTMLDocument","templateEl","_sanitizeUrl","tagSet","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","sanitizeChildren","traverseContent","parentNodes","startElement","getFirstChild","endElement","getNextSibling","getNodeName","elAttrs","elAttr","encodeEntities","clobberedElementError","isClobberedElement","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","inertBodyElement","unsafeHtml","mXSSAttempts","parsedHtml","getTemplateContent","isTemplateElement","SecurityContext","RESOURCE_URL","ɵɵsanitizeHtml","getSanitizer","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵtrustConstantResourceUrl","trustedScriptURLFromString","ɵɵsanitizeUrlOrResourceUrl","getUrlSanitizer","COMMENT_DISALLOWED","COMMENT_DELIMITER","COMMENT_DELIMITER_ESCAPED","ɵɵresolveWindow","ɵɵresolveDocument","maybeUnwrapFn","Important","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","applyToElementOrContainer","lNodeToHandle","beforeNode","lContainer","isComponent","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","applyContainer","parentRElement","applyView","updateTextNode","createCommentNode","escapeCommentText","createElementNode","detachViewFromDOM","detachMovedView","declarationContainer","movedViews","declarationViewIndex","removeIndex","indexInContainer","viewToDetach","declarationLContainer","removedLView","removeViewFromDOM","lQueries","destroyLView","destroyViewTree","rootView","lViewOrLContainer","cleanUpView","consumerDestroy$1","executeOnDestroys","toCall","callContext","processCleanups","tCleanup","lCleanup","targetIdx","destroyHooksFn","unregisterLView","getParentRElement","getClosestRElement","nativeAppendOrInsertBefore","nativeParentNode","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","getFirstNativeNode","tNodeType","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","projectionNodes","getProjectionNodes","projection","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","nativeRemoveChild","applyNodes","isProjection","rawSlotValue","nextRNode","applyProjectionRecursive","projectionNext","tProjectionNode","componentLView","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","writeDirectClass","setupStaticAttributes","mergedAttrs","writeDirectStyle","NO_CHANGE","ɵɵadvance","selectIndexInternal","checkNoChangesMode","ɵɵdirectiveInject","ɵɵinvalidFactory","writeToDirectiveInput","SIGNAL$1","transformFn","createLView","tHostNode","hydrationInfo","getUniqueLViewId","getOrCreateTNode","createTNodeAtIndex","createTNode","tParent","insertBeforeIndex","directiveStylingLast","propertyBindings","localNames","initialInputs","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","allocExpando","numSlotsToAlloc","allocIdx","executeTemplate","templateFn","prevSelectedIndex","isUpdatePhase","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","addComponentLogic","hostTNode","getOrCreateComponentTView","lViewFlags","componentView","addToViewTree","rendererFactory","setInputsFromAttrs","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","localIndex","incompleteFirstPass","createTView","directives","pipes","constsOrFactory","ssrId","initialViewLength","createViewBlueprint","expandoStartIndex","hostBindingOpCodes","firstUpdatePass","staticViewQueries","staticContentQueries","directiveRegistry","pipeRegistry","_applyRootElementTransformImpl","captureNodeBindings","aliasMap","bindingsResult","hostDirectiveAliasMap","internalName","finalPublicName","addPropertyBinding","bindings","elementPropertyInternal","nativeOnly","dataValue","inputData","setInputsForProperty","markDirtyIfOnPush","viewIndex","childComponentLView","mapPropName","resolveDirectives","localRefs","exportsMap","matchResult","findDirectiveDefMatches","hostDirectiveDefs","hostDirectiveMatches","markAsComponentHost","initializeDirectives","cacheMatchingLocalNames","initTNodeFlags","numberOfDirectives","preOrderHooksFound","preOrderCheckHooksFound","directiveIdx","configureViewWithDirective","saveNameToExportMap","lifeCycleHooks","initializeInputAndOutputAliases","hostDirectiveDefinitionMap","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","aliasData","aliasedOutputs","generateInitialInputs","elementIndex","getCurrentDirectiveIndex","invokeHostBindingsInCreationMode","directiveFactory","nodeInjectorFactory","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","setElementAttribute","initialInputData","inputsToStore","createLContainer","hostNative","refreshContentQueries","directiveDefIdx","executeViewQueryFn","viewQueryFn","getOrCreateLViewCleanup","getOrCreateTViewCleanup","loadComponentRenderer","currentDef","unwrapLView","textBindingInternal","renderComponent","hostLView","componentHostIdx","componentTView","syncViewWithBlueprint","hostRNode","finishViewCreation","renderChildComponents","createAndRenderEmbeddedLView","declarationLView","templateTNode","embeddedTView","embeddedLView","dehydratedView","declarationViewLQueries","getLViewFromLContainer","adjustedIndex","shouldAddViewToDom","addLViewToLContainer","addToDOM","insertView","containerLength","trackMovedView","addViewToDOM","parentNativeNode","removeLViewFromLContainer","collectNativeNodes","lNode","collectNativeNodesInLContainer","nodesInSlot","lViewInAContainer","lViewFirstChildTNode","freeConsumers","REACTIVE_LVIEW_CONSUMER_NODE","REACTIVE_NODE$1","MAXIMUM_REFRESH_RERUNS","detectChangesInternal","notifyErrorHandler","detectChangesInViewWhileDirty","detectChangesInView$1","retries","inlineEffectRunner","refreshView","currentConsumer","viewShouldHaveReactiveConsumer","getOrBorrowReactiveLViewConsumer","borrowReactiveLViewConsumer","consumerBeforeComputation$1","setBindingIndex","hooksInitPhaseCompleted","markTransplantedViewsForRefresh","detectChangesInEmbeddedViews","processHostBindingOpCodes","opCode","bindingRootIndx","hostBindingFn","detectChangesInChildComponents","notifyEffect","consumerAfterComputation$1","maybeReturnReactiveLViewConsumer","detectChangesInViewIfAttached","detectChangesInComponent","shouldRefreshView","consumerPollProducersForChange$1","markViewDirty","ViewRef$1","_cdRefInjectingView","_attachedToViewContainer","viewRefs","reattach","checkNoChanges","attachToViewContainerRef","detachFromAppRef","attachToAppRef","appRef","injectTemplateRef","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","createEmbeddedViewImpl","createTemplateRef","_findMatchingDehydratedViewImpl","findMatchingDehydratedView","ChangeDetectionScheduler","ComponentRef$1","ComponentFactory$1","_NullComponentFactoryResolver","noComponentFactoryError","ComponentFactoryResolver$1","Renderer2","injectRenderer2","nodeAtIndex","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","assertNotInReactiveContext","extraContext","getActiveConsumer","getActiveConsumer$1","markedFeatures","performanceMarkFeature","enableLongStackTrace","shouldCoalesceEventChangeDetection","shouldCoalesceRunChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","onUnstable","onMicrotaskEmpty","assertZonePatched","_nesting","_outer","_inner","TaskTrackingZoneSpec","longStackTraceZoneSpec","lastRequestAnimationFrameId","nativeRequestAnimationFrame","getNativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","forkInnerZoneWithAngularBehavior","delayChangeDetectionForEventsDelegate","delayChangeDetectionForEvents","isCheckStableRunning","fakeTopEventTask","scheduleEventTask","updateMicroTaskStatus","checkStable","isAngularZone","onInvokeTask","applyThis","applyArgs","shouldBeIgnoredByZone","__ignore_ng_zone__","invokeTask","onEnter","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","_hasPendingMicrotasks","microTask","macroTask","onHandleError","isInAngularZone","assertInAngularZone","assertNotInAngularZone","runTask","EMPTY_PAYLOAD","cancelTask","runGuarded","NoopNgZone","AfterRenderPhase","EarlyRead","Write","MixedReadWrite","Read","NOOP_AFTER_RENDER_REF","afterNextRender","afterRenderEventManager","AfterRenderEventManager","callbackHandler","AfterRenderCallbackHandlerImpl","unregister","unregisterFn","AfterRenderCallback","callbackFn","executingCallbacks","buckets","deferredCallbacks","internalCallbacks","executeInternalCallbacks","isNgModule","computeStaticStyling","writeToHost","ComponentFactoryResolver","ComponentFactory","toRefArray","templateName","ChainedInjector","parentInjector","refArray","componentType","stringifyCSSSelectorList","selectorList","isBoundToModule","rootSelectorOrNode","environmentInjector","realEnvironmentInjector","rootViewInjector","hostRenderer","elementName","locateHostElement","elementOrSelector","applyRootElementTransform","getNamespace","rootFlags","rootTView","rootLView","tElementNode","rootComponentDef","rootDirectives","createRootComponentTNode","createRootComponentView","applyRootComponentStyling","viewRenderer","setRootNodeAttributes","extractAttrsAndClassesFromSelector","projectNodes","nodesforSlot","createRootComponent","hostFeatures","rootTNode","LifecycleHooksFeature","ComponentRef","_rootLView","previousInputValues","changeDetectorRef","ViewContainerRef","injectViewContainerRef","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","getViewRefs","indexOrOptions","insertImpl","componentFactoryOrType","isComponentFactory","ngModuleRef","contextInjector","viewAttachedToContainer","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","getOrCreateViewRefs","viewRefsArr","detachedView","_locateOrCreateAnchorNode","createAnchorNode","commentNode","insertAnchorNode","nativeNextSibling","_populateDehydratedViewsInLContainer","LQuery_","queryList","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","splitQueryMultiSelectors","locator","TQueries_","elementStart","elementEnd","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","tNodeIdx","createResultForNode","matchingIdx","createResultByTNodeType","createSpecialToken","materializeViewResults","queryIndex","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","createLQuery","storeCleanupWithContext","createTQuery","getQueryResults","signalFn","createSignal","createSignal$1","signalSetFn$1","updateFn","signalUpdateFn","signalUpdateFn$1","asReadonly","signalAsReadonlyFn","readonlyFn","isWritableSignal","ɵɵInheritDefinitionFeature","superType","getSuperType","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","mergeInputsWithTransforms","defData","mergeHostAttrsAcrossInheritance","minifiedName","prevViewQuery","prevContentQueries","prevHostBindings","ɵɵInputTransformsFeature","NgModuleRef$1","NgModuleFactory$1","createNgModule","NgModuleRef","_parent","_bootstrapComponents","destroyCbs","_r3Injector","NgModuleFactory","moduleType","EnvironmentNgModuleRefAdapter","debugName","runEnvironmentInitializers","createEnvironmentInjector","PendingTasks","hasPendingTasks","_hasPendingTasks","isListLikeIterable","isJsObject","updateBinding","bindingUpdated","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","ɵɵtemplate","attrsIndex","localRefsIndex","templateFirstCreatePass","tViewConsts","_locateOrCreateContainerAnchor","populateDehydratedViewsInLContainer","createContainerAnchorImpl","ɵɵattribute","elementAttributeInternal","interpolation1","v0","suffix","toTStylingRange","getTStylingRangePrev","tStylingRange","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","setTStylingRangeNextDuplicate","markDuplicates","tStylingKey","isPrevDir","tStylingAtIndex","foundDuplicate","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","parseClassNameNext","consumeClassToken","consumeWhitespace","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","isClassBased","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵclassMap","checkStylingMap","classKeyValueArraySet","classStringParser","parseClassName","resetParserState","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","oldKeyValueArray","newKeyValueArray","oldKey","setKey","toStylingKeyValueArray","styleKeyValueArray","unwrappedValue","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","residual","collectStylingFromTAttrs","collectStylingFromDirectives","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","insertTStylingBinding","tStylingKeyWithStatic","isHostBinding","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","setTStylingRangePrev","markDuplicateOfResidualStyling","currentDirective","desiredMarker","currentMarker","stringKey","tRange","higherPriorityValue","getTStylingRangeNextDuplicate","findStylingValue","isStylingValuePresent","getTStylingRangePrevDuplicate","applyStyling","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵclassMapInterpolate1","LiveCollection","updateValue","swap","index1","index2","endIdx","endItem","startItem","prevIndex","newIdx","valuesMatching","liveIdx","liveValue","trackBy","attachPreviouslyDetached","prevCollection","detachedItems","createOrAttach","liveCollection","trackByFn","newItem","initLiveItemsInTheFuture","UniqueValueMultiKeyMap","kvMap","_vMap","prevValue","vMap","ɵɵconditional","containerIndex","matchingTemplateIndex","getLContainer","getExistingTNode","RepeaterContext","$index","$count","ɵɵrepeaterTrackByIdentity","RepeaterMetadata","hasEmptyBlock","ɵɵrepeaterCreate","trackByUsesComponentInstance","emptyTemplateFn","emptyDecls","emptyVars","emptyTagName","emptyAttrsIndex","boundTrackBy","LiveCollectionLContainerImpl","needsIndexUpdate","detachExistingView","updateIndexes","getExistingLViewFromLContainer","ɵɵrepeater","metadataSlotIdx","hostTView","itemTemplateTNode","reconcile","newCollection","liveKeysInTheFuture","liveStartIdx","liveEndIdx","newEndIdx","liveStartValue","newStartValue","isStartMatching","liveEndValue","newEndValue","isEndMatching","liveStartKey","liveEndKey","newStartKey","newEndKey","newCollectionIterator","newIterationResult","liveKey","isCollectionEmpty","emptyTemplateIndex","lContainerForEmpty","emptyTemplateTNode","ɵɵelementStart","elementStartFirstCreatePass","_locateOrCreateElementNode","hasDirectives","isDetachedByI18n","getElementDepthCount","increaseElementDepthCount","ɵɵelementEnd","isSkipHydrationRootTNode","leaveSkipHydrationBlock","decreaseElementDepthCount","hasClassInput","hasStyleInput","ɵɵelement","getNamespace$1","ɵɵelementContainerStart","elementContainerStartFirstCreatePass","_locateOrCreateElementContainerNode","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","ɵɵhostProperty","ɵɵsyntheticHostProperty","localeEn","LOCALE_DATA","findLocaleData","normalizedLocale","getLocaleData","getLocalePluralCase","LocaleDataIndex","PluralCase","ng","common","FirstDayOfWeek","WeekendRange","NumberFormats","CurrencyCode","CurrencySymbol","CurrencyName","Currencies","pluralMapping","DEFAULT_LOCALE_ID","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","APPEND_EAGERLY","LOCALE_ID$1","tNodeInsertBeforeIndex","i18nParent","anchorRNode","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","getInsertBeforeIndex","setInsertBeforeIndex","getTIcu","createTNodePlaceholder","getCurrentICUCaseIndex","tIcu","currentCase","currentCaseLViewIndex","getParentFromIcuCreateOpCode","mergedCode","getRefFromIcuCreateOpCode","changeMask","changeMaskCounter","_locateOrCreateNode","textOrName","createNodeWithoutHydration","COMMENT_NODE","applyMutableOpCodes","mutableOpCodes","rootRNode","rootIdx","textNodeIndex","parentIdx","insertInFrontOf","refIdx","caseIndex","commentValue","commentNodeIndex","elementNodeIndex","applyUpdateOpCodes","updateOpCodes","bindingsStartIndex","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","activeCaseIndex","getCaseIndex","icuExpression","bindingValue","cases","resolvedCase","getPluralCase","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","loadIcuContainerVisitor","_stack","_removes","_index","enterIcu","icuContainerIteratorNext","removeOpCode","icuContainerIteratorStart","BINDING_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","createTNodeAndAddOpCode","existingTNodes","createOpCodes","isICU","i18nNodeIdx","ensureIcuContainerVisitorLoaded","loader","setTNodeInsertBeforeIndex","i18nStartFirstCreatePassProcessTextNode","hasBinding","generateBindingUpdateOpCodes","destinationNode","bindingStart","maskIndex","sizeIndex","textParts","textValue","toMaskBit","removeInnerTemplateTranslation","tagMatched","inTemplate","icuStart","bindingMask","addUpdateIcuSwitch","mainBinding","setTIcu","valueArr","nestedIcus","icuIndex","caseAst","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","icuType","i18nParseTextIntoPartsAndICU","blocks","prevPos","braceStack","braces","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","elementNode","addRemoveNode","isNestedIcu","addRemoveNestedIcu","appendToParentIdx","createAtIdx","icuCreateOpCode","ɵɵi18nStart","messageIndex","subTemplateIndex","i18nStartFirstCreatePass","parentTNodeIndex","existingTNodeStack","astStack","getTranslationForTemplate","isRootTemplateMessage","msgParts","replaceNgsp","isClosing","placeholderNode","icuNodeIndex","tI18n","applyCreateOpCodes","appendNow","ɵɵi18n","ɵɵi18nEnd","ɵɵi18nExp","setMaskBit","hasChange","ɵɵi18nApply","applyI18n","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","isTNodeDirectiveHost","processOutputs","lCleanupIndex","idxOrTargetGetter","existingListener","findExistingListener","cleanupEventName","listenerIdxInLCleanup","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","ɵɵnextContext","nextContextImpl","walkUpViews","nestingLevel","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","getProjectAsAttrValue","ngProjectAsAttrIdx","ɵɵprojectionDef","componentNode","projectionHeads","newArray","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","applyProjection","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","interpolatedValue","ɵɵcontentQuery","createContentQuery","saveContentQueryAndDirectiveIndex","tViewContentQueries","ɵɵviewQuery","createViewQuery","ɵɵqueryRefresh","isCreationMode","ɵɵloadQuery","loadQueryInternal","ɵɵreference","getContextLView","ɵɵtext","textNative","_locateOrCreateTextNode","ɵɵtextInterpolate","ɵɵtextInterpolate1","interpolated","ɵɵtextInterpolate2","v1","interpolation2","ɵɵtextInterpolate3","v2","interpolation3","ɵɵtwoWayProperty","ɵɵtwoWayBindingSet","canWrite","ɵɵtwoWayListener","resolveProvider","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesViewProvidersFactoryExist","multiFactory","factoryFn","componentProviders","multiFactoryAdd","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","contextIndex","indexInFactory","providerIsTypeProvider","providerIsClassProvider","isClassProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","factories","componentCount","multiProviders","ɵɵProvidersFeature","viewProviders","processProvidersFn","StandaloneService","cachedInjectors","getOrCreateStandaloneInjector","standaloneInjector","ɵɵStandaloneFeature","ɵɵsetComponentScope","ɵɵpureFunction0","slotOffset","pureFn","getBinding","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","pipeName","getPipeDef","pipeFactory","pipeInstance","ɵɵpipeBind1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","v3","ɵɵtemplateRefExtractor","full","major","minor","TESTABILITY","TESTABILITY_GETTER","_testabilityGetter","Testability","testabilityGetter","_pendingCount","_isZoneStable","taskTrackingZone","setTestabilityGetter","addToWindow","_watchAngularEvents","_runCallbacksIfReady","increasePendingRequestCount","decreasePendingRequestCount","doneCb","getPendingTasks","updateCb","macroTasks","creationLocation","addCallback","whenStable","getPendingRequestCount","registerApplication","unregisterApplication","findProviders","using","exactMatch","TestabilityRegistry","_applications","testability","unregisterAllApplications","getTestability","getAllTestabilities","getAllRootElements","findTestabilityInTree","findInAncestors","isSubscribable","ApplicationInitStatus","donePromise","appInits","runInitializers","asyncInitPromises","initResult","observableAsPromise","APP_BOOTSTRAP_LISTENER","optionsReducer","_bootstrapListeners","_runningTick","_destroyListeners","_views","internalErrorHandler","afterRenderEffectManager","externalTestViews","beforeRender","afterTick","componentTypes","componentOrFactory","cf","compRef","_loadComponent","tick","_tick","refreshViews","detectChangesInAttachedViews","runs","isFirstPass","detectChangesInViewIfRequired","shouldRecheckView","warnIfDestroyed","detectChangesInView","ModuleWithComponentFactories","ngModuleFactory","componentFactories","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","declaration","compileModuleAndAllComponentsAsync","clearCache","clearCacheFor","getModuleId","NgZoneChangeDetectionScheduler","applicationRef","_onMicrotaskEmptySubscription","ngZoneApplicationErrorHandlerFactory","userErrorHandler","ZoneStablePendingTask","getGlobalLocale","$localize","DEFAULT_CURRENCY_CODE","PLATFORM_DESTROY_LISTENERS","PlatformRef","_modules","bootstrapModuleFactory","moduleFactory","getNgZone","ngZoneToUse","getNgZoneOptions","eventCoalescing","runCoalescing","ngZoneEventCoalescing","ngZoneRunCoalescing","moduleRef","createNgModuleRefWithProviders","internalProvideZoneChangeDetection","ngZoneFactory","ngZoneChangeDetectionScheduler","exceptionHandler","_callAndReportToErrorHandler","initStatus","setLocaleId","_moduleDoBootstrap","compilerOptions","compileNgModuleFactory","ngDoBootstrap","destroyListeners","_platformInjector","ALLOW_MULTIPLE_PLATFORMS","createPlatformFactory","parentPlatformFactory","extraProviders","getPlatform","platformProviders","createPlatform","publishSignalConfiguration","setThrowInvalidWriteToSignalError","setThrowInvalidWriteToSignalError$1","runPlatformInitializers","createPlatformInjector","assertPlatform","requiredToken","isDevMode","injectChangeDetectorRef","createViewRef","isPipe","DefaultIterableDifferFactory","DefaultIterableDiffer","trackByIdentity","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","localMovePreviousIndex","localCurrentIndex","forEachPreviousItem","_nextPrevious","_nextAdded","forEachMovedItem","_nextMoved","_nextIdentityChange","check","_reset","itemTrackBy","mayBeDirty","trackById","_verifyReinsertion","_addIdentityChange","_mismatch","iterateListLike","_truncate","isDirty","previousRecord","_prev","_remove","_reinsertAfter","_moveAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_records","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","defaultIterableDiffersFactory","IterableDiffers","copied","defaultKeyValueDiffersFactory","KeyValueDiffers","platformCore","ApplicationModule","numberAttribute","createComputed","createComputed$1","nonReactiveReadsFn","APP_EFFECT_SCHEDULER","EffectScheduler","ZoneAwareEffectScheduler","queuedEffectCount","queues","scheduleEffect","creationZone","flushQueue","EffectHandle","effectFn","allowSignalWrites","watcher","createWatch","registerOnCleanup","isInNotificationPhase","destroyWatchNode","isWatchNodeDestroyed","createWatch$1","onCleanup","runEffect","unregisterOnDestroy","cdr","reflectComponentType","destroyed$","requiresCleanup","cleanupRef","rejectErrors","BaseControlValueAccessor","onTouched","registerOnTouched","registerOnChange","setDisabledState","BuiltInControlValueAccessor","ɵBuiltInControlValueAccessor_BaseFactory","NG_VALUE_ACCESSOR","CHECKBOX_VALUE_ACCESSOR","CheckboxControlValueAccessor","writeValue","ɵCheckboxControlValueAccessor_BaseFactory","DEFAULT_VALUE_ACCESSOR","DefaultValueAccessor","COMPOSITION_BUFFER_MODE","_compositionMode","_composing","_isAndroid","ɵgetDOM","_handleInput","_compositionStart","_compositionEnd","isEmptyInputValue","hasValidLength","NG_VALIDATORS","NG_ASYNC_VALIDATORS","EMAIL_REGEXP","minValidator","control","maxValidator","requiredValidator","requiredTrue","requiredTrueValidator","emailValidator","minLength","minLengthValidator","minlength","requiredLength","actualLength","maxLengthValidator","patternValidator","nullValidator","validators","composeAsync","maxlength","regexStr","requiredPattern","actualValue","toObservable","mergeErrors","arrayOfErrors","executeValidators","validator","normalizeValidators","isValidatorFn","validate","presentValidators","composeValidators","composeAsyncValidators","mergeValidators","controlValidators","dirValidator","getControlValidators","_rawValidators","getControlAsyncValidators","_rawAsyncValidators","makeValidatorsArray","hasValidator","addValidators","currentValidators","validatorsToAdd","removeValidators","AbstractControlDirective","_onDestroyCallbacks","pristine","untouched","statusChanges","_setValidators","_composedValidatorFn","_setAsyncValidators","_composedAsyncValidatorFn","asyncValidator","_registerOnDestroy","_invokeOnDestroyCallbacks","getError","ControlContainer","formDirective","NgControl","valueAccessor","AbstractControlStatus","cd","_cd","isTouched","isUntouched","isPristine","isInvalid","isPending","isSubmitted","NgControlStatus","NgControlStatusGroup","VALID","INVALID","DISABLED","pickValidators","validatorOrOpts","isOptionsObj","pickAsyncValidators","asyncValidators","assertControlPresent","isGroup","assertAllValuesPresent","_forEachChild","AbstractControl","_pendingDirty","_hasOwnPendingAsyncValidator","_pendingTouched","_onCollectionChange","_onDisabledChange","_assignValidators","_assignAsyncValidators","validatorFn","asyncValidatorFn","updateOn","_updateOn","setAsyncValidators","addAsyncValidators","removeAsyncValidators","hasAsyncValidator","clearValidators","clearAsyncValidators","markAsTouched","onlySelf","markAllAsTouched","markAsUntouched","_updateTouched","markAsDirty","_updatePristine","markAsPending","emitEvent","skipPristineCheck","_parentMarkedDirty","_updateValue","_updateAncestors","changeFn","updateValueAndValidity","_setInitialStatus","_cancelExistingSubscription","_runValidator","_calculateStatus","_runAsyncValidator","_updateTreeValidity","ctrl","_allControlsDisabled","_asyncValidationSubscription","setErrors","_updateControlsErrors","currPath","_find","_initObservables","_anyControlsHaveStatus","_anyControls","_anyControlsDirty","_anyControlsTouched","_registerOnCollectionChange","_setUpdateStrategy","coerceToValidator","coerceToAsyncValidator","FormGroup","_setUpControls","registerControl","addControl","removeControl","setControl","patchValue","_reduceChildren","_syncPendingControls","subtreeUpdated","updated","_reduceValue","initValue","FormRecord","CALL_SET_DISABLED_STATE","setDisabledStateDefault","controlPath","setUpControl","callSetDisabledState","setUpValidators","setUpViewChangePipeline","_pendingValue","_pendingChange","updateControl","setUpModelChangePipeline","emitModelEvent","viewToModelUpdate","_unregisterOnChange","setUpBlurPipeline","setUpDisabledChangeHandler","onDisabledChange","registerOnDisabledChange","_unregisterOnDisabledChange","cleanUpControl","validateControlPresenceOnChange","cleanUpValidators","registerOnValidatorChange","onValidatorChange","isControlUpdated","updatedValidators","updatedAsyncValidators","emitModelToViewChange","setUpFormContainer","isPropertyUpdated","viewModel","syncPendingControls","selectValueAccessor","valueAccessors","defaultAccessor","builtinAccessor","customAccessor","isBuiltInAccessor","formDirectiveProvider$1","NgForm","resolvedPromise$1","_directives","ngSubmit","_findContainer","getControl","addFormGroup","removeFormGroup","getFormGroup","updateModel","onReset","removeListItem","isFormControlState","formState","FormControl","_onChange","_applyFormState","nonNullable","initialValueIsDefault","emitViewToModelChange","AbstractFormGroupDirective","_checkParentType","ɵAbstractFormGroupDirective_BaseFactory","formControlBinding$1","NgModel","resolvedPromise","_registered","_checkForErrors","_checkName","oldName","_getPath","_setUpControl","_updateDisabled","_setUpStandalone","disabledValue","ɵNgNoValidate","NUMBER_VALUE_ACCESSOR","NumberValueAccessor","ɵNumberValueAccessor_BaseFactory","RADIO_VALUE_ACCESSOR","RadioControlValueAccessor","RadioControlRegistry","_accessors","accessor","_isSameGroup","fireUncheck","controlPair","_control","_registry","setDisabledStateFired","_fn","formControlName","NG_MODEL_WITH_FORM_CONTROL_WARNING","formControlBinding","FormControlDirective","_ngModelWarningSentOnce","_ngModelWarningConfig","_ngModelWarningSent","_isControlChanged","previousForm","formDirectiveProvider","FormGroupDirective","_updateDomValue","_checkFormPresent","_updateValidators","_updateRegistrations","_oldForm","removeListItem$1","_setUpFormContainer","_cleanUpFormContainer","addFormArray","removeFormArray","getFormArray","oldCtrl","newCtrl","isFormControl","cleanUpFormContainer","formGroupNameProvider","FormGroupName","_hasInvalidParent","formArrayNameProvider","FormArrayName","controlNameBinding","FormControlName","_added","AbstractValidatorDirective","inputName","normalizeInput","createValidator","REQUIRED_VALIDATOR","RequiredValidator","CHECKBOX_REQUIRED_VALIDATOR","CheckboxRequiredValidator","ɵRequiredValidator_BaseFactory","ɵCheckboxRequiredValidator_BaseFactory","EMAIL_VALIDATOR","EmailValidator","ɵEmailValidator_BaseFactory","MAX_LENGTH_VALIDATOR","MaxLengthValidator","ɵMaxLengthValidator_BaseFactory","PATTERN_VALIDATOR","PatternValidator","ɵPatternValidator_BaseFactory","ɵInternalFormsSharedModule","FormArray","_registerControl","UntypedFormArray","isAbstractControlOptions","FormBuilder","useNonNullable","nnfb","reducedControls","_reduceControls","createdControls","_createControl","UntypedFormBuilder","controlsConfig","ɵUntypedFormBuilder_BaseFactory","warnOnNgModelWithFormControl","_rollupMoment__default","_rollupMoment","MAT_MOMENT_DATE_ADAPTER_OPTIONS","MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY","useUtc","valueFunction","valuesArray","MomentDateAdapter","DateAdapter","dateLocale","setLocale","momentLocaleData","_localeData","longMonths","shortMonths","longDaysOfWeek","shortDaysOfWeek","narrowDaysOfWeek","getYear","getDayOfWeek","getMonthNames","getDateNames","getDayOfWeekNames","getYearName","getFirstDayOfWeek","getNumDaysInMonth","_createMoment","parseFormat","displayFormat","addCalendarYears","addCalendarMonths","addCalendarDays","toIso8601","isDateInstance","MAT_DATE_LOCALE","MAT_MOMENT_DATE_FORMATS","dateInput","monthYearLabel","dateA11yLabel","monthYearA11yLabel","provideMomentDateAdapter","MAT_DATE_FORMATS","_c6","_c8","_c9","MAT_BUTTON_CONFIG","HOST_SELECTOR_MDC_CLASS_PAIR","mdcClasses","MatButtonBase","ripple","_rippleLoader","getRipple","attachRipple","_disableRipple","_updateRippleDisabled","_disabled","_animationMode","MatRippleLoader","_isFab","disabledInteractive","configureRipple","destroyRipple","_getAriaDisabled","ariaDisabled","_getDisabledAttribute","setDisabled","MatButton","animationMode","MAT_FAB_DEFAULT_OPTIONS","MAT_FAB_DEFAULT_OPTIONS_FACTORY","MatMiniFabButton","MatIconButton","centered","_c4","MatOption_Conditional_0_Template","ctx_r0","MatOption_Conditional_5_Template","MatOption_Conditional_6_Template","_c5","MATERIAL_SANITY_CHECKS","MATERIAL_SANITY_CHECKS_FACTORY","_sanityChecks","_hasDoneGlobalChecks","_checkIsEnabled","_ErrorStateTracker","_defaultMatcher","ngControl","_parentFormGroup","_parentForm","_stateChanges","errorState","updateErrorState","oldState","isErrorState","MAT_DATE_LOCALE_FACTORY","_localeChanges","localeChanges","getValidDateOrNull","compareDate","sameDate","firstValid","secondValid","clampDate","ISO_8601_REGEX","NativeDateAdapter","matDateLocale","useUtcForDisplay","_matDateLocale","dtf","timeZone","_createDateWithOverflow","_2digit","MAT_NATIVE_DATE_FORMATS","provideNativeDateAdapter","ErrorStateMatcher","RippleState","FADING_IN","VISIBLE","FADING_OUT","HIDDEN","RippleRef","_animationForciblyDisabledThroughCss","fadeOut","fadeOutRipple","passiveCapturingEventOptions$1","RippleEventManager","_delegateEventHandler","handlersForEvent","handlersForElement","defaultRippleAnimationConfig","enterDuration","exitDuration","passiveCapturingEventOptions","pointerDownEvents","pointerUpEvents","RippleRenderer","_eventManager","_isPointerDown","_activeRipples","_pointerUpEventsRegistered","fadeInRipple","animationConfig","radius","distanceToFurthestCorner","distX","distY","transitionDuration","computedStyles","userTransitionDuration","animationForciblyDisabledThroughCss","transitionProperty","rippleRef","persistent","_mostRecentTransientRipple","onTransitionEnd","_finishRippleTransition","onTransitionCancel","_destroyRipple","rippleEl","fadeOutAll","_getActiveRipples","fadeOutAllNonPersistent","setupTriggerEvents","_triggerElement","_removeTriggerEvents","_onTouchStart","_onPointerUp","_startFadeOutTransition","isMostRecentTransientRipple","isFakeMousedown","isSyntheticEvent","_lastTouchStartEvent","rippleDisabled","rippleConfig","terminateOnPointerUp","MAT_RIPPLE_GLOBAL_OPTIONS","_setupTriggerEventsIfEnabled","_trigger","globalOptions","_globalOptions","_rippleRenderer","launch","configOrX","unbounded","MatPseudoCheckbox","appearance","MatPseudoCheckboxModule","MAT_OPTION_PARENT_COMPONENT","MAT_OPTGROUP","_uniqueIdCounter","MatOptionSelectionChange","isUserInput","MatOption","hideSingleSelectionIndicator","_mostRecentViewValue","onSelectionChange","viewValue","_text","_emitSelectionChangeEvent","_selectViaInteraction","_inert","_countGroupLabelsBeforeOption","optionIndex","optionGroups","optionsArray","groupCounter","_getOptionScrollPosition","optionOffset","optionHeight","currentScrollPosition","panelHeight","MatOptionModule","eventListenerOptions","rippleInteractionEvents","matRippleUninitialized","matRippleClassName","matRippleCentered","matRippleDisabled","_globalRippleOptions","_hosts","_onInteraction","_createRipple","hosts","existingRipple","_MatInternalFormField","labelPosition","MatCalendarBody_Conditional_0_Template","_cellPadding","numCols","MatCalendarBody_For_2_Conditional_1_Template","_firstRowOffset","labelMinRequiredCells","MatCalendarBody_For_2_For_3_Template","_r2","item_r3","_cellClicked","_emitActiveDateChange","colIndex_r4","rowIndex_r5","_cellWidth","_isActiveCell","_isRangeStart","compareValue","_isRangeEnd","_isInRange","_isComparisonBridgeStart","_isComparisonBridgeEnd","_isComparisonStart","_isComparisonEnd","_isInComparisonRange","_isPreviewStart","_isPreviewEnd","_isInPreview","_isSelected","todayValue","_getDescribedby","_isComparisonIdentical","MatCalendarBody_For_2_Template","row_r6","MatMonthView_For_4_Template","day_r1","long","MatCalendar_ng_template_0_Template","MatCalendar_Case_2_Template","activeDate","_dateSelected","_dragStarted","_dragEnded","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","startDateAccessibleName","endDateAccessibleName","_activeDrag","MatCalendar_Case_3_Template","_monthSelectedInYearView","_goToDateInView","MatCalendar_Case_4_Template","_yearSelectedInMultiYearView","MatDatepickerContent_ng_template_2_Template","MatDatepickerToggle_Conditional_2_Template","MatDatepickerIntl","calendarLabel","openCalendarLabel","closeCalendarLabel","prevMonthLabel","nextMonthLabel","prevYearLabel","nextYearLabel","prevMultiYearLabel","nextMultiYearLabel","switchToMonthViewLabel","switchToMultiYearViewLabel","startDateLabel","endDateLabel","formatYearRange","formatYearRangeLabel","MatCalendarCell","calendarBodyId","activeCapturingEventOptions","passiveEventOptions","MatCalendarBody","_focusActiveCellAfterViewChecked","_focusActiveCell","activeCell","isRange","cellAspectRatio","previewStart","previewEnd","selectedValueChange","previewChange","activeDateChange","dragStarted","dragEnded","_didDragSinceMouseDown","_enterHandler","_skipNextFocus","cell","_getCellFromElement","_touchmoveHandler","getActualTouchTarget","getCellElement","_leaveHandler","_mousedownHandler","_mouseupHandler","cellElement","_touchendHandler","_startDateLabelId","_endDateLabelId","startValue","endValue","columnChanges","rowIndex","colIndex","cellNumber","movePreview","_scheduleFocusActiveCellAfterViewChecked","isEnd","isInRange","previousCell","previousRow","nextCell","nextRow","row","isTableCell","rangeEnabled","touchLocation","elementFromPoint","DateRange","MatDateSelectionModel","_adapter","_selectionChanged","selectionChanged","updateSelection","_isValidDateInstance","MatSingleDateSelectionModel","MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER","MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY","MAT_DATE_RANGE_SELECTION_STRATEGY","MatMonthView","_activeDate","oldActiveDate","validDate","_dateAdapter","_hasSameMonthAndYear","_setRanges","_minDate","_maxDate","_dateFormats","_rangeStrategy","_rerenderSubscription","activeDrag","selectedChange","_userSelection","comparisonChange","_clearPreview","selectedDate","_getDateFromDayOfMonth","rangeStartDate","rangeEndDate","_getDateInCurrentMonth","_updateActiveDate","_handleCalendarBodyKeydown","_selectionKeyPressed","_canSelect","_previewEnd","_handleCalendarBodyKeyup","_todayDate","_getCellCompareValue","_monthLabel","monthLabel","firstOfMonth","_firstWeekOffset","_initWeekdays","_createWeekCells","_matCalendarBody","_previewChanged","previewRange","createPreview","_previewStart","dragRange","createDrag","dragDropResult","dayOfMonth","narrowWeekdays","dateNames","_weeks","_shouldEnableDate","cellClasses","d2","_rangeStart","_rangeEnd","_isRange","_comparisonRangeStart","_comparisonRangeEnd","yearsPerPage","MatMultiYearView","isSameMultiYearView","_setSelectedYear","yearSelected","_todayYear","minYearOfPage","getActiveOffset","_years","_createCellForYear","_yearSelected","selectedYear","_getDateFromYear","_getActiveCell","activeMonth","yearName","_shouldEnableYear","_selectedYear","dateAdapter","date1","date2","year1","year2","startingYear","getStartingYear","euclideanModulo","MatYearView","_setSelectedMonth","monthSelected","_monthSelected","selectedMonth","_getDateFromMonth","_todayMonth","_getMonthInCurrentYear","_yearLabel","monthNames","_createCellForMonth","normalizedDate","_shouldEnableMonth","activeYear","_isYearAndMonthAfterMaxDate","_isYearAndMonthBeforeMinDate","maxYear","maxMonth","minYear","minMonth","_selectedMonth","calendarHeaderId","MatCalendarHeader","_intl","_periodButtonLabelId","stateChanges","periodButtonText","_formatMinAndMaxYearLabels","periodButtonDescription","periodButtonLabel","prevButtonLabel","nextButtonLabel","currentPeriodClicked","previousClicked","nextClicked","previousEnabled","_isSameView","maxYearOfPage","MatCalendar","_startAt","_clampedActiveDate","_currentView","viewChangedResult","_moveFocusOnNextTick","viewChanged","_userDragDrop","_intlChanges","_calendarHeaderPortal","headerComponent","focusActiveCell","minDateChange","maxDateChange","_getCurrentViewComponent","updateTodaysDate","normalizedYear","normalizedMonth","monthView","yearView","multiYearView","tmp_1_0","matDatepickerAnimations","transformPanel","fadeInCalendar","datepickerUid","MAT_DATEPICKER_SCROLL_STRATEGY","MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY","MatDatepickerContent","_globalModel","_rangeSelectionStrategy","intl","_subscriptions","_actionsPortal","_closeButtonText","_animationState","datepicker","touchUi","_handleUserSelection","_model","newSelection","selectionFinished","_handleUserDragDrop","_startExitAnimation","_handleAnimationEvent","_getSelected","_applyPendingSelection","_assignActions","forceRerender","_selectYear","_selectMonth","_viewChanged","_closeButtonFocused","tmp_3_0","calendarHeaderComponent","_dialogLabelId","_getMinDate","_getMaxDate","_getDateFilter","MatDatepickerBase","datepickerInput","getStartValue","_color","getThemePalette","_panelClass","opened","_opened","_inputStateChanges","openedStream","closedStream","_focusedElementBeforeOpen","_backdropHarnessClass","_setConnectedPositions","_destroyOverlay","registerInput","registerActions","_componentRef","removeActions","_openOverlay","canRestoreFocus","completeClose","_forwardContentValues","getOverlayLabelId","isDialog","_getDialogStrategy","_getDropdownStrategy","_getCloseStream","getConnectedOverlayOrigin","primaryX","secondaryX","primaryY","secondaryY","ctrlShiftMetaModifiers","MatDatepicker","ɵMatDatepicker_BaseFactory","MatDatepickerInputEvent","targetElement","MatDatepickerInputBase","_getValueFromModel","_assignValueProgrammatically","_parentDisabled","_getValidators","_parseValidator","_minValidator","_maxValidator","_filterValidator","_registerModel","_valueChangesSubscription","_assignValue","_shouldHandleChangeEvent","_lastValueValid","_isValidValue","_cvaOnChange","_onTouched","dateChange","_validatorOnChange","_localeSubscription","matDatepickerParse","controlValue","_matchesFilter","matDatepickerFilter","matDatepickerMin","matDatepickerMax","dateInputsHaveChanged","_openPopup","_onInput","lastValueWasValid","hasChanged","_assignValueToModel","MAT_DATEPICKER_VALUE_ACCESSOR","MatDatepickerInput","MAT_DATEPICKER_VALIDATORS","matDatepicker","_datepicker","_closedSubscription","_min","_max","_dateFilter","wasMatchingValue","dateFormats","_formField","getLabelId","modelValue","MAT_FORM_FIELD","MAT_INPUT_VALUE_ACCESSOR","MatDatepickerToggleIcon","MatDatepickerToggle","defaultTabIndex","parsedTabIndex","_watchStateChanges","_open","datepickerStateChanged","inputStateChanged","datepickerToggled","_customIcon","_button","CdkDialogContainer_ng_template_0_Template","DialogConfig","ariaDescribedBy","ariaLabelledBy","ariaModal","autoFocus","closeOnNavigation","closeOnDestroy","closeOnOverlayDetachments","CdkDialogContainer","_interactivityChecker","_focusTrap","_elementFocusedBeforeDialogWasOpened","_closeInteractionType","_ariaLabelledByQueue","_contentAttached","_addAriaLabelledBy","_removeAriaLabelledBy","_initializeFocusTrap","_handleBackdropClicks","_captureInitialFocus","_trapFocus","_restoreFocus","_recaptureFocus","_containsFocus","_forceFocus","_focusByCssSelector","elementToFocus","focusedSuccessfully","_focusDialogContainer","focusConfig","focusTargetElement","DialogRef","containerInstance","closedSubject","componentInstance","DIALOG_SCROLL_STRATEGY","DIALOG_DATA","DEFAULT_DIALOG_CONFIG","Dialog","openDialogs","_parentDialog","_openDialogsAtThisLevel","afterOpened","_afterOpenedAtThisLevel","_afterAllClosedAtThisLevel","_ariaHiddenElements","afterAllClosed","_getAfterAllClosed","componentOrTemplateRef","getDialogById","dialogRef","dialogContainer","_attachContainer","_attachDialogContent","_hideNonDialogContentFromAssistiveTechnology","_removeOpenDialog","closeAll","reverseForEach","userInjector","containerType","containerPortal","_createInjector","templateContext","contentRef","fallbackInjector","overlayContainer","DialogModule","MatDialogContainer_ng_template_2_Template","MatDialogConfig","delayFocusTrap","OPEN_CLASS","OPENING_CLASS","CLOSING_CLASS","MatDialogContainer","focusTrapFactory","dialogConfig","interactivityChecker","focusMonitor","_animationStateChanged","_animationsEnabled","_actionSectionCount","_hostElement","_enterAnimationDuration","parseCssTime","enterAnimationDuration","_exitAnimationDuration","exitAnimationDuration","_animationTimer","_finishDialogOpen","_clearAnimationClasses","_openAnimationDone","_finishDialogClose","_startOpenAnimation","TRANSITION_DURATION_PROPERTY","_requestAnimationFrame","_waitForAnimationToComplete","_updateActionSectionCount","MatDialogState","OPEN","CLOSING","CLOSED","MatDialogRef","_containerInstance","_afterOpened","_beforeClosed","_closeFallbackTimeout","_result","_closeDialogVia","dialogResult","afterClosed","beforeClosed","interactionType","MAT_DIALOG_DATA","MAT_DIALOG_DEFAULT_OPTIONS","MAT_DIALOG_SCROLL_STRATEGY","MatDialog","dialogConfigClass","_dialog","_dialogRefConstructor","_dialogContainerType","_dialogDataToken","cdkRef","cdkConfig","_closeDialogs","dialogs","dialogElementUid","MatDialogClose","getClosestDialog","proxiedChange","_matDialogClose","_matDialogCloseResult","_onButtonClick","MatDialogLayoutSection","_dialogRef","_onAdd","_onRemove","MatDialogTitle","ɵMatDialogTitle_BaseFactory","MatDialogContent","MatDialogActions","ɵMatDialogActions_BaseFactory","align","MAT_SUFFIX","MatSuffix","_isText","_isTextSelector","MatFormFieldControl","MatFormFieldModule","ttWindow","getMatIconNameNotFoundError","iconName","getMatIconFailedToSanitizeUrlError","getMatIconFailedToSanitizeLiteralError","literal","SvgIconConfig","svgText","MatIconRegistry","_httpClient","_sanitizer","_errorHandler","_svgIconConfigs","_iconSetConfigs","_cachedIconsByUrl","_inProgressUrlFetches","_fontCssClassesByAlias","_resolvers","_defaultFontSetClass","addSvgIcon","addSvgIconInNamespace","addSvgIconLiteral","addSvgIconLiteralInNamespace","_addSvgIconConfig","addSvgIconResolver","cleanLiteral","trustedLiteral","addSvgIconSet","addSvgIconSetInNamespace","addSvgIconSetLiteral","addSvgIconSetLiteralInNamespace","_addSvgIconSetConfig","registerFontClassAlias","classNames","classNameForFontAlias","setDefaultFontSetClass","getDefaultFontSetClass","getSvgIconFromUrl","safeUrl","cachedIcon","cloneSvg","_loadSvgIconFromConfig","getNamedSvgIcon","iconKey","_getSvgFromConfig","_getIconConfigFromResolvers","iconSetConfigs","_getSvgFromIconSetConfigs","_svgElementFromConfig","namedIcon","_extractIconWithNameFromAnySet","iconSetFetchRequests","iconSetConfig","_loadSvgIconSetFromConfig","foundIcon","_extractSvgIconFromSet","_fetchIcon","iconSet","iconSource","iconElement","_setSvgAttributes","_toSvgElement","_svgElementFromString","iconConfig","getMatIconNoHttpProviderError","inProgressFetch","configNamespace","svgElement","isSafeUrlWithOptions","MAT_ICON_DEFAULT_OPTIONS","MAT_ICON_LOCATION","MAT_ICON_LOCATION_FACTORY","getPathname","funcIriAttributes","funcIriAttributeSelector","funcIriPattern","MatIcon","svgIcon","_svgIcon","_updateSvgIcon","_clearSvgElement","fontSet","_fontSet","_cleanupFontValue","_updateFontIconClasses","fontIcon","_fontIcon","_iconRegistry","ariaHidden","inline","_previousFontSetClass","_currentIconFetch","_splitIconName","cachedElements","_elementsWithExternalReferences","_previousPath","_prependPathToReferences","_usingFontIcon","_setSvgElement","_cacheChildrenWithExternalReferences","layoutElement","childCount","fontSetClasses","_previousFontIconClass","elementsWithFuncIri","elementWithReference","rawName","_svgNamespace","_svgName","TextFieldModule","MatProgressSpinner_ng_template_0_Template","_viewBox","_strokeCircumference","_circleStrokeWidth","_circleRadius","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY","diameter","BASE_SIZE","MatProgressSpinner","_diameter","_noopAnimations","_forceAnimations","strokeWidth","_strokeWidth","_strokeDashOffset","_determinateCircle","circle_r2","MatSelect_Conditional_4_Template","MatSelect_Conditional_5_Conditional_1_Template","MatSelect_Conditional_5_Conditional_2_Template","triggerValue","MatSelect_Conditional_5_Template","customTrigger","MatSelect_ng_template_10_Template","_panelDoneAnimatingStream","_getPanelTheme","_getPanelAriaLabelledby","matSelectAnimations","transformPanelWrap","MAT_SELECT_SCROLL_STRATEGY","MAT_SELECT_CONFIG","MAT_SELECT_SCROLL_STRATEGY_PROVIDER","MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY","MAT_SELECT_TRIGGER","MatSelectChange","MatSelect","_scrollOptionIntoView","panel","labelCount","_positioningSettled","_getChangeEvent","_panelOpen","_hideSingleSelectionIndicator","_syncParentProperties","_placeholder","_required","_compareWith","_selectionModel","_initializeSelection","errorStateMatcher","_errorStateTracker","_unusedNgZone","defaultErrorStateMatcher","parentForm","parentFormGroup","_parentFormField","_liveAnnouncer","_positions","o1","o2","_triggerAriaLabelledBy","disableAutomaticLabeling","_valueId","_overlayPanelClass","controlType","disableOptionCentering","panelWidth","optionSelectionChanges","openedChange","_openedStream","_closedStream","selectionChange","valueChange","_trackedModal","_skipPredicate","panelOpen","typeaheadDebounceInterval","_panelDoneAnimating","_overlayWidth","_getOverlayWidth","_preferredOverlayOrigin","_initKeyManager","_resetOptions","newAriaLabelledby","_getTriggerAriaLabelledby","_previousControl","userAriaDescribedBy","_clearFromModal","_canOpen","_applyModalPanelOwnership","_highlightCorrectOption","selectedOptions","_handleOpenKeydown","_handleClosedKeydown","isArrowKey","isOpenKey","previouslySelectedOption","selectedOption","hasDeselectedOptions","previouslyFocusedIndex","_onAttached","_overlayDir","_setSelectionByValue","_selectOptionByValue","_sortValues","correspondingOption","preferredOrigin","changedOrDestroyed","_onSelect","wasSelected","_propagateChanges","sortComparator","valueToEmit","firstEnabledOptionIndex","labelId","_getAriaActiveDescendant","setDescribedByIds","onContainerClick","shouldLabelFloat","fallbackOverlayOrigin_r4","MAT_TOOLTIP_SCROLL_STRATEGY","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY","MAT_TOOLTIP_DEFAULT_OPTIONS","MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY","showDelay","hideDelay","touchendHideDelay","PANEL_CLASS","passiveListenerOptions","MatTooltip","_updatePosition","_tooltipInstance","positionAtOrigin","_positionAtOrigin","_setupPointerEnterEventsIfNeeded","_showDelay","_hideDelay","_mouseLeaveHideDelay","_ariaDescriber","_isTooltipVisible","_updateTooltipMessage","tooltipClass","_tooltipClass","_setTooltipClass","_viewInitialized","_pointerExitEventsInitialized","_tooltipComponent","TooltipComponent","_cssClassPrefix","touchGestures","_passiveListeners","_touchstartTimeout","_cancelPendingAnimations","afterHidden","existingStrategy","scrollableAncestors","_updateCurrentPositionClass","_handleBodyInteraction","disableTooltipInteractivity","_getOverlayPosition","_addOffset","main","isLtr","originPosition","_invertPosition","overlayPosition","_markForCheck","newPosition","_currentPosition","classPrefix","_platformSupportsMouseEvents","_setupPointerExitEventsIfNeeded","_disableNativeGesturesIfNecessary","targetTouches","touchLongPressShowDelay","_addListeners","exitListeners","newTarget","_wheelListener","touchendListener","elementUnderPointer","gestures","userSelect","msUserSelect","webkitUserSelect","MozUserSelect","draggable","webkitUserDrag","touchAction","webkitTapHighlightColor","_isMultiline","_closeOnInteraction","_onHide","_showAnimation","_hideAnimation","_hideTimeoutId","_showTimeoutId","_toggleVisibility","_handleMouseLeave","_finalizeAnimation","_onShow","_isTooltipMultiline","_handleAnimationEnd","animationName","toVisible","_tooltip","showClass","hideClass","GenericBrowserDomAdapter","ɵDomAdapter","supportsDOMEvents","BrowserDomAdapter","makeCurrent","ɵsetRootDomAdapter","onAndCancel","getDefaultDocument","createHtmlDocument","isShadowRoot","getBaseElementHref","baseElement","resetBaseElement","BrowserXhr","EVENT_MANAGER_PLUGINS","EventManager","_eventNameToPlugin","_plugins","_findPluginFor","getZone","EventManagerPlugin","APP_ID_ATTRIBUTE_NAME","SharedStylesHost","styleRef","hostNodes","styleNodesInDOM","collectServerRenderedStyles","platformIsServer","resetHostNodes","addStyles","changeUsageCount","onStyleAdded","removeStyles","onStyleRemoved","getAllStyles","addHost","hostNode","addStyleToHost","removeHost","styleMap","styleRefValue","getStyleElement","styleEl","styleElRef","NAMESPACE_URIS","xhtml","xlink","xml","math","COMPONENT_REGEX","REMOVE_STYLES_ON_COMPONENT_DESTROY","shimStylesContent","compId","DomRendererFactory2","eventManager","sharedStylesHost","removeStylesOnCompDestroy","rendererByCompId","defaultRenderer","DefaultDomRenderer2","getOrCreateRenderer","EmulatedEncapsulationDomRenderer2","applyToHost","NoneEncapsulationDomRenderer","applyStyles","ShadowDomRenderer","throwOnSyntheticProps","isTemplateNode","namespaceUri","setAttributeNS","removeAttributeNS","removeProperty","decoratePreventDefault","eventHandler","hostEl","nodeOrShadowRoot","contentAttr","shimContentAttribute","componentShortId","hostAttr","shimHostAttribute","DomEventsPlugin","MODIFIER_KEYS","_keyMap","Del","Esc","Left","Right","Up","Down","Menu","Win","MODIFIER_KEY_GETTERS","KeyEventsPlugin","parseEventName","outsideHandler","eventCallback","fullKey","domEventName","_normalizeKey","codeIX","modifierName","matchEventFullKeyCode","fullKeyCode","keycode","modifierGetter","platformBrowser","ɵPLATFORM_BROWSER_ID","initDomAdapter","ɵsetDocument","BROWSER_MODULE_PROVIDERS_MARKER","TESTABILITY_PROVIDERS","ɵTESTABILITY_GETTER","BrowserGetTestability","ɵglobal","getAngularTestability","getAllAngularTestabilities","getAllAngularRootElements","frameworkStabilizers","testabilities","decrement","ɵTESTABILITY","BROWSER_MODULE_PROVIDERS","ɵINJECTOR_SCOPE","providersAlreadyPresent","withServerTransition","getTitle","newTitle","DomSanitizer","DomSanitizerImpl","ɵallowSanitizationBypassAndThrow","ɵunwrapSafeValue","ɵ_sanitizeHtml","ɵ_sanitizeUrl","ɵbypassSanitizationTrustHtml","bypassSecurityTrustStyle","ɵbypassSanitizationTrustStyle","bypassSecurityTrustScript","ɵbypassSanitizationTrustScript","bypassSecurityTrustUrl","ɵbypassSanitizationTrustUrl","bypassSecurityTrustResourceUrl","ɵbypassSanitizationTrustResourceUrl","_refCount","sharedConnection","_connection","ConnectableObservable","subjectFactory","getSubject","_teardown","higherOrderRefCount","takeLast","PRIMARY_OUTLET","RouteTitleKey","ParamsAsMap","convertToParamMap","defaultUrlMatcher","segments","segmentGroup","hasChildren","posParams","segment","consumed","shallowEqual","getDataKeys","equalArraysOrString","aSorted","bSorted","wrapIntoObservable","pathCompareMap","exact","equalSegmentGroups","containee","matrixParams","equalPath","matrixParamsMatch","numberOfChildren","subset","containsSegmentGroup","paramCompareMap","equalParams","containsParams","ignored","containsTree","fragment","containsSegmentGroupHelper","containeePaths","containerPaths","containeeSegment","UrlTree","UrlSegmentGroup","_queryParamMap","DEFAULT_SERIALIZER","serializePaths","UrlSegment","parameterMap","_parameterMap","serializePath","UrlSerializer","DefaultUrlSerializer","UrlParser","parseRootSegment","parseQueryParams","parseFragment","tree","serializeSegment","serializeQueryParams","strParams","encodeUriQuery","encodeUriFragment","primary","mapChildrenIntoArray","childOutlet","encodeUriString","encodeUriSegment","decodeQuery","serializeMatrixParams","SEGMENT_RE","matchSegments","MATRIX_PARAM_SEGMENT_RE","QUERY_PARAM_RE","QUERY_PARAM_VALUE_RE","consumeOptional","peekStartsWith","parseChildren","parseQueryParam","parseSegment","parseParens","parseMatrixParams","parseParam","matchMatrixKeySegments","valueMatch","matchQueryParams","matchUrlQueryParamValue","decodedKey","decodedVal","currentVal","allowPrimary","outletName","createRoot","rootCandidate","Ue","squashSegmentGroup","newChildren","childCandidate","grandChildOutlet","grandChild","mergeTrivialChildren","isUrlTree","createSegmentGroupFromRoute","targetGroup","rootSegmentGroup","createSegmentGroupFromRouteRecursive","currentRoute","childOutlets","childSnapshot","outlet","createUrlTreeFromSegmentGroup","computeNavigation","Navigation","numberOfDoubleDots","isAbsolute","cmdIdx","outlets","segmentPath","urlPart","partIndex","toRoot","findStartingPositionForTargetGroup","Position","isMatrixParams","createPositionApplyingDoubleDots","ci","newSegmentGroup","processChildren","updateSegmentGroupChildren","updateSegmentGroup","isCommandWithOutlets","oldRoot","oldSegmentGroup","qp","replaceSegment","oldSegment","newSegment","cmdWithOutlet","prefixedWith","currentCommandIndex","currentPathIndex","noMatch","pathIndex","commandIndex","curr","compare","slicedCommands","createNewSegmentGroup","getOutlets","childrenOfEmptyChild","createNewSegmentChildren","IMPERATIVE_NAVIGATION","EventType","NavigationCancel","NavigationError","RoutesRecognized","ResolveStart","ResolveEnd","GuardsCheckStart","GuardsCheckEnd","RouteConfigLoadStart","RouteConfigLoadEnd","ChildActivationStart","ChildActivationEnd","ActivationStart","ActivationEnd","NavigationSkipped","RouterEvent","navigationTrigger","restoredState","urlAfterRedirects","NavigationCancellationCode","Redirect","SupersededByNewNavigation","NoDataFromResolver","GuardRejected","NavigationSkippedCode","IgnoredSameUrlNavigation","IgnoredByUrlHandlingStrategy","shouldActivate","routeConfig","routerEvent","BeforeActivateRoutes","RedirectRequest","OutletContext","ChildrenOutletContexts","attachRef","contexts","onChildOutletCreated","getOrCreateContext","onChildOutletDestroyed","onOutletDeactivated","onOutletReAttached","Tree","_root","pathFromRoot","findNode","findPath","cc","TreeNode","nodeChildrenAsMap","RouterState","setRouterState","createEmptyState","rootComponent","createEmptyStateSnapshot","ActivatedRouteSnapshot","RouterStateSnapshot","emptyUrl","emptyParams","emptyData","emptyQueryParams","ActivatedRoute","urlSubject","paramsSubject","queryParamsSubject","fragmentSubject","dataSubject","futureSnapshot","_futureSnapshot","_routerState","paramMap","_paramMap","getInherited","paramsInheritanceStrategy","_resolvedData","hasStaticTitle","_resolve","serializeNode","advanceActivatedRoute","nextSnapshot","shallowEqualArrays","equalParamsAndUrlSegments","equalUrlParams","equalSegments","RouterOutlet","activateEvents","deactivateEvents","attachEvents","detachEvents","parentContexts","changeDetector","inputBinder","INPUT_BINDER","supportsBindingToComponentInputs","activatedComponentRef","isTrackedInParentContexts","deactivate","initializeOutletWithName","unsubscribeFromRouteData","activateWith","isActivated","activatedRouteData","bindActivatedRouteToOutletComponent","childContexts","OutletInjector","__ngOutletInjector","RoutedComponentInputBinder","outletDataSubscriptions","subscribeToRouteData","dataSubscription","mirror","createNode","routeReuseStrategy","prevState","shouldReuseRoute","createOrReuseChildren","shouldAttach","detachedRouteHandle","retrieve","createActivatedRoute","NAVIGATION_CANCELING_ERROR","redirectingNavigationError","urlSerializer","navigationBehaviorOptions","navigationCancelingError","cancellationCode","isNavigationCancelingError","ɵEmptyOutletComponent","standardizeConfig","getOutlet","getClosestRouteInjector","_loadedInjector","ActivateRoutes","futureState","currState","forwardEvent","inputBindingEnabled","activate","futureRoot","currRoot","deactivateChildRoutes","activateChildRoutes","futureNode","currNode","futureChild","childOutletName","deactivateRoutes","deactivateRouteAndItsChildren","shouldDetach","detachAndStoreRouteSubtree","deactivateRouteAndOutlet","treeNode","activateRoutes","stored","CanActivate","CanDeactivate","getAllRouteGuards","getChildRouteGuards","getTokenOrFunctionIdentity","tokenOrFunction","ɵisInjectable","futurePath","checks","canDeactivateChecks","canActivateChecks","prevChildren","getRouteGuards","shouldRun","shouldRunGuardsAndResolvers","runGuardsAndResolvers","isEmptyError","INITIAL_VALUE","prioritizedGuardValue","redirectIfUrlTree","NoMatch","AbsoluteRedirect","urlTree","noMatch$1","ApplyRedirects","lineralizeSegments","applyRedirectCommands","newTree","applyRedirectCreateUrlTree","createSegmentGroup","createQueryParams","redirectToParams","actualParams","updatedSegments","createSegments","redirectToSegments","actualSegments","findPosParam","findOrReturn","redirectToUrlSegment","consumedSegments","remainingSegments","positionalParamSegments","matchWithChecks","getOrCreateRouteInjectorIfNeeded","currentInjector","runCanMatchGuards","canMatch","canMatchObservables","injectionToken","isCanMatch","createWildcardMatchResult","slicedSegments","containsEmptyPathMatchesWithNamedOutlets","emptyPathMatch","createChildrenForEmptyPaths","containsEmptyPathMatches","addEmptyPathsToChildrenIfNeeded","primarySegment","NoLeftoversInUrl","Recognizer","configLoader","rootComponentType","applyRedirects","absoluteRedirectCount","allowRedirects","noMatchError","recognize","routeState","createUrlTreeFromSnapshot","inheritParamsAndData","processSegmentGroup","routeNode","processSegment","sortedConfig","sortByMatchingOutlets","outletChildren","last$1","mergedChildren","mergeEmptyPathMatches","sortActivatedRouteSnapshots","localeCompare","processSegmentAgainstRoute","noLeftoversInUrl","rawSegment","isImmediateMatch","matchSegmentAgainstRoute","expandSegmentAgainstRouteUsingRedirect","newSegments","getChildConfig","childInjector","_loadedComponent","getResolve","matchedOnOutlet","_loadedRoutes","runCanLoadGuards","canLoad","canLoadObservables","isCanLoad","shouldLoadResult","canLoadFails","hasEmptyPathConfig","mergedNodes","duplicateEmptyPathNode","resultNode","mergedNode","flattenRouteTree","descendants","switchTap","nextResult","TitleStrategy","buildTitle","pageTitle","getResolvedTitleForRoute","DefaultTitleStrategy","updateTitle","ROUTER_CONFIGURATION","RouterConfigLoader","componentLoaders","childrenLoaders","compiler","onLoadStartListener","loadRunner","maybeUnwrapDefaultExport","onLoadEndListener","factoryOrRoutes","rawRoutes","requireStandaloneComponents","isWrappedDefaultExport","UrlHandlingStrategy","DefaultUrlHandlingStrategy","shouldProcessUrl","extract","newUrlPart","wholeUrl","CREATE_VIEW_TRANSITION","VIEW_TRANSITION_OPTIONS","createViewTransition","transitionOptions","startViewTransition","skipNextTransition","resolveViewTransitionStarted","viewTransitionStarted","createRenderPromise","onViewTransitionCreated","NavigationTransitions","hasRequestedNavigation","navigationId","currentNavigation","lastSuccessfulNavigation","transitionAbortSubject","rootContexts","titleStrategy","urlHandlingStrategy","afterPreactivation","handleNavigationRequest","setupNavigations","initialUrlTree","initialRouterState","currentUrlTree","currentRawUrl","extractedUrl","rawUrl","extras","targetSnapshot","currentRouterState","targetRouterState","guards","guardsResult","overallTransitionState","cancelNavigationTransition","initialUrl","previousNavigation","urlTransition","navigated","isUpdatingInternalState","isUpdatedBrowserUrl","onSameUrlNavigation","serializer","recognize$1","finalUrl","routesRecognized","navStart","skipLocationChange","replaceUrl","guardsStart","checkGuards","runCanDeactivateChecks","futureRSS","currRSS","runCanDeactivate","currARS","canDeactivate","canDeactivateObservables","closestInjector","isCanDeactivate","runCanActivateChecks","fireChildActivationStart","fireActivationStart","runCanActivateChild","futureARS","canActivateChildGuardsMapped","getCanActivateChild","canActivateChild","guardsMapped","isCanActivateChild","runCanActivate","canActivateObservables","isCanActivate","guardsEnd","resolveStart","dataResolved","resolveData","routesWithResolversToRun","routesNeedingDataUpdates","newRoute","routesProcessed","runResolve","resolveNode","getResolver","resolvedData","resolveEnd","loadComponents","loaders","loadedComponent","createRouterState","isRedirectingNavigationCancelingError","resolveNavigationPromiseOnError","navCancel","isBrowserTriggeredNavigation","RouteReuseStrategy","DefaultRouteReuseStrategy","BaseRouteReuseStrategy","detachedTree","ɵDefaultRouteReuseStrategy_BaseFactory","StateManager","HistoryStateManager","canceledNavigationResolution","urlUpdateStrategy","rawUrlTree","currentPageId","lastSuccessfulId","routerState","stateMemento","createStateMemento","getCurrentUrlTree","getRawUrlTree","browserPageId","ɵrouterPageId","getRouterState","registerNonRouterCurrentEntryChangeListener","handleRouterEvent","setBrowserUrl","restoreHistory","generateNgRouterState","navigation","restoringFromCaughtError","targetPagePosition","resetState","resetUrlToCurrentUrlTree","routerPageId","ɵHistoryStateManager_BaseFactory","NavigationResult","COMPLETE","FAILED","REDIRECTING","afterNextNavigation","exactMatchOptions","subsetMatchOptions","Router","stateManager","disposed","isNgZoneEnabled","ɵConsole","navigationTransitions","componentInputBindingEnabled","eventsSubscription","resetConfig","subscribeToNavigationEvents","mergedTree","scheduleNavigation","isPublicRouterEvent","resetRootComponentType","initialNavigation","setUpLocationChangeListener","navigateToSyncWithBrowser","nonRouterCurrentEntryChangeSubscription","stateCopy","parseUrl","serializeUrl","getCurrentNavigation","createUrlTree","navigationExtras","preserveFragment","relativeToUrlSegmentGroup","removeEmptyProps","validateCommands","matchOptions","priorPromise","RouterLink","tabIndexAttribute","onChanges","updateHref","setTabIndexIfNotOnNativeEl","newTabIndex","applyAttributeValue","routerLink","sanitizedValue","RouterLinkActive","_isActive","routerLinkActiveOptions","isActiveChange","routerEventsSubscription","subscribeToEachLinkOnChanges","linkInputChangesSubscription","allLinkChanges","isLinkActive","routerLinkActive","hasActiveLinks","ariaCurrentWhenActive","isActiveMatchOptions","isActiveCheckFn","PreloadingStrategy","RouterPreloader","preloadingStrategy","setUpPreloading","preload","processRoutes","injectorForCurrentRoute","injectorForChildren","preloadConfig","loadedChildren$","recursiveLoadChildren$","loadComponent$","ROUTER_SCROLLER","RouterScroller","viewportScroller","lastSource","restoredId","scrollPositionRestoration","anchorScrolling","createScrollEvents","scrollEventsSubscription","consumeScrollEvents","scheduleScrollEvent","routerFeature","getBootstrapListener","bootstrappedComponentRef","bootstrapDone","BOOTSTRAP_DONE","INITIAL_NAVIGATION","ROUTER_PRELOADER","withPreloading","withViewTransitions","skipInitialTransition","ROUTER_FORROOT_GUARD","ROUTER_PROVIDERS","rootRoute","provideForRootGuard","useHash","scrollOffset","provideInitialNavigation","bindToComponentInputs","enableViewTransitions","ROUTER_INITIALIZER","forChild","locationInitialized","_c7","isDefined","reflow","transitionTimerDelayMs","noopFn","runningTransitions","ngbRunTransition","startFn","runningTransition","transition$","endFn","runInZone","finishTransition$","endWith","transitionDurationMs","getTransitionDurationMs","transitionDelay","transitionEnd$","raceInit","subscriptions","timer$","NgbConfig","NgbAccordionModule","NgbAlertModule","NgbButtonsModule","NgbCarouselModule","NgbCollapseModule","getMonthLabel","getWeekLabel","NGB_DATEPICKER_18N_FACTORY","NgbDatepickerI18nDefault","_monthsFull","weekdaysStartingOnSunday","NgbDatepickerConfig","displayMonths","outsideDays","showWeekNumbers","Key","Tab","Enter","Escape","Space","PageUp","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","FOCUSABLE_ELEMENTS_SELECTOR","getFocusableBoundaryElements","Positioning","getStyle","isStaticPositioned","offsetParentEl","elPosition","parentOffset","elBcr","viewportOffset","elOffset","positionElements","placement","appendToBody","placementPrimary","placementSecondary","hostElPosition","targetElStyles","topPosition","leftPosition","targetElBCR","windowHeight","windowWidth","NGB_DATEPICKER_PARSER_FORMATTER_FACTORY","NgbDateISOParserFormatter","dateParts","ɵNgbDateISOParserFormatter_BaseFactory","NgbDatepickerModule","NgbNavbar","NgbDropdownModule","ContentRef","NgbModalBackdrop","_el","NgbActiveModal","dismiss","NgbModalRef","_windowCmptRef","_contentRef","_backdropCmptRef","_beforeDismiss","_closed","_dismissed","_hidden","dismissEvent","_reject","dismissed","_removeModalElements","_dismiss","windowTransition$","backdropTransition$","ModalDismissReasons","BACKDROP_CLICK","ESC","NgbModalWindow","_elRef","_closed$","_elWithFocus","keyboard","_show","_disableEventHandling","dialogTransition$","_dialogEl","transitions$","_enableEventHandling","_setFocus","which","defaultPrevented","_bumpBackdrop","preventClose","autoFocusable","firstFocusable","elWithFocus","windowClass","modalDialogClass","ScrollBar","paddingRight","actualPadding","NgbModalStack","_applicationRef","_scrollBar","_rendererFactory","_activeWindowCmptHasChanged","_ariaHiddenValues","_scrollBarRestoreFn","_backdropAttributes","_modalRefs","_windowAttributes","_windowCmpts","_activeInstances","activeWindowCmpt","ngbFocusTrap","stopFocusTrap$","refocusOnClick","lastFocusedElement$","tabEvent","focusedElement","lastFocusedElement","_revertAriaHidden","_setAriaHidden","_restoreScrollBar","scrollBarRestoreFn","_hideScrollBar","moduleCFR","contentInjector","containerEl","activeModal","_getContentRef","backdropCmptRef","windowCmptRef","_attachWindowComponent","ngbModalRef","beforeDismiss","_registerModalRef","_registerWindowCmpt","_applyWindowOptions","_applyBackdropOptions","activeInstances","dismissAll","hasOpenModals","windowInstance","optionName","backdropInstance","_createFromTemplateRef","_createFromString","_createFromComponent","contentCmptFactory","modalContentInjector","componentNativeEl","unregisterModalRef","ngbWindowCmpt","NgbModalConfig","_ngbConfig","_animation","NgbModal","_moduleCFR","_modalStack","combinedOptions","NgbModalModule","NgbNavModule","NgbPaginationModule","NgbPopoverModule","NgbProgressbarModule","NgbRatingModule","NgbTimepickerModule","NgbToastModule","NgbTooltipModule","ARIA_LIVE_DELAY_FACTORY","NgbTypeaheadModule","NGB_MODULES","DefaultLoader","isScopeObject","flatten$1","failedRetries","allowEmpty","aot","interpolation","TRANSLOCO_TRANSPILER","DefaultTranspiler","userConfig","interpolationMatcher","resolveMatcher","handleObject","handleArray","getParams","transpiled","TRANSLOCO_MISSING_HANDLER","DefaultHandler","TRANSLOCO_INTERCEPTOR","DefaultInterceptor","preSaveTranslation","preSaveTranslationKey","TRANSLOCO_FALLBACK_STRATEGY","DefaultFallbackStrategy","getNextLangs","getScopeFromLang","getLangFromScope","getPipeValue","splitted","lastItem","shouldListenToLangChanges","hasStatic","listenOrNotOperator","listenToLangChange","resolveInlineLoader","providerScope","hasInlineLoader","prependScope","inlineLoader","getEventPayload","langName","resolveLoader","mainLoader","fallbackStrategy","isResolvedMissingOnce","failedLangs","mergedConfig","mergeConfig","wasFailure","onLangChanged","loadTranslation","isScope","_isLangScoped","loadersOptions","firstFallbackLang","getFallbacksLoaders","fallbackPath","load$","handleSuccess","handleFailure","resolveLang","resolveLangAndScope","_handleMissingKey","selectTranslate","_isObject","translateObject","isLang","isScopeWithLang","unflatten$1","getObjectByKey","_key","selectTranslateObject","firstKey","firstParams","langOrScope","selectTranslation","language$","scopeLangSpecified","currentLang","setTranslation","mergedOptions","emitChange","flattenScopeOrTranslation","getMappedScope","mergedTranslation","flattenTranslation","withHook","setTranslationKey","Re","getMissingHandlerData","getAvailableLangsIds","_loadDependencies","mainLang","isLoadedTranslation","_completeScopeWithLang","_setScopeAlias","scopeMapping","loadOptions","failedCounter","fallbackLangs","nextLang","langFromScope","hasLang","TranslocoLoaderComponent","TemplateHandler","vcr","TRANSLOCO_LANG","TRANSLOCO_LOADING_TEMPLATE","TRANSLOCO_SCOPE","LangResolver","resolveLangBasedOnScope","resolveLangPath","ScopeResolver","TranslocoDirective","tpl","providerLang","providedLoadingTpl","translationMemo","langResolver","scopeResolver","inlineLang","resolveScope","attributeStrategy","structuralStrategy","inlineRead","loadingTpl","getLoadingTpl","loaderTplHandler","detachLoader","getTranslateFn","withRead","withParams","inlineTpl","resolvedScope","inlineScope","TranslocoPipe","lastKey","defaultProviders","Notification","observeNotification","do","nextHandler","completeHandler","nextOrObserver","createNext","createError","createComplete","completeNotification","elementOrOptions","activeGroups","teardownAttempted","groupBySourceSubscriber","grouped","createGroupedObservable","groupSubject","groupSubscriber","DEFAULT_EFFECT_CONFIG","functional","useEffectsErrorHandler","CREATE_EFFECT_METADATA_KEY","getSourceForInstance","isClass","classOrRecord","getClasses","classesAndRecords","mergeEffects","sourceInstance","globalErrorHandler","effectsErrorHandler","observables$","getSourceMetadata","getCreateEffectMetadata","observable$","effectAction$","materialize","defaultEffectsErrorHandler","retryAttemptLeft","Actions","ScannedActionsSubject","allowedTypes","typeOrActionCreator","_ROOT_EFFECTS_GUARD","USER_PROVIDED_EFFECTS","_ROOT_EFFECTS","_ROOT_EFFECTS_INSTANCES","_FEATURE_EFFECTS","_FEATURE_EFFECTS_INSTANCE_GROUPS","EFFECTS_ERROR_HANDLER","ROOT_EFFECTS_INIT","rootEffectsInit","isOnInitEffects","EffectSources","addEffects","effectSourceInstance","toActions","effectsInstance","isClassInstance","source$","effect$","resolveEffectSource","mergedEffects$","isOnRunEffects","ngrxOnRunEffects","reportInvalidActions","reporter","isAction","getEffectName","isMethod","dematerialize","init$","ngrxOnInitEffects","isOnIdentifyEffects","ngrxOnIdentifyEffects","EffectsRunner","isStarted","effectsSubscription","effectSources","EffectsRootModule","runner","rootEffectsInstances","storeRootModule","storeFeatureModule","EffectsFeatureModule","effectsRootModule","effectsInstanceGroups","effectsInstances","forFeature","featureEffects","effectsClasses","createEffectsInstances","rootEffects","_provideForRootGuard","effectsGroups","userProvidedEffectsGroups","effectsGroup","userProvidedEffectsGroup","effectsTokenOrRecord","isToken","tokenOrRecord","REGISTERED_ACTION_TYPES","defineType","_as","_p","ACTIONS_SUBJECT_PROVIDERS","_ROOT_STORE_GUARD","_INITIAL_STATE","REDUCER_FACTORY","_REDUCER_FACTORY","INITIAL_REDUCERS","_INITIAL_REDUCERS","STORE_FEATURES","_STORE_REDUCERS","_FEATURE_REDUCERS","_FEATURE_CONFIGS","_STORE_FEATURES","_FEATURE_REDUCERS_TOKEN","FEATURE_REDUCERS","USER_PROVIDED_META_REDUCERS","META_REDUCERS","_RESOLVED_META_REDUCERS","USER_RUNTIME_CHECKS","_USER_RUNTIME_CHECKS","ACTIVE_RUNTIME_CHECKS","_ACTION_TYPE_UNIQUENESS_CHECK","combineReducers","reducerKeys","finalReducers","finalReducerKeys","previousStateForKey","nextStateForKey","composed","createReducerFactory","reducerFactory","metaReducers","ReducerObservable","ReducerManager","currentReducers","addFeature","addFeatures","reducerDict","createFeatureReducerFactory","addReducers","removeFeature","removeFeatures","removeReducers","addReducer","gn","updateReducers","removeReducer","featureKeys","keyToRemove","xe","REDUCER_MANAGER_PROVIDERS","ɵScannedActionsSubject_BaseFactory","SCANNED_ACTIONS_SUBJECT_PROVIDERS","reducer$","stateAndAction$","reduceState","stateSubscription","stateActionPair","STATE_PROVIDERS","Store","actionsObserver","reducerManager","pathOrMapFn","selectSignal","STORE_PROVIDERS","propsOrPath","mapped$","pathSlices","pluck","currentProp","RUNTIME_CHECK_URL","isEqualCheck","defaultMemoize","projectionFn","isArgumentsEqual","isResultEqual","overrideResult","lastArguments","lastResult","isArgumentsChanged","newResult","setResult","clearResult","createSelectorFactory","stateFn","defaultStateFn","isSelectorsDictionary","extractArgsFromSelectorsDictionary","selectorsDictionary","resultKeys","projector","selectorResults","Ut","memoizedSelectors","release","memoizedProjector","memoizedState","_createStoreReducers","_createFeatureStore","configs","featureStores","feat","_createFeatureReducers","reducerCollection","_initialStateFactory","_concatMetaReducers","userProvidedMetaReducers","targetIsFunction","propValue","getUnserializable","targetPrototype","throwIfUnserializable","unserializable","unserializablePath","createActiveRuntimeChecks","runtimeChecks","strictStateSerializability","strictActionSerializability","strictStateImmutability","strictActionImmutability","strictActionWithinNgZone","strictActionTypeUniqueness","createSerializationCheckMetaReducer","serializationCheckMetaReducer","ignoreNgrxAction","createImmutabilityCheckMetaReducer","immutabilityCheckMetaReducer","act","createInNgZoneCheckMetaReducer","inNgZoneAssertMetaReducer","provideRuntimeChecks","_runtimeChecksFactory","checkForActionTypeUniqueness","_actionTypeUniquenessCheck","registrations","_provideStore","_provideState","featureNameOrSlice","StoreRootModule","scannedActions$","actionCheck","StoreFeatureModule","featureReducers","feats","ons","existingReducer","newReducer","construct","thisValue","Func","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arraySplice","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","unconstruct","_len2","_key2","_len","addToSet","transformCaseFunc","lcElement","cleanArray","newObject","lookupGetter","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","mathMl","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","purify","createDOMPurify","originalDocument","HTMLTemplateElement","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","ElementPrototype","getChildNodes","getParentNode","trustedTypesPolicy","createNodeIterator","createDocumentFragment","importNode","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","tbody","TRUSTED_TYPES_POLICY","purifyHostElement","ATTR_NAME","policyName","scriptUrl","_createTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","_removeAttribute","getAttributeNode","_initDocument","leadingWhitespace","dirtyPayload","createDocument","_createNodeIterator","SHOW_COMMENT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_isClobbered","_isNode","_executeHooks","_sanitizeElements","allowedTags","_isBasicCustomElement","childClone","__removalCount","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","_sanitizeAttributes","hookEvent","keepAttr","allowedAttributes","forceKeepAttr","getAttributeType","_sanitizeShadowDOM","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","shadowroot","shadowrootmode","serializedHTML","doctype","setConfig","clearConfig","isValidAttribute","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks","_typeof","_defineProperties","_assertThisInitialized","_wrapNativeSuper","Class","_cache","_isNativeFunction","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","sham","ParseError","_Error","_inherits","subClass","superClass","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_classCallCheck","_createClass","protoProps","staticProps","objectConstructor","semver_compare","pb","na","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","validateMetadata","setVersion","nonGeographic","nonGeographical","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","_type2","getType","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","getCountryCallingCode","countryCallingCode","isSupportedCountry","v4","ownKeys","enumerableOnly","symbols","sym","_defineProperty","_arrayLikeToArray","normalizeArguments","_Array$prototype$slic2","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_s","_e","_arr","_n","_unsupportedIterableToArray","minLen","_nonIterableRest","arg_1","arg_2","arg_3","arg_4","_objectSpread","getOwnPropertyDescriptors","defaultCountry","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","getExtensionDigitsPattern","createExtensionPattern","purpose","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","possibleSeparatorsNumberExtLabelNoComma","rfcExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","EXTN_PATTERN","DIGITS","parseIncompletePhoneNumber","_createForOfIteratorHelperLoose","allowArrayLike","parsePhoneNumberCharacter","prevParsedCharacters","parseDigit","checkNumberLength","checkNumberLengthForType","type_info","possible_lengths","mobile_type","mergeArrays","merged","actual_length","minimum_length","regular_expression","NON_FIXED_LINE_PHONE_TYPES","isNumberTypeEqualTo","FIRST_GROUP_PATTERN","SINGLE_IDD_PREFIX_REG_EXP","formatExtension","formattedNumber","formatNationalNumber","carrierCode","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","internationalFormat","applyInternationalSeparatorStyle","addExtension","countryOrCountryCallingCode","_getCountryAndCountry","getCountryAndCountryCallingCode","metadataJson","isCountryCode","getPossibleCountriesForNumber","possibleCountries","couldNationalNumberBelongToCountry","isPossiblePhoneNumber","isNonGeographicCallingCode","formatNumber","formatRFC3966","fromCountry","formatIDD","fromCountryCallingCode","iddPrefix","getIddPrefix","countryMetadata","extractNationalNumber","_extractNationalNumbe","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","capturedGroupsCount","hasCapturedGroups","possiblePositionOfTheFirstCapturedGroup","shouldHaveExtractedNationalPrefix","nationalNumberBefore","nationalNumberAfter","isPossibleIncompleteNationalNumber","USE_NON_GEOGRAPHIC_COUNTRY_CODE","getCountryByCallingCode","nationalPhoneNumber","getCountryByNationalNumber","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","_parseInput","parseInput","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","numberToParse","phoneNumberString","extractFormattedPhoneNumber","phoneContext","extractPhoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","isPhoneContextValid","indexOfNationalNumber","indexOfRfc3966Prefix","indexOfIsdn","_extractFormattedPhoneNumber","throwOnError","startsAt","isViablePhoneNumberStart","withExtensionStripped","extractExtension","numberWithoutExtension","formattedPhoneNumber","_parsePhoneNumber","defaultCallingCode","_extractCountryCallin","extractCountryCallingCode","isNumberWithIddPrefix","numberWithoutIDD","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","countryCallingCodeSource","_countryCallingCode","exactCountry","hasSelectedNumberingPlan","__countryCallingCodeSource","possible","parsePhoneNumberWithError","_normalizeArguments","parsePhoneNumber_","withMetadataArgument","metadata_min_json","_arguments","Toast_button_0_Template","Toast_div_1_ng_container_2_Template","duplicatesCount","Toast_div_1_Template","titleClass","Toast_div_2_Template","messageClass","Toast_div_3_Template","Toast_div_4_Template","newestOnTop","BasePortalHost","ToastRef","_afterClosed","_activate","_manualClose","_resetTimeout","_countDuplicate","manualClose","manualClosed","timeoutReset","countDuplicate","isInactive","afterActivate","onDuplicate","resetTimeout","ToastPackage","toastId","toastType","toastRef","_onTap","_onAction","triggerTap","tapToDismiss","onTap","triggerAction","onAction","TOAST_CONFIG","DomPortalHost","_hostDomElement","_portalHost","_paneElements","positionClass","_createOverlayRef","getPaneElement","_createPortalHost","ToastrService","currentlyActive","toasts","previousToastMessage","iconClasses","override","_preBuildNotification","applyConfig","warning","_findToast","activeToast","maxOpened","findDuplicate","resetOnDuplicate","countDuplicates","includeTitleDuplicates","onActivateTick","_buildNotification","toastComponent","duplicate","resetTimeoutOnDuplicate","preventDuplicates","keepInactive","autoDismiss","sanitizedMessage","enableHtml","toastPackage","toastInjector","ins","onShown","DefaultGlobalConfig","closeButton","extendedTimeOut","progressBar","toastClass","easeTime","progressAnimation","Toast","originalTimeout","toastClasses","displayStyle","intervalId","hideTime","sub1","sub2","sub3","activateToast","outsideTimeout","outsideInterval","updateProgress","tapToast","stickAround","delayedHideToast","runInsideAngular","provideToastr","asyncGeneratorStep","_throw","generator","fulfilled","rejected","adopt","AsyncIterator","verb","awaitReturn","fulfill","__values","SuppressedError"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/@store/actions/app.actions.ts","./src/app/@store/actions/header.actions.ts","./src/app/@store/actions/profile.actions.ts","./src/app/@store/actions/register-profile.actions.ts","./src/app/@store/actions/registration.actions.ts","./src/app/@store/actions/sts.actions.ts","./src/app/@store/actions/tara-register-profile.actions.ts","./src/app/@store/dk-mfa-reset/dk-mfa-reset.actions.ts","./src/app/@store/dk-mfa-reset/dk-mfa-reset.reducer.ts","./src/app/@store/dk-mfa-reset/dk-mfa-reset.selectors.ts","./src/app/@store/legal-documents/legal-documents.actions.ts","./src/app/@store/legal-documents/legal-documents.store.ts","./src/app/@store/legal-documents/legal-documents.reducers.ts","./src/app/@store/reducers/app.reducer.ts","./src/app/@store/reducers/profile.reducer.ts","./src/app/@store/reducers/register-profile.reducer.ts","./src/app/@store/reducers/registration.reducer.ts","./src/app/@store/reducers/sts.reducer.ts","./src/app/@store/reducers/tara-register-profile.reducer.ts","./src/app/@store/selectors/app.selectors.ts","./src/app/@store/selectors/profile.selectors.ts","./src/app/@store/selectors/register-profile.selectors.ts","./src/app/@store/selectors/registration.selectors.ts","./src/app/@store/selectors/sts.selectors.ts","./src/app/app-common.services.ts","./src/app/appsettings.ts","./src/app/component-modules/miscellaneous/date-picker/date-picker.module.ts","./src/app/component-modules/registerv2/register-mfa-sms/register-mfa-sms.component.html","./src/app/component-modules/registerv2/register-mfa-sms/register-mfa-sms.component.ts","./src/app/form-configs/fi.ts","./src/app/layout/header/header.component.html","./src/app/layout/header/header.component.ts","./src/app/models/countries.model.ts","./src/app/models/password.model.ts","./src/app/models/storage.model.ts","./src/app/modules/shared/countries.ts","./src/app/modules/shared/dxp-background/dxp-background.component.ts","./src/app/modules/shared/dxp-background/dxp-background.component.html","./src/app/modules/shared/dxp-background/dxp-background.module.ts","./src/app/modules/shared/regex-pattern.ts","./src/app/modules/shared/shared.module.ts","./src/app/services/claim/claim.service.ts","./src/app/pages/index/pages/my-account/my-account.service.ts","./src/app/pages/index/services/header-config.service.ts","./src/app/pages/index/services/header-usertype.service.ts","./src/app/pages/privacy-policy/managed-privacy-policy/managed-privacy-policy.component.html","./src/app/pages/privacy-policy/managed-privacy-policy/managed-privacy-policy.component.ts","./src/app/pages/privacy-policy/privacy-policy.module.ts","./src/app/pages/terms-of-use/managed-terms-of-use/managed-terms-of-use.component.html","./src/app/pages/terms-of-use/managed-terms-of-use/managed-terms-of-use.component.ts","./src/app/pages/terms-of-use/terms-of-use.module.ts","./src/app/plasma-ui-common/services/user-role.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/config/config.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/constants.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/core.module.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/header-visibility/header-visibility.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/profile/profile.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/usertype/usertype.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/core/util/logger.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/spinner/spinner.component.ts","./src/app/plasma-ui-common/synlab-access-ui-components/spinner/spinner.component.html","./node_modules/@angular/material/fesm2022/menu.mjs","./src/app/plasma-ui-common/synlab-access-ui-components/core/util/lookup-default-country.util.ts","./src/app/plasma-ui-common/synlab-access-ui-components/synlab-header/synlab-header.service.ts","./src/app/plasma-ui-common/synlab-access-ui-components/locale-picker/locale-picker.component.html","./src/app/plasma-ui-common/synlab-access-ui-components/locale-picker/locale-picker.component.ts","./src/app/plasma-ui-common/synlab-access-ui-components/header/header.component.html","./src/app/plasma-ui-common/synlab-access-ui-components/header/header.component.ts","./src/app/plasma-ui-common/synlab-access-ui-components/synlab-header/synlab-header.component.ts","./src/app/plasma-ui-common/synlab-access-ui-components/synlab-header/synlab-header.component.html","./src/app/plasma-ui-common/utils/add-target-blank-to-anchors.ts","./src/app/plasma-ui-common/utils/format-locale.ts","./src/app/services/accounts/accounts.model.ts","./src/app/services/accounts/accounts.service.ts","./src/app/services/agreement/agreement.service.ts","./src/app/services/api/api.service.ts","./node_modules/jwt-decode/build/esm/index.js","./node_modules/oidc-client-ts/dist/esm/oidc-client-ts.js","./node_modules/@auth0/angular-jwt/fesm2020/auth0-angular-jwt.mjs","./src/app/services/accounts/user-claims.service.ts","./src/app/services/auth/auth.service.ts","./src/app/services/authGuard/auth.guard.ts","./src/app/services/change-email.service.ts","./src/app/form-configs/be.ts","./src/app/form-configs/cz.ts","./src/app/form-configs/index.ts","./src/app/form-configs/ts-tc.ts","./src/app/form-configs/hu.ts","./src/app/services/config/config.service.ts","./src/app/services/guards/user-type.guard.ts","./src/app/services/i18n/i18n.service.ts","./src/app/services/logger.service.ts","./src/app/services/phone-validation/phone-validation.service.ts","./src/app/services/register-profile-api/register-profile-api.service.ts","./src/app/services/i18n/custom-ngb-date-parser-formatter.service.ts","./src/app/services/i18n/custom-ngb-datepickeri18n.service.ts","./src/app/transloco-root.module.ts","./src/app/utils/claims-to-object.ts","./src/app/utils/common.utils.ts","./src/app/utils/error.util.ts","./src/app/utils/geneplanet.util.ts","./src/app/view/dk-mfa-reset/enum-dk-mfa.ts","./src/environments/environment.prod.ts","./src/app/pages/init/init.component.ts","./src/app/pages/init/init.component.html","./src/app/pages/signin-callback/signin-callback.component.ts","./src/app/pages/signin-callback/signin-callback.component.html","./src/app/pages/forgot-password/forgot-password/forgot-password.component.html","./src/app/pages/forgot-password/forgot-password/forgot-password.component.ts","./src/app/pages/renewtoken/renewtoken.component.ts","./src/app/pages/renewtoken/renewtoken.component.html","./src/app/pages/self-sampling-instruction/self-sampling-instruction.component.ts","./src/app/pages/self-sampling-instruction/self-sampling-instruction.component.html","./src/app/pages/parent-self-sampling-instruction/parent-self-sampling-instruction.component.ts","./src/app/pages/parent-self-sampling-instruction/parent-self-sampling-instruction.component.html","./src/app/pages/general-terms/general-terms.component.html","./src/app/pages/general-terms/general-terms.component.ts","./src/app/pages/delete-account/delete-account.component.html","./src/app/pages/delete-account/delete-account.component.ts","./src/app/models/sessionTransfer.model.ts","./src/app/services/auth/auth-session-transfer.service.ts","./src/app/modules/shared/loader/loader.component.ts","./src/app/modules/shared/loader/loader.component.html","./src/app/pages/init-session/init-session.component.ts","./src/app/services/window-ref.service.ts","./src/app/pages/dxp-send-forgot-password/dxp-send-forgot-password.component.html","./src/app/pages/dxp-send-forgot-password/dxp-send-forgot-password.component.ts","./src/app/pages/send-forgot-password/send-forgot-password.component.html","./src/app/pages/send-forgot-password/send-forgot-password.component.ts","./src/app/services/authGuard/check.login.guard.ts","./src/app/pages/ee-privacy-terms/ee-privacy-terms.component.ts","./src/app/pages/activate-account/activate-account.component.html","./src/app/pages/activate-account/activate-account.component.ts","./src/app/services/guards/prevent-shfy.guard.ts","./src/app/component-modules/medio-redirect/medio.service.ts","./src/app/component-modules/medio-redirect/medio-redirect.component.ts","./src/app/component-modules/medio-redirect/medio-redirect.component.html","./src/app/guards/redirect.guard.ts","./src/app/app-routing.module.ts","./node_modules/@microsoft/dynamicproto-js/lib/dist/esm/dynamicproto-js.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/Constants.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/Helpers.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/TsLibShims.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/DomHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InstrumentHooks.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Timing.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/AnalyticsPlugin.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/ContextTagKeys.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Envelope.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Data.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/EnvelopeCreator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Offline.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/SendBuffer.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Sender.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Serializer.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/Sample.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/ConnectionStringParser.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/SeverityLevel.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ChannelController.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseCore.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/NotificationManager.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/AppInsightsCore.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajaxRecord.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajax.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Application.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Device.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Internal.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Location.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Session.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/TelemetryTrace.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/User.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/TelemetryContext.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/PropertiesPlugin.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/Initialization.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/__DynamicConstants.js","./src/app/services/apm.service.ts","./node_modules/@ng-idle/core/fesm2022/ng-idle-core.mjs","./node_modules/@openreplay/tracker/lib/app/messages.gen.js","./node_modules/@openreplay/tracker/lib/utils.js","./node_modules/@openreplay/tracker/lib/app/nodes.js","./node_modules/@openreplay/tracker/lib/app/guards.js","./node_modules/@openreplay/tracker/lib/app/observer/observer.js","./node_modules/@openreplay/tracker/lib/app/observer/iframe_observer.js","./node_modules/@openreplay/tracker/lib/app/observer/shadow_root_observer.js","./node_modules/@openreplay/tracker/lib/app/observer/iframe_offsets.js","./node_modules/@openreplay/tracker/lib/app/observer/top_observer.js","./node_modules/@openreplay/tracker/lib/app/sanitizer.js","./node_modules/@openreplay/tracker/lib/app/ticker.js","./node_modules/@openreplay/tracker/lib/app/logger.js","./node_modules/@openreplay/tracker/lib/app/session.js","./node_modules/@openreplay/tracker/lib/modules/performance.js","./node_modules/@openreplay/tracker/lib/app/index.js","./node_modules/@openreplay/tracker/lib/modules/console.js","./node_modules/@openreplay/tracker/lib/modules/exception.js","./node_modules/@openreplay/tracker/lib/modules/img.js","./node_modules/@openreplay/tracker/lib/modules/input.js","./node_modules/@openreplay/tracker/lib/modules/mouse.js","./node_modules/@openreplay/tracker/lib/modules/scroll.js","./node_modules/@openreplay/tracker/lib/modules/constructedStyleSheets.js","./node_modules/@openreplay/tracker/lib/index.js","./node_modules/@openreplay/tracker/lib/modules/viewport.js","./node_modules/@openreplay/tracker/lib/modules/cssrules.js","./node_modules/@openreplay/tracker/lib/modules/connection.js","./node_modules/@openreplay/tracker/lib/modules/timing.js","./node_modules/@openreplay/tracker/lib/modules/focus.js","./node_modules/@openreplay/tracker/lib/modules/fonts.js","./node_modules/@ng-idle/keepalive/fesm2022/ng-idle-keepalive.mjs","./node_modules/angular-google-tag-manager/fesm2022/angular-google-tag-manager.mjs","./src/app/app.component.html","./src/app/app.component.ts","./src/app/modules/shared/unauthorized/unauthorized.component.html","./src/app/modules/shared/unauthorized/unauthorized.component.ts","./src/app/services/error-handler.service.ts","./src/app/services/auth/token-interceptor/token-interceptor.service.ts","./src/app/utils/is-new-error-schema.ts","./node_modules/@angular/animations/fesm2022/browser.mjs","./node_modules/@angular/platform-browser/fesm2022/animations.mjs","./src/app/pages/forgot-password/forgot-password.module.ts","./src/app/pages/delete-account/delete-account.module.ts","./src/app/pages/terms-of-use-mobile/terms-of-use-mobile.module.ts","./src/app/@store/reducers/header.reducer.ts","./src/app/@store/reducers/index.ts","./src/app/@store/effects/profile.effects.ts","./src/app/@store/effects/app.effects.ts","./src/app/@store/effects/registration.effects.ts","./src/app/@store/effects/register-profile.effects.ts","./src/app/services/tara-register-profile-api/tara-register-profile-api.service.ts","./src/app/services/tara-migrate-api/tara-migrate-api.service.ts","./src/app/@store/effects/tara-register-profile.effects.ts","./src/app/services/country/country.service.ts","./src/app/@store/effects/sts.effects.ts","./src/app/@store/dk-mfa-reset/dk-mfa-reset.effects.ts","./src/app/@store/legal-documents/legal-documents.service.ts","./src/app/@store/effects/index.ts","./src/app/@store/legal-documents/legal-documents.effects.ts","./node_modules/rxjs/dist/esm/internal/operators/timeout.js","./node_modules/@ngrx/store-devtools/fesm2022/ngrx-store-devtools.mjs","./src/app/services/store.service.ts","./node_modules/ng2-pdf-viewer/node_modules/pdfjs-dist/build/pdf.mjs","./node_modules/@babel/runtime/helpers/esm/OverloadYield.js","./node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js","./node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js","./node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js","./node_modules/@babel/runtime/helpers/esm/asyncIterator.js","./node_modules/ng2-pdf-viewer/node_modules/pdfjs-dist/web/pdf_viewer.mjs","./node_modules/ng2-pdf-viewer/fesm2022/ng2-pdf-viewer.mjs","./src/app/pages/self-sampling-instruction/self-sampling-instruction.module.ts","./src/app/pages/parent-self-sampling-instruction/parent-self-sampling-instruction.module.ts","./src/app/pages/general-terms/general-terms.module.ts","./src/app/pages/init-session/init-session.module.ts","./src/app/pages/send-forgot-password/send-forgot-password.module.ts","./src/app/plasma-ui-common/synlab-access-ui-components/browser-redirect/browser-redirect.component.ts","./src/app/@store/selectors/header.selectors.ts","./src/app/pages/index/services/header-visibility.service.ts","./src/app/pages/activate-account/activate-account.module.ts","./src/app/app.module.ts","./src/main.ts","./node_modules/aes-js/index.js","./node_modules/byte-base64/lib.js","./node_modules/d/index.js","./node_modules/error-stack-parser/error-stack-parser.js","./node_modules/es5-ext/array/#/e-index-of.js","./node_modules/es5-ext/array/from/index.js","./node_modules/es5-ext/array/from/is-implemented.js","./node_modules/es5-ext/array/from/shim.js","./node_modules/es5-ext/array/to-array.js","./node_modules/es5-ext/error/custom.js","./node_modules/es5-ext/function/_define-length.js","./node_modules/es5-ext/function/is-arguments.js","./node_modules/es5-ext/function/is-function.js","./node_modules/es5-ext/function/noop.js","./node_modules/es5-ext/math/sign/index.js","./node_modules/es5-ext/math/sign/is-implemented.js","./node_modules/es5-ext/math/sign/shim.js","./node_modules/es5-ext/number/is-nan/index.js","./node_modules/es5-ext/number/is-nan/is-implemented.js","./node_modules/es5-ext/number/is-nan/shim.js","./node_modules/es5-ext/number/to-integer.js","./node_modules/es5-ext/number/to-pos-integer.js","./node_modules/es5-ext/object/_iterate.js","./node_modules/es5-ext/object/assign/index.js","./node_modules/es5-ext/object/assign/is-implemented.js","./node_modules/es5-ext/object/assign/shim.js","./node_modules/es5-ext/object/for-each.js","./node_modules/es5-ext/object/is-callable.js","./node_modules/es5-ext/object/is-object.js","./node_modules/es5-ext/object/is-value.js","./node_modules/es5-ext/object/keys/index.js","./node_modules/es5-ext/object/keys/is-implemented.js","./node_modules/es5-ext/object/keys/shim.js","./node_modules/es5-ext/object/map.js","./node_modules/es5-ext/object/mixin.js","./node_modules/es5-ext/object/normalize-options.js","./node_modules/es5-ext/object/primitive-set.js","./node_modules/es5-ext/object/valid-callable.js","./node_modules/es5-ext/object/valid-value.js","./node_modules/es5-ext/object/validate-stringifiable-value.js","./node_modules/es5-ext/object/validate-stringifiable.js","./node_modules/es5-ext/safe-to-string.js","./node_modules/es5-ext/string/#/contains/index.js","./node_modules/es5-ext/string/#/contains/is-implemented.js","./node_modules/es5-ext/string/#/contains/shim.js","./node_modules/es5-ext/string/is-string.js","./node_modules/es5-ext/to-short-string-representation.js","./node_modules/es6-symbol/index.js","./node_modules/es6-symbol/is-implemented.js","./node_modules/es6-symbol/is-symbol.js","./node_modules/es6-symbol/lib/private/generate-name.js","./node_modules/es6-symbol/lib/private/setup/standard-symbols.js","./node_modules/es6-symbol/lib/private/setup/symbol-registry.js","./node_modules/es6-symbol/polyfill.js","./node_modules/es6-symbol/validate-symbol.js","./node_modules/event-emitter/index.js","./node_modules/ext/global-this/implementation.js","./node_modules/ext/global-this/index.js","./node_modules/ext/global-this/is-implemented.js","./node_modules/flat/index.js","./node_modules/google-libphonenumber/dist/libphonenumber.js","./node_modules/is-promise/index.js","./node_modules/koekiemonster/index.js","./node_modules/koekje/index.js","./node_modules/koekje/node_modules/querystringify/index.js","./node_modules/lodash/lodash.js","./node_modules/lru-queue/index.js","./node_modules/memoizee/ext/async.js","./node_modules/memoizee/ext/dispose.js","./node_modules/memoizee/ext/max-age.js","./node_modules/memoizee/ext/max.js","./node_modules/memoizee/ext/promise.js","./node_modules/memoizee/ext/ref-counter.js","./node_modules/memoizee/index.js","./node_modules/memoizee/lib/configure-map.js","./node_modules/memoizee/lib/resolve-length.js","./node_modules/memoizee/lib/resolve-normalize.js","./node_modules/memoizee/lib/resolve-resolve.js","./node_modules/memoizee/normalizers/get-1.js","./node_modules/memoizee/normalizers/get-fixed.js","./node_modules/memoizee/normalizers/get-primitive-fixed.js","./node_modules/memoizee/normalizers/get.js","./node_modules/memoizee/normalizers/primitive.js","./node_modules/memoizee/plain.js","./node_modules/moment/locale/af.js","./node_modules/moment/locale/ar-dz.js","./node_modules/moment/locale/ar-kw.js","./node_modules/moment/locale/ar-ly.js","./node_modules/moment/locale/ar-ma.js","./node_modules/moment/locale/ar-ps.js","./node_modules/moment/locale/ar-sa.js","./node_modules/moment/locale/ar-tn.js","./node_modules/moment/locale/ar.js","./node_modules/moment/locale/az.js","./node_modules/moment/locale/be.js","./node_modules/moment/locale/bg.js","./node_modules/moment/locale/bm.js","./node_modules/moment/locale/bn-bd.js","./node_modules/moment/locale/bn.js","./node_modules/moment/locale/bo.js","./node_modules/moment/locale/br.js","./node_modules/moment/locale/bs.js","./node_modules/moment/locale/ca.js","./node_modules/moment/locale/cs.js","./node_modules/moment/locale/cv.js","./node_modules/moment/locale/cy.js","./node_modules/moment/locale/da.js","./node_modules/moment/locale/de-at.js","./node_modules/moment/locale/de-ch.js","./node_modules/moment/locale/de.js","./node_modules/moment/locale/dv.js","./node_modules/moment/locale/el.js","./node_modules/moment/locale/en-au.js","./node_modules/moment/locale/en-ca.js","./node_modules/moment/locale/en-gb.js","./node_modules/moment/locale/en-ie.js","./node_modules/moment/locale/en-il.js","./node_modules/moment/locale/en-in.js","./node_modules/moment/locale/en-nz.js","./node_modules/moment/locale/en-sg.js","./node_modules/moment/locale/eo.js","./node_modules/moment/locale/es-do.js","./node_modules/moment/locale/es-mx.js","./node_modules/moment/locale/es-us.js","./node_modules/moment/locale/es.js","./node_modules/moment/locale/et.js","./node_modules/moment/locale/eu.js","./node_modules/moment/locale/fa.js","./node_modules/moment/locale/fi.js","./node_modules/moment/locale/fil.js","./node_modules/moment/locale/fo.js","./node_modules/moment/locale/fr-ca.js","./node_modules/moment/locale/fr-ch.js","./node_modules/moment/locale/fr.js","./node_modules/moment/locale/fy.js","./node_modules/moment/locale/ga.js","./node_modules/moment/locale/gd.js","./node_modules/moment/locale/gl.js","./node_modules/moment/locale/gom-deva.js","./node_modules/moment/locale/gom-latn.js","./node_modules/moment/locale/gu.js","./node_modules/moment/locale/he.js","./node_modules/moment/locale/hi.js","./node_modules/moment/locale/hr.js","./node_modules/moment/locale/hu.js","./node_modules/moment/locale/hy-am.js","./node_modules/moment/locale/id.js","./node_modules/moment/locale/is.js","./node_modules/moment/locale/it-ch.js","./node_modules/moment/locale/it.js","./node_modules/moment/locale/ja.js","./node_modules/moment/locale/jv.js","./node_modules/moment/locale/ka.js","./node_modules/moment/locale/kk.js","./node_modules/moment/locale/km.js","./node_modules/moment/locale/kn.js","./node_modules/moment/locale/ko.js","./node_modules/moment/locale/ku-kmr.js","./node_modules/moment/locale/ku.js","./node_modules/moment/locale/ky.js","./node_modules/moment/locale/lb.js","./node_modules/moment/locale/lo.js","./node_modules/moment/locale/lt.js","./node_modules/moment/locale/lv.js","./node_modules/moment/locale/me.js","./node_modules/moment/locale/mi.js","./node_modules/moment/locale/mk.js","./node_modules/moment/locale/ml.js","./node_modules/moment/locale/mn.js","./node_modules/moment/locale/mr.js","./node_modules/moment/locale/ms-my.js","./node_modules/moment/locale/ms.js","./node_modules/moment/locale/mt.js","./node_modules/moment/locale/my.js","./node_modules/moment/locale/nb.js","./node_modules/moment/locale/ne.js","./node_modules/moment/locale/nl-be.js","./node_modules/moment/locale/nl.js","./node_modules/moment/locale/nn.js","./node_modules/moment/locale/oc-lnc.js","./node_modules/moment/locale/pa-in.js","./node_modules/moment/locale/pl.js","./node_modules/moment/locale/pt-br.js","./node_modules/moment/locale/pt.js","./node_modules/moment/locale/ro.js","./node_modules/moment/locale/ru.js","./node_modules/moment/locale/sd.js","./node_modules/moment/locale/se.js","./node_modules/moment/locale/si.js","./node_modules/moment/locale/sk.js","./node_modules/moment/locale/sl.js","./node_modules/moment/locale/sq.js","./node_modules/moment/locale/sr-cyrl.js","./node_modules/moment/locale/sr.js","./node_modules/moment/locale/ss.js","./node_modules/moment/locale/sv.js","./node_modules/moment/locale/sw.js","./node_modules/moment/locale/ta.js","./node_modules/moment/locale/te.js","./node_modules/moment/locale/tet.js","./node_modules/moment/locale/tg.js","./node_modules/moment/locale/th.js","./node_modules/moment/locale/tk.js","./node_modules/moment/locale/tl-ph.js","./node_modules/moment/locale/tlh.js","./node_modules/moment/locale/tr.js","./node_modules/moment/locale/tzl.js","./node_modules/moment/locale/tzm-latn.js","./node_modules/moment/locale/tzm.js","./node_modules/moment/locale/ug-cn.js","./node_modules/moment/locale/uk.js","./node_modules/moment/locale/ur.js","./node_modules/moment/locale/uz-latn.js","./node_modules/moment/locale/uz.js","./node_modules/moment/locale/vi.js","./node_modules/moment/locale/x-pseudo.js","./node_modules/moment/locale/yo.js","./node_modules/moment/locale/zh-cn.js","./node_modules/moment/locale/zh-hk.js","./node_modules/moment/locale/zh-mo.js","./node_modules/moment/locale/zh-tw.js","./node_modules/moment/moment.js","./node_modules/next-tick/index.js","./node_modules/objstorage/index.js","./node_modules/querystringify/index.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/firstValueFrom.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/operators/concatAll.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/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.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/observable/zip.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.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/delayWhen.js","./node_modules/rxjs/dist/esm/internal/operators/delay.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/exhaustMap.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/flatMap.js","./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.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/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/retry.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/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.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/throttleTime.js","./node_modules/rxjs/dist/esm/internal/operators/throttle.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.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/queue.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueAction.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/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.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/sessionstorage/index.js","./node_modules/stackframe/stackframe.js","./node_modules/timers-ext/max-timeout.js","./node_modules/timers-ext/valid-timeout.js","./node_modules/type/function/is.js","./node_modules/type/object/is.js","./node_modules/type/plain-function/is.js","./node_modules/type/prototype/is.js","./node_modules/type/value/is.js","./node_modules/window.name/index.js","./node_modules/moment/locale/ sync ^\\.\\/.*$","./node_modules/@angular/animations/fesm2022/animations.mjs","./node_modules/@angular/cdk/fesm2022/layout.mjs","./node_modules/@angular/cdk/fesm2022/a11y.mjs","./node_modules/@angular/cdk/fesm2022/bidi.mjs","./node_modules/@angular/cdk/fesm2022/coercion.mjs","./node_modules/@angular/cdk/fesm2022/collections.mjs","./node_modules/@angular/cdk/fesm2022/keycodes.mjs","./node_modules/@angular/cdk/fesm2022/observers.mjs","./node_modules/@angular/cdk/fesm2022/overlay.mjs","./node_modules/@angular/cdk/fesm2022/platform.mjs","./node_modules/@angular/cdk/fesm2022/portal.mjs","./node_modules/@angular/cdk/fesm2022/scrolling.mjs","./node_modules/@angular/common/fesm2022/common.mjs","./node_modules/@angular/common/fesm2022/http.mjs","./node_modules/@angular/core/fesm2022/primitives/signals.mjs","./node_modules/@angular/core/fesm2022/core.mjs","./node_modules/@angular/core/fesm2022/rxjs-interop.mjs","./node_modules/@angular/forms/fesm2022/forms.mjs","./node_modules/@angular/material-moment-adapter/fesm2022/material-moment-adapter.mjs","./node_modules/@angular/material/fesm2022/button.mjs","./node_modules/@angular/material/fesm2022/core.mjs","./node_modules/@angular/material/fesm2022/datepicker.mjs","./node_modules/@angular/cdk/fesm2022/dialog.mjs","./node_modules/@angular/material/fesm2022/dialog.mjs","./node_modules/@angular/material/fesm2022/form-field.mjs","./node_modules/@angular/material/fesm2022/icon.mjs","./node_modules/@angular/cdk/fesm2022/text-field.mjs","./node_modules/@angular/material/fesm2022/input.mjs","./node_modules/@angular/material/fesm2022/progress-spinner.mjs","./node_modules/@angular/material/fesm2022/select.mjs","./node_modules/@angular/material/fesm2022/tooltip.mjs","./node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/@angular/router/fesm2022/router.mjs","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/rxjs/dist/esm/internal/observable/never.js","./node_modules/@ng-bootstrap/ng-bootstrap/fesm2020/ng-bootstrap.mjs","./node_modules/rxjs/dist/esm/internal/operators/endWith.js","./node_modules/rxjs/dist/esm/internal/observable/race.js","./node_modules/@ngneat/transloco/fesm2020/ngneat-transloco.mjs","./node_modules/rxjs/dist/esm/internal/Notification.js","./node_modules/rxjs/dist/esm/internal/operators/groupBy.js","./node_modules/@ngrx/effects/fesm2022/ngrx-effects.mjs","./node_modules/rxjs/dist/esm/internal/operators/materialize.js","./node_modules/rxjs/dist/esm/internal/operators/dematerialize.js","./node_modules/@ngrx/store/fesm2022/ngrx-store.mjs","./node_modules/rxjs/dist/esm/internal/operators/pluck.js","./node_modules/dompurify/dist/purify.es.mjs","./node_modules/libphonenumber-js/es6/ParseError.js","./node_modules/libphonenumber-js/es6/helpers/isObject.js","./node_modules/libphonenumber-js/es6/tools/semver-compare.js","./node_modules/libphonenumber-js/es6/metadata.js","./node_modules/libphonenumber-js/es6/normalizeArguments.js","./node_modules/libphonenumber-js/es6/constants.js","./node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","./node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","./node_modules/libphonenumber-js/es6/helpers/parseDigits.js","./node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","./node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","./node_modules/libphonenumber-js/es6/isPossible.js","./node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","./node_modules/libphonenumber-js/es6/helpers/getNumberType.js","./node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","./node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","./node_modules/libphonenumber-js/es6/format.js","./node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","./node_modules/libphonenumber-js/es6/PhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","./node_modules/libphonenumber-js/es6/isValid.js","./node_modules/libphonenumber-js/es6/helpers/RFC3966.js","./node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","./node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","./node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","./node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","./node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","./node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","./node_modules/libphonenumber-js/es6/parse.js","./node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","./node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","./node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","./node_modules/libphonenumber-js/es6/parsePhoneNumber.js","./node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js","./node_modules/libphonenumber-js/metadata.min.json.js","./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","./node_modules/ngx-toastr/fesm2022/ngx-toastr.mjs","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["import { createAction, props } from \"@ngrx/store\";\n\nconst loadAppLanguage = createAction(\"[App] Load App Language\", props<{ language: string }>());\nconst loadAppLanguageSuccess = createAction(\"[App] Load App Language Success\", props<{ language: string }>());\nconst loadAppLanguageFailure = createAction(\n \"[App] Load App Language Failure\",\n props<{ language: string; error: string }>()\n);\nconst setActiveLanguage = createAction(\"[App] Set Active Language\", props<{ language: string }>());\nconst runCheckChangeEmailRequest = createAction(\"[App] run check change email request\");\n\nexport const AppActions = {\n loadAppLanguage,\n loadAppLanguageSuccess,\n loadAppLanguageFailure,\n setActiveLanguage,\n runCheckChangeEmailRequest,\n};\n","import { createAction, props } from \"@ngrx/store\";\n\nconst setVisibility = createAction(\"[Header] Set Visibility\", props<{ visible: boolean }>());\n\nexport const HeaderActions = {\n setVisibility,\n};\n","import { createAction, props } from \"@ngrx/store\";\nimport { Consents } from \"src/app/pages/index/pages/notification-settings/notification.model\";\n\nexport const loadProfiles = createAction(\"[Profile] Load Profiles\", props<{ data: any }>());\n\nexport const getAuthenticatorUri = createAction(\n \"[Profile] Fetched Authenticator Uri Success\",\n props<{ data: string }>()\n);\n\nexport const getRecoveryCodes = createAction(\"[Profile] Fetched Recovery Code Success\", props<{ data: string }>());\n\nexport const updatePhoneDetails = createAction(\n \"[Profile] Fetched Phone Detail Success\",\n props<{ number: string; country_phone: string }>()\n);\n\nexport const twoFaEnableSuccess = createAction(\"[Profile] Two FA Enable Success\", props<{ data: boolean }>());\n\nexport const updatePhoneTemp = createAction(\n \"[Profile] Mobile Number Temp Success\",\n props<{ number: string; country_phone: string }>()\n);\n\nexport const setResidence = createAction(\"[Profile] Set residence country code\", props<{ countryCode: string }>());\n\nexport const restoreResidence = createAction(\n \"[Profile] Restore residence country code\",\n props<{ countryCode: string }>()\n);\n\nexport const removeStoredResidence = createAction(\"[Profile] Remove residence country code from storage\");\n\nexport const getProfile = createAction(\"[Profile] Get Profile\");\n\nexport const getProfileSuccess = createAction(\"[Profile] Get Profile Success\", props<{ data: any }>());\n\nexport const getProfileFailed = createAction(\"[Profile] Get Profile Failed\", props<{ error: any }>());\n\nexport const getConsent = createAction(\"[Profile] Get Consent\", props<{ synlabId?: string; categoryName?: string }>());\n\nexport const getConsentSuccess = createAction(\"[Profile] Get Consent Success\", props<{ data: any }>());\nexport const getMarketingConsentsCheckedSuccess = createAction(\n \"[Profile] Get Consent Marketing Consent Checked Success\",\n props<{ value: boolean }>()\n);\n\nexport const getConsentFailed = createAction(\"[Profile] Get Consent Failed\", props<{ error: any }>());\n\nexport const consentOnchanges = createAction(\"[Profile] Consent Value Changes\", props<{ consents: Consents[] }>());\n\nexport const clearConsentPayload = createAction(\"[Profile] Consent Payload clear\");\n\n// for form validations of my profile\nexport const AddInvalidMyProfileFormFields = createAction(\n \"[Profile] Profile Form Add Invalid Fields\",\n props<{ name: string }>()\n);\nexport const RemoveInvalidMyProfileFormFields = createAction(\n \"[Profile] Profile Form Remove Invalid Fields\",\n props<{ name: string }>()\n);\nexport const ResetInvalidMyProfileFormFields = createAction(\"[Profile] Profile Form Reset Invalid Fields\");\n\nexport const ProfileActions = {\n RemoveInvalidMyProfileFormFields,\n AddInvalidMyProfileFormFields,\n ResetInvalidMyProfileFormFields,\n getMarketingConsentsCheckedSuccess,\n getProfile,\n getProfileSuccess,\n getProfileFailed,\n loadProfiles,\n getAuthenticatorUri,\n getRecoveryCodes,\n updatePhoneDetails,\n twoFaEnableSuccess,\n updatePhoneTemp,\n setResidence,\n restoreResidence,\n removeStoredResidence,\n getConsent,\n getConsentSuccess,\n getConsentFailed,\n consentOnchanges,\n clearConsentPayload,\n};\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { createAction, props } from \"@ngrx/store\";\nimport { Consents, ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\n\nexport const reset = createAction(\"[RegisterProfile] Reset\");\nexport const loadRegisterProfile = createAction(\n \"[RegisterProfile] Load register profile\",\n props<{ regId: string; seqId: string; bankId?: string }>()\n);\nexport const loadRegisterProfileSuccess = createAction(\n \"[RegisterProfile] Load register profile success\",\n props<{ data: Claim[] }>()\n);\nexport const loadRegisterProfileFailure = createAction(\n \"[RegisterProfile Load register profile failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const loadExistingPTProfile = createAction(\n \"[RegisterProfile] Load PT user profile\",\n props<{ userId: string }>()\n);\nexport const loadExistingPTProfileSuccess = createAction(\n \"[RegisterProfile] Load PT user profile success\",\n props<{ data: Claim[] }>()\n);\nexport const loadExistingPTProfileFailure = createAction(\n \"[RegisterProfile Load register profile failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const submitRegisterProfile = createAction(\n \"[RegisterProfile] Submit register profile\",\n props<{ regId: string; data: Claim[]; consents: ConsentsPayload[]; synlabId: string; seqId: string }>()\n);\nexport const submitRegisterProfileSuccess = createAction(\"[RegisterProfile] Submit register profile success\");\nexport const submitRegisterProfileFailure = createAction(\n \"[RegisterProfile Submit register profile failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const updatePtExistingProfile = createAction(\n \"[RegisterProfile] Update Existing PT profile\",\n props<{ userId: string; data: Claim[]; consents: ConsentsPayload[]; synlabId: string; seqId: string }>()\n);\nexport const updatePtExistingProfileSuccess = createAction(\"[RegisterProfile] Update Existing PT profile Success\");\nexport const updatePtExistingProfileFailure = createAction(\n \"[RegisterProfile Update Existing PT profile failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const signupToTaraClicked = createAction(\n \"[RegisterProfile Signup button to TARA clicked]\",\n props<{ userId: string }>()\n);\nexport const signupToTaraClickedSuccess = createAction(\"[RegisterProfile Signup button to TARA clicked success]\");\nexport const signupToTaraClickedFailure = createAction(\n \"[RegisterProfile Signup button to TARA clicked failure]\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\n","import { createAction, props } from \"@ngrx/store\";\nimport { EAuthenticationType } from \"src/app/component-modules/registerv2/register-mfa-sms/register-mfa-sms.component\";\nimport {\n IAuthAppData,\n IExternalAuthProvider,\n IRegisterClaims,\n ISetMFA,\n ISetMFAVerify,\n ISetPassword,\n ISetPhoneNumber,\n IVerifyPhoneNumber,\n} from \"../reducers/registration.reducer\";\n\nconst loadRegistrationClaims = createAction(\n \"[Registration] Load Registration Claims\",\n props<{ id: string; seqId: string }>()\n);\nconst loadRegistrationClaimSuccess = createAction(\n \"[Registration] Load Registration Claims Success\",\n props<{ claims: IRegisterClaims }>()\n);\nconst loadRegistrationClaimFailed = createAction(\n \"[Registration] Load Registration Claims Failed\",\n props<{ error: any }>()\n);\n\nconst loadExternalAuthProviders = createAction(\"[Registration] Load External Auth Providers\");\nconst loadExternalAuthProviderSuccess = createAction(\n \"[Registration] Load External Auth Providers Success\",\n props<{ items: IExternalAuthProvider[] }>()\n);\nconst loadExternalAuthProviderFailed = createAction(\n \"[Registration] Load External Auth Providers Failed\",\n props<{ error: any }>()\n);\n\nconst setUserPassword = createAction(\n \"[Registration] Set User Password\",\n props<{ regId: string; payload: ISetPassword }>()\n);\nconst setUserPasswordSuccess = createAction(\"[Registration] Set User Password Success\");\nconst setUserPasswordFailed = createAction(\"[Registration] Set User Password Failed\", props<{ error: any }>());\n\nconst loadTaraUserInfo = createAction(\"[Registration] Load Tara User Info\", props<{ userId: string }>());\nconst loadTaraUserInfoSuccess = createAction(\"[Registration] Load Tara User Info Success\", props<{ email: string }>());\nconst loadTaraUserInfoFailed = createAction(\"[Registration] Load Tara User Info Failed\", props<{ error: any }>());\n\nconst taraResendEmailActivation = createAction(\n \"[Registration] Tara Resend Email Activation\",\n props<{ userId: string }>()\n);\nconst taraResendEmailActivationSuccess = createAction(\"[Registration] Tara Resend Email Activation Success\");\nconst taraResendEmailActivationFailed = createAction(\n \"[Registration] Tara Resend Email Activation Failed\",\n props<{ error: any }>()\n);\n\nconst activateUserAccount = createAction(\n \"[Registration] Activate Tara User\",\n props<{ userId: string; accountType?: string }>()\n);\nconst activateTaraUserSuccess = createAction(\n \"[Registration] Activate Tara User Success\",\n props<{ activated: boolean }>()\n);\nconst activateTaraUserFailed = createAction(\"[Registration] Activate Tara User Failed\", props<{ error: any }>());\n\nconst updatePhoneNumber = createAction(\"[Registration] Update Phone Number\", props<{ payload: ISetPhoneNumber }>());\nconst updatePhoneNumberSuccess = createAction(\"[Registration] Update Phone Number Success\", props<{ phone: string }>());\nconst updatePhoneNumberFailed = createAction(\"[Registration] Update Phone Number Failed\", props<{ error: any }>());\n\nconst verifyPhoneNumber = createAction(\"[Registration] Verify Phone Number\", props<{ payload: IVerifyPhoneNumber }>());\nconst verifyPhoneNumberSuccess = createAction(\n \"[Registration] Verify Phone Number Success\",\n props<{ success: boolean }>()\n);\nconst verifyPhoneNumberFailed = createAction(\"[Registration] Verify Phone Number Failed\", props<{ error: any }>());\n\nconst enableMFA = createAction(\"[Registration] Enable MFA\", props<{ payload: ISetMFA }>());\nconst enableMFASuccess = createAction(\n \"[Registration] Enable MFA Success\",\n props<{ data: any; authType: EAuthenticationType }>()\n);\nconst enableMFAFailed = createAction(\"[Registration] Enable MFA Failed\", props<{ error: any }>());\n\nconst enableMFAVerify = createAction(\"[Registration] Enable MFA Verify\", props<{ payload: ISetMFAVerify }>());\nconst enableMFAVerifySuccess = createAction(\n \"[Registration] Enable MFA Verify Success\",\n props<{\n data: { result: ConstrainBooleanParameters; type: EAuthenticationType };\n }>()\n);\nconst enableMFAVerifyFailed = createAction(\"[Registration] Enable MFA Verify Failed\", props<{ error: any }>());\n\nconst resetMFAInProgress = createAction(\n \"[Registration] Reset MFA In Progress\",\n props<{ authType: EAuthenticationType }>()\n);\n\nconst setAuthenticatorAppData = createAction(\n \"[Registration] Set Authenticator App Data\",\n props<{ data: IAuthAppData }>()\n);\n\nconst loadExistingUserClaims = createAction(\"[Registration Load Existing User Claims\", props<{ userid: string }>());\n\nconst acceptPrivacyPolicy = createAction(\"[Registration] Accept Privacy Policy\");\n\nexport const RegisterActions = {\n acceptPrivacyPolicy,\n setAuthenticatorAppData,\n enableMFAVerify,\n enableMFAVerifySuccess,\n enableMFAVerifyFailed,\n verifyPhoneNumber,\n verifyPhoneNumberSuccess,\n verifyPhoneNumberFailed,\n enableMFA,\n enableMFASuccess,\n enableMFAFailed,\n updatePhoneNumber,\n updatePhoneNumberSuccess,\n updatePhoneNumberFailed,\n loadRegistrationClaims,\n loadExistingUserClaims,\n loadRegistrationClaimSuccess,\n loadRegistrationClaimFailed,\n loadExternalAuthProviders,\n loadExternalAuthProviderSuccess,\n loadExternalAuthProviderFailed,\n setUserPassword,\n setUserPasswordSuccess,\n setUserPasswordFailed,\n loadTaraUserInfo,\n loadTaraUserInfoSuccess,\n loadTaraUserInfoFailed,\n taraResendEmailActivation,\n taraResendEmailActivationSuccess,\n taraResendEmailActivationFailed,\n activateUserAccount,\n activateTaraUserSuccess,\n activateTaraUserFailed,\n resetMFAInProgress,\n};\n","import { createAction, props } from \"@ngrx/store\";\nimport { ELoginMethod } from \"src/app/appsettings\";\nimport { CountryInfo } from \"src/app/services/country/country.service\";\nimport { UserInfo } from \"../reducers/sts.reducer\";\n\nconst loadStss = createAction(\"[Sts] Load Stss\");\n\nexport interface Claim {\n claimType: string;\n claimValue: string;\n}\n\nexport interface IDecodedToken {\n synlabId: string;\n role: string[];\n name: string;\n country: string;\n email: string;\n token: string;\n idp: ELoginMethod;\n}\n\nconst loadStssSuccess = createAction(\"[Sts] Load Stss Success\", props<{ data: IDecodedToken }>());\nconst loadStssFailure = createAction(\"[Sts] Load Stss Failure\", props<{ error: any }>());\nconst loadConfigSuccess = createAction(\"[Sts] Load Config Success\", props<{ data: any }>());\n\nconst addUserInfo = createAction(\"[Sts] Add User Info\", props<{ data: UserInfo }>());\n\nconst checkLoginStatus = createAction(\"[Sts] Check Login Status\", props<{ value: boolean }>());\n\nconst loadProfileSuccess = createAction(\"[STS] Load Profile Success\", props<{ claims: Claim[] }>());\n\nconst loadProfileFailed = createAction(\"[STS] Load Profile Failed\", props<{ error: string | any }>());\n\n/**\n * STS Country actions\n */\nconst loadCountry = createAction(\"[STS] Load country\", props<{ code: string }>());\nconst loadCountryFailed = createAction(\"[STS] Load country failed\");\nconst loadCountrySuccess = createAction(\"[STS] Load country success\", props<{ payload: CountryInfo }>());\n\n/**\n * STS claim actions\n */\nconst setClaims = createAction(\"[STS] Set claims\", props<{ claims: Claim[] }>());\nconst setProfileEmail = createAction(\"[STS] Set profile email address\", props<{ email: string }>());\n\nconst setHasGeneplanetOrders = createAction(\"[STS] Set Has Geneplanet Orders\", props<{ hasOrders: boolean | null }>());\nconst fetchHasGeneplanetOrders = createAction(\"[STS] Fetch Has Geneplanet Orders \");\nconst setGeneplanetEnrolled = createAction(\"[STS] Set Geneplanet Enrolled\", props<{ isEnrolled: boolean | null }>());\n\nexport const STSActions = {\n setProfileEmail,\n loadProfileSuccess,\n loadProfileFailed,\n checkLoginStatus,\n addUserInfo,\n loadConfigSuccess,\n loadStss,\n loadStssSuccess,\n loadStssFailure,\n loadCountry,\n loadCountrySuccess,\n loadCountryFailed,\n setClaims,\n setHasGeneplanetOrders,\n fetchHasGeneplanetOrders,\n setGeneplanetEnrolled,\n};\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { createAction, props } from \"@ngrx/store\";\nimport { TaraUser, TaraUserRegisterUpdateResponse } from \"src/app/models/tara-user.model\";\nimport { ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\n\nexport const reset = createAction(\"[TaraRegisterProfile] Reset\");\nexport const loadRegisterProfile = createAction(\n \"[TaraRegisterProfile] Load register profile\",\n props<{ regId: string }>()\n);\nexport const loadRegisterProfileSuccess = createAction(\n \"[TaraRegisterProfile] Load register profile success\",\n props<{ data: TaraUser }>()\n);\nexport const loadRegisterProfileFailure = createAction(\n \"[TaraRegisterProfile] Load register profile failure\",\n props<{ error: string; errorObject: HttpErrorResponse }>()\n);\nexport const submitRegisterProfile = createAction(\n \"[TaraRegisterProfile] Submit register profile\",\n props<{ regId: string; data: Claim[]; hasEmail?: boolean; userId?: string; consents?: ConsentsPayload[] }>()\n);\nexport const submitRegisterProfileSuccess = createAction(\n \"[TaraRegisterProfile] Submit register profile success\",\n props<{ response: TaraUserRegisterUpdateResponse; claims: Claim[] }>()\n);\nexport const submitRegisterProfileFailure = createAction(\n \"[TaraRegisterProfile] Submit register profile failure\",\n props<{ error: string; errorObject?: HttpErrorResponse }>()\n);\n","import { createAction, props } from \"@ngrx/store\";\nimport {\n IChangePhonePayload,\n IClaim,\n IClaimObject,\n IRequestQueryParams,\n ISet2FAPayload,\n IValidateDKMFAReset,\n IVerifyChangePhonePayload,\n IVerifySet2FAPayload,\n} from \"src/app/view/dk-mfa-reset/enum-dk-mfa\";\n\nconst validateMFAResetLink = createAction(\n \"[DkMfaReset] Validate MFA Reset Link\",\n props<{ payload: IValidateDKMFAReset }>()\n);\n\nconst validateMFAResetLinkSuccess = createAction(\n \"[DkMfaReset] Validate MFA Reset Link Success\",\n props<{ value: boolean }>()\n);\n\nconst validateMFAResetLinkFailed = createAction(\"[DkMfaReset] Validate MFA Reset Link Failed\", props<{ error: any }>());\n\nconst changePhone = createAction(\n \"[DkMfaReset] Change Phone\",\n props<{ params: IRequestQueryParams; body: IChangePhonePayload }>()\n);\nconst changePhoneSuccess = createAction(\"[DkMfaReset] Change Phone Success\", props<{ data: any }>());\nconst changePhoneFailed = createAction(\"[DkMfaReset] Change Phone Failed\", props<{ error: any }>());\n\nconst verifyChangePhone = createAction(\n \"[DkMfaReset] Verify Change Phone\",\n props<{ params: IRequestQueryParams; body: IVerifyChangePhonePayload }>()\n);\nconst verifyChangePhoneSuccess = createAction(\"[DkMfaReset] Verify Change Phone Success\", props<{ data: any }>());\nconst verifyChangePhoneFailed = createAction(\"[DkMfaReset] Verify Change Phone Failed\", props<{ error: any }>());\n\nconst set2FA = createAction(\"[DkMfaReset] Set 2FA\", props<{ params: IRequestQueryParams; body: ISet2FAPayload }>());\nconst set2FASuccess = createAction(\n \"[DkMfaReset] Set 2FA Success\",\n props<{ data: any; mfaType?: string; phone?: string }>()\n);\nconst set2FAFailed = createAction(\"[DkMfaReset] Set 2FA Failed\", props<{ error: any }>());\n\nconst verifySet2FA = createAction(\n \"[DkMfaReset] Verify Set 2FA\",\n props<{ params: IRequestQueryParams; body: IVerifySet2FAPayload }>()\n);\nconst verifySet2FASuccess = createAction(\"[DkMfaReset] Verify Set 2FA Success\", props<{ data: any }>());\nconst verifySet2FAFailed = createAction(\"[DkMfaReset] Verify Set 2FA Failed\", props<{ error: any }>());\n\nconst getMFAResetClaims = createAction(\"[DkMfaReset] Get MFA Reset Claims\", props<{ params: IRequestQueryParams }>());\nconst getMFAResetClaimsSuccess = createAction(\n \"[DkMfaReset] Get MFA Reset Claims Success\",\n props<{ claims: IClaimObject }>()\n);\nconst getMFAResetClaimsFailed = createAction(\"[DkMfaReset] Get MFA Reset Claims Failed\", props<{ error: any }>());\n\nexport const DkMfaResetAction = {\n getMFAResetClaims,\n getMFAResetClaimsSuccess,\n getMFAResetClaimsFailed,\n verifySet2FA,\n verifySet2FASuccess,\n verifySet2FAFailed,\n set2FA,\n set2FASuccess,\n set2FAFailed,\n validateMFAResetLink,\n validateMFAResetLinkSuccess,\n validateMFAResetLinkFailed,\n changePhone,\n changePhoneSuccess,\n changePhoneFailed,\n verifyChangePhone,\n verifyChangePhoneSuccess,\n verifyChangePhoneFailed,\n};\n","import { Action, createReducer, on } from \"@ngrx/store\";\nimport { E2FAProvider, EResetMFAActivity, IClaimObject } from \"src/app/view/dk-mfa-reset/enum-dk-mfa\";\nimport { DkMfaResetAction } from \"./dk-mfa-reset.actions\";\n\nexport const dkMfaResetFeatureKey = \"dkMfaReset\";\n\nexport interface State {\n id: string;\n seqId: string;\n isMFAResetLinkValid: boolean;\n mfaResetClaims: IClaimObject;\n activityInProgress: boolean;\n activityName: EResetMFAActivity;\n}\n\nexport const initialState: State = {\n id: null,\n seqId: null,\n isMFAResetLinkValid: null,\n mfaResetClaims: null,\n activityInProgress: false,\n activityName: null,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(DkMfaResetAction.validateMFAResetLink, (state, { payload }) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.RESET_ISVALID,\n id: payload.id,\n seqId: payload.seqId,\n })),\n on(\n DkMfaResetAction.validateMFAResetLinkSuccess,\n DkMfaResetAction.validateMFAResetLinkFailed,\n DkMfaResetAction.changePhoneFailed,\n DkMfaResetAction.changePhoneSuccess,\n DkMfaResetAction.verifyChangePhoneSuccess,\n DkMfaResetAction.verifyChangePhoneFailed,\n DkMfaResetAction.set2FAFailed,\n DkMfaResetAction.set2FASuccess,\n DkMfaResetAction.verifySet2FAFailed,\n DkMfaResetAction.verifySet2FASuccess,\n (state) => ({\n ...state,\n activityInProgress: false,\n activityName: null,\n })\n ),\n on(DkMfaResetAction.getMFAResetClaims, (state) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.RESET_CLAIMS,\n })),\n on(DkMfaResetAction.getMFAResetClaimsSuccess, (state, { claims }) => ({\n ...state,\n activityInProgress: false,\n activityName: null,\n mfaResetClaims: claims,\n })),\n on(DkMfaResetAction.changePhone, (state) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.CHANGE_PHONE,\n })),\n on(DkMfaResetAction.verifyChangePhone, (state) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.VERIFY_PHONE,\n })),\n on(DkMfaResetAction.set2FA, (state, { body }) => ({\n ...state,\n activityInProgress: true,\n activityName:\n body.twoFactorProvider == E2FAProvider.SMS ? EResetMFAActivity.SET_2FA_SMS : EResetMFAActivity.SET_2FA_AUTH_APP,\n })),\n on(DkMfaResetAction.verifySet2FA, (state) => ({\n ...state,\n activityInProgress: true,\n activityName: EResetMFAActivity.VERIFY_2FA,\n }))\n);\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\nimport { claimValues } from \"src/app/appsettings\";\nimport { AppState } from \"../reducers\";\nimport { dkMfaResetFeatureKey } from \"./dk-mfa-reset.reducer\";\n\nconst State = (state: AppState) => state[dkMfaResetFeatureKey];\n\nconst getLoadingComponent = createSelector(State, (state) => {\n if (state.activityInProgress) {\n return state.activityName;\n }\n return \"\";\n});\nconst getPhone = createSelector(State, ({ mfaResetClaims }) => {\n if (mfaResetClaims) {\n return mfaResetClaims.phone;\n }\n return null;\n});\nconst getPhoneVerified = createSelector(State, ({ mfaResetClaims }) => {\n if (mfaResetClaims) {\n return mfaResetClaims.phone_verified.toLowerCase() == claimValues.TRUE;\n }\n return false;\n});\nconst getCountry = createSelector(State, ({ mfaResetClaims }) => {\n if (mfaResetClaims) {\n return mfaResetClaims.country;\n }\n return false;\n});\nconst getQueryParams = createSelector(State, ({ id, seqId }) => {\n return {\n id,\n seqId,\n };\n});\n\nexport const DKMFAResetSelector = {\n getCountry,\n getPhone,\n getPhoneVerified,\n getLoadingComponent,\n getQueryParams,\n};\n","import { createAction, props } from \"@ngrx/store\";\nimport { LegalDocumentVersionInterface } from \"src/app/interfaces/legal-document-version.interface\";\nimport { LegalDocumentInterface } from \"src/app/interfaces/legal-document.interface\";\n\nexport const searchLegalDocumentsAction = createAction(\n \"[Legal Documents] search legal documents\",\n props<{ userId: string }>()\n);\nexport const searchLegalDocumentsSuccessAction = createAction(\n \"[Legal Documents] search legal documents success\",\n props<{ legalDocuments: LegalDocumentInterface[] }>()\n);\nexport const searchLegalDocumentsVersionsAction = createAction(\n \"[Legal Documents] search legal documents version\",\n props<{ userId: string; docType: string }>()\n);\nexport const searchLegalDocumentsVersionsSuccessAction = createAction(\n \"[Legal Documents] search legal documents version success\",\n props<{ versions: LegalDocumentVersionInterface[] }>()\n);\n","import { Action, createReducer, on } from \"@ngrx/store\";\nimport { LegalDocumentStateInterface } from \"src/app/interfaces/legal-document-state.interface\";\nimport {\n searchLegalDocumentsAction,\n searchLegalDocumentsSuccessAction,\n searchLegalDocumentsVersionsAction,\n searchLegalDocumentsVersionsSuccessAction,\n} from \"./legal-documents.actions\";\nimport {\n searchLegalDocumentsReducer,\n searchLegalDocumentsSuccessReducer,\n searchLegalDocumentsVersionsReducer,\n searchLegalDocumentsVersionsSuccessReducer,\n} from \"./legal-documents.reducers\";\n\nexport const legalDocumentFeatureKey = \"legalDocument\";\n\nexport const initialState: LegalDocumentStateInterface = {\n documents: {\n isLoading: false,\n list: [],\n },\n versions: {\n isLoading: false,\n list: [],\n },\n};\n\nconst reducer = createReducer(\n initialState,\n on(searchLegalDocumentsAction, searchLegalDocumentsReducer),\n on(searchLegalDocumentsSuccessAction, searchLegalDocumentsSuccessReducer),\n on(searchLegalDocumentsVersionsAction, searchLegalDocumentsVersionsReducer),\n on(searchLegalDocumentsVersionsSuccessAction, searchLegalDocumentsVersionsSuccessReducer)\n);\n\nexport function legalDocumentsReducer(state: LegalDocumentStateInterface, action: Action) {\n return reducer(state, action);\n}\n","import { Action } from \"@ngrx/store\";\nimport { LegalDocumentStateInterface } from \"src/app/interfaces/legal-document-state.interface\";\nimport { LegalDocumentVersionInterface } from \"src/app/interfaces/legal-document-version.interface\";\nimport { LegalDocumentInterface } from \"src/app/interfaces/legal-document.interface\";\n\nexport function searchLegalDocumentsReducer(state: LegalDocumentStateInterface): LegalDocumentStateInterface {\n return {\n ...state,\n documents: {\n ...state.documents,\n isLoading: true,\n },\n };\n}\nexport function searchLegalDocumentsSuccessReducer(\n state: LegalDocumentStateInterface,\n action: Action & { legalDocuments: LegalDocumentInterface[] }\n): LegalDocumentStateInterface {\n return {\n ...state,\n documents: {\n ...state.documents,\n isLoading: false,\n list: action.legalDocuments,\n },\n };\n}\n\nexport function searchLegalDocumentsVersionsReducer(state: LegalDocumentStateInterface): LegalDocumentStateInterface {\n return {\n ...state,\n versions: {\n ...state.versions,\n isLoading: true,\n },\n };\n}\nexport function searchLegalDocumentsVersionsSuccessReducer(\n state: LegalDocumentStateInterface,\n action: Action & { versions: LegalDocumentVersionInterface[] }\n): LegalDocumentStateInterface {\n return {\n ...state,\n versions: {\n ...state.versions,\n isLoading: false,\n list: action.versions,\n },\n };\n}\n","import { Action, createReducer, on } from \"@ngrx/store\";\nimport { AppActions } from \"../actions/app.actions\";\nimport { formatLocale } from \"src/app/plasma-ui-common/utils/format-locale\";\n\nexport const appFeatureKey = \"app\";\n\nexport interface State {\n activeLanguage: string;\n loadingJSON: boolean;\n}\n\nexport const initialState: State = {\n activeLanguage: \"\",\n loadingJSON: false,\n};\n\nconst appReducer = createReducer(\n initialState,\n on(AppActions.setActiveLanguage, (state, { language }) => ({\n ...state,\n activeLanguage: formatLocale(language),\n })),\n on(AppActions.loadAppLanguage, (state) => ({\n ...state,\n loadingJSON: true,\n })),\n on(AppActions.loadAppLanguageSuccess, AppActions.loadAppLanguageFailure, (state, { language }) => ({\n ...state,\n loadingJSON: formatLocale(language) === state.activeLanguage ? false : state.loadingJSON,\n }))\n);\n\nexport function reducer(state: State | undefined, action: Action) {\n return appReducer(state, action);\n}\n","import { createReducer, on } from \"@ngrx/store\";\nimport { ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { ProfileActions } from \"../actions/profile.actions\";\n\nexport const profileFeatureKey = \"profile\";\n\nexport interface ProfileInfo {\n phone: string;\n userId: string;\n ssn: string;\n locale: string;\n country: string;\n user_type: string[];\n given_name: string;\n family_name: string;\n date_of_birth: string;\n email: string;\n synlab_id: string;\n userid: string;\n}\n\nexport interface Consents {\n consentId: any;\n name: string;\n description: string;\n tooltipDescription: string;\n allowed?: boolean;\n dateUpdated?: string;\n}\n\nexport interface State {\n profile_data: any;\n authenticator_uri: any;\n code: string;\n phone: any;\n phone_temp: any;\n two_factor_enabled: boolean;\n residenceCountryCode: string;\n profile: ProfileInfo;\n consents: Consents[];\n consents_payload: ConsentsPayload[];\n consentLoading: boolean;\n isMarketingConsentChecked?: boolean;\n invalidProfileFormFields: string[];\n}\n\nexport const initialState: State = {\n profile_data: {\n user_type: null,\n },\n authenticator_uri: null,\n code: null,\n phone: {\n number: null,\n country_phone: null,\n country_residence: null,\n country: null,\n },\n phone_temp: {\n number: null,\n country_phone: null,\n },\n two_factor_enabled: null,\n residenceCountryCode: null,\n profile: null,\n consents: null,\n consents_payload: null,\n consentLoading: false,\n isMarketingConsentChecked: false,\n invalidProfileFormFields: [],\n};\n\nexport const reducer = createReducer(\n initialState,\n on(ProfileActions.loadProfiles, (state, { data }) => ({\n ...state,\n profile_data: data,\n phone: {\n number: data.phone,\n country_phone: data.country_phone,\n country_residence: data.country_residence,\n country: data.country,\n },\n })),\n on(ProfileActions.getAuthenticatorUri, (state, { data }) => ({\n ...state,\n authenticator_uri: data,\n })),\n on(ProfileActions.getRecoveryCodes, (state, { data }) => ({\n ...state,\n code: data,\n })),\n on(ProfileActions.updatePhoneDetails, (state, { number, country_phone }) => ({\n ...state,\n phone: {\n number: number,\n country_phone: country_phone,\n country_residence: state.phone.country_residence,\n country: state.phone.country,\n },\n })),\n on(ProfileActions.twoFaEnableSuccess, (state, { data }) => ({\n ...state,\n two_factor_enabled: data,\n })),\n on(ProfileActions.updatePhoneTemp, (state, { number, country_phone }) => ({\n ...state,\n phone_temp: {\n number: number,\n country_phone: country_phone,\n },\n })),\n on(ProfileActions.setResidence, ProfileActions.restoreResidence, (state, { countryCode }) => ({\n ...state,\n residenceCountryCode: countryCode,\n })),\n on(ProfileActions.getProfileSuccess, (state, { data }) => ({\n ...state,\n profile: data,\n })),\n on(ProfileActions.getConsent, (state) => ({\n ...state,\n consentLoading: true,\n })),\n on(ProfileActions.getConsentSuccess, (state, { data }) => ({\n ...state,\n consents: data,\n consentLoading: false,\n })),\n on(ProfileActions.getMarketingConsentsCheckedSuccess, (state, { value }) => ({\n ...state,\n isMarketingConsentChecked: value,\n })),\n on(ProfileActions.getConsentFailed, (state) => ({\n ...state,\n consentLoading: false,\n })),\n on(ProfileActions.consentOnchanges, (state, { consents }) => ({\n ...state,\n consents_payload: getConsentPayload(consents),\n })),\n on(ProfileActions.clearConsentPayload, (state) => ({\n ...state,\n consents: null,\n consents_payload: null,\n })),\n on(ProfileActions.AddInvalidMyProfileFormFields, (state, { name }) => ({\n ...state,\n invalidProfileFormFields: state.invalidProfileFormFields.concat(name),\n })),\n on(ProfileActions.RemoveInvalidMyProfileFormFields, (state, { name }) => ({\n ...state,\n invalidProfileFormFields: state.invalidProfileFormFields.filter((invalidField) => invalidField != name),\n })),\n on(ProfileActions.ResetInvalidMyProfileFormFields, (state) => ({\n ...state,\n invalidProfileFormFields: [],\n }))\n);\n\nfunction getConsentPayload(consent: Consents[]): ConsentsPayload[] {\n return consent.map((d) => ({ ConsentId: d.consentId, Allowed: d.allowed }));\n}\n","import { createReducer, on } from \"@ngrx/store\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\nimport * as RegisterProfileActions from \"src/app/@store/actions/register-profile.actions\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nexport const featureKey = \"registerProfile\";\n\nexport interface State {\n registerProfile: Claim[] | undefined;\n registerProfileLoadError: string | undefined;\n registerProfileLoadErrorObject: HttpErrorResponse;\n registerProfileSubmitted: boolean;\n registerProfileLoading: boolean;\n submitRegisterProfileLoading: boolean;\n submitRegisterProfileError: string | undefined;\n submitConsentLoading: boolean;\n}\nexport const initialState: State = {\n registerProfile: undefined,\n registerProfileLoadError: undefined,\n registerProfileLoadErrorObject: undefined,\n registerProfileSubmitted: false,\n registerProfileLoading: false,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: undefined,\n submitConsentLoading: false,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(RegisterProfileActions.reset, () => ({\n ...initialState,\n })),\n on(RegisterProfileActions.loadRegisterProfile, (state) => ({\n ...state,\n registerProfileLoading: true,\n })),\n on(RegisterProfileActions.loadRegisterProfileSuccess, (state, { data }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfile: data,\n })),\n on(RegisterProfileActions.loadRegisterProfileFailure, (state, { error, errorObject }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfileLoadError: error,\n registerProfileLoadErrorObject: errorObject,\n })),\n on(RegisterProfileActions.loadExistingPTProfile, (state) => ({\n ...state,\n registerProfileLoading: true,\n })),\n on(RegisterProfileActions.loadExistingPTProfileSuccess, (state, { data }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfile: data,\n })),\n on(RegisterProfileActions.loadExistingPTProfileFailure, (state, { error, errorObject }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfileLoadError: error,\n registerProfileLoadErrorObject: errorObject,\n })),\n on(RegisterProfileActions.submitRegisterProfile, (state) => ({\n ...state,\n registerProfileSubmitted: true,\n submitRegisterProfileLoading: true,\n submitRegisterProfileError: undefined,\n })),\n on(RegisterProfileActions.submitRegisterProfileSuccess, (state) => ({\n ...state,\n submitRegisterProfileLoading: false,\n })),\n on(RegisterProfileActions.submitRegisterProfileFailure, (state, { error }) => ({\n ...state,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: error,\n })),\n on(RegisterProfileActions.updatePtExistingProfile, (state) => ({\n ...state,\n registerProfileSubmitted: true,\n submitRegisterProfileLoading: true,\n submitRegisterProfileError: undefined,\n })),\n on(RegisterProfileActions.updatePtExistingProfileSuccess, (state) => ({\n ...state,\n submitRegisterProfileLoading: false,\n })),\n on(RegisterProfileActions.updatePtExistingProfileFailure, (state, { error }) => ({\n ...state,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: error,\n })),\n on(RegisterProfileActions.signupToTaraClicked, (state) => ({\n ...state,\n registerProfileLoading: true,\n submitRegisterProfileError: undefined,\n })),\n on(RegisterProfileActions.signupToTaraClickedFailure, (state, { error }) => ({\n ...state,\n registerProfileLoading: false,\n submitRegisterProfileError: error,\n }))\n);\n","import { createReducer, on } from \"@ngrx/store\";\nimport { RegisterActions } from \"../actions/registration.actions\";\n\nexport const registrationFeatureKey = \"registration\";\n\nexport interface IClaim {\n claimType: string;\n claimValue: string;\n}\n\nexport interface IRegisterClaims {\n user_type: string;\n username: string;\n fromCreatePage: string;\n hasEmailNotificationFlag: string;\n country: string;\n country_residence: string;\n allow_delete_user: string;\n view_individual_results: string;\n locale: string;\n created_by: string;\n name: string;\n email_verified: string;\n active: string;\n two_factor_enabled: string;\n two_factor_provider?: any;\n phone?: any;\n phone_verified: string;\n authentication_provider: string;\n created_by_name: string;\n created_date: string;\n modified_by_name?: any;\n modified_date?: any;\n userId: string;\n email: string;\n synlab_id: string;\n IsMigratedToProfile: string;\n given_name: string;\n family_name: string;\n ssn?: any;\n date_of_birth?: any;\n email_turned_off: string;\n}\n\nexport interface IExternalAuthProvider {\n authenticationScheme: string;\n displayName: string;\n}\n\nexport interface ISetPassword {\n authenticationProvider: \"local\" | \"external\";\n schemeProvider: string;\n currentPassword: string;\n newPassword: string;\n}\n\nexport interface ISetPhoneNumber {\n /** phone number */\n phone: string;\n /** country ISO code */\n countryPhone: string;\n /** registration ID from query parameter */\n code: string;\n}\n\nexport interface IVerifyPhoneNumber {\n /** phone number */\n phone: string;\n /** sms code */\n token: string;\n /** registration ID from query parameter */\n code: string;\n}\n\nexport interface ISetMFA {\n code: string;\n twoFactorEnabled: boolean;\n twoFactorProvider: \"Authenticator\" | \"phone\";\n}\n\nexport interface IAuthAppData {\n authenticatorUri: string;\n code: string;\n recoveryCodes: string[];\n}\n\nexport interface ISetMFAVerify {\n code: string;\n twoFactorEnabled: boolean;\n token: string;\n tokenProvider: \"Authenticator\" | \"phone\";\n}\n\nexport interface State {\n getClaimsLoading: boolean;\n claims: IRegisterClaims;\n externalAuthProviders: IExternalAuthProvider[];\n setPasswordInProgress: boolean;\n activationEmail: string;\n resendActivationLoading: boolean;\n activated: boolean;\n editPhoneLoading: boolean;\n smsCodeMFALoading: boolean;\n authAppData: IAuthAppData;\n privacyPolicyAccepted: boolean;\n}\n\nexport const initialState: State = {\n getClaimsLoading: true,\n claims: null,\n externalAuthProviders: [],\n setPasswordInProgress: false,\n activationEmail: \"\",\n resendActivationLoading: false,\n activated: null,\n editPhoneLoading: false,\n smsCodeMFALoading: false,\n authAppData: null,\n privacyPolicyAccepted: false,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(RegisterActions.loadRegistrationClaims, (state) => ({\n ...state,\n getClaimsLoading: true,\n })),\n on(RegisterActions.loadRegistrationClaimFailed, (state) => ({\n ...state,\n getClaimsLoading: false,\n })),\n on(RegisterActions.loadRegistrationClaimSuccess, (state, { claims }) => ({\n ...state,\n getClaimsLoading: false,\n claims: claims,\n })),\n on(RegisterActions.loadExternalAuthProviderSuccess, (state, { items }) => ({\n ...state,\n externalAuthProviders: items,\n })),\n on(RegisterActions.setUserPassword, (state) => ({\n ...state,\n setPasswordInProgress: true,\n })),\n on(RegisterActions.setUserPasswordFailed, (state) => ({\n ...state,\n setPasswordInProgress: false,\n })),\n on(RegisterActions.loadTaraUserInfo, (state) => ({\n ...state,\n activationEmail: \"\",\n })),\n on(RegisterActions.loadTaraUserInfoSuccess, (state, { email }) => ({\n ...state,\n activationEmail: email,\n })),\n on(RegisterActions.loadTaraUserInfoFailed, (state) => ({\n ...state,\n activationEmail: \"\",\n })),\n on(RegisterActions.taraResendEmailActivation, (state) => ({\n ...state,\n resendActivationLoading: true,\n })),\n on(RegisterActions.taraResendEmailActivationFailed, RegisterActions.taraResendEmailActivationSuccess, (state) => ({\n ...state,\n resendActivationLoading: false,\n })),\n on(RegisterActions.activateUserAccount, (state) => ({\n ...state,\n activated: null,\n })),\n on(RegisterActions.activateTaraUserSuccess, (state, { activated }) => ({\n ...state,\n activated: activated,\n })),\n on(RegisterActions.activateTaraUserFailed, (state) => ({\n ...state,\n activated: false,\n })),\n on(RegisterActions.updatePhoneNumber, RegisterActions.verifyPhoneNumber, (state) => ({\n ...state,\n editPhoneLoading: true,\n })),\n on(\n RegisterActions.updatePhoneNumberSuccess,\n RegisterActions.updatePhoneNumberFailed,\n RegisterActions.verifyPhoneNumberFailed,\n RegisterActions.verifyPhoneNumberSuccess,\n (state) => ({\n ...state,\n editPhoneLoading: false,\n })\n ),\n on(RegisterActions.enableMFAVerify, (state) => ({\n ...state,\n smsCodeMFALoading: true,\n })),\n on(RegisterActions.enableMFAVerifyFailed, RegisterActions.enableMFAVerifySuccess, (state) => ({\n ...state,\n smsCodeMFALoading: false,\n })),\n on(RegisterActions.setAuthenticatorAppData, (state, { data }) => ({\n ...state,\n authAppData: data,\n })),\n on(RegisterActions.acceptPrivacyPolicy, (state) => ({\n ...state,\n privacyPolicyAccepted: true,\n }))\n);\n","import { createReducer, on } from \"@ngrx/store\";\nimport { ELoginMethod } from \"src/app/appsettings\";\nimport { alphanumeric } from \"src/app/modules/shared/regex-pattern\";\nimport { Config } from \"src/app/services/config/config.service\";\nimport { CountryInfo } from \"src/app/services/country/country.service\";\nimport { isGeneplanetEnrolled } from \"src/app/utils/geneplanet.util\";\nimport { Claim, STSActions } from \"../actions/sts.actions\";\n\nexport const stsFeatureKey = \"sts\";\n\nexport interface UserInfo {\n sub: string;\n synlab_id: string;\n family_name?: string;\n given_name?: string;\n email?: string;\n ssn?: string;\n userId?: string;\n}\n\nexport interface State {\n synlabId: string;\n role: string[];\n name: string;\n country: string;\n email: string;\n config: Config;\n token: string;\n userInfo: UserInfo;\n loginStatus: boolean;\n claims: Claim[];\n idp: ELoginMethod;\n countryInfo: {\n status: \"loading\" | \"ok\";\n data: CountryInfo;\n };\n hasGeneplanetOrders: boolean | null;\n isGenePlanetEnrolled: boolean | null;\n}\n\nexport const initialState: State = {\n synlabId: \"\",\n role: [],\n name: null,\n country: null,\n email: \"\",\n config: null,\n token: null,\n userInfo: null,\n loginStatus: false,\n claims: [],\n idp: null,\n countryInfo: {\n status: \"ok\",\n data: null,\n },\n hasGeneplanetOrders: null,\n isGenePlanetEnrolled: null,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(STSActions.loadStssSuccess, (state, { data }) => ({\n ...state,\n ...data,\n })),\n on(STSActions.loadConfigSuccess, (state, { data }) => ({\n ...state,\n config: data,\n })),\n on(STSActions.addUserInfo, (state, { data }) => ({\n ...state,\n userInfo: data,\n })),\n on(STSActions.checkLoginStatus, (state, { value }) => ({\n ...state,\n loginStatus: value,\n })),\n on(STSActions.loadProfileSuccess, (state, { claims }) => ({\n ...state,\n claims: claims,\n isGenePlanetEnrolled: isGeneplanetEnrolled(claims),\n })),\n on(STSActions.loadProfileFailed, (state, { error }) => ({\n ...state,\n claims: null,\n })),\n on(STSActions.loadCountrySuccess, (state, { payload }) => ({\n ...state,\n countryInfo: {\n status: \"ok\",\n data: payload,\n },\n })),\n on(STSActions.loadCountry, (state) => ({\n ...state,\n countryInfo: {\n ...state.countryInfo,\n status: \"loading\",\n },\n })),\n on(STSActions.loadCountryFailed, (state) => ({\n ...state,\n countryInfo: {\n status: \"ok\",\n data: {\n ...(state.countryInfo.data || ({} as any)),\n ssnRegex: alphanumeric as any,\n },\n },\n })),\n on(STSActions.setClaims, (state, { claims }) => ({\n ...state,\n claims,\n isGenePlanetEnrolled: isGeneplanetEnrolled(claims),\n })),\n on(STSActions.setProfileEmail, (state, { email }) => ({\n ...state,\n email: email,\n })),\n on(STSActions.setHasGeneplanetOrders, (state, { hasOrders }) => ({\n ...state,\n hasGeneplanetOrders: hasOrders,\n })),\n on(STSActions.setGeneplanetEnrolled, (state, { isEnrolled }) => ({\n ...state,\n isGenePlanetEnrolled: isEnrolled,\n }))\n);\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { createReducer, on } from \"@ngrx/store\";\nimport { TaraUser } from \"src/app/models/tara-user.model\";\nimport * as TaraRegisterProfileActions from \"src/app/@store/actions/tara-register-profile.actions\";\nexport const featureKey = \"taraRegisterProfile\";\nexport interface State {\n registerProfile: TaraUser | undefined;\n registerProfileLoadError: string | undefined;\n registerProfileLoadErrorObject: HttpErrorResponse;\n registerProfileSubmitted: boolean;\n registerProfileLoading: boolean;\n submitRegisterProfileLoading: boolean;\n submitRegisterProfileError: string | undefined;\n submitConsentLoading: boolean;\n}\nexport const initialState: State = {\n registerProfile: undefined,\n registerProfileLoadError: undefined,\n registerProfileLoadErrorObject: undefined,\n registerProfileSubmitted: false,\n registerProfileLoading: false,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: undefined,\n submitConsentLoading: false,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(TaraRegisterProfileActions.reset, () => ({\n ...initialState,\n })),\n on(TaraRegisterProfileActions.loadRegisterProfile, (state) => ({\n ...state,\n registerProfileLoading: true,\n })),\n on(TaraRegisterProfileActions.loadRegisterProfileSuccess, (state, { data }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfile: data,\n })),\n on(TaraRegisterProfileActions.loadRegisterProfileFailure, (state, { error, errorObject }) => ({\n ...state,\n registerProfileLoading: false,\n registerProfileLoadError: error,\n registerProfileLoadErrorObject: errorObject,\n })),\n on(TaraRegisterProfileActions.submitRegisterProfile, (state) => ({\n ...state,\n registerProfileSubmitted: true,\n submitRegisterProfileLoading: true,\n submitRegisterProfileError: undefined,\n })),\n on(TaraRegisterProfileActions.submitRegisterProfileSuccess, (state) => ({\n ...state,\n submitRegisterProfileLoading: false,\n })),\n on(TaraRegisterProfileActions.submitRegisterProfileFailure, (state, { error }) => ({\n ...state,\n submitRegisterProfileLoading: false,\n submitRegisterProfileError: error,\n }))\n);\n","import { createSelector } from \"@ngrx/store\";\nimport { AppState } from \"../reducers\";\nimport { appFeatureKey } from \"../reducers/app.reducer\";\n\nconst State = (state: AppState) => state[appFeatureKey];\n\nconst isLanguageLoading = createSelector(State, ({ loadingJSON }) => loadingJSON);\nconst getActiveLanguage = createSelector(State, ({ activeLanguage }) => activeLanguage);\n\nexport const AppSelector = {\n isLanguageLoading,\n getActiveLanguage,\n};\n","import { createSelector } from \"@ngrx/store\";\nimport { initialMultiFactorAuthCountries } from \"src/app/services/config/config.service\";\nimport { AppState } from \"../reducers\";\nimport * as profileReducer from \"../reducers/profile.reducer\";\nconst State = (state: AppState) => state[profileReducer.profileFeatureKey];\n\nconst getProfile = createSelector(State, (data) => (data ? data : null));\n\nconst getAuthenticatorUri = createSelector(State, (data) => (data.authenticator_uri ? data.authenticator_uri : null));\n\nconst getRecoveryCodes = createSelector(State, (data) => (data.code ? data.code : null));\n\nconst getCurrentPhoneDetails = createSelector(State, (data) => (data.phone ? data.phone : null));\n\nconst getTwoFactorEnabled = createSelector(State, (data) => (data.two_factor_enabled ? data.two_factor_enabled : null));\n\nconst isTeacher = createSelector(State, (data) =>\n Array.isArray(data.profile_data.user_type)\n ? data.profile_data.user_type.some((n) => n === \"school_teacher\")\n : data.profile_data.user_type === \"school_teacher\"\n);\n\nconst getTempPhoneDetails = createSelector(State, (data) => ({\n number: data.phone_temp.number,\n country_phone: data.phone_temp.country_phone,\n}));\n\nconst getUserCountryRequireMFA = createSelector(\n State,\n (data) =>\n initialMultiFactorAuthCountries.indexOf(\n typeof data.residenceCountryCode === \"string\" ? data.residenceCountryCode.toLowerCase() : \"\"\n ) > -1\n);\n\nconst getLocale = createSelector(State, (data) => (data.profile && data.profile.locale ? data.profile.locale : \"\"));\nconst getConsent = createSelector(State, (data) => data.consents);\nconst isMarketingConsentChecked = createSelector(State, (data) => data.isMarketingConsentChecked);\nconst getConsentsLoading = createSelector(State, (data) => data.consentLoading);\nconst getConsentsPayload = createSelector(State, (data) => data.consents_payload);\nconst hasInvalidFormFields = createSelector(State, (data) => data.invalidProfileFormFields?.length);\n\nexport const ProfileSelectors = {\n hasInvalidFormFields,\n isMarketingConsentChecked,\n getProfile,\n getAuthenticatorUri,\n getRecoveryCodes,\n getCurrentPhoneDetails,\n getTwoFactorEnabled,\n getTempPhoneDetails,\n getUserCountryRequireMFA,\n isTeacher,\n getLocale,\n getConsent,\n getConsentsLoading,\n getConsentsPayload,\n};\n","import { createSelector } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport * as RegisterProfileReducer from \"src/app/@store/reducers/register-profile.reducer\";\nimport { claimTypes, userTypes } from \"src/app/appsettings\";\n\nconst State = (state: AppState) => state[RegisterProfileReducer.featureKey];\n\nexport const registerProfile = createSelector(State, (s) => s.registerProfile);\nexport const registerProfileLoading = createSelector(State, (s) => s.registerProfileLoading);\nexport const registerProfileErrorObject = createSelector(State, (s) => s.registerProfileLoadErrorObject);\nexport const registerProfileSubmitted = createSelector(State, (s) => s.registerProfileSubmitted);\nexport const submitRegisterProfileLoading = createSelector(State, (s) => s.submitRegisterProfileLoading);\nexport const submitRegisterProfileError = createSelector(State, (s) => s.submitRegisterProfileError);\nexport const registerSynlabAccessUser = createSelector(State, (s) => {\n return s.registerProfile?.some(\n (c) => c.claimType == claimTypes.USER_TYPE && c.claimValue == userTypes.SYNLAB_ACCESS_USER\n );\n});\n\nexport const registerProfileLinkInvalid = createSelector(\n registerProfileErrorObject,\n (s) => s?.status === 404 || s?.status === 400\n);\nexport const registerProfileLinkUsed = createSelector(registerProfileErrorObject, (s) => s?.status === 422);\nexport const registerSubmittedSuccessfully = createSelector(\n registerProfileSubmitted,\n submitRegisterProfileLoading,\n submitRegisterProfileError,\n (submitted, submitting, error) => submitted && !submitting && !error\n);\n","import { createSelector } from \"@ngrx/store\";\nimport { claimValues, userTypes } from \"src/app/appsettings\";\nimport { AppState } from \"../reducers\";\nimport * as RegistrationReducer from \"../reducers/registration.reducer\";\n\nconst State = (state: AppState) => state[RegistrationReducer.registrationFeatureKey];\n\nconst getRegisterClaimUserId = createSelector(State, ({ claims }) => claims?.userId);\nconst setPasswordInProgress = createSelector(State, (state) => state.setPasswordInProgress);\nconst getTaraRegistrationEmail = createSelector(State, (state) => state.activationEmail);\nconst getResendActivationLoading = createSelector(State, (state) => state.resendActivationLoading);\nconst getIsTaraUserActivated = createSelector(State, (state) => state.activated);\nconst getRegistrationPhoneNumber = createSelector(State, (state) => state.claims?.phone);\nconst getEditPhoneLoading = createSelector(State, (state) => state.editPhoneLoading);\nconst getTwoFactorEnabledClaim = createSelector(\n State,\n (state) => state.claims?.two_factor_enabled?.toLowerCase() == claimValues.TRUE\n);\nconst getLoadClaimsLoading = createSelector(State, (state) => state.getClaimsLoading);\nconst getSMSMFACodeLoading = createSelector(State, (state) => state.smsCodeMFALoading);\n\nconst getAuthenticatorUri = createSelector(State, (state) => state.authAppData?.authenticatorUri);\nconst getAuthenticatorAppCode = createSelector(State, (state) => state.authAppData?.code);\nconst getPrivacyAccepted = createSelector(State, (state) => state.privacyPolicyAccepted);\nconst getRegistrationUserType = createSelector(State, (state) => state.claims.user_type);\nconst getRegistrationIsPatient = createSelector(\n State,\n (state) => state.claims?.user_type?.toLowerCase() == userTypes.SYNLAB_ACCESS_USER\n);\n\nexport const RegistrationSelectors = {\n getRegistrationIsPatient,\n getRegistrationUserType,\n getPrivacyAccepted,\n getAuthenticatorUri,\n getAuthenticatorAppCode,\n getLoadClaimsLoading,\n getTwoFactorEnabledClaim,\n getEditPhoneLoading,\n getRegisterClaimUserId,\n setPasswordInProgress,\n getTaraRegistrationEmail,\n getResendActivationLoading,\n getIsTaraUserActivated,\n getRegistrationPhoneNumber,\n getSMSMFACodeLoading,\n};\n","import { createSelector } from \"@ngrx/store\";\nimport { AppState } from \"../reducers\";\nimport * as stsReducer from \"../reducers/sts.reducer\";\nimport {\n appLogo,\n claimTypes,\n whiteLabelNames,\n userTypes,\n countries,\n claimValues,\n ELoginMethod,\n} from \"src/app/appsettings\";\nimport { Config } from \"src/app/services/config/config.service\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\n\nconst VALUE_TRUE = \"true\";\nconst VALUE_FALSE = \"false\";\n\nconst State = (state: AppState) => state[stsReducer.stsFeatureKey];\n\nconst getName = createSelector(State, (data) => (data.name ? data.name : \"\"));\n\nconst getAppLogo = createSelector(State, (data) => data.config ? appLogo.SYNLAB : appLogo.LOADING);\n\nconst isAppWhiteLabeled = createSelector(State, (data) => {\n return getConfig(data.config, claimTypes.WHITE_LABEL_ENABLED).toLowerCase() === VALUE_TRUE;\n});\n\nconst getSynlabId = createSelector(State, (data) => data.synlabId);\nconst getCountry = createSelector(State, (data) => data.country);\nconst isSynlabAccessUser = createSelector(State, (data) =>\n data.role.some((role) => role === userTypes.SYNLAB_ACCESS_USER)\n);\nconst isAnonymousUser = createSelector(\n State,\n (data) =>\n data.claims.find((c) => c.claimType == claimTypes.ANONYMOUS_USER)?.claimValue.toLocaleLowerCase() ==\n claimValues.TRUE\n);\n\nconst isUkDfpAdminUser = createSelector(State, (data) => data.role.some((role) => role === userTypes.UK_DFP_ADMIN));\nconst isUkShfyAdminUser = createSelector(State, (data) => data.role.some((role) => role === userTypes.UK_SHFY_ADMIN));\n\nconst isGenePlanetElligibleUser = createSelector(\n State,\n (data) =>\n data.role.some((role) => role === userTypes.SYNLAB_ACCESS_USER) &&\n data &&\n data.claims &&\n data.claims.find((c) => c.claimType == claimTypes.ANONYMOUS_USER)?.claimValue.toLocaleLowerCase() !=\n claimValues.TRUE &&\n data.claims.find((c) => c.claimType == claimTypes.COUNTRY_STORAGE)?.claimValue.toLocaleLowerCase() ==\n countries.ESTONIA &&\n data.claims.find((c) => c.claimType == claimTypes.NATIONALITY)?.claimValue.toLocaleLowerCase() == countries.ESTONIA\n);\n\nconst hasEmail = createSelector(\n State,\n (data) =>\n data.claims?.find((c) => c.claimType == claimTypes.EMAIL)?.claimValue != \"\" &&\n data.claims?.find((c) => c.claimType == claimTypes.NO_EMAIL)?.claimValue.toLowerCase() != claimValues.TRUE\n);\n\nconst isWardProfile = createSelector(\n State,\n (data) =>\n data.claims?.find((c) => c.claimType == claimTypes.WARD_PROFILE)?.claimValue.toLowerCase() == claimValues.TRUE\n);\nconst getBaseBookingUrl = createSelector(State, (s) => {\n return `${s.config?.BaseBookingUrl}/login/redirected`;\n});\nconst getBasePlasmaUrl = createSelector(State, (s) => s.config.BasePlasmaUrl);\nconst getBookingAdminUrl = createSelector(State, (s) => s.config.BaseBookingAdminUrl);\nconst getWebreqAdminUrl = createSelector(State, (s) => s.config.BaseWebreqAdminUrl);\nconst getCheckResultUrl = createSelector(State, (s) => {\n const path =\n checkTenant(whiteLabelNames.UK_DFP, s.config) || checkTenant(whiteLabelNames.UK_SHFY, s.config)\n ? \"/results/category\"\n : \"/results/check\";\n return `${s.config.BasePlasmaUrl}${path}`;\n});\n\nconst getBookingLinkEnabled = createSelector(State, isSynlabAccessUser, (data, isAppAccessUser) => {\n const hideBookingLinkOnThisRoles = [\n userTypes.SCHOOL_ADMIN,\n userTypes.SCHOOL_TEACHER,\n userTypes.LOLLI_SUPER_ADMIN,\n userTypes.LOLLI_LAB_USER,\n userTypes.BCP,\n userTypes.WEBREQ_USER,\n ];\n\n const isPTCountry = data.country && data.country == countries.PORTUGAL;\n const isEETenant = checkTenant(whiteLabelNames.ESTONIA, data.config);\n const isHUTenant = checkTenant(whiteLabelNames.HUNGARY, data.config);\n const isDfpTenant = checkTenant(whiteLabelNames.UK_DFP, data.config);\n const isShfytenant = checkTenant(whiteLabelNames.UK_SHFY, data.config);\n const hidden = data.role.some((n: any) => hideBookingLinkOnThisRoles.includes(n));\n\n return (\n (isPTCountry && !hidden && !isDfpTenant && !isShfytenant) ||\n ((isEETenant || isHUTenant) && isAppAccessUser)\n );\n});\n\n/**\n * @param str String.\n * @returns Return equivaluent of string value in boolean.\n */\nconst strToBoolean = (str: string) => {\n const regex = /^\\s*(true|1|on)\\s*$/i;\n return regex.test(str);\n};\n\n/**\n * get ward limit from config. in case setup incorrectly, return 0\n */\nconst getWardLimit = createSelector(State, (data) => {\n return isNaN(+data.config.WardLimit) ? 0 : +data.config.WardLimit;\n});\n\nconst isSchoolAdmin = createSelector(State, (data) => {\n return data.role.some((a) => a.indexOf(userTypes.SCHOOL_ADMIN) > -1);\n});\n\nconst isMassCompanyUser = createSelector(\n State,\n (data) => data.role.includes(userTypes.MASS_COMPANY) && data.role.includes(userTypes.SYNLAB_ACCESS_USER)\n);\n\nconst getVersion = createSelector(State, (data) => data.config.Version);\n\nconst getUserInfo = createSelector(State, (data) => data.userInfo);\n\nconst isLoggedIn = createSelector(State, (data) => data.loginStatus === true);\n\nconst getClaims = createSelector(State, (data) => data.claims);\n\nconst isMFARequired = createSelector(State, (data) => {\n // temporarily commented out this code\n // const isMfaRequired = getConfig(data.config, claimTypes.REQUIRE_MFA).toLowerCase() === VALUE_TRUE;\n\n const isMFAEnabled =\n data.claims?.find((n) => n.claimType == claimTypes.TWO_FACTOR_ENABLED)?.claimValue.toLowerCase() == VALUE_TRUE;\n const isTaraLogin = data.idp?.toLowerCase() == ELoginMethod.EE_TARA;\n const isTeliaLogin = data.idp?.toLowerCase() == ELoginMethod.FI_TELIA;\n const isBankIdLogin = data.idp?.toLowerCase() == ELoginMethod.CZ_BANKID;\n const requireMfa = !isMFAEnabled;\n\n if (isTaraLogin || isTeliaLogin || isBankIdLogin) {\n return false;\n }\n\n return requireMfa;\n});\n\nconst showPreventionWellnessMenu = createSelector(State, (data) => {\n return data.claims\n ? data.claims.find((n) => n.claimType == claimTypes.COUNTRY_RESIDENCE).claimValue.toLowerCase() == countries.ESTONIA\n : false;\n});\nconst getPreventionWellnessLink = createSelector(State, (s) => {\n return `${s.config.BasePlasmaUrl}/redirect?url=prevention-wellness`;\n});\n\nconst getPetProfileEnabled = createSelector(State, (s) => {\n return getConfig(s.config, claimTypes.PET_PROFILE_ENABLED).toLowerCase() === VALUE_TRUE;\n});\n\nconst getEnablePreventionWellness = createSelector(State, (data) => {\n return getConfig(data.config, claimTypes.ENABLE_PREVENTION_WELLNESS).toLowerCase() === VALUE_TRUE;\n});\n\nconst isEstoniaInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.ESTONIA, data?.config));\nconst isSpainInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.SPAIN, data?.config));\nconst isHungaryInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.HUNGARY, data?.config));\nconst isUkShfyInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.UK_SHFY, data.config));\nconst isUkDfpInstance = createSelector(State, (data) => checkTenant(whiteLabelNames.UK_DFP, data.config));\nconst isPtInstance = createSelector(\n State,\n (data) => checkTenant(whiteLabelNames.PORTUGAL, data.config) || checkTenant(whiteLabelNames.INIT, data.config)\n);\nconst isHUTenant = createSelector(State, (data) => checkTenant(whiteLabelNames.HUNGARY, data?.config));\nconst isBETenant = createSelector(State, (data) => checkTenant(whiteLabelNames.BELGIUM, data?.config));\nconst isESTenant = createSelector(State, (data) => checkTenant(whiteLabelNames.SPAIN, data?.config));\nconst isESTCTenant = createSelector(State, (data) => checkTenant(whiteLabelNames.SPAIN_TELECOUNSELING, data?.config));\nconst isFITenant = createSelector(State, (data) => checkTenant(whiteLabelNames.FINLAND, data?.config));\nconst isCzechRepublic = createSelector(State, (data) => checkTenant(whiteLabelNames.CZECH_REPUBLIC, data?.config));\nconst isBelgium = createSelector(State, (data) => checkTenant(whiteLabelNames.BELGIUM, data?.config));\n\nconst checkIfTaraLoginMethod = createSelector(State, (data) => {\n return data.idp?.toLowerCase() == ELoginMethod.EE_TARA;\n});\nconst checkIfTeliaLoginMethod = createSelector(State, (data) => {\n return data.idp?.toLowerCase() == ELoginMethod.FI_TELIA;\n});\nconst checkBankIdLoginMethod = createSelector(State, (data) => {\n return data.idp?.toLowerCase() == ELoginMethod.CZ_BANKID;\n});\n\n\nconst getRoles = createSelector(State, (data) => data.role);\nconst getUserHeader = createSelector(State, (data) => ({\n givenName: data.claims?.find((c) => c.claimType == claimTypes.GIVEN_NAME)?.claimValue,\n familyName: data.claims?.find((c) => c.claimType == claimTypes.FAMILY_NAME)?.claimValue,\n synlabId: data.synlabId,\n claims: data.claims,\n}));\nconst getGpEnrolleeInfo = createSelector(State, (data) => ({\n synlabId: data.synlabId,\n sex: data.claims?.find((c) => c.claimType == claimTypes.GENDER)?.claimValue,\n dateOfBirth: data.claims?.find((c) => c.claimType == claimTypes.DATE_OF_BIRTH)?.claimValue,\n}));\nconst getWhiteLabelName = createSelector(State, (data) => data.config?.WhiteLabelName);\n\nconst getEnableOpenReplay = createSelector(State, (data) => {\n return getConfig(data.config, claimTypes.OPEN_REPLAY_ENABLE).toLowerCase() === VALUE_TRUE;\n});\nconst getOpenReplayProjectKey = createSelector(State, (data) =>\n getConfig(data.config, claimTypes.OPEN_REPLAY_PROJECT_KEY)\n);\nconst getOpenReplayIngestPoint = createSelector(State, (data) =>\n getConfig(data.config, claimTypes.OPEN_REPLAY_INGEST_API)\n);\nconst getAppEnvironment = createSelector(State, (data) => getConfig(data.config, claimTypes.ENVIRONMENT));\nconst getUserUserId = createSelector(State, (data) => data.userInfo?.userId);\nconst getUserSub = createSelector(State, (data) => data.userInfo?.sub);\nconst getSSN = createSelector(State, (data) => data.userInfo?.ssn);\n\n/**\n * Sts country selectors\n */\nconst getUserActiveEmail = createSelector(State, (data) => data.email);\nconst stsCountrySSNRegex = createSelector(State, (state) => state.countryInfo.data?.ssnRegex);\nconst isSTSCountryLoading = createSelector(State, (state) => state.countryInfo.status === \"loading\");\n\n/**\n * Sts claim selectors\n */\nconst isEEWithNoEmail = createSelector(State, isEstoniaInstance, (state, isEE) => {\n const result = state?.claims?.find((claim) => claim.claimType === claimTypes.NO_EMAIL);\n return isEE && JSON.parse(result ? result.claimValue.toLocaleLowerCase() : claimValues.FALSE);\n});\n\nconst getAccountsBaseUrl = createSelector(State, (state) => state.config?.BaseProfileUrl);\n\nconst hasGeneplanetOrders = createSelector(State, (state) => state.hasGeneplanetOrders);\nconst isGenePlanetEnrolled = createSelector(State, (state) => state.isGenePlanetEnrolled);\n\nconst isSuperSupportUser = createSelector(State, (data) => {\n const accessPerTenant = {\n [whiteLabelNames.ESTONIA]: [userTypes.EE_ADMIN],\n [whiteLabelNames.UK_DFP]: [userTypes.UK_DFP_ADMIN],\n [whiteLabelNames.UK_SHFY]: [userTypes.UK_SHFY_ADMIN],\n };\n const userTypesToCheck =\n data?.config.WhiteLabelName in accessPerTenant ? accessPerTenant[data.config.WhiteLabelName] : [userTypes.PT_ADMIN];\n return (\n data.role.some((role: string) => userTypesToCheck.includes(role)) &&\n isClaimTrue(data.claims, claimTypes.ALLOW_DELETE_USER)\n );\n});\n\nconst getBaseProfileUrl = createSelector(State, (s) => {\n return `${s.config.BaseProfileUrl}`;\n});\n\nconst useNewUI = createSelector(State, (data) => {\n const key: keyof Config = \"UseNewUI\";\n return getConfig(data.config, key).toLowerCase() === VALUE_TRUE;\n});\n\nconst useNewNav = createSelector(\n useNewUI,\n isEstoniaInstance,\n (useNewUiResult, isEstoniaInstanceResult) => useNewUiResult || isEstoniaInstanceResult\n);\n\nconst wardProfileAddEnabled = createSelector(\n State,\n (s) => s.config.WardProfileAddEnabled?.toLowerCase() === claimValues.TRUE\n);\nconst wardProfileEditEnabled = createSelector(\n State,\n (s) => s.config.WardProfileEditEnabled?.toLowerCase() === claimValues.TRUE\n);\nconst wardProfileDeleteEnabled = createSelector(\n State,\n (s) => s.config.WardProfileDeleteEnabled?.toLowerCase() === claimValues.TRUE\n);\n\nconst getContactEmail = createSelector(\n State,\n (data) => data.claims.find((c) => c.claimType == claimTypes.CONTACT_EMAIL)?.claimValue\n);\n\nfunction getConfig(config: { [keys: string]: any }, keyName: string) {\n if (!config) {\n return \"\";\n }\n return config[keyName];\n}\n\nexport function checkTenant(tenantName: string, config: Config): boolean {\n const isWhiteLabeled = getConfig(config, claimTypes.WHITE_LABEL_ENABLED).toLowerCase() === VALUE_TRUE;\n const whiteLabelName = getConfig(config, claimTypes.WHITE_LABEL_NAME).toLowerCase();\n\n switch (tenantName) {\n case whiteLabelNames.FINLAND:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.FINLAND;\n case whiteLabelNames.BELGIUM:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.BELGIUM;\n case whiteLabelNames.HUNGARY:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.HUNGARY;\n case whiteLabelNames.ESTONIA:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.ESTONIA;\n case whiteLabelNames.UK_DFP:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.UK_DFP;\n case whiteLabelNames.UK_SHFY:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.UK_SHFY;\n case whiteLabelNames.PORTUGAL:\n return !isWhiteLabeled && whiteLabelName == whiteLabelNames.PORTUGAL;\n case whiteLabelNames.INIT:\n return !isWhiteLabeled && whiteLabelName == whiteLabelNames.INIT;\n case whiteLabelNames.SPAIN:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.SPAIN;\n case whiteLabelNames.SPAIN_TELECOUNSELING:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.SPAIN_TELECOUNSELING;\n case whiteLabelNames.CZECH_REPUBLIC:\n return isWhiteLabeled && whiteLabelName == whiteLabelNames.CZECH_REPUBLIC;\n default:\n return false;\n }\n}\n\nfunction isClaimTrue(profile: any[], claim: string): boolean {\n if (!Array.isArray(profile)) return false;\n return profile.find((x: Claim) => x.claimType === claim)?.claimValue?.toLocaleLowerCase() == claimValues.TRUE;\n}\n\nexport const StsSelectors = {\n isBelgium,\n checkBankIdLoginMethod,\n getContactEmail,\n checkIfTeliaLoginMethod,\n wardProfileAddEnabled,\n wardProfileEditEnabled,\n wardProfileDeleteEnabled,\n getSSN,\n isCzechRepublic,\n isESTenant,\n isESTCTenant,\n isFITenant,\n useNewUI,\n isHUTenant,\n isBETenant,\n useNewNav,\n getUserActiveEmail,\n getAppEnvironment,\n getUserUserId,\n getUserSub,\n getOpenReplayIngestPoint,\n getOpenReplayProjectKey,\n getEnableOpenReplay,\n isEstoniaInstance,\n isSpainInstance,\n isHungaryInstance,\n getEnablePreventionWellness,\n getPetProfileEnabled,\n showPreventionWellnessMenu,\n getPreventionWellnessLink,\n isMFARequired,\n getClaims,\n getBookingLinkEnabled,\n getBaseBookingUrl,\n getBasePlasmaUrl,\n getBookingAdminUrl,\n getWebreqAdminUrl,\n getSynlabId,\n getName,\n isAppWhiteLabeled,\n getAppLogo,\n getCountry,\n isSynlabAccessUser,\n getWardLimit,\n getVersion,\n isSchoolAdmin,\n isMassCompanyUser,\n isWardProfile,\n getUserInfo,\n isLoggedIn,\n checkIfTaraLoginMethod,\n getRoles,\n getUserHeader,\n getGpEnrolleeInfo,\n isGenePlanetElligibleUser,\n getWhiteLabelName,\n isSTSCountryLoading,\n stsCountrySSNRegex,\n hasEmail,\n isEEWithNoEmail,\n isUkDfpAdminUser,\n isUkShfyAdminUser,\n getCheckResultUrl,\n getAccountsBaseUrl,\n hasGeneplanetOrders,\n isGenePlanetEnrolled,\n isUkShfyInstance,\n isUkDfpInstance,\n isPtInstance,\n isSuperSupportUser,\n getBaseProfileUrl,\n isAnonymousUser,\n};\n","import { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { Store } from \"@ngrx/store\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { AppState } from \"./@store/reducers\";\nimport { AuthService } from \"./services/auth/auth.service\";\nimport { ConfigService } from \"./services/config/config.service\";\nimport { LoggerService } from \"./services/logger.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AppCommonServices {\n constructor(\n public router: Router,\n public store: Store,\n public config: ConfigService,\n public transloco: TranslocoService,\n public logger: LoggerService,\n public toastr: ToastrService,\n public auth: AuthService\n ) {}\n}\n","export enum whiteLabelNames {\n ESTONIA = \"ee\",\n HUNGARY = \"hu\",\n UK_DFP = \"dfp\",\n UK_SHFY = \"shfy\",\n PORTUGAL = \"pt\",\n INIT = \"init\",\n GLOBAL = \"global\",\n SPAIN = \"es\",\n SPAIN_TELECOUNSELING = \"es-tc\",\n FINLAND = \"fi\",\n CZECH_REPUBLIC = \"cz\",\n BELGIUM = \"be\",\n}\n\nexport enum userTypes {\n BCP = \"bcp\",\n MASS_COMPANY = \"mass_company\",\n WEBREQ_USER = \"webreq_user\",\n LOLLI_LAB_USER = \"lolli_lab_user\",\n SCHOOL_ADMIN = \"school_admin\",\n SCHOOL_TEACHER = \"school_teacher\",\n LOLLI_SUPER_ADMIN = \"lolli_superadmin\",\n SYNLAB_ACCESS_USER = \"synlab_access_user\",\n UK_DFP_ADMIN = \"uk_dfp_admin\",\n UK_SHFY_ADMIN = \"uk_shfy_admin\",\n EE_ADMIN = \"ee_admin\",\n PT_ADMIN = \"pt_admin\",\n EXPERT = \"expert\",\n BOOKING_ADMIN_BCP_COORDINATOR = \"booking_admin_bcp_coordinator\",\n BOOKING_ADMIN_BCP_CLERK = \"booking_admin_bcp_clerk\",\n BOOKING_ADMIN = \"booking_admin\",\n WEBREQ_ADMIN = \"webreq_admin\",\n WEBREQ_SUPERADMIN = \"webreq_superadmin\",\n}\n\n\nexport const WEBREQ_ADMIN_USER_TYPES = [userTypes.WEBREQ_ADMIN, userTypes.WEBREQ_SUPERADMIN];\nexport const BOOKING_ADMIN_USER_TYPES = [userTypes.BOOKING_ADMIN, userTypes.BOOKING_ADMIN_BCP_CLERK, userTypes.BOOKING_ADMIN_BCP_COORDINATOR];\n\n\nexport enum ShfyRoles {\n DOCTOR = \"doctor\",\n}\n\nexport enum claimTypes {\n CONTACT_EMAIL = \"contact_email\",\n SHFY_ROLES = \"shfy_roles\",\n GIVEN_NAME = \"given_name\",\n FAMILY_NAME = \"family_name\",\n DATE_OF_BIRTH = \"date_of_birth\",\n GENDER = \"gender\",\n PHONE = \"phone\",\n PHONE_VERIFIED = \"phone_verified\",\n COUNTRY_PHONE = \"country_phone\",\n COUNTRY_STORAGE = \"country\",\n COUNTRY_RESIDENCE = \"country_residence\",\n COUNTRY_ADDRESS = \"country_address\",\n NATIONALITY = \"nationality\",\n USER_TYPE = \"user_type\",\n SSN = \"ssn\",\n IS_SELF_REGISTERED = \"is_self_registered\",\n IS_TARA_PROVIDER = \"is_tara_provider\",\n TARA_ID = \"tara_id\",\n TWO_FACTOR_ENABLED = \"two_factor_enabled\",\n WHITE_LABEL_ENABLED = \"WhiteLabelEnabled\",\n WHITE_LABEL_NAME = \"WhiteLabelName\",\n EMAIL = \"email\",\n ACTIVE = \"active\",\n CAPTURE_FROM_BOOKING_INTEGRATION = \"captured_from_booking_integration\",\n EMAIL_TURNED_OFF = \"email_turned_off\",\n PET_PROFILE = \"pet_profile\",\n PET_CATEGORY_NAME = \"pet_category_name\",\n PET_CATEGORY = \"pet_category\",\n ENABLE_PREVENTION_WELLNESS = \"EnablePreventionWellness\",\n PET_PROFILE_ENABLED = \"PetProfileEnabled\",\n EE_MIGRATION_ACCEPTED = \"ee_migration_accepted\",\n EE_NOTIFICATION_LANGUAGE = \"ee_notification_language\",\n EE_MESSAGE_TYPE = \"ee_message_type\",\n EE_NOTIFICATION_TWO_DAYS_BEFORE = \"ee_notification_two_days_before\",\n EE_NOTIFICATION_WHEN_READY = \"ee_notification_when_ready\",\n EE_NOTIFICATION_NEWS_LETTER = \"ee_notification_news_letter\",\n EE_GP_AGREE_TERMS_AND_CONDITIONS = \"ee_gp_agree_terms_and_conditions\",\n EE_GP_AGREE_PRIVACY_POLICY = \"ee_gp_agree_privacy_policy\",\n EE_GP_AGREE_DATA_PRIVACY = \"ee_gp_agree_data_privacy\",\n ANONYMOUS_USER = \"anonymous_user\",\n PASSPORT_NUMBER = \"passport_number\",\n USERID = \"userId\",\n LOGIN_METHOD = \"login_method\",\n GENEPLANET_USER = \"geneplanet_user\",\n COOKIE_BOT_API_KEY = \"CookieBotAPIKey\",\n REQUIRE_MFA = \"RequireMFA\",\n OPEN_REPLAY_ENABLE = \"EnableOpenReplay\",\n OPEN_REPLAY_PROJECT_KEY = \"OpenReplayProjectKey\",\n OPEN_REPLAY_INGEST_API = \"OpenReplayIngestPoint\",\n ENVIRONMENT = \"Environment\",\n NO_EMAIL = \"no_email\",\n WARD_PROFILE = \"ward_profile\",\n COUNTRY_CONTACT = \"country_contact\",\n LOCALE = \"locale\",\n ALLOW_DELETE_USER = \"allow_delete_user\",\n SYNLAB_ID = \"synlab_id\",\n EMAIL_VERIFIED = \"email_verified\",\n PROFILE_TOS_ENABLED = \"ProfileTOSEnabled\",\n TWO_FACTOR_PROVIDER= \"two_factor_provider\",\n}\n\nexport enum claimValues {\n TRUE = \"true\",\n FALSE = \"false\",\n}\n\nexport enum appLogo {\n LOADING = \"/assets/project-logo/loading-logo.png\",\n SYNLAB = \"/assets/project-logo/default-logo.png\",\n}\n\nexport enum countries {\n PORTUGAL = \"pt\",\n COLOMBIA = \"co\",\n ESTONIA = \"ee\",\n}\n\nexport enum petCategories {\n DOG = \"dog\",\n CAT = \"cat\",\n HORSE = \"horse\",\n MONKEY = \"monkey\",\n OTHER = \"other\",\n}\n\nexport enum externalLink {\n TARA_PRIVACY_POLICY_LINK = \"/privacyterms\",\n GP_TERMS_AND_CONDITIONS = \"https://geneplanet.com/eu/terms-and-conditions\",\n GP_PRIVACY_POLICY = \"https://geneplanet.com/eu/privacy-policy\",\n GP_DATA_PRIVACY = \"https://geneplanet.com/eu/data-privacy\",\n}\n\nexport enum registerV2Enum {\n ACTIVE_STEPPER = \"activeStepper\",\n DATE_OF_BIRTH_FORMAT = \"YYYY-MM-DD\",\n}\n\nexport enum AUTH_PROVIDER_TYPE {\n LOCAL = \"local\",\n}\n\nexport enum queryParamKey {\n REGID = \"id\",\n SEQID = \"seqId\",\n SEQUENCE_ID = \"sequenceId\",\n TARA_CREATED = \"taraCreated\",\n USER_ID = \"userid\",\n BANK_ID = \"bankid\",\n FINLAND_ADMIN_SIGNUP = \"isNormalSignup\",\n EMAIL_ADDRESS_FROM_RESULT = \"resultEmail\",\n}\n\nexport const defaultTaraLocale = \"et-EE\";\nexport const taraPrefilledClaims = [\n {\n claimType: claimTypes.USER_TYPE,\n claimValue: userTypes.SYNLAB_ACCESS_USER,\n },\n {\n claimType: claimTypes.IS_SELF_REGISTERED,\n claimValue: claimValues.TRUE,\n },\n {\n claimType: claimTypes.IS_TARA_PROVIDER,\n claimValue: claimValues.TRUE,\n },\n {\n claimType: claimTypes.COUNTRY_STORAGE,\n claimValue: countries.ESTONIA,\n },\n];\n\nexport enum ACCOUNT_ACTIVATION {\n VERIFICATION_FAILED = \"verification_failed\",\n EMAIL_ACTIVATED = \"email_activated\",\n EMAIL_VERIFIED = \"email_verified\",\n ACTIVATION_LINK_USED = \"activation_link_used\",\n}\n\nexport enum ELoginMethod {\n SYNLAB_ACCESS = \"synlab_access\",\n EE_TARA = \"tara\",\n FI_TELIA = \"telia\",\n CZ_BANKID = \"bankid\"\n}\n\nexport enum EPageTitle {\n ESTONIA = \"SYNLAB Access\",\n DEFAULT = \"SYNLAB Access Account\",\n}\n\nexport enum EBodyClass {\n ESTONIA = \"tenant-estonia\",\n DEFAULT = \"tenant-normal\",\n}\n\nexport enum CategoryName {\n PERSONAL_NOTIFICATION_CONSENTS = \"personal-notification-consents\",\n}\n\nexport const localeMap = {\n et: \"et-EE\",\n ru: \"ru-RU\",\n en: \"en-GB\",\n};\n\nexport const GTM_PLACEHOLDER_VALUE = \"[placeholder]\";\nexport const CONSENTS = \"consents\";\n\nexport enum ErrorCode {\n USER_DEACTIVATED = \"user-deactivated\",\n}\n\nexport enum AUTH_METHOD {\n TELIA = \"telia\",\n TARA = \"tara\",\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DatePickerComponent } from \"./date-picker.component\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatNativeDateModule } from \"@angular/material/core\";\nimport { MatMomentDateModule } from \"@angular/material-moment-adapter\";\n\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { TranslocoModule } from \"@ngneat/transloco\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatInputModule } from \"@angular/material/input\";\n\n@NgModule({\n declarations: [DatePickerComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslocoModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatMomentDateModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n ],\n exports: [DatePickerComponent],\n})\nexport class DatePickerModule {}\n","
\n
\n
\n

\n {{ t1(\"smsTitle\") }} ({{ phoneNumber$ | async }})\n

\n

{{ t1(\"sms2FAExplanationText\") }}

\n
\n
\n
\n \n \n
\n \n
\n \n
\n
\n
\n
\n\n
\n \n
\n
{{ t1(\"codeLabel1\") | uppercase }}
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
{{ t1(\"mobileNumberLabel\") }}
\n
\n \n\n
\n \n
\n
\n
\n\n \n
\n
{{ t1(\"codeLabel1\") | uppercase }}
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, UntypedFormControl, Validators } from \"@angular/forms\";\nimport { select, Store } from \"@ngrx/store\";\nimport { combineLatest, merge, ReplaySubject, Subscription } from \"rxjs\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { RegistrationSelectors } from \"src/app/@store/selectors/registration.selectors\";\nimport parsePhoneNumber from \"libphonenumber-js\";\nimport { filter, take, tap } from \"rxjs/operators\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { RegisterActions } from \"src/app/@store/actions/registration.actions\";\nimport * as RegisterProfileActions from \"src/app/@store/actions/register-profile.actions\";\nimport {\n ISetMFA,\n ISetMFAVerify,\n ISetPhoneNumber,\n IVerifyPhoneNumber,\n} from \"src/app/@store/reducers/registration.reducer\";\nimport { Actions, ofType } from \"@ngrx/effects\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { generalScopeKey, twoFactorAuthenticatorScopeKey } from \"src/app/services/i18n/i18n.service\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { MyAccountService } from \"src/app/pages/index/pages/my-account/my-account.service\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { claimsToObject } from \"src/app/utils/claims-to-object\";\nimport { claimTypes } from \"src/app/appsettings\";\n\nexport enum EAuthenticationType {\n AUTHENTICATOR = \"Authenticator\",\n PHONE = \"Phone\",\n}\nconst tkey1 = \"twoFactorAuthenticator\";\n\n@Component({\n selector: \"app-register-mfa-sms\",\n templateUrl: \"./register-mfa-sms.component.html\",\n styleUrls: [\"./register-mfa-sms.component.scss\"],\n})\nexport class RegisterMfaSmsComponent implements OnInit, OnDestroy {\n tkey1 = tkey1;\n phoneNumber$ = this._store.pipe(select(RegistrationSelectors.getRegistrationPhoneNumber));\n editPhoneLoading$ = this._store.pipe(select(RegistrationSelectors.getEditPhoneLoading));\n getSMSMFACodeLoading$ = this._store.pipe(select(RegistrationSelectors.getSMSMFACodeLoading));\n\n editPhoneToggle$ = new ReplaySubject(1);\n smsCodePhoneUpdateToggle$ = new ReplaySubject(1);\n smsCodeEnableMFAToggle$ = new ReplaySubject(1);\n\n public form: FormGroup;\n phoneNumberFC = new UntypedFormControl(undefined, [Validators.required]);\n smsCodeFC = new UntypedFormControl(undefined, [Validators.required]);\n smsCodeEnableMfaFC = new UntypedFormControl(undefined, [Validators.required]);\n\n enableSMSLoading: boolean = false;\n countryISO: string = undefined;\n phoneNumber: string = undefined;\n private _subs = new Subscription();\n public isValid: boolean;\n\n constructor(\n private _store: Store,\n private _actRoute: ActivatedRoute,\n private _actions$: Actions,\n private _transloco: TranslocoService,\n private _toastr: ToastrService,\n private formBuilder: FormBuilder,\n private myAccountSvc: MyAccountService\n ) {}\n\n public validatePhoneFormGroupValues(event) {\n const values = event.value.phone;\n this.countryISO = values.countryCode;\n this.phoneNumber = values.e164Number;\n this.phoneNumberFC = event.get(\"phone\");\n this.isValid = this.myAccountSvc.phoneValidator.isValidNumber(event.get(\"phone\")?.getRawValue());\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n phone: [\"\", [Validators.required]],\n country_phone: [\"\", [Validators.required]],\n });\n this._subs.add(\n this.phoneNumber$\n .pipe(\n filter((n) => n),\n tap((phone) => {\n if (phone) {\n const phoneTemp = parsePhoneNumber(`${phone}`);\n if (phoneTemp) {\n this.form.get(\"phone\").setValue(phoneTemp?.nationalNumber);\n this.form.get(\"country_phone\").setValue(phoneTemp?.country);\n }\n }\n })\n )\n .subscribe()\n );\n // reset view\n this.resetView();\n\n if (\"userid\" in this._actRoute.snapshot.queryParams) {\n const { userid } = this._actRoute.snapshot.queryParams;\n this._subs.add(this._store.dispatch(RegisterActions.loadExistingUserClaims({ userid: userid })));\n }\n\n // toggle view for entering code from sms\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.updatePhoneNumberSuccess)).subscribe(({ phone }) => {\n this.smsCodePhoneUpdateToggle$.next(true);\n\n const mess = this._transloco.translate(\n \"verificationCodeSentText\",\n { phoneNumber: phone },\n twoFactorAuthenticatorScopeKey\n );\n this._toastr.success(mess);\n\n // set focus\n setTimeout(() => {\n document.getElementById(\"smsCodeFC\")?.focus();\n }, 100);\n })\n );\n\n // reset phone update formcontrols\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.verifyPhoneNumberSuccess)).subscribe(({ success }) => {\n if (success) {\n this.resetView();\n this.smsCodeFC.reset();\n\n // reload claims\n const params = this._actRoute.snapshot.queryParams;\n\n const { id, sequenceId, seqId } = params;\n const sequence_id: string = sequenceId || seqId;\n if (id && sequence_id) {\n this._store.dispatch(RegisterActions.loadRegistrationClaims({ id, seqId: sequence_id }));\n } else {\n combineLatest([\n this._store.select(StsSelectors.isCzechRepublic),\n this._store.select('sts')\n ])\n .pipe(take(1)).subscribe(([isCz, { claims }]) => {\n if (isCz) {\n const objClaims: any = claimsToObject(claims);\n objClaims[claimTypes.TWO_FACTOR_ENABLED] = 'True';\n this._store.dispatch(RegisterActions.loadRegistrationClaimSuccess({ claims: objClaims }));\n }\n });\n }\n }\n })\n );\n\n // hide loading indicator for sms enable button\n this._subs.add(\n merge(\n this._actions$.pipe(ofType(RegisterActions.enableMFASuccess)),\n this._actions$.pipe(ofType(RegisterActions.enableMFAFailed))\n ).subscribe((n) => (this.enableSMSLoading = false))\n );\n\n // show error message\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.enableMFAFailed)).subscribe(({ error }) => {\n this._toastr.error(\n error.error.ErrorMessage,\n this._transloco.translate(\"errorOccuredTitle\", {}, generalScopeKey)\n );\n })\n );\n\n // display code input for enabling MFA - sms\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.enableMFASuccess)).subscribe(({ data, authType }) => {\n if (authType == EAuthenticationType.PHONE.toLowerCase()) {\n this.smsCodeEnableMFAToggle$.next(true);\n const m = this._transloco.translate(\n \"verificationCodeSentText\",\n { phoneNumber: this.phoneNumber },\n twoFactorAuthenticatorScopeKey\n );\n this._toastr.success(m);\n\n // set focus\n setTimeout(() => {\n document.getElementById(\"smsCodeEnableMfaFC\")?.focus();\n }, 100);\n }\n })\n );\n\n // re-fetch registration claims\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.enableMFAVerifySuccess)).subscribe(({ data }) => {\n if (data.result && data.type.toLowerCase() == EAuthenticationType.PHONE.toLowerCase()) {\n const { id, sequenceId, seqId } = this._actRoute.snapshot.queryParams;\n const sequence_id: string = sequenceId || seqId;\n if (id && sequence_id) {\n this._store.dispatch(RegisterActions.loadRegistrationClaims({ id, seqId: sequence_id }));\n } else {\n combineLatest([\n this._store.select(StsSelectors.isCzechRepublic),\n this._store.select('sts')\n ])\n .pipe(take(1)).subscribe(([isCz, { claims }]) => {\n if (isCz) {\n const objClaims: any = claimsToObject(claims);\n objClaims[claimTypes.TWO_FACTOR_ENABLED] = 'True';\n this._store.dispatch(RegisterActions.loadRegistrationClaimSuccess({ claims: objClaims }));\n }\n });\n }\n }\n })\n );\n\n // reset if \"enable\" button in Authenticator App is clicked.\n this._subs.add(\n this._actions$.pipe(ofType(RegisterActions.resetMFAInProgress)).subscribe(({ authType }) => {\n if (authType == EAuthenticationType.PHONE) {\n this.resetView();\n\n this.smsCodeFC.reset();\n this.smsCodeEnableMfaFC.reset();\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this._subs.unsubscribe();\n }\n\n toggleEditSmsOnclick(value: boolean) {\n this.editPhoneToggle$.next(value);\n\n // reset auth app\n this._store.dispatch(\n RegisterActions.resetMFAInProgress({\n authType: EAuthenticationType.AUTHENTICATOR,\n })\n );\n }\n\n updatePhoneNumber() {\n this.smsCodeFC.reset();\n const p = this.phoneNumberFC.value;\n const { id, userId } = this._actRoute.snapshot.queryParams;\n const encodedId = id || userId;\n const payload: ISetPhoneNumber = {\n code: encodedId,\n phone: p?.e164Number?.replace(\"+\", \"\"),\n countryPhone: p?.countryCode,\n };\n this._store.dispatch(RegisterActions.updatePhoneNumber({ payload }));\n }\n\n verifyPhone() {\n const code = this.smsCodeFC.value;\n const phone = this.phoneNumberFC.value;\n const { id, userId } = this._actRoute.snapshot.queryParams;\n const encodedId = id || userId;\n const payload: IVerifyPhoneNumber = {\n code: encodedId,\n phone: phone?.e164Number?.replace(\"+\", \"\"),\n token: code,\n };\n\n this._store.dispatch(RegisterActions.verifyPhoneNumber({ payload }));\n }\n\n resetView() {\n this.smsCodePhoneUpdateToggle$.next(false);\n this.editPhoneToggle$.next(false);\n this.smsCodeEnableMFAToggle$.next(false);\n }\n\n enableMFA(authType: EAuthenticationType) {\n const t = authType?.toLowerCase();\n const { id, userId } = this._actRoute.snapshot.queryParams;\n const encodedId = id || userId;\n const payload: ISetMFA = {\n code: encodedId ? encodedId : btoa(this._actRoute.snapshot.queryParams[\"userid\"]),\n twoFactorEnabled: true,\n twoFactorProvider: t,\n };\n\n this.enableSMSLoading = true;\n this._store.dispatch(RegisterActions.enableMFA({ payload }));\n\n this._store.dispatch(\n RegisterActions.resetMFAInProgress({\n authType: EAuthenticationType.AUTHENTICATOR,\n })\n );\n }\n\n enableMFAVerify(authType: EAuthenticationType) {\n const { id, userId } = this._actRoute.snapshot.queryParams;\n const encodedId = id || userId;\n const payload: ISetMFAVerify = {\n code: encodedId ? encodedId : btoa(this._actRoute.snapshot.queryParams[\"userid\"]),\n twoFactorEnabled: true,\n tokenProvider: authType,\n token: this.smsCodeEnableMfaFC.value,\n };\n\n this._store.dispatch(RegisterActions.enableMFAVerify({ payload }));\n }\n}\n","import { Validators } from \"@angular/forms\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\nimport { emailPattern, fiveDigitsPattern } from \"../modules/shared/regex-pattern\";\n\nexport const FI_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n {\n Name: \"contact_email\",\n Type: \"text\",\n Order: 3,\n Readonly: false,\n Hide: () => false,\n Required: () => true,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"street_address\", Required: () => true, Type: \"text\", Order: 6, Hide: () => false },\n {\n Name: \"zipcode\",\n Required: () => true,\n Type: \"text\",\n Order: 7,\n Hide: () => false,\n CustomValidators: [Validators.pattern(fiveDigitsPattern)],\n },\n { Name: \"city\", Required: () => true, Type: \"text\", Order: 8, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 9, Hide: () => false },\n {\n Name: \"ssn\",\n Required: (roles: string[]) => true,\n Type: \"text\",\n Order: 10,\n Readonly: true,\n Hide: (roles: string[]) => !roles.includes(\"synlab_access_user\"),\n },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 11, Readonly: true, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 12, Readonly: true, Hide: () => false },\n ],\n adminCompleteProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n {\n Name: \"email\",\n Type: \"text\",\n Order: 3,\n Readonly: true,\n Hide: () => false,\n Required: () => true,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"street_address\", Required: () => true, Type: \"text\", Order: 6, Hide: () => false },\n {\n Name: \"zipcode\",\n Required: () => true,\n Type: \"text\",\n Order: 7,\n Hide: () => false,\n CustomValidators: [Validators.pattern(fiveDigitsPattern)],\n },\n { Name: \"city\", Required: () => true, Type: \"text\", Order: 8, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 9, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 11, Readonly: true, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 12, Readonly: true, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n {\n Name: \"country_residence\",\n Required: () => true,\n Type: \"country-picker\",\n Order: 3,\n Hide: () => false,\n Readonly: true,\n },\n {\n Name: \"ssn\",\n Required: (roles: string[]) => true,\n Type: \"text\",\n Order: 4,\n Readonly: true,\n Hide: (roles: string[]) => !roles.includes(\"synlab_access_user\"),\n },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 5, Hide: () => false, Readonly: true },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 6, Readonly: true, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n {\n Name: \"zipcode\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Hide: () => false,\n CustomValidators: [Validators.pattern(fiveDigitsPattern)],\n },\n { Name: \"street_address\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false },\n {\n Name: \"contact_email\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Readonly: false,\n Hide: () => false,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n ],\n adminContact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n {\n Name: \"zipcode\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Hide: () => false,\n CustomValidators: [Validators.pattern(fiveDigitsPattern)],\n },\n { Name: \"street_address\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false },\n {\n Name: \"contact_email\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Readonly: false,\n Hide: () => false,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n {\n Name: \"email\",\n Required: () => true,\n Type: \"text\",\n Order: 0,\n Readonly: false,\n Hide: () => false,\n CustomValidators: [Validators.pattern(emailPattern)],\n },\n ],\n};\n\nexport const dummyDOBValue: string = \"0001-01-01\";\n","\n \n\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { map, take, tap, withLatestFrom } from \"rxjs/operators\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { combineLatest, Observable, of } from \"rxjs\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { select, Store } from \"@ngrx/store\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { Countries } from \"src/app/models/countries.model\";\nimport { AppSelector } from \"src/app/@store/selectors/app.selectors\";\nimport { headerScopeKey, I18nService } from \"src/app/services/i18n/i18n.service\";\nimport { formatLocale } from \"src/app/plasma-ui-common/utils/format-locale\";\nimport { UserRoleService } from \"src/app/plasma-ui-common/services/user-role.service\";\n@Component({\n selector: \"app-header\",\n templateUrl: \"./header.component.html\",\n styleUrls: [\"./header.component.scss\"],\n})\nexport class HeaderComponent implements OnInit {\n @Input() showDropdown: boolean = false;\n isTara: boolean = false;\n plasmaLink$ = this.config.envConfig$.pipe(\n map((config) => {\n if (this.usertype.isAdminUser() || this.usertype.isCountryAdmin() || this.usertype.isUserAdmin()) {\n return config.BaseAdminUrl;\n } else if (this.usertype.isWebreqAdminUser()) {\n return config.BaseWebreqAdminUrl;\n } else if (this.usertype.isWebreqUser()) {\n return config.BaseWebreqUrl;\n } else if (this.usertype.isUefaUser()) {\n return config.BaseUefaUrl;\n } else if (this.usertype.isPatient() || this.usertype.isAppUser()) {\n return config.BasePlasmaUrl;\n } else if (\n this.usertype.isSchoolAdmin() ||\n this.usertype.isSchoolTeacher() ||\n this.usertype.isLolliSuperAdmin ||\n this.usertype.isCustomerCare()\n ) {\n return config.BasePlasmaUrl;\n } else {\n return \"\";\n }\n })\n );\n\n logo$: Observable = this.store.select(StsSelectors.getAppLogo);\n bookingLink$ = this.store.select(StsSelectors.getBaseBookingUrl);\n checkResultLink$ = this.store.select(StsSelectors.getCheckResultUrl);\n bookingLinkEnabled$ = this.store.pipe(select(StsSelectors.getBookingLinkEnabled));\n isSynlabAccessUser$ = this.store.pipe(select(StsSelectors.isSynlabAccessUser));\n isUkDfpAdminUser$ = this.store.pipe(select(StsSelectors.isUkDfpAdminUser));\n isUkShfyAdminUser$ = this.store.pipe(select(StsSelectors.isUkShfyAdminUser));\n\n availableLangs = this.i18n.getAvailableLanguages().map((lang) => formatLocale(lang));\n countries = Countries.filter((c) => this.availableLangs.indexOf(formatLocale(c.countryCode)) > -1);\n activeLang$ = this.store.pipe(select(AppSelector.getActiveLanguage));\n\n plasmaLabel$ = this.transloco.langChanges$.pipe(\n withLatestFrom(this.isUkDfpAdminUser$, this.isUkShfyAdminUser$),\n map(([lang, isUkDfpAdminUser, isUkShfyAdminUser]) => {\n if (this.usertype.isCustomerCare() || this.usertype.isDenmarkAdmin()) {\n return `${headerScopeKey}.userLabel`;\n } else if (!this.usertype.isDenmarkAdmin() || this.usertype.isPatient() || this.usertype.isAppUser()) {\n return `${headerScopeKey}.myResultLink`;\n } else {\n return isUkDfpAdminUser || isUkShfyAdminUser\n ? `${headerScopeKey}.userManagementLabel`\n : `${headerScopeKey}.plasmaLabel`;\n }\n })\n );\n\n forceMFA$ = this.store.pipe(select(StsSelectors.isMFARequired));\n showPreventionWellnessLink$ = of(false);\n preventionWellnessLink$ = this.store.pipe(select(StsSelectors.getPreventionWellnessLink));\n\n isEEInstance$ = this.store.pipe(select(StsSelectors.isEstoniaInstance));\n isHUTenant$ = this.store.pipe(select(StsSelectors.isHUTenant));\n isSHFYInstance$ = this.store.pipe(select(StsSelectors.isUkShfyInstance));\n isSuperSupportUser$ = this.store.pipe(select(StsSelectors.isSuperSupportUser));\n\n constructor(\n public auth: AuthService,\n public config: ConfigService,\n private transloco: TranslocoService,\n private store: Store,\n private router: Router,\n private i18n: I18nService,\n private activeRoute: ActivatedRoute,\n private usertype: UserRoleService\n ) {}\n\n defLanguage = this.transloco.getActiveLang();\n\n ngOnInit() {\n this.isTara = this.activeRoute.firstChild.snapshot.data.isTara;\n this.logo$.subscribe((n) => console.log(n));\n }\n\n startSignoutMainWindow() {\n this.auth.startSignoutMainWindow();\n }\n\n navigateLink() {\n combineLatest([this.isEEInstance$, this.isHUTenant$, this.forceMFA$])\n .pipe(\n take(1),\n tap(([isEE, isHU, isMFARequired]) => {\n if (!isMFARequired) {\n if (isEE || isHU) {\n window.location.href = this.config.basePlasmaUrl;\n } else {\n this.router.navigate([\"/account/profile\"]);\n }\n }\n })\n )\n .subscribe();\n }\n\n get initial(): Observable {\n return this.store.pipe(select(StsSelectors.getUserInfo)).pipe(\n map((claims) => {\n if (!claims) return \"U\";\n\n const family_name = claims.family_name?.trim();\n const given_name = claims.given_name?.trim();\n const email = claims.email;\n\n if (family_name && given_name) {\n return given_name?.charAt(0) + family_name?.charAt(0);\n } else if (family_name) {\n return family_name.substring(0, 2);\n } else if (given_name) {\n return given_name.substring(0, 2);\n } else {\n return email.substring(0, 2);\n }\n })\n );\n }\n\n /**\n * Change the active language\n * @param language string. two-letter country code.\n */\n changeActiveLanguage(language: string) {\n this.i18n.setStoredLanguage(language.toLowerCase());\n this.updateQueryParam(language);\n }\n\n private updateQueryParam(locale) {\n this.router.navigate([], {\n relativeTo: this.activeRoute,\n queryParams: { langCode: locale },\n queryParamsHandling: \"merge\",\n });\n }\n}\n","export interface Country {\n name: string;\n countryCode: string;\n flag: string;\n}\n\nexport const Countries: Country[] = [\n {\n name: \"English (UK)\",\n countryCode: \"en-GB\",\n flag: \"/assets/images/flag-icons/uk.png\",\n },\n {\n name: \"Hungarian\",\n countryCode: \"hu-HU\",\n flag: \"/assets/images/flag-icons/hu.png\",\n },\n {\n name: \"Portuguese (Portugal)\",\n countryCode: \"pt\",\n flag: \"/assets/images/flag-icons/pt.png\",\n },\n {\n name: \"Spanish (Spain)\",\n countryCode: \"es-ES\",\n flag: \"/assets/images/flag-icons/es.png\",\n },\n {\n name: \"French\",\n countryCode: \"fr-FR\",\n flag: \"/assets/images/flag-icons/fr.png\",\n },\n {\n name: \"French (Swiss)\",\n countryCode: \"fr-CH\",\n flag: \"/assets/images/flag-icons/ch.png\",\n },\n {\n name: \"German\",\n countryCode: \"de\",\n flag: \"/assets/images/flag-icons/de.png\",\n },\n {\n name: \"German (Swiss)\",\n countryCode: \"de-CH\",\n flag: \"/assets/images/flag-icons/ch.png\",\n },\n {\n name: \"Italian\",\n countryCode: \"it\",\n flag: \"/assets/images/flag-icons/it.png\",\n },\n {\n name: \"Italian (Swiss)\",\n countryCode: \"it-CH\",\n flag: \"/assets/images/flag-icons/ch.png\",\n },\n // {\n // name: \"Arabic\",\n // countryCode: \"ar-AE\",\n // flag: \"/assets/images/flag-icons/ar-AE.png\",\n // },\n // {\n // name: \"Belarusian\",\n // countryCode: \"be-BY\",\n // flag: \"/assets/images/flag-icons/be-BY.png\",\n // },\n // {\n // name: \"Croatian\",\n // countryCode: \"hr-HR\",\n // flag: \"/assets/images/flag-icons/hr-HR.png\",\n // },\n // {\n // name: \"Danish\",\n // countryCode: \"da-DK\",\n // flag: \"/assets/images/flag-icons/da-DK.png\",\n // },\n // {\n // name: \"Dutch\",\n // countryCode: \"nl-BE\",\n // flag: \"/assets/images/flag-icons/nl-BE.png\",\n // },\n {\n name: \"Estonian\",\n countryCode: \"et\",\n flag: \"/assets/images/flag-icons/et.png\",\n },\n {\n name: \"Greek\",\n countryCode: \"el\",\n flag: \"/assets/images/flag-icons/el.png\",\n },\n {\n name: \"Lithuanian\",\n countryCode: \"lt-LT\",\n flag: \"/assets/images/flag-icons/lt-LT.png\",\n },\n // {\n // name: \"Macedonian\",\n // countryCode: \"mk-MK\",\n // flag: \"/assets/images/flag-icons/mk-MK.png\",\n // },\n // {\n // name: \"Polish (Poland)\",\n // countryCode: \"pl-PL\",\n // flag: \"/assets/images/flag-icons/pl-PL.png\",\n // },\n // {\n // name: \"Romanian (Romania)\",\n // countryCode: \"ro-RO\",\n // flag: \"/assets/images/flag-icons/ro-RO.png\",\n // },\n {\n name: \"Russian\",\n countryCode: \"ru\",\n flag: \"/assets/images/flag-icons/ru.png\",\n },\n // {\n // name: \"Slovenian\",\n // countryCode: \"sl-SI\",\n // flag: \"/assets/images/flag-icons/sl-SI.png\",\n // },\n {\n name: \"Turkish (Turkey)\",\n countryCode: \"tr-TR\",\n flag: \"/assets/images/flag-icons/tr-TR.png\",\n },\n // {\n // name: \"Ukrainian\",\n // countryCode: \"uk-UA\",\n // flag: \"/assets/images/flag-icons/uk-UA.png\",\n // },\n];\n","export enum EPassForm {\n AUTH_PROVIDER = \"authenticationProvider\",\n SCHEME_PROVIDER = \"schemeProvider\",\n CURRENT_PASS = \"currentPassword\",\n NEW_PASS = \"newPassword\",\n CONFIRM_PASS = \"confirmPassword\",\n}\n","export const LocalStorageKeys = {\n language: \"App[ActiveLanguage]\",\n needReloadForCookiebot: \"App[needReloadForCookiebot]\",\n};\n\nexport enum EStorageKeys {\n REDIRECT_URL = \"APP_REDIRECT_URL\",\n REGISTER_USER_ID = \"REG_USER_ID\",\n REGISTER_REDIRECT_URL = \"REG_REDIRECT_URL\",\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable, BehaviorSubject, of } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\n\nexport interface Country {\n Code: string;\n Name: string;\n SmallName: string;\n}\n\n@Injectable({ providedIn: \"root\" })\nexport class CountryService {\n public countriesAsObj$: BehaviorSubject> = new BehaviorSubject({});\n\n public countries$: BehaviorSubject> = new BehaviorSubject([]);\n\n public smallCodeCountries$: Observable = this.countries$.pipe(\n map((countries) =>\n countries.map((country) => ({\n Name: country.Name,\n SmallName: country.Name.toLowerCase(),\n Code: country.Code.toLowerCase(),\n }))\n )\n );\n\n constructor() {\n this.getCountryText$ = this.getCountryText$.bind(this);\n }\n\n public getCountryText$(code: string): Observable {\n const invalidCode: boolean = typeof code !== \"string\" || code.trim() === \"\";\n if (invalidCode) {\n return of(\"\");\n }\n\n return this.smallCodeCountries$.pipe(\n map((countries) => countries.find((country) => country.Code === code.toLowerCase())?.Name || \"\")\n );\n }\n\n public filterCountries$(query: string) {\n query = query?.toLowerCase();\n if (query) {\n return this.smallCodeCountries$.pipe(\n map((countries) =>\n countries.filter((country) => country.Code.indexOf(query) > -1 || country.SmallName.indexOf(query) > -1)\n )\n );\n }\n return this.smallCodeCountries$;\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"dxp-background\",\n templateUrl: \"./dxp-background.component.html\",\n styleUrls: [\"./dxp-background.component.scss\"],\n})\nexport class DxpBackgroundComponent {}\n","
\n \"\"\n
\n","import { NgModule, Component } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DxpBackgroundComponent } from \"./dxp-background.component\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [DxpBackgroundComponent],\n declarations: [DxpBackgroundComponent],\n})\nexport class DxpBackgroundModule {}\n","export const emailPattern =\n /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\])|(([a-zA-Z\\-\\d]+\\.)+[a-zA-Z]{2,}))$/;\nexport const alphanumericUnicode = /^[\\p{L}\\s'’.-]+$/u;\nexport const fiAlphanumericUnicode = /^[^'\"();&|!*%#@-]+$/u;\nexport const alphanumeric = /^[a-zA-Z\\d _-]*$/;\nexport const passwordPattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/;\nexport const passwordValidation =\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[ !\"#$%&'()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])[A-Za-z\\d !\"#$%&'()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~]{8,}$/;\n\nexport const fiveDigitsPattern = /^[\\d]{5}$/;\n","import { RouterModule } from \"@angular/router\";\nimport { HeaderComponent } from \"./../../layout/header/header.component\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NoWhiteSpaceValidatorDirective } from \"./directives/no-white-space-validator.diretive\";\nimport { ConfirmDiscardModalComponent } from \"./confirm-discard-modal/confirm-discard-modal.component\";\nimport { TranslocoModule } from \"@ngneat/transloco\";\nimport { LoaderComponent } from \"./loader/loader.component\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { UnauthorizedComponent } from \"./unauthorized/unauthorized.component\";\nimport { DatePickerModule } from \"src/app/component-modules/miscellaneous/date-picker/date-picker.module\";\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\nimport { FormsModule } from \"@angular/forms\";\nimport { AgreementPreviewComponent } from \"./agreement-preview/agreement-preview.component\";\nimport { TrimControlDirective } from \"./directives/trim-control.directive\";\nimport { TextReplacement } from \"src/app/pipes/text-replacement.pipe\";\nimport { WarningDialogComponent } from \"./warning-dialog/warning-dialog.component\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\n\n@NgModule({\n declarations: [\n HeaderComponent,\n NoWhiteSpaceValidatorDirective,\n ConfirmDiscardModalComponent,\n LoaderComponent,\n UnauthorizedComponent,\n AgreementPreviewComponent,\n TrimControlDirective,\n TextReplacement,\n WarningDialogComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n // ToastrModule.forRoot(),\n TranslocoModule,\n MatSelectModule,\n MatProgressSpinnerModule,\n MatDialogModule,\n ScrollingModule,\n MatTooltipModule,\n MatIconModule,\n FormsModule,\n NgbModule,\n DatePickerModule,\n ],\n exports: [\n HeaderComponent,\n NoWhiteSpaceValidatorDirective,\n ConfirmDiscardModalComponent,\n TranslocoModule,\n LoaderComponent,\n MatSelectModule,\n MatProgressSpinnerModule,\n MatDialogModule,\n ScrollingModule,\n MatTooltipModule,\n MatIconModule,\n DatePickerModule,\n AgreementPreviewComponent,\n TrimControlDirective,\n TextReplacement,\n UnauthorizedComponent,\n WarningDialogComponent,\n ],\n})\nexport class SharedModule {}\n","import { Injectable } from \"@angular/core\";\nimport { Claim } from \"src/app/plasma-ui-common/synlab-access-ui-components/core\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ClaimService {\n public upsert(claims: Claim[], claim: Claim): Claim[] {\n if (!claim) return claims;\n const index = claims.findIndex((item) => item.claimType === claim?.claimType);\n claims[index < 0 ? claims.length : index] = claim;\n return claims;\n }\n\n public find(claims: Claim[], claimType: string): Claim | undefined {\n return claims.find((claim) => claim.claimType === claimType);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { FormFieldConfig } from \"src/app/models/form-field-config.model\";\nimport { ClaimService } from \"src/app/services/claim/claim.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { I18nService } from \"src/app/services/i18n/i18n.service\";\nimport { PhoneValidationService } from \"src/app/services/phone-validation/phone-validation.service\";\nimport { of, Observable, combineLatest } from \"rxjs\";\nimport { map, withLatestFrom } from \"rxjs/operators\";\nimport { Store } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { FormConfigInterface } from \"src/app/form-configs/interfaces/form-config.interface\";\nexport interface MyProfileSectionProps {\n visible: boolean;\n fields: FormFieldConfig[];\n}\n\nexport interface MyProfileSection {\n [k: string]: MyProfileSectionProps;\n}\n\n@Injectable({ providedIn: \"root\" })\nexport class MyAccountService {\n private anon$ = this.store.select(StsSelectors.isAnonymousUser);\n private synlabAccessUser$ = this.store.select(StsSelectors.isSynlabAccessUser);\n private isHungaryTenant$ = this.store.select(StsSelectors.isHUTenant);\n private isFITenant$ = this.store.select(StsSelectors.isFITenant);\n private isCzechRepublic$ = this.store.select(StsSelectors.isCzechRepublic);\n private disabledFields$ = combineLatest([this.anon$, this.isHungaryTenant$]).pipe(\n map(([isAnon, isHU]) => {\n const disabledFieldsForAnonymousUser: string[] = [\"given_name\", \"family_name\", \"email\"];\n if (isHU && isAnon) return disabledFieldsForAnonymousUser;\n return [\"email\"];\n })\n );\n\n constructor(\n public i18nService: I18nService,\n public phoneValidator: PhoneValidationService,\n public claimService: ClaimService,\n private config: ConfigService,\n private store: Store\n ) {}\n\n public get getProfileSection$(): Observable {\n return combineLatest([\n this.isContactSectionVisible$,\n this.getFieldsForPersonalInfo$,\n this.getFieldsForContactInfo$,\n ]).pipe(\n map(([isVisible, personalFields, contactFields]) => {\n return {\n personal: {\n visible: true,\n fields: personalFields,\n },\n contact: {\n visible: isVisible,\n fields: contactFields,\n },\n };\n })\n );\n }\n\n private get isContactSectionVisible$() {\n // hide contact section for HU tenant and anonymous user\n return combineLatest([this.anon$, this.isHungaryTenant$]).pipe(\n map(([anon, isHu]) => {\n if (isHu && anon) return false;\n return true;\n })\n );\n }\n\n private get getFieldsForPersonalInfo$() {\n const formConfig = this.config?.formConfig || ({} as FormConfigInterface);\n const fields: FormFieldConfig[] = formConfig.personalInfo;\n return this.disabledFields$.pipe(\n map((disabled) =>\n fields?.map((field) => ({\n ...field,\n Disabled: disabled.some((f) => f == field?.Name) || field.Readonly,\n }))\n )\n );\n }\n\n private get getFieldsForContactInfo$() {\n return this.disabledFields$.pipe(\n withLatestFrom(this.isFITenant$, this.synlabAccessUser$),\n map(([disabled, isFi, isSynlabAccessUser]) => {\n const formConfig = this.config?.formConfig || ({} as FormConfigInterface);\n let fields: FormFieldConfig[] = formConfig.contact;\n\n if (isFi && !isSynlabAccessUser) {\n fields = formConfig.adminContact;\n }\n\n return fields?.map((field) => ({\n ...field,\n Disabled: disabled.some((f) => f == field?.Name) || field.Readonly,\n }));\n })\n );\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable, of, combineLatest, BehaviorSubject } from \"rxjs\";\nimport { filter, map, tap } from \"rxjs/operators\";\nimport { ConfigService } from \"src/app/plasma-ui-common/synlab-access-ui-components/core\";\nimport { ConfigService as AppConfigService } from \"src/app/services/config/config.service\";\nimport { Config } from \"src/app/plasma-ui-common/synlab-access-ui-components/model/config.model\";\nimport { select, Store } from \"@ngrx/store\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { STSActions } from \"src/app/@store/actions/sts.actions\";\nimport { claimValues } from \"src/app/appsettings\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class HeaderConfigService implements ConfigService {\n config: Config;\n configSubject: BehaviorSubject;\n config$: Observable;\n\n constructor(\n private _cfg: AppConfigService,\n private _store: Store\n ) {\n const {\n BaseAdminUrl,\n BaseBookingUrl,\n BaseBookingAdminUrl,\n BaseWebreqAdminUrl,\n BaseWebreqUrl,\n BasePlasmaUrl,\n BaseBigCommerceUrl,\n BaseProfileUrl,\n EeBaseBookingUrl,\n WhiteLabelEnabled,\n WhiteLabelName,\n EnableCheckResults,\n } = _cfg._envConfig;\n\n this.config = {\n baseAdminUrl: BaseAdminUrl,\n baseBookingUrl: BaseBookingUrl,\n baseBookingAdminUrl: BaseBookingAdminUrl,\n baseWebreqAdminUrl: BaseWebreqAdminUrl,\n eeBaseBookingUrl: EeBaseBookingUrl,\n baseWebreqUrl: BaseWebreqUrl,\n basePlasmaUrl: BasePlasmaUrl,\n baseBigcommerceUrl: BaseBigCommerceUrl,\n baseProfileUrl: BaseProfileUrl,\n EnablePreventionWellness: null,\n FullCatalogueViewEnabled: true,\n applicationId: \"sts-accounts\",\n WhiteLabelEnabled: WhiteLabelEnabled.toLowerCase() == \"true\",\n WhiteLabelName,\n EnableCheckResults: EnableCheckResults?.toLowerCase() == \"true\",\n };\n\n this.configSubject = new BehaviorSubject(this.config);\n\n const generateConfig = combineLatest([\n this._store.pipe(select(StsSelectors.isGenePlanetEnrolled)),\n this._store.pipe(select(StsSelectors.hasGeneplanetOrders)),\n ]).pipe(\n filter(([enrolled]) => enrolled !== null),\n map(([enrolled, canEnroll]) => enrolled || canEnroll),\n map((res) => {\n if (this._cfg._envConfig.EnablePreventionWellness.toLowerCase() != claimValues.TRUE) {\n return false;\n }\n return res;\n }),\n tap((res) => {\n if (res === null) {\n this._store.dispatch(STSActions.fetchHasGeneplanetOrders());\n }\n return of(res);\n }),\n map((EnablePreventionWellness) => ({\n ...this.config,\n EnablePreventionWellness,\n })),\n tap((config) => this.configSubject.next(config))\n );\n\n generateConfig.subscribe();\n this.config$ = this.configSubject.asObservable();\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Store, select } from \"@ngrx/store\";\nimport { Observable } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { Profile, ProfileService, UsertypeService } from \"src/app/plasma-ui-common/synlab-access-ui-components/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Injectable()\nexport class HeaderUsertypeService implements UsertypeService, ProfileService {\n constructor(\n private _store: Store,\n private _auth: AuthService\n ) {}\n usertypes$: Observable = this._auth.userInfo$.pipe(\n map((u) => (Array.isArray(u.user_type) ? u.user_type : [u.user_type]))\n );\n profile$: Observable = this._store.pipe(select(StsSelectors.getUserHeader));\n}\n","
\n\n
\n \n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { select, Store } from \"@ngrx/store\";\nimport DOMPurify from \"dompurify\";\nimport { BehaviorSubject, combineLatest, Observable, of } from \"rxjs\";\nimport { map, shareReplay, tap, flatMap, finalize, take, takeWhile } from \"rxjs/operators\";\nimport { ProfileActions } from \"src/app/@store/actions/profile.actions\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { ProfileSelectors } from \"src/app/@store/selectors/profile.selectors\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { addTargetBlankToAnchors } from \"src/app/plasma-ui-common/utils/add-target-blank-to-anchors\";\nimport { AgreementType, AgreementService } from \"src/app/services/agreement/agreement.service\";\nimport { I18nService } from \"src/app/services/i18n/i18n.service\";\nimport { isInAvailableLocale } from \"src/app/transloco-root.module\";\n\n@Component({\n selector: \"app-managed-privacy-policy\",\n templateUrl: \"./managed-privacy-policy.component.html\",\n styleUrls: [\"./managed-privacy-policy.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ManagedPrivacyPolicyComponent implements OnInit {\n html$: Observable;\n langCode$: Observable;\n loading: boolean;\n\n private localeClaim$ = this.store.pipe(select(ProfileSelectors.getLocale));\n private isLoggedIn$ = this.store.pipe(select(StsSelectors.isLoggedIn));\n firstLoad$ = new BehaviorSubject(true);\n\n constructor(\n private route: ActivatedRoute,\n private transloco: TranslocoService,\n private i18n: I18nService,\n private agreement: AgreementService,\n private sanitizer: DomSanitizer,\n private changeRef: ChangeDetectorRef,\n private store: Store\n ) {}\n\n detectChanges(fn: () => void) {\n fn();\n this.changeRef.detectChanges();\n }\n\n ngOnInit() {\n this.isLoggedIn$.pipe(take(1)).subscribe((n) => {\n if (n) {\n // load profile to get \"locale\" claims\n this.store.dispatch(ProfileActions.getProfile());\n this.isLoggedIn();\n } else {\n this.isLoggedOut();\n }\n });\n }\n\n isLoggedIn() {\n this.loading = false;\n this.langCode$ = combineLatest([\n this.localeClaim$,\n this.agreement.getLocales(),\n this.route.queryParamMap.pipe(map((x) => x.get(\"langCode\"))),\n this.transloco.langChanges$,\n ]).pipe(\n map(([userLocale, locales, qsLang, translocoLang]) => {\n const l = qsLang && this.firstLoad$.getValue() ? qsLang : translocoLang;\n const activeLang = userLocale && this.firstLoad$.getValue() ? userLocale : l;\n this.firstLoad$.next(false);\n if (activeLang) {\n return this.i18n.getPreferredSupportedLanguage(\n [activeLang],\n locales.map((l) => l.cultureCode)\n );\n } else {\n return \"\";\n }\n }),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n\n const type = this.route.snapshot.data[\"page\"];\n this.html$ = combineLatest([of(type), this.langCode$]).pipe(\n tap(() => this.detectChanges(() => (this.loading = true))),\n flatMap(([type, lang]) => this.agreement.getPublishedAgreementByLocale(type, lang)),\n map((x) => x.files[0]),\n map((x) => (x ? x.htmlFile : \"\")),\n map((html) => {\n const purified = DOMPurify.sanitize(html, {\n ADD_TAGS: [\"link\"],\n ADD_ATTR: [\"href\", \"rel\"],\n FORCE_BODY: true,\n });\n this.loading = false;\n return this.sanitizer.bypassSecurityTrustHtml(addTargetBlankToAnchors(purified));\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n tap(() => this.detectChanges(() => (this.loading = false))),\n finalize(() => {\n this.detectChanges(() => (this.loading = false));\n })\n );\n }\n\n isLoggedOut() {\n this.loading = false;\n this.langCode$ = combineLatest([\n this.agreement.getLocales(),\n this.route.queryParamMap.pipe(map((x) => x.get(\"langCode\"))),\n this.transloco.langChanges$,\n ]).pipe(\n map(([locales, qsLang, translocoLang]) => {\n const activeLang = qsLang && this.firstLoad$.getValue() ? qsLang : translocoLang;\n if (activeLang) {\n if (this.firstLoad$.getValue()) {\n this.firstLoad$.next(false);\n const inAvailableLang = isInAvailableLocale(activeLang, this.transloco.getAvailableLangs() as string[]);\n if (inAvailableLang != \"\") {\n this.transloco.setActiveLang(inAvailableLang);\n }\n }\n return this.i18n.getPreferredSupportedLanguage(\n [activeLang],\n locales.map((l) => l.cultureCode)\n );\n } else {\n return \"\";\n }\n }),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n\n const type = this.route.snapshot.data[\"page\"];\n this.html$ = combineLatest([of(type), this.langCode$]).pipe(\n takeWhile(() => !this.firstLoad$.getValue()),\n tap(() => this.detectChanges(() => (this.loading = true))),\n flatMap(([type, lang]) => this.agreement.getPublishedAgreementByLocale(type, lang)),\n map((x) => x.files[0]),\n map((x) => (x ? x.htmlFile : \"\")),\n map((html) => {\n const purified = DOMPurify.sanitize(html, {\n ADD_TAGS: [\"link\"],\n ADD_ATTR: [\"href\", \"rel\"],\n FORCE_BODY: true,\n });\n return this.sanitizer.bypassSecurityTrustHtml(addTargetBlankToAnchors(purified));\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n tap(() => this.detectChanges(() => (this.loading = false))),\n finalize(() => this.detectChanges(() => (this.loading = false)))\n );\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { PrivacyPolicyComponent } from \"./privacy-policy.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { ManagedPrivacyPolicyComponent } from \"./managed-privacy-policy/managed-privacy-policy.component\";\n\n@NgModule({\n declarations: [PrivacyPolicyComponent, ManagedPrivacyPolicyComponent],\n imports: [CommonModule, SharedModule],\n exports: [PrivacyPolicyComponent, ManagedPrivacyPolicyComponent],\n})\nexport class PrivacyPolicyModule {}\n","
\n\n
\n \n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { select, Store } from \"@ngrx/store\";\nimport DOMPurify from \"dompurify\";\nimport { BehaviorSubject, combineLatest, Observable, of } from \"rxjs\";\nimport { map, shareReplay, tap, flatMap, finalize, take, takeWhile } from \"rxjs/operators\";\nimport { ProfileActions } from \"src/app/@store/actions/profile.actions\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { ProfileSelectors } from \"src/app/@store/selectors/profile.selectors\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { addTargetBlankToAnchors } from \"src/app/plasma-ui-common/utils/add-target-blank-to-anchors\";\nimport { AgreementType, AgreementService } from \"src/app/services/agreement/agreement.service\";\nimport { I18nService } from \"src/app/services/i18n/i18n.service\";\nimport { isInAvailableLocale } from \"src/app/transloco-root.module\";\n\n@Component({\n selector: \"app-managed-terms-of-use\",\n templateUrl: \"./managed-terms-of-use.component.html\",\n styleUrls: [\"./managed-terms-of-use.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ManagedTermsOfUseComponent implements OnInit {\n html$: Observable;\n langCode$: Observable;\n loading: boolean;\n private localeClaim$ = this.store.pipe(select(ProfileSelectors.getLocale));\n private isLoggedIn$ = this.store.pipe(select(StsSelectors.isLoggedIn));\n firstLoad$ = new BehaviorSubject(true);\n\n constructor(\n private route: ActivatedRoute,\n private transloco: TranslocoService,\n private i18n: I18nService,\n private agreement: AgreementService,\n private sanitizer: DomSanitizer,\n private changeRef: ChangeDetectorRef,\n private store: Store\n ) {\n // load profile to get \"locale\" claims\n this.store.dispatch(ProfileActions.getProfile());\n }\n\n detectChanges(fn: () => void) {\n fn();\n this.changeRef.detectChanges();\n }\n\n ngOnInit() {\n this.isLoggedIn$.pipe(take(1)).subscribe((n) => {\n if (n) {\n // load profile to get \"locale\" claims\n this.store.dispatch(ProfileActions.getProfile());\n this.isLoggedIn();\n } else {\n this.isLoggedOut();\n }\n });\n }\n\n isLoggedIn() {\n this.loading = false;\n this.langCode$ = combineLatest([\n this.localeClaim$,\n this.agreement.getLocales(),\n this.route.queryParamMap.pipe(map((x) => x.get(\"langCode\"))),\n this.transloco.langChanges$,\n ]).pipe(\n map(([userLocale, locales, qsLang, translocoLang]) => {\n const l = qsLang && this.firstLoad$.getValue() ? qsLang : translocoLang;\n const activeLang = userLocale && this.firstLoad$.getValue() ? userLocale : l;\n this.firstLoad$.next(false);\n if (activeLang) {\n return this.i18n.getPreferredSupportedLanguage(\n [activeLang],\n locales.map((l) => l.cultureCode)\n );\n } else {\n return \"\";\n }\n }),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n\n this.html$ = combineLatest([of(AgreementType.TermsAndCondition), this.langCode$]).pipe(\n tap(() => this.detectChanges(() => (this.loading = true))),\n flatMap(([type, lang]) => this.agreement.getPublishedAgreementByLocale(type, lang)),\n map((x) => {\n return x.files[0];\n }),\n map((x) => (x ? x.htmlFile : \"\")),\n map((html) => {\n const purified = DOMPurify.sanitize(html, {\n ADD_TAGS: [\"link\"],\n ADD_ATTR: [\"href\", \"rel\"],\n FORCE_BODY: true,\n });\n this.loading = false;\n return this.sanitizer.bypassSecurityTrustHtml(addTargetBlankToAnchors(purified));\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n tap(() => this.detectChanges(() => (this.loading = false))),\n finalize(() => this.detectChanges(() => (this.loading = false)))\n );\n }\n\n isLoggedOut() {\n this.loading = false;\n this.langCode$ = combineLatest([\n this.agreement.getLocales(),\n this.route.queryParamMap.pipe(map((x) => x.get(\"langCode\"))),\n this.transloco.langChanges$,\n ]).pipe(\n map(([locales, qsLang, translocoLang]) => {\n const activeLang = qsLang && this.firstLoad$.getValue() ? qsLang : translocoLang;\n if (activeLang) {\n if (this.firstLoad$.getValue()) {\n this.firstLoad$.next(false);\n const inAvailableLang = isInAvailableLocale(activeLang, this.transloco.getAvailableLangs() as string[]);\n if (inAvailableLang != \"\") {\n this.transloco.setActiveLang(inAvailableLang);\n }\n }\n return this.i18n.getPreferredSupportedLanguage(\n [activeLang],\n locales.map((l) => l.cultureCode)\n );\n } else {\n return \"\";\n }\n }),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n this.html$ = combineLatest([of(AgreementType.TermsAndCondition), this.langCode$]).pipe(\n takeWhile(() => !this.firstLoad$.getValue()),\n tap(() => this.detectChanges(() => (this.loading = true))),\n flatMap(([type, lang]) => this.agreement.getPublishedAgreementByLocale(type, lang)),\n map((x) => {\n return x.files[0];\n }),\n map((x) => (x ? x.htmlFile : \"\")),\n map((html) => {\n const purified = DOMPurify.sanitize(html, {\n ADD_TAGS: [\"link\"],\n ADD_ATTR: [\"href\", \"rel\"],\n FORCE_BODY: true,\n });\n return this.sanitizer.bypassSecurityTrustHtml(addTargetBlankToAnchors(purified));\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n tap(() => this.detectChanges(() => (this.loading = false))),\n finalize(() => this.detectChanges(() => (this.loading = false)))\n );\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TermsOfUseComponent } from \"./terms-of-use.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { ManagedTermsOfUseComponent } from \"./managed-terms-of-use/managed-terms-of-use.component\";\n\n@NgModule({\n declarations: [TermsOfUseComponent, ManagedTermsOfUseComponent],\n imports: [CommonModule, SharedModule],\n exports: [TermsOfUseComponent, ManagedTermsOfUseComponent],\n})\nexport class TermsOfUseModule {}\n","import { Injectable } from '@angular/core';\n\nexport interface UserInfo {\n name: string;\n username?: string;\n country: string;\n client_id: string;\n email: string;\n email_verified: string;\n family_name: string;\n given_name: string;\n phone: string;\n preferred_username: string;\n sub: string;\n user_type: string | string[];\n userId?: string;\n ssn?: string;\n}\n\nexport enum UserType {\n SuperAdmin = \"superadmin\",\n ApiAdmin = \"apiadmin\",\n ClientAdmin = \"clientadmin\",\n IdentityResourceAdmin = \"identityresourceadmin\",\n Bcp = \"bcp\",\n UefaAdmin = \"uefa_admin\",\n UefaLaboratory = \"uefa_laboratory\",\n UefaTeam = \"uefa_team\",\n UefaOfficial = \"uefa_official\",\n UefaUser = \"uefa_user\",\n UefaMlo = \"uefa_mlo\",\n UefaManagement = \"uefa_management\",\n UefaTeammloLab = \"uefa_teammlo_lab\",\n UefaMloLab = \"uefa_mlo_lab\",\n Doctor = \"doctor\",\n WebreqUser = \"webreq_user\",\n SynlabAccessUser = \"synlab_access_user\",\n WebreqAdmin = \"webreq_admin\",\n WebreqSuperAdmin = \"webreq_superadmin\",\n Patient = \"patient\",\n CustomerCare = \"customer_care\",\n DeAdmin = \"de_admin\",\n EsAdmin = \"es_admin\",\n ItAdmin = \"it_admin\",\n CoAdmin = \"co_admin\",\n DkAdmin = \"dk_admin\",\n PtAdmin = \"pt_admin\",\n EeAdmin = \"ee_admin\",\n AirAdmin = \"air_admin\",\n UkDfpAdmin = \"uk_dfp_admin\",\n UkShfyAdmin = \"uk_shfy_admin\",\n UserAdmin = \"useradmin\",\n SchoolAdmin = \"school_admin\",\n MassCompany = \"mass_company\",\n SchoolTeacher = \"school_teacher\",\n LolliSuperAdmin = \"lolli_superadmin\",\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserRoleService {\n\n private currentUser: Record;\n\n public readonly patient_users = [UserType.Patient];\n public readonly customer_care = [UserType.CustomerCare];\n public readonly de_admin = [UserType.DeAdmin];\n public readonly es_admin = [UserType.EsAdmin];\n public readonly it_admin = [UserType.ItAdmin];\n public readonly co_admin = [UserType.CoAdmin];\n public readonly dk_admin = [UserType.DkAdmin];\n public readonly pt_admin = [UserType.PtAdmin];\n public readonly ee_admin = [UserType.EeAdmin];\n public readonly air_admin = [UserType.AirAdmin];\n public readonly uk_dfp_admin = [UserType.UkDfpAdmin];\n public readonly uk_shfy_admin = [UserType.UkShfyAdmin];\n public readonly useradmin = [UserType.UserAdmin];\n public readonly synlab_access_users = [UserType.SynlabAccessUser];\n public readonly bcp_user = [UserType.Bcp];\n public readonly school_admin = UserType.SchoolAdmin;\n public readonly mass_company = UserType.MassCompany;\n public readonly school_teacher = UserType.SchoolTeacher;\n public readonly lolli_superadmin = UserType.LolliSuperAdmin;\n public readonly webreq_users = [UserType.Bcp, UserType.Doctor, UserType.WebreqUser];\n public readonly webreqadmin_users = [UserType.WebreqAdmin, UserType.WebreqSuperAdmin];\n public readonly admintypes = [\n UserType.SuperAdmin,\n UserType.ApiAdmin,\n UserType.ClientAdmin,\n UserType.IdentityResourceAdmin,\n UserType.Bcp,\n ];\n public readonly uefa_users = [\n UserType.UefaAdmin,\n UserType.UefaLaboratory,\n UserType.UefaTeam,\n UserType.UefaOfficial,\n UserType.UefaUser,\n UserType.UefaMlo,\n UserType.UefaManagement,\n UserType.UefaTeammloLab,\n UserType.UefaMloLab,\n ];\n public readonly admin_users = [\n UserType.SuperAdmin,\n UserType.ClientAdmin,\n UserType.ApiAdmin,\n UserType.IdentityResourceAdmin,\n ];\n\n constructor() {}\n\n public setUser(user: Record){\n this.currentUser = user;\n }\n\n private checkUserAccess(types: UserType[]): boolean {\n const userTypes = this.currentUser?.user_type ?? [];\n return userTypes.some((type) => types.includes(type as UserType));\n }\n\n isAdminUser(): boolean {\n return this.checkUserAccess(this.admin_users);\n }\n isAppUser(): boolean {\n return this.checkUserAccess(this.synlab_access_users);\n }\n isWebreqAdminUser(): boolean {\n return this.checkUserAccess(this.webreqadmin_users);\n }\n isWebreqUser(): boolean {\n return this.checkUserAccess(this.webreq_users);\n }\n isUefaUser(): boolean {\n return this.checkUserAccess(this.uefa_users);\n }\n isPatient(): boolean {\n return this.checkUserAccess(this.patient_users);\n }\n isCustomerCare(): boolean {\n return this.checkUserAccess(this.customer_care);\n }\n isColombiaAdmin(): boolean {\n return this.checkUserAccess(this.co_admin);\n }\n isDenmarkAdmin(): boolean {\n return this.checkUserAccess(this.dk_admin);\n }\n isPortugalAdmin(): boolean {\n return this.checkUserAccess(this.pt_admin);\n }\n isAirAdmin(): boolean {\n return this.checkUserAccess(this.air_admin);\n }\n isBCP(): boolean {\n return this.checkUserAccess(this.bcp_user);\n }\n\n isCountryAdmin(): boolean {\n return this.checkUserAccess(\n this.co_admin.concat(\n this.pt_admin,\n this.air_admin,\n this.dk_admin,\n this.de_admin,\n this.es_admin,\n this.it_admin,\n this.ee_admin,\n this.uk_dfp_admin,\n this.uk_shfy_admin\n )\n );\n }\n isUserAdmin(): boolean {\n return this.checkUserAccess(this.useradmin);\n }\n isSchoolAdmin(): boolean {\n return this.checkUserAccess([this.school_admin]);\n }\n isSchoolTeacher(): boolean {\n return this.checkUserAccess([this.school_teacher]);\n }\n isLolliSuperAdmin(): boolean {\n return this.checkUserAccess([this.lolli_superadmin]);\n }\n isMassCompany(): boolean {\n return this.checkUserAccess([this.mass_company]);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CoreModule } from '../core.module';\nimport { Config } from '../../model/config.model';\nimport { Observable, of } from 'rxjs';\n\n@Injectable({\n providedIn: CoreModule\n})\nexport class ConfigService {\n config$: Observable = of({\n EnablePreventionWellness: false,\n FullCatalogueViewEnabled: false,\n baseAdminUrl: '/admin',\n baseBigcommerceUrl: '/big-commerce',\n baseBookingUrl: '/booking',\n baseBookingAdminUrl: '/booking',\n baseWebreqAdminUrl: '/webreq',\n baseWebreqUrl: '/webreq',\n basePlasmaUrl: '/results',\n baseProfileUrl: '/profile',\n eeBaseBookingUrl: '/ee-booking',\n WhiteLabelEnabled: false,\n WhiteLabelName: '',\n EnableCheckResults: false\n })\n}\n","export const MIN_DESKTOP_WIDTH = 1024;\nexport const PATIENT_WEB_LOCALE_STORAGE_KEY = \"langCode\";\nexport const ACCOUNTS_LOCALE_STORAGE_KEY = \"App[ActiveLanguage]\";\nexport const RANDOM_NONCE = \"hY7p2Qw8XzMv3K9B\";\n","import { NgModule } from '@angular/core';\n\n@NgModule()\nexport class CoreModule {}\n","import { Injectable } from '@angular/core';\nimport { of } from 'rxjs';\nimport { CoreModule } from '../core.module';\n\n@Injectable({\n providedIn: CoreModule\n})\nexport class HeaderVisibilityService {\n visible$ = of(true);\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { CoreModule } from '../core.module';\n\n@Injectable({\n providedIn: CoreModule\n})\n\nexport class ProfileService {\n profile$:Observable = of({\n givenName: 'first name',\n familyName: 'last name',\n synlabId: 'A',\n claims: []\n })\n}\nexport type Claim = {\n claimValue: string,\n claimType: string\n}\n\nexport type Profile = {\n givenName: string,\n familyName: string,\n synlabId: string,\n claims: Claim[]\n}\n\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { CoreModule } from '../core.module';\n\n@Injectable({\n providedIn: CoreModule\n})\nexport class UsertypeService {\n usertypes$: Observable = of([])\n}\n","import { Injectable } from \"@angular/core\";\nimport { CoreModule } from \"../core.module\";\n\n@Injectable({\n providedIn: CoreModule,\n})\nexport class LoggerService {\n public get log(): Function {\n return () => {};\n }\n\n constructor() {}\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, NgModule } from \"@angular/core\";\n\n@Component({\n selector: 'app-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss']\n})\nexport class SpinnerComponent { }\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SpinnerComponent],\n exports: [SpinnerComponent]\n})\nexport class SpinnerModule { }\n","
\n","import * as i0 from '@angular/core';\nimport { InjectionToken, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Optional, Input, Directive, QueryList, EventEmitter, TemplateRef, ContentChildren, ViewChild, ContentChild, Output, inject, ChangeDetectorRef, Self, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/a11y';\nimport { FocusKeyManager, isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW, ESCAPE, hasModifierKey, ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { Subject, merge, Subscription, of, asapScheduler } from 'rxjs';\nimport { startWith, switchMap, take, takeUntil, filter, delay } from 'rxjs/operators';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { MatRipple, MatRippleModule, MatCommonModule } from '@angular/material/core';\nimport { TemplatePortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport * as i3 from '@angular/cdk/bidi';\nimport * as i1$1 from '@angular/cdk/overlay';\nimport { Overlay, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\n\n/**\n * Injection token used to provide the parent menu to menu-specific components.\n * @docs-private\n */\nconst MAT_MENU_PANEL = new InjectionToken('MAT_MENU_PANEL');\n\n/**\n * Single item inside a `mat-menu`. Provides the menu item styling and accessibility treatment.\n */\nclass MatMenuItem {\n constructor(_elementRef, _document, _focusMonitor, _parentMenu, _changeDetectorRef) {\n this._elementRef = _elementRef;\n this._document = _document;\n this._focusMonitor = _focusMonitor;\n this._parentMenu = _parentMenu;\n this._changeDetectorRef = _changeDetectorRef;\n /** ARIA role for the menu item. */\n this.role = 'menuitem';\n /** Whether the menu item is disabled. */\n this.disabled = false;\n /** Whether ripples are disabled on the menu item. */\n this.disableRipple = false;\n /** Stream that emits when the menu item is hovered. */\n this._hovered = new Subject();\n /** Stream that emits when the menu item is focused. */\n this._focused = new Subject();\n /** Whether the menu item is highlighted. */\n this._highlighted = false;\n /** Whether the menu item acts as a trigger for a sub-menu. */\n this._triggersSubmenu = false;\n _parentMenu?.addItem?.(this);\n }\n /** Focuses the menu item. */\n focus(origin, options) {\n if (this._focusMonitor && origin) {\n this._focusMonitor.focusVia(this._getHostElement(), origin, options);\n }\n else {\n this._getHostElement().focus(options);\n }\n this._focused.next(this);\n }\n ngAfterViewInit() {\n if (this._focusMonitor) {\n // Start monitoring the element, so it gets the appropriate focused classes. We want\n // to show the focus style for menu items only when the focus was not caused by a\n // mouse or touch interaction.\n this._focusMonitor.monitor(this._elementRef, false);\n }\n }\n ngOnDestroy() {\n if (this._focusMonitor) {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n if (this._parentMenu && this._parentMenu.removeItem) {\n this._parentMenu.removeItem(this);\n }\n this._hovered.complete();\n this._focused.complete();\n }\n /** Used to set the `tabindex`. */\n _getTabIndex() {\n return this.disabled ? '-1' : '0';\n }\n /** Returns the host DOM element. */\n _getHostElement() {\n return this._elementRef.nativeElement;\n }\n /** Prevents the default element actions if it is disabled. */\n _checkDisabled(event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n /** Emits to the hover stream. */\n _handleMouseEnter() {\n this._hovered.next(this);\n }\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel() {\n const clone = this._elementRef.nativeElement.cloneNode(true);\n const icons = clone.querySelectorAll('mat-icon, .material-icons');\n // Strip away icons, so they don't show up in the text.\n for (let i = 0; i < icons.length; i++) {\n icons[i].remove();\n }\n return clone.textContent?.trim() || '';\n }\n _setHighlighted(isHighlighted) {\n // We need to mark this for check for the case where the content is coming from a\n // `matMenuContent` whose change detection tree is at the declaration position,\n // not the insertion position. See #23175.\n // @breaking-change 12.0.0 Remove null check for `_changeDetectorRef`.\n this._highlighted = isHighlighted;\n this._changeDetectorRef?.markForCheck();\n }\n _setTriggersSubmenu(triggersSubmenu) {\n // @breaking-change 12.0.0 Remove null check for `_changeDetectorRef`.\n this._triggersSubmenu = triggersSubmenu;\n this._changeDetectorRef?.markForCheck();\n }\n _hasFocus() {\n return this._document && this._document.activeElement === this._getHostElement();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuItem, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.FocusMonitor }, { token: MAT_MENU_PANEL, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"17.2.0\", type: MatMenuItem, isStandalone: true, selector: \"[mat-menu-item]\", inputs: { role: \"role\", disabled: [\"disabled\", \"disabled\", booleanAttribute], disableRipple: [\"disableRipple\", \"disableRipple\", booleanAttribute] }, host: { listeners: { \"click\": \"_checkDisabled($event)\", \"mouseenter\": \"_handleMouseEnter()\" }, properties: { \"attr.role\": \"role\", \"class.mat-mdc-menu-item-highlighted\": \"_highlighted\", \"class.mat-mdc-menu-item-submenu-trigger\": \"_triggersSubmenu\", \"attr.tabindex\": \"_getTabIndex()\", \"attr.aria-disabled\": \"disabled\", \"attr.disabled\": \"disabled || null\" }, classAttribute: \"mat-mdc-menu-item mat-mdc-focus-indicator\" }, exportAs: [\"matMenuItem\"], ngImport: i0, template: \"\\n\\n
\\n
\\n\\n@if (_triggersSubmenu) {\\n \\n}\\n\", dependencies: [{ kind: \"directive\", type: MatRipple, selector: \"[mat-ripple], [matRipple]\", inputs: [\"matRippleColor\", \"matRippleUnbounded\", \"matRippleCentered\", \"matRippleRadius\", \"matRippleAnimation\", \"matRippleDisabled\", \"matRippleTrigger\"], exportAs: [\"matRipple\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuItem, decorators: [{\n type: Component,\n args: [{ selector: '[mat-menu-item]', exportAs: 'matMenuItem', host: {\n '[attr.role]': 'role',\n 'class': 'mat-mdc-menu-item mat-mdc-focus-indicator',\n '[class.mat-mdc-menu-item-highlighted]': '_highlighted',\n '[class.mat-mdc-menu-item-submenu-trigger]': '_triggersSubmenu',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-disabled]': 'disabled',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_checkDisabled($event)',\n '(mouseenter)': '_handleMouseEnter()',\n }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [MatRipple], template: \"\\n\\n
\\n
\\n\\n@if (_triggersSubmenu) {\\n \\n}\\n\" }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_MENU_PANEL]\n }, {\n type: Optional\n }] }, { type: i0.ChangeDetectorRef }], propDecorators: { role: [{\n type: Input\n }], disabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], disableRipple: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }] } });\n\n/**\n * Throws an exception for the case when menu's x-position value isn't valid.\n * In other words, it doesn't match 'before' or 'after'.\n * @docs-private\n */\nfunction throwMatMenuInvalidPositionX() {\n throw Error(`xPosition value must be either 'before' or after'.\n Example: `);\n}\n/**\n * Throws an exception for the case when menu's y-position value isn't valid.\n * In other words, it doesn't match 'above' or 'below'.\n * @docs-private\n */\nfunction throwMatMenuInvalidPositionY() {\n throw Error(`yPosition value must be either 'above' or below'.\n Example: `);\n}\n/**\n * Throws an exception for the case when a menu is assigned\n * to a trigger that is placed inside the same menu.\n * @docs-private\n */\nfunction throwMatMenuRecursiveError() {\n throw Error(`matMenuTriggerFor: menu cannot contain its own trigger. Assign a menu that is ` +\n `not a parent of the trigger or move the trigger outside of the menu.`);\n}\n\n/**\n * Injection token that can be used to reference instances of `MatMenuContent`. It serves\n * as alternative token to the actual `MatMenuContent` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_MENU_CONTENT = new InjectionToken('MatMenuContent');\n/** Menu content that will be rendered lazily once the menu is opened. */\nclass MatMenuContent {\n constructor(_template, _componentFactoryResolver, _appRef, _injector, _viewContainerRef, _document, _changeDetectorRef) {\n this._template = _template;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._injector = _injector;\n this._viewContainerRef = _viewContainerRef;\n this._document = _document;\n this._changeDetectorRef = _changeDetectorRef;\n /** Emits when the menu content has been attached. */\n this._attached = new Subject();\n }\n /**\n * Attaches the content with a particular context.\n * @docs-private\n */\n attach(context = {}) {\n if (!this._portal) {\n this._portal = new TemplatePortal(this._template, this._viewContainerRef);\n }\n this.detach();\n if (!this._outlet) {\n this._outlet = new DomPortalOutlet(this._document.createElement('div'), this._componentFactoryResolver, this._appRef, this._injector);\n }\n const element = this._template.elementRef.nativeElement;\n // Because we support opening the same menu from different triggers (which in turn have their\n // own `OverlayRef` panel), we have to re-insert the host element every time, otherwise we\n // risk it staying attached to a pane that's no longer in the DOM.\n element.parentNode.insertBefore(this._outlet.outletElement, element);\n // When `MatMenuContent` is used in an `OnPush` component, the insertion of the menu\n // content via `createEmbeddedView` does not cause the content to be seen as \"dirty\"\n // by Angular. This causes the `@ContentChildren` for menu items within the menu to\n // not be updated by Angular. By explicitly marking for check here, we tell Angular that\n // it needs to check for new menu items and update the `@ContentChild` in `MatMenu`.\n // @breaking-change 9.0.0 Make change detector ref required\n this._changeDetectorRef?.markForCheck();\n this._portal.attach(this._outlet, context);\n this._attached.next();\n }\n /**\n * Detaches the content.\n * @docs-private\n */\n detach() {\n if (this._portal.isAttached) {\n this._portal.detach();\n }\n }\n ngOnDestroy() {\n if (this._outlet) {\n this._outlet.dispose();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuContent, deps: [{ token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatMenuContent, isStandalone: true, selector: \"ng-template[matMenuContent]\", providers: [{ provide: MAT_MENU_CONTENT, useExisting: MatMenuContent }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuContent, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[matMenuContent]',\n providers: [{ provide: MAT_MENU_CONTENT, useExisting: MatMenuContent }],\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.ChangeDetectorRef }] });\n\n/**\n * Animations used by the mat-menu component.\n * Animation duration and timing values are based on:\n * https://material.io/guidelines/components/menus.html#menus-usage\n * @docs-private\n */\nconst matMenuAnimations = {\n /**\n * This animation controls the menu panel's entry and exit from the page.\n *\n * When the menu panel is added to the DOM, it scales in and fades in its border.\n *\n * When the menu panel is removed from the DOM, it simply fades out after a brief\n * delay to display the ripple.\n */\n transformMenu: trigger('transformMenu', [\n state('void', style({\n opacity: 0,\n transform: 'scale(0.8)',\n })),\n transition('void => enter', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1)',\n }))),\n transition('* => void', animate('100ms 25ms linear', style({ opacity: 0 }))),\n ]),\n /**\n * This animation fades in the background color and content of the menu panel\n * after its containing element is scaled in.\n */\n fadeInItems: trigger('fadeInItems', [\n // TODO(crisbeto): this is inside the `transformMenu`\n // now. Remove next time we do breaking changes.\n state('showing', style({ opacity: 1 })),\n transition('void => *', [\n style({ opacity: 0 }),\n animate('400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\n ]),\n ]),\n};\n/**\n * @deprecated\n * @breaking-change 8.0.0\n * @docs-private\n */\nconst fadeInItems = matMenuAnimations.fadeInItems;\n/**\n * @deprecated\n * @breaking-change 8.0.0\n * @docs-private\n */\nconst transformMenu = matMenuAnimations.transformMenu;\n\nlet menuPanelUid = 0;\n/** Injection token to be used to override the default options for `mat-menu`. */\nconst MAT_MENU_DEFAULT_OPTIONS = new InjectionToken('mat-menu-default-options', {\n providedIn: 'root',\n factory: MAT_MENU_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_MENU_DEFAULT_OPTIONS_FACTORY() {\n return {\n overlapTrigger: false,\n xPosition: 'after',\n yPosition: 'below',\n backdropClass: 'cdk-overlay-transparent-backdrop',\n };\n}\nclass MatMenu {\n /** Position of the menu in the X axis. */\n get xPosition() {\n return this._xPosition;\n }\n set xPosition(value) {\n if (value !== 'before' &&\n value !== 'after' &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatMenuInvalidPositionX();\n }\n this._xPosition = value;\n this.setPositionClasses();\n }\n /** Position of the menu in the Y axis. */\n get yPosition() {\n return this._yPosition;\n }\n set yPosition(value) {\n if (value !== 'above' && value !== 'below' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatMenuInvalidPositionY();\n }\n this._yPosition = value;\n this.setPositionClasses();\n }\n /**\n * This method takes classes set on the host mat-menu element and applies them on the\n * menu template that displays in the overlay container. Otherwise, it's difficult\n * to style the containing menu from outside the component.\n * @param classes list of class names\n */\n set panelClass(classes) {\n const previousPanelClass = this._previousPanelClass;\n const newClassList = { ...this._classList };\n if (previousPanelClass && previousPanelClass.length) {\n previousPanelClass.split(' ').forEach((className) => {\n newClassList[className] = false;\n });\n }\n this._previousPanelClass = classes;\n if (classes && classes.length) {\n classes.split(' ').forEach((className) => {\n newClassList[className] = true;\n });\n this._elementRef.nativeElement.className = '';\n }\n this._classList = newClassList;\n }\n /**\n * This method takes classes set on the host mat-menu element and applies them on the\n * menu template that displays in the overlay container. Otherwise, it's difficult\n * to style the containing menu from outside the component.\n * @deprecated Use `panelClass` instead.\n * @breaking-change 8.0.0\n */\n get classList() {\n return this.panelClass;\n }\n set classList(classes) {\n this.panelClass = classes;\n }\n constructor(_elementRef, _ngZone, defaultOptions, \n // @breaking-change 15.0.0 `_changeDetectorRef` to become a required parameter.\n _changeDetectorRef) {\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n this._changeDetectorRef = _changeDetectorRef;\n this._elevationPrefix = 'mat-elevation-z';\n this._baseElevation = 8;\n /** Only the direct descendant menu items. */\n this._directDescendantItems = new QueryList();\n /** Classes to be applied to the menu panel. */\n this._classList = {};\n /** Current state of the panel animation. */\n this._panelAnimationState = 'void';\n /** Emits whenever an animation on the menu completes. */\n this._animationDone = new Subject();\n /** Event emitted when the menu is closed. */\n this.closed = new EventEmitter();\n /**\n * Event emitted when the menu is closed.\n * @deprecated Switch to `closed` instead\n * @breaking-change 8.0.0\n */\n this.close = this.closed;\n this.panelId = `mat-menu-panel-${menuPanelUid++}`;\n this.overlayPanelClass = defaultOptions.overlayPanelClass || '';\n this._xPosition = defaultOptions.xPosition;\n this._yPosition = defaultOptions.yPosition;\n this.backdropClass = defaultOptions.backdropClass;\n this.overlapTrigger = defaultOptions.overlapTrigger;\n this.hasBackdrop = defaultOptions.hasBackdrop;\n }\n ngOnInit() {\n this.setPositionClasses();\n }\n ngAfterContentInit() {\n this._updateDirectDescendants();\n this._keyManager = new FocusKeyManager(this._directDescendantItems)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd();\n this._keyManager.tabOut.subscribe(() => this.closed.emit('tab'));\n // If a user manually (programmatically) focuses a menu item, we need to reflect that focus\n // change back to the key manager. Note that we don't need to unsubscribe here because _focused\n // is internal and we know that it gets completed on destroy.\n this._directDescendantItems.changes\n .pipe(startWith(this._directDescendantItems), switchMap(items => merge(...items.map((item) => item._focused))))\n .subscribe(focusedItem => this._keyManager.updateActiveItem(focusedItem));\n this._directDescendantItems.changes.subscribe((itemsList) => {\n // Move focus to another item, if the active item is removed from the list.\n // We need to debounce the callback, because multiple items might be removed\n // in quick succession.\n const manager = this._keyManager;\n if (this._panelAnimationState === 'enter' && manager.activeItem?._hasFocus()) {\n const items = itemsList.toArray();\n const index = Math.max(0, Math.min(items.length - 1, manager.activeItemIndex || 0));\n if (items[index] && !items[index].disabled) {\n manager.setActiveItem(index);\n }\n else {\n manager.setNextItemActive();\n }\n }\n });\n }\n ngOnDestroy() {\n this._keyManager?.destroy();\n this._directDescendantItems.destroy();\n this.closed.complete();\n this._firstItemFocusSubscription?.unsubscribe();\n }\n /** Stream that emits whenever the hovered menu item changes. */\n _hovered() {\n // Coerce the `changes` property because Angular types it as `Observable`\n const itemChanges = this._directDescendantItems.changes;\n return itemChanges.pipe(startWith(this._directDescendantItems), switchMap(items => merge(...items.map((item) => item._hovered))));\n }\n /*\n * Registers a menu item with the menu.\n * @docs-private\n * @deprecated No longer being used. To be removed.\n * @breaking-change 9.0.0\n */\n addItem(_item) { }\n /**\n * Removes an item from the menu.\n * @docs-private\n * @deprecated No longer being used. To be removed.\n * @breaking-change 9.0.0\n */\n removeItem(_item) { }\n /** Handle a keyboard event from the menu, delegating to the appropriate action. */\n _handleKeydown(event) {\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n switch (keyCode) {\n case ESCAPE:\n if (!hasModifierKey(event)) {\n event.preventDefault();\n this.closed.emit('keydown');\n }\n break;\n case LEFT_ARROW:\n if (this.parentMenu && this.direction === 'ltr') {\n this.closed.emit('keydown');\n }\n break;\n case RIGHT_ARROW:\n if (this.parentMenu && this.direction === 'rtl') {\n this.closed.emit('keydown');\n }\n break;\n default:\n if (keyCode === UP_ARROW || keyCode === DOWN_ARROW) {\n manager.setFocusOrigin('keyboard');\n }\n manager.onKeydown(event);\n return;\n }\n // Don't allow the event to propagate if we've already handled it, or it may\n // end up reaching other overlays that were opened earlier (see #22694).\n event.stopPropagation();\n }\n /**\n * Focus the first item in the menu.\n * @param origin Action from which the focus originated. Used to set the correct styling.\n */\n focusFirstItem(origin = 'program') {\n // Wait for `onStable` to ensure iOS VoiceOver screen reader focuses the first item (#24735).\n this._firstItemFocusSubscription?.unsubscribe();\n this._firstItemFocusSubscription = this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n let menuPanel = null;\n if (this._directDescendantItems.length) {\n // Because the `mat-menuPanel` is at the DOM insertion point, not inside the overlay, we don't\n // have a nice way of getting a hold of the menuPanel panel. We can't use a `ViewChild` either\n // because the panel is inside an `ng-template`. We work around it by starting from one of\n // the items and walking up the DOM.\n menuPanel = this._directDescendantItems.first._getHostElement().closest('[role=\"menu\"]');\n }\n // If an item in the menuPanel is already focused, avoid overriding the focus.\n if (!menuPanel || !menuPanel.contains(document.activeElement)) {\n const manager = this._keyManager;\n manager.setFocusOrigin(origin).setFirstItemActive();\n // If there's no active item at this point, it means that all the items are disabled.\n // Move focus to the menuPanel panel so keyboard events like Escape still work. Also this will\n // give _some_ feedback to screen readers.\n if (!manager.activeItem && menuPanel) {\n menuPanel.focus();\n }\n }\n });\n }\n /**\n * Resets the active item in the menu. This is used when the menu is opened, allowing\n * the user to start from the first option when pressing the down arrow.\n */\n resetActiveItem() {\n this._keyManager.setActiveItem(-1);\n }\n /**\n * Sets the menu panel elevation.\n * @param depth Number of parent menus that come before the menu.\n */\n setElevation(depth) {\n // The elevation starts at the base and increases by one for each level.\n // Capped at 24 because that's the maximum elevation defined in the Material design spec.\n const elevation = Math.min(this._baseElevation + depth, 24);\n const newElevation = `${this._elevationPrefix}${elevation}`;\n const customElevation = Object.keys(this._classList).find(className => {\n return className.startsWith(this._elevationPrefix);\n });\n if (!customElevation || customElevation === this._previousElevation) {\n const newClassList = { ...this._classList };\n if (this._previousElevation) {\n newClassList[this._previousElevation] = false;\n }\n newClassList[newElevation] = true;\n this._previousElevation = newElevation;\n this._classList = newClassList;\n }\n }\n /**\n * Adds classes to the menu panel based on its position. Can be used by\n * consumers to add specific styling based on the position.\n * @param posX Position of the menu along the x axis.\n * @param posY Position of the menu along the y axis.\n * @docs-private\n */\n setPositionClasses(posX = this.xPosition, posY = this.yPosition) {\n this._classList = {\n ...this._classList,\n ['mat-menu-before']: posX === 'before',\n ['mat-menu-after']: posX === 'after',\n ['mat-menu-above']: posY === 'above',\n ['mat-menu-below']: posY === 'below',\n };\n // @breaking-change 15.0.0 Remove null check for `_changeDetectorRef`.\n this._changeDetectorRef?.markForCheck();\n }\n /** Starts the enter animation. */\n _startAnimation() {\n // @breaking-change 8.0.0 Combine with _resetAnimation.\n this._panelAnimationState = 'enter';\n }\n /** Resets the panel animation to its initial state. */\n _resetAnimation() {\n // @breaking-change 8.0.0 Combine with _startAnimation.\n this._panelAnimationState = 'void';\n }\n /** Callback that is invoked when the panel animation completes. */\n _onAnimationDone(event) {\n this._animationDone.next(event);\n this._isAnimating = false;\n }\n _onAnimationStart(event) {\n this._isAnimating = true;\n // Scroll the content element to the top as soon as the animation starts. This is necessary,\n // because we move focus to the first item while it's still being animated, which can throw\n // the browser off when it determines the scroll position. Alternatively we can move focus\n // when the animation is done, however moving focus asynchronously will interrupt screen\n // readers which are in the process of reading out the menu already. We take the `element`\n // from the `event` since we can't use a `ViewChild` to access the pane.\n if (event.toState === 'enter' && this._keyManager.activeItemIndex === 0) {\n event.element.scrollTop = 0;\n }\n }\n /**\n * Sets up a stream that will keep track of any newly-added menu items and will update the list\n * of direct descendants. We collect the descendants this way, because `_allItems` can include\n * items that are part of child menus, and using a custom way of registering items is unreliable\n * when it comes to maintaining the item order.\n */\n _updateDirectDescendants() {\n this._allItems.changes\n .pipe(startWith(this._allItems))\n .subscribe((items) => {\n this._directDescendantItems.reset(items.filter(item => item._parentMenu === this));\n this._directDescendantItems.notifyOnChanges();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenu, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MAT_MENU_DEFAULT_OPTIONS }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"16.1.0\", version: \"17.2.0\", type: MatMenu, isStandalone: true, selector: \"mat-menu\", inputs: { backdropClass: \"backdropClass\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], ariaDescribedby: [\"aria-describedby\", \"ariaDescribedby\"], xPosition: \"xPosition\", yPosition: \"yPosition\", overlapTrigger: [\"overlapTrigger\", \"overlapTrigger\", booleanAttribute], hasBackdrop: [\"hasBackdrop\", \"hasBackdrop\", (value) => (value == null ? null : booleanAttribute(value))], panelClass: [\"class\", \"panelClass\"], classList: \"classList\" }, outputs: { closed: \"closed\", close: \"close\" }, host: { properties: { \"attr.aria-label\": \"null\", \"attr.aria-labelledby\": \"null\", \"attr.aria-describedby\": \"null\" } }, providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], queries: [{ propertyName: \"lazyContent\", first: true, predicate: MAT_MENU_CONTENT, descendants: true }, { propertyName: \"_allItems\", predicate: MatMenuItem, descendants: true }, { propertyName: \"items\", predicate: MatMenuItem }], viewQueries: [{ propertyName: \"templateRef\", first: true, predicate: TemplateRef, descendants: true }], exportAs: [\"matMenu\"], ngImport: i0, template: \"\\n \\n
\\n \\n
\\n \\n
\\n\", styles: [\"mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font);line-height:var(--mat-menu-item-label-text-line-height);font-size:var(--mat-menu-item-label-text-size);letter-spacing:var(--mat-menu-item-label-text-tracking);font-weight:var(--mat-menu-item-label-text-weight)}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape);background-color:var(--mat-menu-container-color);will-change:transform,opacity}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-divider{color:var(--mat-menu-divider-color);margin-bottom:var(--mat-menu-divider-bottom-spacing);margin-top:var(--mat-menu-divider-top-spacing)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:var(--mat-menu-item-leading-spacing);padding-right:var(--mat-menu-item-trailing-spacing);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;align-items:center;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:var(--mat-menu-item-trailing-spacing);padding-right:var(--mat-menu-item-leading-spacing)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing);padding-right:var(--mat-menu-item-with-icon-trailing-spacing)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]),.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon])[dir=rtl]{padding-left:var(--mat-menu-item-with-icon-trailing-spacing);padding-right:var(--mat-menu-item-with-icon-leading-spacing)}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color)}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color)}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\\\"\\\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing);height:var(--mat-menu-item-icon-size);width:var(--mat-menu-item-icon-size)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color)}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color)}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\"], animations: [matMenuAnimations.transformMenu, matMenuAnimations.fadeInItems], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenu, decorators: [{\n type: Component,\n args: [{ selector: 'mat-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'matMenu', host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n }, animations: [matMenuAnimations.transformMenu, matMenuAnimations.fadeInItems], providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], standalone: true, template: \"\\n \\n
\\n \\n
\\n \\n
\\n\", styles: [\"mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font);line-height:var(--mat-menu-item-label-text-line-height);font-size:var(--mat-menu-item-label-text-size);letter-spacing:var(--mat-menu-item-label-text-tracking);font-weight:var(--mat-menu-item-label-text-weight)}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape);background-color:var(--mat-menu-container-color);will-change:transform,opacity}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-divider{color:var(--mat-menu-divider-color);margin-bottom:var(--mat-menu-divider-bottom-spacing);margin-top:var(--mat-menu-divider-top-spacing)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:var(--mat-menu-item-leading-spacing);padding-right:var(--mat-menu-item-trailing-spacing);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;align-items:center;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:var(--mat-menu-item-trailing-spacing);padding-right:var(--mat-menu-item-leading-spacing)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing);padding-right:var(--mat-menu-item-with-icon-trailing-spacing)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]),.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon])[dir=rtl]{padding-left:var(--mat-menu-item-with-icon-trailing-spacing);padding-right:var(--mat-menu-item-with-icon-leading-spacing)}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color)}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color)}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\\\"\\\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing);height:var(--mat-menu-item-icon-size);width:var(--mat-menu-item-icon-size)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color)}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color)}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_MENU_DEFAULT_OPTIONS]\n }] }, { type: i0.ChangeDetectorRef }], propDecorators: { _allItems: [{\n type: ContentChildren,\n args: [MatMenuItem, { descendants: true }]\n }], backdropClass: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], ariaDescribedby: [{\n type: Input,\n args: ['aria-describedby']\n }], xPosition: [{\n type: Input\n }], yPosition: [{\n type: Input\n }], templateRef: [{\n type: ViewChild,\n args: [TemplateRef]\n }], items: [{\n type: ContentChildren,\n args: [MatMenuItem, { descendants: false }]\n }], lazyContent: [{\n type: ContentChild,\n args: [MAT_MENU_CONTENT]\n }], overlapTrigger: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], hasBackdrop: [{\n type: Input,\n args: [{ transform: (value) => (value == null ? null : booleanAttribute(value)) }]\n }], panelClass: [{\n type: Input,\n args: ['class']\n }], classList: [{\n type: Input\n }], closed: [{\n type: Output\n }], close: [{\n type: Output\n }] } });\n\n/** Injection token that determines the scroll handling while the menu is open. */\nconst MAT_MENU_SCROLL_STRATEGY = new InjectionToken('mat-menu-scroll-strategy', {\n providedIn: 'root',\n factory: () => {\n const overlay = inject(Overlay);\n return () => overlay.scrollStrategies.reposition();\n },\n});\n/** @docs-private */\nfunction MAT_MENU_SCROLL_STRATEGY_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MAT_MENU_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_MENU_SCROLL_STRATEGY_FACTORY,\n};\n/** Options for binding a passive event listener. */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * Default top padding of the menu panel.\n * @deprecated No longer being used. Will be removed.\n * @breaking-change 15.0.0\n */\nconst MENU_PANEL_TOP_PADDING = 8;\n/** Directive applied to an element that should trigger a `mat-menu`. */\nclass MatMenuTrigger {\n /**\n * @deprecated\n * @breaking-change 8.0.0\n */\n get _deprecatedMatMenuTriggerFor() {\n return this.menu;\n }\n set _deprecatedMatMenuTriggerFor(v) {\n this.menu = v;\n }\n /** References the menu instance that the trigger is associated with. */\n get menu() {\n return this._menu;\n }\n set menu(menu) {\n if (menu === this._menu) {\n return;\n }\n this._menu = menu;\n this._menuCloseSubscription.unsubscribe();\n if (menu) {\n if (menu === this._parentMaterialMenu && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatMenuRecursiveError();\n }\n this._menuCloseSubscription = menu.close.subscribe((reason) => {\n this._destroyMenu(reason);\n // If a click closed the menu, we should close the entire chain of nested menus.\n if ((reason === 'click' || reason === 'tab') && this._parentMaterialMenu) {\n this._parentMaterialMenu.closed.emit(reason);\n }\n });\n }\n this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu());\n }\n constructor(_overlay, _element, _viewContainerRef, scrollStrategy, parentMenu, \n // `MatMenuTrigger` is commonly used in combination with a `MatMenuItem`.\n // tslint:disable-next-line: lightweight-tokens\n _menuItemInstance, _dir, _focusMonitor, _ngZone) {\n this._overlay = _overlay;\n this._element = _element;\n this._viewContainerRef = _viewContainerRef;\n this._menuItemInstance = _menuItemInstance;\n this._dir = _dir;\n this._focusMonitor = _focusMonitor;\n this._ngZone = _ngZone;\n this._overlayRef = null;\n this._menuOpen = false;\n this._closingActionsSubscription = Subscription.EMPTY;\n this._hoverSubscription = Subscription.EMPTY;\n this._menuCloseSubscription = Subscription.EMPTY;\n this._changeDetectorRef = inject(ChangeDetectorRef);\n /**\n * Handles touch start events on the trigger.\n * Needs to be an arrow function so we can easily use addEventListener and removeEventListener.\n */\n this._handleTouchStart = (event) => {\n if (!isFakeTouchstartFromScreenReader(event)) {\n this._openedBy = 'touch';\n }\n };\n // Tracking input type is necessary so it's possible to only auto-focus\n // the first item of the list when the menu is opened via the keyboard\n this._openedBy = undefined;\n /**\n * Whether focus should be restored when the menu is closed.\n * Note that disabling this option can have accessibility implications\n * and it's up to you to manage focus, if you decide to turn it off.\n */\n this.restoreFocus = true;\n /** Event emitted when the associated menu is opened. */\n this.menuOpened = new EventEmitter();\n /**\n * Event emitted when the associated menu is opened.\n * @deprecated Switch to `menuOpened` instead\n * @breaking-change 8.0.0\n */\n // tslint:disable-next-line:no-output-on-prefix\n this.onMenuOpen = this.menuOpened;\n /** Event emitted when the associated menu is closed. */\n this.menuClosed = new EventEmitter();\n /**\n * Event emitted when the associated menu is closed.\n * @deprecated Switch to `menuClosed` instead\n * @breaking-change 8.0.0\n */\n // tslint:disable-next-line:no-output-on-prefix\n this.onMenuClose = this.menuClosed;\n this._scrollStrategy = scrollStrategy;\n this._parentMaterialMenu = parentMenu instanceof MatMenu ? parentMenu : undefined;\n _element.nativeElement.addEventListener('touchstart', this._handleTouchStart, passiveEventListenerOptions);\n }\n ngAfterContentInit() {\n this._handleHover();\n }\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._element.nativeElement.removeEventListener('touchstart', this._handleTouchStart, passiveEventListenerOptions);\n this._menuCloseSubscription.unsubscribe();\n this._closingActionsSubscription.unsubscribe();\n this._hoverSubscription.unsubscribe();\n }\n /** Whether the menu is open. */\n get menuOpen() {\n return this._menuOpen;\n }\n /** The text direction of the containing app. */\n get dir() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Whether the menu triggers a sub-menu or a top-level one. */\n triggersSubmenu() {\n return !!(this._menuItemInstance && this._parentMaterialMenu && this.menu);\n }\n /** Toggles the menu between the open and closed states. */\n toggleMenu() {\n return this._menuOpen ? this.closeMenu() : this.openMenu();\n }\n /** Opens the menu. */\n openMenu() {\n const menu = this.menu;\n if (this._menuOpen || !menu) {\n return;\n }\n const overlayRef = this._createOverlay(menu);\n const overlayConfig = overlayRef.getConfig();\n const positionStrategy = overlayConfig.positionStrategy;\n this._setPosition(menu, positionStrategy);\n overlayConfig.hasBackdrop =\n menu.hasBackdrop == null ? !this.triggersSubmenu() : menu.hasBackdrop;\n overlayRef.attach(this._getPortal(menu));\n if (menu.lazyContent) {\n menu.lazyContent.attach(this.menuData);\n }\n this._closingActionsSubscription = this._menuClosingActions().subscribe(() => this.closeMenu());\n this._initMenu(menu);\n if (menu instanceof MatMenu) {\n menu._startAnimation();\n menu._directDescendantItems.changes.pipe(takeUntil(menu.close)).subscribe(() => {\n // Re-adjust the position without locking when the amount of items\n // changes so that the overlay is allowed to pick a new optimal position.\n positionStrategy.withLockedPosition(false).reapplyLastPosition();\n positionStrategy.withLockedPosition(true);\n });\n }\n }\n /** Closes the menu. */\n closeMenu() {\n this.menu?.close.emit();\n }\n /**\n * Focuses the menu trigger.\n * @param origin Source of the menu trigger's focus.\n */\n focus(origin, options) {\n if (this._focusMonitor && origin) {\n this._focusMonitor.focusVia(this._element, origin, options);\n }\n else {\n this._element.nativeElement.focus(options);\n }\n }\n /**\n * Updates the position of the menu to ensure that it fits all options within the viewport.\n */\n updatePosition() {\n this._overlayRef?.updatePosition();\n }\n /** Closes the menu and does the necessary cleanup. */\n _destroyMenu(reason) {\n if (!this._overlayRef || !this.menuOpen) {\n return;\n }\n const menu = this.menu;\n this._closingActionsSubscription.unsubscribe();\n this._overlayRef.detach();\n // Always restore focus if the user is navigating using the keyboard or the menu was opened\n // programmatically. We don't restore for non-root triggers, because it can prevent focus\n // from making it back to the root trigger when closing a long chain of menus by clicking\n // on the backdrop.\n if (this.restoreFocus && (reason === 'keydown' || !this._openedBy || !this.triggersSubmenu())) {\n this.focus(this._openedBy);\n }\n this._openedBy = undefined;\n if (menu instanceof MatMenu) {\n menu._resetAnimation();\n if (menu.lazyContent) {\n // Wait for the exit animation to finish before detaching the content.\n menu._animationDone\n .pipe(filter(event => event.toState === 'void'), take(1), \n // Interrupt if the content got re-attached.\n takeUntil(menu.lazyContent._attached))\n .subscribe({\n next: () => menu.lazyContent.detach(),\n // No matter whether the content got re-attached, reset the menu.\n complete: () => this._setIsMenuOpen(false),\n });\n }\n else {\n this._setIsMenuOpen(false);\n }\n }\n else {\n this._setIsMenuOpen(false);\n menu?.lazyContent?.detach();\n }\n }\n /**\n * This method sets the menu state to open and focuses the first item if\n * the menu was opened via the keyboard.\n */\n _initMenu(menu) {\n menu.parentMenu = this.triggersSubmenu() ? this._parentMaterialMenu : undefined;\n menu.direction = this.dir;\n this._setMenuElevation(menu);\n menu.focusFirstItem(this._openedBy || 'program');\n this._setIsMenuOpen(true);\n }\n /** Updates the menu elevation based on the amount of parent menus that it has. */\n _setMenuElevation(menu) {\n if (menu.setElevation) {\n let depth = 0;\n let parentMenu = menu.parentMenu;\n while (parentMenu) {\n depth++;\n parentMenu = parentMenu.parentMenu;\n }\n menu.setElevation(depth);\n }\n }\n // set state rather than toggle to support triggers sharing a menu\n _setIsMenuOpen(isOpen) {\n if (isOpen !== this._menuOpen) {\n this._menuOpen = isOpen;\n this._menuOpen ? this.menuOpened.emit() : this.menuClosed.emit();\n if (this.triggersSubmenu()) {\n this._menuItemInstance._setHighlighted(isOpen);\n }\n this._changeDetectorRef.markForCheck();\n }\n }\n /**\n * This method creates the overlay from the provided menu's template and saves its\n * OverlayRef so that it can be attached to the DOM when openMenu is called.\n */\n _createOverlay(menu) {\n if (!this._overlayRef) {\n const config = this._getOverlayConfig(menu);\n this._subscribeToPositions(menu, config.positionStrategy);\n this._overlayRef = this._overlay.create(config);\n // Consume the `keydownEvents` in order to prevent them from going to another overlay.\n // Ideally we'd also have our keyboard event logic in here, however doing so will\n // break anybody that may have implemented the `MatMenuPanel` themselves.\n this._overlayRef.keydownEvents().subscribe();\n }\n return this._overlayRef;\n }\n /**\n * This method builds the configuration object needed to create the overlay, the OverlayState.\n * @returns OverlayConfig\n */\n _getOverlayConfig(menu) {\n return new OverlayConfig({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(this._element)\n .withLockedPosition()\n .withGrowAfterOpen()\n .withTransformOriginOn('.mat-menu-panel, .mat-mdc-menu-panel'),\n backdropClass: menu.backdropClass || 'cdk-overlay-transparent-backdrop',\n panelClass: menu.overlayPanelClass,\n scrollStrategy: this._scrollStrategy(),\n direction: this._dir,\n });\n }\n /**\n * Listens to changes in the position of the overlay and sets the correct classes\n * on the menu based on the new position. This ensures the animation origin is always\n * correct, even if a fallback position is used for the overlay.\n */\n _subscribeToPositions(menu, position) {\n if (menu.setPositionClasses) {\n position.positionChanges.subscribe(change => {\n const posX = change.connectionPair.overlayX === 'start' ? 'after' : 'before';\n const posY = change.connectionPair.overlayY === 'top' ? 'below' : 'above';\n // @breaking-change 15.0.0 Remove null check for `ngZone`.\n // `positionChanges` fires outside of the `ngZone` and `setPositionClasses` might be\n // updating something in the view so we need to bring it back in.\n if (this._ngZone) {\n this._ngZone.run(() => menu.setPositionClasses(posX, posY));\n }\n else {\n menu.setPositionClasses(posX, posY);\n }\n });\n }\n }\n /**\n * Sets the appropriate positions on a position strategy\n * so the overlay connects with the trigger correctly.\n * @param positionStrategy Strategy whose position to update.\n */\n _setPosition(menu, positionStrategy) {\n let [originX, originFallbackX] = menu.xPosition === 'before' ? ['end', 'start'] : ['start', 'end'];\n let [overlayY, overlayFallbackY] = menu.yPosition === 'above' ? ['bottom', 'top'] : ['top', 'bottom'];\n let [originY, originFallbackY] = [overlayY, overlayFallbackY];\n let [overlayX, overlayFallbackX] = [originX, originFallbackX];\n let offsetY = 0;\n if (this.triggersSubmenu()) {\n // When the menu is a sub-menu, it should always align itself\n // to the edges of the trigger, instead of overlapping it.\n overlayFallbackX = originX = menu.xPosition === 'before' ? 'start' : 'end';\n originFallbackX = overlayX = originX === 'end' ? 'start' : 'end';\n if (this._parentMaterialMenu) {\n if (this._parentInnerPadding == null) {\n const firstItem = this._parentMaterialMenu.items.first;\n this._parentInnerPadding = firstItem ? firstItem._getHostElement().offsetTop : 0;\n }\n offsetY = overlayY === 'bottom' ? this._parentInnerPadding : -this._parentInnerPadding;\n }\n }\n else if (!menu.overlapTrigger) {\n originY = overlayY === 'top' ? 'bottom' : 'top';\n originFallbackY = overlayFallbackY === 'top' ? 'bottom' : 'top';\n }\n positionStrategy.withPositions([\n { originX, originY, overlayX, overlayY, offsetY },\n { originX: originFallbackX, originY, overlayX: overlayFallbackX, overlayY, offsetY },\n {\n originX,\n originY: originFallbackY,\n overlayX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n {\n originX: originFallbackX,\n originY: originFallbackY,\n overlayX: overlayFallbackX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n ]);\n }\n /** Returns a stream that emits whenever an action that should close the menu occurs. */\n _menuClosingActions() {\n const backdrop = this._overlayRef.backdropClick();\n const detachments = this._overlayRef.detachments();\n const parentClose = this._parentMaterialMenu ? this._parentMaterialMenu.closed : of();\n const hover = this._parentMaterialMenu\n ? this._parentMaterialMenu._hovered().pipe(filter(active => active !== this._menuItemInstance), filter(() => this._menuOpen))\n : of();\n return merge(backdrop, parentClose, hover, detachments);\n }\n /** Handles mouse presses on the trigger. */\n _handleMousedown(event) {\n if (!isFakeMousedownFromScreenReader(event)) {\n // Since right or middle button clicks won't trigger the `click` event,\n // we shouldn't consider the menu as opened by mouse in those cases.\n this._openedBy = event.button === 0 ? 'mouse' : undefined;\n // Since clicking on the trigger won't close the menu if it opens a sub-menu,\n // we should prevent focus from moving onto it via click to avoid the\n // highlight from lingering on the menu item.\n if (this.triggersSubmenu()) {\n event.preventDefault();\n }\n }\n }\n /** Handles key presses on the trigger. */\n _handleKeydown(event) {\n const keyCode = event.keyCode;\n // Pressing enter on the trigger will trigger the click handler later.\n if (keyCode === ENTER || keyCode === SPACE) {\n this._openedBy = 'keyboard';\n }\n if (this.triggersSubmenu() &&\n ((keyCode === RIGHT_ARROW && this.dir === 'ltr') ||\n (keyCode === LEFT_ARROW && this.dir === 'rtl'))) {\n this._openedBy = 'keyboard';\n this.openMenu();\n }\n }\n /** Handles click events on the trigger. */\n _handleClick(event) {\n if (this.triggersSubmenu()) {\n // Stop event propagation to avoid closing the parent menu.\n event.stopPropagation();\n this.openMenu();\n }\n else {\n this.toggleMenu();\n }\n }\n /** Handles the cases where the user hovers over the trigger. */\n _handleHover() {\n // Subscribe to changes in the hovered item in order to toggle the panel.\n if (!this.triggersSubmenu() || !this._parentMaterialMenu) {\n return;\n }\n this._hoverSubscription = this._parentMaterialMenu\n ._hovered()\n // Since we might have multiple competing triggers for the same menu (e.g. a sub-menu\n // with different data and triggers), we have to delay it by a tick to ensure that\n // it won't be closed immediately after it is opened.\n .pipe(filter(active => active === this._menuItemInstance && !active.disabled), delay(0, asapScheduler))\n .subscribe(() => {\n this._openedBy = 'mouse';\n // If the same menu is used between multiple triggers, it might still be animating\n // while the new trigger tries to re-open it. Wait for the animation to finish\n // before doing so. Also interrupt if the user moves to another item.\n if (this.menu instanceof MatMenu && this.menu._isAnimating) {\n // We need the `delay(0)` here in order to avoid\n // 'changed after checked' errors in some cases. See #12194.\n this.menu._animationDone\n .pipe(take(1), delay(0, asapScheduler), takeUntil(this._parentMaterialMenu._hovered()))\n .subscribe(() => this.openMenu());\n }\n else {\n this.openMenu();\n }\n });\n }\n /** Gets the portal that should be attached to the overlay. */\n _getPortal(menu) {\n // Note that we can avoid this check by keeping the portal on the menu panel.\n // While it would be cleaner, we'd have to introduce another required method on\n // `MatMenuPanel`, making it harder to consume.\n if (!this._portal || this._portal.templateRef !== menu.templateRef) {\n this._portal = new TemplatePortal(menu.templateRef, this._viewContainerRef);\n }\n return this._portal;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuTrigger, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: MAT_MENU_SCROLL_STRATEGY }, { token: MAT_MENU_PANEL, optional: true }, { token: MatMenuItem, optional: true, self: true }, { token: i3.Directionality, optional: true }, { token: i1.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatMenuTrigger, isStandalone: true, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: { _deprecatedMatMenuTriggerFor: [\"mat-menu-trigger-for\", \"_deprecatedMatMenuTriggerFor\"], menu: [\"matMenuTriggerFor\", \"menu\"], menuData: [\"matMenuTriggerData\", \"menuData\"], restoreFocus: [\"matMenuTriggerRestoreFocus\", \"restoreFocus\"] }, outputs: { menuOpened: \"menuOpened\", onMenuOpen: \"onMenuOpen\", menuClosed: \"menuClosed\", onMenuClose: \"onMenuClose\" }, host: { listeners: { \"click\": \"_handleClick($event)\", \"mousedown\": \"_handleMousedown($event)\", \"keydown\": \"_handleKeydown($event)\" }, properties: { \"attr.aria-haspopup\": \"menu ? \\\"menu\\\" : null\", \"attr.aria-expanded\": \"menuOpen\", \"attr.aria-controls\": \"menuOpen ? menu.panelId : null\" }, classAttribute: \"mat-mdc-menu-trigger\" }, exportAs: [\"matMenuTrigger\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuTrigger, decorators: [{\n type: Directive,\n args: [{\n selector: `[mat-menu-trigger-for], [matMenuTriggerFor]`,\n host: {\n 'class': 'mat-mdc-menu-trigger',\n '[attr.aria-haspopup]': 'menu ? \"menu\" : null',\n '[attr.aria-expanded]': 'menuOpen',\n '[attr.aria-controls]': 'menuOpen ? menu.panelId : null',\n '(click)': '_handleClick($event)',\n '(mousedown)': '_handleMousedown($event)',\n '(keydown)': '_handleKeydown($event)',\n },\n exportAs: 'matMenuTrigger',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_MENU_SCROLL_STRATEGY]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_MENU_PANEL]\n }, {\n type: Optional\n }] }, { type: MatMenuItem, decorators: [{\n type: Optional\n }, {\n type: Self\n }] }, { type: i3.Directionality, decorators: [{\n type: Optional\n }] }, { type: i1.FocusMonitor }, { type: i0.NgZone }], propDecorators: { _deprecatedMatMenuTriggerFor: [{\n type: Input,\n args: ['mat-menu-trigger-for']\n }], menu: [{\n type: Input,\n args: ['matMenuTriggerFor']\n }], menuData: [{\n type: Input,\n args: ['matMenuTriggerData']\n }], restoreFocus: [{\n type: Input,\n args: ['matMenuTriggerRestoreFocus']\n }], menuOpened: [{\n type: Output\n }], onMenuOpen: [{\n type: Output\n }], menuClosed: [{\n type: Output\n }], onMenuClose: [{\n type: Output\n }] } });\n\nclass MatMenuModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuModule, imports: [CommonModule,\n MatRippleModule,\n MatCommonModule,\n OverlayModule,\n MatMenu,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger], exports: [CdkScrollableModule,\n MatMenu,\n MatCommonModule,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuModule, providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [CommonModule,\n MatRippleModule,\n MatCommonModule,\n OverlayModule, CdkScrollableModule,\n MatCommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMenuModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n MatRippleModule,\n MatCommonModule,\n OverlayModule,\n MatMenu,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger,\n ],\n exports: [\n CdkScrollableModule,\n MatMenu,\n MatCommonModule,\n MatMenuItem,\n MatMenuContent,\n MatMenuTrigger,\n ],\n providers: [MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER],\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_MENU_CONTENT, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, MAT_MENU_SCROLL_STRATEGY, MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER, MENU_PANEL_TOP_PADDING, MatMenu, MatMenuContent, MatMenuItem, MatMenuModule, MatMenuTrigger, fadeInItems, matMenuAnimations, transformMenu };\n","export type defaultCountryPerLangType = { [key: string]: string };\n\nexport const defaultCountryPerLang: defaultCountryPerLangType = {\n en: 'gb',\n et: 'ee',\n ru: 'ru',\n de: 'de',\n fr: 'fr',\n pt: 'pt',\n it: 'it',\n lt: 'lt',\n uk: 'ua',\n el: 'gr',\n hu: 'hu',\n es: 'es'\n}\n\nexport function lookupCountry(locale:string, defaultCountryPerLang:defaultCountryPerLangType):string {\n let l = locale.split('-');\n if (l.length>1) {\n return l[1].toLowerCase();\n } else if (l[0] in defaultCountryPerLang) {\n return defaultCountryPerLang[l[0]].toLowerCase();\n }\n return '';\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigService } from '../core/config/config.service';\nimport { UsertypeService } from '../core/usertype/usertype.service';\nimport { LinkCondition } from '../model/link.model';\nimport { combineLatest } from 'rxjs';\nimport {map} from 'rxjs/operators'\nimport { Claim, Profile, ProfileService } from '../core/profile/profile.service';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { defaultCountryPerLangType, lookupCountry,defaultCountryPerLang } from '../core/util/lookup-default-country.util';\nimport { HeaderVisibilityService } from '../core/header-visibility/header-visibility.service';\nimport { CoreModule, LoggerService } from '../core';\nimport { userTypes, whiteLabelNames } from 'src/app/appsettings';\nimport { Config } from '../model/config.model';\nconst hasAny = (req:string[],ut: string[]) => ut.some(u => req.indexOf(u) > -1)\nconst has = (req: string[], ut: string[]) => req.every(r => ut.indexOf(r) > -1)\nconst hasTrueClaim = (c: string, req: Claim[]) => req && req.find((x) => x.claimType === c)?.claimValue?.toLocaleLowerCase() == \"true\"\nconst hasClaim = (c: string, v: string, req: Claim[]) => req && req.find((x) => x.claimType === c)?.claimValue?.toLocaleLowerCase() == v\nconst langCodeQueryStr = (link:string, lang:string, countries:defaultCountryPerLangType) => `${link}?langCode=${lang}-${lookupCountry(lang, countries).toUpperCase()}`\n\nconst countryPerLang: defaultCountryPerLangType = {\n ...defaultCountryPerLang,\n en: 'gb',\n}\n\n@Injectable({\n providedIn: CoreModule\n})\nexport class SynlabHeaderService {\n links$ = combineLatest([\n this.usertypeService.usertypes$,\n this.configService.config$,\n this.profileService.profile$,\n this.translocoService.langChanges$\n ]).pipe(\n map(([ut, c, p, lang]) => this.linkCondition\n .filter(lc => lc.condition(ut, c, p))\n .map(lc => ({\n ...lc,\n url: lc.urlGenerator ? lc.urlGenerator(c, lang) : lc.url\n }))),\n );\n\n user$ = this.profileService.profile$;\n\n myAccountLink$ = combineLatest([\n this.configService.config$,\n this.translocoService.langChanges$\n ]).pipe(map(([c, lang]) => c.baseProfileUrl + langCodeQueryStr('', lang, countryPerLang)));\n\n brandLogoLink$ = combineLatest([\n this.configService.config$,\n this.translocoService.langChanges$\n ]).pipe(map(([c, lang]) => c.baseBookingUrl + langCodeQueryStr('', lang, countryPerLang)));\n\n visible$ = this.headerVisibilityService.visible$;\n\n config$ = this.configService.config$;\n\n constructor(\n private usertypeService: UsertypeService,\n private configService: ConfigService,\n private profileService: ProfileService,\n private headerVisibilityService: HeaderVisibilityService,\n private translocoService: TranslocoService,\n private logr: LoggerService\n ) { }\n\n private isMenuLinkNotHidden(config: Config): boolean {\n if (['plasma-web', 'plasmaui-code-pkce'].includes(config.applicationId)) { return false; }\n\n const isEnableCheckResults = config.EnableCheckResults\n if (!isEnableCheckResults) { return true; }\n return false;\n }\n\n private linkCondition: LinkCondition[] = [\n {\n label: 'bigCommerceLabel',\n icon: '/assets/synlab-header/panel.svg',\n urlGenerator: (c, lang) => {\n if (this.isMenuLinkNotHidden(c)) return false;\n if (c.WhiteLabelName === whiteLabelNames.CZECH_REPUBLIC\n || c.WhiteLabelName === whiteLabelNames.BELGIUM\n ) return false;\n\n let linksPerLang = {};\n c.baseBigcommerceUrl?.split(',').map(u => u.split('|')).forEach(l => {\n const [locale, url] = l;\n linksPerLang[locale] = url;\n });\n if (lang in linksPerLang) {\n return linksPerLang[lang];\n }\n return linksPerLang[\"**\"] ?? c.baseBigcommerceUrl;\n },\n condition: (ut, c) => has(['synlab_access_user'], ut)\n },\n {\n label: 'ordersBookingLabel',\n icon: '/assets/synlab-header/panel.svg',\n urlGenerator: (c, lang) => {\n if (this.isMenuLinkNotHidden(c)) return false;\n if (c.WhiteLabelName === whiteLabelNames.CZECH_REPUBLIC\n || c.WhiteLabelName === whiteLabelNames.BELGIUM\n ) return false;\n\n const isFITenant = c.WhiteLabelEnabled && c.WhiteLabelName == whiteLabelNames.FINLAND;\n const isHUTenant = c.WhiteLabelEnabled && c.WhiteLabelName == whiteLabelNames.HUNGARY;\n if (isHUTenant || isFITenant) { return c.baseBookingUrl; }\n\n const isHungary = c.WhiteLabelName == whiteLabelNames.HUNGARY;\n if (isHungary && c.WhiteLabelEnabled) {\n return c.baseBookingUrl\n }\n\n let linksPerLang = {};\n c.eeBaseBookingUrl.split(',').map(u => u.split('|')).forEach(l => {\n const [locale, url] = l;\n linksPerLang[locale] = url;\n });\n if (lang in linksPerLang) {\n return linksPerLang[lang];\n }\n return linksPerLang[\"*\"] ?? c.eeBaseBookingUrl;\n },\n condition: (ut, c) => has(['synlab_access_user'], ut) && !this.isMenuLinkNotHidden(c)\n },\n {\n label: \"resultsCertificateLabel\",\n icon: '/assets/synlab-header/results.svg',\n urlGenerator: (c, lang) => `${c.basePlasmaUrl}/results/category` + langCodeQueryStr('', lang, countryPerLang),\n condition: (ut,c) => {\n if (this.isMenuLinkNotHidden(c)) { return false; }\n\n return has(['synlab_access_user'],ut) && c.FullCatalogueViewEnabled === true && c.applicationId == 'sts-accounts';\n }\n },\n {\n label: \"resultsCertificateLabel\",\n icon: '/assets/synlab-header/results.svg',\n route: '/results',\n condition: (ut,c) => {\n if (this.isMenuLinkNotHidden(c)) { return false; }\n\n return has(['synlab_access_user'],ut) && c.FullCatalogueViewEnabled === true && c.applicationId == 'plasma-web';\n }\n },\n {\n label: \"checkResultLabel\",\n icon: '/assets/synlab-header/results.svg',\n urlGenerator: (c, lang) => `${c.basePlasmaUrl}/results/category` + langCodeQueryStr('', lang, countryPerLang),\n condition: (userTypes: string[], config: Config, profile: Profile) => {\n if (this.isMenuLinkNotHidden(config)) { return false; }\n\n return hasAny(['ee_admin', 'pt_admin'], userTypes)\n && config.FullCatalogueViewEnabled === true\n && hasTrueClaim('allow_delete_user', profile.claims)\n && config.applicationId == 'sts-accounts';\n }\n },\n {\n label: \"checkResultLabel\",\n icon: '/assets/synlab-header/results.svg',\n route: '/results/category',\n condition: (userTypes: string[], config: Config, profile: Profile) => {\n if (this.isMenuLinkNotHidden(config)) { return false; }\n\n return hasAny(['ee_admin', 'pt_admin'], userTypes)\n && config.FullCatalogueViewEnabled === true\n && hasTrueClaim('allow_delete_user', profile.claims)\n && config.applicationId == 'plasma-web';\n }\n },\n {\n label: \"preventionWellness\",\n icon: '/assets/synlab-header/heart.svg',\n urlGenerator: (c, lang) => `${c.basePlasmaUrl}/prevention-wellness` + langCodeQueryStr('', lang, countryPerLang),\n condition: (ut,c,p) =>\n hasAny(['synlab_access_user'],ut)\n && c.EnablePreventionWellness === true\n && !hasTrueClaim('anonymous_user', p.claims)\n && c.applicationId == 'sts-accounts'\n },\n {\n label: \"preventionWellness\",\n icon: '/assets/synlab-header/heart.svg',\n route: '/prevention-wellness',\n condition: (ut,c,p) =>\n hasAny(['synlab_access_user'],ut) && c.EnablePreventionWellness === true && !hasTrueClaim('anonymous_user', p.claims) && c.applicationId == 'plasma-web'\n },\n {\n label: \"adminLabel\",\n icon: '/assets/synlab-header/people.svg',\n urlGenerator: (c,lang) => langCodeQueryStr(c.baseAdminUrl, lang, countryPerLang),\n condition: (ut,c) => hasAny(['uk_shfy_admin', 'uk_dfp_admin', 'ee_admin','notification_user', 'superadmin', 'pt_admin'],ut)\n },\n {\n label: \"bookingAdminLabel\",\n icon: '/assets/synlab-header/people.svg',\n urlGenerator: (c,lang) => langCodeQueryStr(c.baseBookingAdminUrl, lang, countryPerLang),\n condition: (ut,c) => {\n const tenantName: whiteLabelNames = c.WhiteLabelName as any;\n return hasAny([\n userTypes.BOOKING_ADMIN_BCP_COORDINATOR,\n userTypes.BOOKING_ADMIN_BCP_CLERK,\n userTypes.BOOKING_ADMIN], ut) && [whiteLabelNames.HUNGARY, whiteLabelNames.FINLAND].includes(tenantName);\n }\n },\n {\n label: \"webreqLabel\",\n icon: '/assets/synlab-header/people.svg',\n urlGenerator: (c, lang) => langCodeQueryStr(c.baseWebreqUrl, lang, countryPerLang),\n condition: (ut,c) => hasAny(['bcp','webreq_user', 'webreq_admin', 'webreq_finance'],ut)\n },\n {\n label: \"webreqLabelAdmin\",\n icon: '/assets/synlab-header/people.svg',\n urlGenerator: (c, lang) => langCodeQueryStr(c.baseWebreqAdminUrl, lang, countryPerLang),\n condition: (ut,c) => hasAny(['webreq_superadmin'],ut)\n },\n {\n label: \"labShopLabel\",\n urlGenerator: (c, lang) => langCodeQueryStr(c.baseBookingUrl, lang, countryPerLang),\n condition: (ut,c) => {\n const isESTenant = c.WhiteLabelEnabled && c.WhiteLabelName === whiteLabelNames.SPAIN;\n this.logr.log({\n WhiteLabelEnabled: c.WhiteLabelEnabled,\n WhiteLabelName: c.WhiteLabelName,\n isSpain: c.WhiteLabelName === whiteLabelNames.SPAIN,\n hasAny: hasAny(['webshop_admin', 'webshop_user'], ut) });\n if (isESTenant && hasAny(['webshop_admin', 'webshop_user'], ut)) { return true; }\n return false;\n }\n },\n {\n label: \"medioLabel\",\n urlGenerator: (c, lang) => langCodeQueryStr('https://medicall.cc', lang, countryPerLang),\n condition: (ut,c) => {\n const isEsTcTenant = c.WhiteLabelEnabled && c.WhiteLabelName === whiteLabelNames.SPAIN_TELECOUNSELING;\n if (isEsTcTenant && hasAny(['pt_admin', 'synlab_access_user', 'expert'], ut)) { return true; }\n return false;\n }\n }\n ]\n}\n","\n \n \n\n\n\n
\n \n \n \n \n \n \n
\n
\n","import { CommonModule } from \"@angular/common\";\nimport { Component, Input, NgModule, ChangeDetectionStrategy } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\nimport { ACCOUNTS_LOCALE_STORAGE_KEY, PATIENT_WEB_LOCALE_STORAGE_KEY } from \"../core/constants\";\nimport { take } from \"rxjs/operators\";\nimport { lookupCountry, defaultCountryPerLang } from \"../core/util/lookup-default-country.util\";\nimport { formatLocale } from \"../../utils/format-locale\";\nimport { SynlabHeaderService } from \"../synlab-header/synlab-header.service\";\nimport { Config } from \"../model/config.model\";\n\n\n\n@Component({\n selector: 'lib-locale-picker',\n templateUrl: './locale-picker.component.html',\n styleUrls: ['./locale-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class LocalePickerComponent {\n\n @Input() useFlags: boolean = true;\n @Input() mode: 'row'|'dropdown' = 'row';\n @Input() config: any;\n\n availableLocale = this.translocoService.getAvailableLangs() as string[];\n activeLocale$ = this.translocoService.langChanges$;\n\n config$ = this.headerService.config$;\n\n constructor(\n private headerService: SynlabHeaderService,\n private translocoService: TranslocoService,\n private activatedRoute: ActivatedRoute,\n private router: Router\n ) { }\n\n changeLang(locale:string, config: Config) {\n\n locale = formatLocale(locale, config);\n\n this.translocoService.setActiveLang(locale);\n sessionStorage?.setItem(ACCOUNTS_LOCALE_STORAGE_KEY, locale);\n localStorage?.setItem(PATIENT_WEB_LOCALE_STORAGE_KEY, locale);\n\n this.activatedRoute.queryParams.pipe(take(1)).subscribe((p) => {\n for (const i in p) {\n if (i.toLowerCase() == 'langcode')\n this.updateQueryParam(locale)\n }\n });\n }\n\n lookupCountry(locale:string) {\n return lookupCountry(locale, defaultCountryPerLang);\n }\n\n updateQueryParam(locale) {\n this.router.navigate([],{\n relativeTo: this.activatedRoute,\n queryParams: { langCode: locale },\n queryParamsHandling: 'merge'\n });\n }\n\n public getDisplayLocale(locale: string) {\n const [part1] = locale.split('-');\n return part1;\n }\n\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TranslocoModule, MatButtonModule, MatMenuModule, MatIconModule],\n declarations: [LocalePickerComponent],\n exports: [LocalePickerComponent]\n})\nexport class LocalePickerModule {}\n","\n \n\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, NgModule, ChangeDetectionStrategy, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { Router, RouterModule } from '@angular/router';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { BehaviorSubject, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { Profile } from '../core/profile/profile.service';\nimport { LocalePickerModule } from '../locale-picker/locale-picker.component';\nimport { Link } from '../model/link.model';\nimport { MIN_DESKTOP_WIDTH } from '../core/constants';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent implements OnDestroy {\n @Input() links: Link[] = [];\n @Input() brandLogo = '/assets/img/synlab-logo.svg';\n @Input() myAccountLink:string;\n @Input() brandLogoLink: string;\n @Input() disableLinks = false;\n @Input() user?: Profile;\n\n @Output() onLogout = new EventEmitter();\n @Output() onMyAccount = new EventEmitter();\n\n isMobile$ = new BehaviorSubject(document.documentElement.clientWidth < MIN_DESKTOP_WIDTH);\n isMobileMenuOpen$ = new BehaviorSubject(false);\n destroy$: Subject = new Subject();\n\n constructor(private _router:Router) {\n _router.events\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.isMobileMenuOpen$.next(false) )\n }\n\n resize$ = fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroy$), auditTime(200))\n .subscribe(() => {\n this.isMobile$.next(document.documentElement.clientWidth < MIN_DESKTOP_WIDTH);\n });\n\n toggleMenu() {\n this.isMobileMenuOpen$.next(!this.isMobileMenuOpen$.getValue());\n }\n\n logout() {\n this.onLogout.emit()\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n public get getDisplayedLinks(): Link[] {\n return this.links.filter(v => v?.url)\n }\n\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TranslocoModule, MatButtonModule, MatMenuModule, MatIconModule, LocalePickerModule],\n declarations: [HeaderComponent],\n exports: [HeaderComponent]\n})\nexport class HeaderModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, NgModule, OnDestroy, Output } from '@angular/core';\nimport { HeaderModule } from '../header/header.component';\nimport { SynlabHeaderService } from './synlab-header.service';\nimport { takeUntil, tap } from 'rxjs/operators';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { Profile } from '../core';\n\nconst HIDDEN_LINK_ROUTES = [\n '/registration/complete_registration_ptee',\n '/registration/secure_account',\n '/registration/complete-registration',\n '/registration/complete_tara',\n];\n\n@Component({\n selector: 'syn-synlab-header',\n templateUrl: './synlab-header.component.html',\n styleUrls: ['./synlab-header.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SynlabHeaderService]\n})\nexport class SynlabHeaderComponent implements OnDestroy {\n links$ = of([]);\n user$: Observable = of(null);\n\n myAccountLink$ = this.headerService.myAccountLink$;\n brandLogoLink$ = this.headerService.brandLogoLink$;\n\n destory$ = new ReplaySubject(1);\n\n @Output() onLogout = new EventEmitter();\n @Input() disableLinks:boolean = false;\n\n constructor(\n private headerService: SynlabHeaderService,\n private route: Router) {\n\n this.route.events.pipe(\n takeUntil(this.destory$)\n ).subscribe(e => {\n if (e instanceof NavigationEnd && !e.url.includes('renewtoken') ) {\n console.log(e.url)\n if(HIDDEN_LINK_ROUTES.some(u => e.url.includes(u))) {\n this.links$ = of([]);\n this.user$ = of(null);\n }\n else {\n this.links$ = this.headerService.links$;\n this.user$ = this.headerService.user$;\n }\n }\n })\n }\n\n logout() {\n this.onLogout.emit();\n }\n\n ngOnDestroy(): void {\n this.destory$.next(true);\n this.destory$.complete();\n }\n\n}\n@NgModule({\n imports: [CommonModule, HeaderModule],\n declarations: [SynlabHeaderComponent],\n exports: [SynlabHeaderComponent]\n})\nexport class SynlabHeaderModule {}\n","\n\n\n","export function addTargetBlankToAnchors(htmlString: string) {\n return htmlString.replace(/ {}\n\n/** Claims model */\nexport interface Claim {\n claimType: string;\n claimValue: string;\n}\n/** Converts `object` to list of Claims (`Claim[]`). Assumes object is Record*/\nexport function objectToClaims>(obj: T): Claim[] {\n return Object.keys(obj).map((key) => ({\n claimType: key,\n claimValue: [\"number\", \"boolean\"].some((t) => typeof obj[key] === t) ? obj[key].toString() : obj[key],\n }));\n}\n\n/** Get a claim value with claimType provided\n * @param claimType `claimType` value to find in `claims`\n * @param claims list of claims\n */\nexport function getClaimValueWithType(claimType: string, claims: Claim[]): string {\n if (claimType && Array.isArray(claims)) {\n const claim = claims.find((c) => c.claimType === claimType);\n if (claim) {\n return claim.claimValue;\n }\n }\n return undefined;\n}\n/** find claim with exact match of type and value.\n * can be used for multiple types\n */\nexport function hasClaimWithTypeAndValue(claimType: string, claimValue: string, claim: Claim[]): boolean {\n return claim?.some((c) => c.claimType === claimType && c.claimValue === claimValue);\n}\n/** function to check if claim value of claim type is true */\nexport const claimIsTrue = (claimType: string, claims: Claim[]): boolean =>\n CheckIfTrueString(claims.find((c) => c.claimType === claimType)?.claimValue);\n\n/**\n * Update claims with new values that has been updated.\n * add nonexisting claims at the end of the list.\n * @param oldClaims old claims to be updated\n * @param newClaims new claims with updates\n */\nexport function updateClaims(oldClaims: Claim[], newClaims: Claim[]): Claim[] {\n let resultingClaims = oldClaims.slice();\n const indexlist = resultingClaims.map((x) => x.claimType);\n newClaims.forEach((x) => {\n let i = indexlist.indexOf(x.claimType);\n if (i > -1) {\n resultingClaims[i] = x;\n } else {\n resultingClaims.push(x);\n }\n });\n return resultingClaims;\n}\nexport function removeNullClaims(claims: Account): Account {\n return claims?.filter((c) => c.claimValue !== null && c.claimValue !== undefined);\n}\n\nexport function removeClaimsForPtEe(claims: Account): Account {\n return claims?.filter((c) => c.claimType !== \"modified_by_name\");\n}\n\n/** Checks if object is actually a `Claim`\n * @param obj object to check\n */\nexport function isClaim(obj: any): obj is Claim {\n return obj && obj.claimType && typeof obj.claimType === \"string\";\n}\n\n/**\n * get whole name from claims\n * @param claims list of claims\n */\nexport function getNameFromClaims(claims: Account) {\n const fname = (getClaimValueWithType(firstnameClaimType, claims) || \"\").trim(),\n lname = (getClaimValueWithType(lastnameClaimType, claims) || \"\").trim();\n return `${fname ? fname + \" \" : \"\"}${lname ? lname : \"\"}`;\n}\n\nexport function CheckIfTrueString(str: string) {\n return typeof str === \"string\" && str.trim().toLowerCase() === claimValues.TRUE;\n}\n\nexport function getPetName(claims: Account) {\n const name = (getClaimValueWithType(firstnameClaimType, claims) || \"\").trim();\n return `${name ? name : \"\"}`;\n}\n\nexport function getPetCategory(claims: Account) {\n return getClaimValueWithType(petCategoryClaimType, claims) || \"other\";\n}\n\nexport function getPetCategoryName(claims: Account) {\n let petCategoryName = \"\";\n const category = getPetCategory(claims);\n\n if (category == \"other\") {\n petCategoryName = (getClaimValueWithType(petCategoryNameClaimType, claims) || \"\").trim();\n }\n return petCategoryName ? petCategoryName : category;\n}\n\nexport function getWardVerifiedClaimValue(claims: Account) {\n let verified = (getClaimValueWithType(wardVerifiedClaimType, claims) || \"\").trim();\n\n return verified.toLowerCase() == claimValues.TRUE;\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../api/api.service\";\nimport { BehaviorSubject, EMPTY, firstValueFrom, Observable, of, pipe, throwError } from \"rxjs\";\nimport { Account, activeClaimType, Claim, getClaimValueWithType, updateClaims } from \"./accounts.model\";\nimport { tap, map, withLatestFrom, filter, flatMap, take, delay } from \"rxjs/operators\";\nimport { GetByEmailResponse, UserAccountInfo } from \"./user.model\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport { Consents } from \"src/app/@store/reducers/profile.reducer\";\nimport { Router } from \"@angular/router\";\nimport { ConfigService } from \"../config/config.service\";\nimport { claimValues, whiteLabelNames } from \"src/app/appsettings\";\nimport { GetUserPropertiesResponseInterface } from \"src/app/interfaces/get-user-properties-response.interface\";\n\nexport interface CreateUserResult {\n active: string;\n isNewUser: boolean;\n synlabId: string;\n userId: string;\n}\n\n/** claim value to check if user is using external authentication. */\nexport const externalProviderValue = \"external\";\n/** Email domain name for SYNLAB accounts.\n * Accounts with such email domain can use SYNLAB active directory authentication\n */\nexport const synlabDomain = \"synlab.com\";\n\n/** Constant value as key to find claim value for `locale`. */\nexport const countryClaimType = \"country\";\n/** Constant value as key to find claim value for `locale`. */\nexport const localeClaimType = \"locale\";\n/** Constant value as key to find claim value for `authentication_provider`. */\nexport const authProviderClaimType = \"authentication_provider\";\n/** Constant value as key to find claim value for `email`. */\nexport const emailClaimType = \"email\";\nexport const allowedDuplicateClaimTypes = [\"user_type\"];\n\nconst removeDuplicateClaims = pipe(\n map((claims: Claim[]) => {\n const claimsMap = new Map();\n claims\n .filter((c) => allowedDuplicateClaimTypes.indexOf(c.claimType) === -1)\n .forEach((c) => claimsMap.set(c.claimType, c.claimValue));\n let distinctClaims: Claim[] = [];\n claimsMap.forEach((v, k) => distinctClaims.push({ claimType: k, claimValue: v }));\n const duplicableClaims = claims.filter((c) => allowedDuplicateClaimTypes.indexOf(c.claimType) > -1);\n distinctClaims.push(...duplicableClaims);\n return distinctClaims;\n })\n);\n/** Service for api requests to manage account. */\n@Injectable({\n providedIn: \"root\",\n})\nexport class AccountsService {\n private readonly updateConsentEndpoint = \"/api/consent/user\";\n\n /** Store for latest fetched account information */\n private latestAccountInfo = new BehaviorSubject(undefined);\n /** Public Observable to get latest user account info. */\n public latestAccountInfo$ = this.latestAccountInfo.asObservable();\n public latestAccountInfoObj$ = new BehaviorSubject(undefined);\n /** Observable to get latest user account's locale code. */\n public latestAccountLocaleCode$ = this.latestAccountInfo$.pipe(\n map((claims) => getClaimValueWithType(localeClaimType, claims))\n );\n /** Observable to get latest user account's authentication provider. */\n public latestAccountAuthProvider$ = this.latestAccountInfo$.pipe(\n map((claims) => getClaimValueWithType(authProviderClaimType, claims))\n );\n public country$ = this.latestAccountInfo$.pipe(map((claims) => getClaimValueWithType(countryClaimType, claims)));\n /** Observable that indicates if current account is from SYNLAB domain. */\n public isSynlabAccount$ = this.latestAccountInfo$.pipe(\n filter((x) => !!x),\n map((claims) => getClaimValueWithType(emailClaimType, claims)),\n map(this.isSynlabAccount)\n );\n /** Observable to get if user is deactivated.\n * if there is no data, should not mark as deactivated in case of failed fetch */\n public deactivated$ = this.latestAccountInfo$.pipe(\n map((claims) => getClaimValueWithType(activeClaimType, claims)),\n map((active) => typeof active === \"string\" && active.trim().toLowerCase() === \"false\")\n );\n constructor(\n private api: ApiService,\n private router: Router,\n private config: ConfigService\n ) {}\n\n /** Get user account information\n * @param id User's id\n * * stores latest fetched user info into `latestAccountInfo`\n */\n public get(id: string): Observable {\n return this.api.get(`/manage/accounts/${id}`).pipe(\n removeDuplicateClaims,\n tap((claims: any[]) => {\n this.checkFinlandRedirectToCompleteProfile(claims);\n\n this.latestAccountInfo.next(claims);\n this.latestAccountInfoObj$.next(\n claims.reduce((acc, val) => {\n acc[val.claimType] = val.claimValue;\n return acc;\n }, {})\n );\n })\n );\n }\n\n /** FI: navigate to complete profile when user has pending account registration */\n private checkFinlandRedirectToCompleteProfile(claims: Claim[]): void {\n const isFinland: boolean = this.config._envConfig?.WhiteLabelName?.toLowerCase() === whiteLabelNames.FINLAND;\n if (!isFinland) return;\n\n const fiCompleteProfileClaim: string = claims\n .find((claim) => claim.claimType === \"fi_complete_profile\")\n ?.claimValue?.toLowerCase();\n const hasPendingCompleteProfile: boolean = fiCompleteProfileClaim === claimValues.FALSE;\n if (hasPendingCompleteProfile) {\n this.router.navigate([\"/registration\", \"complete-registration\"]);\n }\n }\n\n public getConsent(synlabId?: string, categoryName?: string): Observable {\n if (synlabId) {\n return this.api.get(`/api/consent/category/${categoryName}/user/${synlabId}`);\n }\n return this.api.get(`/api/consent/category/${categoryName}`);\n }\n\n public checkIfMarketingConsentIsChecked(emailAddress: string): Observable {\n return this.api.get(`/manage/accounts/fi/email/check?email=${emailAddress}`);\n }\n\n public updateConsent(cons, synlabId) {\n if (!cons.length) {\n return of(true);\n }\n return this.api.put(`${this.updateConsentEndpoint}/${synlabId}`, cons);\n }\n\n /** Get user by providing synlabId\n * @param synlabId User's SynlabId\n */\n public getBySynlabId(synlabId: string): Observable {\n return this.api.get<{ users: UserAccountInfo[] }>(\"/manage/accounts\", { synlabId }).pipe(\n flatMap((res) => {\n if (!res || res.users.length !== 1) {\n return throwError(`Could not find user with synlabId: ${synlabId}`);\n } else {\n return this.get(res.users[0].id);\n }\n })\n );\n }\n\n /** Create user by providing claims of the user\n * @param body claims of the user\n */\n public post(body: Account) {\n return this.api.post(`/manage/accounts`, body);\n }\n\n /** Update user account information\n * @param body User updated info\n * * stores latest sent user info into `latestAccountInfo`\n */\n public put(body: Account, isEE: boolean = false): Observable {\n const url = isEE ? '/manage/accounts/v3' : '/manage/accounts';\n return this.api.put(url, body).pipe(\n withLatestFrom(this.latestAccountInfo$),\n tap(([, latest = []]: [any, Account]) => this.latestAccountInfo.next(updateClaims(latest, body)))\n );\n }\n\n /** Update account that is not current user's own\n * @param body User updated info\n */\n public wardPut(body: Account, userId: string): Observable {\n return this.api.put(`/manage/accounts/${userId}`, body);\n }\n\n /**Will send an email to confirm the deletion */\n public sendDeleteEmail(userId) {\n return this.api.post(`/v2/manage/accounts/request-delete-user/${userId}`, undefined, { responseType: \"text\" });\n }\n\n /**Confirmation of delete */\n public confirmDelete(body) {\n return this.api.put(`/v2/manage/accounts/confirm-delete-user`, body, { responseType: \"text\" });\n }\n\n public getDeleteValidity(params): Observable {\n return this.api.get(`/v2/manage/accounts/verify-delete-user`, params);\n }\n\n public fetchPendingBooking(synlabId) {\n return this.api.get(`/api/booking/checkhaspending/${synlabId}`);\n }\n\n /**\n * Check if email is a SYNLAB account. Checks if domain is same as `synlabDomain`\n * @param email string representing email\n */\n isSynlabAccount(email: string = \"\") {\n return email.trim().toLocaleLowerCase().endsWith(`@${synlabDomain}`);\n }\n\n /** fetch user claims if not fetched yet */\n public fetchInitialUserClaims(userId: string) {\n this.latestAccountInfo$\n .pipe(\n take(1),\n flatMap((info) => {\n if (info === undefined) {\n return this.get(userId);\n } else {\n return EMPTY;\n }\n })\n )\n .subscribe();\n }\n\n public getByEmail(email: string) {\n return this.api.get(`/manage/accounts/search/${email}`);\n }\n /** resend activation link to user with `userId` provided */\n public resendActivationEmail(userId: string) {\n return this.api.put(`/manage/accounts/resend_invitation/${userId}`);\n }\n\n public async getUserProperties(userId: string) {\n const request = this.api.get(`/manage/accounts/getuserproperties/${userId}`);\n const response = await firstValueFrom(request);\n return {\n ...response,\n PasswordIsSet: response.PasswordIsSet?.toLowerCase() === 'true',\n Active: response.Active?.toLowerCase() === 'true'\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../api/api.service\";\n\nexport interface AgreementFile {\n id: number;\n locale: string;\n htmlFile: string;\n}\nexport enum AgreementType {\n TermsAndCondition = 0,\n TermsAndConditionFIProfessionals = \"Terms-and-conditions-professionals\",\n PrivacyPolicyFIProfessionals = \"Privacy-policy-professionals\",\n PrivacyPolicy = 1,\n TermsOfService = 2,\n ADDITIONAL_INFO_COLLECTED_DATA = 8,\n}\nexport interface Agreement {\n id: number;\n agreementType: AgreementType;\n definition: string;\n createdDate: string;\n isPublished: boolean;\n datePublished: string;\n files: AgreementFile[];\n}\nexport interface Locale {\n language: string;\n cultureCode: string;\n order?: number;\n}\nexport interface AcceptedAgreement {\n agreement: Agreement;\n dateAgreed: string;\n}\n@Injectable({\n providedIn: \"root\",\n})\nexport class AgreementService {\n constructor(private api: ApiService) {}\n\n getUserAgreements(userId: string, agreementType: AgreementType) {\n return this.api.get(`/manage/agreement/user/${userId}/${agreementType}`);\n }\n getPublishedAgreement(agreementType: AgreementType) {\n return this.api.get(`/manage/agreement/published/${agreementType}`);\n }\n\n public getPublishedByUniqueId(uniqueId: any, locale: string) {\n return this.api.get(`/manage/agreement/GetPublishedByUniqueId/${uniqueId}/${locale}`);\n }\n\n getPublishedAgreementByLocale(agreementType: AgreementType, locale: string) {\n return this.api.get(`/manage/agreement/published/${agreementType}/${locale}`);\n }\n getAgreementFile(id: number, locale: string) {\n return this.api.get(`/manage/agreement/${id}/${locale}`);\n }\n getLocales() {\n return this.api.get(\"/manage/locale\");\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { TranslocoService } from \"@ngneat/transloco\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ApiService {\n constructor(\n private config: ConfigService,\n private http: HttpClient,\n private transloco: TranslocoService\n ) {}\n\n get(endpoint: string, params?: any, options: Object = {}): Observable {\n return this.http.get(`${this.config.baseAuthUrl}${endpoint}`, {\n params: params ? params : {},\n headers: this.headers(),\n });\n }\n\n getProfile(endpoint: string, params?: any): Observable {\n return this.http.get(`${this.config.baseProfileApiUrl}${endpoint}`, {\n params: params ? params : {},\n });\n }\n getHttp(endpoint: string, params?: any): Observable {\n return this.http.get(`${endpoint}`, {\n params: params ? params : {},\n });\n }\n post(endpoint: string, body: Object = {}, options: Object = {}): Observable {\n const opts = {\n ...options,\n headers: this.headers(),\n };\n return this.http.post(`${this.config.baseAuthUrl}${endpoint}`, body, opts);\n }\n\n postAccounts(endpoint: string, body: Object = {}, options: Object = {}): Observable {\n return this.http.post(`${this.config.baseAccountUrl}${endpoint}`, body, options);\n }\n\n put(endpoint: string, body: Object = {}, options: Object = {}): Observable {\n const opts = {\n ...options,\n headers: this.headers(),\n };\n return this.http.put(`${this.config.baseAuthUrl}${endpoint}`, body, opts);\n }\n\n delete(endpoint: string): Observable {\n return this.http.delete(`${this.config.baseAuthUrl}${endpoint}`);\n }\n\n public formatAcceptLanguage(activeLang: string): string {\n let language = activeLang;\n switch (activeLang) {\n case \"hu\":\n language = \"hu-HU\";\n break;\n case \"et\":\n language = \"et-EE\";\n break;\n case \"ru\":\n language = \"ru-RU\";\n break;\n case \"en\":\n case \"en-us\":\n case \"en-gb\":\n language = \"en-GB\";\n break;\n }\n return language;\n }\n\n public headers() {\n let activeLang = this.transloco.getActiveLang().toLowerCase();\n return {\n \"accept-language\": this.formatAcceptLanguage(activeLang),\n };\n }\n}\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","// src/utils/Logger.ts\nvar nopLogger = {\n debug: () => void 0,\n info: () => void 0,\n warn: () => void 0,\n error: () => void 0\n};\nvar level;\nvar logger;\nvar Log = /* @__PURE__ */ ((Log2) => {\n Log2[Log2[\"NONE\"] = 0] = \"NONE\";\n Log2[Log2[\"ERROR\"] = 1] = \"ERROR\";\n Log2[Log2[\"WARN\"] = 2] = \"WARN\";\n Log2[Log2[\"INFO\"] = 3] = \"INFO\";\n Log2[Log2[\"DEBUG\"] = 4] = \"DEBUG\";\n return Log2;\n})(Log || {});\n((Log2) => {\n function reset() {\n level = 3 /* INFO */;\n logger = nopLogger;\n }\n Log2.reset = reset;\n function setLevel(value) {\n if (!(0 /* NONE */ <= value && value <= 4 /* DEBUG */)) {\n throw new Error(\"Invalid log level\");\n }\n level = value;\n }\n Log2.setLevel = setLevel;\n function setLogger(value) {\n logger = value;\n }\n Log2.setLogger = setLogger;\n})(Log || (Log = {}));\nvar Logger = class _Logger {\n constructor(_name) {\n this._name = _name;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n debug(...args) {\n if (level >= 4 /* DEBUG */) {\n logger.debug(_Logger._format(this._name, this._method), ...args);\n }\n }\n info(...args) {\n if (level >= 3 /* INFO */) {\n logger.info(_Logger._format(this._name, this._method), ...args);\n }\n }\n warn(...args) {\n if (level >= 2 /* WARN */) {\n logger.warn(_Logger._format(this._name, this._method), ...args);\n }\n }\n error(...args) {\n if (level >= 1 /* ERROR */) {\n logger.error(_Logger._format(this._name, this._method), ...args);\n }\n }\n /* eslint-enable @typescript-eslint/no-unsafe-enum-comparison */\n throw(err) {\n this.error(err);\n throw err;\n }\n create(method) {\n const methodLogger = Object.create(this);\n methodLogger._method = method;\n methodLogger.debug(\"begin\");\n return methodLogger;\n }\n static createStatic(name, staticMethod) {\n const staticLogger = new _Logger(`${name}.${staticMethod}`);\n staticLogger.debug(\"begin\");\n return staticLogger;\n }\n static _format(name, method) {\n const prefix = `[${name}]`;\n return method ? `${prefix} ${method}:` : prefix;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n // helpers for static class methods\n static debug(name, ...args) {\n if (level >= 4 /* DEBUG */) {\n logger.debug(_Logger._format(name), ...args);\n }\n }\n static info(name, ...args) {\n if (level >= 3 /* INFO */) {\n logger.info(_Logger._format(name), ...args);\n }\n }\n static warn(name, ...args) {\n if (level >= 2 /* WARN */) {\n logger.warn(_Logger._format(name), ...args);\n }\n }\n static error(name, ...args) {\n if (level >= 1 /* ERROR */) {\n logger.error(_Logger._format(name), ...args);\n }\n }\n /* eslint-enable @typescript-eslint/no-unsafe-enum-comparison */\n};\nLog.reset();\n\n// src/utils/JwtUtils.ts\nimport { jwtDecode } from \"jwt-decode\";\nvar JwtUtils = class {\n // IMPORTANT: doesn't validate the token\n static decode(token) {\n try {\n return jwtDecode(token);\n } catch (err) {\n Logger.error(\"JwtUtils.decode\", err);\n throw err;\n }\n }\n static async generateSignedJwt(header, payload, privateKey) {\n const encodedHeader = CryptoUtils.encodeBase64Url(new TextEncoder().encode(JSON.stringify(header)));\n const encodedPayload = CryptoUtils.encodeBase64Url(new TextEncoder().encode(JSON.stringify(payload)));\n const encodedToken = `${encodedHeader}.${encodedPayload}`;\n const signature = await window.crypto.subtle.sign(\n {\n name: \"ECDSA\",\n hash: { name: \"SHA-256\" }\n },\n privateKey,\n new TextEncoder().encode(encodedToken)\n );\n const encodedSignature = CryptoUtils.encodeBase64Url(new Uint8Array(signature));\n return `${encodedToken}.${encodedSignature}`;\n }\n};\n\n// src/utils/CryptoUtils.ts\nvar UUID_V4_TEMPLATE = \"10000000-1000-4000-8000-100000000000\";\nvar toBase64 = (val) => btoa([...new Uint8Array(val)].map((chr) => String.fromCharCode(chr)).join(\"\"));\nvar _CryptoUtils = class _CryptoUtils {\n static _randomWord() {\n const arr = new Uint32Array(1);\n crypto.getRandomValues(arr);\n return arr[0];\n }\n /**\n * Generates RFC4122 version 4 guid\n */\n static generateUUIDv4() {\n const uuid = UUID_V4_TEMPLATE.replace(\n /[018]/g,\n (c) => (+c ^ _CryptoUtils._randomWord() & 15 >> +c / 4).toString(16)\n );\n return uuid.replace(/-/g, \"\");\n }\n /**\n * PKCE: Generate a code verifier\n */\n static generateCodeVerifier() {\n return _CryptoUtils.generateUUIDv4() + _CryptoUtils.generateUUIDv4() + _CryptoUtils.generateUUIDv4();\n }\n /**\n * PKCE: Generate a code challenge\n */\n static async generateCodeChallenge(code_verifier) {\n if (!crypto.subtle) {\n throw new Error(\"Crypto.subtle is available only in secure contexts (HTTPS).\");\n }\n try {\n const encoder = new TextEncoder();\n const data = encoder.encode(code_verifier);\n const hashed = await crypto.subtle.digest(\"SHA-256\", data);\n return toBase64(hashed).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n } catch (err) {\n Logger.error(\"CryptoUtils.generateCodeChallenge\", err);\n throw err;\n }\n }\n /**\n * Generates a base64-encoded string for a basic auth header\n */\n static generateBasicAuth(client_id, client_secret) {\n const encoder = new TextEncoder();\n const data = encoder.encode([client_id, client_secret].join(\":\"));\n return toBase64(data);\n }\n /**\n * Generates a hash of a string using a given algorithm\n * @param alg\n * @param message\n */\n static async hash(alg, message) {\n const msgUint8 = new TextEncoder().encode(message);\n const hashBuffer = await crypto.subtle.digest(alg, msgUint8);\n return new Uint8Array(hashBuffer);\n }\n /**\n * Generates a rfc7638 compliant jwk thumbprint\n * @param jwk\n */\n static async customCalculateJwkThumbprint(jwk) {\n let jsonObject;\n switch (jwk.kty) {\n case \"RSA\":\n jsonObject = {\n \"e\": jwk.e,\n \"kty\": jwk.kty,\n \"n\": jwk.n\n };\n break;\n case \"EC\":\n jsonObject = {\n \"crv\": jwk.crv,\n \"kty\": jwk.kty,\n \"x\": jwk.x,\n \"y\": jwk.y\n };\n break;\n case \"OKP\":\n jsonObject = {\n \"crv\": jwk.crv,\n \"kty\": jwk.kty,\n \"x\": jwk.x\n };\n break;\n case \"oct\":\n jsonObject = {\n \"crv\": jwk.k,\n \"kty\": jwk.kty\n };\n break;\n default:\n throw new Error(\"Unknown jwk type\");\n }\n const utf8encodedAndHashed = await _CryptoUtils.hash(\"SHA-256\", JSON.stringify(jsonObject));\n return _CryptoUtils.encodeBase64Url(utf8encodedAndHashed);\n }\n static async generateDPoPProof({\n url,\n accessToken,\n httpMethod,\n keyPair,\n nonce\n }) {\n let hashedToken;\n let encodedHash;\n const payload = {\n \"jti\": window.crypto.randomUUID(),\n \"htm\": httpMethod != null ? httpMethod : \"GET\",\n \"htu\": url,\n \"iat\": Math.floor(Date.now() / 1e3)\n };\n if (accessToken) {\n hashedToken = await _CryptoUtils.hash(\"SHA-256\", accessToken);\n encodedHash = _CryptoUtils.encodeBase64Url(hashedToken);\n payload.ath = encodedHash;\n }\n if (nonce) {\n payload.nonce = nonce;\n }\n try {\n const publicJwk = await crypto.subtle.exportKey(\"jwk\", keyPair.publicKey);\n const header = {\n \"alg\": \"ES256\",\n \"typ\": \"dpop+jwt\",\n \"jwk\": {\n \"crv\": publicJwk.crv,\n \"kty\": publicJwk.kty,\n \"x\": publicJwk.x,\n \"y\": publicJwk.y\n }\n };\n return await JwtUtils.generateSignedJwt(header, payload, keyPair.privateKey);\n } catch (err) {\n if (err instanceof TypeError) {\n throw new Error(`Error exporting dpop public key: ${err.message}`);\n } else {\n throw err;\n }\n }\n }\n static async generateDPoPJkt(keyPair) {\n try {\n const publicJwk = await crypto.subtle.exportKey(\"jwk\", keyPair.publicKey);\n return await _CryptoUtils.customCalculateJwkThumbprint(publicJwk);\n } catch (err) {\n if (err instanceof TypeError) {\n throw new Error(`Could not retrieve dpop keys from storage: ${err.message}`);\n } else {\n throw err;\n }\n }\n }\n static async generateDPoPKeys() {\n return await window.crypto.subtle.generateKey(\n {\n name: \"ECDSA\",\n namedCurve: \"P-256\"\n },\n false,\n [\"sign\", \"verify\"]\n );\n }\n};\n/**\n * Generates a base64url encoded string\n */\n_CryptoUtils.encodeBase64Url = (input) => {\n return toBase64(input).replace(/=/g, \"\").replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n};\nvar CryptoUtils = _CryptoUtils;\n\n// src/utils/Event.ts\nvar Event = class {\n constructor(_name) {\n this._name = _name;\n this._callbacks = [];\n this._logger = new Logger(`Event('${this._name}')`);\n }\n addHandler(cb) {\n this._callbacks.push(cb);\n return () => this.removeHandler(cb);\n }\n removeHandler(cb) {\n const idx = this._callbacks.lastIndexOf(cb);\n if (idx >= 0) {\n this._callbacks.splice(idx, 1);\n }\n }\n async raise(...ev) {\n this._logger.debug(\"raise:\", ...ev);\n for (const cb of this._callbacks) {\n await cb(...ev);\n }\n }\n};\n\n// src/utils/PopupUtils.ts\nvar PopupUtils = class {\n /**\n * Populates a map of window features with a placement centered in front of\n * the current window. If no explicit width is given, a default value is\n * binned into [800, 720, 600, 480, 360] based on the current window's width.\n */\n static center({ ...features }) {\n var _a, _b, _c;\n if (features.width == null)\n features.width = (_a = [800, 720, 600, 480].find((width) => width <= window.outerWidth / 1.618)) != null ? _a : 360;\n (_b = features.left) != null ? _b : features.left = Math.max(0, Math.round(window.screenX + (window.outerWidth - features.width) / 2));\n if (features.height != null)\n (_c = features.top) != null ? _c : features.top = Math.max(0, Math.round(window.screenY + (window.outerHeight - features.height) / 2));\n return features;\n }\n static serialize(features) {\n return Object.entries(features).filter(([, value]) => value != null).map(([key, value]) => `${key}=${typeof value !== \"boolean\" ? value : value ? \"yes\" : \"no\"}`).join(\",\");\n }\n};\n\n// src/utils/Timer.ts\nvar Timer = class _Timer extends Event {\n constructor() {\n super(...arguments);\n this._logger = new Logger(`Timer('${this._name}')`);\n this._timerHandle = null;\n this._expiration = 0;\n this._callback = () => {\n const diff = this._expiration - _Timer.getEpochTime();\n this._logger.debug(\"timer completes in\", diff);\n if (this._expiration <= _Timer.getEpochTime()) {\n this.cancel();\n void super.raise();\n }\n };\n }\n // get the time\n static getEpochTime() {\n return Math.floor(Date.now() / 1e3);\n }\n init(durationInSeconds) {\n const logger2 = this._logger.create(\"init\");\n durationInSeconds = Math.max(Math.floor(durationInSeconds), 1);\n const expiration = _Timer.getEpochTime() + durationInSeconds;\n if (this.expiration === expiration && this._timerHandle) {\n logger2.debug(\"skipping since already initialized for expiration at\", this.expiration);\n return;\n }\n this.cancel();\n logger2.debug(\"using duration\", durationInSeconds);\n this._expiration = expiration;\n const timerDurationInSeconds = Math.min(durationInSeconds, 5);\n this._timerHandle = setInterval(this._callback, timerDurationInSeconds * 1e3);\n }\n get expiration() {\n return this._expiration;\n }\n cancel() {\n this._logger.create(\"cancel\");\n if (this._timerHandle) {\n clearInterval(this._timerHandle);\n this._timerHandle = null;\n }\n }\n};\n\n// src/utils/UrlUtils.ts\nvar UrlUtils = class {\n static readParams(url, responseMode = \"query\") {\n if (!url) throw new TypeError(\"Invalid URL\");\n const parsedUrl = new URL(url, \"http://127.0.0.1\");\n const params = parsedUrl[responseMode === \"fragment\" ? \"hash\" : \"search\"];\n return new URLSearchParams(params.slice(1));\n }\n};\nvar URL_STATE_DELIMITER = \";\";\n\n// src/errors/ErrorResponse.ts\nvar ErrorResponse = class extends Error {\n constructor(args, form) {\n var _a, _b, _c;\n super(args.error_description || args.error || \"\");\n this.form = form;\n /** Marker to detect class: \"ErrorResponse\" */\n this.name = \"ErrorResponse\";\n if (!args.error) {\n Logger.error(\"ErrorResponse\", \"No error passed\");\n throw new Error(\"No error passed\");\n }\n this.error = args.error;\n this.error_description = (_a = args.error_description) != null ? _a : null;\n this.error_uri = (_b = args.error_uri) != null ? _b : null;\n this.state = args.userState;\n this.session_state = (_c = args.session_state) != null ? _c : null;\n this.url_state = args.url_state;\n }\n};\n\n// src/errors/ErrorTimeout.ts\nvar ErrorTimeout = class extends Error {\n constructor(message) {\n super(message);\n /** Marker to detect class: \"ErrorTimeout\" */\n this.name = \"ErrorTimeout\";\n }\n};\n\n// src/AccessTokenEvents.ts\nvar AccessTokenEvents = class {\n constructor(args) {\n this._logger = new Logger(\"AccessTokenEvents\");\n this._expiringTimer = new Timer(\"Access token expiring\");\n this._expiredTimer = new Timer(\"Access token expired\");\n this._expiringNotificationTimeInSeconds = args.expiringNotificationTimeInSeconds;\n }\n load(container) {\n const logger2 = this._logger.create(\"load\");\n if (container.access_token && container.expires_in !== void 0) {\n const duration = container.expires_in;\n logger2.debug(\"access token present, remaining duration:\", duration);\n if (duration > 0) {\n let expiring = duration - this._expiringNotificationTimeInSeconds;\n if (expiring <= 0) {\n expiring = 1;\n }\n logger2.debug(\"registering expiring timer, raising in\", expiring, \"seconds\");\n this._expiringTimer.init(expiring);\n } else {\n logger2.debug(\"canceling existing expiring timer because we're past expiration.\");\n this._expiringTimer.cancel();\n }\n const expired = duration + 1;\n logger2.debug(\"registering expired timer, raising in\", expired, \"seconds\");\n this._expiredTimer.init(expired);\n } else {\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n }\n unload() {\n this._logger.debug(\"unload: canceling existing access token timers\");\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n /**\n * Add callback: Raised prior to the access token expiring.\n */\n addAccessTokenExpiring(cb) {\n return this._expiringTimer.addHandler(cb);\n }\n /**\n * Remove callback: Raised prior to the access token expiring.\n */\n removeAccessTokenExpiring(cb) {\n this._expiringTimer.removeHandler(cb);\n }\n /**\n * Add callback: Raised after the access token has expired.\n */\n addAccessTokenExpired(cb) {\n return this._expiredTimer.addHandler(cb);\n }\n /**\n * Remove callback: Raised after the access token has expired.\n */\n removeAccessTokenExpired(cb) {\n this._expiredTimer.removeHandler(cb);\n }\n};\n\n// src/CheckSessionIFrame.ts\nvar CheckSessionIFrame = class {\n constructor(_callback, _client_id, url, _intervalInSeconds, _stopOnError) {\n this._callback = _callback;\n this._client_id = _client_id;\n this._intervalInSeconds = _intervalInSeconds;\n this._stopOnError = _stopOnError;\n this._logger = new Logger(\"CheckSessionIFrame\");\n this._timer = null;\n this._session_state = null;\n this._message = (e) => {\n if (e.origin === this._frame_origin && e.source === this._frame.contentWindow) {\n if (e.data === \"error\") {\n this._logger.error(\"error message from check session op iframe\");\n if (this._stopOnError) {\n this.stop();\n }\n } else if (e.data === \"changed\") {\n this._logger.debug(\"changed message from check session op iframe\");\n this.stop();\n void this._callback();\n } else {\n this._logger.debug(e.data + \" message from check session op iframe\");\n }\n }\n };\n const parsedUrl = new URL(url);\n this._frame_origin = parsedUrl.origin;\n this._frame = window.document.createElement(\"iframe\");\n this._frame.style.visibility = \"hidden\";\n this._frame.style.position = \"fixed\";\n this._frame.style.left = \"-1000px\";\n this._frame.style.top = \"0\";\n this._frame.width = \"0\";\n this._frame.height = \"0\";\n this._frame.src = parsedUrl.href;\n }\n load() {\n return new Promise((resolve) => {\n this._frame.onload = () => {\n resolve();\n };\n window.document.body.appendChild(this._frame);\n window.addEventListener(\"message\", this._message, false);\n });\n }\n start(session_state) {\n if (this._session_state === session_state) {\n return;\n }\n this._logger.create(\"start\");\n this.stop();\n this._session_state = session_state;\n const send = () => {\n if (!this._frame.contentWindow || !this._session_state) {\n return;\n }\n this._frame.contentWindow.postMessage(this._client_id + \" \" + this._session_state, this._frame_origin);\n };\n send();\n this._timer = setInterval(send, this._intervalInSeconds * 1e3);\n }\n stop() {\n this._logger.create(\"stop\");\n this._session_state = null;\n if (this._timer) {\n clearInterval(this._timer);\n this._timer = null;\n }\n }\n};\n\n// src/InMemoryWebStorage.ts\nvar InMemoryWebStorage = class {\n constructor() {\n this._logger = new Logger(\"InMemoryWebStorage\");\n this._data = {};\n }\n clear() {\n this._logger.create(\"clear\");\n this._data = {};\n }\n getItem(key) {\n this._logger.create(`getItem('${key}')`);\n return this._data[key];\n }\n setItem(key, value) {\n this._logger.create(`setItem('${key}')`);\n this._data[key] = value;\n }\n removeItem(key) {\n this._logger.create(`removeItem('${key}')`);\n delete this._data[key];\n }\n get length() {\n return Object.getOwnPropertyNames(this._data).length;\n }\n key(index) {\n return Object.getOwnPropertyNames(this._data)[index];\n }\n};\n\n// src/errors/ErrorDPoPNonce.ts\nvar ErrorDPoPNonce = class extends Error {\n constructor(nonce, message) {\n super(message);\n /** Marker to detect class: \"ErrorDPoPNonce\" */\n this.name = \"ErrorDPoPNonce\";\n this.nonce = nonce;\n }\n};\n\n// src/JsonService.ts\nvar JsonService = class {\n constructor(additionalContentTypes = [], _jwtHandler = null, _extraHeaders = {}) {\n this._jwtHandler = _jwtHandler;\n this._extraHeaders = _extraHeaders;\n this._logger = new Logger(\"JsonService\");\n this._contentTypes = [];\n this._contentTypes.push(...additionalContentTypes, \"application/json\");\n if (_jwtHandler) {\n this._contentTypes.push(\"application/jwt\");\n }\n }\n async fetchWithTimeout(input, init = {}) {\n const { timeoutInSeconds, ...initFetch } = init;\n if (!timeoutInSeconds) {\n return await fetch(input, initFetch);\n }\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeoutInSeconds * 1e3);\n try {\n const response = await fetch(input, {\n ...init,\n signal: controller.signal\n });\n return response;\n } catch (err) {\n if (err instanceof DOMException && err.name === \"AbortError\") {\n throw new ErrorTimeout(\"Network timed out\");\n }\n throw err;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n async getJson(url, {\n token,\n credentials,\n timeoutInSeconds\n } = {}) {\n const logger2 = this._logger.create(\"getJson\");\n const headers = {\n \"Accept\": this._contentTypes.join(\", \")\n };\n if (token) {\n logger2.debug(\"token passed, setting Authorization header\");\n headers[\"Authorization\"] = \"Bearer \" + token;\n }\n this.appendExtraHeaders(headers);\n let response;\n try {\n logger2.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"GET\", headers, timeoutInSeconds, credentials });\n } catch (err) {\n logger2.error(\"Network Error\");\n throw err;\n }\n logger2.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find((item) => contentType.startsWith(item))) {\n logger2.throw(new Error(`Invalid response Content-Type: ${contentType != null ? contentType : \"undefined\"}, from URL: ${url}`));\n }\n if (response.ok && this._jwtHandler && (contentType == null ? void 0 : contentType.startsWith(\"application/jwt\"))) {\n return await this._jwtHandler(await response.text());\n }\n let json;\n try {\n json = await response.json();\n } catch (err) {\n logger2.error(\"Error parsing JSON response\", err);\n if (response.ok) throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n if (!response.ok) {\n logger2.error(\"Error from server:\", json);\n if (json.error) {\n throw new ErrorResponse(json);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n async postForm(url, {\n body,\n basicAuth,\n timeoutInSeconds,\n initCredentials,\n extraHeaders\n }) {\n const logger2 = this._logger.create(\"postForm\");\n const headers = {\n \"Accept\": this._contentTypes.join(\", \"),\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n ...extraHeaders\n };\n if (basicAuth !== void 0) {\n headers[\"Authorization\"] = \"Basic \" + basicAuth;\n }\n this.appendExtraHeaders(headers);\n let response;\n try {\n logger2.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"POST\", headers, body, timeoutInSeconds, credentials: initCredentials });\n } catch (err) {\n logger2.error(\"Network error\");\n throw err;\n }\n logger2.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find((item) => contentType.startsWith(item))) {\n throw new Error(`Invalid response Content-Type: ${contentType != null ? contentType : \"undefined\"}, from URL: ${url}`);\n }\n const responseText = await response.text();\n let json = {};\n if (responseText) {\n try {\n json = JSON.parse(responseText);\n } catch (err) {\n logger2.error(\"Error parsing JSON response\", err);\n if (response.ok) throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n }\n if (!response.ok) {\n logger2.error(\"Error from server:\", json);\n if (response.headers.has(\"dpop-nonce\")) {\n const nonce = response.headers.get(\"dpop-nonce\");\n throw new ErrorDPoPNonce(nonce, `${JSON.stringify(json)}`);\n }\n if (json.error) {\n throw new ErrorResponse(json, body);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n appendExtraHeaders(headers) {\n const logger2 = this._logger.create(\"appendExtraHeaders\");\n const customKeys = Object.keys(this._extraHeaders);\n const protectedHeaders = [\n \"authorization\",\n \"accept\",\n \"content-type\"\n ];\n if (customKeys.length === 0) {\n return;\n }\n customKeys.forEach((headerName) => {\n if (protectedHeaders.includes(headerName.toLocaleLowerCase())) {\n logger2.warn(\"Protected header could not be overridden\", headerName, protectedHeaders);\n return;\n }\n const content = typeof this._extraHeaders[headerName] === \"function\" ? this._extraHeaders[headerName]() : this._extraHeaders[headerName];\n if (content && content !== \"\") {\n headers[headerName] = content;\n }\n });\n }\n};\n\n// src/MetadataService.ts\nvar MetadataService = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"MetadataService\");\n this._signingKeys = null;\n this._metadata = null;\n this._metadataUrl = this._settings.metadataUrl;\n this._jsonService = new JsonService(\n [\"application/jwk-set+json\"],\n null,\n this._settings.extraHeaders\n );\n if (this._settings.signingKeys) {\n this._logger.debug(\"using signingKeys from settings\");\n this._signingKeys = this._settings.signingKeys;\n }\n if (this._settings.metadata) {\n this._logger.debug(\"using metadata from settings\");\n this._metadata = this._settings.metadata;\n }\n if (this._settings.fetchRequestCredentials) {\n this._logger.debug(\"using fetchRequestCredentials from settings\");\n this._fetchRequestCredentials = this._settings.fetchRequestCredentials;\n }\n }\n resetSigningKeys() {\n this._signingKeys = null;\n }\n async getMetadata() {\n const logger2 = this._logger.create(\"getMetadata\");\n if (this._metadata) {\n logger2.debug(\"using cached values\");\n return this._metadata;\n }\n if (!this._metadataUrl) {\n logger2.throw(new Error(\"No authority or metadataUrl configured on settings\"));\n throw null;\n }\n logger2.debug(\"getting metadata from\", this._metadataUrl);\n const metadata = await this._jsonService.getJson(this._metadataUrl, { credentials: this._fetchRequestCredentials, timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n logger2.debug(\"merging remote JSON with seed metadata\");\n this._metadata = Object.assign({}, this._settings.metadataSeed, metadata);\n return this._metadata;\n }\n getIssuer() {\n return this._getMetadataProperty(\"issuer\");\n }\n getAuthorizationEndpoint() {\n return this._getMetadataProperty(\"authorization_endpoint\");\n }\n getUserInfoEndpoint() {\n return this._getMetadataProperty(\"userinfo_endpoint\");\n }\n getTokenEndpoint(optional = true) {\n return this._getMetadataProperty(\"token_endpoint\", optional);\n }\n getCheckSessionIframe() {\n return this._getMetadataProperty(\"check_session_iframe\", true);\n }\n getEndSessionEndpoint() {\n return this._getMetadataProperty(\"end_session_endpoint\", true);\n }\n getRevocationEndpoint(optional = true) {\n return this._getMetadataProperty(\"revocation_endpoint\", optional);\n }\n getKeysEndpoint(optional = true) {\n return this._getMetadataProperty(\"jwks_uri\", optional);\n }\n async _getMetadataProperty(name, optional = false) {\n const logger2 = this._logger.create(`_getMetadataProperty('${name}')`);\n const metadata = await this.getMetadata();\n logger2.debug(\"resolved\");\n if (metadata[name] === void 0) {\n if (optional === true) {\n logger2.warn(\"Metadata does not contain optional property\");\n return void 0;\n }\n logger2.throw(new Error(\"Metadata does not contain property \" + name));\n }\n return metadata[name];\n }\n async getSigningKeys() {\n const logger2 = this._logger.create(\"getSigningKeys\");\n if (this._signingKeys) {\n logger2.debug(\"returning signingKeys from cache\");\n return this._signingKeys;\n }\n const jwks_uri = await this.getKeysEndpoint(false);\n logger2.debug(\"got jwks_uri\", jwks_uri);\n const keySet = await this._jsonService.getJson(jwks_uri, { timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n logger2.debug(\"got key set\", keySet);\n if (!Array.isArray(keySet.keys)) {\n logger2.throw(new Error(\"Missing keys on keyset\"));\n throw null;\n }\n this._signingKeys = keySet.keys;\n return this._signingKeys;\n }\n};\n\n// src/WebStorageStateStore.ts\nvar WebStorageStateStore = class {\n constructor({\n prefix = \"oidc.\",\n store = localStorage\n } = {}) {\n this._logger = new Logger(\"WebStorageStateStore\");\n this._store = store;\n this._prefix = prefix;\n }\n async set(key, value) {\n this._logger.create(`set('${key}')`);\n key = this._prefix + key;\n await this._store.setItem(key, value);\n }\n async get(key) {\n this._logger.create(`get('${key}')`);\n key = this._prefix + key;\n const item = await this._store.getItem(key);\n return item;\n }\n async remove(key) {\n this._logger.create(`remove('${key}')`);\n key = this._prefix + key;\n const item = await this._store.getItem(key);\n await this._store.removeItem(key);\n return item;\n }\n async getAllKeys() {\n this._logger.create(\"getAllKeys\");\n const len = await this._store.length;\n const keys = [];\n for (let index = 0; index < len; index++) {\n const key = await this._store.key(index);\n if (key && key.indexOf(this._prefix) === 0) {\n keys.push(key.substr(this._prefix.length));\n }\n }\n return keys;\n }\n};\n\n// src/OidcClientSettings.ts\nvar DefaultResponseType = \"code\";\nvar DefaultScope = \"openid\";\nvar DefaultClientAuthentication = \"client_secret_post\";\nvar DefaultStaleStateAgeInSeconds = 60 * 15;\nvar OidcClientSettingsStore = class {\n constructor({\n // metadata related\n authority,\n metadataUrl,\n metadata,\n signingKeys,\n metadataSeed,\n // client related\n client_id,\n client_secret,\n response_type = DefaultResponseType,\n scope = DefaultScope,\n redirect_uri,\n post_logout_redirect_uri,\n client_authentication = DefaultClientAuthentication,\n // optional protocol\n prompt,\n display,\n max_age,\n ui_locales,\n acr_values,\n resource,\n response_mode,\n // behavior flags\n filterProtocolClaims = true,\n loadUserInfo = false,\n requestTimeoutInSeconds,\n staleStateAgeInSeconds = DefaultStaleStateAgeInSeconds,\n mergeClaimsStrategy = { array: \"replace\" },\n disablePKCE = false,\n // other behavior\n stateStore,\n revokeTokenAdditionalContentTypes,\n fetchRequestCredentials,\n refreshTokenAllowedScope,\n // extra\n extraQueryParams = {},\n extraTokenParams = {},\n extraHeaders = {},\n dpop,\n omitScopeWhenRequesting = false\n }) {\n var _a;\n this.authority = authority;\n if (metadataUrl) {\n this.metadataUrl = metadataUrl;\n } else {\n this.metadataUrl = authority;\n if (authority) {\n if (!this.metadataUrl.endsWith(\"/\")) {\n this.metadataUrl += \"/\";\n }\n this.metadataUrl += \".well-known/openid-configuration\";\n }\n }\n this.metadata = metadata;\n this.metadataSeed = metadataSeed;\n this.signingKeys = signingKeys;\n this.client_id = client_id;\n this.client_secret = client_secret;\n this.response_type = response_type;\n this.scope = scope;\n this.redirect_uri = redirect_uri;\n this.post_logout_redirect_uri = post_logout_redirect_uri;\n this.client_authentication = client_authentication;\n this.prompt = prompt;\n this.display = display;\n this.max_age = max_age;\n this.ui_locales = ui_locales;\n this.acr_values = acr_values;\n this.resource = resource;\n this.response_mode = response_mode;\n this.filterProtocolClaims = filterProtocolClaims != null ? filterProtocolClaims : true;\n this.loadUserInfo = !!loadUserInfo;\n this.staleStateAgeInSeconds = staleStateAgeInSeconds;\n this.mergeClaimsStrategy = mergeClaimsStrategy;\n this.omitScopeWhenRequesting = omitScopeWhenRequesting;\n this.disablePKCE = !!disablePKCE;\n this.revokeTokenAdditionalContentTypes = revokeTokenAdditionalContentTypes;\n this.fetchRequestCredentials = fetchRequestCredentials ? fetchRequestCredentials : \"same-origin\";\n this.requestTimeoutInSeconds = requestTimeoutInSeconds;\n if (stateStore) {\n this.stateStore = stateStore;\n } else {\n const store = typeof window !== \"undefined\" ? window.localStorage : new InMemoryWebStorage();\n this.stateStore = new WebStorageStateStore({ store });\n }\n this.refreshTokenAllowedScope = refreshTokenAllowedScope;\n this.extraQueryParams = extraQueryParams;\n this.extraTokenParams = extraTokenParams;\n this.extraHeaders = extraHeaders;\n this.dpop = dpop;\n if (this.dpop && !((_a = this.dpop) == null ? void 0 : _a.store)) {\n throw new Error(\"A DPoPStore is required when dpop is enabled\");\n }\n }\n};\n\n// src/UserInfoService.ts\nvar UserInfoService = class {\n constructor(_settings, _metadataService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._logger = new Logger(\"UserInfoService\");\n this._getClaimsFromJwt = async (responseText) => {\n const logger2 = this._logger.create(\"_getClaimsFromJwt\");\n try {\n const payload = JwtUtils.decode(responseText);\n logger2.debug(\"JWT decoding successful\");\n return payload;\n } catch (err) {\n logger2.error(\"Error parsing JWT response\");\n throw err;\n }\n };\n this._jsonService = new JsonService(\n void 0,\n this._getClaimsFromJwt,\n this._settings.extraHeaders\n );\n }\n async getClaims(token) {\n const logger2 = this._logger.create(\"getClaims\");\n if (!token) {\n this._logger.throw(new Error(\"No token passed\"));\n }\n const url = await this._metadataService.getUserInfoEndpoint();\n logger2.debug(\"got userinfo url\", url);\n const claims = await this._jsonService.getJson(url, {\n token,\n credentials: this._settings.fetchRequestCredentials,\n timeoutInSeconds: this._settings.requestTimeoutInSeconds\n });\n logger2.debug(\"got claims\", claims);\n return claims;\n }\n};\n\n// src/TokenClient.ts\nvar TokenClient = class {\n constructor(_settings, _metadataService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._logger = new Logger(\"TokenClient\");\n this._jsonService = new JsonService(\n this._settings.revokeTokenAdditionalContentTypes,\n null,\n this._settings.extraHeaders\n );\n }\n /**\n * Exchange code.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3\n */\n async exchangeCode({\n grant_type = \"authorization_code\",\n redirect_uri = this._settings.redirect_uri,\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n extraHeaders,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeCode\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n if (!redirect_uri) {\n logger2.throw(new Error(\"A redirect_uri is required\"));\n }\n if (!args.code) {\n logger2.throw(new Error(\"A code is required\"));\n }\n const params = new URLSearchParams({ grant_type, redirect_uri });\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, {\n body: params,\n basicAuth,\n timeoutInSeconds: this._settings.requestTimeoutInSeconds,\n initCredentials: this._settings.fetchRequestCredentials,\n extraHeaders\n });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Exchange credentials.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-4.3.2\n */\n async exchangeCredentials({\n grant_type = \"password\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n scope = this._settings.scope,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeCredentials\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n const params = new URLSearchParams({ grant_type });\n if (!this._settings.omitScopeWhenRequesting) {\n params.set(\"scope\", scope);\n }\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds: this._settings.requestTimeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Exchange a refresh token.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-6\n */\n async exchangeRefreshToken({\n grant_type = \"refresh_token\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n timeoutInSeconds,\n extraHeaders,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeRefreshToken\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n if (!args.refresh_token) {\n logger2.throw(new Error(\"A refresh_token is required\"));\n }\n const params = new URLSearchParams({ grant_type });\n for (const [key, value] of Object.entries(args)) {\n if (Array.isArray(value)) {\n value.forEach((param) => params.append(key, param));\n } else if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials, extraHeaders });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Revoke an access or refresh token.\n *\n * @see https://datatracker.ietf.org/doc/html/rfc7009#section-2.1\n */\n async revoke(args) {\n var _a;\n const logger2 = this._logger.create(\"revoke\");\n if (!args.token) {\n logger2.throw(new Error(\"A token is required\"));\n }\n const url = await this._metadataService.getRevocationEndpoint(false);\n logger2.debug(`got revocation endpoint, revoking ${(_a = args.token_type_hint) != null ? _a : \"default token type\"}`);\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n params.set(\"client_id\", this._settings.client_id);\n if (this._settings.client_secret) {\n params.set(\"client_secret\", this._settings.client_secret);\n }\n await this._jsonService.postForm(url, { body: params, timeoutInSeconds: this._settings.requestTimeoutInSeconds });\n logger2.debug(\"got response\");\n }\n};\n\n// src/ResponseValidator.ts\nvar ResponseValidator = class {\n constructor(_settings, _metadataService, _claimsService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._claimsService = _claimsService;\n this._logger = new Logger(\"ResponseValidator\");\n this._userInfoService = new UserInfoService(this._settings, this._metadataService);\n this._tokenClient = new TokenClient(this._settings, this._metadataService);\n }\n async validateSigninResponse(response, state, extraHeaders) {\n const logger2 = this._logger.create(\"validateSigninResponse\");\n this._processSigninState(response, state);\n logger2.debug(\"state processed\");\n await this._processCode(response, state, extraHeaders);\n logger2.debug(\"code processed\");\n if (response.isOpenId) {\n this._validateIdTokenAttributes(response);\n }\n logger2.debug(\"tokens validated\");\n await this._processClaims(response, state == null ? void 0 : state.skipUserInfo, response.isOpenId);\n logger2.debug(\"claims processed\");\n }\n async validateCredentialsResponse(response, skipUserInfo) {\n const logger2 = this._logger.create(\"validateCredentialsResponse\");\n if (response.isOpenId && !!response.id_token) {\n this._validateIdTokenAttributes(response);\n }\n logger2.debug(\"tokens validated\");\n await this._processClaims(response, skipUserInfo, response.isOpenId);\n logger2.debug(\"claims processed\");\n }\n async validateRefreshResponse(response, state) {\n var _a, _b;\n const logger2 = this._logger.create(\"validateRefreshResponse\");\n response.userState = state.data;\n (_a = response.session_state) != null ? _a : response.session_state = state.session_state;\n (_b = response.scope) != null ? _b : response.scope = state.scope;\n if (response.isOpenId && !!response.id_token) {\n this._validateIdTokenAttributes(response, state.id_token);\n logger2.debug(\"ID Token validated\");\n }\n if (!response.id_token) {\n response.id_token = state.id_token;\n response.profile = state.profile;\n }\n const hasIdToken = response.isOpenId && !!response.id_token;\n await this._processClaims(response, false, hasIdToken);\n logger2.debug(\"claims processed\");\n }\n validateSignoutResponse(response, state) {\n const logger2 = this._logger.create(\"validateSignoutResponse\");\n if (state.id !== response.state) {\n logger2.throw(new Error(\"State does not match\"));\n }\n logger2.debug(\"state validated\");\n response.userState = state.data;\n if (response.error) {\n logger2.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n }\n _processSigninState(response, state) {\n var _a;\n const logger2 = this._logger.create(\"_processSigninState\");\n if (state.id !== response.state) {\n logger2.throw(new Error(\"State does not match\"));\n }\n if (!state.client_id) {\n logger2.throw(new Error(\"No client_id on state\"));\n }\n if (!state.authority) {\n logger2.throw(new Error(\"No authority on state\"));\n }\n if (this._settings.authority !== state.authority) {\n logger2.throw(new Error(\"authority mismatch on settings vs. signin state\"));\n }\n if (this._settings.client_id && this._settings.client_id !== state.client_id) {\n logger2.throw(new Error(\"client_id mismatch on settings vs. signin state\"));\n }\n logger2.debug(\"state validated\");\n response.userState = state.data;\n response.url_state = state.url_state;\n (_a = response.scope) != null ? _a : response.scope = state.scope;\n if (response.error) {\n logger2.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n if (state.code_verifier && !response.code) {\n logger2.throw(new Error(\"Expected code in response\"));\n }\n }\n async _processClaims(response, skipUserInfo = false, validateSub = true) {\n const logger2 = this._logger.create(\"_processClaims\");\n response.profile = this._claimsService.filterProtocolClaims(response.profile);\n if (skipUserInfo || !this._settings.loadUserInfo || !response.access_token) {\n logger2.debug(\"not loading user info\");\n return;\n }\n logger2.debug(\"loading user info\");\n const claims = await this._userInfoService.getClaims(response.access_token);\n logger2.debug(\"user info claims received from user info endpoint\");\n if (validateSub && claims.sub !== response.profile.sub) {\n logger2.throw(new Error(\"subject from UserInfo response does not match subject in ID Token\"));\n }\n response.profile = this._claimsService.mergeClaims(response.profile, this._claimsService.filterProtocolClaims(claims));\n logger2.debug(\"user info claims received, updated profile:\", response.profile);\n }\n async _processCode(response, state, extraHeaders) {\n const logger2 = this._logger.create(\"_processCode\");\n if (response.code) {\n logger2.debug(\"Validating code\");\n const tokenResponse = await this._tokenClient.exchangeCode({\n client_id: state.client_id,\n client_secret: state.client_secret,\n code: response.code,\n redirect_uri: state.redirect_uri,\n code_verifier: state.code_verifier,\n extraHeaders,\n ...state.extraTokenParams\n });\n Object.assign(response, tokenResponse);\n } else {\n logger2.debug(\"No code to process\");\n }\n }\n _validateIdTokenAttributes(response, existingToken) {\n var _a;\n const logger2 = this._logger.create(\"_validateIdTokenAttributes\");\n logger2.debug(\"decoding ID Token JWT\");\n const incoming = JwtUtils.decode((_a = response.id_token) != null ? _a : \"\");\n if (!incoming.sub) {\n logger2.throw(new Error(\"ID Token is missing a subject claim\"));\n }\n if (existingToken) {\n const existing = JwtUtils.decode(existingToken);\n if (incoming.sub !== existing.sub) {\n logger2.throw(new Error(\"sub in id_token does not match current sub\"));\n }\n if (incoming.auth_time && incoming.auth_time !== existing.auth_time) {\n logger2.throw(new Error(\"auth_time in id_token does not match original auth_time\"));\n }\n if (incoming.azp && incoming.azp !== existing.azp) {\n logger2.throw(new Error(\"azp in id_token does not match original azp\"));\n }\n if (!incoming.azp && existing.azp) {\n logger2.throw(new Error(\"azp not in id_token, but present in original id_token\"));\n }\n }\n response.profile = incoming;\n }\n};\n\n// src/State.ts\nvar State = class _State {\n constructor(args) {\n this.id = args.id || CryptoUtils.generateUUIDv4();\n this.data = args.data;\n if (args.created && args.created > 0) {\n this.created = args.created;\n } else {\n this.created = Timer.getEpochTime();\n }\n this.request_type = args.request_type;\n this.url_state = args.url_state;\n }\n toStorageString() {\n new Logger(\"State\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n url_state: this.url_state\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"State\", \"fromStorageString\");\n return Promise.resolve(new _State(JSON.parse(storageString)));\n }\n static async clearStaleState(storage, age) {\n const logger2 = Logger.createStatic(\"State\", \"clearStaleState\");\n const cutoff = Timer.getEpochTime() - age;\n const keys = await storage.getAllKeys();\n logger2.debug(\"got keys\", keys);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const item = await storage.get(key);\n let remove = false;\n if (item) {\n try {\n const state = await _State.fromStorageString(item);\n logger2.debug(\"got item from key:\", key, state.created);\n if (state.created <= cutoff) {\n remove = true;\n }\n } catch (err) {\n logger2.error(\"Error parsing state for key:\", key, err);\n remove = true;\n }\n } else {\n logger2.debug(\"no item in storage for key:\", key);\n remove = true;\n }\n if (remove) {\n logger2.debug(\"removed item for key:\", key);\n void storage.remove(key);\n }\n }\n }\n};\n\n// src/SigninState.ts\nvar SigninState = class _SigninState extends State {\n constructor(args) {\n super(args);\n this.code_verifier = args.code_verifier;\n this.code_challenge = args.code_challenge;\n this.authority = args.authority;\n this.client_id = args.client_id;\n this.redirect_uri = args.redirect_uri;\n this.scope = args.scope;\n this.client_secret = args.client_secret;\n this.extraTokenParams = args.extraTokenParams;\n this.response_mode = args.response_mode;\n this.skipUserInfo = args.skipUserInfo;\n }\n static async create(args) {\n const code_verifier = args.code_verifier === true ? CryptoUtils.generateCodeVerifier() : args.code_verifier || void 0;\n const code_challenge = code_verifier ? await CryptoUtils.generateCodeChallenge(code_verifier) : void 0;\n return new _SigninState({\n ...args,\n code_verifier,\n code_challenge\n });\n }\n toStorageString() {\n new Logger(\"SigninState\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n url_state: this.url_state,\n code_verifier: this.code_verifier,\n authority: this.authority,\n client_id: this.client_id,\n redirect_uri: this.redirect_uri,\n scope: this.scope,\n client_secret: this.client_secret,\n extraTokenParams: this.extraTokenParams,\n response_mode: this.response_mode,\n skipUserInfo: this.skipUserInfo\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"SigninState\", \"fromStorageString\");\n const data = JSON.parse(storageString);\n return _SigninState.create(data);\n }\n};\n\n// src/SigninRequest.ts\nvar _SigninRequest = class _SigninRequest {\n constructor(args) {\n this.url = args.url;\n this.state = args.state;\n }\n static async create({\n // mandatory\n url,\n authority,\n client_id,\n redirect_uri,\n response_type,\n scope,\n // optional\n state_data,\n response_mode,\n request_type,\n client_secret,\n nonce,\n url_state,\n resource,\n skipUserInfo,\n extraQueryParams,\n extraTokenParams,\n disablePKCE,\n dpopJkt,\n omitScopeWhenRequesting,\n ...optionalParams\n }) {\n if (!url) {\n this._logger.error(\"create: No url passed\");\n throw new Error(\"url\");\n }\n if (!client_id) {\n this._logger.error(\"create: No client_id passed\");\n throw new Error(\"client_id\");\n }\n if (!redirect_uri) {\n this._logger.error(\"create: No redirect_uri passed\");\n throw new Error(\"redirect_uri\");\n }\n if (!response_type) {\n this._logger.error(\"create: No response_type passed\");\n throw new Error(\"response_type\");\n }\n if (!scope) {\n this._logger.error(\"create: No scope passed\");\n throw new Error(\"scope\");\n }\n if (!authority) {\n this._logger.error(\"create: No authority passed\");\n throw new Error(\"authority\");\n }\n const state = await SigninState.create({\n data: state_data,\n request_type,\n url_state,\n code_verifier: !disablePKCE,\n client_id,\n authority,\n redirect_uri,\n response_mode,\n client_secret,\n scope,\n extraTokenParams,\n skipUserInfo\n });\n const parsedUrl = new URL(url);\n parsedUrl.searchParams.append(\"client_id\", client_id);\n parsedUrl.searchParams.append(\"redirect_uri\", redirect_uri);\n parsedUrl.searchParams.append(\"response_type\", response_type);\n if (!omitScopeWhenRequesting) {\n parsedUrl.searchParams.append(\"scope\", scope);\n }\n if (nonce) {\n parsedUrl.searchParams.append(\"nonce\", nonce);\n }\n if (dpopJkt) {\n parsedUrl.searchParams.append(\"dpop_jkt\", dpopJkt);\n }\n let stateParam = state.id;\n if (url_state) {\n stateParam = `${stateParam}${URL_STATE_DELIMITER}${url_state}`;\n }\n parsedUrl.searchParams.append(\"state\", stateParam);\n if (state.code_challenge) {\n parsedUrl.searchParams.append(\"code_challenge\", state.code_challenge);\n parsedUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n }\n if (resource) {\n const resources = Array.isArray(resource) ? resource : [resource];\n resources.forEach((r) => parsedUrl.searchParams.append(\"resource\", r));\n }\n for (const [key, value] of Object.entries({ response_mode, ...optionalParams, ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n return new _SigninRequest({\n url: parsedUrl.href,\n state\n });\n }\n};\n_SigninRequest._logger = new Logger(\"SigninRequest\");\nvar SigninRequest = _SigninRequest;\n\n// src/SigninResponse.ts\nvar OidcScope = \"openid\";\nvar SigninResponse = class {\n constructor(params) {\n /** @see {@link User.access_token} */\n this.access_token = \"\";\n /** @see {@link User.token_type} */\n this.token_type = \"\";\n /** @see {@link User.profile} */\n this.profile = {};\n this.state = params.get(\"state\");\n this.session_state = params.get(\"session_state\");\n if (this.state) {\n const splitState = decodeURIComponent(this.state).split(URL_STATE_DELIMITER);\n this.state = splitState[0];\n if (splitState.length > 1) {\n this.url_state = splitState.slice(1).join(URL_STATE_DELIMITER);\n }\n }\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n this.code = params.get(\"code\");\n }\n get expires_in() {\n if (this.expires_at === void 0) {\n return void 0;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n set expires_in(value) {\n if (typeof value === \"string\") value = Number(value);\n if (value !== void 0 && value >= 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n get isOpenId() {\n var _a;\n return ((_a = this.scope) == null ? void 0 : _a.split(\" \").includes(OidcScope)) || !!this.id_token;\n }\n};\n\n// src/SignoutRequest.ts\nvar SignoutRequest = class {\n constructor({\n url,\n state_data,\n id_token_hint,\n post_logout_redirect_uri,\n extraQueryParams,\n request_type,\n client_id\n }) {\n this._logger = new Logger(\"SignoutRequest\");\n if (!url) {\n this._logger.error(\"ctor: No url passed\");\n throw new Error(\"url\");\n }\n const parsedUrl = new URL(url);\n if (id_token_hint) {\n parsedUrl.searchParams.append(\"id_token_hint\", id_token_hint);\n }\n if (client_id) {\n parsedUrl.searchParams.append(\"client_id\", client_id);\n }\n if (post_logout_redirect_uri) {\n parsedUrl.searchParams.append(\"post_logout_redirect_uri\", post_logout_redirect_uri);\n if (state_data) {\n this.state = new State({ data: state_data, request_type });\n parsedUrl.searchParams.append(\"state\", this.state.id);\n }\n }\n for (const [key, value] of Object.entries({ ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n this.url = parsedUrl.href;\n }\n};\n\n// src/SignoutResponse.ts\nvar SignoutResponse = class {\n constructor(params) {\n this.state = params.get(\"state\");\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n }\n};\n\n// src/ClaimsService.ts\nvar DefaultProtocolClaims = [\n \"nbf\",\n \"jti\",\n \"auth_time\",\n \"nonce\",\n \"acr\",\n \"amr\",\n \"azp\",\n \"at_hash\"\n // https://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken\n];\nvar InternalRequiredProtocolClaims = [\"sub\", \"iss\", \"aud\", \"exp\", \"iat\"];\nvar ClaimsService = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"ClaimsService\");\n }\n filterProtocolClaims(claims) {\n const result = { ...claims };\n if (this._settings.filterProtocolClaims) {\n let protocolClaims;\n if (Array.isArray(this._settings.filterProtocolClaims)) {\n protocolClaims = this._settings.filterProtocolClaims;\n } else {\n protocolClaims = DefaultProtocolClaims;\n }\n for (const claim of protocolClaims) {\n if (!InternalRequiredProtocolClaims.includes(claim)) {\n delete result[claim];\n }\n }\n }\n return result;\n }\n mergeClaims(claims1, claims2) {\n const result = { ...claims1 };\n for (const [claim, values] of Object.entries(claims2)) {\n if (result[claim] !== values) {\n if (Array.isArray(result[claim]) || Array.isArray(values)) {\n if (this._settings.mergeClaimsStrategy.array == \"replace\") {\n result[claim] = values;\n } else {\n const mergedValues = Array.isArray(result[claim]) ? result[claim] : [result[claim]];\n for (const value of Array.isArray(values) ? values : [values]) {\n if (!mergedValues.includes(value)) {\n mergedValues.push(value);\n }\n }\n result[claim] = mergedValues;\n }\n } else if (typeof result[claim] === \"object\" && typeof values === \"object\") {\n result[claim] = this.mergeClaims(result[claim], values);\n } else {\n result[claim] = values;\n }\n }\n }\n return result;\n }\n};\n\n// src/DPoPStore.ts\nvar DPoPState = class {\n constructor(keys, nonce) {\n this.keys = keys;\n this.nonce = nonce;\n }\n};\n\n// src/OidcClient.ts\nvar OidcClient = class {\n constructor(settings, metadataService) {\n this._logger = new Logger(\"OidcClient\");\n this.settings = settings instanceof OidcClientSettingsStore ? settings : new OidcClientSettingsStore(settings);\n this.metadataService = metadataService != null ? metadataService : new MetadataService(this.settings);\n this._claimsService = new ClaimsService(this.settings);\n this._validator = new ResponseValidator(this.settings, this.metadataService, this._claimsService);\n this._tokenClient = new TokenClient(this.settings, this.metadataService);\n }\n async createSigninRequest({\n state,\n request,\n request_uri,\n request_type,\n id_token_hint,\n login_hint,\n skipUserInfo,\n nonce,\n url_state,\n response_type = this.settings.response_type,\n scope = this.settings.scope,\n redirect_uri = this.settings.redirect_uri,\n prompt = this.settings.prompt,\n display = this.settings.display,\n max_age = this.settings.max_age,\n ui_locales = this.settings.ui_locales,\n acr_values = this.settings.acr_values,\n resource = this.settings.resource,\n response_mode = this.settings.response_mode,\n extraQueryParams = this.settings.extraQueryParams,\n extraTokenParams = this.settings.extraTokenParams,\n dpopJkt,\n omitScopeWhenRequesting = this.settings.omitScopeWhenRequesting\n }) {\n const logger2 = this._logger.create(\"createSigninRequest\");\n if (response_type !== \"code\") {\n throw new Error(\"Only the Authorization Code flow (with PKCE) is supported\");\n }\n const url = await this.metadataService.getAuthorizationEndpoint();\n logger2.debug(\"Received authorization endpoint\", url);\n const signinRequest = await SigninRequest.create({\n url,\n authority: this.settings.authority,\n client_id: this.settings.client_id,\n redirect_uri,\n response_type,\n scope,\n state_data: state,\n url_state,\n prompt,\n display,\n max_age,\n ui_locales,\n id_token_hint,\n login_hint,\n acr_values,\n dpopJkt,\n resource,\n request,\n request_uri,\n extraQueryParams,\n extraTokenParams,\n request_type,\n response_mode,\n client_secret: this.settings.client_secret,\n skipUserInfo,\n nonce,\n disablePKCE: this.settings.disablePKCE,\n omitScopeWhenRequesting\n });\n await this.clearStaleState();\n const signinState = signinRequest.state;\n await this.settings.stateStore.set(signinState.id, signinState.toStorageString());\n return signinRequest;\n }\n async readSigninResponseState(url, removeState = false) {\n const logger2 = this._logger.create(\"readSigninResponseState\");\n const response = new SigninResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger2.throw(new Error(\"No state in response\"));\n throw null;\n }\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger2.throw(new Error(\"No matching state found in storage\"));\n throw null;\n }\n const state = await SigninState.fromStorageString(storedStateString);\n return { state, response };\n }\n async processSigninResponse(url, extraHeaders) {\n const logger2 = this._logger.create(\"processSigninResponse\");\n const { state, response } = await this.readSigninResponseState(url, true);\n logger2.debug(\"received state from storage; validating response\");\n if (this.settings.dpop && this.settings.dpop.store) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store);\n extraHeaders = { ...extraHeaders, \"DPoP\": dpopProof };\n }\n try {\n await this._validator.validateSigninResponse(response, state, extraHeaders);\n } catch (err) {\n if (err instanceof ErrorDPoPNonce && this.settings.dpop) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store, err.nonce);\n extraHeaders[\"DPoP\"] = dpopProof;\n await this._validator.validateSigninResponse(response, state, extraHeaders);\n } else {\n throw err;\n }\n }\n return response;\n }\n async getDpopProof(dpopStore, nonce) {\n let keyPair;\n let dpopState;\n if (!(await dpopStore.getAllKeys()).includes(this.settings.client_id)) {\n keyPair = await CryptoUtils.generateDPoPKeys();\n dpopState = new DPoPState(keyPair, nonce);\n await dpopStore.set(this.settings.client_id, dpopState);\n } else {\n dpopState = await dpopStore.get(this.settings.client_id);\n if (dpopState.nonce !== nonce && nonce) {\n dpopState.nonce = nonce;\n await dpopStore.set(this.settings.client_id, dpopState);\n }\n }\n return await CryptoUtils.generateDPoPProof({\n url: await this.metadataService.getTokenEndpoint(false),\n httpMethod: \"POST\",\n keyPair: dpopState.keys,\n nonce: dpopState.nonce\n });\n }\n async processResourceOwnerPasswordCredentials({\n username,\n password,\n skipUserInfo = false,\n extraTokenParams = {}\n }) {\n const tokenResponse = await this._tokenClient.exchangeCredentials({ username, password, ...extraTokenParams });\n const signinResponse = new SigninResponse(new URLSearchParams());\n Object.assign(signinResponse, tokenResponse);\n await this._validator.validateCredentialsResponse(signinResponse, skipUserInfo);\n return signinResponse;\n }\n async useRefreshToken({\n state,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n extraTokenParams\n }) {\n var _a;\n const logger2 = this._logger.create(\"useRefreshToken\");\n let scope;\n if (this.settings.refreshTokenAllowedScope === void 0) {\n scope = state.scope;\n } else {\n const allowableScopes = this.settings.refreshTokenAllowedScope.split(\" \");\n const providedScopes = ((_a = state.scope) == null ? void 0 : _a.split(\" \")) || [];\n scope = providedScopes.filter((s) => allowableScopes.includes(s)).join(\" \");\n }\n if (this.settings.dpop && this.settings.dpop.store) {\n const dpopProof = await this.getDpopProof(this.settings.dpop.store);\n extraHeaders = { ...extraHeaders, \"DPoP\": dpopProof };\n }\n let result;\n try {\n result = await this._tokenClient.exchangeRefreshToken({\n refresh_token: state.refresh_token,\n // provide the (possible filtered) scope list\n scope,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n ...extraTokenParams\n });\n } catch (err) {\n if (err instanceof ErrorDPoPNonce && this.settings.dpop) {\n extraHeaders[\"DPoP\"] = await this.getDpopProof(this.settings.dpop.store, err.nonce);\n result = await this._tokenClient.exchangeRefreshToken({\n refresh_token: state.refresh_token,\n // provide the (possible filtered) scope list\n scope,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraHeaders,\n ...extraTokenParams\n });\n } else {\n throw err;\n }\n }\n const response = new SigninResponse(new URLSearchParams());\n Object.assign(response, result);\n logger2.debug(\"validating response\", response);\n await this._validator.validateRefreshResponse(response, {\n ...state,\n // override the scope in the state handed over to the validator\n // so it can set the granted scope to the requested scope in case none is included in the response\n scope\n });\n return response;\n }\n async createSignoutRequest({\n state,\n id_token_hint,\n client_id,\n request_type,\n post_logout_redirect_uri = this.settings.post_logout_redirect_uri,\n extraQueryParams = this.settings.extraQueryParams\n } = {}) {\n const logger2 = this._logger.create(\"createSignoutRequest\");\n const url = await this.metadataService.getEndSessionEndpoint();\n if (!url) {\n logger2.throw(new Error(\"No end session endpoint\"));\n throw null;\n }\n logger2.debug(\"Received end session endpoint\", url);\n if (!client_id && post_logout_redirect_uri && !id_token_hint) {\n client_id = this.settings.client_id;\n }\n const request = new SignoutRequest({\n url,\n id_token_hint,\n client_id,\n post_logout_redirect_uri,\n state_data: state,\n extraQueryParams,\n request_type\n });\n await this.clearStaleState();\n const signoutState = request.state;\n if (signoutState) {\n logger2.debug(\"Signout request has state to persist\");\n await this.settings.stateStore.set(signoutState.id, signoutState.toStorageString());\n }\n return request;\n }\n async readSignoutResponseState(url, removeState = false) {\n const logger2 = this._logger.create(\"readSignoutResponseState\");\n const response = new SignoutResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger2.debug(\"No state in response\");\n if (response.error) {\n logger2.warn(\"Response was error:\", response.error);\n throw new ErrorResponse(response);\n }\n return { state: void 0, response };\n }\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger2.throw(new Error(\"No matching state found in storage\"));\n throw null;\n }\n const state = await State.fromStorageString(storedStateString);\n return { state, response };\n }\n async processSignoutResponse(url) {\n const logger2 = this._logger.create(\"processSignoutResponse\");\n const { state, response } = await this.readSignoutResponseState(url, true);\n if (state) {\n logger2.debug(\"Received state from storage; validating response\");\n this._validator.validateSignoutResponse(response, state);\n } else {\n logger2.debug(\"No state from storage; skipping response validation\");\n }\n return response;\n }\n clearStaleState() {\n this._logger.create(\"clearStaleState\");\n return State.clearStaleState(this.settings.stateStore, this.settings.staleStateAgeInSeconds);\n }\n async revokeToken(token, type) {\n this._logger.create(\"revokeToken\");\n return await this._tokenClient.revoke({\n token,\n token_type_hint: type\n });\n }\n};\n\n// src/SessionMonitor.ts\nvar SessionMonitor = class {\n constructor(_userManager) {\n this._userManager = _userManager;\n this._logger = new Logger(\"SessionMonitor\");\n this._start = async (user) => {\n const session_state = user.session_state;\n if (!session_state) {\n return;\n }\n const logger2 = this._logger.create(\"_start\");\n if (user.profile) {\n this._sub = user.profile.sub;\n logger2.debug(\"session_state\", session_state, \", sub\", this._sub);\n } else {\n this._sub = void 0;\n logger2.debug(\"session_state\", session_state, \", anonymous user\");\n }\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.start(session_state);\n return;\n }\n try {\n const url = await this._userManager.metadataService.getCheckSessionIframe();\n if (url) {\n logger2.debug(\"initializing check session iframe\");\n const client_id = this._userManager.settings.client_id;\n const intervalInSeconds = this._userManager.settings.checkSessionIntervalInSeconds;\n const stopOnError = this._userManager.settings.stopCheckSessionOnError;\n const checkSessionIFrame = new CheckSessionIFrame(this._callback, client_id, url, intervalInSeconds, stopOnError);\n await checkSessionIFrame.load();\n this._checkSessionIFrame = checkSessionIFrame;\n checkSessionIFrame.start(session_state);\n } else {\n logger2.warn(\"no check session iframe found in the metadata\");\n }\n } catch (err) {\n logger2.error(\"Error from getCheckSessionIframe:\", err instanceof Error ? err.message : err);\n }\n };\n this._stop = () => {\n const logger2 = this._logger.create(\"_stop\");\n this._sub = void 0;\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.stop();\n }\n if (this._userManager.settings.monitorAnonymousSession) {\n const timerHandle = setInterval(async () => {\n clearInterval(timerHandle);\n try {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub ? {\n sub: session.sub\n } : null\n };\n void this._start(tmpUser);\n }\n } catch (err) {\n logger2.error(\"error from querySessionStatus\", err instanceof Error ? err.message : err);\n }\n }, 1e3);\n }\n };\n this._callback = async () => {\n const logger2 = this._logger.create(\"_callback\");\n try {\n const session = await this._userManager.querySessionStatus();\n let raiseEvent = true;\n if (session && this._checkSessionIFrame) {\n if (session.sub === this._sub) {\n raiseEvent = false;\n this._checkSessionIFrame.start(session.session_state);\n logger2.debug(\"same sub still logged in at OP, session state has changed, restarting check session iframe; session_state\", session.session_state);\n await this._userManager.events._raiseUserSessionChanged();\n } else {\n logger2.debug(\"different subject signed into OP\", session.sub);\n }\n } else {\n logger2.debug(\"subject no longer signed into OP\");\n }\n if (raiseEvent) {\n if (this._sub) {\n await this._userManager.events._raiseUserSignedOut();\n } else {\n await this._userManager.events._raiseUserSignedIn();\n }\n } else {\n logger2.debug(\"no change in session detected, no event to raise\");\n }\n } catch (err) {\n if (this._sub) {\n logger2.debug(\"Error calling queryCurrentSigninSession; raising signed out event\", err);\n await this._userManager.events._raiseUserSignedOut();\n }\n }\n };\n if (!_userManager) {\n this._logger.throw(new Error(\"No user manager passed\"));\n }\n this._userManager.events.addUserLoaded(this._start);\n this._userManager.events.addUserUnloaded(this._stop);\n this._init().catch((err) => {\n this._logger.error(err);\n });\n }\n async _init() {\n this._logger.create(\"_init\");\n const user = await this._userManager.getUser();\n if (user) {\n void this._start(user);\n } else if (this._userManager.settings.monitorAnonymousSession) {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub ? {\n sub: session.sub\n } : null\n };\n void this._start(tmpUser);\n }\n }\n }\n};\n\n// src/User.ts\nvar User = class _User {\n constructor(args) {\n var _a;\n this.id_token = args.id_token;\n this.session_state = (_a = args.session_state) != null ? _a : null;\n this.access_token = args.access_token;\n this.refresh_token = args.refresh_token;\n this.token_type = args.token_type;\n this.scope = args.scope;\n this.profile = args.profile;\n this.expires_at = args.expires_at;\n this.state = args.userState;\n this.url_state = args.url_state;\n }\n /** Computed number of seconds the access token has remaining. */\n get expires_in() {\n if (this.expires_at === void 0) {\n return void 0;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n set expires_in(value) {\n if (value !== void 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n /** Computed value indicating if the access token is expired. */\n get expired() {\n const expires_in = this.expires_in;\n if (expires_in === void 0) {\n return void 0;\n }\n return expires_in <= 0;\n }\n /** Array representing the parsed values from the `scope`. */\n get scopes() {\n var _a, _b;\n return (_b = (_a = this.scope) == null ? void 0 : _a.split(\" \")) != null ? _b : [];\n }\n toStorageString() {\n new Logger(\"User\").create(\"toStorageString\");\n return JSON.stringify({\n id_token: this.id_token,\n session_state: this.session_state,\n access_token: this.access_token,\n refresh_token: this.refresh_token,\n token_type: this.token_type,\n scope: this.scope,\n profile: this.profile,\n expires_at: this.expires_at\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"User\", \"fromStorageString\");\n return new _User(JSON.parse(storageString));\n }\n};\n\n// src/navigators/AbstractChildWindow.ts\nvar messageSource = \"oidc-client\";\nvar AbstractChildWindow = class {\n constructor() {\n this._abort = new Event(\"Window navigation aborted\");\n this._disposeHandlers = /* @__PURE__ */ new Set();\n this._window = null;\n }\n async navigate(params) {\n const logger2 = this._logger.create(\"navigate\");\n if (!this._window) {\n throw new Error(\"Attempted to navigate on a disposed window\");\n }\n logger2.debug(\"setting URL in window\");\n this._window.location.replace(params.url);\n const { url, keepOpen } = await new Promise((resolve, reject) => {\n const listener = (e) => {\n var _a;\n const data = e.data;\n const origin = (_a = params.scriptOrigin) != null ? _a : window.location.origin;\n if (e.origin !== origin || (data == null ? void 0 : data.source) !== messageSource) {\n return;\n }\n try {\n const state = UrlUtils.readParams(data.url, params.response_mode).get(\"state\");\n if (!state) {\n logger2.warn(\"no state found in response url\");\n }\n if (e.source !== this._window && state !== params.state) {\n return;\n }\n } catch (err) {\n this._dispose();\n reject(new Error(\"Invalid response from window\"));\n }\n resolve(data);\n };\n window.addEventListener(\"message\", listener, false);\n this._disposeHandlers.add(() => window.removeEventListener(\"message\", listener, false));\n this._disposeHandlers.add(this._abort.addHandler((reason) => {\n this._dispose();\n reject(reason);\n }));\n });\n logger2.debug(\"got response from window\");\n this._dispose();\n if (!keepOpen) {\n this.close();\n }\n return { url };\n }\n _dispose() {\n this._logger.create(\"_dispose\");\n for (const dispose of this._disposeHandlers) {\n dispose();\n }\n this._disposeHandlers.clear();\n }\n static _notifyParent(parent, url, keepOpen = false, targetOrigin = window.location.origin) {\n parent.postMessage({\n source: messageSource,\n url,\n keepOpen\n }, targetOrigin);\n }\n};\n\n// src/UserManagerSettings.ts\nvar DefaultPopupWindowFeatures = {\n location: false,\n toolbar: false,\n height: 640,\n closePopupWindowAfterInSeconds: -1\n};\nvar DefaultPopupTarget = \"_blank\";\nvar DefaultAccessTokenExpiringNotificationTimeInSeconds = 60;\nvar DefaultCheckSessionIntervalInSeconds = 2;\nvar DefaultSilentRequestTimeoutInSeconds = 10;\nvar UserManagerSettingsStore = class extends OidcClientSettingsStore {\n constructor(args) {\n const {\n popup_redirect_uri = args.redirect_uri,\n popup_post_logout_redirect_uri = args.post_logout_redirect_uri,\n popupWindowFeatures = DefaultPopupWindowFeatures,\n popupWindowTarget = DefaultPopupTarget,\n redirectMethod = \"assign\",\n redirectTarget = \"self\",\n iframeNotifyParentOrigin = args.iframeNotifyParentOrigin,\n iframeScriptOrigin = args.iframeScriptOrigin,\n requestTimeoutInSeconds,\n silent_redirect_uri = args.redirect_uri,\n silentRequestTimeoutInSeconds,\n automaticSilentRenew = true,\n validateSubOnSilentRenew = true,\n includeIdTokenInSilentRenew = false,\n monitorSession = false,\n monitorAnonymousSession = false,\n checkSessionIntervalInSeconds = DefaultCheckSessionIntervalInSeconds,\n query_status_response_type = \"code\",\n stopCheckSessionOnError = true,\n revokeTokenTypes = [\"access_token\", \"refresh_token\"],\n revokeTokensOnSignout = false,\n includeIdTokenInSilentSignout = false,\n accessTokenExpiringNotificationTimeInSeconds = DefaultAccessTokenExpiringNotificationTimeInSeconds,\n userStore\n } = args;\n super(args);\n this.popup_redirect_uri = popup_redirect_uri;\n this.popup_post_logout_redirect_uri = popup_post_logout_redirect_uri;\n this.popupWindowFeatures = popupWindowFeatures;\n this.popupWindowTarget = popupWindowTarget;\n this.redirectMethod = redirectMethod;\n this.redirectTarget = redirectTarget;\n this.iframeNotifyParentOrigin = iframeNotifyParentOrigin;\n this.iframeScriptOrigin = iframeScriptOrigin;\n this.silent_redirect_uri = silent_redirect_uri;\n this.silentRequestTimeoutInSeconds = silentRequestTimeoutInSeconds || requestTimeoutInSeconds || DefaultSilentRequestTimeoutInSeconds;\n this.automaticSilentRenew = automaticSilentRenew;\n this.validateSubOnSilentRenew = validateSubOnSilentRenew;\n this.includeIdTokenInSilentRenew = includeIdTokenInSilentRenew;\n this.monitorSession = monitorSession;\n this.monitorAnonymousSession = monitorAnonymousSession;\n this.checkSessionIntervalInSeconds = checkSessionIntervalInSeconds;\n this.stopCheckSessionOnError = stopCheckSessionOnError;\n this.query_status_response_type = query_status_response_type;\n this.revokeTokenTypes = revokeTokenTypes;\n this.revokeTokensOnSignout = revokeTokensOnSignout;\n this.includeIdTokenInSilentSignout = includeIdTokenInSilentSignout;\n this.accessTokenExpiringNotificationTimeInSeconds = accessTokenExpiringNotificationTimeInSeconds;\n if (userStore) {\n this.userStore = userStore;\n } else {\n const store = typeof window !== \"undefined\" ? window.sessionStorage : new InMemoryWebStorage();\n this.userStore = new WebStorageStateStore({ store });\n }\n }\n};\n\n// src/navigators/IFrameWindow.ts\nvar IFrameWindow = class _IFrameWindow extends AbstractChildWindow {\n constructor({\n silentRequestTimeoutInSeconds = DefaultSilentRequestTimeoutInSeconds\n }) {\n super();\n this._logger = new Logger(\"IFrameWindow\");\n this._timeoutInSeconds = silentRequestTimeoutInSeconds;\n this._frame = _IFrameWindow.createHiddenIframe();\n this._window = this._frame.contentWindow;\n }\n static createHiddenIframe() {\n const iframe = window.document.createElement(\"iframe\");\n iframe.style.visibility = \"hidden\";\n iframe.style.position = \"fixed\";\n iframe.style.left = \"-1000px\";\n iframe.style.top = \"0\";\n iframe.width = \"0\";\n iframe.height = \"0\";\n window.document.body.appendChild(iframe);\n return iframe;\n }\n async navigate(params) {\n this._logger.debug(\"navigate: Using timeout of:\", this._timeoutInSeconds);\n const timer = setTimeout(() => void this._abort.raise(new ErrorTimeout(\"IFrame timed out without a response\")), this._timeoutInSeconds * 1e3);\n this._disposeHandlers.add(() => clearTimeout(timer));\n return await super.navigate(params);\n }\n close() {\n var _a;\n if (this._frame) {\n if (this._frame.parentNode) {\n this._frame.addEventListener(\"load\", (ev) => {\n var _a2;\n const frame = ev.target;\n (_a2 = frame.parentNode) == null ? void 0 : _a2.removeChild(frame);\n void this._abort.raise(new Error(\"IFrame removed from DOM\"));\n }, true);\n (_a = this._frame.contentWindow) == null ? void 0 : _a.location.replace(\"about:blank\");\n }\n this._frame = null;\n }\n this._window = null;\n }\n static notifyParent(url, targetOrigin) {\n return super._notifyParent(window.parent, url, false, targetOrigin);\n }\n};\n\n// src/navigators/IFrameNavigator.ts\nvar IFrameNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"IFrameNavigator\");\n }\n async prepare({\n silentRequestTimeoutInSeconds = this._settings.silentRequestTimeoutInSeconds\n }) {\n return new IFrameWindow({ silentRequestTimeoutInSeconds });\n }\n async callback(url) {\n this._logger.create(\"callback\");\n IFrameWindow.notifyParent(url, this._settings.iframeNotifyParentOrigin);\n }\n};\n\n// src/navigators/PopupWindow.ts\nvar checkForPopupClosedInterval = 500;\nvar second = 1e3;\nvar PopupWindow = class extends AbstractChildWindow {\n constructor({\n popupWindowTarget = DefaultPopupTarget,\n popupWindowFeatures = {},\n popupSignal\n }) {\n super();\n this._logger = new Logger(\"PopupWindow\");\n const centeredPopup = PopupUtils.center({ ...DefaultPopupWindowFeatures, ...popupWindowFeatures });\n this._window = window.open(void 0, popupWindowTarget, PopupUtils.serialize(centeredPopup));\n if (popupSignal) {\n popupSignal.addEventListener(\"abort\", () => {\n var _a;\n void this._abort.raise(new Error((_a = popupSignal.reason) != null ? _a : \"Popup aborted\"));\n });\n }\n if (popupWindowFeatures.closePopupWindowAfterInSeconds && popupWindowFeatures.closePopupWindowAfterInSeconds > 0) {\n setTimeout(() => {\n if (!this._window || typeof this._window.closed !== \"boolean\" || this._window.closed) {\n void this._abort.raise(new Error(\"Popup blocked by user\"));\n return;\n }\n this.close();\n }, popupWindowFeatures.closePopupWindowAfterInSeconds * second);\n }\n }\n async navigate(params) {\n var _a;\n (_a = this._window) == null ? void 0 : _a.focus();\n const popupClosedInterval = setInterval(() => {\n if (!this._window || this._window.closed) {\n void this._abort.raise(new Error(\"Popup closed by user\"));\n }\n }, checkForPopupClosedInterval);\n this._disposeHandlers.add(() => clearInterval(popupClosedInterval));\n return await super.navigate(params);\n }\n close() {\n if (this._window) {\n if (!this._window.closed) {\n this._window.close();\n void this._abort.raise(new Error(\"Popup closed\"));\n }\n }\n this._window = null;\n }\n static notifyOpener(url, keepOpen) {\n if (!window.opener) {\n throw new Error(\"No window.opener. Can't complete notification.\");\n }\n return super._notifyParent(window.opener, url, keepOpen);\n }\n};\n\n// src/navigators/PopupNavigator.ts\nvar PopupNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"PopupNavigator\");\n }\n async prepare({\n popupWindowFeatures = this._settings.popupWindowFeatures,\n popupWindowTarget = this._settings.popupWindowTarget,\n popupSignal\n }) {\n return new PopupWindow({ popupWindowFeatures, popupWindowTarget, popupSignal });\n }\n async callback(url, { keepOpen = false }) {\n this._logger.create(\"callback\");\n PopupWindow.notifyOpener(url, keepOpen);\n }\n};\n\n// src/navigators/RedirectNavigator.ts\nvar RedirectNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"RedirectNavigator\");\n }\n async prepare({\n redirectMethod = this._settings.redirectMethod,\n redirectTarget = this._settings.redirectTarget\n }) {\n var _a;\n this._logger.create(\"prepare\");\n let targetWindow = window.self;\n if (redirectTarget === \"top\") {\n targetWindow = (_a = window.top) != null ? _a : window.self;\n }\n const redirect = targetWindow.location[redirectMethod].bind(targetWindow.location);\n let abort;\n return {\n navigate: async (params) => {\n this._logger.create(\"navigate\");\n const promise = new Promise((resolve, reject) => {\n abort = reject;\n });\n redirect(params.url);\n return await promise;\n },\n close: () => {\n this._logger.create(\"close\");\n abort == null ? void 0 : abort(new Error(\"Redirect aborted\"));\n targetWindow.stop();\n }\n };\n }\n async callback() {\n return;\n }\n};\n\n// src/UserManagerEvents.ts\nvar UserManagerEvents = class extends AccessTokenEvents {\n constructor(settings) {\n super({ expiringNotificationTimeInSeconds: settings.accessTokenExpiringNotificationTimeInSeconds });\n this._logger = new Logger(\"UserManagerEvents\");\n this._userLoaded = new Event(\"User loaded\");\n this._userUnloaded = new Event(\"User unloaded\");\n this._silentRenewError = new Event(\"Silent renew error\");\n this._userSignedIn = new Event(\"User signed in\");\n this._userSignedOut = new Event(\"User signed out\");\n this._userSessionChanged = new Event(\"User session changed\");\n }\n async load(user, raiseEvent = true) {\n super.load(user);\n if (raiseEvent) {\n await this._userLoaded.raise(user);\n }\n }\n async unload() {\n super.unload();\n await this._userUnloaded.raise();\n }\n /**\n * Add callback: Raised when a user session has been established (or re-established).\n */\n addUserLoaded(cb) {\n return this._userLoaded.addHandler(cb);\n }\n /**\n * Remove callback: Raised when a user session has been established (or re-established).\n */\n removeUserLoaded(cb) {\n return this._userLoaded.removeHandler(cb);\n }\n /**\n * Add callback: Raised when a user session has been terminated.\n */\n addUserUnloaded(cb) {\n return this._userUnloaded.addHandler(cb);\n }\n /**\n * Remove callback: Raised when a user session has been terminated.\n */\n removeUserUnloaded(cb) {\n return this._userUnloaded.removeHandler(cb);\n }\n /**\n * Add callback: Raised when the automatic silent renew has failed.\n */\n addSilentRenewError(cb) {\n return this._silentRenewError.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the automatic silent renew has failed.\n */\n removeSilentRenewError(cb) {\n return this._silentRenewError.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseSilentRenewError(e) {\n await this._silentRenewError.raise(e);\n }\n /**\n * Add callback: Raised when the user is signed in (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSignedIn(cb) {\n return this._userSignedIn.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user is signed in (when `monitorSession` is set).\n */\n removeUserSignedIn(cb) {\n this._userSignedIn.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSignedIn() {\n await this._userSignedIn.raise();\n }\n /**\n * Add callback: Raised when the user's sign-in status at the OP has changed (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSignedOut(cb) {\n return this._userSignedOut.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user's sign-in status at the OP has changed (when `monitorSession` is set).\n */\n removeUserSignedOut(cb) {\n this._userSignedOut.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSignedOut() {\n await this._userSignedOut.raise();\n }\n /**\n * Add callback: Raised when the user session changed (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSessionChanged(cb) {\n return this._userSessionChanged.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user session changed (when `monitorSession` is set).\n */\n removeUserSessionChanged(cb) {\n this._userSessionChanged.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSessionChanged() {\n await this._userSessionChanged.raise();\n }\n};\n\n// src/SilentRenewService.ts\nvar SilentRenewService = class {\n constructor(_userManager) {\n this._userManager = _userManager;\n this._logger = new Logger(\"SilentRenewService\");\n this._isStarted = false;\n this._retryTimer = new Timer(\"Retry Silent Renew\");\n this._tokenExpiring = async () => {\n const logger2 = this._logger.create(\"_tokenExpiring\");\n try {\n await this._userManager.signinSilent();\n logger2.debug(\"silent token renewal successful\");\n } catch (err) {\n if (err instanceof ErrorTimeout) {\n logger2.warn(\"ErrorTimeout from signinSilent:\", err, \"retry in 5s\");\n this._retryTimer.init(5);\n return;\n }\n logger2.error(\"Error from signinSilent:\", err);\n await this._userManager.events._raiseSilentRenewError(err);\n }\n };\n }\n async start() {\n const logger2 = this._logger.create(\"start\");\n if (!this._isStarted) {\n this._isStarted = true;\n this._userManager.events.addAccessTokenExpiring(this._tokenExpiring);\n this._retryTimer.addHandler(this._tokenExpiring);\n try {\n await this._userManager.getUser();\n } catch (err) {\n logger2.error(\"getUser error\", err);\n }\n }\n }\n stop() {\n if (this._isStarted) {\n this._retryTimer.cancel();\n this._retryTimer.removeHandler(this._tokenExpiring);\n this._userManager.events.removeAccessTokenExpiring(this._tokenExpiring);\n this._isStarted = false;\n }\n }\n};\n\n// src/RefreshState.ts\nvar RefreshState = class {\n constructor(args) {\n this.refresh_token = args.refresh_token;\n this.id_token = args.id_token;\n this.session_state = args.session_state;\n this.scope = args.scope;\n this.profile = args.profile;\n this.data = args.state;\n }\n};\n\n// src/UserManager.ts\nvar UserManager = class {\n constructor(settings, redirectNavigator, popupNavigator, iframeNavigator) {\n this._logger = new Logger(\"UserManager\");\n this.settings = new UserManagerSettingsStore(settings);\n this._client = new OidcClient(settings);\n this._redirectNavigator = redirectNavigator != null ? redirectNavigator : new RedirectNavigator(this.settings);\n this._popupNavigator = popupNavigator != null ? popupNavigator : new PopupNavigator(this.settings);\n this._iframeNavigator = iframeNavigator != null ? iframeNavigator : new IFrameNavigator(this.settings);\n this._events = new UserManagerEvents(this.settings);\n this._silentRenewService = new SilentRenewService(this);\n if (this.settings.automaticSilentRenew) {\n this.startSilentRenew();\n }\n this._sessionMonitor = null;\n if (this.settings.monitorSession) {\n this._sessionMonitor = new SessionMonitor(this);\n }\n }\n /**\n * Get object used to register for events raised by the `UserManager`.\n */\n get events() {\n return this._events;\n }\n /**\n * Get object used to access the metadata configuration of the identity provider.\n */\n get metadataService() {\n return this._client.metadataService;\n }\n /**\n * Load the `User` object for the currently authenticated user.\n *\n * @returns A promise\n */\n async getUser() {\n const logger2 = this._logger.create(\"getUser\");\n const user = await this._loadUser();\n if (user) {\n logger2.info(\"user loaded\");\n await this._events.load(user, false);\n return user;\n }\n logger2.info(\"user not found in storage\");\n return null;\n }\n /**\n * Remove from any storage the currently authenticated user.\n *\n * @returns A promise\n */\n async removeUser() {\n const logger2 = this._logger.create(\"removeUser\");\n await this.storeUser(null);\n logger2.info(\"user removed from storage\");\n await this._events.unload();\n }\n /**\n * Trigger a redirect of the current window to the authorization endpoint.\n *\n * @returns A promise\n *\n * @throws `Error` In cases of wrong authentication.\n */\n async signinRedirect(args = {}) {\n var _a;\n this._logger.create(\"signinRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n let dpopJkt;\n if ((_a = this.settings.dpop) == null ? void 0 : _a.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signinStart({\n request_type: \"si:r\",\n dpopJkt,\n ...requestArgs\n }, handle);\n }\n /**\n * Process the response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise containing the authenticated `User`.\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinRedirectCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signinRedirectCallback\");\n const user = await this._signinEnd(url);\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n return user;\n }\n /**\n * Trigger the signin with user/password.\n *\n * @returns A promise containing the authenticated `User`.\n * @throws {@link ErrorResponse} In cases of wrong authentication.\n */\n async signinResourceOwnerCredentials({\n username,\n password,\n skipUserInfo = false\n }) {\n const logger2 = this._logger.create(\"signinResourceOwnerCredential\");\n const signinResponse = await this._client.processResourceOwnerPasswordCredentials({\n username,\n password,\n skipUserInfo,\n extraTokenParams: this.settings.extraTokenParams\n });\n logger2.debug(\"got signin response\");\n const user = await this._buildUser(signinResponse);\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n return user;\n }\n /**\n * Trigger a request (via a popup window) to the authorization endpoint.\n *\n * @returns A promise containing the authenticated `User`.\n * @throws `Error` In cases of wrong authentication.\n */\n async signinPopup(args = {}) {\n var _a;\n const logger2 = this._logger.create(\"signinPopup\");\n let dpopJkt;\n if ((_a = this.settings.dpop) == null ? void 0 : _a.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n const {\n popupWindowFeatures,\n popupWindowTarget,\n popupSignal,\n ...requestArgs\n } = args;\n const url = this.settings.popup_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No popup_redirect_uri configured\"));\n }\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget, popupSignal });\n const user = await this._signin({\n request_type: \"si:p\",\n redirect_uri: url,\n display: \"popup\",\n dpopJkt,\n ...requestArgs\n }, handle);\n if (user) {\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n }\n return user;\n }\n /**\n * Notify the opening window of response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinPopupCallback(url = window.location.href, keepOpen = false) {\n const logger2 = this._logger.create(\"signinPopupCallback\");\n await this._popupNavigator.callback(url, { keepOpen });\n logger2.info(\"success\");\n }\n /**\n * Trigger a silent request (via refresh token or an iframe) to the authorization endpoint.\n *\n * @returns A promise that contains the authenticated `User`.\n */\n async signinSilent(args = {}) {\n var _a, _b;\n const logger2 = this._logger.create(\"signinSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n let user = await this._loadUser();\n if (user == null ? void 0 : user.refresh_token) {\n logger2.debug(\"using refresh token\");\n const state = new RefreshState(user);\n return await this._useRefreshToken({\n state,\n redirect_uri: requestArgs.redirect_uri,\n resource: requestArgs.resource,\n extraTokenParams: requestArgs.extraTokenParams,\n timeoutInSeconds: silentRequestTimeoutInSeconds\n });\n }\n let dpopJkt;\n if ((_a = this.settings.dpop) == null ? void 0 : _a.bind_authorization_code) {\n dpopJkt = await this.generateDPoPJkt(this.settings.dpop);\n }\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n let verifySub;\n if (user && this.settings.validateSubOnSilentRenew) {\n logger2.debug(\"subject prior to silent renew:\", user.profile.sub);\n verifySub = user.profile.sub;\n }\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n user = await this._signin({\n request_type: \"si:s\",\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user == null ? void 0 : user.id_token : void 0,\n dpopJkt,\n ...requestArgs\n }, handle, verifySub);\n if (user) {\n if ((_b = user.profile) == null ? void 0 : _b.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n }\n return user;\n }\n async _useRefreshToken(args) {\n const response = await this._client.useRefreshToken({\n timeoutInSeconds: this.settings.silentRequestTimeoutInSeconds,\n ...args\n });\n const user = new User({ ...args.state, ...response });\n await this.storeUser(user);\n await this._events.load(user);\n return user;\n }\n /**\n *\n * Notify the parent window of response (callback) from the authorization endpoint.\n * It is recommended to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinSilentCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signinSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger2.info(\"success\");\n }\n /**\n * Process any response (callback) from the authorization endpoint, by dispatching the request_type\n * and executing one of the following functions:\n * - {@link UserManager.signinRedirectCallback}\n * - {@link UserManager.signinPopupCallback}\n * - {@link UserManager.signinSilentCallback}\n *\n * @throws `Error` If request_type is unknown or signin cannot be processed.\n */\n async signinCallback(url = window.location.href) {\n const { state } = await this._client.readSigninResponseState(url);\n switch (state.request_type) {\n case \"si:r\":\n return await this.signinRedirectCallback(url);\n case \"si:p\":\n await this.signinPopupCallback(url);\n break;\n case \"si:s\":\n await this.signinSilentCallback(url);\n break;\n default:\n throw new Error(\"invalid response_type in state\");\n }\n return void 0;\n }\n /**\n * Process any response (callback) from the end session endpoint, by dispatching the request_type\n * and executing one of the following functions:\n * - {@link UserManager.signoutRedirectCallback}\n * - {@link UserManager.signoutPopupCallback}\n * - {@link UserManager.signoutSilentCallback}\n *\n * @throws `Error` If request_type is unknown or signout cannot be processed.\n */\n async signoutCallback(url = window.location.href, keepOpen = false) {\n const { state } = await this._client.readSignoutResponseState(url);\n if (!state) {\n return void 0;\n }\n switch (state.request_type) {\n case \"so:r\":\n return await this.signoutRedirectCallback(url);\n case \"so:p\":\n await this.signoutPopupCallback(url, keepOpen);\n break;\n case \"so:s\":\n await this.signoutSilentCallback(url);\n break;\n default:\n throw new Error(\"invalid response_type in state\");\n }\n return void 0;\n }\n /**\n * Query OP for user's current signin status.\n *\n * @returns A promise object with session_state and subject identifier.\n */\n async querySessionStatus(args = {}) {\n const logger2 = this._logger.create(\"querySessionStatus\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n const user = await this._loadUser();\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n const navResponse = await this._signinStart({\n request_type: \"si:s\",\n // this acts like a signin silent\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user == null ? void 0 : user.id_token : void 0,\n response_type: this.settings.query_status_response_type,\n scope: \"openid\",\n skipUserInfo: true,\n ...requestArgs\n }, handle);\n try {\n const extraHeaders = {};\n const signinResponse = await this._client.processSigninResponse(navResponse.url, extraHeaders);\n logger2.debug(\"got signin response\");\n if (signinResponse.session_state && signinResponse.profile.sub) {\n logger2.info(\"success for subject\", signinResponse.profile.sub);\n return {\n session_state: signinResponse.session_state,\n sub: signinResponse.profile.sub\n };\n }\n logger2.info(\"success, user not authenticated\");\n return null;\n } catch (err) {\n if (this.settings.monitorAnonymousSession && err instanceof ErrorResponse) {\n switch (err.error) {\n case \"login_required\":\n case \"consent_required\":\n case \"interaction_required\":\n case \"account_selection_required\":\n logger2.info(\"success for anonymous user\");\n return {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n session_state: err.session_state\n };\n }\n }\n throw err;\n }\n }\n async _signin(args, handle, verifySub) {\n const navResponse = await this._signinStart(args, handle);\n return await this._signinEnd(navResponse.url, verifySub);\n }\n async _signinStart(args, handle) {\n const logger2 = this._logger.create(\"_signinStart\");\n try {\n const signinRequest = await this._client.createSigninRequest(args);\n logger2.debug(\"got signin request\");\n return await handle.navigate({\n url: signinRequest.url,\n state: signinRequest.state.id,\n response_mode: signinRequest.state.response_mode,\n scriptOrigin: this.settings.iframeScriptOrigin\n });\n } catch (err) {\n logger2.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n async _signinEnd(url, verifySub) {\n const logger2 = this._logger.create(\"_signinEnd\");\n const extraHeaders = {};\n const signinResponse = await this._client.processSigninResponse(url, extraHeaders);\n logger2.debug(\"got signin response\");\n const user = await this._buildUser(signinResponse, verifySub);\n return user;\n }\n async _buildUser(signinResponse, verifySub) {\n const logger2 = this._logger.create(\"_buildUser\");\n const user = new User(signinResponse);\n if (verifySub) {\n if (verifySub !== user.profile.sub) {\n logger2.debug(\"current user does not match user returned from signin. sub from signin:\", user.profile.sub);\n throw new ErrorResponse({ ...signinResponse, error: \"login_required\" });\n }\n logger2.debug(\"current user matches user returned from signin\");\n }\n await this.storeUser(user);\n logger2.debug(\"user stored\");\n await this._events.load(user);\n return user;\n }\n /**\n * Trigger a redirect of the current window to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutRedirect(args = {}) {\n const logger2 = this._logger.create(\"signoutRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signoutStart({\n request_type: \"so:r\",\n post_logout_redirect_uri: this.settings.post_logout_redirect_uri,\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Process response (callback) from the end session endpoint.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise containing signout response\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutRedirectCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signoutRedirectCallback\");\n const response = await this._signoutEnd(url);\n logger2.info(\"success\");\n return response;\n }\n /**\n * Trigger a redirect of a popup window to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutPopup(args = {}) {\n const logger2 = this._logger.create(\"signoutPopup\");\n const {\n popupWindowFeatures,\n popupWindowTarget,\n popupSignal,\n ...requestArgs\n } = args;\n const url = this.settings.popup_post_logout_redirect_uri;\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget, popupSignal });\n await this._signout({\n request_type: \"so:p\",\n post_logout_redirect_uri: url,\n // we're putting a dummy entry in here because we\n // need a unique id from the state for notification\n // to the parent window, which is necessary if we\n // plan to return back to the client after signout\n // and so we can close the popup after signout\n state: url == null ? void 0 : {},\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Process response (callback) from the end session endpoint from a popup window.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutPopupCallback(url = window.location.href, keepOpen = false) {\n const logger2 = this._logger.create(\"signoutPopupCallback\");\n await this._popupNavigator.callback(url, { keepOpen });\n logger2.info(\"success\");\n }\n async _signout(args, handle) {\n const navResponse = await this._signoutStart(args, handle);\n return await this._signoutEnd(navResponse.url);\n }\n async _signoutStart(args = {}, handle) {\n var _a;\n const logger2 = this._logger.create(\"_signoutStart\");\n try {\n const user = await this._loadUser();\n logger2.debug(\"loaded current user from storage\");\n if (this.settings.revokeTokensOnSignout) {\n await this._revokeInternal(user);\n }\n const id_token = args.id_token_hint || user && user.id_token;\n if (id_token) {\n logger2.debug(\"setting id_token_hint in signout request\");\n args.id_token_hint = id_token;\n }\n await this.removeUser();\n logger2.debug(\"user removed, creating signout request\");\n const signoutRequest = await this._client.createSignoutRequest(args);\n logger2.debug(\"got signout request\");\n return await handle.navigate({\n url: signoutRequest.url,\n state: (_a = signoutRequest.state) == null ? void 0 : _a.id,\n scriptOrigin: this.settings.iframeScriptOrigin\n });\n } catch (err) {\n logger2.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n async _signoutEnd(url) {\n const logger2 = this._logger.create(\"_signoutEnd\");\n const signoutResponse = await this._client.processSignoutResponse(url);\n logger2.debug(\"got signout response\");\n return signoutResponse;\n }\n /**\n * Trigger a silent request (via an iframe) to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutSilent(args = {}) {\n var _a;\n const logger2 = this._logger.create(\"signoutSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n const id_token_hint = this.settings.includeIdTokenInSilentSignout ? (_a = await this._loadUser()) == null ? void 0 : _a.id_token : void 0;\n const url = this.settings.popup_post_logout_redirect_uri;\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n await this._signout({\n request_type: \"so:s\",\n post_logout_redirect_uri: url,\n id_token_hint,\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Notify the parent window of response (callback) from the end session endpoint.\n * It is recommended to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutSilentCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signoutSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger2.info(\"success\");\n }\n async revokeTokens(types) {\n const user = await this._loadUser();\n await this._revokeInternal(user, types);\n }\n async _revokeInternal(user, types = this.settings.revokeTokenTypes) {\n const logger2 = this._logger.create(\"_revokeInternal\");\n if (!user) return;\n const typesPresent = types.filter((type) => typeof user[type] === \"string\");\n if (!typesPresent.length) {\n logger2.debug(\"no need to revoke due to no token(s)\");\n return;\n }\n for (const type of typesPresent) {\n await this._client.revokeToken(\n user[type],\n // eslint-disable-line @typescript-eslint/no-non-null-assertion\n type\n );\n logger2.info(`${type} revoked successfully`);\n if (type !== \"access_token\") {\n user[type] = null;\n }\n }\n await this.storeUser(user);\n logger2.debug(\"user stored\");\n await this._events.load(user);\n }\n /**\n * Enables silent renew for the `UserManager`.\n */\n startSilentRenew() {\n this._logger.create(\"startSilentRenew\");\n void this._silentRenewService.start();\n }\n /**\n * Disables silent renew for the `UserManager`.\n */\n stopSilentRenew() {\n this._silentRenewService.stop();\n }\n get _userStoreKey() {\n return `user:${this.settings.authority}:${this.settings.client_id}`;\n }\n async _loadUser() {\n const logger2 = this._logger.create(\"_loadUser\");\n const storageString = await this.settings.userStore.get(this._userStoreKey);\n if (storageString) {\n logger2.debug(\"user storageString loaded\");\n return User.fromStorageString(storageString);\n }\n logger2.debug(\"no user storageString\");\n return null;\n }\n async storeUser(user) {\n const logger2 = this._logger.create(\"storeUser\");\n if (user) {\n logger2.debug(\"storing user\");\n const storageString = user.toStorageString();\n await this.settings.userStore.set(this._userStoreKey, storageString);\n } else {\n this._logger.debug(\"removing user\");\n await this.settings.userStore.remove(this._userStoreKey);\n if (this.settings.dpop) {\n await this.settings.dpop.store.remove(this.settings.client_id);\n }\n }\n }\n /**\n * Removes stale state entries in storage for incomplete authorize requests.\n */\n async clearStaleState() {\n await this._client.clearStaleState();\n }\n /**\n * Dynamically generates a DPoP proof for a given user, URL and optional Http method.\n * This method is useful when you need to make a request to a resource server\n * with fetch or similar, and you need to include a DPoP proof in a DPoP header.\n * @param url - The URL to generate the DPoP proof for\n * @param user - The user to generate the DPoP proof for\n * @param httpMethod - Optional, defaults to \"GET\"\n * @param nonce - Optional nonce provided by the resource server\n *\n * @returns A promise containing the DPoP proof or undefined if DPoP is not enabled/no user is found.\n */\n async dpopProof(url, user, httpMethod, nonce) {\n var _a, _b;\n const dpopState = await ((_b = (_a = this.settings.dpop) == null ? void 0 : _a.store) == null ? void 0 : _b.get(this.settings.client_id));\n if (dpopState) {\n return await CryptoUtils.generateDPoPProof({\n url,\n accessToken: user == null ? void 0 : user.access_token,\n httpMethod,\n keyPair: dpopState.keys,\n nonce\n });\n }\n return void 0;\n }\n async generateDPoPJkt(dpopSettings) {\n let dpopState = await dpopSettings.store.get(this.settings.client_id);\n if (!dpopState) {\n const dpopKeys = await CryptoUtils.generateDPoPKeys();\n dpopState = new DPoPState(dpopKeys);\n await dpopSettings.store.set(this.settings.client_id, dpopState);\n }\n return await CryptoUtils.generateDPoPJkt(dpopState.keys);\n }\n};\n\n// package.json\nvar version = \"3.1.0\";\n\n// src/Version.ts\nvar Version = version;\n\n// src/IndexedDbDPoPStore.ts\nvar IndexedDbDPoPStore = class {\n constructor() {\n this._dbName = \"oidc\";\n this._storeName = \"dpop\";\n }\n async set(key, value) {\n const store = await this.createStore(this._dbName, this._storeName);\n await store(\"readwrite\", (str) => {\n str.put(value, key);\n return this.promisifyRequest(str.transaction);\n });\n }\n async get(key) {\n const store = await this.createStore(this._dbName, this._storeName);\n return await store(\"readonly\", (str) => {\n return this.promisifyRequest(str.get(key));\n });\n }\n async remove(key) {\n const item = await this.get(key);\n const store = await this.createStore(this._dbName, this._storeName);\n await store(\"readwrite\", (str) => {\n return this.promisifyRequest(str.delete(key));\n });\n return item;\n }\n async getAllKeys() {\n const store = await this.createStore(this._dbName, this._storeName);\n return await store(\"readonly\", (str) => {\n return this.promisifyRequest(str.getAllKeys());\n });\n }\n promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n request.onabort = request.onerror = () => reject(request.error);\n });\n }\n async createStore(dbName, storeName) {\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n const db = await this.promisifyRequest(request);\n return async (txMode, callback) => {\n const tx = db.transaction(storeName, txMode);\n const store = tx.objectStore(storeName);\n return await callback(store);\n };\n }\n};\nexport {\n AccessTokenEvents,\n CheckSessionIFrame,\n DPoPState,\n ErrorResponse,\n ErrorTimeout,\n InMemoryWebStorage,\n IndexedDbDPoPStore,\n Log,\n Logger,\n MetadataService,\n OidcClient,\n OidcClientSettingsStore,\n SessionMonitor,\n SigninResponse,\n SigninState,\n SignoutResponse,\n State,\n User,\n UserManager,\n UserManagerSettingsStore,\n Version,\n WebStorageStateStore\n};\n","import * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, Inject, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { defer, of } from 'rxjs';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nconst JWT_OPTIONS = new InjectionToken('JWT_OPTIONS');\n\n/* eslint-disable no-bitwise */\nclass JwtHelperService {\n constructor(config = null) {\n this.tokenGetter = (config && config.tokenGetter) || function () { };\n }\n urlBase64Decode(str) {\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0: {\n break;\n }\n case 2: {\n output += '==';\n break;\n }\n case 3: {\n output += '=';\n break;\n }\n default: {\n throw new Error('Illegal base64url string!');\n }\n }\n return this.b64DecodeUnicode(output);\n }\n // credits for decoder goes to https://github.com/atk\n b64decode(str) {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n let output = '';\n str = String(str).replace(/=+$/, '');\n if (str.length % 4 === 1) {\n throw new Error(`'atob' failed: The string to be decoded is not correctly encoded.`);\n }\n for (\n // initialize result and counters\n let bc = 0, bs, buffer, idx = 0; \n // get next character\n (buffer = str.charAt(idx++)); \n // character found in table? initialize bit storage and add its ascii value;\n ~buffer &&\n ((bs = bc % 4 ? bs * 64 + buffer : buffer),\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4)\n ? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6))))\n : 0) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n }\n b64DecodeUnicode(str) {\n return decodeURIComponent(Array.prototype.map\n .call(this.b64decode(str), (c) => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(''));\n }\n decodeToken(token = this.tokenGetter()) {\n if (token instanceof Promise) {\n return token.then(t => this._decodeToken(t));\n }\n return this._decodeToken(token);\n }\n _decodeToken(token) {\n if (!token || token === '') {\n return null;\n }\n const parts = token.split('.');\n if (parts.length !== 3) {\n throw new Error(`The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.`);\n }\n const decoded = this.urlBase64Decode(parts[1]);\n if (!decoded) {\n throw new Error('Cannot decode the token.');\n }\n return JSON.parse(decoded);\n }\n getTokenExpirationDate(token = this.tokenGetter()) {\n if (token instanceof Promise) {\n return token.then(t => this._getTokenExpirationDate(t));\n }\n return this._getTokenExpirationDate(token);\n }\n _getTokenExpirationDate(token) {\n let decoded;\n decoded = this.decodeToken(token);\n if (!decoded || !decoded.hasOwnProperty('exp')) {\n return null;\n }\n const date = new Date(0);\n date.setUTCSeconds(decoded.exp);\n return date;\n }\n isTokenExpired(token = this.tokenGetter(), offsetSeconds) {\n if (token instanceof Promise) {\n return token.then(t => this._isTokenExpired(t, offsetSeconds));\n }\n return this._isTokenExpired(token, offsetSeconds);\n }\n _isTokenExpired(token, offsetSeconds) {\n if (!token || token === '') {\n return true;\n }\n const date = this.getTokenExpirationDate(token);\n offsetSeconds = offsetSeconds || 0;\n if (date === null) {\n return false;\n }\n return !(date.valueOf() > new Date().valueOf() + offsetSeconds * 1000);\n }\n getAuthScheme(authScheme, request) {\n if (typeof authScheme === 'function') {\n return authScheme(request);\n }\n return authScheme;\n }\n}\nJwtHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtHelperService, deps: [{ token: JWT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });\nJwtHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtHelperService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtHelperService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [JWT_OPTIONS]\n }] }]; } });\n\nconst fromPromiseOrValue = (input) => {\n if (input instanceof Promise) {\n return defer(() => input);\n }\n return of(input);\n};\nclass JwtInterceptor {\n constructor(config, jwtHelper, document) {\n this.jwtHelper = jwtHelper;\n this.document = document;\n this.standardPorts = ['80', '443'];\n this.tokenGetter = config.tokenGetter;\n this.headerName = config.headerName || 'Authorization';\n this.authScheme =\n config.authScheme || config.authScheme === ''\n ? config.authScheme\n : 'Bearer ';\n this.allowedDomains = config.allowedDomains || [];\n this.disallowedRoutes = config.disallowedRoutes || [];\n this.throwNoTokenError = config.throwNoTokenError || false;\n this.skipWhenExpired = config.skipWhenExpired;\n }\n isAllowedDomain(request) {\n const requestUrl = new URL(request.url, this.document.location.origin);\n // If the host equals the current window origin,\n // the domain is allowed by default\n if (requestUrl.host === this.document.location.host) {\n return true;\n }\n // If not the current domain, check the allowed list\n const hostName = `${requestUrl.hostname}${requestUrl.port && !this.standardPorts.includes(requestUrl.port)\n ? ':' + requestUrl.port\n : ''}`;\n return (this.allowedDomains.findIndex((domain) => typeof domain === 'string'\n ? domain === hostName\n : domain instanceof RegExp\n ? domain.test(hostName)\n : false) > -1);\n }\n isDisallowedRoute(request) {\n const requestedUrl = new URL(request.url, this.document.location.origin);\n return (this.disallowedRoutes.findIndex((route) => {\n if (typeof route === 'string') {\n const parsedRoute = new URL(route, this.document.location.origin);\n return (parsedRoute.hostname === requestedUrl.hostname &&\n parsedRoute.pathname === requestedUrl.pathname);\n }\n if (route instanceof RegExp) {\n return route.test(request.url);\n }\n return false;\n }) > -1);\n }\n handleInterception(token, request, next) {\n const authScheme = this.jwtHelper.getAuthScheme(this.authScheme, request);\n if (!token && this.throwNoTokenError) {\n throw new Error('Could not get token from tokenGetter function.');\n }\n let tokenIsExpired = of(false);\n if (this.skipWhenExpired) {\n tokenIsExpired = token ? fromPromiseOrValue(this.jwtHelper.isTokenExpired(token)) : of(true);\n }\n if (token) {\n return tokenIsExpired.pipe(map((isExpired) => isExpired && this.skipWhenExpired\n ? request.clone()\n : request.clone({\n setHeaders: {\n [this.headerName]: `${authScheme}${token}`,\n },\n })), mergeMap((innerRequest) => next.handle(innerRequest)));\n }\n return next.handle(request);\n }\n intercept(request, next) {\n if (!this.isAllowedDomain(request) || this.isDisallowedRoute(request)) {\n return next.handle(request);\n }\n const token = this.tokenGetter(request);\n return fromPromiseOrValue(token).pipe(mergeMap((asyncToken) => {\n return this.handleInterception(asyncToken, request, next);\n }));\n }\n}\nJwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtInterceptor, deps: [{ token: JWT_OPTIONS }, { token: JwtHelperService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nJwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtInterceptor, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [JWT_OPTIONS]\n }] }, { type: JwtHelperService }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\nclass JwtModule {\n constructor(parentModule) {\n if (parentModule) {\n throw new Error(`JwtModule is already loaded. It should only be imported in your application's main module.`);\n }\n }\n static forRoot(options) {\n return {\n ngModule: JwtModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptor,\n multi: true,\n },\n options.jwtOptionsProvider || {\n provide: JWT_OPTIONS,\n useValue: options.config,\n },\n JwtHelperService,\n ],\n };\n }\n}\nJwtModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtModule, deps: [{ token: JwtModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });\nJwtModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtModule });\nJwtModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.3.0\", ngImport: i0, type: JwtModule, decorators: [{\n type: NgModule\n }], ctorParameters: function () { return [{ type: JwtModule, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }] }]; } });\n\n/*\n * Public API Surface of angular-jwt\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { JWT_OPTIONS, JwtHelperService, JwtInterceptor, JwtModule };\n","import { Injectable } from '@angular/core';\nimport { AccountsService } from './accounts.service';\nimport { LoggerService } from '../logger.service';\nimport { BehaviorSubject, delay, filter, of, take } from 'rxjs';\nimport { Account } from './accounts.model';\nimport { Store } from '@ngrx/store';\nimport { AppState } from 'src/app/@store/reducers';\nimport { STSActions } from 'src/app/@store/actions/sts.actions';\nimport { claimTypes } from 'src/app/appsettings';\nimport { ConfigService } from '../config/config.service';\nimport { isInAvailableLocale } from 'src/app/transloco-root.module';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { formatLocale } from 'src/app/plasma-ui-common/utils/format-locale';\nimport { LocalStorageKeys } from 'src/app/models/storage.model';\nimport { getLangCodeFromLocalStorage, getLangCodeFromQueryString } from 'src/app/utils/common.utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserClaimsService {\n\n private userClaimsIsLoaded: boolean = false;\n public claims$ = new BehaviorSubject(null);\n\n constructor(\n private readonly accountsService: AccountsService,\n private readonly logger: LoggerService,\n private readonly store: Store,\n private readonly config: ConfigService,\n private readonly transloco: TranslocoService\n ) { }\n\n public async getUserClaims(userId: string){\n try {\n if (!this.userClaimsIsLoaded) {\n await of(true).pipe(delay(1500)).toPromise();\n const rawClaims = await this.accountsService.get(userId).toPromise();\n\n const claims = this.getUserClaimsAsObject(rawClaims);\n this.userClaimsIsLoaded = true;\n this.claims$.next(claims);\n }\n } catch (error) {\n this.logger.log(\"getUserClaims error\", error);\n }\n }\n\n private getUserClaimsAsObject(claims: Account): Record {\n this.store.dispatch(STSActions.loadProfileSuccess({ claims }));\n const usertypes = claims\n .filter((claim) => claim.claimType == claimTypes.USER_TYPE)\n .map((usertype) => usertype.claimValue);\n\n return {\n ...claims.reduce((a, v) => ({ ...a, [v.claimType]: v.claimValue }), {}),\n user_type: usertypes,\n };\n }\n\n public async setAppLanguageFromJwtToken(lang: string) {\n await this.config.envConfig$\n .pipe(\n filter((config) => Boolean(config)),\n take(1)\n )\n .toPromise();\n\n const getLang = isInAvailableLocale;\n let availableLanguages = [this.transloco.getDefaultLang(), ...this.getAvailableLanguages()];\n\n const fromStorage = getLangCodeFromLocalStorage(this.config._envConfig);\n const fromQString: string = getLangCodeFromQueryString();\n const fromJwtLangCode: boolean = lang && getLang(lang, availableLanguages) != \"\";\n\n if (!fromQString && !fromStorage && fromJwtLangCode) {\n const langToSet = formatLocale(getLang(lang, availableLanguages));\n sessionStorage.setItem(LocalStorageKeys.language, langToSet);\n this.transloco.setActiveLang(langToSet);\n }\n }\n\n private getAvailableLanguages(): string[] {\n return this.config._envConfig?.AvailableLanguage?.split(\",\") || [];\n }\n}\n","import { Injectable, EventEmitter } from \"@angular/core\";\nimport { UserManager, UserManagerSettings, User, SignoutRedirectArgs } from \"oidc-client-ts\";\nimport { ConfigService } from \"../config/config.service\";\nimport { BehaviorSubject, from, Observable, of, ReplaySubject } from \"rxjs\";\nimport { Router } from \"@angular/router\";\nimport { Store, select } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { JwtHelperService } from \"@auth0/angular-jwt\";\nimport { STSActions } from \"src/app/@store/actions/sts.actions\";\nimport { auditTime, catchError, filter, map, take, tap, throttleTime } from \"rxjs/operators\";\nimport { StsSelectors, checkTenant } from \"src/app/@store/selectors/sts.selectors\";\nimport { EStorageKeys } from \"src/app/models/storage.model\";\nimport {\n isPrivateRoute,\n showCookieBot,\n} from \"src/app/utils/common.utils\";\nimport { LoggerService } from \"../logger.service\";\nimport { userTypes, whiteLabelNames } from \"src/app/appsettings\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { UserInfo, UserRoleService } from \"src/app/plasma-ui-common/services/user-role.service\";\nimport { UserClaimsService } from \"../accounts/user-claims.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AuthService {\n private jwt = new JwtHelperService();\n public _manager: UserManager;\n public _user: User = null;\n userLoadededEvent: EventEmitter = new EventEmitter();\n\n public isLoggedIn: boolean = false;\n public profileInfo: Record = {};\n public userInfo = new ReplaySubject(1);\n\n public userInfo$: Observable = this.userInfo.asObservable();\n public signinRedirectTrigger$ = new BehaviorSubject(null);\n public signinRedirectCallbackTrigger$ = new BehaviorSubject(null);\n\n constructor(\n private config: ConfigService,\n private router: Router,\n private store: Store,\n private logger: LoggerService,\n private readonly userClaim: UserClaimsService,\n private readonly usertype: UserRoleService,\n\n ) {\n this._manager = new UserManager(this.getClientSettings());\n this.initializeUser();\n this.registerUserEvents();\n\n // subscribe to signin events\n this.signinRedirectTrigger$\n .pipe(takeUntilDestroyed(), filter(Boolean), auditTime(500))\n .subscribe((event) => this.addSignInEvents(\"signin\"));\n this.signinRedirectCallbackTrigger$\n .pipe(takeUntilDestroyed(), filter(Boolean), auditTime(500))\n .subscribe((event) => this.addSignInEvents(\"signinCallback\"));\n\n this.userClaim.claims$\n .pipe(takeUntilDestroyed(), throttleTime(100), filter(claims => Boolean(claims)))\n .subscribe(claims => this.saveUserInformation(claims));\n }\n\n private getClientSettings(): UserManagerSettings {\n const { OIDC } = this.config.envJson;\n const config = this.config._envConfig;\n\n const DEFAULT_RESPONSE_TYPE = \"code\";\n const DEFAULT_CLIENT_ID = \"plasmaprofile-code-pkce\";\n const DEFAULT_SCOPE = \"openid profile email address user_type offline_access synlab_id IdentityServerApi\";\n\n return {\n authority: config.BaseAuthUrl,\n client_id: OIDC?.ClientId || DEFAULT_CLIENT_ID,\n redirect_uri: `${config.BaseProfileUrl}/signin-callback`,\n post_logout_redirect_uri: config.BaseProfileUrl,\n response_type: OIDC?.ResponseType || DEFAULT_RESPONSE_TYPE,\n scope: OIDC?.Scope || DEFAULT_SCOPE,\n filterProtocolClaims: true,\n loadUserInfo: false,\n silent_redirect_uri: `${config.BaseProfileUrl}/renewtoken`,\n automaticSilentRenew: true,\n revokeTokensOnSignout: true,\n monitorSession: true,\n extraQueryParams: this.getExtraQueryParams(),\n };\n }\n\n private getExtraQueryParams() {\n const config = this.config._envConfig;\n if (checkTenant(whiteLabelNames.SPAIN_TELECOUNSELING, config)) {\n const returnTo = new URLSearchParams(window.location.search).get(\"uid\");\n return returnTo ? { return_to: returnTo } : {};\n }\n return {};\n }\n\n private async initializeUser() {\n try {\n const user = await this._manager.getUser();\n if (user) {\n this.setUserLoggedIn(user);\n }\n } catch {\n this.isLoggedIn = false;\n }\n }\n\n private registerUserEvents() {\n this._manager.events.addUserLoaded((user) => this.setUserLoggedIn(user));\n this._manager.events.addUserUnloaded(() => {\n this.isLoggedIn = false;\n });\n //this._manager.events.addUserSessionChanged(() => this.signinRedirectTrigger$.next(true));\n this._manager.events.addUserSignedOut(() => {\n if (isPrivateRoute(this.router.url, this.router.config)) {\n localStorage.clear();\n sessionStorage.clear();\n this.signinRedirectTrigger$.next(true);\n }\n });\n }\n\n private setUserLoggedIn(user: User) {\n this._user = user;\n this.isLoggedIn = true;\n this.userLoadededEvent.emit(user);\n this.checkSavedUserInfo(user.access_token);\n }\n\n private checkSavedUserInfo(token: string) {\n this.store\n .pipe(\n select(StsSelectors.getSynlabId),\n filter((synlabId) => !synlabId),\n take(1),\n tap(() => this.saveToState(token))\n )\n .subscribe();\n }\n\n public saveToState(token: string) {\n showCookieBot(true, 500);\n const decoded = this.jwt.decodeToken(token);\n const { idp, langCode, sub } = decoded;\n this.store.dispatch(STSActions.loadStssSuccess({ data: { token, idp } as any }));\n this.userClaim.getUserClaims(sub);\n\n if (langCode) {\n this.userClaim.setAppLanguageFromJwtToken(langCode);\n }\n }\n\n async startSignoutMainWindow() {\n let redirectParams: SignoutRedirectArgs = {};\n const whiteLabelName = this.config._envConfig.WhiteLabelName?.toLowerCase();\n const webreqAdminUrl = this.config._envConfig.BaseWebreqAdminUrl;\n const bookingAdminUrl = this.config._envConfig.BaseBookingAdminUrl;\n const isFinland = whiteLabelName === whiteLabelNames.FINLAND?.toLowerCase();\n\n const isWebreqAdmin = (this.profileInfo?.role || []).includes(userTypes.WEBREQ_ADMIN);\n const isBookingAdmin = (this.profileInfo?.role || []).includes(userTypes.BOOKING_ADMIN);\n\n try {\n const user = await this._manager.getUser();\n if (user) {\n redirectParams = { id_token_hint: user.id_token };\n }\n\n if (isFinland && isWebreqAdmin) {\n redirectParams.post_logout_redirect_uri = webreqAdminUrl;\n } else if (isFinland && isBookingAdmin) {\n redirectParams.post_logout_redirect_uri = bookingAdminUrl;\n }\n\n await this._manager.signoutRedirect(redirectParams);\n localStorage.clear();\n sessionStorage.clear();\n this.logger.log(\"Signout success\", user);\n } catch (error) {\n this.logger.log(\"Signout error\", error);\n }\n }\n\n public checkLogin(): Observable {\n return from(this._manager.getUser()).pipe(map((user) => true));\n }\n\n public isLoggedInObs(): Observable {\n return from(this._manager.getUser()).pipe(map(Boolean));\n }\n\n private addSignInEvents(event: \"signin\" | \"signinCallback\") {\n if (event === \"signin\") {\n this.handleSigninRedirect();\n }\n if (event === \"signinCallback\") {\n this.handleSigninRedirectCallback();\n }\n }\n\n private handleSigninRedirect() {\n from(this._manager.signinRedirect().catch((e) => e))\n .pipe(\n take(1),\n tap(() => this.logger.log(\"signinRedirect success\")),\n catchError((error) => {\n this.logger.log(error);\n throw new Error(\"signinRedirect error\");\n })\n )\n .subscribe();\n }\n\n private handleSigninRedirectCallback() {\n from(this._manager.signinRedirectCallback().catch((e) => e))\n .pipe(\n take(1),\n tap((user) => {\n this.logger.log(\"signinRedirectCallback success\", user);\n document.querySelector(\"body\")?.classList.remove(\"signin-redirecting\");\n\n const initialRoute = this.getInitialRoute();\n this.logger.log(\"Redirecting to initial route: \", initialRoute);\n\n this.router.navigateByUrl(initialRoute).then((done) => {\n this.logger.log(\"Redirected to initial route:\", { initialRoute });\n });\n\n localStorage.removeItem(EStorageKeys.REDIRECT_URL);\n }),\n catchError((error) => {\n this.logger.log(error);\n throw new Error(\"signinRedirect error\");\n })\n )\n .subscribe();\n }\n\n private getInitialRoute(): string {\n const redirectURL = localStorage.getItem(EStorageKeys.REDIRECT_URL);\n return (redirectURL?.includes(\"signin-callback\") ? \"/\" : redirectURL) || \"/\";\n }\n\n private saveUserInformation(claims: Record) {\n const { idp, langCode } = this.jwt.decodeToken(this._user.access_token);\n\n const additionalUserClaims = {\n idp,\n role: claims.user_type,\n token: this._user.access_token,\n name: `${claims.given_name} ${claims.family_name}`,\n synlabId: claims.synlab_id,\n country: claims.country,\n email: claims.email,\n };\n\n this.userInfo.next({ ...claims, idp, langCode } as any);\n this.profileInfo = { ...claims, ...additionalUserClaims };\n this.usertype.setUser(this.profileInfo);\n\n this.store.dispatch(STSActions.loadStssSuccess({ data: additionalUserClaims }));\n this.store.dispatch(STSActions.addUserInfo({ data: { ...claims, idp, langCode } as any }));\n }\n}\n","import { Injectable } from \"@angular/core\";\n\nimport * as _ from \"lodash\";\nimport { of } from \"rxjs\";\nimport { AuthService } from \"../auth/auth.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class AuthGuard {\n constructor(private authService: AuthService) {}\n canActivate() {\n const isLoggedIn = this.authService.isLoggedInObs();\n const sessionTransferObj = JSON.parse(localStorage.getItem(\"session-transfer\"));\n\n if (sessionTransferObj != null && sessionTransferObj.accessToken) {\n this.authService.saveToState(sessionTransferObj.accessToken);\n return of(true);\n } else {\n isLoggedIn.subscribe((loggedin) => {\n if (!loggedin) {\n this.authService.signinRedirectTrigger$.next(Date.now());\n }\n });\n\n return isLoggedIn;\n }\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { ApiService } from \"./api/api.service\";\nimport { Claim } from \"./accounts/accounts.model\";\nimport { ConfigService } from \"./config/config.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ChangeEmailService {\n constructor(\n private api: ApiService,\n private config: ConfigService\n ) {}\n\n sendChangeEmailRequest(\n userId: string,\n synlabId: string,\n payload: Claim[]\n ): Observable<{ success: boolean; message: string }> {\n const endpoint: string = `/api/profile/send-verification-email/${userId}/${synlabId}`;\n return this.api.postAccounts(endpoint, payload);\n }\n\n resendChangeEmailRequest(\n userId: string,\n synlabId: string,\n payload: Claim[]\n ): Observable<{ success: boolean; message: string }> {\n const endpoint: string = `/api/profile/resend-verification-email/${userId}/${synlabId}`;\n return this.api.postAccounts(endpoint, payload);\n }\n\n cancelChangeEmailRequest(userId: string): Observable<{ success: boolean; message: string }> {\n const endpoint: string = `/api/profile/cancel-change-email-request/${userId}`;\n return this.api.postAccounts(endpoint);\n }\n\n checkPendingChangeEmailRequest(userId: string): Observable<{ newEmail: string }> {\n const endpoint: string = this.config?.baseAccountUrl + `/api/profile/get-pending-change-email-request/${userId}`;\n return this.api.getHttp(endpoint);\n }\n\n verifyEmailLink(userId: string, seqId: string) {\n const endpoint: string = `/api/profile/validate-change-email-link/${userId}/${seqId}`;\n return this.api.postAccounts(endpoint);\n }\n}\n","import { Validators } from \"@angular/forms\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const BE_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 9, Readonly: true, Hide: () => false, },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 7, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: false, Hide: () => false, Required: () => true, CustomValidators: [Validators.email] },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n ],\n adminCompleteProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: true, Hide: () => false, Required: () => true },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 9, Readonly: false, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 3, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 4, Readonly: true, Hide: () => false, },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 5, Hide: () => false, Readonly: true },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 6, Readonly: true, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"zipcode\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"address\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false, CustomLabelTranslationKey: \"phoneLabel\" },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 0, Readonly: false, Hide: () => false, CustomLabelTranslationKey: \"emailLabel2\", },\n ],\n};\n","import { Validators } from \"@angular/forms\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const CZ_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: false, Hide: () => false, Required: () => true, CustomValidators: [Validators.email] },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 7, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 9, Readonly: true, Hide: () => false, },\n ],\n adminCompleteProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: false, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: false, Hide: () => false },\n { Name: \"email\", Type: \"text\", Order: 3, Readonly: true, Hide: () => false, Required: () => true },\n { Name: \"phone\", Type: \"phone\", Order: 4, Hide: () => false, Required: () => true },\n { Name: \"locale\", Type: \"locale-picker\", Order: 5, Hide: () => false, Required: () => true },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 6, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 8, Readonly: false, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 9, Readonly: false, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Readonly: true, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Readonly: true, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 3, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 4, Hide: () => false, Readonly: false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 5, Readonly: false, Hide: () => false },\n { Name: \"ssn\", Required: () => true, Type: \"text\", Order: 9, Readonly: true, Hide: () => false, },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"zipcode\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"address\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false, CustomLabelTranslationKey: \"phoneLabel\", },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 0, Readonly: true, Hide: () => false, CustomLabelTranslationKey: \"emailLabel2\", },\n ],\n};\n","import { BE_CONFIG } from \"./be\";\nimport { CZ_CONFIG } from \"./cz\";\nimport { FI_CONFIG } from \"./fi\";\nimport { HU_CONFIG } from \"./hu\";\nimport { FormConfigInterface } from \"./interfaces/form-config.interface\";\nimport { ES_TC_CONFIG } from \"./ts-tc\";\n\nexport const FORM_CONFIG: Record = {\n \"es-tc\": ES_TC_CONFIG,\n hu: HU_CONFIG,\n fi: FI_CONFIG,\n cz: CZ_CONFIG,\n be: BE_CONFIG,\n};\n","import { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const ES_TC_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 3, Hide: () => false, Readonly: true },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 8, Hide: () => false },\n { Name: \"locale\", Required: () => true, Type: \"locale-picker\", Order: 4, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 5, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 6, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 7, Hide: () => false },\n ],\n completeProfileExpert: [\n { Name: \"medical_seal_number\", Required: () => false, Type: \"text\", Order: 5.1, Hide: () => false },\n {\n Name: \"title\",\n Required: () => true,\n Type: \"select-single\",\n Order: 0.1,\n Hide: () => false,\n Options: {\n FetchFromUrl: false,\n Url: null,\n Items: [\n { Value: \"Dr.\", Label: \"Dr.\" },\n { Value: \"Prof.\", Label: \"Prof.\" },\n { Value: \"Prof. Dr.\", Label: \"Prof. Dr.\" },\n ],\n },\n },\n ],\n completeProfileExpertAdditionalInfo: [\n {\n Name: \"institutions\",\n Required: () => true,\n Type: \"institutions-selector\",\n Order: 9,\n Hide: () => false,\n Options: {\n AddNewItemEnabled: false,\n FetchFromUrl: true,\n Url: \"/v2/manage/accounts/expert-dropdown-items-with-paging?&category=Institutions&page=1&pageSize=1000\",\n Items: [],\n },\n },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"date_of_birth\", Required: () => true, Type: \"date-picker\", Order: 0, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 0, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 0, Hide: () => false },\n { Name: \"city\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"zipcode\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"address\", Required: () => false, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 0, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n ],\n expertPersonalInfo: [\n { Name: \"title\", Required: () => true, Type: \"salutation-selector\", Hide: () => false },\n { Name: \"given_name\", Required: () => true, Type: \"text\", Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Hide: () => false },\n { Name: \"country_residence\", Required: () => true, Type: \"country-picker\", Hide: () => false },\n { Name: \"medical_seal_number\", Required: () => false, Type: \"text\", Hide: () => false },\n ],\n expertContact: [\n { Name: \"phone\", Required: () => true, Type: \"phone\", Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Hide: () => false },\n ],\n};\n","import { FormConfigInterface } from \"./interfaces/form-config.interface\";\n\nexport const HU_CONFIG: FormConfigInterface = {\n completeProfile: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 1, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 2, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 3, Hide: () => false, Readonly: true },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 4, Hide: () => false },\n { Name: \"locale\", Required: () => true, Type: \"locale-picker\", Order: 5, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 6, Hide: () => false },\n ],\n personalInfo: [\n { Name: \"given_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"family_name\", Required: () => true, Type: \"text\", Order: 0, Hide: () => false },\n { Name: \"gender\", Required: () => true, Type: \"gender-picker\", Order: 0, Hide: () => false },\n ],\n contact: [\n { Name: \"country_address\", Required: () => false, Type: \"country-picker\", Order: 1, Hide: () => false },\n { Name: \"phone\", Required: () => true, Type: \"phone\", Order: 2, Hide: () => false },\n { Name: \"email\", Required: () => true, Type: \"text\", Order: 3, Hide: () => false },\n ],\n};\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ReplaySubject } from \"rxjs\";\nimport { Store } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { STSActions } from \"src/app/@store/actions/sts.actions\";\nimport { shareReplay, map } from \"rxjs/operators\";\nimport { Locale } from \"../agreement/agreement.service\";\nimport { FormFieldConfig } from \"src/app/models/form-field-config.model\";\nimport { FORM_CONFIG } from \"src/app/form-configs\";\nimport { FormConfigInterface } from \"src/app/form-configs/interfaces/form-config.interface\";\nimport { Country, CountryService } from \"src/app/modules/shared/countries\";\nimport { claimValues } from \"src/app/appsettings\";\n\n/** list of country codes which needs to show MFA setup on account activation */\nexport const initialMultiFactorAuthCountries = [\"fr\"];\n\nexport interface IEnvJson {\n OIDC: { ClientId: string; ResponseType: string; Scope: string };\n ApplicationInsights: { InstrumentationKey: string };\n ApplicationMonitoring: { Enabled: boolean; ApplicationName: string };\n}\n\nexport interface Config {\n Environment: string;\n Version: string;\n ApplicationName: string;\n BaseAuthUrl: string;\n BaseAdminUrl: string;\n BaseProfileApiUrl: string;\n BaseProfileUrl: string;\n BasePlasmaUrl: string;\n BaseUefaUrl: string;\n BaseWebreqUrl: string;\n BaseWebreqAdminUrl: string;\n BaseBookingUrl: string;\n BaseBookingAdminUrl: string;\n EeBaseBookingUrl?: string;\n BookingLinkEnabled: string;\n TwilioEnabled: string;\n BookingProfessionalUrl: string;\n WhiteLabelEnabled: string;\n WhiteLabelName: string;\n WardLimit: string;\n UseProfileAPI: string;\n EnablePreventionWellness: string;\n PetProfileEnabled: string;\n WardProfileEnabled: string;\n WardProfileEditEnabled: string;\n WardProfileAddEnabled: string;\n WardProfileDeleteEnabled: string;\n baseResultsApiUrl: string;\n AvailableLanguage: string;\n BaseBigCommerceUrl: string;\n Country: string;\n CookieBotAPIKey: string;\n CookieBotEnabled: string;\n RequireMFA: boolean;\n DefaultLanguage: string;\n eeIdleTimeOutInSeconds: number;\n EnableOpenReplay: boolean;\n OpenReplayProjectKey: string;\n OpenReplayIngestPoint: string;\n EnableGoogleTag: string;\n GoogleTagId: string;\n ShfyDxpBaseURL: string;\n ShfyRegistrationURL: string;\n ShfyCompleteProfileURL: string;\n UseNewUI: string;\n EnableCheckResults: string;\n ConsentCategoryName?: string;\n FICookieManagerId: string;\n EnableFICookieManager: string;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ConfigService {\n private _envConfigError: string = \"Env config not loaded!\";\n private _envConfig$ = new ReplaySubject(1);\n public _envConfig: Config;\n public envConfig$ = this._envConfig$.pipe(shareReplay({ refCount: false, bufferSize: 1 }));\n public envJson: IEnvJson = null;\n\n constructor(\n private readonly http: HttpClient,\n private readonly store: Store,\n private readonly countryService: CountryService\n ) {}\n\n public getLocales(authUrl?: string) {\n return this.http.get(`${authUrl || this._envConfig.BaseAuthUrl}/manage/locale`);\n }\n\n public getCountries(authUrl: string) {\n return this.http.get(authUrl + \"/v2/manage/accounts/dropdown-items?category=Country\").pipe(\n map((countries) => {\n countries = countries.sort((a, b) => {\n if (a.text > b.text) return 1;\n if (a.text < b.text) return -1;\n return 0;\n });\n\n const computed = countries.map((country) => ({\n Code: country.value,\n Name: country.text,\n SmallName: country.text?.toLowerCase(),\n }));\n this.countryService.countries$.next(computed);\n this.countryService.countriesAsObj$.next(\n computed.reduce((a, v) => ({ ...a, [v.Code?.toLowerCase()]: v.Name }), {})\n );\n return computed;\n })\n );\n }\n\n load() {\n return this.http\n .get(\"/api/environment\").toPromise().then(\n async (data) => {\n await this.getCountries(data.BaseAuthUrl).toPromise();\n const locales = await this.getLocales(data.BaseAuthUrl).toPromise();\n const AvailableLanguage = locales.map((locale) => locale.cultureCode).join(\",\");\n\n const config: any = { ...data, AvailableLanguage };\n\n this._envConfig = config;\n this._envConfig$.next(config);\n this.store.dispatch(STSActions.loadConfigSuccess({ data: config }));\n\n document.body.classList.add(`version-${config[\"Version\"]}`);\n },\n (error) => {\n console.log(error);\n throw error;\n }\n );\n }\n\n loadEnvJson() {\n return this.http\n .get(\"/assets/env.json\")\n .toPromise()\n .then(\n (env: IEnvJson) => { this.envJson = env; },\n (error) => { throw error; }\n );\n }\n\n get baseAuthUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseAuthUrl;\n }\n\n get baseBookingUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseBookingUrl;\n }\n\n get baseWebreqAdminUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseWebreqAdminUrl;\n }\n\n get baseClientUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseAdminUrl;\n }\n\n get baseAccountUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseProfileUrl;\n }\n\n get basePlasmaUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BasePlasmaUrl;\n }\n\n get baseProfileApiUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BaseProfileApiUrl;\n }\n\n get environment() {\n this._checkEmptyConfig();\n return this._envConfig.Environment;\n }\n\n get version() {\n this._checkEmptyConfig();\n return this._envConfig.Version;\n }\n\n get twilioEnabled() {\n this._checkEmptyConfig();\n return this._envConfig.TwilioEnabled;\n }\n\n get UseProfileAPI() {\n this._checkEmptyConfig();\n return this._envConfig.UseProfileAPI;\n }\n\n get shfyDxpBaseURL() {\n this._checkEmptyConfig();\n return this._envConfig.ShfyDxpBaseURL;\n }\n\n get shfyRegistrationURL() {\n this._checkEmptyConfig();\n return this._envConfig.ShfyRegistrationURL;\n }\n\n get shfyCompleteProfileURL() {\n this._checkEmptyConfig();\n return this._envConfig.ShfyCompleteProfileURL;\n }\n\n get isWardProfileEnabled() {\n this._checkEmptyConfig();\n return (this._envConfig.WardProfileEnabled || \"\").toLowerCase() === \"true\";\n }\n\n get isWardProfileAddEnabled() {\n this._checkEmptyConfig();\n\n const isWardProfileEnabled = (this._envConfig.WardProfileEnabled || \"\").toLowerCase() === claimValues.TRUE;\n const isWardProfileAddEnabled = (this._envConfig.WardProfileAddEnabled || \"\").toLowerCase() === claimValues.TRUE;\n return isWardProfileAddEnabled && isWardProfileEnabled;\n }\n\n get isWardProfileEditEnabled() {\n this._checkEmptyConfig();\n\n const isWardProfileEnabled = (this._envConfig.WardProfileEnabled || \"\").toLowerCase() === claimValues.TRUE;\n const isWardProfileEditEnabled = (this._envConfig.WardProfileEditEnabled || \"\").toLowerCase() === claimValues.TRUE;\n return isWardProfileEditEnabled && isWardProfileEnabled;\n }\n\n get isWardProfileDeleteEnabled() {\n this._checkEmptyConfig();\n\n const isWardProfileEnabled = (this._envConfig.WardProfileEnabled || \"\").toLowerCase() === claimValues.TRUE;\n const isWardProfileDeleteEnabled =\n (this._envConfig.WardProfileDeleteEnabled || \"\").toLowerCase() === claimValues.TRUE;\n return isWardProfileDeleteEnabled && isWardProfileEnabled;\n }\n\n get formConfig(): FormConfigInterface {\n this._checkEmptyConfig();\n return FORM_CONFIG[this._envConfig.WhiteLabelName];\n }\n\n private _checkEmptyConfig() {\n if (!this._envConfig) {\n throw Error(this._envConfigError);\n }\n }\n\n get consentCategoryName() {\n this._checkEmptyConfig();\n return this._envConfig.ConsentCategoryName || null;\n }\n\n get bookingProfessionalUrl() {\n this._checkEmptyConfig();\n return this._envConfig.BookingProfessionalUrl || null;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { UrlTree } from \"@angular/router\";\nimport { Observable } from \"rxjs\";\nimport { map, filter } from \"rxjs/operators\";\nimport { AuthService } from \"../auth/auth.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class UserTypeGuard {\n constructor(private auth: AuthService) {}\n\n canActivate(): Observable | Promise | boolean | UrlTree {\n // this will wait for 'auth.profileInfo' to be set in auth.service before loading page\n return this.auth.userInfo$.pipe(\n filter((i) => !!i),\n map((claims) => !!claims)\n );\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { AccountsService } from \"../accounts/accounts.service\";\nimport moment from \"moment\";\nimport { LocalStorageKeys } from \"src/app/models/storage.model\";\nimport sessionStorage from \"sessionstorage\";\nimport { formatLocale } from \"src/app/plasma-ui-common/utils/format-locale\";\nimport { ConfigService } from \"../config/config.service\";\n\n/** Key in translation json for `general` scope. */\nexport const generalScopeKey = \"general\";\n/** Key in translation json for `header` scope. */\nexport const headerScopeKey = \"header\";\n/** Key in translation json for `error` scope. */\nexport const errorScopeKey = \"error\";\n/** Key in translation json for `myAccount` scope. */\nexport const myAccountScopeKey = \"myAccount\";\n/** Key in translation json for `security` scope. */\nexport const securityScopeKey = \"security\";\n/** Key in translation json for `twoFactorAuthenticator` scope. */\nexport const twoFactorAuthenticatorScopeKey = \"twoFactorAuthenticator\";\n/** Key in translation json for `verifyProfile` scope. */\nexport const verifyProfileScopeKey = \"verifyProfile\";\n/** Key in translation json for `completeProfile` scope. */\nexport const completeProfileScopeKey = \"completeProfile\";\n/** Key in translation json for `registrationSecure` scope. */\nexport const registrationSecureScopeKey = \"registrationSecure\";\n/** Key in translation json for `delete` scope. */\nexport const deleteScopeKey = \"delete\";\n/** Key in translation json for `sessionTransfer` scope. */\nexport const sessionTransferKey = \"initSession\";\n/** Key in translation json for `petProfile` scope. */\nexport const petProfileScopeKey = \"petProfile\";\n/** storage key for lang code */\nexport const langCodeStorageKey = LocalStorageKeys.language;\n/**\n * Service to manage i18n.\n */\n@Injectable({ providedIn: \"root\" })\nexport class I18nService {\n activeLang$ = this.transloco.langChanges$;\n /** Browser locale. Used by moment. Should delete later if unnecessary. */\n browserLocale: string = this.getBrowserLanguages[0] || \"en\";\n country$ = this.accountsService.country$;\n constructor(\n private transloco: TranslocoService,\n private accountsService: AccountsService,\n private config: ConfigService\n ) {}\n translateIfExists(key: string, scope: string | string[] = \"\"): string {\n if (typeof scope == \"string\") {\n const translated = this.transloco.translate(key, {}, scope);\n return `${scope}.${key}` == translated ? key : translated;\n } else {\n return this.translateIfExists(\n key,\n scope.find((s) => this.translateIfExists(key, s) != key)\n );\n }\n }\n getAvailableLanguages(): string[] {\n return this.transloco.getAvailableLangs() as string[];\n }\n\n setStoredLanguage(langCode: string) {\n sessionStorage && sessionStorage.setItem(langCodeStorageKey, langCode);\n\n const locale = formatLocale(langCode, this.config._envConfig as any);\n this.transloco.setActiveLang(locale);\n }\n /** detect browser locale and set moment global locale. */\n detectBrowserLocale() {\n const locale =\n this.getFromLocalStorage() || this.transloco.getDefaultLang() || this.getPreferredSupportedLanguage();\n\n const formattedLocale = formatLocale(locale, this.config._envConfig as any);\n this.setActiveLang(formattedLocale);\n moment.locale(locale);\n }\n /** sets active language. Does not save to storage.\n * use `setStoredLanguage` to save to storage.\n */\n private setActiveLang = this.transloco.setActiveLang.bind(this.transloco);\n\n private getFromLocalStorage() {\n return sessionStorage &&\n sessionStorage.getItem(langCodeStorageKey) &&\n this.getAvailableLanguages().indexOf(sessionStorage.getItem(langCodeStorageKey)) > -1\n ? sessionStorage.getItem(langCodeStorageKey)\n : undefined;\n }\n /** get browser user preferred language */\n private getBrowserLanguages(): string[] {\n return navigator.languages.map((x) => x) || [navigator.language] || [(navigator as any).userLanguage] || [];\n }\n /** determine preferred language between supported language and\n * browser settings. uses language fallbacks */\n public getPreferredSupportedLanguage(\n preferredLanguages: string[] = this.getBrowserLanguages(),\n supportedLanguages: string[] = this.getAvailableLanguages()\n ): string | undefined {\n for (const pl of preferredLanguages) {\n const lang = supportedLanguages.find((sl) => pl === sl);\n if (lang !== undefined) {\n return lang;\n }\n }\n for (const pl of preferredLanguages) {\n const lang = supportedLanguages.find((sl) => this.getLangCode(sl) === this.getLangCode(pl));\n if (lang !== undefined) {\n return lang;\n }\n }\n }\n /** Extract language code from locale code. (ex: 'en' in 'en-US')\n * @param locale string to extract language code from.\n * @Note Naive language code parser.\n * Use in the future: https://www.npmjs.com/package/locale-code\n */\n private getLangCode(locale: string = \"\"): string {\n return (locale.trim().match(/^\\w+/g) || []).shift();\n }\n\n public formatDate(isoDateTime: string, momentFormat: string = \"LLL\", outputAsUTCTimezone: boolean = false): string {\n if (typeof isoDateTime !== \"string\") {\n return \"\";\n }\n\n const mom = moment.utc(isoDateTime);\n if (mom.isValid()) {\n if (!outputAsUTCTimezone) {\n mom.local();\n }\n return mom.format(momentFormat);\n } else {\n return isoDateTime;\n }\n }\n\n /** Utility function to format time into localized format.\n * @param time 24 hour format of time\n * @param momentFormat optional parameter to specify the output format\n */\n public formatTime(time: string, momentFormat: string = \"kk:mm\") {\n const mom = moment(time, \"kk:mm\");\n return mom.format(momentFormat);\n }\n\n /** Get date format that can be used by moment */\n public getMomentDateFormatToken() {\n const defLanguage = this.transloco.getActiveLang();\n\n switch (defLanguage) {\n case \"en\":\n return \"DD/MM/YYYY\";\n case \"pt\":\n case \"pt-PT\":\n return \"DD-MM-YYYY\";\n default:\n return moment().localeData().longDateFormat(\"L\");\n }\n }\n}\n","import { ErrorHandler, Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class LoggerService {\n private consoleLog = console.log.bind(window.console);\n\n constructor(private errorHandler: ErrorHandler) {}\n\n public get log(): Function {\n if (!this.isProduction) {\n return this.consoleLog;\n }\n return () => {};\n }\n\n error(error: Error): void {\n this.errorHandler.handleError(error);\n }\n\n warn(value: any, ...rest: any[]): void {\n console.warn(value, ...rest);\n }\n\n /**\n * @returns String. returns current line number where this function is called.\n */\n getLine(): string {\n const e = new Error();\n const regex = /\\((.*):(\\d+):(\\d+)\\)$/;\n const match = regex.exec(e.stack.split(\"\\n\")[2]);\n return `path:${match[1]}@[line:${match[2]}][column:${match[3]}]`;\n }\n\n private get isProduction(): boolean {\n const envs = [\"//dev.\", \"//stage.\", \"//localhost\"];\n const origin = window.location?.origin;\n return !envs.some((env) => origin?.includes(env));\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport * as libphonenumber from \"google-libphonenumber\";\n\nexport interface PhoneNumber {\n e164Number: string;\n countryCode: string;\n number: number;\n internationalNumber: string;\n nationalNumber: string;\n dialCode: string;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class PhoneValidationService {\n isValidNumber(inputNumber: PhoneNumber) {\n if (inputNumber) {\n // special override for Estonia to be able to accept sample numbers in https://github.com/SK-EID/MID/wiki/Test-number-for-automated-testing-in-DEMO\n if (inputNumber.countryCode == \"EE\" && String(inputNumber.number).length == 8) {\n return true;\n } else {\n const phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();\n let valid = false;\n try {\n valid = phoneUtil.isValidNumber(phoneUtil.parse(inputNumber.e164Number));\n } catch {}\n return valid;\n }\n }\n return false;\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of, pipe } from \"rxjs\";\nimport { map, withLatestFrom } from \"rxjs/operators\";\nimport { claimTypes, whiteLabelNames } from \"src/app/appsettings\";\nimport { ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { ApiService } from \"../api/api.service\";\nimport { Store } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { getPhone } from \"src/app/utils/common.utils\";\n\nconst allowedDuplicateClaimTypes: string[] = [claimTypes.USER_TYPE];\n\nexport interface IValidateDocument {\n BankIdToken: string;\n IdNumber: {\n type: string;\n number: string;\n };\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class RegisterProfileApiService {\n private readonly registerProfileEndpoint = \"/manage/accounts/complete_profile\";\n private readonly rollbackInactivatedUserEndpoint = \"/v2/manage/accounts/rollback-inactivated-user\";\n private readonly getPtProfileEndpoint = \"/manage/accounts\";\n private readonly updatePtProfileEndpoint = \"/manage/accounts/complete_profile_ptee\";\n private readonly getRegistrationClaimsForCzech = \"/manage/accounts/GetBankIdRegistration\";\n\n constructor(\n private http: HttpClient,\n private config: ConfigService,\n private api: ApiService\n ) {}\n getRegisterProfile(regId: string, seqId: string): Observable {\n return this.http\n .get<\n Claim[]\n >(`${this.config.baseAuthUrl}${this.registerProfileEndpoint}`, { params: { id: regId, seqId: seqId, sequenceId: seqId } })\n .pipe(this.removeDuplicateClaims);\n }\n\n getRegisterProfileForCzechRepublic(bankId: string): Observable {\n return this.http\n .post(`${this.config.baseAuthUrl}${this.getRegistrationClaimsForCzech}`, { bankidtoken: bankId })\n .pipe(this.mapDataForCzech);\n }\n\n validateRegistrationDocument(params: IValidateDocument): Observable {\n return this.http.post(`${this.config.baseAuthUrl}/manage/accounts/ValidateRegistrationDocument`, params);\n }\n\n submitRegisterProfileForBankId(claims: Claim[]) {\n return this.http.post(`${this.config.baseAuthUrl}/manage/accounts/bankid-create-user`, claims);\n }\n\n addBankIds(token: string) {\n return this.http.post(`${this.config.baseAuthUrl}/manage/accounts/AddBankIdIds`, { BankIdToken: token });\n }\n\n getPtExisitngProfile(userId: string): Observable {\n return this.http\n .get(`${this.config.baseAuthUrl}${this.getPtProfileEndpoint}/${userId}`)\n .pipe(this.removeDuplicateClaims);\n }\n\n submitRegisterProfile(regId: string, claims: Claim[]) {\n return this.http.put(`${this.config.baseAuthUrl}${this.registerProfileEndpoint}`, claims, {\n params: { id: regId },\n headers: this.api.headers(),\n });\n }\n\n updateConsents(consents: ConsentsPayload[], synlabId: string, seqId: string) {\n if (!consents) {\n return of(true);\n }\n if (seqId) {\n return this.http.put(`${this.config.baseAccountUrl}/api/consent/user/${synlabId}/register/${seqId}`, consents);\n }\n\n return this.http.put(`${this.config.baseAccountUrl}/api/consent/user/${synlabId}`, consents);\n }\n\n updatePtExistingProfile(userId: string, claims: Claim[], tenant: string): Observable {\n const isFinland = tenant == whiteLabelNames.FINLAND;\n const url: string = isFinland ? this.registerProfileEndpoint : this.updatePtProfileEndpoint;\n return this.http.put(`${this.config.baseAuthUrl}${url}`, claims, {\n params: { id: userId },\n });\n }\n\n /**\n * will delete user when signup to TARA button is clicked\n */\n rollBackUser(userId: string) {\n return this.http.put(`${this.config.baseAuthUrl}${this.rollbackInactivatedUserEndpoint}`, null, {\n params: { userId: userId },\n responseType: \"text\",\n });\n }\n\n /**\n * sometimes, the api returns duplicate claims for claims that are supposed\n * to be unique. since this is an adjustment for the api, this fn is placed\n * here.\n */\n private removeDuplicateClaims = pipe(\n map((claims: Claim[]) => {\n const claimsMap = new Map();\n claims\n .filter((c) => allowedDuplicateClaimTypes.indexOf(c.claimType) === -1)\n .forEach((c) => claimsMap.set(c.claimType, c.claimValue));\n let distinctClaims: Claim[] = [];\n claimsMap.forEach((v, k) => distinctClaims.push({ claimType: k, claimValue: v }));\n const duplicableClaims = claims.filter((c) => allowedDuplicateClaimTypes.indexOf(c.claimType) > -1);\n distinctClaims.push(...duplicableClaims);\n return distinctClaims;\n })\n );\n\n private mapDataForCzech = map((claims: Claim[]) => {\n const nclaims: any = claims.map((claim) => {\n if (claim.claimType === \"phone\") {\n const phone = getPhone(claim.claimValue?.replace(\"+\", \"\"));\n const _temp = [\n { claimType: claimTypes.PHONE, claimValue: claim.claimValue?.replace(\"+\", \"\") },\n { claimType: claimTypes.COUNTRY_PHONE, claimValue: typeof phone === \"object\" ? phone?.countryCode : \"\" },\n ];\n return _temp;\n }\n return claim;\n });\n\n // flatten array values\n const flatten = [].concat.apply([], nclaims);\n return flatten;\n });\n}\n","import { Injectable } from \"@angular/core\";\nimport { NgbDateParserFormatter, NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { select, Store } from \"@ngrx/store\";\nimport moment from \"moment\";\nimport { AppSelector } from \"src/app/@store/selectors/app.selectors\";\nimport { I18nService } from \"./i18n.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CustomNgbDateParserFormatterService implements NgbDateParserFormatter {\n private defLanguage: string = this.transloco.getActiveLang();\n activeLang$ = this.store.pipe(select(AppSelector.getActiveLanguage));\n\n constructor(\n private i18n: I18nService,\n private transloco: TranslocoService,\n private store: Store\n ) {}\n parse(value: string): NgbDateStruct {\n const format = this.i18n.getMomentDateFormatToken();\n const mom = moment(value, format, false);\n return {\n year: mom.year(),\n month: mom.month() + 1,\n day: mom.date(),\n };\n }\n\n /**\n * please see src\\app\\modules\\home\\pages\\homepage\\data.model.ts for valid formats\n */\n format(date: NgbDateStruct): string {\n const defLanguage = this.transloco.getActiveLang();\n console.log(\"format\", { defLanguage });\n\n if (!date) return \"\";\n\n const mom = moment.utc([date.year, date.month - 1, date.day]);\n switch (defLanguage) {\n case \"en\":\n return mom.format(\"DD/MM/YYYY\");\n case \"pt\":\n case \"pt-PT\":\n return mom.format(\"DD-MM-YYYY\");\n default:\n return mom.format(\"L\");\n }\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { NgbDatepickerI18n, NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\nimport moment from \"moment\";\nimport * as _ from \"lodash\";\n\n/** moment's date format string for full date with day of week. */\nconst momentFullDateFormat = \"dddd, MMMM Do YYYY\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CustomNgbDatepickeri18nService extends NgbDatepickerI18n {\n getWeekdayLabel(weekday: number) {\n return this.getWeekdayShortName(weekday);\n }\n getWeekdayShortName(weekday: number): string {\n const momentWeekdayIndex = weekday % 7;\n return moment.weekdaysShort()[momentWeekdayIndex];\n }\n getMonthShortName(month: number, year?: number): string {\n const momentMonthIndex = (month - 1) % 12;\n return moment.monthsShort()[momentMonthIndex];\n }\n getMonthFullName(month: number, year?: number): string {\n const momentMonthIndex = (month - 1) % 12;\n return moment.months()[momentMonthIndex];\n }\n getDayAriaLabel(date: NgbDateStruct): string {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n const mom = moment(jsDate);\n return mom.format(momentFullDateFormat);\n }\n getDayNumerals(date: NgbDateStruct): string {\n return _.toString(date.day);\n }\n getWeekNumerals(weekNumber: number): string {\n return _.toString(weekNumber);\n }\n getYearNumerals(year: number): string {\n return _.toString(year);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { TRANSLOCO_LOADER, Translation, TranslocoLoader, TRANSLOCO_CONFIG, translocoConfig, TranslocoModule, TranslocoService, } from \"@ngneat/transloco\";\nimport { Injectable, NgModule, APP_INITIALIZER } from \"@angular/core\";\nimport { environment } from \"../environments/environment\";\nimport { I18nService } from \"./services/i18n/i18n.service\";\nimport { ConfigService } from \"./services/config/config.service\";\nimport { NgbDateParserFormatter, NgbDatepickerI18n } from \"@ng-bootstrap/ng-bootstrap\";\nimport { CustomNgbDateParserFormatterService } from \"./services/i18n/custom-ngb-date-parser-formatter.service\";\nimport { CustomNgbDatepickeri18nService } from \"./services/i18n/custom-ngb-datepickeri18n.service\";\nimport { catchError, filter, shareReplay, take, tap } from \"rxjs/operators\";\nimport { Store } from \"@ngrx/store\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { AppActions } from \"src/app/@store/actions/app.actions\";\nimport { of } from \"rxjs\";\nimport memoizee from \"memoizee\";\nimport { LocalStorageKeys } from \"./models/storage.model\";\nimport { getLangCodeFromLocalStorage, getLangCodeFromQueryString } from \"./utils/common.utils\";\nimport { formatLocale } from \"./plasma-ui-common/utils/format-locale\";\n\n/** List of language codes which uses new format of terms and policy */\nexport const newFormatAgreementLanguages = [\"de\", \"en\"];\n\n@Injectable({ providedIn: \"root\" })\nexport class TranslocoHttpLoader implements TranslocoLoader {\n constructor(\n private http: HttpClient,\n private config: ConfigService,\n private store: Store\n ) {}\n\n getTranslation = memoizee((lang: string) => {\n this.store.dispatch(AppActions.loadAppLanguage({ language: lang }));\n\n const config = this.config._envConfig;\n\n return this.http\n .get(`/assets/i18n/${formatLocale(lang, config)}.json`, {\n params: { version: this.config._envConfig.Version },\n })\n .pipe(\n tap(() => this.store.dispatch(AppActions.loadAppLanguageSuccess({ language: formatLocale(lang, config) }))),\n catchError((err) => {\n this.store.dispatch(\n AppActions.loadAppLanguageFailure({\n language: formatLocale(lang, config),\n error: err,\n })\n );\n return of(null);\n }),\n shareReplay({ refCount: false, bufferSize: 1 })\n );\n });\n}\n\n@NgModule({\n //imports: [TranslocoLocale],\n exports: [TranslocoModule],\n providers: [\n {\n provide: NgbDateParserFormatter,\n useClass: CustomNgbDateParserFormatterService,\n },\n {\n provide: NgbDatepickerI18n,\n useClass: CustomNgbDatepickeri18nService,\n },\n {\n provide: TRANSLOCO_CONFIG,\n useValue: translocoConfig({\n availableLangs: [\n \"en\" /** english */,\n \"en-FI\" /** english */,\n \"hu\" /** hungary */,\n \"es\" /** Colombian Spanish */,\n \"pt\" /** portugal */,\n \"fr\" /** france */,\n \"it\" /** italy */,\n \"de\" /** german */,\n \"el\" /** Greek */,\n \"lt\" /** Lithuanian */,\n \"tr\" /** Turkish */,\n \"et\",\n ],\n defaultLang: \"en\",\n missingHandler: {\n logMissingKey: true,\n useFallbackTranslation: true,\n },\n fallbackLang: \"en\",\n // Remove this option if your application doesn't support changing language in runtime.\n reRenderOnLangChange: true,\n prodMode: environment.production,\n }),\n },\n { provide: TRANSLOCO_LOADER, useClass: TranslocoHttpLoader },\n I18nService,\n /** post-transloco-import setup because config data cannot be fetched\n * before transloco config is setup as provider\n * * Loads available language from config\n * * sets current language after available languages are set\n */\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [ConfigService, TranslocoService, I18nService],\n useFactory: (configService: ConfigService, transloco: TranslocoService, i18n: I18nService) => {\n return () => {\n return configService.envConfig$\n .pipe(\n filter((x) => Boolean(x)),\n take(1),\n tap((config) => {\n const configLanguages = config.AvailableLanguage && config.AvailableLanguage.split(\",\");\n const allAvailableLanguages = [...(Array.isArray(configLanguages) ? configLanguages : [])].map((lang) =>\n formatLocale(lang, config as any)\n );\n const availableLanguages = [...new Set(allAvailableLanguages)];\n\n const getLocale: Function = isInAvailableLocale;\n const defaultL = formatLocale(getLocale(config.DefaultLanguage, availableLanguages), config as any);\n\n transloco.setAvailableLangs(availableLanguages);\n transloco.setDefaultLang(defaultL);\n transloco.setFallbackLangForMissingTranslation({fallbackLang: defaultL});\n\n i18n.detectBrowserLocale();\n\n const localeFromUrl: string = formatLocale(getLangCodeFromQueryString(), config);\n const localeFromStorage: string = formatLocale(getLangCodeFromLocalStorage(config), config);\n const localeFromConfig: string = formatLocale(getLocale(config.DefaultLanguage, availableLanguages), config);\n\n const formattedLocaleFromUrl = formatLocale(getLocale(localeFromUrl, availableLanguages), config);\n if (localeFromUrl && formattedLocaleFromUrl != \"\") {\n transloco.setActiveLang(formattedLocaleFromUrl);\n sessionStorage?.setItem(LocalStorageKeys.language, formattedLocaleFromUrl);\n } else if (localeFromStorage) {\n transloco.setActiveLang(localeFromStorage?.toLowerCase());\n } else {\n transloco.setActiveLang(localeFromConfig);\n sessionStorage?.setItem(LocalStorageKeys.language, localeFromConfig);\n }\n\n /** hide text initially -- css styles, to prevent on displaying translation keys on first load */\n setTimeout(() => document.body.removeAttribute('ngCloak'), 100);\n })\n )\n .toPromise();\n };\n },\n },\n ],\n})\nexport class TranslocoRootModule {}\n\nexport function isInAvailableLocale(locale: string, available: string[]): string {\n if (!locale) {\n return \"\";\n }\n if (available.map((l) => l.toLowerCase()).indexOf(locale?.toLowerCase()) > -1) {\n return locale.length == 2 ? locale.toLowerCase() : locale;\n }\n if (locale.split(\"-\").length > 1) {\n return isInAvailableLocale(locale.split(\"-\")[0], available);\n }\n return \"\";\n}\n","import { Claim } from \"../plasma-ui-common/synlab-access-ui-components/core\";\n\nexport function claimsToObject(claims: Claim[]): Record {\n return claims.reduce((accumulator, value) => {\n accumulator[value.claimType] = value.claimValue ?? \"\";\n return accumulator;\n }, {});\n}\n","import { Routes } from \"@angular/router\";\nimport { LocalStorageKeys } from \"../models/storage.model\";\nimport { AuthGuard } from \"../services/authGuard/auth.guard\";\nimport { formatLocale } from \"../plasma-ui-common/utils/format-locale\";\nimport * as libphonenumber from \"google-libphonenumber\";\nimport { Config } from \"../services/config/config.service\";\n\n/**\n * Get the \"langCode\" value from URL query string\n * @returns String. Returns \"langCode\" value from query string. If not exists, it will return null.\n */\nexport const getLangCodeFromQueryString = (): string => {\n const urlSearchParams = new URLSearchParams(window.location.search);\n let locale: string;\n urlSearchParams.forEach((v, k) => {\n if (k.toLowerCase() == \"langcode\") {\n locale = v;\n }\n });\n return locale ?? null;\n};\n\n/**\n * Get the saved language code from session staorage.\n * @returns String. Returns the saved language code in the session storage.\n */\nexport const getLangCodeFromLocalStorage = (config?: Config): string => {\n return formatLocale(sessionStorage.getItem(LocalStorageKeys.language), config as any);\n};\n\nexport const showCookieBot = (value: boolean, delayInMilliseconds: number = 1000): void => {\n setTimeout(() => {\n const element = document.getElementById(\"CybotCookiebotDialog\");\n if (!!element) {\n if (value) {\n element.classList.add(\"show\");\n } else {\n element.classList.remove(\"show\");\n }\n }\n }, delayInMilliseconds);\n};\n\n/**\n * Check if a variable is string or not\n * @param data\n * @returns Boolean.\n */\nexport const isString = (data: string) => {\n return typeof data === \"string\";\n};\n\n/**\n * Returns the host from a url\n * @param url\n * @returns\n */\nexport const trimUrl = (url: string = \"\"): string => {\n const link = document.createElement(\"a\");\n link.href = url;\n return link.host;\n};\n\n/**\n * @returns String. returns the redirect url\n */\nexport const getRedirectUrl = (): string => {\n return location.pathname + location.search;\n};\n\n/**\n * Boolean. Returns \"true\" if path is a private route, otherwise, returns \"false\"\n * @param path String. The URL that needs to be checked.\n * @param routes Array. Routes from Router.config provided by Angular\n * @returns Boolean\n */\nexport const isPrivateRoute = (path: string, routes: Routes): boolean => {\n // get the first path from the redirect url\n const link = document.createElement(\"a\");\n link.href = path;\n const tempPath = link.pathname?.charAt(0) === \"/\" ? link.pathname.substring(1) : link.pathname;\n const firstPath: string = tempPath?.split(\"/\")?.filter((link) => link)[0] ?? undefined;\n\n // if URL has no specific firstPath, consider the URL as private route\n if (firstPath === undefined) {\n return true;\n }\n\n // check if firstPath is private or public based from Router.config settings\n const route = routes.find((route) => route.path?.toLowerCase() == firstPath?.toLowerCase());\n const canActivates: any[] = route?.canActivate;\n return canActivates?.some((canActivate: any) => canActivate?.toString() == AuthGuard.toString());\n};\n\nexport const getPhone = (phone: string) => {\n try {\n // https://github.com/ruimarinho/google-libphonenumber\n const PNF = libphonenumber.PhoneNumberFormat;\n const phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();\n if (phone && phoneUtil.isValidNumber(phoneUtil.parse(`+${phone}`))) {\n const number = phoneUtil.parseAndKeepRawInput(`+${phone}`, \"\");\n return {\n countryCode: phoneUtil.getRegionCodeForNumber(number),\n dialCode: `+${number.getCountryCode()}`,\n e164Number: phoneUtil.format(number, PNF.E164),\n internationalNumber: phoneUtil.format(number, PNF.INTERNATIONAL),\n nationalNumber: phoneUtil.format(number, PNF.NATIONAL),\n number: String(number.getNationalNumber()),\n };\n } else {\n console.warn(\"INVALID PHONE NUMBER -----> \" + phone);\n\n // special override for Estonia to be able to accept sample numbers in https://github.com/SK-EID/MID/wiki/Test-number-for-automated-testing-in-DEMO\n if (`${phone}`.replace(\"+\", \"\").slice(0, 3) == \"372\") {\n return { number: `${phone}`.slice(3), countryCode: \"EE\" };\n }\n\n return {\n number: phone,\n invalid: true,\n };\n }\n } catch (error) {\n console.warn(\"Error parsing phone. returning invalid raw number.\", error);\n return { number: phone };\n }\n};\n","import { HttpErrorResponse } from \"@angular/common/http\";\n\nexport const getErrorStatuscode = (error: HttpErrorResponse) => error?.status;\nconst isBadRequest = (error: HttpErrorResponse): boolean => getErrorStatuscode(error) === 400;\nconst isConflict = (error: HttpErrorResponse): boolean => getErrorStatuscode(error) === 409;\n\nexport function getErrorMessage(error: HttpErrorResponse) {\n if (isBadRequest(error)) {\n return error.error.message ?? error.error.ErrorMessage ?? error.message;\n } else if (isConflict(error) && typeof error.error === \"string\") {\n return error.error;\n } else if (isConflict(error)) {\n return error.error.message ?? error.error.ErrorMessage ?? error.message;\n } else if (typeof error === \"string\") {\n return error;\n } else if (error instanceof Error) {\n return error.message;\n } else {\n return \"An unknown error occured\";\n }\n}\n","import { map, catchError, shareReplay, take, switchMap, tap } from \"rxjs/operators\";\nimport { Observable, of } from \"rxjs\";\nimport { Claim } from \"../services/accounts/accounts.model\";\nimport { claimValues, claimTypes } from \"../appsettings\";\nimport { ApiService } from \"../services/api/api.service\";\nimport { ConfigService } from \"../services/config/config.service\";\nimport { select, Store } from \"@ngrx/store\";\nimport { STSActions } from \"../@store/actions/sts.actions\";\nimport { StsSelectors } from \"../@store/selectors/sts.selectors\";\n\nexport const HAS_GENEPLANET_RESULTS_API = \"/api/results/ee-has-gp-result\";\n\nexport function isGeneplanetEnrolled(claims: Claim[]) {\n return claims.find((c) => c?.claimType == claimTypes.GENEPLANET_USER)?.claimValue == claimValues.TRUE;\n}\n\nexport function isGeneplanetAllowed(\n baseUrl$: Observable,\n api: ApiService,\n store: Store,\n claims: Claim[]\n): Observable {\n const synlabId = claims.find((c) => c.claimType == \"synlab_id\")?.claimValue;\n return baseUrl$.pipe(\n take(1),\n switchMap((baseUrl) => {\n return store.pipe(select(StsSelectors.hasGeneplanetOrders)).pipe(\n switchMap((hasOrders) => {\n // after looking at store if hasGeneplanetOrders have been set, if null, send http request to the has-orders api\n if (hasOrders === null)\n return api.getHttp(`${baseUrl}${HAS_GENEPLANET_RESULTS_API}/${synlabId}`).pipe(\n map((response) => `${response}`.toLowerCase() == claimValues.TRUE),\n // set hasGeneplanet to the store\n tap((hasOrders) => store.dispatch(STSActions.setHasGeneplanetOrders({ hasOrders }))),\n // in any failure, set to false\n catchError(() => of(false)),\n shareReplay(1)\n );\n // return what is in the store.\n return of(hasOrders);\n })\n );\n })\n );\n}\n\nexport function isGeneplanetEnabled(cfg: ConfigService) {\n return cfg._envConfig.EnablePreventionWellness.toLowerCase() == claimValues.TRUE;\n}\n\nexport function geneplanetClaimChange(prev: Claim[], next: Claim[]) {\n return (\n prev.find((c) => c.claimType == \"geneplanet_user\")?.claimValue ==\n next.find((c) => c.claimType == \"geneplanet_user\")?.claimValue\n );\n}\n","export enum EReset {\n SMS = \"sms\",\n AUTH_APP = \"auth-app\",\n}\n\nexport enum E2FAProvider {\n SMS = \"Phone\",\n AUTHENTICATOR = \"Authenticator\",\n}\n\nexport interface IReset {\n reset: EReset;\n time: Date;\n}\n\nexport interface IValidateDKMFAReset {\n id: string;\n seqId?: string;\n sequenceId?: string;\n}\n\nexport interface IChangePhonePayload {\n countryPhone: string;\n phone: string;\n}\n\nexport interface IVerifyChangePhonePayload {\n token: string;\n phone: string;\n}\n\nexport interface IRequestQueryParams {\n id: string;\n seqId?: string;\n sequenceId?: string;\n}\n\nexport interface ISet2FAPayload {\n code: string;\n twoFactorEnabled: boolean;\n twoFactorProvider: E2FAProvider;\n}\n\nexport interface IVerifySet2FAPayload {\n twoFactorEnabled: boolean;\n tokenProvider: E2FAProvider;\n code: string;\n token: string;\n}\n\nexport enum EResetMFAActivity {\n RESET_ISVALID = \"mfa_reset_isvalid\",\n RESET_CLAIMS = \"mfa_reset_info\",\n SET_2FA_SMS = \"reset_set_two_factor_authentication_sms\",\n SET_2FA_AUTH_APP = \"reset_set_two_factor_authentication_auth_app\",\n VERIFY_2FA = \"verify_two_factor_authentication\",\n CHANGE_PHONE = \"reset_change_phone\",\n VERIFY_PHONE = \"reset_verify_phone\",\n}\n\nexport interface IClaim {\n claimType: string;\n claimValue: any;\n}\n\nexport interface IClaimObject {\n [key: string]: string;\n}\n","export const environment = {\n production: true,\n};\n","import { Router } from \"@angular/router\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Component({\n selector: \"app-init\",\n templateUrl: \"./init.component.html\",\n styleUrls: [\"./init.component.scss\"],\n})\nexport class InitComponent implements OnInit {\n constructor(\n private auth: AuthService,\n private conf: ConfigService,\n private router: Router\n ) {}\n\n async ngOnInit() {\n await this.conf.load();\n this.router.navigate([\"account\"]);\n }\n}\n","
\n \n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Component({\n selector: \"app-signin-callback\",\n templateUrl: \"./signin-callback.component.html\",\n styleUrls: [\"./signin-callback.component.scss\"],\n})\nexport class SiginCallbackComponent implements OnInit {\n constructor(private authService: AuthService) {}\n\n ngOnInit() {\n this.authService.signinRedirectCallbackTrigger$.next(Date.now());\n }\n}\n","
\n \n
\n","\n
\n \"\"\n
\n\n \n \n \n
\n

\n \"spinner\"\n

\n
\n\n
\n \n
\n

{{ t(\"invalidLinkText\") }}

\n \n
\n
\n \n
\n {{ t(\"invalidLinkText\") }}\n
\n
\n
\n\n
\n
\n
\n
\n
\n

{{ t(\"resetYourPasswordTitle\") }}

\n

\n \"spinner\"\n

\n
\n \n\n \n
\n
\n
\n
\n
\n \n \n \n\n \n
\n \n \n
\n\n \n
\n \n \n \n {{ t(\"passwordDontMatchError\") }}\n \n\n \n \n \n
\n\n \n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n {{ t(\"passwordInstructionText\") }}\n \n \n
\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { finalize, tap, catchError, delay, take } from \"rxjs/operators\";\nimport { EMPTY, Observable } from \"rxjs\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { ApiService } from \"./../../../services/api/api.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { Store, select } from \"@ngrx/store\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport {\n AbstractControl,\n UntypedFormControl,\n UntypedFormGroup,\n ValidationErrors,\n ValidatorFn,\n Validators,\n} from \"@angular/forms\";\nimport { EPassForm } from \"src/app/models/password.model\";\nimport { passwordValidation } from \"src/app/modules/shared/regex-pattern\";\n\n@Component({\n selector: \"app-forgot-password\",\n templateUrl: \"./forgot-password.component.html\",\n styleUrls: [\"./forgot-password.component.scss\"],\n})\nexport class ForgotPasswordComponent implements OnInit {\n loading = false;\n isMatched = false;\n showSpin = true;\n showForm = false;\n regId = \"\";\n seqId = \"\";\n returnUrl = \"\";\n showError = false;\n submitted = false;\n passwordFormatInvalid: boolean = false;\n useNewNav$: Observable = this.store.pipe(select(StsSelectors.useNewNav));\n isSHFYInstance$ = this.store.pipe(select(StsSelectors.isUkShfyInstance));\n\n passwordFormG = new UntypedFormGroup({\n authenticationProvider: new UntypedFormControl(\"local\"),\n schemeProvider: new UntypedFormControl(\"\"),\n newPassword: new UntypedFormControl(\"\", [Validators.required, Validators.pattern(passwordValidation)]),\n confirmPassword: new UntypedFormControl(\"\", [Validators.required]),\n });\n\n constructor(\n private api: ApiService,\n private activeRoute: ActivatedRoute,\n private toast: ToastrService,\n @Inject(Window) private window,\n private translocoService: TranslocoService,\n private config: ConfigService,\n private store: Store\n ) {}\n\n ngOnInit() {\n this.passwordFormG.setValidators(this.checkPasswords);\n\n this.activeRoute.queryParams\n .pipe(\n take(1),\n tap((params) => {\n this.regId = params.id;\n this.seqId = params.seq;\n this.returnUrl = atob(params.returnUrl || \"\");\n\n this.loadClaims();\n })\n )\n .subscribe();\n }\n\n loadClaims() {\n this.api.get(\"/manage/accounts/verify_forgot_password\", { id: this.regId, seq: this.seqId }).subscribe((d) => {\n this.showSpin = false;\n this.showForm = d;\n });\n }\n\n setAccountPassword() {\n const f = this.passwordFormG.getRawValue();\n\n this.loading = true;\n this.passwordFormatInvalid = false;\n this.api\n .put(`/manage/accounts/forgot_password`, {\n UserId: this.regId,\n NewPassword: f[EPassForm.CONFIRM_PASS],\n Sequence: this.seqId,\n })\n .pipe(\n finalize(() => {\n this.loading = false;\n }),\n tap(() => {\n this.toast.success(\n this.translocoService.translate(\"successfullyUpdatedPasswordText\", {}, \"forgotPassword\"),\n this.translocoService.translate(\"successfullyUpdatedPasswordTitle\", {}, \"forgotPassword\")\n );\n this.submitted = true;\n }),\n delay(2000),\n tap(() => {\n this.passwordFormG.reset();\n this.passwordFormG.markAsPristine();\n\n this.window.location.href = `${this.config._envConfig.BaseAuthUrl}/Account/Login`;\n }),\n catchError((err) => {\n if (\n err &&\n err.error &&\n typeof err.error.ErrorMessage === \"string\" &&\n err.error.ErrorMessage.indexOf(\"Incorrect Password Format\") > -1\n ) {\n this.toast.error(this.translocoService.translate(\"incorrectPasswordFormat\", {}, \"security\"));\n this.passwordFormatInvalid = true;\n return;\n }\n const errMessage =\n err && err.error && err.error.ErrorMessage\n ? err.error.ErrorMessage\n : this.translocoService.translate(\"errorUpdatingPasswordText\", {}, \"forgotPassword\");\n this.toast.error(\n this.translocoService.translate(\"errorUpdatingPasswordText\", {}, \"forgotPassword\"),\n this.translocoService.translate(\"errorOccuredTitle\", {}, \"general\")\n );\n console.error(errMessage || err);\n return EMPTY;\n })\n )\n .subscribe();\n }\n\n redirectToContactSynlab() {\n this.window.location.href = this.config._envConfig.BaseProfileUrl;\n }\n\n get EPassForm(): typeof EPassForm {\n return EPassForm;\n }\n\n public checkPasswords: ValidatorFn = (group: AbstractControl): ValidationErrors | null => {\n let pass = group.get(EPassForm.NEW_PASS).value;\n let confirmPass = group.get(EPassForm.CONFIRM_PASS).value;\n return pass === confirmPass || confirmPass == \"\" ? null : { [EPassForm.CONFIRM_PASS]: true };\n };\n}\n","import { Component, OnInit } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Component({\n selector: \"app-renewtoken\",\n templateUrl: \"./renewtoken.component.html\",\n styleUrls: [\"./renewtoken.component.scss\"],\n})\nexport class RenewtokenComponent implements OnInit {\n constructor(private config: AuthService) {}\n\n ngOnInit() {\n this.config._manager.signinSilentCallback().catch((e) => {\n console.log(\"Test Error\");\n console.error(\"silent-renew error:\", e);\n });\n }\n}\n","soomething\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"app-self-sampling-instruction\",\n templateUrl: \"./self-sampling-instruction.component.html\",\n styleUrls: [\"./self-sampling-instruction.component.scss\"],\n})\nexport class SelfSamplingInstructionComponent {}\n","\n\n
\n
\n
\n \"Synlab's\n
\n
\n
\n
\n
\n
\n

COVID-19

\n

Anleitung für den Lolli-PCR-Pool

\n
\n
\n
\n
\n

Sie erhalten folgende Materialien:

\n
\n
\n
\n \"Self-Sampling\n
\n
\n
\n
\n \"Self-Sampling\n
\n
\n
\n
\n
\n
\n Die Durchführung der Probenentnahme sollte strikt nach Poolgruppen getrennt erfolgen, um Irrtümer zu vermeiden!\n Empfehlenswert sind maximal 15 Schüler : innen pro Poolgruppe.\n
\n
\n
\n
\n
\n
\n \"Self-Sampling\n
\n
\n
\n

\n Ihre Schulverwaltung hat Sie im SYNLAB-Schulportal registriert. Klicken Sie bitte in der Ihnen zugesandten\n E-Mail auf den Link und legen Sie dort Ihr persönliches Kennwort für den Zugang an.\n

\n

\n Bitte laden Sie die SYNLAB Access-App herunter und melden sich mit Ihren Zugangsdaten an.\n

\n

\n Die App gibt die notwendigen Schritte vor. Legen Sie zunächst je Gruppe in Ihrer Klasse eine Poolgruppe an.\n Geben Sie die Klasse (z.B. 5a) und Poolgruppe (z.B. A) als Bezeichnung an.\n

\n

\n Die Registrierung und Anlage der Poolgruppen müssen nur einmal durchgeführt werden.\n

\n
\n
\n
\n \"Self-Sampling\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n
\n\n
\n

\n Bitte händigen Sie allen Schüler:innen einen Druckverschlussbeutel aus, mit Tupfer im Transportröhrchen und\n einer Probentüte sowie einer Anleitung für die Probennahme zu Hause.\n

\n

\n Hinweis: Die Ausgabe von Set B an die Schüler:innen erfolgt nur einmalig (bis zu einer positiven\n Poolanalyse).\n

\n
\n
\n\n
\n
\n

Anleitung für die Probenentnahme

\n
\n
\n
\n
\n
\n \"Self-Sampling\n
\n

1

\n
\n
\n
\n
\n

\n Sie öffnen die App und beginnen via „Pooltestung starten“ mit der Durchführung des Tests. Sie folgen den von der\n App vorgegebenen Schritten.\n

\n

\n Sie wählen eine Gruppe aus, scannen den Strichcode des Poolröhrchens und beginnen mit der Probenentnahme, wie\n nachstehend beschrieben.\n

\n

\n Sie beschriften den Aufkleber auf der Probentüte von Set A mit Namen und Anschrift Ihrer Einrichtung, der\n Klasse, dem Datum sowie der Poolgruppe.\n

\n
\n
\n
\n \"Self-Sampling\n
\n

2

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

3

\n
\n
\n
\n
\n

\n Sie legen die Probentüte und das geöffnete Poolröhrchen bereit.
Sie nehmen die ersten 15 Tupfer in\n Folienverpackung und verteilen sie an die Schüler:innen der ersten Poolgruppe.\n

\n

Die Schüler:innen nehmen den verpackten Tupfer und öffnen die Verpackung durch Abziehen der Folie.

\n

\n Der Tupfer wird in den Mund genommen und 30 Sekunden gelutscht: Mit der Zunge hin- und herbewegen.\n Nicht kauen!\n

\n
\n\n
\n
\n \"Self-Sampling\n
\n

4

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

5

\n
\n
\n
\n
\n

\n Die Schüler:innen nehmen den Tupfer aus dem Mund, halten ihn direkt unter- und oberhalb der Sollbruchstelle fest\n und brechen ihn in zwei Teile.\n

\n

\n Die Schüler:innen gehen zum Poolröhrchen, werfen den wattierten Teil in das Poolröhrchen. Das verbliebene\n Tupferbruchstück und die Verpackung werden im Mülleimer entsorgt.\n

\n
\n
\n
\n \"Self-Sampling\n
\n

6

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

7

\n
\n
\n
\n
\n

\n Wenn alle Schüler:innen ihre Tupfer eingeworfen haben, verschließen Sie das Poolröhrchen sorgfältig, stecken es\n in die Probentüte und kleben diese zu.\n

\n

Schließen Sie die Probennahme in der App ab.

\n

Den Befund für Ihre Poolgruppe(n) erhalten Sie über die SYNLAB Access-App.

\n
\n
\n
\n \"Self-Sampling\n
\n

8

\n
\n
\n
\n
\n\n
\n
\n
\n Besteht Ihre Klasse aus mehr als 15 Schüler:innen, wiederholen Sie den Vorgang bitte für weitere Poolgruppen.\n
\n

Übrig gebliebene Materialien geben Sie bitte inklusive Probentüten an die Verwaltung zurück.

\n
\n
\n
\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"app-parent-self-sampling-instruction\",\n templateUrl: \"./parent-self-sampling-instruction.component.html\",\n styleUrls: [\"./parent-self-sampling-instruction.component.scss\"],\n})\nexport class ParentSelfSamplingInstructionComponent {}\n","\n\n
\n
\n
\n \"Synlab's\n
\n
\n
\n
\n
\n
\n

COVID-19

\n

Anleitung für den Lolli-PCR-Pool zu Hause

\n
\n
\n

\n Um die Pandemie im Segment Schulen und Kindergärten besser unter Kontrolle zu bringen, wird Ihrem Kind die\n Testung auf eine Infektion mit SARS-CoV-2 empfohlen\n

\n

\n In der Schule haben die Kinder bereits eine erste Testung durchgeführt, bei der mehrere Proben in einer PCR\n gemeinsam gemessen wurden („Pool-Probe“). Fällt dieser Pool-Test positiv aus, sind Kinder der Klasse mit\n SARS-CoV-2 infiziert. Sollte dies zutreffen, bekommen Sie diesbezüglich weitere Information über Ihre Schule.\n Bitte öffnen Sie erst dann den Druckverschlussbeutel und führen die Probennahme durch. Bis dahin bewahren Sie\n den Beutel bitte bei Raumtemperatur auf.\n

\n

\n Um die Probennahme für Ihr Kind sicher und angenehm zu gestalten, kommt auch bei der Abnahme zu Hause die\n „LolliMethode“ zum Einsatz. Im von der Schule übergebenen Druckverschlussbeutel finden Sie einen sterilen\n Tupfer, den Sie Ihrem Kind geben und an dem, wie bei einem Lutscher/Lolli, 30 Sekunden gelutscht wird. Im\n Anschluss verpacken Sie den Tupfer in der mitgelieferten Probentüte und bringen diese in die Schule, von wo der\n Transport ins SYNLAB-Labor erfolgt. Dort wird mit einer sehr sensitiven PCR-Methode die Analyse durchgeführt.\n

\n
\n
\n
\n
\n
Der Druckverschlussbeutel enthält folgende Materialien:
\n
    \n
  1. Probentüte
  2. \n
  3. Tupfer mit Transportröhrchen
  4. \n
  5. ein von der Schule ausgedruckter QR-Code für die SYNLAB Access-App
  6. \n
\n
\n
\n
\n \"Self-Sampling\n
\n
\n
\n\n
\n
\n

Vorbereitung

\n
\n
\n
\n
\n
\n \"Self-Sampling\n
\n

1

\n
\n
\n
\n
\n

Beschriften Sie den Aufkleber der Probentüte mit dem Namen Ihres Kindes.

\n

\n \n Sollte ein Strichcode beiliegen und noch nicht auf dem Transportröhrchen kleben, bringen Sie ihn bitte in\n Längsrichtung an. Nicht um das Röhrchen wickeln!\n \n

\n

Laden Sie die SYNLAB Access-App herunter:

\n \"SYNLAB\n
\n
\n
\n \"Self-Sampling\n
\n

2

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

3

\n
\n
\n
\n
\n

\n Registrieren Sie sich in der App mit Ihrer E-MailAdresse. Sie erhalten anschließend eine E-Mail mit einem Link,\n den Sie bitte anklicken, um auf der Seite Ihre Daten zu vervollständigen und ein Passwort zu wählen. Nach\n Abschluss der Registrierung können Sie sich in der App einloggen. In der App klicken Sie auf „Selbst-Testung\n starten“. Sie werden nun aufgefordert, den durch die Schule zur Verfügung gestellten Zugangscode einzugeben, der\n die kostenlose Nachtestung Ihres Kindes freischaltet.\n

\n

Nach Eingabe der Daten scannen Sie den Strichcode auf dem Tupfertransportröhrchen.

\n
\n\n
\n
\n \"Self-Sampling\n
\n

4

\n
\n
\n
\n
\n
\n
\n

Anleitung für die Probenentnahme

\n
\n
\n
\n
\n
\n \"Self-Sampling\n
\n

5

\n
\n
\n
\n
\n

\n Entnehmen Sie den Tupfer im Transportröhrchen aus dem Druckverschlussbeutel. Ziehen Sie den Tupfer aus dem\n Transportröhrchen heraus und geben Sie ihn Ihrem Kind.\n

\n

\n Ihr Kind nimmt den Tupfer mit der wattierten Seite in den Mund und lutscht 30 Sekunden darauf: Mit der Zunge\n hin- und herbewegen. Nicht kauen!\n

\n

Anschließend den Tupfer in das Transportröhrchen stecken und es gut verschließen.

\n
\n
\n
\n \"Self-Sampling\n
\n

6

\n
\n
\n
\n\n
\n
\n \"Self-Sampling\n
\n

7

\n
\n
\n
\n
\n

\n Sie stecken das Transportröhrchen in die Probentüte. Verschließen Sie die Probentüte mit dem Klebeverschluss.
\n Bitte bringen Sie die Probe schnellstmöglich in die Schule mit!\n

\n

\n \n Informationen zur Rückgabe (insbesondere die Abgabezeiten) oder zum weiteren Transport erhalten Sie von Ihrer\n Schule.\n \n

\n

\n Über das Ergebnis der PCR-Analyse werden Sie über die SYNLAB Access-App informiert. \n

\n
\n
\n
\n \"Self-Sampling\n
\n

8

\n
\n
\n
\n
\n
\n","\n\n
\n
\n
\n \"Synlab's\n
\n
\n
\n
\n
\n
\n
\n

\n

\n
\n
    \n
  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
\n
\n
\n
\n","import { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { map } from \"rxjs/operators\";\n\n@Component({\n selector: \"app-general-terms\",\n templateUrl: \"./general-terms.component.html\",\n styleUrls: [\"./general-terms.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GeneralTermsComponent {\n langCode$ = this.route.queryParamMap.pipe(\n map((x) => {\n const langCode = x.get(\"langCode\");\n return langCode ? `${langCode}|static` : \"\";\n })\n );\n constructor(private route: ActivatedRoute) {}\n}\n","\n \n \n \n \n
\n
\n \n \n
\n
\n
\n {{ t(\"deleteTitle\") }}\n
\n

{{ t(\"deleteConfirmInstruction1\") }}

\n
\n \n
\n
\n
\n
\n \n \n
\n

{{ t(\"invalidLinkText\") }}

\n \n
\n
\n \n
\n {{ t(\"invalidLinkText\") }}\n
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n
\n {{ t(\"deleteTitle\") }}\n
\n \n
\n \n
\n
\n
\n \n
\n {{ t(\"invalidLinkText\") }}\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { Store, select } from \"@ngrx/store\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { Observable } from \"rxjs\";\nimport { take, withLatestFrom } from \"rxjs/operators\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { LocalStorageKeys } from \"src/app/models/storage.model\";\nimport { PATIENT_WEB_LOCALE_STORAGE_KEY } from \"src/app/plasma-ui-common/synlab-access-ui-components/core/constants\";\nimport { AccountsService } from \"src/app/services/accounts/accounts.service\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { deleteScopeKey, generalScopeKey } from \"src/app/services/i18n/i18n.service\";\n\n@Component({\n selector: \"app-delete-account\",\n templateUrl: \"./delete-account.component.html\",\n styleUrls: [\"./delete-account.component.scss\"],\n})\nexport class DeleteAccountComponent implements OnInit {\n regId = \"\";\n seqId = \"\";\n public isValidDeleteAccountLink$: Observable;\n isSHFYInstance$: Observable = this.store.select(StsSelectors.isUkShfyInstance);\n useNewNav$: Observable = this.store.pipe(select(StsSelectors.useNewNav));\n\n constructor(\n private actRoute: ActivatedRoute,\n private accountService: AccountsService,\n private toastr: ToastrService,\n private translocoService: TranslocoService,\n private cnfg: ConfigService,\n private store: Store,\n private auth: AuthService\n ) {}\n\n ngOnInit() {\n const { id, seqId, sequenceId } = this.actRoute.snapshot.queryParams;\n this.regId = id;\n this.seqId = sequenceId || seqId;\n\n const params = { UserCode: this.regId, SequenceCode: this.seqId };\n this.isValidDeleteAccountLink$ = this.accountService.getDeleteValidity(params);\n }\n\n redirectToContactSynlab() {\n window.location.href = this.cnfg._envConfig.BaseProfileUrl;\n }\n\n delete() {\n const body = { UserCode: this.regId, SequenceCode: this.seqId };\n\n const url = this.cnfg._envConfig.BaseProfileUrl;\n const loc = window.location;\n this.accountService\n .confirmDelete(body)\n .subscribe(\n (res) => {\n\n const message: string = this.translocoService.translate(\"confirmDeleteSuccessMessage\", {}, deleteScopeKey);\n const title: string = this.translocoService.translate(\"confirmDeleteSuccessTitle\", {}, deleteScopeKey);\n const overrideOptions: any = null;\n\n this.toastr\n .success(message, title, overrideOptions)\n .onHidden.pipe(take(1))\n .subscribe((d) => this.auth.startSignoutMainWindow());\n },\n (e) => {\n this.toastr.error(\n e.error.ErrorMessage,\n this.translocoService.translate(\"errorOccuredTitle\", {}, generalScopeKey)\n );\n }\n );\n }\n\n private clearStorageAfterSuccessfulDelete() {\n const sessionLangCode: string = sessionStorage.getItem(LocalStorageKeys.language);\n const localLangCode: string = localStorage.getItem(PATIENT_WEB_LOCALE_STORAGE_KEY);\n\n sessionStorage.clear();\n localStorage.clear();\n\n localStorage.setItem(PATIENT_WEB_LOCALE_STORAGE_KEY, localLangCode);\n sessionStorage.setItem(LocalStorageKeys.language, sessionLangCode);\n }\n}\n","export interface SessionTransferDto {\n value: string;\n}\n\nexport interface SessionTransfer {\n idToken: string;\n accessToken: string;\n}\n\nexport enum SessionTransferErrorCode {\n AccessTokenParseFailed = \"A1\",\n CreateDecryptorFailed = \"C1\",\n DecryptionFailed = \"D1\",\n DtoValueToBytesFailed = \"D2\",\n GetSessionTransferFailed = \"G1\",\n HashKeyToBytesFailed = \"H1\",\n InvalidValueBytes = \"I1\",\n JsonParseFailed = \"J1\",\n ParsedObjectInvalid = \"P1\",\n RemovePaddingFailed = \"R1\",\n TrimJsonFailed = \"T1\",\n UTF8DecodeFailed = \"U1\",\n}\n\nexport class SessionTransferError {\n constructor(readonly errorCode: SessionTransferErrorCode) {}\n}\n","import { Injectable } from \"@angular/core\";\nimport {\n SessionTransfer,\n SessionTransferDto,\n SessionTransferError,\n SessionTransferErrorCode as ErrCode,\n} from \"src/app/models/sessionTransfer.model\";\n\nimport * as aesjs from \"aes-js\";\nimport * as base64 from \"byte-base64\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ConfigService } from \"../config/config.service\";\nimport { map } from \"rxjs/operators\";\n\n@Injectable({ providedIn: \"root\" })\nexport class AuthSessionTransferService {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ConfigService\n ) {}\n\n getSessionTransfer$(args: { hashKey: string; sessionId: string }) {\n return this.http\n .get(`${this.config.baseAuthUrl}/session-transfer-store/${args.sessionId}`)\n .pipe(map((resp) => this.dtoToModel(resp, args.hashKey)));\n }\n\n dtoToModel(dto: SessionTransferDto, hashKey: string) {\n // Convert dto.value to bytes\n\n console.log(dto);\n console.log(hashKey);\n\n let valueBytes: Uint8Array;\n\n try {\n valueBytes = base64.base64ToBytes(dto.value);\n } catch (err) {\n console.error(\"Failed to convert base64 dto.value to bytes\", err);\n throw new SessionTransferError(ErrCode.DtoValueToBytesFailed);\n }\n\n if (valueBytes.length <= 16) {\n console.error(\"dto.value must contain at least 17 bytes of data\");\n throw new SessionTransferError(ErrCode.InvalidValueBytes);\n }\n\n // Split dto.value into iv and decrypted data (iv is 16 bytes long and placed first)\n\n const ivBytes = valueBytes.subarray(0, 16);\n const encryptedBytes = valueBytes.subarray(16, valueBytes.length);\n\n let hashKeyBytes: Uint8Array;\n\n try {\n hashKeyBytes = base64.base64ToBytes(hashKey);\n } catch (err) {\n console.error(\"Failed to convert base64 hashKey to bytes\", err);\n }\n\n // Create a decryptor with the hashKey and iv to decrypt the data\n\n let aesCbcDecryptor: aesjs.ModeOfOperation.ModeOfOperationCBC;\n\n try {\n aesCbcDecryptor = new aesjs.ModeOfOperation.cbc(hashKeyBytes, ivBytes);\n } catch (err) {\n console.error(\"Failed to create decryptor\", err);\n throw new SessionTransferError(ErrCode.CreateDecryptorFailed);\n }\n\n // Decrypt data\n\n let decryptedBytesWithPadding: Uint8Array;\n\n try {\n decryptedBytesWithPadding = aesCbcDecryptor.decrypt(encryptedBytes);\n } catch (err) {\n console.error(\"Failed to decrypt bytes\", err);\n throw new SessionTransferError(ErrCode.DecryptionFailed);\n }\n\n // Remove padding\n // Some padding is probably added by the encryptor and is 0f in hex, aka 15.\n // Other padding (3) are from base64 '=' padding\n // Other padding are (1) causing a weird utf8 symbol\n\n let decryptedBytes: Uint8Array;\n\n try {\n decryptedBytes = this.removePadding(this.removePadding(this.removePadding(decryptedBytesWithPadding, 15), 3), 1);\n } catch (err) {\n console.error(\"Failed to remove padding from encrypted bytes\", err);\n throw new SessionTransferError(ErrCode.RemovePaddingFailed);\n }\n\n // Interpret the decrypted words/bytes as Utf8\n let json: string;\n try {\n json = new TextDecoder().decode(decryptedBytes);\n\n if (!json) {\n throw new Error(\"Decoded json string was falsy\");\n }\n } catch (err) {\n console.error(\"Failed to decode UTF8 bytes\", err);\n throw new SessionTransferError(ErrCode.UTF8DecodeFailed);\n }\n\n try {\n json = this.trimJson(json);\n } catch (err) {\n console.error(\"Failed to trim json\", err);\n throw new SessionTransferError(ErrCode.TrimJsonFailed);\n }\n\n let obj: SessionTransfer;\n try {\n obj = JSON.parse(json);\n\n if (!obj) {\n throw new Error(\"obj was undefined\");\n }\n } catch (err) {\n console.error(\"Failed to parse json string to object\", err);\n throw new SessionTransferError(ErrCode.JsonParseFailed);\n }\n\n try {\n if (!obj.accessToken) {\n throw new Error(\"accessToken was missing on obj\");\n }\n\n if (!obj.idToken) {\n throw new Error(\"idToken was missing on obj\");\n }\n } catch (err) {\n console.error(\"Parsed object was invalid\", err);\n throw new SessionTransferError(ErrCode.ParsedObjectInvalid);\n }\n\n return obj;\n }\n\n private removePadding(array: Uint8Array, paddingValue: number) {\n const reversed = array.reverse();\n const firstNonPaddingEntry = reversed.find((val) => val !== paddingValue);\n const nonPaddingIndex = firstNonPaddingEntry ? reversed.indexOf(firstNonPaddingEntry) : undefined;\n return reversed.subarray(nonPaddingIndex, reversed.length).reverse();\n }\n\n // Tries to find a json object in the string to isolate it and remove junk that might be present before and after\n private trimJson(str: string) {\n if (!str) {\n throw new Error(\"Could not trim empty json string\");\n }\n\n let firstIndex: number | undefined;\n\n for (let i = 0; i < str.length; i++) {\n if (str[i] === \"{\") {\n firstIndex = i;\n break;\n }\n }\n\n if (firstIndex === undefined) {\n throw new Error(\"Could not find '{' in json\");\n }\n\n let lastIndex: number | undefined;\n\n for (let i = 0; i < str.length; i++) {\n const index = str.length - i - 1;\n if (str[index] === \"}\") {\n lastIndex = index;\n break;\n }\n }\n\n if (lastIndex === undefined) {\n throw new Error(\"Could not find '}' in json\");\n }\n\n return str.substring(firstIndex, lastIndex + 1);\n }\n}\n","import { Component, ChangeDetectionStrategy } from \"@angular/core\";\n\n@Component({\n selector: \"app-loader\",\n templateUrl: \"./loader.component.html\",\n styleUrls: [\"./loader.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoaderComponent {}\n","\n \n \n \n \n \n \n\n","import { Component, OnInit } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { AuthSessionTransferService } from \"src/app/services/auth/auth-session-transfer.service\";\nimport { sessionTransferKey } from \"src/app/services/i18n/i18n.service\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { SessionTransferError } from \"src/app/models/sessionTransfer.model\";\n@Component({\n selector: \"app-init-session\",\n template: \"\",\n styleUrls: [\"./init-session.component.scss\"],\n})\nexport class InitSessionComponent implements OnInit {\n constructor(\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly sessionTransferService: AuthSessionTransferService,\n private translocoService: TranslocoService,\n private readonly toastr: ToastrService\n ) {\n toastr.toastrConfig.disableTimeOut = true;\n }\n\n ngOnInit(): void {\n const queryArgs = this.getQueryParams();\n if (queryArgs) {\n this.sessionTransferService.getSessionTransfer$(queryArgs).subscribe(\n (res) => {\n localStorage.setItem(`session-transfer`, JSON.stringify(res));\n this.router.navigate([\"/account/profile\"]);\n },\n (error: unknown) => {\n if (error instanceof SessionTransferError) {\n this.toastr.error(\n `${this.translocoService.translate(\"loginFailed\", {}, sessionTransferKey)} - ${error.errorCode}`\n );\n }\n }\n );\n } else {\n this.toastr.error(this.translocoService.translate(\"loginFailed\", {}, sessionTransferKey));\n }\n }\n\n private replaceSpaceWithPlus(text: string): string {\n return text.replace(\" \", \"+\");\n }\n\n private getQueryParams(): { hashKey: string; sessionId: string } | undefined {\n const hashKey: string = this.route.snapshot.queryParamMap.get(\"hashKey\");\n const sessionId: string = this.route.snapshot.queryParamMap.get(\"sessionId\");\n\n if (hashKey && sessionId) {\n return {\n hashKey: this.replaceSpaceWithPlus(hashKey),\n sessionId: this.replaceSpaceWithPlus(sessionId),\n };\n } else {\n console.error(\"HashKey and/or sessionId were missing.\");\n return undefined;\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nfunction _window() {\n return window;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowRefService {\n constructor() { }\n get nativeWindow() {\n return _window();\n }\n}\n","\n\n
\n
\n

{{ t(\"shfyHeading\") }}

\n

{{ t(\"shfyMessage\") }}

\n\n
\n
\n \n \n \n \n
\n\n
\n \n \n
\n
\n
\n\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from \"@angular/forms\";\nimport { emailPattern } from \"src/app/modules/shared/regex-pattern\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\n@Component({\n selector: \"app-dxp-send-forgot-password\",\n templateUrl: \"./dxp-send-forgot-password.component.html\",\n styleUrls: [\"./dxp-send-forgot-password.component.scss\"],\n})\nexport class DxpSendForgotPasswordComponent implements OnInit {\n public form: UntypedFormGroup;\n public showMessage = false;\n public loading = false;\n public submitted = true;\n\n private returnUrl = \"\";\n private readonly emailPattern = new RegExp(emailPattern);\n\n constructor(\n private api: ApiService,\n private config: ConfigService,\n private formBuilder: UntypedFormBuilder\n ) {}\n\n ngOnInit(): void {\n this.buildForm();\n }\n\n private buildForm() {\n this.form = this.formBuilder.group({\n email: [\"\", [Validators.required, Validators.pattern(this.emailPattern)]],\n });\n }\n\n public get email() {\n return this.form.get(\"email\");\n }\n\n public onClear() {\n this.email.reset();\n }\n\n public onCancel() {\n window.location.href = `${this.config.baseAuthUrl}/Account/Login${window.location.search}`;\n }\n\n public formatSuccessMessage(message: string) {\n return message.replace(\"[address]\", this.email.value);\n }\n\n public onSubmit() {\n this.loading = true;\n const email = encodeURIComponent(this.email.value);\n this.api\n .post(`/account/sendforgotpassword?returnUrl=${encodeURIComponent(this.returnUrl)}&email=${email}`)\n .subscribe(\n () => {\n this.showMessage = true;\n this.loading = false;\n this.submitted = true;\n },\n (e) => {\n this.loading = false;\n }\n );\n }\n}\n","\n \n\n\n\n \n
\n
\n \"SYNLAB\n

\n {{ t(\"heading\") }}\n

\n
\n
\n \n \n \n \n
\n\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from \"@angular/forms\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Store } from \"@ngrx/store\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { ErrorCode } from \"src/app/appsettings\";\nimport { emailPattern } from \"src/app/modules/shared/regex-pattern\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { WindowRefService } from \"src/app/services/window-ref.service\";\n\n@Component({\n selector: \"app-send-forgot-password\",\n templateUrl: \"./send-forgot-password.component.html\",\n styleUrls: [\"./send-forgot-password.component.scss\"],\n})\nexport class SendForgotPasswordComponent implements OnInit, OnDestroy {\n public isUkShfyInstance$: Observable = this.store.select(StsSelectors.isUkShfyInstance);\n readonly endpoint = \"/account/sendforgotpassword\";\n readonly emailPattern = new RegExp(emailPattern);\n returnUrl = \"\";\n form: UntypedFormGroup;\n sub: Subscription;\n message = \"\";\n loading = false;\n submitted = false;\n\n isUserDeactivated: boolean = false;\n deactivatedMessage: string = null;\n\n constructor(\n private api: ApiService,\n private activeRoute: ActivatedRoute,\n private fb: UntypedFormBuilder,\n private store: Store,\n private config: ConfigService,\n private windowRef: WindowRefService,\n ) {\n this.form = this.fb.group({\n email: [\"\", [Validators.required, Validators.pattern(this.emailPattern)]],\n });\n this.returnUrl = btoa(encodeURIComponent(this.activeRoute.snapshot.queryParams.returnUrl));\n }\n\n get email() {\n return this.form.get(\"email\");\n }\n\n ngOnInit() {\n this.sub = this.form.get(\"email\").valueChanges.subscribe((n) => (this.submitted = false));\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n\n onSubmit() {\n this.isUserDeactivated = null;\n this.message = null;\n this.loading = true;\n\n const email = encodeURIComponent(this.email.value);\n this.api.post(`${this.endpoint}?returnUrl=${encodeURIComponent(this.returnUrl)}&email=${email}`).subscribe(\n () => {\n this.message = `sendSuccess`;\n this.loading = false;\n this.submitted = true;\n },\n (e) => {\n this.loading = false;\n this.submitted = true;\n\n const { error } = e;\n if (error) {\n const { errorCode, errorMessage } = error;\n this.isUserDeactivated = errorCode == ErrorCode.USER_DEACTIVATED;\n this.deactivatedMessage = errorMessage;\n }\n }\n );\n }\n\n onCancel() {\n this.windowRef.nativeWindow.location.href = `${this.config.baseAuthUrl}/Account/Login${window.location.search}`;\n }\n\n onClear(controlName: string) {\n this.form.get(controlName).reset();\n }\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { Store } from \"@ngrx/store\";\nimport * as _ from \"lodash\";\nimport { of } from \"rxjs\";\nimport { STSActions } from \"src/app/@store/actions/sts.actions\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { AuthService } from \"../auth/auth.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class CheckLogin {\n constructor(\n private authService: AuthService,\n private store: Store\n ) {}\n canActivate() {\n const isLoggedIn = this.authService.isLoggedInObs();\n const check$ = this.authService.checkLogin();\n\n const sessionTransferObj = JSON.parse(localStorage.getItem(\"session-transfer\"));\n\n if (sessionTransferObj != null && sessionTransferObj.accessToken) {\n this.authService.saveToState(sessionTransferObj.accessToken);\n return of(true);\n } else {\n isLoggedIn.subscribe((loggedin) => {\n if (!loggedin) {\n this.store.dispatch(STSActions.checkLoginStatus({ value: false }));\n return;\n }\n\n this.store.dispatch(STSActions.checkLoginStatus({ value: true }));\n });\n\n return check$;\n }\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"app-ee-privacy-terms\",\n templateUrl: \"./ee-privacy-terms.component.html\",\n styleUrls: [\"./ee-privacy-terms.component.scss\"],\n})\nexport class EePrivacyTermsComponent {}\n","
\n \"\"\n
\n\n
\n \n
\n \n

{{ t(\"successH1\") }}

\n

{{ t(\"successParagraph\") }}

\n {{ t(\"loginButton\") }}\n
\n
\n\n \n
\n

{{ t(\"errorH1\") }}

\n

{{ (error$ | async) || t(\"errorParagraph\") }}

\n
\n
\n

{{ t(\"shfyErrorH1\") }}

\n

{{ t(\"shfyErrorParagraph\") }}

\n {{\n t(\"shfyLoginButton\")\n }}\n
\n
\n

{{ t(\"shfyActiveUserErrorH1\") }}

\n

{{ t(\"shfyActiveUserErrorParagraph\") }}

\n
\n
\n

{{ t(\"shfyDuplicateFiscalCodeErrorH1\") }}

\n

\n
\n
\n
\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { ChangeDetectionStrategy, Component } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Store, select } from \"@ngrx/store\";\nimport { BehaviorSubject, Observable, of } from \"rxjs\";\nimport { catchError, switchMap, share, first, map, finalize, take, tap } from \"rxjs/operators\";\nimport { StsSelectors } from \"src/app/@store/selectors/sts.selectors\";\nimport { claimValues } from \"src/app/appsettings\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\nimport { ChangeEmailService } from \"src/app/services/change-email.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\nconst CONFIRM_EMAIL_API = \"/v2/uk/manage/accounts/confirm-email\";\n\n@Component({\n selector: \"syn-activate-account\",\n templateUrl: \"./activate-account.component.html\",\n styleUrls: [\"./activate-account.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ActivateAccountComponent {\n loading$: BehaviorSubject = new BehaviorSubject(true);\n\n success$: Observable = this.activeRt.queryParamMap.pipe(\n first(),\n share(),\n switchMap((params) =>\n this.putConfirmEmail(\n params.get(\"sequenceId\") || params.get(\"seqId\"),\n params.get(\"id\"),\n params.get(\"change-email-verify\")\n )\n ),\n finalize(() =>\n this.isSHFYInstance$\n .pipe(take(1))\n .subscribe((isShfy) => (isShfy ? this.shfyActivationRedirect() : this.loading$.next(false)))\n )\n );\n private hasRedirected: boolean = false;\n\n error$: BehaviorSubject = new BehaviorSubject(null);\n\n loginLink$: Observable = this.config.envConfig$.pipe(map((c) => c.BaseAuthUrl));\n isSHFYInstance$ = this.store.pipe(select(StsSelectors.isUkShfyInstance));\n isActiveUser: boolean = false;\n isLinkExpired: boolean = false;\n isDuplicateError: boolean = false;\n\n constructor(\n private store: Store,\n private activeRt: ActivatedRoute,\n private api: ApiService,\n private config: ConfigService,\n private changeEmail: ChangeEmailService,\n private auth: AuthService\n ) {}\n\n private putConfirmEmail(seqId: string, id: string, isChangeEmail?: string): Observable {\n isChangeEmail = (isChangeEmail?.toLowerCase() === \"true\");\n const endpoint$ = isChangeEmail\n ? this.changeEmail.verifyEmailLink(id, seqId)\n : this.api.put(CONFIRM_EMAIL_API, { id, seqId, sequenceId: seqId });\n\n return endpoint$.pipe(\n map((res) => {\n let result = `${res}`.toLowerCase() == claimValues.TRUE;\n if (isChangeEmail) {\n document.body.classList.add(\"change-email-veriifed\");\n if (res?.success) {\n result = true;\n } else {\n result = false;\n this.error$.next(res?.message);\n }\n }\n return result;\n }),\n catchError((err: HttpErrorResponse) => {\n this.isSHFYInstance$.pipe(take(1)).subscribe((isShfy) => {\n document.body.classList.add(\"change-email-veriifed\");\n this.isActiveUser = err.error.errorCode === \"SYNERR-0020\";\n this.isLinkExpired = err.error.errorCode === \"SYNERR-0003\";\n this.isDuplicateError = err.error.errorCode === \"SYNERR-0047\";\n\n if (isShfy) {\n if (this.isActiveUser) {\n this.shfyActivationRedirect(\"is-active-user\");\n } else if (this.isLinkExpired) {\n this.shfyActivationRedirect(\"link-expired\");\n } else if (this.isDuplicateError) {\n this.shfyActivationRedirect(\"is-duplicate-fiscal-code\");\n }\n }\n\n this.error$.next(err.error?.message);\n });\n return of(false);\n })\n );\n }\n\n private shfyActivationRedirect(status: string = \"success\") {\n if (!this.hasRedirected) {\n this.hasRedirected = true;\n window.location.href = this.config.baseAuthUrl + `/Account/Login?activation-status=${status}`;\n }\n }\n\n redirectToLogin(): void {\n this.auth.startSignoutMainWindow();\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { ShfyRoles, claimTypes, whiteLabelNames } from \"src/app/appsettings\";\nimport { ConfigService } from \"../config/config.service\";\nimport { RegisterProfileApiService } from \"../register-profile-api/register-profile-api.service\";\nimport { AuthService } from \"../auth/auth.service\";\nimport { take } from \"rxjs/operators\";\nimport { userTypes } from \"src/app/appsettings\";\nimport { claimValues } from \"src/app/appsettings\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class PreventShfyGuard {\n constructor(\n private router: Router,\n private auth: AuthService,\n private config: ConfigService,\n private registerProfileApiService: RegisterProfileApiService\n ) {}\n\n private getConfig(claim: string): string {\n return String(this.config._envConfig[claim]);\n }\n\n private getUrlParam(param: string) {\n return new URLSearchParams(window.location.search).get(param);\n }\n\n private navigateToDxp(isTwoFAEnabled: boolean, isActive: boolean, userId: string, email: string) {\n this.router.navigateByUrl(\"/404\");\n if (isTwoFAEnabled) {\n this.navigateToUrl(this.config.shfyDxpBaseURL + \"/my/settings\");\n } else if (!isActive) {\n this.navigateToUrl(this.config.shfyRegistrationURL + `?userId=${userId}&email=${email}`);\n } else {\n this.navigateToUrl(this.config.shfyCompleteProfileURL);\n }\n }\n\n private navigateToUrl(url: string) {\n window.location.href = url;\n }\n\n private async isLoggedInUserAllowed() {\n let isAllowed = true;\n this.auth.userInfo$.pipe(take(1)).subscribe((info) => {\n const infoUserTypes = info[claimTypes.USER_TYPE];\n const isTwoFAEnabled = info[claimTypes.TWO_FACTOR_ENABLED].toLowerCase() === claimValues.TRUE;\n const isEmailVerified = info[claimTypes.EMAIL_VERIFIED].toLowerCase() === claimValues.TRUE;\n const shfyRoles: string[] = (info[claimTypes.SHFY_ROLES] || \"\").toLowerCase().split(\",\");\n const isActive = info[claimTypes.ACTIVE].toLowerCase() === claimValues.TRUE;\n const email = info[claimTypes.EMAIL];\n const userId = info[claimTypes.USERID];\n const isShfyDoctor = shfyRoles.includes(ShfyRoles.DOCTOR);\n\n if (!isShfyDoctor) {\n if (Array.isArray(infoUserTypes)) {\n infoUserTypes.forEach((type) => {\n if (type === userTypes.SYNLAB_ACCESS_USER) {\n this.navigateToDxp(isTwoFAEnabled, isEmailVerified && isActive, userId, email);\n isAllowed = false;\n }\n });\n } else {\n if (infoUserTypes === userTypes.SYNLAB_ACCESS_USER) {\n this.navigateToDxp(isTwoFAEnabled, isEmailVerified && isActive, userId, email);\n isAllowed = false;\n }\n }\n }\n });\n return isAllowed;\n }\n\n private async isGuestUserAllowed(id: string, seqId: string) {\n let isAllowed = true;\n let isTwoFAEnabled = false;\n let isActive = false;\n let isEmailVerified = false;\n let userId = \"\";\n let email = \"\";\n\n const claims = await this.registerProfileApiService.getRegisterProfile(id, seqId).toPromise();\n\n claims.forEach((claim) => {\n if (claim.claimType === claimTypes.USER_TYPE && claim.claimValue === userTypes.SYNLAB_ACCESS_USER)\n isAllowed = false;\n if (claim.claimType === claimTypes.TWO_FACTOR_ENABLED && claim.claimValue.toLowerCase() === claimValues.TRUE)\n isTwoFAEnabled = true;\n if (claim.claimType === claimTypes.EMAIL_VERIFIED && claim.claimValue.toLowerCase() === claimValues.TRUE)\n isEmailVerified = true;\n if (claim.claimType === claimTypes.ACTIVE && claim.claimValue.toLowerCase() === claimValues.TRUE) isActive = true;\n if (claim.claimType === claimTypes.EMAIL) email = claim.claimValue;\n if (claim.claimType === claimTypes.USERID) userId = claim.claimValue;\n });\n\n if (!isAllowed) this.navigateToDxp(isTwoFAEnabled, isEmailVerified && isActive, userId, email);\n\n return isAllowed;\n }\n\n canActivate(): any {\n const isWhiteLabeled = this.getConfig(claimTypes.WHITE_LABEL_ENABLED).toLowerCase() === \"true\";\n const whiteLabelName = this.getConfig(claimTypes.WHITE_LABEL_NAME);\n if (isWhiteLabeled && whiteLabelName === whiteLabelNames.UK_SHFY) {\n var seqId = this.getUrlParam(\"sequenceId\") || this.getUrlParam(\"seqId\");\n var id = this.getUrlParam(\"id\");\n\n if (seqId && id) {\n return this.isGuestUserAllowed(id, seqId);\n } else {\n return this.isLoggedInUserAllowed();\n }\n }\n return true;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { MedioRedirectComponent } from \"./medio-redirect.component\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { Observable } from \"rxjs\";\nimport { take, tap, switchMap, map } from \"rxjs/operators\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { LoggerService } from \"src/app/services/logger.service\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class MedioService {\n constructor(\n private readonly api: ApiService,\n private readonly route: ActivatedRoute,\n private readonly logr: LoggerService,\n private readonly config: ConfigService\n ) {}\n\n public redirect(): void {\n const urlParams = new URLSearchParams(window.location.search);\n const medioUrl: string = atob(urlParams.get(\"uid\") ?? \"\");\n\n if (medioUrl) {\n window.location.replace(medioUrl);\n }\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MedioService } from \"./medio.service\";\nimport { take } from \"rxjs/operators\";\nimport { SpinnerModule } from \"src/app/plasma-ui-common/synlab-access-ui-components/spinner/spinner.component\";\nimport { EStorageKeys, LocalStorageKeys } from \"src/app/models/storage.model\";\n\n@Component({\n selector: \"app-medio-redirect\",\n standalone: true,\n imports: [CommonModule, SpinnerModule],\n templateUrl: \"./medio-redirect.component.html\",\n styleUrls: [\"./medio-redirect.component.scss\"],\n})\nexport class MedioRedirectComponent implements OnInit {\n constructor(private readonly medio: MedioService) {}\n\n ngOnInit(): void {\n this.medio.redirect();\n }\n}\n","
\n
\n \n
\n
\n","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from \"@angular/router\";\nimport { Observable } from \"rxjs\";\nimport { EStorageKeys } from \"../models/storage.model\";\nimport { ConfigService } from \"../services/config/config.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class RedirectGuard {\n constructor(private config: ConfigService) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable | Promise | boolean | UrlTree {\n const url: string = this.config?._envConfig.BaseProfileUrl || \"\";\n window.localStorage.setItem(EStorageKeys.REDIRECT_URL, window.location.href.replace(url, \"\"));\n return true;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { Routes, RouterModule, ROUTES } from \"@angular/router\";\nimport { AuthGuard } from \"./services/authGuard/auth.guard\";\nimport { InitComponent } from \"./pages/init/init.component\";\nimport { SiginCallbackComponent } from \"./pages/signin-callback/signin-callback.component\";\nimport { ForgotPasswordComponent } from \"./pages/forgot-password/forgot-password/forgot-password.component\";\nimport { RenewtokenComponent } from \"./pages/renewtoken/renewtoken.component\";\nimport { SelfSamplingInstructionComponent } from \"./pages/self-sampling-instruction/self-sampling-instruction.component\";\nimport { ParentSelfSamplingInstructionComponent } from \"./pages/parent-self-sampling-instruction/parent-self-sampling-instruction.component\";\nimport { GeneralTermsComponent } from \"./pages/general-terms/general-terms.component\";\nimport { DeleteAccountComponent } from \"./pages/delete-account/delete-account.component\";\nimport { ManagedTermsOfUseComponent } from \"./pages/terms-of-use/managed-terms-of-use/managed-terms-of-use.component\";\nimport { ManagedPrivacyPolicyComponent } from \"./pages/privacy-policy/managed-privacy-policy/managed-privacy-policy.component\";\nimport { InitSessionComponent } from \"./pages/init-session/init-session.component\";\nimport { SendForgotPasswordComponent } from \"./pages/send-forgot-password/send-forgot-password.component\";\nimport { CheckLogin } from \"./services/authGuard/check.login.guard\";\nimport { EePrivacyTermsComponent } from \"./pages/ee-privacy-terms/ee-privacy-terms.component\";\nimport { Config, ConfigService } from \"./services/config/config.service\";\nimport { claimValues } from \"./appsettings\";\nimport { ActivateAccountComponent } from \"./pages/activate-account/activate-account.component\";\nimport { PreventShfyGuard } from \"./services/guards/prevent-shfy.guard\";\nimport { UserTypeGuard } from \"./services/guards/user-type.guard\";\nimport { AgreementType } from \"./services/agreement/agreement.service\";\nimport { MedioRedirectComponent } from \"./component-modules/medio-redirect/medio-redirect.component\";\nimport { RedirectGuard } from \"./guards/redirect.guard\";\n\nfunction routesFactory(config: ConfigService) {\n const routes: Routes = [\n {\n path: \"404\",\n loadChildren: () => import(\"./pages/not-found-page/not-found-page.module\").then((m) => m.NotFoundPageModule),\n },\n {\n path: \"general-terms\",\n component: GeneralTermsComponent,\n pathMatch: \"full\",\n },\n {\n path: \"privacy-policy\",\n canActivate: [CheckLogin],\n component: ManagedPrivacyPolicyComponent,\n data: { page: AgreementType.PrivacyPolicy },\n pathMatch: \"full\",\n },\n {\n path: \"additional-information-about-collected-data\",\n canActivate: [CheckLogin],\n component: ManagedPrivacyPolicyComponent,\n data: { page: AgreementType.ADDITIONAL_INFO_COLLECTED_DATA },\n pathMatch: \"full\",\n },\n {\n path: \"terms-of-use\",\n canActivate: [CheckLogin],\n component: ManagedTermsOfUseComponent,\n pathMatch: \"full\",\n },\n {\n path: \"terms-of-use-mobile\",\n component: ManagedTermsOfUseComponent,\n pathMatch: \"full\",\n },\n {\n path: \"self-sampling-instruction\",\n component: SelfSamplingInstructionComponent,\n pathMatch: \"full\",\n },\n {\n path: \"parent-self-sampling-instruction\",\n component: ParentSelfSamplingInstructionComponent,\n pathMatch: \"full\",\n },\n {\n path: \"\",\n component: InitComponent,\n },\n {\n path: \"signin-callback\",\n component: SiginCallbackComponent,\n },\n {\n path: \"renewtoken\",\n component: RenewtokenComponent,\n },\n {\n path: \"init-session\",\n component: InitSessionComponent,\n },\n {\n path: \"privacyterms\",\n component: EePrivacyTermsComponent,\n },\n {\n path: \"WAS\",\n redirectTo: \"was\",\n },\n {\n path: \"account\",\n canActivate: [AuthGuard, UserTypeGuard, PreventShfyGuard],\n loadChildren: () => import(\"./pages/index/index.module\").then((m) => m.IndexModule),\n },\n {\n path: \"account/v3\",\n canActivate: [AuthGuard, UserTypeGuard, PreventShfyGuard],\n loadChildren: () => import(\"./view/profile-v3/profile-v3.module\").then((m) => m.ProfileV3Module),\n },\n {\n path: \"forgot_password\",\n component: ForgotPasswordComponent,\n },\n {\n path: \"send_forgot_password\",\n component: SendForgotPasswordComponent,\n },\n {\n path: \"activate_account\",\n component: ActivateAccountComponent,\n },\n {\n path: \"delete_account\",\n component: DeleteAccountComponent,\n },\n {\n path: \"complete_your_profile\",\n redirectTo: \"registration\",\n pathMatch: \"full\",\n },\n {\n path: \"ssn-verification\",\n loadComponent: () => import('./components/ssn-verification/ssn-verification.component').then(c => c.SsnVerificationComponent)\n },\n {\n path: \"registration\",\n canActivate: [PreventShfyGuard],\n loadChildren: () => {\n if (canProceedToNewUI(config._envConfig)) {\n return import(\"./view/registerv2/registerv2.module\").then((m) => m.Registerv2Module);\n }\n return import(\"./pages/profile/profile.module\").then((m) => m.ProfileModule);\n },\n },\n {\n path: \"registration\",\n loadChildren: () => import(\"./view/tara-register/tara-register.module\").then((m) => m.TaraRegisterModule),\n },\n {\n path: \"mfa\",\n loadChildren: () => import(\"./view/dk-mfa-reset/mfa-reset.module\").then((m) => m.MfaResetModule),\n },\n {\n path: \"medio\",\n component: MedioRedirectComponent,\n canActivate: [RedirectGuard, AuthGuard],\n },\n {\n path: \"**\",\n redirectTo: \"\",\n pathMatch: \"full\",\n },\n ];\n return routes;\n}\n\nfunction getQueryParameter(key: string): string {\n const parameters = new URLSearchParams(window.location.search);\n return parameters.get(key);\n}\n\nfunction canProceedToNewUI(config: Config) {\n const isTaraActivation = getQueryParameter(\"isTara\")?.toLowerCase() == claimValues.TRUE;\n const useNewUI = (config[\"UseNewUI\" as keyof Config] as string).toLowerCase() == claimValues.TRUE;\n return useNewUI && !isTaraActivation;\n}\n\n@NgModule({\n imports: [RouterModule.forRoot([])],\n providers: [\n {\n provide: ROUTES,\n useFactory: routesFactory,\n multi: true,\n deps: [ConfigService],\n },\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","/*!\n * Microsoft Dynamic Proto Utility, 1.1.11\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a;\r\nvar UNDEFINED = \"undefined\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Constructor = 'constructor';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Prototype = 'prototype';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strFunction = 'function';\r\n/**\r\n * Used to define the name of the instance function lookup table\r\n * @ignore\r\n */\r\nvar DynInstFuncTable = '_dynInstFuncs';\r\n/**\r\n * Name used to tag the dynamic prototype function\r\n * @ignore\r\n */\r\nvar DynProxyTag = '_isDynProxy';\r\n/**\r\n * Name added to a prototype to define the dynamic prototype \"class\" name used to lookup the function table\r\n * @ignore\r\n */\r\nvar DynClassName = '_dynClass';\r\n/**\r\n * Prefix added to the classname to avoid any name clashes with other instance level properties\r\n * @ignore\r\n */\r\nvar DynClassNamePrefix = '_dynCls$';\r\n/**\r\n * A tag which is used to check if we have already to attempted to set the instance function if one is not present\r\n * @ignore\r\n */\r\nvar DynInstChkTag = '_dynInstChk';\r\n/**\r\n * A tag which is used to check if we are allows to try and set an instance function is one is not present. Using the same\r\n * tag name as the function level but a different const name for readability only.\r\n */\r\nvar DynAllowInstChkTag = DynInstChkTag;\r\n/**\r\n * The global (imported) instances where the global performance options are stored\r\n */\r\nvar DynProtoDefaultOptions = '_dfOpts';\r\n/**\r\n * Value used as the name of a class when it cannot be determined\r\n * @ignore\r\n */\r\nvar UnknownValue = '_unknown_';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * The polyfill version of __proto__ so that it doesn't cause issues for anyone not expecting it to exist\r\n */\r\nvar DynProtoBaseProto = \"_dyn\" + str__Proto;\r\n/**\r\n * Runtime Global holder for dynamicProto settings\r\n */\r\nvar DynProtoGlobalSettings = \"__dynProto$Gbl\";\r\n/**\r\n * Track the current prototype for IE8 as you can't look back to get the prototype\r\n */\r\nvar DynProtoCurrent = \"_dynInstProto\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strUseBaseInst = 'useBaseInst';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strSetInstFuncs = 'setInstFuncs';\r\nvar Obj = Object;\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Obj[\"getPrototypeOf\"];\r\n/**\r\n * Pre-lookup to check for the existence of this function\r\n */\r\nvar _objGetOwnProps = Obj[\"getOwnPropertyNames\"];\r\n/**\r\n * Gets the runtime global reference\r\n * @returns\r\n */\r\nfunction _getGlobal() {\r\n var result;\r\n if (typeof globalThis !== UNDEFINED) {\r\n result = globalThis;\r\n }\r\n if (!result && typeof self !== UNDEFINED) {\r\n result = self;\r\n }\r\n if (!result && typeof window !== UNDEFINED) {\r\n result = window;\r\n }\r\n if (!result && typeof global !== UNDEFINED) {\r\n result = global;\r\n }\r\n return result || {};\r\n}\r\n// Since 1.1.7 moving these to the runtime global to work around mixed version and module issues\r\n// See Issue https://github.com/microsoft/DynamicProto-JS/issues/57 for details\r\nvar _gbl = _getGlobal();\r\nvar _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {\r\n o: (_a = {},\r\n _a[strSetInstFuncs] = true,\r\n _a[strUseBaseInst] = true,\r\n _a),\r\n n: 1000 // Start new global index @ 1000 so we \"fix\" some cases when mixed with 1.1.6 or earlier\r\n});\r\n/**\r\n * Helper to check if the object contains a property of the name\r\n * @ignore\r\n */\r\nfunction _hasOwnProperty(obj, prop) {\r\n return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype or Array prototype\r\n * @ignore\r\n */\r\nfunction _isObjectOrArrayPrototype(target) {\r\n return target && (target === Obj[Prototype] || target === Array[Prototype]);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype, Array prototype or Function prototype\r\n * @ignore\r\n */\r\nfunction _isObjectArrayOrFunctionPrototype(target) {\r\n return _isObjectOrArrayPrototype(target) || target === Function[Prototype];\r\n}\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nfunction _getObjProto(target) {\r\n var newProto;\r\n if (target) {\r\n // This method doesn't exist in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);\r\n // Using the pre-calculated value as IE8 doesn't support looking up the prototype of a prototype and thus fails for more than 1 base class\r\n newProto = target[DynProtoBaseProto] || curProto;\r\n if (!_hasOwnProperty(target, DynProtoBaseProto)) {\r\n // As this prototype doesn't have this property then this is from an inherited class so newProto is the base to return so save it\r\n // so we can look it up value (which for a multiple hierarchy dynamicProto will be the base class)\r\n delete target[DynProtoCurrent]; // Delete any current value allocated to this instance so we pick up the value from prototype hierarchy\r\n newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];\r\n target[DynProtoCurrent] = curProto;\r\n }\r\n }\r\n return newProto;\r\n}\r\n/**\r\n * Helper to get the properties of an object, including none enumerable ones as functions on a prototype in ES6\r\n * are not enumerable.\r\n * @param target\r\n */\r\nfunction _forEachProp(target, func) {\r\n var props = [];\r\n if (_objGetOwnProps) {\r\n props = _objGetOwnProps(target);\r\n }\r\n else {\r\n for (var name_1 in target) {\r\n if (typeof name_1 === \"string\" && _hasOwnProperty(target, name_1)) {\r\n props.push(name_1);\r\n }\r\n }\r\n }\r\n if (props && props.length > 0) {\r\n for (var lp = 0; lp < props.length; lp++) {\r\n func(props[lp]);\r\n }\r\n }\r\n}\r\n/**\r\n * Helper function to check whether the provided function name is a potential candidate for dynamic\r\n * callback and prototype generation.\r\n * @param target The target object, may be a prototype or class object\r\n * @param funcName The function name\r\n * @param skipOwn Skips the check for own property\r\n * @ignore\r\n */\r\nfunction _isDynamicCandidate(target, funcName, skipOwn) {\r\n return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);\r\n}\r\n/**\r\n * Helper to throw a TypeError exception\r\n * @param message the message\r\n * @ignore\r\n */\r\nfunction _throwTypeError(message) {\r\n throw new TypeError(\"DynamicProto: \" + message);\r\n}\r\nfunction _newObject() {\r\n return Object.create ? (function(obj) { /* ai_es3_polyfil create */ var func = Object[\"create\"]; if (func) { return func(obj); } if (obj == null) { return {}; } var type = typeof obj; if (type !== 'object' && type !== 'function') { throw new TypeError('Object prototype may only be an Object:' + obj); } function tmpFunc() {} tmpFunc.prototype = obj; return new tmpFunc(); })(null) : {};\r\n}\r\n/**\r\n * Returns a collection of the instance functions that are defined directly on the thisTarget object, it does\r\n * not return any inherited functions\r\n * @param thisTarget The object to get the instance functions from\r\n * @ignore\r\n */\r\nfunction _getInstanceFuncs(thisTarget) {\r\n // Get the base proto\r\n var instFuncs = _newObject();\r\n // Save any existing instance functions\r\n _forEachProp(thisTarget, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {\r\n // Create an instance callback for passing the base function to the caller\r\n instFuncs[name] = thisTarget[name];\r\n }\r\n });\r\n return instFuncs;\r\n}\r\n/**\r\n * Returns whether the value is included in the array\r\n * @param values The array of values\r\n * @param value The value\r\n */\r\nfunction _hasVisited(values, value) {\r\n for (var lp = values.length - 1; lp >= 0; lp--) {\r\n if (values[lp] === value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Returns an object that contains callback functions for all \"base/super\" functions, this is used to \"save\"\r\n * enabling calling super.xxx() functions without requiring that the base \"class\" has defined a prototype references\r\n * @param target The current instance\r\n * @ignore\r\n */\r\nfunction _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {\r\n function _instFuncProxy(target, funcHost, funcName) {\r\n var theFunc = funcHost[funcName];\r\n if (theFunc[DynProxyTag] && useBaseInst) {\r\n // grab and reuse the hosted looking function (if available) otherwise the original passed function\r\n var instFuncTable = target[DynInstFuncTable] || {};\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;\r\n }\r\n }\r\n return function () {\r\n // eslint-disable-next-line prefer-rest-params\r\n return theFunc.apply(target, arguments);\r\n };\r\n }\r\n // Start creating a new baseFuncs by creating proxies for the instance functions (as they may get replaced)\r\n var baseFuncs = _newObject();\r\n _forEachProp(instFuncs, function (name) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);\r\n });\r\n // Get the base prototype functions\r\n var baseProto = _getObjProto(classProto);\r\n var visited = [];\r\n // Don't include base object functions for Object, Array or Function\r\n while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {\r\n // look for prototype functions\r\n _forEachProp(baseProto, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the \r\n // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return\r\n // the Object prototype methods while bypassing the check\r\n if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);\r\n }\r\n });\r\n // We need to find all possible functions that might be overloaded by walking the entire prototype chain\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(baseProto);\r\n baseProto = _getObjProto(baseProto);\r\n }\r\n return baseFuncs;\r\n}\r\nfunction _getInstFunc(target, funcName, proto, currentDynProtoProxy) {\r\n var instFunc = null;\r\n // We need to check whether the class name is defined directly on this prototype otherwise\r\n // it will walk the proto chain and return any parent proto classname.\r\n if (target && _hasOwnProperty(proto, DynClassName)) {\r\n var instFuncTable = target[DynInstFuncTable] || _newObject();\r\n instFunc = (instFuncTable[proto[DynClassName]] || _newObject())[funcName];\r\n if (!instFunc) {\r\n // Avoid stack overflow from recursive calling the same function\r\n _throwTypeError(\"Missing [\" + funcName + \"] \" + strFunction);\r\n }\r\n // We have the instance function, lets check it we can speed up further calls\r\n // by adding the instance function back directly on the instance (avoiding the dynamic func lookup)\r\n if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {\r\n // If the instance already has an instance function we can't replace it\r\n var canAddInst = !_hasOwnProperty(target, funcName);\r\n // Get current prototype\r\n var objProto = _getObjProto(target);\r\n var visited = [];\r\n // Lookup the function starting at the top (instance level prototype) and traverse down, if the first matching function\r\n // if nothing is found or if the first hit is a dynamic proto instance then we can safely add an instance shortcut\r\n while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {\r\n var protoFunc = objProto[funcName];\r\n if (protoFunc) {\r\n canAddInst = (protoFunc === currentDynProtoProxy);\r\n break;\r\n }\r\n // We need to find all possible initial functions to ensure that we don't bypass a valid override function\r\n visited.push(objProto);\r\n objProto = _getObjProto(objProto);\r\n }\r\n try {\r\n if (canAddInst) {\r\n // This instance doesn't have an instance func and the class hierarchy does have a higher level prototype version\r\n // so it's safe to directly assign for any subsequent calls (for better performance)\r\n target[funcName] = instFunc;\r\n }\r\n // Block further attempts to set the instance function for any\r\n instFunc[DynInstChkTag] = 1;\r\n }\r\n catch (e) {\r\n // Don't crash if the object is readonly or the runtime doesn't allow changing this\r\n // And set a flag so we don't try again for any function\r\n instFuncTable[DynAllowInstChkTag] = false;\r\n }\r\n }\r\n }\r\n return instFunc;\r\n}\r\nfunction _getProtoFunc(funcName, proto, currentDynProtoProxy) {\r\n var protoFunc = proto[funcName];\r\n // Check that the prototype function is not a self reference -- try to avoid stack overflow!\r\n if (protoFunc === currentDynProtoProxy) {\r\n // It is so lookup the base prototype\r\n protoFunc = _getObjProto(proto)[funcName];\r\n }\r\n if (typeof protoFunc !== strFunction) {\r\n _throwTypeError(\"[\" + funcName + \"] is not a \" + strFunction);\r\n }\r\n return protoFunc;\r\n}\r\n/**\r\n * Add the required dynamic prototype methods to the the class prototype\r\n * @param proto - The class prototype\r\n * @param className - The instance classname\r\n * @param target - The target instance\r\n * @param baseInstFuncs - The base instance functions\r\n * @param setInstanceFunc - Flag to allow prototype function to reset the instance function if one does not exist\r\n * @ignore\r\n */\r\nfunction _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {\r\n function _createDynamicPrototype(proto, funcName) {\r\n var dynProtoProxy = function () {\r\n // Use the instance or prototype function\r\n var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);\r\n // eslint-disable-next-line prefer-rest-params\r\n return instFunc.apply(this, arguments);\r\n };\r\n // Tag this function as a proxy to support replacing dynamic proxy elements (primary use case is for unit testing\r\n // via which can dynamically replace the prototype function reference)\r\n dynProtoProxy[DynProxyTag] = 1;\r\n return dynProtoProxy;\r\n }\r\n if (!_isObjectOrArrayPrototype(proto)) {\r\n var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || _newObject();\r\n if (!_isObjectOrArrayPrototype(instFuncTable)) {\r\n var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || _newObject()); // fetch and assign if as it may not exist yet\r\n // Set whether we are allow to lookup instances, if someone has set to false then do not re-enable\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;\r\n }\r\n if (!_isObjectOrArrayPrototype(instFuncs_1)) {\r\n _forEachProp(target, function (name) {\r\n // Only add overridden functions\r\n if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {\r\n // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function\r\n instFuncs_1[name] = target[name];\r\n delete target[name];\r\n // Add a dynamic proto if one doesn't exist or if a prototype function exists and it's not a dynamic one\r\n if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {\r\n proto[name] = _createDynamicPrototype(proto, name);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * Checks whether the passed prototype object appears to be correct by walking the prototype hierarchy of the instance\r\n * @param classProto The class prototype instance\r\n * @param thisTarget The current instance that will be checked whether the passed prototype instance is in the hierarchy\r\n * @ignore\r\n */\r\nfunction _checkPrototype(classProto, thisTarget) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n // As this is primarily a coding time check, don't bother checking if running in IE8 or lower\r\n var visited = [];\r\n var thisProto = _getObjProto(thisTarget);\r\n while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {\r\n if (thisProto === classProto) {\r\n return true;\r\n }\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(thisProto);\r\n thisProto = _getObjProto(thisProto);\r\n }\r\n return false;\r\n }\r\n // If objGetPrototypeOf doesn't exist then just assume everything is ok.\r\n return true;\r\n}\r\n/**\r\n * Gets the current prototype name using the ES6 name if available otherwise falling back to a use unknown as the name.\r\n * It's not critical for this to return a name, it's used to decorate the generated unique name for easier debugging only.\r\n * @param target\r\n * @param unknownValue\r\n * @ignore\r\n */\r\nfunction _getObjName(target, unknownValue) {\r\n if (_hasOwnProperty(target, Prototype)) {\r\n // Look like a prototype\r\n return target.name || unknownValue || UnknownValue;\r\n }\r\n return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;\r\n}\r\n/**\r\n * Helper function when creating dynamic (inline) functions for classes, this helper performs the following tasks :-\r\n * - Saves references to all defined base class functions\r\n * - Calls the delegateFunc with the current target (this) and a base object reference that can be used to call all \"super\" functions.\r\n * - Will populate the class prototype for all overridden functions to support class extension that call the prototype instance.\r\n * Callers should use this helper when declaring all function within the constructor of a class, as mentioned above the delegateFunc is\r\n * passed both the target \"this\" and an object that can be used to call any base (super) functions, using this based object in place of\r\n * super.XXX() (which gets expanded to _super.prototype.XXX()) provides a better minification outcome and also ensures the correct \"this\"\r\n * context is maintained as TypeScript creates incorrect references using super.XXXX() for dynamically defined functions i.e. Functions\r\n * defined in the constructor or some other function (rather than declared as complete typescript functions).\r\n * ### Usage\r\n * ```typescript\r\n * import dynamicProto from \"@microsoft/dynamicproto-js\";\r\n * class ExampleClass extends BaseClass {\r\n * constructor() {\r\n * dynamicProto(ExampleClass, this, (_self, base) => {\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.newFunc = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * ...\r\n * }\r\n * }\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.myFunction = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * // Call the base version of the function that we are overriding\r\n * base.myFunction();\r\n * }\r\n * ...\r\n * }\r\n * _self.initialize = () => {\r\n * ...\r\n * }\r\n * // Warnings: While the following will work as _self is simply a reference to\r\n * // this, if anyone overrides myFunction() the overridden will be called first\r\n * // as the normal JavaScript method resolution will occur and the defined\r\n * // _self.initialize() function is actually gets removed from the instance and\r\n * // a proxy prototype version is created to reference the created method.\r\n * _self.initialize();\r\n * });\r\n * }\r\n * }\r\n * ```\r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid\r\n * @typeparam DPCls The type that contains the prototype of the current class\r\n * @param theClass - This is the current class instance which contains the prototype for the current class\r\n * @param target - The current \"this\" (target) reference, when the class has been extended this.prototype will not be the 'theClass' value.\r\n * @param delegateFunc - The callback function (closure) that will create the dynamic function\r\n * @param options - Additional options to configure how the dynamic prototype operates\r\n */\r\nfunction dynamicProto(theClass, target, delegateFunc, options) {\r\n // Make sure that the passed theClass argument looks correct\r\n if (!_hasOwnProperty(theClass, Prototype)) {\r\n _throwTypeError(\"theClass is an invalid class definition.\");\r\n }\r\n // Quick check to make sure that the passed theClass argument looks correct (this is a common copy/paste error)\r\n var classProto = theClass[Prototype];\r\n if (!_checkPrototype(classProto, target)) {\r\n _throwTypeError(\"[\" + _getObjName(theClass) + \"] not in hierarchy of [\" + _getObjName(target) + \"]\");\r\n }\r\n var className = null;\r\n if (_hasOwnProperty(classProto, DynClassName)) {\r\n // Only grab the class name if it's defined on this prototype (i.e. don't walk the prototype chain)\r\n className = classProto[DynClassName];\r\n }\r\n else {\r\n // As not all browser support name on the prototype creating a unique dynamic one if we have not already\r\n // assigned one, so we can use a simple string as the lookup rather than an object for the dynamic instance\r\n // function table lookup.\r\n className = DynClassNamePrefix + _getObjName(theClass, \"_\") + \"$\" + _gblInst.n;\r\n _gblInst.n++;\r\n classProto[DynClassName] = className;\r\n }\r\n var perfOptions = dynamicProto[DynProtoDefaultOptions];\r\n var useBaseInst = !!perfOptions[strUseBaseInst];\r\n if (useBaseInst && options && options[strUseBaseInst] !== undefined) {\r\n useBaseInst = !!options[strUseBaseInst];\r\n }\r\n // Get the current instance functions\r\n var instFuncs = _getInstanceFuncs(target);\r\n // Get all of the functions for any base instance (before they are potentially overridden)\r\n var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);\r\n // Execute the delegate passing in both the current target \"this\" and \"base\" function references\r\n // Note casting the same type as we don't actually have the base class here and this will provide some intellisense support\r\n delegateFunc(target, baseFuncs);\r\n // Don't allow setting instance functions for older IE instances\r\n var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];\r\n if (setInstanceFunc && options) {\r\n setInstanceFunc = !!options[strSetInstFuncs];\r\n }\r\n // Populate the Prototype for any overridden instance functions\r\n _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);\r\n}\r\n/**\r\n * Exposes the default global options to allow global configuration, if the global values are disabled these will override\r\n * any passed values. This is primarily exposed to support unit-testing without the need for individual classes to expose\r\n * their internal usage of dynamic proto.\r\n */\r\ndynamicProto[DynProtoDefaultOptions] = _gblInst.o;\n\nexport { dynamicProto as default };\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var strShimFunction = \"function\";\r\nexport var strShimObject = \"object\";\r\nexport var strShimUndefined = \"undefined\";\r\nexport var strShimPrototype = \"prototype\";\r\nexport var strShimHasOwnProperty = \"hasOwnProperty\";\r\nexport var strDefault = \"default\";\r\nexport var ObjClass = Object;\r\nexport var ObjProto = ObjClass[strShimPrototype];\r\nexport var ObjAssign = ObjClass[\"assign\"];\r\nexport var ObjCreate = ObjClass[\"create\"];\r\nexport var ObjDefineProperty = ObjClass[\"defineProperty\"];\r\nexport var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from \"./Constants\";\r\nvar _cachedGlobal = null;\r\n/**\r\n * Returns the current global scope object, for a normal web page this will be the current\r\n * window, for a Web Worker this will be current worker global scope via \"self\". The internal\r\n * implementation returns the first available instance object in the following order\r\n * - globalThis (New standard)\r\n * - self (Will return the current window instance for supported browsers)\r\n * - window (fallback for older browser implementations)\r\n * - global (NodeJS standard)\r\n * - (When all else fails)\r\n * While the return type is a Window for the normal case, not all environments will support all\r\n * of the properties or functions.\r\n */\r\nexport function getGlobal(useCached) {\r\n if (useCached === void 0) { useCached = true; }\r\n var result = useCached === false ? null : _cachedGlobal;\r\n if (!result) {\r\n if (typeof globalThis !== strShimUndefined) {\r\n result = globalThis;\r\n }\r\n if (!result && typeof self !== strShimUndefined) {\r\n result = self;\r\n }\r\n if (!result && typeof window !== strShimUndefined) {\r\n result = window;\r\n }\r\n if (!result && typeof global !== strShimUndefined) {\r\n result = global;\r\n }\r\n _cachedGlobal = result;\r\n }\r\n return result;\r\n}\r\nexport function throwTypeError(message) {\r\n throw new TypeError(message);\r\n}\r\n/**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\nexport function objCreateFn(obj) {\r\n var func = ObjCreate;\r\n // Use build in Object.create\r\n if (func) {\r\n // Use Object create method if it exists\r\n return func(obj);\r\n }\r\n if (obj == null) {\r\n return {};\r\n }\r\n var type = typeof obj;\r\n if (type !== strShimObject && type !== strShimFunction) {\r\n throwTypeError(\"Object prototype may only be an Object:\" + obj);\r\n }\r\n function tmpFunc() { }\r\n tmpFunc[strShimPrototype] = obj;\r\n return new tmpFunc();\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype } from \"./Constants\";\r\nimport { getGlobal, objCreateFn, throwTypeError } from \"./Helpers\";\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\nexport var SymbolObj = (getGlobal() || {})[\"Symbol\"];\r\nexport var ReflectObj = (getGlobal() || {})[\"Reflect\"];\r\nexport var __hasSymbol = !!SymbolObj;\r\nexport var __hasReflect = !!ReflectObj;\r\nvar strDecorate = \"decorate\";\r\nvar strMetadata = \"metadata\";\r\nvar strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nvar strIterator = \"iterator\";\r\nexport var __objAssignFnImpl = function (t) {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strShimHasOwnProperty].call(s, p)) {\r\n t[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\nexport var __assignFn = ObjAssign || __objAssignFnImpl;\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function (d, b) {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d, b) {\r\n d.__proto__ = b;\r\n }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d, b) {\r\n for (var p in b) {\r\n if (b[strShimHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\nexport function __extendsFn(d, b) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __() {\r\n this.constructor = d;\r\n }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());\r\n}\r\nexport function __restFn(s, e) {\r\n var t = {};\r\n for (var k in s) {\r\n if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\nexport function __decorateFn(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n }\r\n else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // eslint-disable-next-line no-cond-assign\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && ObjDefineProperty(target, key, r), r;\r\n}\r\nexport function __paramFn(paramIndex, decorator) {\r\n return function (target, key) {\r\n decorator(target, key, paramIndex);\r\n };\r\n}\r\nexport function __metadataFn(metadataKey, metadataValue) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\nexport function __exportStarFn(m, o) {\r\n for (var p in m) {\r\n if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\nexport function __createBindingFn(o, m, k, k2) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n if (!!ObjCreate) {\r\n ObjDefineProperty(o, k2, {\r\n enumerable: true,\r\n get: function () {\r\n return m[k];\r\n }\r\n });\r\n }\r\n else {\r\n o[k2] = m[k];\r\n }\r\n}\r\nexport function __valuesFn(o) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\nexport function __readFn(o, n) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n }\r\n catch (error) {\r\n e = {\r\n error: error\r\n };\r\n }\r\n finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n }\r\n finally {\r\n if (e) {\r\n // eslint-disable-next-line no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n return r;\r\n}\r\nexport function __spreadArrayFn(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n return to;\r\n}\r\nexport function __makeTemplateObjectFn(cooked, raw) {\r\n if (ObjDefineProperty) {\r\n ObjDefineProperty(cooked, \"raw\", { value: raw });\r\n }\r\n else {\r\n cooked.raw = raw;\r\n }\r\n return cooked;\r\n}\r\nexport function __importStarFn(mod) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n // Set default module\r\n if (!!ObjCreate) {\r\n ObjDefineProperty(result, strDefault, { enumerable: true, value: mod });\r\n }\r\n else {\r\n result[strDefault] = mod;\r\n }\r\n return result;\r\n}\r\nexport function __importDefaultFn(mod) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 8\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_GET_NOTIFY_MGR = \"getNotifyMgr\"; // Count: 3\r\nexport var _DYN_IDENTIFIER = \"identifier\"; // Count: 8\r\nexport var _DYN_PUSH = \"push\"; // Count: 30\r\nexport var _DYN_IS_INITIALIZED = \"isInitialized\"; // Count: 10\r\nexport var _DYN_CONFIG = \"config\"; // Count: 7\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 3\r\nexport var _DYN_LOGGER = \"logger\"; // Count: 10\r\nexport var _DYN_LENGTH = \"length\"; // Count: 45\r\nexport var _DYN_TIME = \"time\"; // Count: 5\r\nexport var _DYN_PROCESS_NEXT = \"processNext\"; // Count: 21\r\nexport var _DYN_GET_PROCESS_TEL_CONT0 = \"getProcessTelContext\"; // Count: 2\r\nexport var _DYN_ADD_NOTIFICATION_LIS1 = \"addNotificationListener\"; // Count: 5\r\nexport var _DYN_REMOVE_NOTIFICATION_2 = \"removeNotificationListener\"; // Count: 5\r\nexport var _DYN_STOP_POLLING_INTERNA3 = \"stopPollingInternalLogs\"; // Count: 2\r\nexport var _DYN_ON_COMPLETE = \"onComplete\"; // Count: 6\r\nexport var _DYN_GET_PLUGIN = \"getPlugin\"; // Count: 5\r\nexport var _DYN_FLUSH = \"flush\"; // Count: 5\r\nexport var _DYN__EXTENSIONS = \"_extensions\"; // Count: 4\r\nexport var _DYN_SPLICE = \"splice\"; // Count: 6\r\nexport var _DYN_TEARDOWN = \"teardown\"; // Count: 10\r\nexport var _DYN_MESSAGE_ID = \"messageId\"; // Count: 4\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 7\r\nexport var _DYN_IS_ASYNC = \"isAsync\"; // Count: 7\r\nexport var _DYN__DO_TEARDOWN = \"_doTeardown\"; // Count: 4\r\nexport var _DYN_UPDATE = \"update\"; // Count: 7\r\nexport var _DYN_GET_NEXT = \"getNext\"; // Count: 12\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 8\r\nexport var _DYN_SET_NEXT_PLUGIN = \"setNextPlugin\"; // Count: 5\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 6\r\nexport var _DYN_COOKIE_CFG = \"cookieCfg\"; // Count: 3\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 7\r\nexport var _DYN_SUBSTRING = \"substring\"; // Count: 10\r\nexport var _DYN_USER_AGENT = \"userAgent\"; // Count: 5\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_SET_ENABLED = \"setEnabled\"; // Count: 5\r\nexport var _DYN_SUBSTR = \"substr\"; // Count: 6\r\nexport var _DYN_NODE_TYPE = \"nodeType\"; // Count: 3\r\nexport var _DYN_APPLY = \"apply\"; // Count: 6\r\nexport var _DYN_REPLACE = \"replace\"; // Count: 10\r\nexport var _DYN_ENABLE_DEBUG_EXCEPTI4 = \"enableDebugExceptions\"; // Count: 2\r\nexport var _DYN_LOG_INTERNAL_MESSAGE = \"logInternalMessage\"; // Count: 2\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 8\r\nexport var _DYN_CALL = \"call\"; // Count: 18\r\nexport var _DYN_TYPE = \"type\"; // Count: 14\r\nexport var _DYN_HANDLER = \"handler\"; // Count: 5\r\nexport var _DYN_LISTENERS = \"listeners\"; // Count: 6\r\nexport var _DYN_IS_CHILD_EVT = \"isChildEvt\"; // Count: 3\r\nexport var _DYN_GET_CTX = \"getCtx\"; // Count: 6\r\nexport var _DYN_SET_CTX = \"setCtx\"; // Count: 10\r\nexport var _DYN_COMPLETE = \"complete\"; // Count: 3\r\nexport var _DYN_TRACE_ID = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID = \"spanId\"; // Count: 5\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 6\r\nexport var _DYN_VERSION = \"version\"; // Count: 4\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// ###################################################################################################################################################\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_CHANNELS = \"channels\";\r\nexport var STR_CORE = \"core\";\r\nexport var STR_CREATE_PERF_MGR = \"createPerfMgr\";\r\nexport var STR_DISABLED = \"disabled\";\r\nexport var STR_EXTENSION_CONFIG = \"extensionConfig\";\r\nexport var STR_EXTENSIONS = \"extensions\";\r\nexport var STR_PROCESS_TELEMETRY = \"processTelemetry\";\r\nexport var STR_PRIORITY = \"priority\";\r\nexport var STR_EVENTS_SENT = \"eventsSent\";\r\nexport var STR_EVENTS_DISCARDED = \"eventsDiscarded\";\r\nexport var STR_EVENTS_SEND_REQUEST = \"eventsSendRequest\";\r\nexport var STR_PERF_EVENT = \"perfEvent\";\r\nexport var STR_ERROR_TO_CONSOLE = \"errorToConsole\";\r\nexport var STR_WARN_TO_CONSOLE = \"warnToConsole\";\r\nexport var STR_GET_PERF_MGR = \"getPerfMgr\";\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ObjAssign, ObjClass, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strShimFunction, strShimObject, strShimPrototype, strShimUndefined, throwTypeError } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_APPLY, _DYN_CALL, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minfication\r\nvar strToISOString = \"toISOString\";\r\nvar cStrEndsWith = \"endsWith\";\r\nvar cStrStartsWith = \"startsWith\";\r\nvar strIndexOf = \"indexOf\";\r\nvar strMap = \"map\";\r\nvar strReduce = \"reduce\";\r\nvar cStrTrim = \"trim\";\r\nvar strToString = \"toString\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strConstructor = \"constructor\";\r\nvar _objDefineProperty = ObjDefineProperty;\r\nvar _objFreeze = ObjClass.freeze;\r\nvar _objSeal = ObjClass.seal;\r\nvar _objKeys = ObjClass.keys;\r\nvar StringProto = String[strShimPrototype];\r\nvar _strTrim = StringProto[cStrTrim];\r\nvar _strEndsWith = StringProto[cStrEndsWith];\r\nvar _strStartsWith = StringProto[cStrStartsWith];\r\nvar DateProto = Date[strShimPrototype];\r\nvar _dataToISOString = DateProto[strToISOString];\r\nvar _isArray = Array.isArray;\r\nvar _objToString = ObjProto[strToString];\r\nvar _fnToString = ObjHasOwnProperty[strToString];\r\n// Cache what this browser reports as the object function constructor (as a string)\r\nvar _objFunctionString = _fnToString[_DYN_CALL /* @min:%2ecall */](ObjClass);\r\nvar rCamelCase = /-([a-z])/g;\r\nvar rNormalizeInvalid = /([^\\w\\d_$])/g;\r\nvar rLeadingNumeric = /^(\\d+[\\w\\d_$])/;\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Object[\"getPrototypeOf\"];\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nexport function _getObjProto(target) {\r\n if (target) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n // target[Constructor] May break if the constructor has been changed or removed\r\n var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];\r\n if (newProto) {\r\n return newProto;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function objToString(obj) {\r\n return _objToString[_DYN_CALL /* @min:%2ecall */](obj);\r\n}\r\nexport function isTypeof(value, theType) {\r\n return typeof value === theType;\r\n}\r\nexport function isUndefined(value) {\r\n return value === undefined || typeof value === strShimUndefined;\r\n}\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNullOrUndefined(value) {\r\n return (value === null || isUndefined(value));\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\nexport function hasOwnProperty(obj, prop) {\r\n return !!(obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, prop));\r\n}\r\nexport function isObject(value) {\r\n // Changing to inline for performance\r\n return !!(value && typeof value === strShimObject);\r\n}\r\nexport function isFunction(value) {\r\n // Changing to inline for performance\r\n return !!(value && typeof value === strShimFunction);\r\n}\r\nexport function isPromiseLike(value) {\r\n return value && isFunction(value.then);\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n if (value && isString(value)) {\r\n // CamelCase everything after the \"-\" and remove the dash\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rCamelCase, function (_all, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rNormalizeInvalid, \"_\");\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rLeadingNumeric, function (_all, match) {\r\n return \"_\" + match;\r\n });\r\n }\r\n return value;\r\n}\r\n/**\r\n * This is a helper function for the equivalent of arForEach(objKeys(target), callbackFn), this is a\r\n * performance optimization to avoid the creation of a new array for large objects\r\n * @param target The target object to find and process the keys\r\n * @param callbackfn The function to call with the details\r\n */\r\nexport function objForEachKey(target, callbackfn) {\r\n if (target) {\r\n for (var prop in target) {\r\n if (ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](target, prop)) {\r\n callbackfn[_DYN_CALL /* @min:%2ecall */](target, prop, target[prop]);\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n var result = false;\r\n if (value && search && !(result = value === search)) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n result = _strEndsWith ? value[cStrEndsWith](search) : _strEndsWithPoly(value, search);\r\n }\r\n return result;\r\n}\r\n/**\r\n * The _strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function _strEndsWithPoly(value, search) {\r\n var result = false;\r\n var searchLen = search ? search[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n var valLen = value ? value[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {\r\n var pos = valLen - 1;\r\n for (var lp = searchLen - 1; lp >= 0; lp--) {\r\n if (value[pos] != search[lp]) {\r\n return false;\r\n }\r\n pos--;\r\n }\r\n result = true;\r\n }\r\n return result;\r\n}\r\n/**\r\n * The strStartsWith() method determines whether a string starts with the characters of the specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param checkValue - The characters to be searched for at the start of the value.\r\n * @returns true if the given search value is found at the start of the string, otherwise false.\r\n */\r\nexport function strStartsWith(value, checkValue) {\r\n var result = false;\r\n if (value && checkValue && !(result = value === checkValue)) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n result = _strStartsWith ? value[cStrStartsWith](checkValue) : _strStartsWithPoly(value, checkValue);\r\n }\r\n return result;\r\n}\r\n/**\r\n * The strStartsWith() method determines whether a string starts with the characters of the specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param checkValue - The characters to be searched for at the start of the value.\r\n * @returns true if the given search value is found at the start of the string, otherwise false.\r\n */\r\nexport function _strStartsWithPoly(value, checkValue) {\r\n // Using helper for performance and because string startsWith() is not available on IE\r\n var result = false;\r\n var chkLen = checkValue ? checkValue[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if (value && chkLen && value[_DYN_LENGTH /* @min:%2elength */] >= chkLen && !(result = value === checkValue)) {\r\n for (var lp = 0; lp < chkLen; lp++) {\r\n if (value[lp] !== checkValue[lp]) {\r\n return false;\r\n }\r\n }\r\n result = true;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return value[_DYN_INDEX_OF /* @min:%2eindexOf */](search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Check if an object is of type Date\r\n */\r\nexport function isDate(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Date]\");\r\n}\r\n/**\r\n * Check if an object is of type Array with optional generic T, the generic type is not validated\r\n * and exists to help with TypeScript validation only.\r\n */\r\nexport var isArray = _isArray || _isArrayPoly;\r\nfunction _isArrayPoly(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Array]\");\r\n}\r\n/**\r\n * Check if an object is of type Error\r\n */\r\nexport function isError(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Error]\");\r\n}\r\n/**\r\n * Checks if the type of value is a string.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a string, false otherwise.\r\n */\r\nexport function isString(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"string\";\r\n}\r\n/**\r\n * Checks if the type of value is a number.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a number, false otherwise.\r\n */\r\nexport function isNumber(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"number\";\r\n}\r\n/**\r\n * Checks if the type of value is a boolean.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\nexport function isBoolean(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"boolean\";\r\n}\r\n/**\r\n * Checks if the type of value is a Symbol.\r\n * This only returns a boolean as returning value is Symbol will cause issues for older TypeScript consumers\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a Symbol, false otherwise.\r\n */\r\nexport function isSymbol(value) {\r\n return typeof value === \"symbol\";\r\n}\r\n/**\r\n * Checks if the type of the value is a normal plain object (not a null or data)\r\n * @param value\r\n */\r\nexport function isPlainObject(value) {\r\n var result = false;\r\n if (value && typeof value === \"object\") {\r\n // Inlining _objGetPrototypeOf for performance to avoid an additional function call\r\n var proto = _objGetPrototypeOf ? _objGetPrototypeOf(value) : _getObjProto(value);\r\n if (!proto) {\r\n // No prototype found so this is a plain Object eg. 'Object.create(null)'\r\n result = true;\r\n }\r\n else {\r\n // Objects that have a prototype are plain only if they were created using the Object global (native) function\r\n if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](proto, strConstructor)) {\r\n proto = proto[strConstructor];\r\n }\r\n result = typeof proto === strShimFunction && _fnToString[_DYN_CALL /* @min:%2ecall */](proto) === _objFunctionString;\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n if (date) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n return _dataToISOString ? date[strToISOString]() : _toISOStringPoly(date);\r\n }\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function _toISOStringPoly(date) {\r\n if (date && date.getUTCFullYear) {\r\n var pad = function (num) {\r\n var r = String(num);\r\n if (r[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n r = \"0\" + r;\r\n }\r\n return r;\r\n };\r\n return date.getUTCFullYear()\r\n + \"-\" + pad(date.getUTCMonth() + 1)\r\n + \"-\" + pad(date.getUTCDate())\r\n + \"T\" + pad(date.getUTCHours())\r\n + \":\" + pad(date.getUTCMinutes())\r\n + \":\" + pad(date.getUTCSeconds())\r\n + \".\" + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)\r\n + \"Z\";\r\n }\r\n}\r\n/**\r\n * Performs the specified action for each element in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. It can return -1 to break out of the loop\r\n * @param thisArg [Optional] An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\nexport function arrForEach(arr, callbackfn, thisArg) {\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n try {\r\n for (var idx = 0; idx < len; idx++) {\r\n if (idx in arr) {\r\n if (callbackfn[_DYN_CALL /* @min:%2ecall */](thisArg || arr, arr[idx], idx, arr) === -1) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Returns the index of the first occurrence of a value in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param searchElement The value to locate in the array.\r\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\r\n */\r\nexport function arrIndexOf(arr, searchElement, fromIndex) {\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strIndexOf]) {\r\n return arr[strIndexOf](searchElement, fromIndex);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var from = fromIndex || 0;\r\n try {\r\n for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {\r\n if (lp in arr && arr[lp] === searchElement) {\r\n return lp;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Calls a defined callback function on each element of an array, and returns an array that contains the results. This helper exists\r\n * to avoid adding a polyfil for older browsers that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page\r\n * checks for presence/absence of the prototype implementation. Note: For consistency this will not use the Array.prototype.xxxx\r\n * implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\r\n * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\nexport function arrMap(arr, callbackfn, thisArg) {\r\n var results;\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strMap]) {\r\n return arr[strMap](callbackfn, thisArg);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var _this = thisArg || arr;\r\n results = new Array(len);\r\n try {\r\n for (var lp = 0; lp < len; lp++) {\r\n if (lp in arr) {\r\n results[lp] = callbackfn[_DYN_CALL /* @min:%2ecall */](_this, arr[lp], arr);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n }\r\n return results;\r\n}\r\n/**\r\n * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is\r\n * provided as an argument in the next call to the callback function. This helper exists to avoid adding a polyfil for older browsers that do not define\r\n * Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype implementation. Note: For consistency\r\n * this will not use the Array.prototype.xxxx implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\r\n * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\r\n */\r\nexport function arrReduce(arr, callbackfn, initialValue) {\r\n var value;\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strReduce]) {\r\n return arr[strReduce](callbackfn, initialValue);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var lp = 0;\r\n // Specifically checking the number of passed arguments as the value could be anything\r\n if (arguments[_DYN_LENGTH /* @min:%2elength */] >= 3) {\r\n value = arguments[2];\r\n }\r\n else {\r\n while (lp < len && !(lp in arr)) {\r\n lp++;\r\n }\r\n value = arr[lp++];\r\n }\r\n while (lp < len) {\r\n if (lp in arr) {\r\n value = callbackfn(value, arr[lp], lp, arr);\r\n }\r\n lp++;\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * helper method to trim strings (IE8 does not implement String.prototype.trim)\r\n */\r\nexport function strTrim(str) {\r\n if (str) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE /* @min:%2ereplace */] ? str[_DYN_REPLACE /* @min:%2ereplace */](/^\\s+|(?=\\s)\\s+$/g, STR_EMPTY) : str);\r\n }\r\n return str;\r\n}\r\nvar _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable(\"toString\");\r\nvar _objKeysDontEnums = [\r\n \"toString\",\r\n \"toLocaleString\",\r\n \"valueOf\",\r\n \"hasOwnProperty\",\r\n \"isPrototypeOf\",\r\n \"propertyIsEnumerable\",\r\n \"constructor\"\r\n];\r\n/**\r\n * Returns the names of the enumerable string properties and methods of an object. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Object.keys eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.keys implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\r\n */\r\nexport function objKeys(obj) {\r\n var objType = typeof obj;\r\n if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {\r\n throwTypeError(\"objKeys called on non-object\");\r\n }\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (!_objKeysHasDontEnumBug && _objKeys) {\r\n return _objKeys(obj);\r\n }\r\n var result = [];\r\n for (var prop in obj) {\r\n if (obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, prop)) {\r\n result[_DYN_PUSH /* @min:%2epush */](prop);\r\n }\r\n }\r\n if (_objKeysHasDontEnumBug) {\r\n var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < dontEnumsLength; lp++) {\r\n if (obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, _objKeysDontEnums[lp])) {\r\n result[_DYN_PUSH /* @min:%2epush */](_objKeysDontEnums[lp]);\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Try to define get/set object property accessors for the target object/prototype, this will provide compatibility with\r\n * existing API definition when run within an ES5+ container that supports accessors but still enable the code to be loaded\r\n * and executed in an ES3 container, providing basic IE8 compatibility.\r\n * @param target The object on which to define the property.\r\n * @param prop The name of the property to be defined or modified.\r\n * @param getProp The getter function to wire against the getter.\r\n * @param setProp The setter function to wire against the setter.\r\n * @returns True if it was able to create the accessors otherwise false\r\n */\r\nexport function objDefineAccessors(target, prop, getProp, setProp) {\r\n if (_objDefineProperty) {\r\n try {\r\n var descriptor = {\r\n enumerable: true,\r\n configurable: true\r\n };\r\n if (getProp) {\r\n descriptor.get = getProp;\r\n }\r\n if (setProp) {\r\n descriptor.set = setProp;\r\n }\r\n _objDefineProperty(target, prop, descriptor);\r\n return true;\r\n }\r\n catch (e) {\r\n // IE8 Defines a defineProperty on Object but it's only supported for DOM elements so it will throw\r\n // We will just ignore this here.\r\n }\r\n }\r\n return false;\r\n}\r\nfunction _doNothing(value) {\r\n return value;\r\n}\r\nexport function deepFreeze(obj) {\r\n if (_objFreeze) {\r\n objForEachKey(obj, function (name, value) {\r\n if (isArray(value) || isObject(value)) {\r\n _objFreeze(value);\r\n }\r\n });\r\n }\r\n return objFreeze(obj);\r\n}\r\nexport var objFreeze = _objFreeze || _doNothing;\r\nexport var objSeal = _objSeal || _doNothing;\r\n/**\r\n * Return the current time via the Date now() function (if available) and falls back to (new Date()).getTime() if now() is unavailable (IE8 or less)\r\n * https://caniuse.com/#search=Date.now\r\n */\r\nexport function dateNow() {\r\n var dt = Date;\r\n return dt.now ? dt.now() : new dt().getTime();\r\n}\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object[_DYN_NAME /* @min:%2ename */];\r\n }\r\n return STR_EMPTY;\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Get the mapped config value, if null or undefined any supplied defaultValue will be returned.\r\n * @param field - The name of the field as the named enum value (number) or the string name.\r\n * @param defaultValue - The default value to return if the config field is not present, null or undefined.\r\n */\r\nexport function getCfgValue(theValue, defaultValue) {\r\n return !isNullOrUndefined(theValue) ? theValue : defaultValue;\r\n}\r\nexport function isNotTruthy(value) {\r\n return !value;\r\n}\r\nexport function isTruthy(value) {\r\n return !!value;\r\n}\r\nexport function throwError(message) {\r\n throw new Error(message);\r\n}\r\nfunction _createProxyFunction(source, funcName) {\r\n var srcFunc = null;\r\n var src = null;\r\n if (isFunction(source)) {\r\n srcFunc = source;\r\n }\r\n else {\r\n src = source;\r\n }\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n if (srcFunc) {\r\n src = srcFunc();\r\n }\r\n if (src) {\r\n return src[funcName][_DYN_APPLY /* @min:%2eapply */](src, originalArguments);\r\n }\r\n };\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 => will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = _createProxyFunction(source, field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (hasOwnProperty(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n if (!objDefineAccessors(target, field, function () {\r\n return source[field];\r\n }, function (theValue) {\r\n source[field] = theValue;\r\n })) {\r\n // Unable to create an accessor, so just assign the values as a fallback\r\n // -- this will (mostly) work for objects\r\n // -- but will fail for accessing primitives (if the source changes it) and all types of \"setters\" as the source won't be modified\r\n target[field] = value;\r\n }\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Creates a proxy function on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param name - The function name that will be added on the target\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param theFunc - The function name on the source that will be proxied on the target\r\n * @param overwriteTarget - If `false` this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {\r\n if (target && name && source) {\r\n if (overwriteTarget !== false || isUndefined(target[name])) {\r\n target[name] = _createProxyFunction(source, theFunc);\r\n }\r\n }\r\n}\r\n/**\r\n * Creates proxy functions on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param functionsToProxy - An array of function names that will be proxied on the target\r\n * @param overwriteTarget - If false this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {\r\n if (target && source && isObject(target) && isArray(functionsToProxy)) {\r\n arrForEach(functionsToProxy, function (theFuncName) {\r\n if (isString(theFuncName)) {\r\n proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);\r\n }\r\n });\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this_1 = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this_1[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject && ObjAssign) {\r\n theObject = ObjClass(ObjAssign({}, theObject));\r\n }\r\n return theObject;\r\n}\r\nexport function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {\r\n // Variables\r\n var theArgs = arguments;\r\n var extended = theArgs[0] || {};\r\n var argLen = theArgs[_DYN_LENGTH /* @min:%2elength */];\r\n var deep = false;\r\n var idx = 1;\r\n // Check for \"Deep\" flag\r\n if (argLen > 0 && isBoolean(extended)) {\r\n deep = extended;\r\n extended = theArgs[idx] || {};\r\n idx++;\r\n }\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (!isObject(extended)) {\r\n extended = {};\r\n }\r\n // Loop through each remaining object and conduct a merge\r\n for (; idx < argLen; idx++) {\r\n var arg = theArgs[idx];\r\n var isArgArray = isArray(arg);\r\n var isArgObj = isObject(arg);\r\n for (var prop in arg) {\r\n var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](arg, prop)));\r\n if (!propOk) {\r\n continue;\r\n }\r\n var newValue = arg[prop];\r\n var isNewArray = void 0;\r\n // If deep merge and property is an object, merge properties\r\n if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {\r\n // Grab the current value of the extended object\r\n var clone = extended[prop];\r\n if (isNewArray) {\r\n if (!isArray(clone)) {\r\n // We can't \"merge\" an array with a non-array so overwrite the original\r\n clone = [];\r\n }\r\n }\r\n else if (!isPlainObject(clone)) {\r\n // We can't \"merge\" an object with a non-object\r\n clone = {};\r\n }\r\n // Never move the original objects always clone them\r\n newValue = objExtend(deep, clone, newValue);\r\n }\r\n // Assign the new (or previous) value (unless undefined)\r\n if (newValue !== undefined) {\r\n extended[prop] = newValue;\r\n }\r\n }\r\n }\r\n return extended;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 41\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 6\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 12\r\nexport var _DYN_REMOVE_ITEM = \"removeItem\"; // Count: 3\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 10\r\nexport var _DYN_COUNT = \"count\"; // Count: 8\r\nexport var _DYN_PRE_TRIGGER_DATE = \"preTriggerDate\"; // Count: 4\r\nexport var _DYN_DISABLED = \"disabled\"; // Count: 3\r\nexport var _DYN_INTERVAL = \"interval\"; // Count: 3\r\nexport var _DYN_DAYS_OF_MONTH = \"daysOfMonth\"; // Count: 3\r\nexport var _DYN_DATE = \"date\"; // Count: 5\r\nexport var _DYN_GET_UTCDATE = \"getUTCDate\"; // Count: 3\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 4\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 4\r\nexport var _DYN_CORRELATION_HEADER_E0 = \"correlationHeaderExcludePatterns\"; // Count: 2\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 4\r\nexport var _DYN_EXTENSION_CONFIG = \"extensionConfig\"; // Count: 4\r\nexport var _DYN_EXCEPTIONS = \"exceptions\"; // Count: 6\r\nexport var _DYN_PARSED_STACK = \"parsedStack\"; // Count: 13\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 9\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 9\r\nexport var _DYN_SIZE_IN_BYTES = \"sizeInBytes\"; // Count: 11\r\nexport var _DYN_TYPE_NAME = \"typeName\"; // Count: 11\r\nexport var _DYN_SEVERITY_LEVEL = \"severityLevel\"; // Count: 5\r\nexport var _DYN_PROBLEM_GROUP = \"problemGroup\"; // Count: 3\r\nexport var _DYN_IS_MANUAL = \"isManual\"; // Count: 3\r\nexport var _DYN__CREATE_FROM_INTERFA1 = \"CreateFromInterface\"; // Count: 2\r\nexport var _DYN_ASSEMBLY = \"assembly\"; // Count: 7\r\nexport var _DYN_FILE_NAME = \"fileName\"; // Count: 8\r\nexport var _DYN_HAS_FULL_STACK = \"hasFullStack\"; // Count: 6\r\nexport var _DYN_LEVEL = \"level\"; // Count: 5\r\nexport var _DYN_METHOD = \"method\"; // Count: 7\r\nexport var _DYN_LINE = \"line\"; // Count: 6\r\nexport var _DYN_DURATION = \"duration\"; // Count: 4\r\nexport var _DYN_RECEIVED_RESPONSE = \"receivedResponse\"; // Count: 2\r\nexport var _DYN_SUBSTRING = \"substring\"; // Count: 6\r\nexport var _DYN_SANITIZE_KEY_AND_ADD2 = \"sanitizeKeyAndAddUniqueness\"; // Count: 2\r\nexport var _DYN_SANITIZE_EXCEPTION = \"sanitizeException\"; // Count: 2\r\nexport var _DYN_SANITIZE_PROPERTIES = \"sanitizeProperties\"; // Count: 2\r\nexport var _DYN_SANITIZE_MEASUREMENT3 = \"sanitizeMeasurements\"; // Count: 2\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar strEmpty = \"\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = strEmpty + totalms % 1000;\r\n var sec = strEmpty + Math.floor(totalms / 1000) % 60;\r\n var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms[_DYN_LENGTH /* @min:%2elength */] === 1 ? \"00\" + ms : ms[_DYN_LENGTH /* @min:%2elength */] === 2 ? \"0\" + ms : ms;\r\n sec = sec[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + sec : sec;\r\n min = min[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + min : min;\r\n hour = hour[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : strEmpty) + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_CALL, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { isFunction, isString, isUndefined, strContains } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strWindow = \"window\";\r\nvar strDocument = \"document\";\r\nvar strDocumentMode = \"documentMode\";\r\nvar strNavigator = \"navigator\";\r\nvar strHistory = \"history\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strPerformance = \"performance\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Return the named global object if available, will return null if the object is not available.\r\n * @param name The globally named object\r\n */\r\nexport function getGlobalInst(name) {\r\n var gbl = getGlobal();\r\n if (gbl && gbl[name]) {\r\n return gbl[name];\r\n }\r\n // Test workaround, for environments where .window (when global == window) doesn't return the base window\r\n if (name === strWindow && hasWindow()) {\r\n // tslint:disable-next-line: no-angle-bracket-type-assertion\r\n return window;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Checks if window object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a window\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: window is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasWindow() {\r\n return Boolean(typeof window === strShimObject && window);\r\n}\r\n/**\r\n * Returns the global window object if it is present otherwise null.\r\n * This helper is used to access the window object without causing an exception\r\n * \"Uncaught ReferenceError: window is not defined\"\r\n */\r\nexport function getWindow() {\r\n if (hasWindow()) {\r\n return window;\r\n }\r\n // Return the global instance or null\r\n return getGlobalInst(strWindow);\r\n}\r\n/**\r\n * Checks if document object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a document\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: document is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasDocument() {\r\n return Boolean(typeof document === strShimObject && document);\r\n}\r\n/**\r\n * Returns the global document object if it is present otherwise null.\r\n * This helper is used to access the document object without causing an exception\r\n * \"Uncaught ReferenceError: document is not defined\"\r\n */\r\nexport function getDocument() {\r\n if (hasDocument()) {\r\n return document;\r\n }\r\n return getGlobalInst(strDocument);\r\n}\r\n/**\r\n * Checks if navigator object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a navigator\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: navigator is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasNavigator() {\r\n return Boolean(typeof navigator === strShimObject && navigator);\r\n}\r\n/**\r\n * Returns the global navigator object if it is present otherwise null.\r\n * This helper is used to access the navigator object without causing an exception\r\n * \"Uncaught ReferenceError: navigator is not defined\"\r\n */\r\nexport function getNavigator() {\r\n if (hasNavigator()) {\r\n return navigator;\r\n }\r\n return getGlobalInst(strNavigator);\r\n}\r\n/**\r\n * Checks if history object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: history is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasHistory() {\r\n return Boolean(typeof history === strShimObject && history);\r\n}\r\n/**\r\n * Returns the global history object if it is present otherwise null.\r\n * This helper is used to access the history object without causing an exception\r\n * \"Uncaught ReferenceError: history is not defined\"\r\n */\r\nexport function getHistory() {\r\n if (hasHistory()) {\r\n return history;\r\n }\r\n return getGlobalInst(strHistory);\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getGlobalInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getGlobalInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getGlobalInst(strConsole);\r\n}\r\n/**\r\n * Returns the performance object if it is present otherwise null.\r\n * This helper is used to access the performance object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getPerformance() {\r\n return getGlobalInst(strPerformance);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getGlobalInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getGlobalInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getGlobalInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav[_DYN_USER_AGENT /* @min:%2euserAgent */] !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav[_DYN_USER_AGENT /* @min:%2euserAgent */];\r\n var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT /* @min:%2euserAgent */] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return Math.max(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns string representation of an object suitable for diagnostics logging.\r\n */\r\nexport function dumpObj(object) {\r\n var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL /* @min:%2ecall */](object);\r\n var propertyValueDump = STR_EMPTY;\r\n if (objectTypeDump === \"[object Error]\") {\r\n propertyValueDump = \"{ stack: '\" + object.stack + \"', message: '\" + object.message + \"', name: '\" + object[_DYN_NAME /* @min:%2ename */] + \"'\";\r\n }\r\n else if (hasJSON()) {\r\n propertyValueDump = getJSON().stringify(object);\r\n }\r\n return objectTypeDump + propertyValueDump;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2[_DYN_USER_AGENT /* @min:%2euserAgent */] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (ua[_DYN_INDEX_OF /* @min:%2eindexOf */](\"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported() {\r\n if (_beaconsSupported === null) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getGlobalInst(\"fetch\");\r\n var request = getGlobalInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getGlobalInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nfunction _getNamedValue(values, name) {\r\n if (values) {\r\n for (var i = 0; i < values[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var value = values[i];\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n return value;\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name\r\n */\r\nexport function findMetaTag(name) {\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n return _getNamedValue(doc.querySelectorAll(\"meta\"), name).content;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name\r\n */\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var perf = getPerformance();\r\n if (perf) {\r\n // Try looking for a server-timing header\r\n var navPerf = perf.getEntriesByType(\"navigation\") || [];\r\n value = _getNamedValue((navPerf[_DYN_LENGTH /* @min:%2elength */] > 0 ? navPerf[0] : {}).serverTiming, name).description;\r\n }\r\n return value;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_APPLY, _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getGlobalInst } from \"./EnvUtils\";\r\nvar listenerFuncs = [\"eventsSent\", \"eventsDiscarded\", \"eventsSendRequest\", \"perfEvent\"];\r\nvar _aiNamespace = null;\r\nvar _debugListener;\r\nfunction _listenerProxyFunc(name, config) {\r\n return function () {\r\n var args = arguments;\r\n var dbgExt = getDebugExt(config);\r\n if (dbgExt) {\r\n var listener = dbgExt.listener;\r\n if (listener && listener[name]) {\r\n listener[name][_DYN_APPLY /* @min:%2eapply */](listener, args);\r\n }\r\n }\r\n };\r\n}\r\nfunction _getExtensionNamespace() {\r\n // Cache the lookup of the global namespace object\r\n var target = getGlobalInst(\"Microsoft\");\r\n if (target) {\r\n _aiNamespace = target[\"ApplicationInsights\"];\r\n }\r\n return _aiNamespace;\r\n}\r\nexport function getDebugExt(config) {\r\n var ns = _aiNamespace;\r\n if (!ns && config.disableDbgExt !== true) {\r\n ns = _aiNamespace || _getExtensionNamespace();\r\n }\r\n return ns ? ns[\"ChromeDbgExt\"] : null;\r\n}\r\nexport function getDebugListener(config) {\r\n if (!_debugListener) {\r\n _debugListener = {};\r\n for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);\r\n }\r\n }\r\n return _debugListener;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_DIAG_LOG, _DYN_ENABLE_DEBUG_EXCEPTI4, _DYN_LOGGER, _DYN_LOG_INTERNAL_MESSAGE, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_PUSH, _DYN_REPLACE } from \"../__DynamicConstants\";\r\nimport { getDebugExt } from \"./DbgExtensionUtils\";\r\nimport { dumpObj, getConsole, getJSON, hasJSON } from \"./EnvUtils\";\r\nimport { getCfgValue, isFunction, isUndefined } from \"./HelperFuncs\";\r\nimport { STR_EMPTY, STR_ERROR_TO_CONSOLE, STR_WARN_TO_CONSOLE } from \"./InternalConstants\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text[_DYN_REPLACE /* @min:%2ereplace */](/\\\"/g, STR_EMPTY) + \"\\\"\";\r\n }\r\n return STR_EMPTY;\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self[_DYN_MESSAGE_ID /* @min:%2emessageId */] = msgId;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = STR_EMPTY;\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {})[_DYN_LOGGER /* @min:%2elogger */] || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n var _loggingLevelConsole;\r\n var _loggingLevelTelemetry;\r\n var _maxInternalMessageLimit;\r\n var _enableDebug;\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n _setDefaultsFromConfig(config || {});\r\n _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };\r\n _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };\r\n _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };\r\n _self[_DYN_ENABLE_DEBUG_EXCEPTI4 /* @min:%2eenableDebugExceptions */] = function () { return _enableDebug; };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_enableDebug) {\r\n throw dumpObj(message);\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = severity === 1 /* eLoggingSeverity.CRITICAL */ ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;\r\n if (!isUndefined(message[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (_loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n _logInternalMessage(severity, message);\r\n }\r\n else {\r\n _debugExtMsg(\"throw\" + (severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"Critical\" : \"Warning\"), message);\r\n }\r\n }\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message {string} - The warning message\r\n */\r\n _self[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */] = function (message) {\r\n _logToConsole(\"warn\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n /**\r\n * This will write an error to the console if possible\r\n * @param message {string} - The error message\r\n */\r\n _self[STR_ERROR_TO_CONSOLE /* @min:%2eerrorToConsole */] = function (message) {\r\n _logToConsole(\"error\", message);\r\n _debugExtMsg(\"error\", message);\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\n _self[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */] = _logInternalMessage;\r\n function _logInternalMessage(severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _loggingLevelTelemetry) {\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](message);\r\n _messageCount++;\r\n _debugExtMsg((severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"error\" : \"warn\"), message);\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _maxInternalMessageLimit) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(23 /* _eInternalMessageId.MessageLimitPerPVExceeded */, throttleLimitMessage, false);\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](throttleMessage);\r\n if (severity === 1 /* eLoggingSeverity.CRITICAL */) {\r\n _self[STR_ERROR_TO_CONSOLE /* @min:%2eerrorToConsole */](throttleLimitMessage);\r\n }\r\n else {\r\n _self[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](throttleLimitMessage);\r\n }\r\n }\r\n }\r\n }\r\n function _setDefaultsFromConfig(config) {\r\n _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);\r\n _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);\r\n _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);\r\n _enableDebug = getCfgValue(config.enableDebug, getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 /* @min:%2eenableDebugExceptions */], false));\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _maxInternalMessageLimit;\r\n }\r\n function _debugExtMsg(name, data) {\r\n var dbgExt = getDebugExt(config || {});\r\n if (dbgExt && dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */]) {\r\n dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */](name, data);\r\n }\r\n }\r\n });\r\n }\r\n// Removed Stub for DiagnosticLogger.prototype.enableDebugExceptions.\r\n// Removed Stub for DiagnosticLogger.prototype.consoleLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.telemetryLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.maxInternalMessageLimit.\r\n// Removed Stub for DiagnosticLogger.prototype.throwInternal.\r\n// Removed Stub for DiagnosticLogger.prototype.warnToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.errorToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.resetInternalMessageCount.\r\n// Removed Stub for DiagnosticLogger.prototype.logInternalMessage.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n DiagnosticLogger.__ieDyn=1;\n\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\nfunction _getLogger(logger) {\r\n return (logger || new DiagnosticLogger());\r\n}\r\n/**\r\n * This is a helper method which will call throwInternal on the passed logger, will throw exceptions in\r\n * debug mode or attempt to log the error as a console warning. This helper is provided mostly to better\r\n * support minification as logger.throwInternal() will not compress the publish \"throwInternal\" used throughout\r\n * the code.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\nexport function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);\r\n}\r\n/**\r\n * This is a helper method which will call warnToConsole on the passed logger with the provided message.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\nexport function _warnToConsole(logger, message) {\r\n _getLogger(logger)[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n}\r\n/**\r\n * Logs a message to the internal queue.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\nexport function _logInternalMessage(logger, severity, message) {\r\n _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */](severity, message);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { deepFreeze, objForEachKey } from \"../JavaScriptSDK/HelperFuncs\";\r\n/**\r\n * Create an enum style object which has both the key => value and value => key mappings\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createEnumStyle(values) {\r\n var enumClass = {};\r\n objForEachKey(values, function (field, value) {\r\n enumClass[field] = value;\r\n enumClass[value] = field;\r\n });\r\n return deepFreeze(enumClass);\r\n}\r\n/**\r\n * Create a 2 index map that maps an enum's key as both the key and value, X[\"key\"] => \"key\" and X[0] => \"keyof 0\".\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createEnumMap(values) {\r\n var mapClass = {};\r\n objForEachKey(values, function (field, value) {\r\n mapClass[field] = field;\r\n mapClass[value] = field;\r\n });\r\n return deepFreeze(mapClass);\r\n}\r\n/**\r\n * Create a 2 index map that maps an enum's key and value to the defined map value, X[\"key\"] => mapValue and X[0] => mapValue.\r\n * Generic values\r\n * - E = the const enum type (typeof eRequestHeaders);\r\n * - V = Identifies the valid values for the keys, this should include both the enum numeric and string key of the type. The\r\n * resulting \"Value\" of each entry identifies the valid values withing the assignments.\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createValueMap(values) {\r\n var mapClass = {};\r\n objForEachKey(values, function (field, value) {\r\n mapClass[field] = value[1];\r\n mapClass[value[0]] = value[1];\r\n });\r\n return deepFreeze(mapClass);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\nexport var StorageType = createEnumStyle({\r\n LocalStorage: 0 /* eStorageType.LocalStorage */,\r\n SessionStorage: 1 /* eStorageType.SessionStorage */\r\n});\r\nexport var DistributedTracingModes = createEnumStyle({\r\n AI: 0 /* eDistributedTracingModes.AI */,\r\n AI_AND_W3C: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n W3C: 2 /* eDistributedTracingModes.W3C */\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _throwInternal, dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nimport { _DYN_REMOVE_ITEM, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\nvar _storagePrefix = \"\";\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = (new Date)[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n var name_1 = _storagePrefix + uid;\r\n storage.setItem(name_1, uid);\r\n var fail = storage.getItem(name_1) !== uid;\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name_1);\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Disables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlSetStoragePrefix(storagePrefix) {\r\n _storagePrefix = storagePrefix || \"\";\r\n}\r\n/**\r\n * Re-enables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlEnableStorage() {\r\n _canUseLocalStorage = utlCanUseLocalStorage(true);\r\n _canUseSessionStorage = utlCanUseSessionStorage(true);\r\n}\r\n/**\r\n * Returns whether LocalStorage can be used, if the reset parameter is passed a true this will override\r\n * any previous disable calls.\r\n * @param reset - Should the usage be reset and determined only based on whether LocalStorage is available\r\n */\r\nexport function utlCanUseLocalStorage(reset) {\r\n if (reset || _canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 1 /* _eInternalMessageId.BrowserCannotReadLocalStorage */, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 3 /* _eInternalMessageId.BrowserCannotWriteLocalStorage */, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 5 /* _eInternalMessageId.BrowserFailedRemovalFromLocalStorage */, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage(reset) {\r\n if (reset || _canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys.push(key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 2 /* _eInternalMessageId.BrowserCannotReadSessionStorage */, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 4 /* _eInternalMessageId.BrowserCannotWriteSessionStorage */, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 6 /* _eInternalMessageId.BrowserFailedRemovalFromSessionStorage */, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// Licensed under the\r\nexport { Util, CorrelationIdHelper, DateTimeUtils, dateTimeUtilsNow, dateTimeUtilsDuration, UrlHelper, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { DataSanitizer, dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage, utlSetStoragePrefix } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar _a;\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_SANITIZE_EXCEPTION, _DYN_SANITIZE_KEY_AND_ADD2, _DYN_SANITIZE_MEASUREMENT3, _DYN_SANITIZE_PROPERTIES, _DYN_STRINGIFY, _DYN_SUBSTRING, _DYN_TO_STRING } from \"../../__DynamicConstants\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key[_DYN_LENGTH /* @min:%2elength */];\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field[_DYN_LENGTH /* @min:%2elength */] !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(name[_DYN_TO_STRING /* @min:%2etoString */]());\r\n // truncate the string to 150 chars\r\n if (name[_DYN_LENGTH /* @min:%2elength */] > 150 /* DataSanitizerValues.MAX_NAME_LENGTH */) {\r\n nameTrunc = name[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 57 /* _eInternalMessageId.NameTooLong */, \"name is too long. It has been truncated to \" + 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(value);\r\n if (value.toString()[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n valueTrunc = value[_DYN_TO_STRING /* @min:%2etoString */]()[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 61 /* _eInternalMessageId.StringValueTooLong */, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* DataSanitizerValues.MAX_URL_LENGTH */, 66 /* _eInternalMessageId.UrlTooLong */);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = message[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 56 /* _eInternalMessageId.MessageTruncated */, \"message is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = value[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 52 /* _eInternalMessageId.ExceptionTruncated */, \"exception is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* DataSanitizerValues.MAX_ID_LENGTH */, 69 /* _eInternalMessageId.IdTooLong */)[_DYN_TO_STRING /* @min:%2etoString */]() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(input);\r\n if (input[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n inputTrunc = input[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return s.substr(s[_DYN_LENGTH /* @min:%2elength */] - 3);\r\n}\r\n/**\r\n * Provides the DataSanitizer functions within the previous namespace.\r\n */\r\nexport var DataSanitizer = (_a = {\r\n MAX_NAME_LENGTH: 150 /* DataSanitizerValues.MAX_NAME_LENGTH */,\r\n MAX_ID_LENGTH: 128 /* DataSanitizerValues.MAX_ID_LENGTH */,\r\n MAX_PROPERTY_LENGTH: 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */,\r\n MAX_STRING_LENGTH: 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */,\r\n MAX_URL_LENGTH: 2048 /* DataSanitizerValues.MAX_URL_LENGTH */,\r\n MAX_MESSAGE_LENGTH: 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */,\r\n MAX_EXCEPTION_LENGTH: 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */\r\n },\r\n _a[_DYN_SANITIZE_KEY_AND_ADD2 /* @min:sanitizeKeyAndAddUniqueness */] = dataSanitizeKeyAndAddUniqueness,\r\n _a.sanitizeKey = dataSanitizeKey,\r\n _a.sanitizeString = dataSanitizeString,\r\n _a.sanitizeUrl = dataSanitizeUrl,\r\n _a.sanitizeMessage = dataSanitizeMessage,\r\n _a[_DYN_SANITIZE_EXCEPTION /* @min:sanitizeException */] = dataSanitizeException,\r\n _a[_DYN_SANITIZE_PROPERTIES /* @min:sanitizeProperties */] = dataSanitizeProperties,\r\n _a[_DYN_SANITIZE_MEASUREMENT3 /* @min:sanitizeMeasurements */] = dataSanitizeMeasurements,\r\n _a.sanitizeId = dataSanitizeId,\r\n _a.sanitizeInput = dataSanitizeInput,\r\n _a.padNumber = dsPadNumber,\r\n _a.trim = strTrim,\r\n _a);\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var DEFAULT_BREEZE_PATH = \"/v2/track\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isNullOrUndefined, objForEachKey, throwError, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIkey, strNotSpecified } from \"./Constants\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { _DYN_NAME } from \"./__DynamicConstants\";\r\n/**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\nexport function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n var _a;\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throwError(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = envelopeName,\r\n _a.time = toISOString(new Date()),\r\n _a.iKey = iKey,\r\n _a.ext = systemProperties ? systemProperties : {},\r\n _a.tags = [],\r\n _a.data = {},\r\n _a.baseType = baseType,\r\n _a.baseData = item // Part B\r\n ,\r\n _a);\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n}\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = createTelemetryItem;\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Event = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}());\r\nexport { Event };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties } from \"./Common/DataSanitizer\";\r\nvar Trace = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n message = message || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, message);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}());\r\nexport { Trace };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n name: 1 /* FieldType.Required */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 1 /* FieldType.Required */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */\r\n };\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = 0 /* DataPointType.Measurement */;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_COUNT, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint[_DYN_COUNT /* @min:%2ecount */] = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageView = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n id: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = dataSanitizeId(logger, id);\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(durationMs);\r\n }\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}());\r\nexport { PageView };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES, _DYN_RECEIVED_RESPONSE } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageViewPerformance = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n perfTotal: 0 /* FieldType.Default */,\r\n networkConnect: 0 /* FieldType.Default */,\r\n sentRequest: 0 /* FieldType.Default */,\r\n receivedResponse: 0 /* FieldType.Default */,\r\n domProcessing: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _self.domProcessing = cs4BaseData.domProcessing;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = cs4BaseData[_DYN_DURATION /* @min:%2eduration */];\r\n _self.networkConnect = cs4BaseData.networkConnect;\r\n _self.perfTotal = cs4BaseData.perfTotal;\r\n _self[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */] = cs4BaseData[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */];\r\n _self.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}());\r\nexport { PageViewPerformance };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_INDEX_OF, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from \"../__DynamicConstants\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {\r\n result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n result = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\")[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window && window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n else if (errorObj[\"reason\"] && errorObj.reason[strStack]) {\r\n // UnhandledPromiseRejection\r\n details = _convertStackObj(errorObj.reason[strStack]);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());\r\n typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];\r\n if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n }\r\n if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {\r\n _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {\r\n _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var _a;\r\n var errorType = _getErrorType(error || evt || message);\r\n return _a = {},\r\n _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),\r\n _a.url = url,\r\n _a.lineNumber = lineNumber,\r\n _a.columnNumber = columnNumber,\r\n _a.error = _formatErrorCode(error || evt || message),\r\n _a.evt = _formatErrorCode(evt || message),\r\n _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,\r\n _a.stackDetails = _getStackFromErrorObj(stack || error || evt),\r\n _a.errorSrc = errorSrc,\r\n _a;\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]\r\n && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a;\r\n var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return _a = {\r\n ver: \"4.0\"\r\n },\r\n _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,\r\n _a.severityLevel = severityLevel,\r\n _a.properties = properties,\r\n _a.measurements = measurements,\r\n _a.problemGroup = problemGroup,\r\n _a.id = id,\r\n _a.isManual = isManual,\r\n _a;\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n var _a;\r\n return {\r\n exceptions: [\r\n (_a = {},\r\n _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,\r\n _a.message = message,\r\n _a.stack = details,\r\n _a.typeName = typeName,\r\n _a)\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);\r\n // after parsedStack is inited, iterate over each frame object, sanitize its assembly field\r\n if (isArray(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */])) {\r\n arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) {\r\n frame[_DYN_ASSEMBLY /* @min:%2eassembly */] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY /* @min:%2eassembly */]);\r\n frame[_DYN_FILE_NAME /* @min:%2efileName */] = dataSanitizeString(logger, frame[_DYN_FILE_NAME /* @min:%2efileName */]);\r\n });\r\n }\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n if (properties) {\r\n properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n }\r\n }\r\n else {\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];\r\n _self[strStack] = exception[strStack];\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];\r\n _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _a;\r\n var _self = this;\r\n var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = (_a = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],\r\n message: _self[_DYN_MESSAGE /* @min:%2emessage */],\r\n hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],\r\n stack: _self[strStack]\r\n },\r\n _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,\r\n _a);\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))\r\n || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = level;\r\n _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = \"\";\r\n _self[_DYN_LINE /* @min:%2eline */] = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {\r\n _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);\r\n _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];\r\n _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];\r\n _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n }\r\n _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self[_DYN_LEVEL /* @min:%2elevel */],\r\n method: _self[_DYN_METHOD /* @min:%2emethod */],\r\n assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],\r\n fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],\r\n line: _self[_DYN_LINE /* @min:%2eline */]\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _DYN_COOKIE_CFG, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_LOGGER, _DYN_SET_ENABLED, _DYN_SPLIT, _DYN_SUBSTRING, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj, getDocument, getLocation, getNavigator, isIE } from \"./EnvUtils\";\r\nimport { arrForEach, dateNow, getExceptionName, isArray, isFunction, isNotNullOrUndefined, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, setValue, strContains, strEndsWith, strTrim } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strEnabled = \"enabled\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc = getDocument();\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nexport function _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _createCookieMgrConfig(rootConfig) {\r\n var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */] = rootConfig[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */] || {};\r\n // Sets the values from the root config if not already present on the cookieMgrCfg\r\n setValue(cookieMgrCfg, \"domain\", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);\r\n setValue(cookieMgrCfg, \"path\", rootConfig.cookiePath || \"/\", null, isNullOrUndefined);\r\n if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n cookieMgrCfg[strEnabled] = cookieEnabled;\r\n }\r\n return cookieMgrCfg;\r\n}\r\nfunction _isIgnoredCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {\r\n return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF /* @min:%2eindexOf */](name) !== -1;\r\n }\r\n return false;\r\n}\r\nfunction _isBlockedCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {\r\n if (cookieMgrCfg.blockedCookies[_DYN_INDEX_OF /* @min:%2eindexOf */](name) !== -1) {\r\n return true;\r\n }\r\n }\r\n return _isIgnoredCookie(cookieMgrCfg, name);\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */];\r\n if (cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var _a;\r\n var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);\r\n var _path = cookieMgrConfig.path || \"/\";\r\n var _domain = cookieMgrConfig.domain;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled = cookieMgrConfig[strEnabled] !== false;\r\n var cookieMgr = (_a = {\r\n isEnabled: function () {\r\n var enabled = _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n }\r\n },\r\n _a[_DYN_SET_ENABLED /* @min:setEnabled */] = function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n },\r\n _a.set = function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {\r\n var values = {};\r\n var theValue = strTrim(value || STR_EMPTY);\r\n var idx = theValue[_DYN_INDEX_OF /* @min:%2eindexOf */](\";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(value[_DYN_SUBSTRING /* @min:%2esubstring */](0, idx));\r\n values = _extractParts(value[_DYN_SUBSTRING /* @min:%2esubstring */](idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, \"domain\", domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = dateNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", STR_EMPTY + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT /* @min:%2euserAgent */]);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, \"path\", path || _path, null, isUndefined);\r\n var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n _a.get = function (name) {\r\n var value = STR_EMPTY;\r\n if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {\r\n value = (cookieMgrConfig.getCookie || _getCookieValue)(name);\r\n }\r\n return value;\r\n },\r\n _a.del = function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n _a.purge = function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[\"path\"] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n var delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n delCookie(name, _formatCookieValue(STR_EMPTY, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n _a);\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n try {\r\n var doc = _doc || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 68 /* _eInternalMessageId.CannotAccessCookie */, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue[_DYN_LENGTH /* @min:%2elength */]) {\r\n var parts = strTrim(theValue)[_DYN_SPLIT /* @min:%2esplit */](\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || STR_EMPTY);\r\n if (thePart) {\r\n var idx = thePart[_DYN_INDEX_OF /* @min:%2eindexOf */](\"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(thePart[_DYN_SUBSTRING /* @min:%2esubstring */](0, idx))] = strTrim(thePart[_DYN_SUBSTRING /* @min:%2esubstring */](idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || STR_EMPTY;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : STR_EMPTY);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = STR_EMPTY;\r\n if (_doc) {\r\n var theCookie = _doc[strCookie] || STR_EMPTY;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n if (_doc) {\r\n _doc[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { dateNow } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = 123456789;\r\nvar _mwcZ = 987654321;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (123456789 + seedValue) & MaxUInt32;\r\n _mwcZ = (987654321 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = dateNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value = 0;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n if (value === 0 && isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n if (value === 0) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = STR_EMPTY;\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ObjDefineProperty } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_NODE_TYPE } from \"../__DynamicConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar _objDefineProperty = ObjDefineProperty;\r\nvar version = '2.8.18';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\nfunction _createAccessor(target, prop, value) {\r\n if (_objDefineProperty) {\r\n try {\r\n _objDefineProperty(target, prop, {\r\n value: value,\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return true;\r\n }\r\n catch (e) {\r\n // IE8 Defines a defineProperty on Object but it's only supported for DOM elements so it will throw\r\n // We will just ignore this here.\r\n }\r\n }\r\n return false;\r\n}\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 1 || target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 9 || !(+target[_DYN_NODE_TYPE /* @min:%2enodeType */]);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n if (!_createAccessor(target, data.id, theCache)) {\r\n // Environment doesn't support accessor, so just use direct assignment\r\n target[data.id] = theCache;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_HANDLER, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE, _DYN_SPLICE, _DYN_SPLIT, _DYN_TYPE } from \"../__DynamicConstants\";\r\nimport { createElmNodeData, createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDocument, getWindow } from \"./EnvUtils\";\r\nimport { arrForEach, arrIndexOf, isArray, objForEachKey, objKeys } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// Added to help with minfication\r\nvar strOnPrefix = \"on\";\r\nvar strAttachEvent = \"attachEvent\";\r\nvar strAddEventHelper = \"addEventListener\";\r\nvar strDetachEvent = \"detachEvent\";\r\nvar strRemoveEventListener = \"removeEventListener\";\r\nvar strEvents = \"events\";\r\nvar strVisibilityChangeEvt = \"visibilitychange\";\r\nvar strPageHide = \"pagehide\";\r\nvar strPageShow = \"pageshow\";\r\nvar strUnload = \"unload\";\r\nvar strBeforeUnload = \"beforeunload\";\r\nvar strPageHideNamespace = createUniqueNamespace(\"aiEvtPageHide\");\r\nvar strPageShowNamespace = createUniqueNamespace(\"aiEvtPageShow\");\r\nvar rRemoveEmptyNs = /\\.[\\.]+/g;\r\nvar rRemoveTrailingEmptyNs = /[\\.]+$/;\r\nvar _guid = 1;\r\nvar elmNodeData = createElmNodeData(\"events\");\r\nvar eventNamespace = /^([^.]*)(?:\\.(.+)|)/;\r\nfunction _normalizeNamespace(name) {\r\n if (name && name[_DYN_REPLACE /* @min:%2ereplace */]) {\r\n return name[_DYN_REPLACE /* @min:%2ereplace */](/^[\\s\\.]+|(?=[\\s\\.])[\\.\\s]+$/g, STR_EMPTY);\r\n }\r\n return name;\r\n}\r\nfunction _getEvtNamespace(eventName, evtNamespace) {\r\n var _a;\r\n if (evtNamespace) {\r\n var theNamespace_1 = STR_EMPTY;\r\n if (isArray(evtNamespace)) {\r\n theNamespace_1 = STR_EMPTY;\r\n arrForEach(evtNamespace, function (name) {\r\n name = _normalizeNamespace(name);\r\n if (name) {\r\n if (name[0] !== \".\") {\r\n name = \".\" + name;\r\n }\r\n theNamespace_1 += name;\r\n }\r\n });\r\n }\r\n else {\r\n theNamespace_1 = _normalizeNamespace(evtNamespace);\r\n }\r\n if (theNamespace_1) {\r\n if (theNamespace_1[0] !== \".\") {\r\n theNamespace_1 = \".\" + theNamespace_1;\r\n }\r\n // We may only have the namespace and not an eventName\r\n eventName = (eventName || STR_EMPTY) + theNamespace_1;\r\n }\r\n }\r\n var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);\r\n return _a = {},\r\n _a[_DYN_TYPE /* @min:type */] = parsedEvent[1],\r\n _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, \".\").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT /* @min:%2esplit */](\".\").sort()).join(\".\"),\r\n _a;\r\n}\r\n/**\r\n * Get all of the registered events on the target object, this is primarily used for testing cleanup but may also be used by\r\n * applications to remove their own events\r\n * @param target - The EventTarget that has registered events\r\n * @param eventName - [Optional] The name of the event to return the registered handlers and full name (with namespaces)\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n */\r\nexport function __getRegisteredEvents(target, eventName, evtNamespace) {\r\n var theEvents = [];\r\n var eventCache = elmNodeData.get(target, strEvents, {}, false);\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n objForEachKey(eventCache, function (evtType, registeredEvents) {\r\n arrForEach(registeredEvents, function (value) {\r\n var _a;\r\n if (!evtName[_DYN_TYPE /* @min:%2etype */] || evtName[_DYN_TYPE /* @min:%2etype */] === value.evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (!evtName.ns || evtName.ns === evtName.ns) {\r\n theEvents[_DYN_PUSH /* @min:%2epush */]((_a = {},\r\n _a[_DYN_NAME /* @min:name */] = value.evtName[_DYN_TYPE /* @min:%2etype */] + (value.evtName.ns ? \".\" + value.evtName.ns : STR_EMPTY),\r\n _a.handler = value[_DYN_HANDLER /* @min:%2ehandler */],\r\n _a));\r\n }\r\n }\r\n });\r\n });\r\n return theEvents;\r\n}\r\n// Exported for internal unit testing only\r\nfunction _getRegisteredEvents(target, evtName, addDefault) {\r\n if (addDefault === void 0) { addDefault = true; }\r\n var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);\r\n var registeredEvents = aiEvts[evtName];\r\n if (!registeredEvents) {\r\n registeredEvents = aiEvts[evtName] = [];\r\n }\r\n return registeredEvents;\r\n}\r\nfunction _doDetach(obj, evtName, handlerRef, useCapture) {\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (obj[strRemoveEventListener]) {\r\n obj[strRemoveEventListener](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n }\r\n else if (obj[strDetachEvent]) {\r\n obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n }\r\n }\r\n}\r\nfunction _doAttach(obj, evtName, handlerRef, useCapture) {\r\n var result = false;\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */] && handlerRef) {\r\n if (obj[strAddEventHelper]) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n result = true;\r\n }\r\n else if (obj[strAttachEvent]) {\r\n // IE before version 9\r\n obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n result = true;\r\n }\r\n }\r\n return result;\r\n}\r\nfunction _doUnregister(target, events, evtName, unRegFn) {\r\n var idx = events[_DYN_LENGTH /* @min:%2elength */];\r\n while (idx--) {\r\n var theEvent = events[idx];\r\n if (theEvent) {\r\n if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {\r\n if (!unRegFn || unRegFn(theEvent)) {\r\n _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER /* @min:%2ehandler */], theEvent.capture);\r\n // Remove the registered event\r\n events[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nfunction _unregisterEvents(target, evtName, unRegFn) {\r\n if (evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE /* @min:%2etype */]), evtName, unRegFn);\r\n }\r\n else {\r\n var eventCache = elmNodeData.get(target, strEvents, {});\r\n objForEachKey(eventCache, function (evtType, events) {\r\n _doUnregister(target, events, evtName, unRegFn);\r\n });\r\n // Cleanup\r\n if (objKeys(eventCache)[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n elmNodeData.kill(target, strEvents);\r\n }\r\n }\r\n}\r\nexport function mergeEvtNamespace(theNamespace, namespaces) {\r\n var newNamespaces;\r\n if (namespaces) {\r\n if (isArray(namespaces)) {\r\n newNamespaces = [theNamespace].concat(namespaces);\r\n }\r\n else {\r\n newNamespaces = [theNamespace, namespaces];\r\n }\r\n // resort the namespaces so they are always in order\r\n newNamespaces = (_getEvtNamespace(\"xx\", newNamespaces).ns)[_DYN_SPLIT /* @min:%2esplit */](\".\");\r\n }\r\n else {\r\n newNamespaces = theNamespace;\r\n }\r\n return newNamespaces;\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventName String that specifies any of the standard DHTML Events without \"on\" prefix, if may also include an optional (dot \".\" prefixed)\r\n * namespaces \"click\" \"click.mynamespace\" in addition to specific namespaces.\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n var _a;\r\n if (useCapture === void 0) { useCapture = false; }\r\n var result = false;\r\n if (target) {\r\n try {\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n result = _doAttach(target, evtName, handlerRef, useCapture);\r\n if (result && elmNodeData.accept(target)) {\r\n var registeredEvent = (_a = {\r\n guid: _guid++,\r\n evtName: evtName\r\n },\r\n _a[_DYN_HANDLER /* @min:handler */] = handlerRef,\r\n _a.capture = useCapture,\r\n _a);\r\n _getRegisteredEvents(target, evtName.type)[_DYN_PUSH /* @min:%2epush */](registeredEvent);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object to remove the event from\r\n * @param eventName {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture [Optional] Defaults to false\r\n */\r\nexport function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n if (target) {\r\n try {\r\n var evtName_1 = _getEvtNamespace(eventName, evtNamespace);\r\n var found_1 = false;\r\n _unregisterEvents(target, evtName_1, function (regEvent) {\r\n if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER /* @min:%2ehandler */] === handlerRef) {\r\n found_1 = true;\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (!found_1) {\r\n // fallback to try and remove as requested\r\n _doDetach(target, evtName_1, handlerRef, useCapture);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventNameWithoutOn String that specifies any of the standard DHTML Events without \"on\" prefix and optional (dot \".\" prefixed) namespaces \"click\" \"click.mynamespace\".\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @param useCapture [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object to remove the event from\r\n * @param eventNameWithoutOn {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param useCapture [Optional] Defaults to false\r\n */\r\nexport function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName {string} - The name of the event\r\n * @param callback {any} - The callback function that needs to be executed for the given event\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback, evtNamespace) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = eventOn(w, eventName, callback, evtNamespace);\r\n result = eventOn(w[\"body\"], eventName, callback, evtNamespace) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = eventOn(doc, eventName, callback, evtNamespace) || result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Trys to remove event handler(s) for the specified event/namespace to the window, body and document\r\n * @param eventName {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param callback {any} - - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventHandler(eventName, callback, evtNamespace) {\r\n var w = getWindow();\r\n if (w) {\r\n eventOff(w, eventName, callback, evtNamespace);\r\n eventOff(w[\"body\"], eventName, callback, evtNamespace);\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n eventOff(doc, eventName, callback, evtNamespace);\r\n }\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nfunction _addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && events[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {\r\n added = addEventHandler(name, listener, evtNamespace) || added;\r\n }\r\n }\r\n });\r\n }\r\n return added;\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && isArray(events)) {\r\n added = _addEventListeners(events, listener, excludeEvents, evtNamespace);\r\n if (!added && excludeEvents && excludeEvents[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Failed to add any listeners and we excluded some, so just attempt to add the excluded events\r\n added = _addEventListeners(events, listener, null, evtNamespace);\r\n }\r\n }\r\n return added;\r\n}\r\n/**\r\n * Remove the listener from the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventListeners(events, listener, evtNamespace) {\r\n if (events && isArray(events)) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n removeEventHandler(name, listener, evtNamespace);\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener - The event callback to call when a page unload event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked, unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);\r\n}\r\n/**\r\n * Remove any matching 'beforeunload', 'unload' and 'pagehide' events that may have been added via addEventListener,\r\n * addEventListeners, addPageUnloadEventListener or addPageHideEventListener.\r\n * @param listener - The specific event callback to to be removed\r\n * @param evtNamespace - [Optional] Namespace(s) uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function removePageUnloadEventListener(listener, evtNamespace) {\r\n removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page hide event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] A Namespace to append to the event listeners so they can be uniquely identified and removed\r\n * based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageHideEventListener\" can remove these events.\r\n * Suggestion: pass as true if you are also calling addPageUnloadEventListener as that also hooks pagehide\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"hidden\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;\r\n }\r\n if (!pageUnloadAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);\r\n }\r\n return pageUnloadAdded;\r\n}\r\n/**\r\n * Removes the pageHide event listeners added by addPageHideEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageHideEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageHideEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n removeEventListeners([strPageHide], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page is show event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional/Recommended] A Namespace to append to the event listeners so they can be uniquely\r\n * identified and removed based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageShowEventListener\" can remove these events.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"visible\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);\r\n pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;\r\n if (!pageShowAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);\r\n }\r\n return pageShowAdded;\r\n}\r\n/**\r\n * Removes the pageShow event listeners added by addPageShowEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageShowEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageShowEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n removeEventListeners([strPageShow], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { objCreateFn, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_SET_ENABLED, _DYN_SUBSTR, _DYN_SUBSTRING } from \"../__DynamicConstants\";\r\nimport { _gblCookieMgr } from \"./CookieMgr\";\r\nimport { getPerformance, isIE } from \"./EnvUtils\";\r\nimport { addEventHandler, attachEvent, detachEvent } from \"./EventHelpers\";\r\nimport { arrForEach, arrIndexOf, arrMap, arrReduce, dateNow, hasOwnProperty, isArray, isBoolean, isDate, isError, isFunction, isNullOrUndefined, isNumber, isObject, isString, isTypeof, isUndefined, objDefineAccessors, objKeys, strTrim, toISOString } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { mwcRandom32, mwcRandomSeed, newId, random32, randomValue } from \"./RandomHelper\";\r\nvar _cookieMgrs = null;\r\nvar _canUseCookies; // legacy supported config\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\nexport function newGuid() {\r\n var uuid = generateW3CId();\r\n return uuid[_DYN_SUBSTRING /* @min:%2esubstring */](0, 8) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](8, 12) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](12, 16) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](16, 20) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](20);\r\n}\r\n/**\r\n * Return the current value of the Performance Api now() function (if available) and fallback to dateNow() if it is unavailable (IE9 or less)\r\n * https://caniuse.com/#search=performance.now\r\n */\r\nexport function perfNow() {\r\n var perf = getPerformance();\r\n if (perf && perf.now) {\r\n return perf.now();\r\n }\r\n return dateNow();\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value[_DYN_LENGTH /* @min:%2elength */];\r\n var start = len - search[_DYN_LENGTH /* @min:%2elength */];\r\n return value[_DYN_SUBSTRING /* @min:%2esubstring */](start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = STR_EMPTY, tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return oct[_DYN_SUBSTR /* @min:%2esubstr */](0, 8) + oct[_DYN_SUBSTR /* @min:%2esubstr */](9, 4) + \"4\" + oct[_DYN_SUBSTR /* @min:%2esubstr */](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR /* @min:%2esubstr */](16, 3) + oct[_DYN_SUBSTR /* @min:%2esubstr */](19, 12);\r\n}\r\n/**\r\n * Provides a collection of utility functions, included for backward compatibility with previous releases.\r\n * @deprecated Marking this instance as deprecated in favor of direct usage of the helper functions\r\n * as direct usage provides better tree-shaking and minification by avoiding the inclusion of the unused items\r\n * in your resulting code.\r\n */\r\nexport var CoreUtils = {\r\n _canUseCookies: undefined,\r\n isTypeof: isTypeof,\r\n isUndefined: isUndefined,\r\n isNullOrUndefined: isNullOrUndefined,\r\n hasOwnProperty: hasOwnProperty,\r\n isFunction: isFunction,\r\n isObject: isObject,\r\n isDate: isDate,\r\n isArray: isArray,\r\n isError: isError,\r\n isString: isString,\r\n isNumber: isNumber,\r\n isBoolean: isBoolean,\r\n toISOString: toISOString,\r\n arrForEach: arrForEach,\r\n arrIndexOf: arrIndexOf,\r\n arrMap: arrMap,\r\n arrReduce: arrReduce,\r\n strTrim: strTrim,\r\n objCreate: objCreateFn,\r\n objKeys: objKeys,\r\n objDefineAccessors: objDefineAccessors,\r\n addEventHandler: addEventHandler,\r\n dateNow: dateNow,\r\n isIE: isIE,\r\n disableCookies: disableCookies,\r\n newGuid: newGuid,\r\n perfNow: perfNow,\r\n newId: newId,\r\n randomValue: randomValue,\r\n random32: random32,\r\n mwcRandomSeed: mwcRandomSeed,\r\n mwcRandom32: mwcRandom32,\r\n generateW3CId: generateW3CId\r\n};\r\nvar GuidRegex = /[xy]/g;\r\nexport var EventHelper = {\r\n Attach: attachEvent,\r\n AttachEvent: attachEvent,\r\n Detach: detachEvent,\r\n DetachEvent: detachEvent\r\n};\r\n/**\r\n * Helper to support backward compatibility for users that use the legacy cookie handling functions and the use the internal\r\n * CoreUtils._canUseCookies global flag to enable/disable cookies usage.\r\n * Note: This has the following deliberate side-effects\r\n * - Creates the global (legacy) cookie manager if it does not already exist\r\n * - Attempts to add \"listeners\" to the CoreUtils._canUseCookies property to support the legacy usage\r\n * @param config\r\n * @param logger\r\n * @returns\r\n */\r\nexport function _legacyCookieMgr(config, logger) {\r\n var cookieMgr = _gblCookieMgr(config, logger);\r\n var legacyCanUseCookies = CoreUtils._canUseCookies;\r\n if (_cookieMgrs === null) {\r\n _cookieMgrs = [];\r\n _canUseCookies = legacyCanUseCookies;\r\n // Dynamically create get/set property accessors for backward compatibility for enabling / disabling cookies\r\n // this WILL NOT work for ES3 browsers (< IE8)\r\n objDefineAccessors(CoreUtils, \"_canUseCookies\", function () {\r\n return _canUseCookies;\r\n }, function (value) {\r\n _canUseCookies = value;\r\n arrForEach(_cookieMgrs, function (mgr) {\r\n mgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](value);\r\n });\r\n });\r\n }\r\n if (arrIndexOf(_cookieMgrs, cookieMgr) === -1) {\r\n _cookieMgrs[_DYN_PUSH /* @min:%2epush */](cookieMgr);\r\n }\r\n if (isBoolean(legacyCanUseCookies)) {\r\n cookieMgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](legacyCanUseCookies);\r\n }\r\n if (isBoolean(_canUseCookies)) {\r\n cookieMgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](_canUseCookies);\r\n }\r\n return cookieMgr;\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().disable()\r\n * Force the SDK not to store and read any data from cookies.\r\n */\r\nexport function disableCookies() {\r\n _legacyCookieMgr()[_DYN_SET_ENABLED /* @min:%2esetEnabled */](false);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().isEnabled()\r\n * Helper method to tell if document.cookie object is available and whether it can be used.\r\n */\r\nexport function canUseCookies(logger) {\r\n return _legacyCookieMgr(null, logger).isEnabled();\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().get()\r\n * helper method to access userId and sessionId cookie\r\n */\r\nexport function getCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).get(name);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().set()\r\n * helper method to set userId and sessionId cookie\r\n */\r\nexport function setCookie(logger, name, value, domain) {\r\n _legacyCookieMgr(null, logger).set(name, value, null, domain);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().del()\r\n * Deletes a cookie by setting it's expiration time in the past.\r\n * @param name - The name of the cookie to delete.\r\n */\r\nexport function deleteCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).del(name);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _DYN_INDEX_OF, _DYN_LENGTH, _DYN_SPAN_ID, _DYN_SPLIT, _DYN_SUBSTR, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_VERSION } from \"../__DynamicConstants\";\r\nimport { generateW3CId } from \"./CoreUtils\";\r\nimport { findMetaTag, findNamedServerTiming } from \"./EnvUtils\";\r\nimport { isArray, isString, strTrim } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// using {0,16} for leading and trailing whitespace just to constrain the possible runtime of a random string\r\nvar TRACE_PARENT_REGEX = /^([\\da-f]{2})-([\\da-f]{32})-([\\da-f]{16})-([\\da-f]{2})(-[^\\s]{1,64})?$/i;\r\nvar DEFAULT_VERSION = \"00\";\r\nvar INVALID_VERSION = \"ff\";\r\nvar INVALID_TRACE_ID = \"00000000000000000000000000000000\";\r\nvar INVALID_SPAN_ID = \"0000000000000000\";\r\nvar SAMPLED_FLAG = 0x01;\r\nfunction _isValid(value, len, invalidValue) {\r\n if (value && value[_DYN_LENGTH /* @min:%2elength */] === len && value !== invalidValue) {\r\n return !!value.match(/^[\\da-f]*$/i);\r\n }\r\n return false;\r\n}\r\nfunction _formatValue(value, len, defValue) {\r\n if (_isValid(value, len)) {\r\n return value;\r\n }\r\n return defValue;\r\n}\r\nfunction _formatFlags(value) {\r\n if (isNaN(value) || value < 0 || value > 255) {\r\n value = 0x01;\r\n }\r\n var result = value.toString(16);\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < 2) {\r\n result = \"0\" + result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Create a new ITraceParent instance using the provided values.\r\n * @param traceId - The traceId to use, when invalid a new random W3C id will be generated.\r\n * @param spanId - The parent/span id to use, a new random value will be generated if it is invalid.\r\n * @param flags - The traceFlags to use, defaults to zero (0) if not supplied or invalid\r\n * @param version - The version to used, defaults to version \"01\" if not supplied or invalid.\r\n * @returns\r\n */\r\nexport function createTraceParent(traceId, spanId, flags, version) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_VERSION /* @min:version */] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,\r\n _a[_DYN_TRACE_ID /* @min:traceId */] = isValidTraceId(traceId) ? traceId : generateW3CId(),\r\n _a.spanId = isValidSpanId(spanId) ? spanId : generateW3CId()[_DYN_SUBSTR /* @min:%2esubstr */](0, 16),\r\n _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,\r\n _a;\r\n}\r\n/**\r\n * Attempt to parse the provided string as a W3C TraceParent header value (https://www.w3.org/TR/trace-context/#traceparent-header)\r\n *\r\n * @param value - The value to be parsed\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function parseTraceParent(value, selectIdx) {\r\n var _a;\r\n if (!value) {\r\n // Don't pass a null/undefined or empty string\r\n return null;\r\n }\r\n if (isArray(value)) {\r\n // The value may have been encoded on the page into an array so handle this automatically\r\n value = value[0] || \"\";\r\n }\r\n if (!value || !isString(value) || value[_DYN_LENGTH /* @min:%2elength */] > 8192) {\r\n // limit potential processing based on total length\r\n return null;\r\n }\r\n if (value[_DYN_INDEX_OF /* @min:%2eindexOf */](\",\") !== -1) {\r\n var values = value[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n value = values[selectIdx > 0 && values[_DYN_LENGTH /* @min:%2elength */] > selectIdx ? selectIdx : 0];\r\n }\r\n // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent\r\n var match = TRACE_PARENT_REGEX.exec(strTrim(value));\r\n if (!match || // No match\r\n match[1] === INVALID_VERSION || // version ff is forbidden\r\n match[2] === INVALID_TRACE_ID || // All zeros is considered to be invalid\r\n match[3] === INVALID_SPAN_ID) { // All zeros is considered to be invalid\r\n return null;\r\n }\r\n return _a = {\r\n version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()\r\n },\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = parseInt(match[4], 16),\r\n _a;\r\n}\r\n/**\r\n * Is the provided W3c Trace Id a valid string representation, it must be a 32-character string\r\n * of lowercase hexadecimal characters for example, 4bf92f3577b34da6a3ce929d0e0e4736.\r\n * If all characters as zero (00000000000000000000000000000000) it will be considered an invalid value.\r\n * @param value - The W3c trace Id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidTraceId(value) {\r\n return _isValid(value, 32, INVALID_TRACE_ID);\r\n}\r\n/**\r\n * Is the provided W3c span id (aka. parent id) a valid string representation, it must be a 16-character\r\n * string of lowercase hexadecimal characters, for example, 00f067aa0ba902b7.\r\n * If all characters are zero (0000000000000000) this is considered an invalid value.\r\n * @param value - The W3c span id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidSpanId(value) {\r\n return _isValid(value, 16, INVALID_SPAN_ID);\r\n}\r\n/**\r\n * Validates that the provided ITraceParent instance conforms to the currently supported specifications\r\n * @param value\r\n * @returns\r\n */\r\nexport function isValidTraceParent(value) {\r\n if (!value ||\r\n !_isValid(value[_DYN_VERSION /* @min:%2eversion */], 2, INVALID_VERSION) ||\r\n !_isValid(value[_DYN_TRACE_ID /* @min:%2etraceId */], 32, INVALID_TRACE_ID) ||\r\n !_isValid(value[_DYN_SPAN_ID /* @min:%2espanId */], 16, INVALID_SPAN_ID) ||\r\n !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]), 2)) {\r\n // Each known field must contain a valid value\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Is the parsed traceParent indicating that the trace is currently sampled.\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function isSampledFlag(value) {\r\n if (isValidTraceParent(value)) {\r\n return (value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] & SAMPLED_FLAG) === SAMPLED_FLAG;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Format the ITraceParent value as a string using the supported and know version formats.\r\n * So even if the passed traceParent is a later version the string value returned from this\r\n * function will convert it to only the known version formats.\r\n * This currently only supports version \"00\" and invalid \"ff\"\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function formatTraceParent(value) {\r\n if (value) {\r\n // Special Note: This only supports formatting as version 00, future versions should encode any known supported version\r\n // So parsing a future version will populate the correct version value but reformatting will reduce it to version 00.\r\n var flags = _formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]);\r\n if (!_isValid(flags, 2)) {\r\n flags = \"01\";\r\n }\r\n var version = value[_DYN_VERSION /* @min:%2eversion */] || DEFAULT_VERSION;\r\n if (version !== \"00\" && version !== \"ff\") {\r\n // Reduce version to \"00\"\r\n version = DEFAULT_VERSION;\r\n }\r\n // Format as version 00\r\n return \"\".concat(version.toLowerCase(), \"-\").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), \"-\").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), \"-\").concat(flags.toLowerCase());\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Helper function to fetch the passed traceparent from the page, looking for it as a meta-tag or a Server-Timing header.\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function findW3cTraceParent(selectIdx) {\r\n var name = \"traceparent\";\r\n var traceParent = parseTraceParent(findMetaTag(name), selectIdx);\r\n if (!traceParent) {\r\n traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);\r\n }\r\n return traceParent;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createValueMap } from \"@microsoft/applicationinsights-core-js\";\r\nexport var RequestHeaders = createValueMap({\r\n requestContextHeader: [0 /* eRequestHeaders.requestContextHeader */, \"Request-Context\"],\r\n requestContextTargetKey: [1 /* eRequestHeaders.requestContextTargetKey */, \"appId\"],\r\n requestContextAppIdFormat: [2 /* eRequestHeaders.requestContextAppIdFormat */, \"appId=cid-v1:\"],\r\n requestIdHeader: [3 /* eRequestHeaders.requestIdHeader */, \"Request-Id\"],\r\n traceParentHeader: [4 /* eRequestHeaders.traceParentHeader */, \"traceparent\"],\r\n traceStateHeader: [5 /* eRequestHeaders.traceStateHeader */, \"tracestate\"],\r\n sdkContextHeader: [6 /* eRequestHeaders.sdkContextHeader */, \"Sdk-Context\"],\r\n sdkContextHeaderAppIdRequest: [7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */, \"appId\"],\r\n requestContextHeaderLowerCase: [8 /* eRequestHeaders.requestContextHeaderLowerCase */, \"request-context\"]\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PATHNAME, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache[_DYN_LENGTH /* @min:%2elength */]) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a[_DYN_PATHNAME /* @min:%2epathname */];\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www\\d{0,5}\\.)?([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 3 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w{1,150}):\\/\\/([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 2 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match[_DYN_LENGTH /* @min:%2elength */] > 2) {\r\n var protocol = (match[1] || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, arrIndexOf, attachEvent, canUseCookies as coreCanUseCookies, dateNow, deleteCookie as coreDeleteCookie, disableCookies as coreDisableCookies, dumpObj, generateW3CId, getCookie as coreGetCookie, getExceptionName as coreGetExceptionName, getIEVersion, getPerformance, isArray, isBeaconsSupported, isDate, isError, isNullOrUndefined, isValidSpanId, isValidTraceId, newId, random32, setCookie as coreSetCookie, strTrim, toISOString, uaDisallowsSameSiteNone } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nimport { createDomEvent } from \"./DomHelperFuncs\";\r\nimport { getExtensionByName, isCrossOriginError, msToTimeSpan, stringToBoolOrDefault } from \"./HelperFuncs\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { utlCanUseLocalStorage, utlCanUseSessionStorage, utlDisableStorage, utlGetLocalStorage, utlGetSessionStorage, utlGetSessionStorageKeys, utlRemoveSessionStorage, utlRemoveStorage, utlSetLocalStorage, utlSetSessionStorage } from \"./StorageHelperFuncs\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlGetAbsoluteUrl, urlGetCompleteUrl, urlGetPathName, urlParseFullHost, urlParseHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E0, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport var Util = {\r\n NotSpecified: strNotSpecified,\r\n createDomEvent: createDomEvent,\r\n disableStorage: utlDisableStorage,\r\n isInternalApplicationInsightsEndpoint: isInternalApplicationInsightsEndpoint,\r\n canUseLocalStorage: utlCanUseLocalStorage,\r\n getStorage: utlGetLocalStorage,\r\n setStorage: utlSetLocalStorage,\r\n removeStorage: utlRemoveStorage,\r\n canUseSessionStorage: utlCanUseSessionStorage,\r\n getSessionStorageKeys: utlGetSessionStorageKeys,\r\n getSessionStorage: utlGetSessionStorage,\r\n setSessionStorage: utlSetSessionStorage,\r\n removeSessionStorage: utlRemoveSessionStorage,\r\n disableCookies: coreDisableCookies,\r\n canUseCookies: coreCanUseCookies,\r\n disallowsSameSiteNone: uaDisallowsSameSiteNone,\r\n setCookie: coreSetCookie,\r\n stringToBoolOrDefault: stringToBoolOrDefault,\r\n getCookie: coreGetCookie,\r\n deleteCookie: coreDeleteCookie,\r\n trim: strTrim,\r\n newId: newId,\r\n random32: function () {\r\n return random32(true);\r\n },\r\n generateW3CId: generateW3CId,\r\n isArray: isArray,\r\n isError: isError,\r\n isDate: isDate,\r\n toISOStringForIE8: toISOString,\r\n getIEVersion: getIEVersion,\r\n msToTimeSpan: msToTimeSpan,\r\n isCrossOriginError: isCrossOriginError,\r\n dump: dumpObj,\r\n getExceptionName: coreGetExceptionName,\r\n addEventHandler: attachEvent,\r\n IsBeaconApiSupported: isBeaconsSupported,\r\n getExtension: getExtensionByName\r\n};\r\nexport var UrlHelper = {\r\n parseUrl: urlParseUrl,\r\n getAbsoluteUrl: urlGetAbsoluteUrl,\r\n getPathName: urlGetPathName,\r\n getCompleteUrl: urlGetCompleteUrl,\r\n parseHost: urlParseHost,\r\n parseFullHost: urlParseFullHost\r\n};\r\nexport var CorrelationIdHelper = {\r\n correlationIdPrefix: \"cid-v1:\",\r\n /**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\n canIncludeCorrelationHeader: function (config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (requestHost[_DYN_INDEX_OF /* @min:%2eindexOf */](\":443\") !== -1 || requestHost[_DYN_INDEX_OF /* @min:%2eindexOf */](\":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n },\r\n /**\r\n * Combines target appId and target role name from response header.\r\n */\r\n getCorrelationContext: function (responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n },\r\n /**\r\n * Gets key from correlation response header\r\n */\r\n getCorrelationContextValue: function (responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A utility class that helps getting time related parameters\r\n */\r\nexport var DateTimeUtils = {\r\n Now: dateTimeUtilsNow,\r\n GetDuration: dateTimeUtilsDuration\r\n};\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n this.aiDataContract = {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n resultCode: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n success: 0 /* FieldType.Default */,\r\n data: 0 /* FieldType.Default */,\r\n target: 0 /* FieldType.Default */,\r\n type: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 0 /* FieldType.Default */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */,\r\n dependencyKind: 0 /* FieldType.Default */,\r\n dependencySource: 0 /* FieldType.Default */,\r\n commandName: 0 /* FieldType.Default */,\r\n dependencyTypeName: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = id;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(value);\r\n _self.success = success;\r\n _self.resultCode = resultCode + \"\";\r\n _self.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _self.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _self.target = \"\".concat(_self.target, \" | \").concat(correlationContext);\r\n }\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, dependencyFields[_DYN_NAME /* @min:%2ename */]);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_COMPLETE, _DYN_GET_CTX, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_CTX, _DYN_TIME } from \"../__DynamicConstants\";\r\nimport { dateNow, isArray, isFunction, objDefineAccessors } from \"./HelperFuncs\";\r\nimport { STR_GET_PERF_MGR, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar strParentContextKey = \"ParentContextKey\";\r\nvar strChildrenContextKey = \"ChildrenContextKey\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n var accessorDefined = false;\r\n _self.start = dateNow();\r\n _self[_DYN_NAME /* @min:%2ename */] = name;\r\n _self[_DYN_IS_ASYNC /* @min:%2eisAsync */] = isAsync;\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n accessorDefined = objDefineAccessors(_self, \"payload\", function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n });\r\n }\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey]) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent[strChildrenContextKey]) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () {\r\n var childTime = 0;\r\n var childEvts = _self[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt[_DYN_TIME /* @min:%2etime */];\r\n }\r\n }\r\n }\r\n _self[_DYN_TIME /* @min:%2etime */] = dateNow() - _self.start;\r\n _self.exTime = _self[_DYN_TIME /* @min:%2etime */] - childTime;\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () { };\r\n if (!accessorDefined && isFunction(payloadDetails)) {\r\n // If we couldn't define the property set during complete -- to minimize the perf impact until after the time\r\n _self.payload = payloadDetails();\r\n }\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent[_DYN_COMPLETE /* @min:%2ecomplete */]();\r\n if (manager && isFunction(manager[STR_PERF_EVENT /* @min:%2eperfEvent */])) {\r\n manager[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n }\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n// Removed Stub for PerfManager.prototype.create.\r\n// Removed Stub for PerfManager.prototype.fire.\r\n// Removed Stub for PerfManager.prototype.setCtx.\r\n// Removed Stub for PerfManager.prototype.getCtx.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PerfManager.__ieDyn=1;\n\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (perfMgr[STR_GET_PERF_MGR]) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[STR_GET_PERF_MGR]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr[_DYN_GET_CTX /* @min:%2egetCtx */](doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strParentContextKey], currentActive);\r\n if (currentActive[_DYN_GET_CTX /* @min:%2egetCtx */] && currentActive[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n var children = currentActive[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (!children) {\r\n children = [];\r\n currentActive[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strChildrenContextKey], children);\r\n }\r\n children[_DYN_PUSH /* @min:%2epush */](perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { _DYN_CALL, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_SPAN_ID, _DYN_TEARDOWN, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { createElmNodeData } from \"./DataCacheHelper\";\r\nimport { arrForEach, isFunction } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { isValidSpanId, isValidTraceId } from \"./W3cTraceParent\";\r\nvar pluginStateData = createElmNodeData(\"plugin\");\r\nexport function _getPluginState(plugin) {\r\n return pluginStateData.get(plugin, \"state\", {}, true);\r\n}\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config The current config for the instance\r\n * @param core THe current core instance\r\n * @param extensions The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n var pluginState;\r\n while (proxy) {\r\n var thePlugin = proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (thePlugin) {\r\n if (lastPlugin &&\r\n isFunction(lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]) &&\r\n isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](thePlugin);\r\n }\r\n var isInitialized = false;\r\n if (isFunction(thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */])) {\r\n isInitialized = thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]();\r\n }\r\n else {\r\n pluginState = _getPluginState(thePlugin);\r\n isInitialized = pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */];\r\n }\r\n if (!isInitialized) {\r\n initPlugins[_DYN_PUSH /* @min:%2epush */](thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n }\r\n // Now initialize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n var core = processContext[STR_CORE]();\r\n thePlugin[_DYN_INITIALIZE /* @min:%2einitialize */](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n pluginState = _getPluginState(thePlugin);\r\n // Only add the core to the state if the plugin didn't set it (doesn't extent from BaseTelemetryPlugin)\r\n if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {\r\n pluginState[STR_CORE] = core;\r\n }\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = true;\r\n delete pluginState[_DYN_TEARDOWN /* @min:%2eteardown */];\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n if (extB) {\r\n var bHasProcess = isFunction(extB[STR_PROCESS_TELEMETRY]);\r\n if (isFunction(extA[STR_PROCESS_TELEMETRY])) {\r\n result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n }\r\n else {\r\n result = extA ? 1 : -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n/**\r\n * Teardown / Unload helper to perform teardown/unloading operations for the provided components synchronously or asynchronously, this will call any\r\n * _doTeardown() or _doUnload() functions on the provided components to allow them to finish removal.\r\n * @param components - The components you want to unload\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @param asyncCallback - An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.\r\n * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.\r\n */\r\nexport function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {\r\n var idx = 0;\r\n function _doUnload() {\r\n while (idx < components[_DYN_LENGTH /* @min:%2elength */]) {\r\n var component = components[idx++];\r\n if (component) {\r\n var func = component._doUnload || component[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */];\r\n if (isFunction(func)) {\r\n if (func[_DYN_CALL /* @min:%2ecall */](component, unloadCtx, unloadState, _doUnload) === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return _doUnload();\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext which optionally also \"sets\" the value on a parent\r\n * @param parentCtx - An optional parent distributed trace instance\r\n * @returns A new IDistributedTraceContext instance that uses an internal temporary object\r\n */\r\nexport function createDistributedTraceContext(parentCtx) {\r\n var trace = {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace[_DYN_TRACE_ID /* @min:%2etraceId */];\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace[_DYN_TRACE_ID /* @min:%2etraceId */] = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace[_DYN_SPAN_ID /* @min:%2espanId */];\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace[_DYN_SPAN_ID /* @min:%2espanId */] = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = newTraceFlags;\r\n }\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { _DYN_CALL, _DYN_CONFIG, _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_IDENTIFIER, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nimport { _throwInternal, safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach, isArray, isFunction, isNullOrUndefined, isObject, isUndefined, objExtend, objForEachKey, objFreeze, objKeys, proxyFunctions } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_DISABLED, STR_EMPTY, STR_EXTENSION_CONFIG, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _getPluginState } from \"./TelemetryHelpers\";\r\nvar strTelemetryPluginChain = \"TelemetryPluginChain\";\r\nvar strHasRunFlags = \"_hasRun\";\r\nvar strGetTelCtx = \"_getTelCtx\";\r\nvar _chainId = 0;\r\nfunction _getNextProxyStart(proxy, core, startAt) {\r\n while (proxy) {\r\n if (proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]() === startAt) {\r\n return proxy;\r\n }\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n // This wasn't found in the existing chain so create an isolated one with just this plugin\r\n return createTelemetryProxyChain([startAt], core[_DYN_CONFIG /* @min:%2econfig */] || {}, core);\r\n}\r\n/**\r\n * @ignore\r\n * @param telemetryChain\r\n * @param config\r\n * @param core\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n * @returns\r\n */\r\nfunction _createInternalContext(telemetryChain, config, core, startAt) {\r\n // We have a special case where we want to start execution from this specific plugin\r\n // or we simply reuse the existing telemetry plugin chain (normal execution case)\r\n var _nextProxy = null; // By Default set as no next plugin\r\n var _onComplete = [];\r\n if (startAt !== null) {\r\n // There is no next element (null) vs not defined (undefined) so use the full chain\r\n _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;\r\n }\r\n var context = {\r\n _next: _moveNext,\r\n ctx: {\r\n core: function () {\r\n return core;\r\n },\r\n diagLog: function () {\r\n return safeGetLogger(core, config);\r\n },\r\n getCfg: function () {\r\n return config;\r\n },\r\n getExtCfg: _getExtCfg,\r\n getConfig: _getConfig,\r\n hasNext: function () {\r\n return !!_nextProxy;\r\n },\r\n getNext: function () {\r\n return _nextProxy;\r\n },\r\n setNext: function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n },\r\n iterate: _iterateChain,\r\n onComplete: _addOnComplete\r\n }\r\n };\r\n function _addOnComplete(onComplete, that) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n if (onComplete) {\r\n _onComplete[_DYN_PUSH /* @min:%2epush */]({\r\n func: onComplete,\r\n self: !isUndefined(that) ? that : context.ctx,\r\n args: args\r\n });\r\n }\r\n }\r\n function _moveNext() {\r\n var nextProxy = _nextProxy;\r\n // Automatically move to the next plugin\r\n _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT /* @min:%2egetNext */]() : null;\r\n if (!nextProxy) {\r\n var onComplete = _onComplete;\r\n if (onComplete && onComplete[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(onComplete, function (completeDetails) {\r\n try {\r\n completeDetails.func[_DYN_CALL /* @min:%2ecall */](completeDetails.self, completeDetails.args);\r\n }\r\n catch (e) {\r\n _throwInternal(core[_DYN_LOGGER /* @min:%2elogger */], 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected Exception during onComplete - \" + dumpObj(e));\r\n }\r\n });\r\n _onComplete = [];\r\n }\r\n }\r\n return nextProxy;\r\n }\r\n function _getExtCfg(identifier, defaultValue, mergeDefault) {\r\n if (defaultValue === void 0) { defaultValue = {}; }\r\n if (mergeDefault === void 0) { mergeDefault = 0 /* GetExtCfgMergeType.None */; }\r\n var theConfig;\r\n if (config) {\r\n var extConfig = config[STR_EXTENSION_CONFIG /* @min:%2eextensionConfig */];\r\n if (extConfig && identifier) {\r\n theConfig = extConfig[identifier];\r\n }\r\n }\r\n if (!theConfig) {\r\n // Just use the defaults\r\n theConfig = defaultValue;\r\n }\r\n else if (isObject(defaultValue)) {\r\n if (mergeDefault !== 0 /* GetExtCfgMergeType.None */) {\r\n // Merge the defaults and configured values\r\n var newConfig_1 = objExtend(true, defaultValue, theConfig);\r\n if (config && mergeDefault === 2 /* GetExtCfgMergeType.MergeDefaultFromRootOrDefault */) {\r\n // Enumerate over the defaultValues and if not already populated attempt to\r\n // find a value from the root config\r\n objForEachKey(defaultValue, function (field) {\r\n // for each unspecified field, set the default value\r\n if (isNullOrUndefined(newConfig_1[field])) {\r\n var cfgValue = config[field];\r\n if (!isNullOrUndefined(cfgValue)) {\r\n newConfig_1[field] = cfgValue;\r\n }\r\n }\r\n });\r\n }\r\n theConfig = newConfig_1;\r\n }\r\n }\r\n return theConfig;\r\n }\r\n function _getConfig(identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _getExtCfg(identifier, null);\r\n if (extConfig && !isNullOrUndefined(extConfig[field])) {\r\n theValue = extConfig[field];\r\n }\r\n else if (config && !isNullOrUndefined(config[field])) {\r\n theValue = config[field];\r\n }\r\n return !isNullOrUndefined(theValue) ? theValue : defaultValue;\r\n }\r\n function _iterateChain(cb) {\r\n // Keep processing until we reach the end of the chain\r\n var nextPlugin;\r\n while (!!(nextPlugin = context._next())) {\r\n var plugin = nextPlugin[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (plugin) {\r\n // callback with the current on\r\n cb(plugin);\r\n }\r\n }\r\n }\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryContext(telemetryChain, config, core, startAt) {\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(env) {\r\n var nextPlugin = internalContext._next();\r\n // Run the next plugin which will call \"processNext()\"\r\n nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, context);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), config, core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for handling the unloading of the chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {\r\n var config = core[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(unloadState) {\r\n var nextPlugin = internalContext._next();\r\n nextPlugin && nextPlugin.unload(context, unloadState);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for updating the configuration\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {\r\n var config = core[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(updateState) {\r\n return context.iterate(function (plugin) {\r\n if (isFunction(plugin[_DYN_UPDATE /* @min:%2eupdate */])) {\r\n plugin[_DYN_UPDATE /* @min:%2eupdate */](context, updateState);\r\n }\r\n });\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates an execution chain from the array of plugins\r\n * @param plugins - The array of plugins that will be executed in this order\r\n * @param defItemCtx - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n */\r\nexport function createTelemetryProxyChain(plugins, config, core, startAt) {\r\n var firstProxy = null;\r\n var add = startAt ? false : true;\r\n if (isArray(plugins) && plugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy_1 = null;\r\n arrForEach(plugins, function (thePlugin) {\r\n if (!add && startAt === thePlugin) {\r\n add = true;\r\n }\r\n if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Only add plugins that are processors\r\n var newProxy = createTelemetryPluginProxy(thePlugin, config, core);\r\n if (!firstProxy) {\r\n firstProxy = newProxy;\r\n }\r\n if (lastProxy_1) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy_1._setNext(newProxy);\r\n }\r\n lastProxy_1 = newProxy;\r\n }\r\n });\r\n }\r\n if (startAt && !firstProxy) {\r\n // Special case where the \"startAt\" was not in the original list of plugins\r\n return createTelemetryProxyChain([startAt], config, core);\r\n }\r\n return firstProxy;\r\n}\r\n/**\r\n * Create the processing telemetry proxy instance, the proxy is used to abstract the current plugin to allow monitoring and\r\n * execution plugins while passing around the dynamic execution state (IProcessTelemetryContext), the proxy instance no longer\r\n * contains any execution state and can be reused between requests (this was not the case for 2.7.2 and earlier with the\r\n * TelemetryPluginChain class).\r\n * @param plugin - The plugin instance to proxy\r\n * @param config - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n * @returns\r\n */\r\nexport function createTelemetryPluginProxy(plugin, config, core) {\r\n var nextProxy = null;\r\n var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]);\r\n var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]);\r\n var chainId;\r\n if (plugin) {\r\n chainId = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"-\" + plugin[STR_PRIORITY /* @min:%2epriority */] + \"-\" + _chainId++;\r\n }\r\n else {\r\n chainId = \"Unknown-0-\" + _chainId++;\r\n }\r\n var proxyChain = {\r\n getPlugin: function () {\r\n return plugin;\r\n },\r\n getNext: function () {\r\n return nextProxy;\r\n },\r\n processTelemetry: _processTelemetry,\r\n unload: _unloadPlugin,\r\n update: _updatePlugin,\r\n _id: chainId,\r\n _setNext: function (nextPlugin) {\r\n nextProxy = nextPlugin;\r\n }\r\n };\r\n function _getTelCtx() {\r\n var itemCtx;\r\n // Looks like a plugin didn't pass the (optional) context, so create a new one\r\n if (plugin && isFunction(plugin[strGetTelCtx])) {\r\n // This plugin extends from the BaseTelemetryPlugin so lets use it\r\n itemCtx = plugin[strGetTelCtx]();\r\n }\r\n if (!itemCtx) {\r\n // Create a temporary one\r\n itemCtx = createProcessTelemetryContext(proxyChain, config, core);\r\n }\r\n return itemCtx;\r\n }\r\n function _processChain(itemCtx, processPluginFn, name, details, isAsync) {\r\n var hasRun = false;\r\n var identifier = plugin ? plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] : strTelemetryPluginChain;\r\n var hasRunContext = itemCtx[strHasRunFlags];\r\n if (!hasRunContext) {\r\n // Assign and populate\r\n hasRunContext = itemCtx[strHasRunFlags] = {};\r\n }\r\n // Ensure that we keep the context in sync\r\n itemCtx.setNext(nextProxy);\r\n if (plugin) {\r\n doPerf(itemCtx[STR_CORE /* @min:%2ecore */](), function () { return identifier + \":\" + name; }, function () {\r\n // Mark this component as having run\r\n hasRunContext[chainId] = true;\r\n try {\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n var nextId = nextProxy ? nextProxy._id : STR_EMPTY;\r\n if (nextId) {\r\n hasRunContext[nextId] = false;\r\n }\r\n hasRun = processPluginFn(itemCtx);\r\n }\r\n catch (error) {\r\n var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;\r\n if (hasNextRun) {\r\n // The next plugin after us has already run so set this one as complete\r\n hasRun = true;\r\n }\r\n if (!nextProxy || !hasNextRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 73 /* _eInternalMessageId.PluginException */, \"Plugin [\" + identifier + \"] failed during \" + name + \" - \" + dumpObj(error) + \", run flags: \" + dumpObj(hasRunContext));\r\n }\r\n }\r\n }, details, isAsync);\r\n }\r\n return hasRun;\r\n }\r\n function _processTelemetry(env, itemCtx) {\r\n itemCtx = itemCtx || _getTelCtx();\r\n function _callProcessTelemetry(itemCtx) {\r\n if (!plugin || !hasProcessTelemetry) {\r\n return false;\r\n }\r\n var pluginState = _getPluginState(plugin);\r\n if (pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] || pluginState[STR_DISABLED]) {\r\n return false;\r\n }\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n if (hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](nextProxy);\r\n }\r\n plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, itemCtx);\r\n // Process Telemetry is expected to call itemCtx.processNext() or nextPlugin.processTelemetry()\r\n return true;\r\n }\r\n if (!_processChain(itemCtx, _callProcessTelemetry, \"processTelemetry\", function () { return ({ item: env }); }, !(env.sync))) {\r\n // The underlying plugin is either not defined, not enabled or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n }\r\n function _unloadPlugin(unloadCtx, unloadState) {\r\n function _callTeardown() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only teardown the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n // Handle plugins that don't extend from the BaseTelemetryPlugin\r\n pluginState[STR_CORE /* @min:%2ecore */] = null;\r\n pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] = true;\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = false;\r\n if (plugin[_DYN_TEARDOWN /* @min:%2eteardown */] && plugin[_DYN_TEARDOWN /* @min:%2eteardown */](unloadCtx, unloadState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(unloadCtx, _callTeardown, \"unload\", function () { }, unloadState[_DYN_IS_ASYNC /* @min:%2eisAsync */])) {\r\n // Only called if we hasRun was not true\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n }\r\n function _updatePlugin(updateCtx, updateState) {\r\n function _callUpdate() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only update the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n if (plugin[_DYN_UPDATE /* @min:%2eupdate */] && plugin[_DYN_UPDATE /* @min:%2eupdate */](updateCtx, updateState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(updateCtx, _callUpdate, \"update\", function () { }, false)) {\r\n // Only called if we hasRun was not true\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n return objFreeze(proxyChain);\r\n}\r\n/**\r\n * This class will be removed!\r\n * @deprecated use createProcessTelemetryContext() instead\r\n */\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(pluginChain, config, core, startAt) {\r\n var _self = this;\r\n var context = createProcessTelemetryContext(pluginChain, config, core, startAt);\r\n // Proxy all functions of the context to this object\r\n proxyFunctions(_self, context, objKeys(context));\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strShimFunction, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { getGlobalInst } from \"./EnvUtils\";\r\nimport { _getObjProto, hasOwnProperty } from \"./HelperFuncs\";\r\nvar aiInstrumentHooks = \"_aiHooks\";\r\nvar cbNames = [\r\n \"req\", \"rsp\", \"hkErr\", \"fnErr\"\r\n];\r\n/** @ignore */\r\nfunction _arrLoop(arr, fn) {\r\n if (arr) {\r\n for (var lp = 0; lp < arr[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n if (fn(arr[lp], lp)) {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @ignore */\r\nfunction _doCallbacks(hooks, callDetails, cbArgs, hookCtx, type) {\r\n if (type >= 0 /* CallbackType.Request */ && type <= 2 /* CallbackType.HookError */) {\r\n _arrLoop(hooks, function (hook, idx) {\r\n var cbks = hook.cbks;\r\n var cb = cbks[cbNames[type]];\r\n if (cb) {\r\n // Set the specific hook context implementation using a lazy creation pattern\r\n callDetails.ctx = function () {\r\n var ctx = hookCtx[idx] = (hookCtx[idx] || {});\r\n return ctx;\r\n };\r\n try {\r\n cb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n catch (err) {\r\n var orgEx = callDetails.err;\r\n try {\r\n // Report Hook error via the callback\r\n var hookErrorCb = cbks[cbNames[2 /* CallbackType.HookError */]];\r\n if (hookErrorCb) {\r\n callDetails.err = err;\r\n hookErrorCb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n }\r\n catch (e) {\r\n // Not much we can do here -- swallowing the exception to avoid crashing the hosting app\r\n }\r\n finally {\r\n // restore the original exception (if any)\r\n callDetails.err = orgEx;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/** @ignore */\r\nfunction _createFunctionHook(aiHook) {\r\n // Define a temporary method that queues-up a the real method call\r\n return function () {\r\n var _a;\r\n var funcThis = this;\r\n // Capture the original arguments passed to the method\r\n var orgArgs = arguments;\r\n var hooks = aiHook.h;\r\n var funcArgs = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = aiHook.n,\r\n _a.inst = funcThis,\r\n _a.ctx = null,\r\n _a.set = _replaceArg,\r\n _a);\r\n var hookCtx = [];\r\n var cbArgs = _createArgs([funcArgs], orgArgs);\r\n funcArgs.evt = getGlobalInst(\"event\");\r\n function _createArgs(target, theArgs) {\r\n _arrLoop(theArgs, function (arg) {\r\n target[_DYN_PUSH /* @min:%2epush */](arg);\r\n });\r\n return target;\r\n }\r\n function _replaceArg(idx, value) {\r\n orgArgs = _createArgs([], orgArgs);\r\n orgArgs[idx] = value;\r\n cbArgs = _createArgs([funcArgs], orgArgs);\r\n }\r\n // Call the pre-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 /* CallbackType.Request */);\r\n // Call the original function was called\r\n var theFunc = aiHook.f;\r\n if (theFunc) {\r\n try {\r\n funcArgs.rslt = theFunc[_DYN_APPLY /* @min:%2eapply */](funcThis, orgArgs);\r\n }\r\n catch (err) {\r\n // Report the request callback\r\n funcArgs.err = err;\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 /* CallbackType.FunctionError */);\r\n // rethrow the original exception so anyone listening for it can catch the exception\r\n throw err;\r\n }\r\n }\r\n // Call the post-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 /* CallbackType.Response */);\r\n return funcArgs.rslt;\r\n };\r\n}\r\n/** @ignore */\r\nfunction _getOwner(target, name, checkPrototype, checkParentProto) {\r\n var owner = null;\r\n if (target) {\r\n if (hasOwnProperty(target, name)) {\r\n owner = target;\r\n }\r\n else if (checkPrototype) {\r\n owner = _getOwner(_getObjProto(target), name, checkParentProto, false);\r\n }\r\n }\r\n return owner;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProto(target, funcName, callbacks) {\r\n if (target) {\r\n return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProtos(target, funcNames, callbacks) {\r\n if (target) {\r\n return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false);\r\n }\r\n return null;\r\n}\r\nfunction _createInstrumentHook(owner, funcName, fn, callbacks) {\r\n var aiHook = fn && fn[aiInstrumentHooks];\r\n if (!aiHook) {\r\n // Only hook the function once\r\n aiHook = {\r\n i: 0,\r\n n: funcName,\r\n f: fn,\r\n h: []\r\n };\r\n // Override (hook) the original function\r\n var newFunc = _createFunctionHook(aiHook);\r\n newFunc[aiInstrumentHooks] = aiHook; // Tag and store the function hooks\r\n owner[funcName] = newFunc;\r\n }\r\n var theHook = {\r\n // tslint:disable:object-literal-shorthand\r\n id: aiHook.i,\r\n cbks: callbacks,\r\n rm: function () {\r\n // DO NOT Use () => { shorthand for the function as the this gets replaced\r\n // with the outer this and not the this for theHook instance.\r\n var id = this.id;\r\n _arrLoop(aiHook.h, function (hook, idx) {\r\n if (hook.id === id) {\r\n aiHook.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return 1;\r\n }\r\n });\r\n }\r\n // tslint:enable:object-literal-shorthand\r\n };\r\n aiHook.i++;\r\n aiHook.h[_DYN_PUSH /* @min:%2epush */](theHook);\r\n return theHook;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n if (target && funcName && callbacks) {\r\n var owner = _getOwner(target, funcName, checkPrototype, checkParentProto);\r\n if (owner) {\r\n var fn = owner[funcName];\r\n if (typeof fn === strShimFunction) {\r\n return _createInstrumentHook(owner, funcName, fn, callbacks);\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFuncs(target, funcNames, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n var hooks = null;\r\n _arrLoop(funcNames, function (funcName) {\r\n var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto);\r\n if (hook) {\r\n if (!hooks) {\r\n hooks = [];\r\n }\r\n hooks[_DYN_PUSH /* @min:%2epush */](hook);\r\n }\r\n });\r\n return hooks;\r\n}\r\n/**\r\n * Add an instrumentation hook to the provided named \"event\" for the target class / object, this doesn't check whether the\r\n * named \"event\" is in fact a function and just assigns the instrumentation hook to the target[evtName]\r\n * @param target - The target object\r\n * @param evtName - The name of the event\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParentProto) {\r\n if (target && evtName && callbacks) {\r\n var owner = _getOwner(target, evtName, checkPrototype, checkParentProto) || target;\r\n if (owner) {\r\n return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);\r\n }\r\n }\r\n return null;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_DIAG_LOG, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach } from \"./HelperFuncs\";\r\nexport function createUnloadHandlerContainer() {\r\n var handlers = [];\r\n function _addHandler(handler) {\r\n if (handler) {\r\n handlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n function _runHandlers(unloadCtx, unloadState) {\r\n arrForEach(handlers, function (handler) {\r\n try {\r\n handler(unloadCtx, unloadState);\r\n }\r\n catch (e) {\r\n _throwInternal(unloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected error calling unload handler - \" + dumpObj(e));\r\n }\r\n });\r\n handlers = [];\r\n }\r\n return {\r\n add: _addHandler,\r\n run: _runHandlers\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PROCESS_TEL_CONT0, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { arrForEach, isArray, isFunction, isNullOrUndefined, proxyFunctionAs, setValue } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_EXTENSION_CONFIG, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext } from \"./ProcessTelemetryContext\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nvar strGetPlugin = \"getPlugin\";\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this; // Setting _self here as it's used outside of the dynamicProto as well\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _isinitialized;\r\n var _rootCtx; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin; // Used for backward compatibility where plugins don't call the main pipeline\r\n var _unloadHandlerContainer;\r\n var _hooks;\r\n _initDefaults();\r\n dynamicProto(BaseTelemetryPlugin, _self, function (_self) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n _setDefaults(config, core, pluginChain);\r\n _isinitialized = true;\r\n };\r\n _self[_DYN_TEARDOWN /* @min:%2eteardown */] = function (unloadCtx, unloadState) {\r\n var _a;\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (unloadCtx && core !== unloadCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing as either the plugin is not initialized or was not initialized by the current core\r\n return;\r\n }\r\n var result;\r\n var unloadDone = false;\r\n var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUnloadState = unloadState || (_a = {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = false,\r\n _a);\r\n function _unloadCallback() {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _unloadHandlerContainer.run(theUnloadCtx, unloadState);\r\n var oldHooks = _hooks;\r\n _hooks = [];\r\n // Remove all instrumentation hooks\r\n arrForEach(oldHooks, function (fn) {\r\n fn.rm();\r\n });\r\n if (result === true) {\r\n theUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }\r\n _initDefaults();\r\n }\r\n }\r\n if (!_self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] || _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {\r\n _unloadCallback();\r\n }\r\n else {\r\n // Tell the caller that we will be calling processNext()\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (updateCtx, updateState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (updateCtx && core !== updateCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing\r\n return;\r\n }\r\n var result;\r\n var updateDone = false;\r\n var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n function _updateCallback() {\r\n if (!updateDone) {\r\n updateDone = true;\r\n _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n }\r\n }\r\n if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {\r\n _updateCallback();\r\n }\r\n else {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self._addHook = function (hooks) {\r\n if (hooks) {\r\n if (isArray(hooks)) {\r\n _hooks = _hooks.concat(hooks);\r\n }\r\n else {\r\n _hooks[_DYN_PUSH /* @min:%2epush */](hooks);\r\n }\r\n }\r\n };\r\n proxyFunctionAs(_self, \"_addUnloadCb\", function () { return _unloadHandlerContainer; }, \"add\");\r\n });\r\n // These are added after the dynamicProto so that are not moved to the prototype\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */] = function (itemCtx) {\r\n return _getTelCtx(itemCtx)[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, null);\r\n }\r\n };\r\n _self._getTelCtx = _getTelCtx;\r\n function _getTelCtx(currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE /* @min:%2ecore */]);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n }\r\n function _setDefaults(config, core, pluginChain) {\r\n if (config) {\r\n // Make sure the extensionConfig exists\r\n setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);\r\n }\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */]()[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self[STR_CORE /* @min:%2ecore */] = core;\r\n _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n }\r\n function _initDefaults() {\r\n _isinitialized = false;\r\n _self[STR_CORE /* @min:%2ecore */] = null;\r\n _rootCtx = null;\r\n _nextPlugin = null;\r\n _hooks = [];\r\n _unloadHandlerContainer = createUnloadHandlerContainer();\r\n }\r\n }\r\n// Removed Stub for BaseTelemetryPlugin.prototype.initialize.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.teardown.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.update.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addUnloadCb.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addHook.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseTelemetryPlugin.__ieDyn=1;\n\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 4\r\nexport var _DYN_DISABLE_EXCEPTION_TR0 = \"disableExceptionTracking\"; // Count: 3\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI1 = \"autoTrackPageVisitTime\"; // Count: 4\r\nexport var _DYN_OVERRIDE_PAGE_VIEW_D2 = \"overridePageViewDuration\"; // Count: 3\r\nexport var _DYN_ENABLE_UNHANDLED_PRO3 = \"enableUnhandledPromiseRejectionTracking\"; // Count: 3\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 4\r\nexport var _DYN_IS_STORAGE_USE_DISAB4 = \"isStorageUseDisabled\"; // Count: 4\r\nexport var _DYN_IS_BROWSER_LINK_TRAC5 = \"isBrowserLinkTrackingEnabled\"; // Count: 4\r\nexport var _DYN_ENABLE_AUTO_ROUTE_TR6 = \"enableAutoRouteTracking\"; // Count: 3\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 3\r\nexport var _DYN_DISABLE_FLUSH_ON_BEF7 = \"disableFlushOnBeforeUnload\"; // Count: 3\r\nexport var _DYN_DISABLE_FLUSH_ON_UNL8 = \"disableFlushOnUnload\"; // Count: 2\r\nexport var _DYN_CORE = \"core\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 8\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 13\r\nexport var _DYN_TRACK = \"track\"; // Count: 7\r\nexport var _DYN_TRACK_PAGE_VIEW = \"trackPageView\"; // Count: 4\r\nexport var _DYN_TRACK_PREVIOUS_PAGE_9 = \"trackPreviousPageVisit\"; // Count: 3\r\nexport var _DYN_SEND_PAGE_VIEW_INTER10 = \"sendPageViewInternal\"; // Count: 7\r\nexport var _DYN_SEND_PAGE_VIEW_PERFO11 = \"sendPageViewPerformanceInternal\"; // Count: 3\r\nexport var _DYN_POPULATE_PAGE_VIEW_P12 = \"populatePageViewPerformanceEvent\"; // Count: 3\r\nexport var _DYN_HREF = \"href\"; // Count: 6\r\nexport var _DYN_SEND_EXCEPTION_INTER13 = \"sendExceptionInternal\"; // Count: 2\r\nexport var _DYN_EXCEPTION = \"exception\"; // Count: 3\r\nexport var _DYN_ERROR = \"error\"; // Count: 5\r\nexport var _DYN__ONERROR = \"_onerror\"; // Count: 3\r\nexport var _DYN_ERROR_SRC = \"errorSrc\"; // Count: 3\r\nexport var _DYN_LINE_NUMBER = \"lineNumber\"; // Count: 5\r\nexport var _DYN_COLUMN_NUMBER = \"columnNumber\"; // Count: 5\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 4\r\nexport var _DYN__CREATE_AUTO_EXCEPTI14 = \"CreateAutoException\"; // Count: 3\r\nexport var _DYN_ADD_TELEMETRY_INITIA15 = \"addTelemetryInitializer\"; // Count: 4\r\nexport var _DYN_DURATION = \"duration\"; // Count: 10\r\nexport var _DYN_LENGTH = \"length\"; // Count: 5\r\nexport var _DYN_IS_PERFORMANCE_TIMIN16 = \"isPerformanceTimingSupported\"; // Count: 2\r\nexport var _DYN_GET_PERFORMANCE_TIMI17 = \"getPerformanceTiming\"; // Count: 2\r\nexport var _DYN_NAVIGATION_START = \"navigationStart\"; // Count: 4\r\nexport var _DYN_SHOULD_COLLECT_DURAT18 = \"shouldCollectDuration\"; // Count: 3\r\nexport var _DYN_IS_PERFORMANCE_TIMIN19 = \"isPerformanceTimingDataReady\"; // Count: 2\r\nexport var _DYN_GET_ENTRIES_BY_TYPE = \"getEntriesByType\"; // Count: 3\r\nexport var _DYN_RESPONSE_START = \"responseStart\"; // Count: 5\r\nexport var _DYN_REQUEST_START = \"requestStart\"; // Count: 3\r\nexport var _DYN_LOAD_EVENT_END = \"loadEventEnd\"; // Count: 4\r\nexport var _DYN_RESPONSE_END = \"responseEnd\"; // Count: 5\r\nexport var _DYN_CONNECT_END = \"connectEnd\"; // Count: 4\r\nexport var _DYN_PAGE_VISIT_START_TIM20 = \"pageVisitStartTime\"; // Count: 2\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, dumpObj, getDocument, getExceptionName, getLocation, isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DURATION, _DYN_GET_PERFORMANCE_TIMI17, _DYN_HREF, _DYN_IS_PERFORMANCE_TIMIN16, _DYN_IS_PERFORMANCE_TIMIN19, _DYN_LENGTH, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_SEND_PAGE_VIEW_INTER10, _DYN_SEND_PAGE_VIEW_PERFO11, _DYN_SHOULD_COLLECT_DURAT18, _DYN_TRACK_PAGE_VIEW } from \"../../__DynamicConstants\";\r\nvar _isWebWorker = null;\r\nfunction isWebWorker() {\r\n if (_isWebWorker == null) {\r\n try {\r\n _isWebWorker = !!(self && self instanceof WorkerGlobalScope);\r\n }\r\n catch (e) {\r\n _isWebWorker = false;\r\n }\r\n }\r\n return _isWebWorker;\r\n}\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var queueTimer = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels(isAsync) {\r\n if (core) {\r\n core.flush(isAsync);\r\n }\r\n }\r\n function _startTimer() {\r\n if (!queueTimer) {\r\n queueTimer = setTimeout((function () {\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _startTimer();\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels(true);\r\n }\r\n }), 100);\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n _startTimer();\r\n }\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN16 /* @min:%2eisPerformanceTimingSupported */]()) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n if (!isWebWorker()) {\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 25 /* _eInternalMessageId.NavigationTimingNotSupported */, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n }\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI17 /* @min:%2egetPerformanceTiming */]()[_DYN_NAVIGATION_START /* @min:%2enavigationStart */];\r\n if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */](customDuration)) {\r\n customDuration = undefined;\r\n }\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties[_DYN_DURATION /* @min:%2eduration */])) {\r\n duration = customProperties[_DYN_DURATION /* @min:%2eduration */];\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n }\r\n // case 2\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN19 /* @min:%2eisPerformanceTimingDataReady */]()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */](pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = pageViewPerformance.durationMs;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */](pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = maxDurationLimit;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 38 /* _eInternalMessageId.TrackPVFailedCalc */, \"trackPageView failed on page load calculation: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n _self.teardown = function (unloadCtx, unloadState) {\r\n if (queueTimer) {\r\n clearTimeout(queueTimer);\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush_1 = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (item()) {\r\n doFlush_1 = true;\r\n }\r\n });\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for PageViewManager.prototype.trackPageView.\r\n// Removed Stub for PageViewManager.prototype.teardown.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageViewManager.__ieDyn=1;\n\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration, msToTimeSpan } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, getNavigator, getPerformance, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_CONNECT_END, _DYN_DURATION, _DYN_GET_ENTRIES_BY_TYPE, _DYN_GET_PERFORMANCE_TIMI17, _DYN_IS_PERFORMANCE_TIMIN16, _DYN_IS_PERFORMANCE_TIMIN19, _DYN_LENGTH, _DYN_LOAD_EVENT_END, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_REQUEST_START, _DYN_RESPONSE_END, _DYN_RESPONSE_START, _DYN_SHOULD_COLLECT_DURAT18 } from \"../../__DynamicConstants\";\r\nvar MAX_DURATION_ALLOWED = 3600000; // 1h\r\nvar botAgentNames = [\"googlebot\", \"adsbot-google\", \"apis-google\", \"mediapartners-google\"];\r\nfunction _isPerformanceTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && !!perf.timing;\r\n}\r\nfunction _isPerformanceNavigationTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\")[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\nfunction _isPerformanceTimingDataReady() {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */] > 0\r\n && timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */] > 0\r\n && timing[_DYN_REQUEST_START /* @min:%2erequestStart */] > 0\r\n && timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */] > 0\r\n && timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */] > 0\r\n && timing[_DYN_CONNECT_END /* @min:%2econnectEnd */] > 0\r\n && timing.domLoading > 0;\r\n}\r\nfunction _getPerformanceTiming() {\r\n if (_isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n}\r\nfunction _getPerformanceNavigationTiming() {\r\n if (_isPerformanceNavigationTimingSupported()) {\r\n return getPerformance()[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */](\"navigation\")[0];\r\n }\r\n return null;\r\n}\r\n/**\r\n* This method tells if given durations should be excluded from collection.\r\n*/\r\nfunction _shouldCollectDuration() {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (durations[i] < 0 || durations[i] >= MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n var _logger = safeGetLogger(core);\r\n dynamicProto(PageViewPerformanceManager, this, function (_self) {\r\n _self[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */] = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n *\r\n * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = _getPerformanceNavigationTiming();\r\n var timing = _getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming[_DYN_DURATION /* @min:%2eduration */];\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming.startTime === 0 ? navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */] : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */], navigationTiming[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n network = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */], timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(timing.responseEnd, timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n if (total === 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 10 /* _eInternalMessageId.ErrorPVCalc */, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!_self[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */](total, network, request, response, dom)) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 45 /* _eInternalMessageId.InvalidDurationValue */, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 8 /* _eInternalMessageId.ClientPerformanceMathError */, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n _self[_DYN_GET_PERFORMANCE_TIMI17 /* @min:%2egetPerformanceTiming */] = _getPerformanceTiming;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN16 /* @min:%2eisPerformanceTimingSupported */] = _isPerformanceTimingSupported;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN19 /* @min:%2eisPerformanceTimingDataReady */] = _isPerformanceTimingDataReady;\r\n _self[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */] = _shouldCollectDuration;\r\n });\r\n }\r\n// Removed Stub for PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent.\r\n// Removed Stub for PageViewPerformanceManager.prototype.getPerformanceTiming.\r\n// Removed Stub for PageViewPerformanceManager.prototype.isPerformanceTimingSupported.\r\n// Removed Stub for PageViewPerformanceManager.prototype.isPerformanceTimingDataReady.\r\n// Removed Stub for PageViewPerformanceManager.prototype.shouldCollectDuration.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageViewPerformanceManager.__ieDyn=1;\n\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _warnToConsole, dateNow, dumpObj, getJSON, hasJSON, objDefineAccessors, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_PAGE_VISIT_START_TIM20, _DYN_TRACK_PREVIOUS_PAGE_9 } from \"../../__DynamicConstants\";\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n var prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n dynamicProto(PageVisitTimeManager, this, function (_self) {\r\n _self[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */] = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Auto track page visit time failed, metric will not be collected: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n function restartPageVisitTimer(pageName, pageUrl) {\r\n var prevPageVisitData = null;\r\n try {\r\n prevPageVisitData = stopPageVisitTimer();\r\n startPageVisitTimer(pageName, pageUrl);\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Call to restart failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n /**\r\n * Starts timing visit duration of pageName\r\n * @param pageName\r\n * @returns {}\r\n */\r\n function startPageVisitTimer(pageName, pageUrl) {\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(logger, prevPageVisitDataKeyName) != null) {\r\n throwError(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitData = new PageVisitData(pageName, pageUrl);\r\n var currPageVisitDataStr = getJSON().stringify(currPageVisitData);\r\n utlSetSessionStorage(logger, prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n // TODO: Remove this catch in next phase, since if start is called twice in a row the exception needs to be propagated out\r\n _warnToConsole(logger, \"Call to start failed: \" + dumpObj(e));\r\n }\r\n }\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n function stopPageVisitTimer() {\r\n var prevPageVisitData = null;\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM20 /* @min:%2epageVisitStartTime */];\r\n // Remove data from storage since we already used it\r\n utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Stop page visit timer failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n // For backward compatibility\r\n objDefineAccessors(_self, \"_logger\", function () { return logger; });\r\n objDefineAccessors(_self, \"pageVisitTimeTrackingHandler\", function () { return pageVisitTimeTrackingHandler; });\r\n });\r\n }\r\n// Removed Stub for PageVisitTimeManager.prototype.trackPreviousPageVisit.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageVisitTimeManager.__ieDyn=1;\n\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this[_DYN_PAGE_VISIT_START_TIM20 /* @min:%2epageVisitStartTime */] = dateNow();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 62 /* _eInternalMessageId.StartCalledMoreThanOnce */, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 63 /* _eInternalMessageId.StopCalledWithoutStart */, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\nexport { Timing };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* ApplicationInsights.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPluginIdentifier, Event as EventTelemetry, Exception, Metric, PageView, PageViewPerformance, PropertiesPluginIdentifier, RemoteDependencyData, Trace, createDistributedTraceContextFromTrace, createDomEvent, createTelemetryItem, dataSanitizeString, isCrossOriginError, strNotSpecified, stringToBoolOrDefault, utlDisableStorage, utlEnableStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentEvent, arrForEach, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOff, eventOn, generateW3CId, getDocument, getExceptionName, getHistory, getLocation, getWindow, hasHistory, hasWindow, isError, isFunction, isNullOrUndefined, isString, isUndefined, mergeEvtNamespace, objDefineAccessors, objForEachKey, safeGetCookieMgr, strUndefined, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ADD_TELEMETRY_INITIA15, _DYN_AUTO_TRACK_PAGE_VISI1, _DYN_COLUMN_NUMBER, _DYN_CORE, _DYN_DATA_TYPE, _DYN_DIAG_LOG, _DYN_DISABLE_EXCEPTION_TR0, _DYN_DISABLE_FLUSH_ON_BEF7, _DYN_ENABLE_AUTO_ROUTE_TR6, _DYN_ENABLE_UNHANDLED_PRO3, _DYN_ENVELOPE_TYPE, _DYN_ERROR, _DYN_ERROR_SRC, _DYN_EXCEPTION, _DYN_HREF, _DYN_IS_BROWSER_LINK_TRAC5, _DYN_IS_STORAGE_USE_DISAB4, _DYN_LENGTH, _DYN_LINE_NUMBER, _DYN_MESSAGE, _DYN_NAME_PREFIX, _DYN_OVERRIDE_PAGE_VIEW_D2, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_SAMPLING_PERCENTAGE, _DYN_SEND_EXCEPTION_INTER13, _DYN_SEND_PAGE_VIEW_INTER10, _DYN_SEND_PAGE_VIEW_PERFO11, _DYN_TO_STRING, _DYN_TRACK, _DYN_TRACK_PAGE_VIEW, _DYN_TRACK_PREVIOUS_PAGE_9, _DYN__CREATE_AUTO_EXCEPTI14, _DYN__ONERROR } from \"../__DynamicConstants\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageViewPerformanceManager } from \"./Telemetry/PageViewPerformanceManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { Timing } from \"./Timing\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n return reason[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar MinMilliSeconds = 60000;\r\nfunction _configMilliseconds(value, defValue) {\r\n value = value || defValue;\r\n if (value < MinMilliSeconds) {\r\n value = MinMilliSeconds;\r\n }\r\n return value;\r\n}\r\nfunction _getDefaultConfig(config) {\r\n if (!config) {\r\n config = {};\r\n }\r\n // set default values\r\n config.sessionRenewalMs = _configMilliseconds(config.sessionRenewalMs, 30 * 60 * 1000);\r\n config.sessionExpirationMs = _configMilliseconds(config.sessionExpirationMs, 24 * 60 * 60 * 1000);\r\n config[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */] = stringToBoolOrDefault(config[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */]);\r\n config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */] = stringToBoolOrDefault(config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]);\r\n config[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */] = stringToBoolOrDefault(config[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */]);\r\n config[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */] = stringToBoolOrDefault(config[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */]);\r\n if (isNaN(config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */]) || config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] <= 0 || config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] >= 100) {\r\n config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] = 100;\r\n }\r\n config[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */] = stringToBoolOrDefault(config[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */]);\r\n config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */] = stringToBoolOrDefault(config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */]);\r\n config[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */] = stringToBoolOrDefault(config[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */]);\r\n config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\";\r\n config.enableDebug = stringToBoolOrDefault(config.enableDebug);\r\n config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */] = stringToBoolOrDefault(config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */]);\r\n config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */]);\r\n return config;\r\n}\r\nfunction _updateStorageUsage(extConfig) {\r\n // Not resetting the storage usage as someone may have manually called utlDisableStorage, so this will only\r\n // reset based if the configuration option is provided\r\n if (!isUndefined(extConfig[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */])) {\r\n if (extConfig[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */]) {\r\n utlDisableStorage();\r\n }\r\n else {\r\n utlEnableStorage();\r\n }\r\n }\r\n}\r\nvar AnalyticsPlugin = /** @class */ (function (_super) {\r\n __extends(AnalyticsPlugin, _super);\r\n function AnalyticsPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n var _eventTracking;\r\n var _pageTracking;\r\n var _pageViewManager;\r\n var _pageViewPerformanceManager;\r\n var _pageVisitTimeManager;\r\n var _preInitTelemetryInitializers;\r\n var _isBrowserLinkTrackingEnabled;\r\n var _browserLinkInitializerAdded;\r\n var _enableAutoRouteTracking;\r\n var _historyListenerAdded;\r\n var _disableExceptionTracking;\r\n var _autoExceptionInstrumented;\r\n var _enableUnhandledPromiseRejectionTracking;\r\n var _autoUnhandledPromiseInstrumented;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n var _evtNamespace;\r\n dynamicProto(AnalyticsPlugin, _this, function (_self, _base) {\r\n var _addHook = _base._addHook;\r\n _initDefaults();\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self[_DYN_CORE /* @min:%2ecore */]);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(event, EventTelemetry[_DYN_DATA_TYPE /* @min:%2edataType */], EventTelemetry[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 29 /* _eInternalMessageId.StartTrackEventFailed */, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties, measurements);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 30 /* _eInternalMessageId.StopTrackEventFailed */, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param {ITraceTelemetry} trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(trace, Trace[_DYN_DATA_TYPE /* @min:%2edataType */], Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param {IMetricTelemetry} metric input object argument. Only name and average are mandatory.\r\n * @param {{[key: string]: any}} customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(metric, Metric[_DYN_DATA_TYPE /* @min:%2edataType */], Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 36 /* _eInternalMessageId.TrackMetricFailed */, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _pageViewManager[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */](inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_self.config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */](inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView Page view item to be sent\r\n * @param properties Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */] = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE /* @min:%2edataType */], PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */] = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n var inPvp = pageViewPerformance || {};\r\n try {\r\n _pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */](inPvp);\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */](inPvp, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n _self.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 31 /* _eInternalMessageId.StartTrackFailed */, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n _pageTracking.stop(name, url, properties, measurement);\r\n if (_self.config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */](name, url);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 32 /* _eInternalMessageId.StopTrackFailed */, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n _self[_DYN_SEND_EXCEPTION_INTER13 /* @min:%2esendExceptionInternal */] = function (exception, customProperties, systemProperties) {\r\n // Adding additional edge cases to handle\r\n // - Not passing anything (null / undefined)\r\n var theError = (exception && (exception[_DYN_EXCEPTION /* @min:%2eexception */] || exception[_DYN_ERROR /* @min:%2eerror */])) ||\r\n // - Handle someone calling trackException based of v1 API where the exception was the Error\r\n isError(exception) && exception ||\r\n // - Handles no error being defined and instead of creating a new Error() instance attempt to map so any stacktrace\r\n // is preserved and does not list ApplicationInsights code as the source\r\n { name: (exception && typeof exception), message: exception || strNotSpecified };\r\n // If no exception object was passed assign to an empty object to avoid internal exceptions\r\n exception = exception || {};\r\n var exceptionPartB = new Exception(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param {IExceptionTelemetry} exception Object which contains exception to be sent\r\n * @param {{[key: string]: any}} customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackException = function (exception, customProperties) {\r\n if (exception && !exception[_DYN_EXCEPTION /* @min:%2eexception */] && exception[_DYN_ERROR /* @min:%2eerror */]) {\r\n exception[_DYN_EXCEPTION /* @min:%2eexception */] = exception[_DYN_ERROR /* @min:%2eerror */];\r\n }\r\n try {\r\n _self[_DYN_SEND_EXCEPTION_INTER13 /* @min:%2esendExceptionInternal */](exception, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 35 /* _eInternalMessageId.TrackExceptionFailed */, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof ApplicationInsights\r\n */\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */] = function (exception) {\r\n var error = exception && exception[_DYN_ERROR /* @min:%2eerror */];\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] || \"window.onerror@\" + url + \":\" + (exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0) + \":\" + (exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0,\r\n columnNumber: exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0,\r\n message: exception[_DYN_MESSAGE /* @min:%2emessage */]\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception[_DYN_ERROR /* @min:%2eerror */])) {\r\n _sendCORSException(Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0, exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */]) {\r\n exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: 3 /* eSeverityLevel.Error */ }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error[_DYN_MESSAGE /* @min:%2emessage */]) : \"null\";\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 11 /* _eInternalMessageId.ExceptionWhileLoggingError */, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */] = function (telemetryInitializer) {\r\n if (_self[_DYN_CORE /* @min:%2ecore */]) {\r\n // Just add to the core\r\n return _self[_DYN_CORE /* @min:%2ecore */][_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](telemetryInitializer);\r\n }\r\n // Handle \"pre-initialization\" telemetry initializers (for backward compatibility)\r\n if (!_preInitTelemetryInitializers) {\r\n _preInitTelemetryInitializers = [];\r\n }\r\n _preInitTelemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throwError(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n try {\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n if (_preInitTelemetryInitializers) {\r\n arrForEach(_preInitTelemetryInitializers, function (initializer) {\r\n core[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](initializer);\r\n });\r\n _preInitTelemetryInitializers = null;\r\n }\r\n var extConfig = _populateDefaults(config);\r\n _updateStorageUsage(extConfig);\r\n _pageViewPerformanceManager = new PageViewPerformanceManager(_self[_DYN_CORE /* @min:%2ecore */]);\r\n _pageViewManager = new PageViewManager(_self, extConfig[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */], _self[_DYN_CORE /* @min:%2ecore */], _pageViewPerformanceManager);\r\n _pageVisitTimeManager = new PageVisitTimeManager(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _updateBrowserLinkTracking(extConfig, config);\r\n _eventTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackEvent\");\r\n _eventTracking.action =\r\n function (name, url, duration, properties, measurements) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n if (!measurements) {\r\n measurements = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n _self.trackEvent({ name: name, properties: properties, measurements: measurements });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackPageView\");\r\n _pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _self[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageViewItem, properties);\r\n };\r\n if (hasWindow()) {\r\n _updateExceptionTracking(extConfig);\r\n _updateLocationChange(extConfig);\r\n }\r\n }\r\n catch (e) {\r\n // resetting the initialized state because of failure\r\n _self.setInitialized(false);\r\n throw e;\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _pageViewManager && _pageViewManager.teardown(unloadCtx, unloadState);\r\n // Just register to remove all events associated with this namespace\r\n eventOff(window, null, null, _evtNamespace);\r\n _initDefaults();\r\n };\r\n function _populateDefaults(config) {\r\n var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);\r\n var identifier = _self.identifier;\r\n // load default values if specified\r\n var defaults = _getDefaultConfig(config);\r\n var extConfig = _self.config = ctx.getExtCfg(identifier);\r\n if (defaults !== undefined) {\r\n objForEachKey(defaults, function (field, value) {\r\n // for each unspecified field, set the default value\r\n extConfig[field] = ctx.getConfig(identifier, field, value);\r\n if (extConfig[field] === undefined) {\r\n extConfig = value;\r\n }\r\n });\r\n }\r\n return extConfig;\r\n }\r\n function _updateBrowserLinkTracking(extConfig, config) {\r\n _isBrowserLinkTrackingEnabled = extConfig[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */] || config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */];\r\n _addDefaultTelemetryInitializers();\r\n }\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milleseconds\r\n */\r\n function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n }\r\n function _addDefaultTelemetryInitializers() {\r\n if (!_browserLinkInitializerAdded && _isBrowserLinkTrackingEnabled) {\r\n var browserLinkPaths_1 = [\"/browserLinkSignalR/\", \"/__browserLink/\"];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (remoteData.target && remoteData.target.indexOf(browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](dropBrowserLinkRequests);\r\n _browserLinkInitializerAdded = true;\r\n }\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n function _updateExceptionTracking(extConfig) {\r\n var _window = getWindow();\r\n var locn = getLocation(true);\r\n _disableExceptionTracking = extConfig[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */];\r\n if (!_disableExceptionTracking && !_autoExceptionInstrumented && !extConfig.autoExceptionInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onerror\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, message, url, lineNumber, columnNumber, error) {\r\n if (!_disableExceptionTracking && callDetails.rslt !== true) {\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](message, url, lineNumber, columnNumber, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoExceptionInstrumented = true;\r\n }\r\n _addUnhandledPromiseRejectionTracking(extConfig, _window, locn);\r\n }\r\n function _updateLocationChange(extConfig) {\r\n var win = getWindow();\r\n var locn = getLocation(true);\r\n _enableAutoRouteTracking = extConfig[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */] === true;\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (win && _enableAutoRouteTracking && hasHistory()) {\r\n var _history = getHistory();\r\n if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strUndefined) {\r\n _addHistoryListener(extConfig, win, _history, locn);\r\n }\r\n }\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n if (!distributedTraceCtx) {\r\n // Fallback when using an older Core and PropertiesPlugin\r\n var properties = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (properties) {\r\n var context = properties.plugin.context;\r\n if (context) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(context.telemetryTrace);\r\n }\r\n }\r\n }\r\n return distributedTraceCtx;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n function _addHistoryListener(extConfig, win, history, locn) {\r\n var namePrefix = extConfig[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\";\r\n function _popstateHandler() {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n function _locationChangeHandler() {\r\n // We always track the changes (if the handler is installed) to handle the feature being disabled between location changes\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n else {\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n if (_enableAutoRouteTracking) {\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n if (distributedTraceCtx) {\r\n distributedTraceCtx.setTraceId(generateW3CId());\r\n var traceLocationName = \"_unknown_\";\r\n if (locn && locn.pathname) {\r\n traceLocationName = locn.pathname + (locn.hash || \"\");\r\n }\r\n // This populates the ai.operation.name which has a maximum size of 1024 so we need to sanitize it\r\n distributedTraceCtx.setName(dataSanitizeString(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), traceLocationName));\r\n }\r\n setTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */]({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_self, _prevUri), _self.autoRoutePVDelay);\r\n }\r\n }\r\n if (!_historyListenerAdded) {\r\n _addHook(InstrumentEvent(history, \"pushState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"pushState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n _addHook(InstrumentEvent(history, \"replaceState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"replaceState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n eventOn(win, namePrefix + \"popstate\", _popstateHandler, _evtNamespace);\r\n eventOn(win, namePrefix + \"locationchange\", _locationChangeHandler, _evtNamespace);\r\n _historyListenerAdded = true;\r\n }\r\n }\r\n function _addUnhandledPromiseRejectionTracking(extConfig, _window, _location) {\r\n _enableUnhandledPromiseRejectionTracking = extConfig[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */] === true;\r\n if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onunhandledrejection\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, error) {\r\n if (_enableUnhandledPromiseRejectionTracking && callDetails.rslt !== true) { // handled could be typeof function\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](_getReason(error), _location ? _location[_DYN_HREF /* @min:%2ehref */] : \"\", 0, 0, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoUnhandledPromiseInstrumented = true;\r\n extConfig.autoUnhandledPromiseInstrumented = _autoUnhandledPromiseInstrumented;\r\n }\r\n }\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {eLoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n function _throwInternal(severity, msgId, msg, properties, isUserAct) {\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]().throwInternal(severity, msgId, msg, properties, isUserAct);\r\n }\r\n function _initDefaults() {\r\n _eventTracking = null;\r\n _pageTracking = null;\r\n _pageViewManager = null;\r\n _pageViewPerformanceManager = null;\r\n _pageVisitTimeManager = null;\r\n _preInitTelemetryInitializers = null;\r\n _isBrowserLinkTrackingEnabled = false;\r\n _browserLinkInitializerAdded = false;\r\n _enableAutoRouteTracking = false;\r\n _historyListenerAdded = false;\r\n _disableExceptionTracking = false;\r\n _autoExceptionInstrumented = false;\r\n _enableUnhandledPromiseRejectionTracking = false;\r\n _autoUnhandledPromiseInstrumented = false;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var location = getLocation(true);\r\n _prevUri = location && location[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n _currUri = null;\r\n _evtNamespace = null;\r\n }\r\n // For backward compatibility\r\n objDefineAccessors(_self, \"_pageViewManager\", function () { return _pageViewManager; });\r\n objDefineAccessors(_self, \"_pageViewPerformanceManager\", function () { return _pageViewPerformanceManager; });\r\n objDefineAccessors(_self, \"_pageVisitTimeManager\", function () { return _pageVisitTimeManager; });\r\n objDefineAccessors(_self, \"_evtNamespace\", function () { return \".\" + _evtNamespace; });\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AnalyticsPlugin.prototype.getCookieMgr.\r\n// Removed Stub for AnalyticsPlugin.prototype.processTelemetry.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.startTrackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.stopTrackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackTrace.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackMetric.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackPageView.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendPageViewInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendPageViewPerformanceInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackPageViewPerformance.\r\n// Removed Stub for AnalyticsPlugin.prototype.startTrackPage.\r\n// Removed Stub for AnalyticsPlugin.prototype.stopTrackPage.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendExceptionInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackException.\r\n// Removed Stub for AnalyticsPlugin.prototype._onerror.\r\n// Removed Stub for AnalyticsPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for AnalyticsPlugin.prototype.initialize.\r\n AnalyticsPlugin.Version = '2.8.18'; // Not currently used anywhere\r\n AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;\r\n return AnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { AnalyticsPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { createClassFromInterface } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _aiNameFunc(baseName) {\r\n var aiName = \"ai.\" + baseName + \".\";\r\n return function (name) {\r\n return aiName + name;\r\n };\r\n}\r\nvar _aiApplication = _aiNameFunc(\"application\");\r\nvar _aiDevice = _aiNameFunc(\"device\");\r\nvar _aiLocation = _aiNameFunc(\"location\");\r\nvar _aiOperation = _aiNameFunc(\"operation\");\r\nvar _aiSession = _aiNameFunc(\"session\");\r\nvar _aiUser = _aiNameFunc(\"user\");\r\nvar _aiCloud = _aiNameFunc(\"cloud\");\r\nvar _aiInternal = _aiNameFunc(\"internal\");\r\nvar ContextTagKeys = /** @class */ (function (_super) {\r\n __extends(ContextTagKeys, _super);\r\n function ContextTagKeys() {\r\n return _super.call(this) || this;\r\n }\r\n return ContextTagKeys;\r\n}(createClassFromInterface({\r\n applicationVersion: _aiApplication(\"ver\"),\r\n applicationBuild: _aiApplication(\"build\"),\r\n applicationTypeId: _aiApplication(\"typeId\"),\r\n applicationId: _aiApplication(\"applicationId\"),\r\n applicationLayer: _aiApplication(\"layer\"),\r\n deviceId: _aiDevice(\"id\"),\r\n deviceIp: _aiDevice(\"ip\"),\r\n deviceLanguage: _aiDevice(\"language\"),\r\n deviceLocale: _aiDevice(\"locale\"),\r\n deviceModel: _aiDevice(\"model\"),\r\n deviceFriendlyName: _aiDevice(\"friendlyName\"),\r\n deviceNetwork: _aiDevice(\"network\"),\r\n deviceNetworkName: _aiDevice(\"networkName\"),\r\n deviceOEMName: _aiDevice(\"oemName\"),\r\n deviceOS: _aiDevice(\"os\"),\r\n deviceOSVersion: _aiDevice(\"osVersion\"),\r\n deviceRoleInstance: _aiDevice(\"roleInstance\"),\r\n deviceRoleName: _aiDevice(\"roleName\"),\r\n deviceScreenResolution: _aiDevice(\"screenResolution\"),\r\n deviceType: _aiDevice(\"type\"),\r\n deviceMachineName: _aiDevice(\"machineName\"),\r\n deviceVMName: _aiDevice(\"vmName\"),\r\n deviceBrowser: _aiDevice(\"browser\"),\r\n deviceBrowserVersion: _aiDevice(\"browserVersion\"),\r\n locationIp: _aiLocation(\"ip\"),\r\n locationCountry: _aiLocation(\"country\"),\r\n locationProvince: _aiLocation(\"province\"),\r\n locationCity: _aiLocation(\"city\"),\r\n operationId: _aiOperation(\"id\"),\r\n operationName: _aiOperation(\"name\"),\r\n operationParentId: _aiOperation(\"parentId\"),\r\n operationRootId: _aiOperation(\"rootId\"),\r\n operationSyntheticSource: _aiOperation(\"syntheticSource\"),\r\n operationCorrelationVector: _aiOperation(\"correlationVector\"),\r\n sessionId: _aiSession(\"id\"),\r\n sessionIsFirst: _aiSession(\"isFirst\"),\r\n sessionIsNew: _aiSession(\"isNew\"),\r\n userAccountAcquisitionDate: _aiUser(\"accountAcquisitionDate\"),\r\n userAccountId: _aiUser(\"accountId\"),\r\n userAgent: _aiUser(\"userAgent\"),\r\n userId: _aiUser(\"id\"),\r\n userStoreRegion: _aiUser(\"storeRegion\"),\r\n userAuthUserId: _aiUser(\"authUserId\"),\r\n userAnonymousUserAcquisitionDate: _aiUser(\"anonUserAcquisitionDate\"),\r\n userAuthenticatedUserAcquisitionDate: _aiUser(\"authUserAcquisitionDate\"),\r\n cloudName: _aiCloud(\"name\"),\r\n cloudRole: _aiCloud(\"role\"),\r\n cloudRoleVer: _aiCloud(\"roleVer\"),\r\n cloudRoleInstance: _aiCloud(\"roleInstance\"),\r\n cloudEnvironment: _aiCloud(\"environment\"),\r\n cloudLocation: _aiCloud(\"location\"),\r\n cloudDeploymentUnit: _aiCloud(\"deploymentUnit\"),\r\n internalNodeName: _aiInternal(\"nodeName\"),\r\n internalSdkVersion: _aiInternal(\"sdkVersion\"),\r\n internalAgentVersion: _aiInternal(\"agentVersion\"),\r\n internalSnippet: _aiInternal(\"snippet\"),\r\n internalSdkSrc: _aiInternal(\"sdkSrc\")\r\n})));\r\nexport { ContextTagKeys };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { ContextTagKeys } from \"./Contracts/ContextTagKeys\";\r\nexport var Extensions = {\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SessionExt: \"ses\",\r\n SDKExt: \"sdk\"\r\n};\r\nexport var CtxTagKeys = new ContextTagKeys();\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../../Constants\";\r\nimport { _DYN_NAME } from \"../../__DynamicConstants\";\r\nimport { dataSanitizeString } from \"./DataSanitizer\";\r\nvar Envelope = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = this;\r\n var _self = this;\r\n _self.ver = 1;\r\n _self.sampleRate = 100.0;\r\n _self.tags = {};\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self.data = data;\r\n _self.time = toISOString(new Date());\r\n _self.aiDataContract = {\r\n time: 1 /* FieldType.Required */,\r\n iKey: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n sampleRate: function () {\r\n return (_this.sampleRate === 100) ? 4 /* FieldType.Hidden */ : 1 /* FieldType.Required */;\r\n },\r\n tags: 1 /* FieldType.Required */,\r\n data: 1 /* FieldType.Required */\r\n };\r\n }\r\n return Envelope;\r\n}());\r\nexport { Envelope };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Data = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n };\r\n this.baseType = baseType;\r\n this.baseData = data;\r\n }\r\n return Data;\r\n}());\r\nexport { Data };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TAGS = \"tags\"; // Count: 17\r\nexport var _DYN_DEVICE_TYPE = \"deviceType\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 13\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 37\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 5\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 10\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 7\r\nexport var _DYN_ON_LINE = \"onLine\"; // Count: 4\r\nexport var _DYN_IS_ONLINE = \"isOnline\"; // Count: 3\r\nexport var _DYN_ENQUEUE = \"enqueue\"; // Count: 5\r\nexport var _DYN_COUNT = \"count\"; // Count: 6\r\nexport var _DYN_EVENTS_LIMIT_IN_MEM = \"eventsLimitInMem\"; // Count: 2\r\nexport var _DYN_PUSH = \"push\"; // Count: 6\r\nexport var _DYN_EMIT_LINE_DELIMITED_0 = \"emitLineDelimitedJson\"; // Count: 3\r\nexport var _DYN_CLEAR = \"clear\"; // Count: 6\r\nexport var _DYN_BATCH_PAYLOADS = \"batchPayloads\"; // Count: 5\r\nexport var _DYN_MARK_AS_SENT = \"markAsSent\"; // Count: 6\r\nexport var _DYN_CLEAR_SENT = \"clearSent\"; // Count: 5\r\nexport var _DYN_BUFFER_OVERRIDE = \"bufferOverride\"; // Count: 3\r\nexport var _DYN__BUFFER__KEY = \"BUFFER_KEY\"; // Count: 5\r\nexport var _DYN__SENT__BUFFER__KEY = \"SENT_BUFFER_KEY\"; // Count: 7\r\nexport var _DYN__MAX__BUFFER__SIZE = \"MAX_BUFFER_SIZE\"; // Count: 5\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 6\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 3\r\nexport var _DYN_TRIGGER_SEND = \"triggerSend\"; // Count: 6\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 15\r\nexport var _DYN_ONUNLOAD_DISABLE_BEA2 = \"onunloadDisableBeacon\"; // Count: 2\r\nexport var _DYN_IS_BEACON_API_DISABL3 = \"isBeaconApiDisabled\"; // Count: 3\r\nexport var _DYN__SENDER = \"_sender\"; // Count: 5\r\nexport var _DYN__SENDER_CONFIG = \"_senderConfig\"; // Count: 4\r\nexport var _DYN_ENABLE_SESSION_STORA4 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN__BUFFER = \"_buffer\"; // Count: 9\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 2\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 4\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 8\r\nexport var _DYN_CUSTOM_HEADERS = \"customHeaders\"; // Count: 4\r\nexport var _DYN_DISABLE_XHR = \"disableXhr\"; // Count: 5\r\nexport var _DYN_ONUNLOAD_DISABLE_FET5 = \"onunloadDisableFetch\"; // Count: 2\r\nexport var _DYN_DISABLE_TELEMETRY = \"disableTelemetry\"; // Count: 2\r\nexport var _DYN_BASE_TYPE = \"baseType\"; // Count: 4\r\nexport var _DYN_SAMPLE_RATE = \"sampleRate\"; // Count: 4\r\nexport var _DYN_CONVERT_UNDEFINED = \"convertUndefined\"; // Count: 2\r\nexport var _DYN__XHR_READY_STATE_CHA6 = \"_xhrReadyStateChange\"; // Count: 2\r\nexport var _DYN__ON_ERROR = \"_onError\"; // Count: 11\r\nexport var _DYN__ON_PARTIAL_SUCCESS = \"_onPartialSuccess\"; // Count: 3\r\nexport var _DYN__ON_SUCCESS = \"_onSuccess\"; // Count: 6\r\nexport var _DYN_ITEMS_ACCEPTED = \"itemsAccepted\"; // Count: 5\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 6\r\nexport var _DYN_IS_RETRY_DISABLED = \"isRetryDisabled\"; // Count: 5\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 2\r\nexport var _DYN_EVENTS_SEND_REQUEST = \"eventsSendRequest\"; // Count: 2\r\nexport var _DYN_DISABLE_INSTRUMENTAT7 = \"disableInstrumentationKeyValidation\"; // Count: 2\r\nexport var _DYN_GET_SAMPLING_SCORE = \"getSamplingScore\"; // Count: 2\r\nexport var _DYN_GET_HASH_CODE_SCORE = \"getHashCodeScore\"; // Count: 4\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { CtxTagKeys, Data, Envelope, Event, Exception, HttpMethod, Metric, PageView, PageViewPerformance, RemoteDependencyData, SampleRate, Trace, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, _warnToConsole, getJSON, hasJSON, isNullOrUndefined, isNumber, isString, isTruthy, objForEachKey, optimizeObject, setValue, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION } from \"./InternalConstants\";\r\nimport { _DYN_DATA, _DYN_DATA_TYPE, _DYN_DEVICE_TYPE, _DYN_ENVELOPE_TYPE, _DYN_LENGTH, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_STRINGIFY, _DYN_TAGS, _DYN_TO_STRING, _DYN_TRACE_ID } from \"./__DynamicConstants\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env[_DYN_TAGS /* @min:%2etags */] = env[_DYN_TAGS /* @min:%2etags */] || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item[_DYN_TAGS /* @min:%2etags */] = item[_DYN_TAGS /* @min:%2etags */] || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice[_DYN_DEVICE_TYPE /* @min:%2edeviceType */]);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env[_DYN_DATA /* @min:%2edata */] = env[_DYN_DATA /* @min:%2edata */] || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace[_DYN_NAME /* @min:%2ename */]));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags[_DYN_LENGTH /* @min:%2elength */] - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = dataSanitizeString(logger, \"javascript:\".concat(EnvelopeCreator.Version), 64);\r\n }\r\n env[_DYN_TAGS /* @min:%2etags */] = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope[_DYN_NAME /* @min:%2ename */] = envelope[_DYN_NAME /* @min:%2ename */].replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem[_DYN_TAGS /* @min:%2etags */] = telemetryItem[_DYN_TAGS /* @min:%2etags */] || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: '2.8.18'\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd[_DYN_NAME /* @min:%2ename */], bd[STR_DURATION /* @min:%2eduration */], bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */], remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE /* @min:%2edataType */]) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData][_DYN_NAME /* @min:%2ename */];\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event[_DYN_DATA_TYPE /* @min:%2edataType */], eventData);\r\n return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception[_DYN_DATA_TYPE /* @min:%2edataType */], exData);\r\n return _createEnvelope(logger, Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData[_DYN_NAME /* @min:%2ename */], baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric[_DYN_DATA_TYPE /* @min:%2edataType */], baseMetricData);\r\n return _createEnvelope(logger, Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][STR_DURATION])) { // from part B properties\r\n duration = baseData[strProperties][STR_DURATION];\r\n delete baseData[strProperties][STR_DURATION];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */]) &&\r\n !isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION])) { // from custom properties\r\n duration = telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n delete telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {})[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n currentContextId = telemetryItem.ext.trace[_DYN_TRACE_ID /* @min:%2etraceID */];\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView[_DYN_DATA_TYPE /* @min:%2edataType */], pageViewData);\r\n return _createEnvelope(logger, PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { createUniqueNamespace, eventOff, eventOn, getDocument, getNavigator, getWindow, isNullOrUndefined, isUndefined, mergeEvtNamespace } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_IS_ONLINE, _DYN_ON_LINE } from \"./__DynamicConstants\";\r\nfunction _disableEvents(target, evtNamespace) {\r\n eventOff(target, null, null, evtNamespace);\r\n}\r\n/**\r\n * Create a new OfflineListener instance to monitor browser online / offline events\r\n * @param parentEvtNamespace - The parent event namespace to append to any specific events for this instance\r\n */\r\nexport function createOfflineListener(parentEvtNamespace) {\r\n var _a;\r\n var _document = getDocument();\r\n var _navigator = getNavigator(); // Gets the window.navigator or workerNavigator depending on the global\r\n var _isListening = false;\r\n var _onlineStatus = true;\r\n var _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"OfflineListener\"), parentEvtNamespace);\r\n try {\r\n if (_enableEvents(getWindow())) {\r\n _isListening = true;\r\n }\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (target.ononline) {\r\n if (_enableEvents(target)) {\r\n _isListening = true;\r\n }\r\n }\r\n }\r\n if (_isListening) {\r\n // We are listening to events so lets set the current status rather than assuming we are online #1538\r\n if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE /* @min:%2eonLine */])) { // navigator.onLine is undefined in react-native\r\n _onlineStatus = _navigator[_DYN_ON_LINE /* @min:%2eonLine */];\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // this makes react-native less angry\r\n _isListening = false;\r\n }\r\n function _enableEvents(target) {\r\n var enabled = false;\r\n if (target) {\r\n enabled = eventOn(target, \"online\", _setOnline, _evtNamespace);\r\n if (enabled) {\r\n eventOn(target, \"offline\", _setOffline, _evtNamespace);\r\n }\r\n }\r\n return enabled;\r\n }\r\n function _setOnline() {\r\n _onlineStatus = true;\r\n }\r\n function _setOffline() {\r\n _onlineStatus = false;\r\n }\r\n function _isOnline() {\r\n var result = true;\r\n if (_isListening) {\r\n result = _onlineStatus;\r\n }\r\n else if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE /* @min:%2eonLine */])) { // navigator.onLine is undefined in react-native\r\n result = _navigator[_DYN_ON_LINE /* @min:%2eonLine */];\r\n }\r\n return result;\r\n }\r\n function _unload() {\r\n var win = getWindow();\r\n if (win && _isListening) {\r\n _disableEvents(win, _evtNamespace);\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (!isUndefined(target.ononline)) {\r\n _disableEvents(target, _evtNamespace);\r\n }\r\n }\r\n _isListening = false;\r\n }\r\n }\r\n return _a = {},\r\n _a[_DYN_IS_ONLINE /* @min:isOnline */] = _isOnline,\r\n _a.isListening = function () { return _isListening; },\r\n _a.unload = _unload,\r\n _a;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlGetSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, arrIndexOf, dumpObj, getExceptionName, getJSON, isArray, isFunction, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_COUNT, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_NAME_PREFIX, _DYN_PUSH, _DYN_STRINGIFY, _DYN__BUFFER__KEY, _DYN__MAX__BUFFER__SIZE, _DYN__SENT__BUFFER__KEY } from \"./__DynamicConstants\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= config[_DYN_EVENTS_LIMIT_IN_MEM /* @min:%2eeventsLimitInMem */]()) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _buffer[_DYN_PUSH /* @min:%2epush */](payload);\r\n };\r\n _self[_DYN_COUNT /* @min:%2ecount */] = function () {\r\n return _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.size = function () {\r\n var size = _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < _buffer[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n size += _buffer[lp][_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if (!config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]()) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */] = function (payload) {\r\n if (payload && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var batch = config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n });\r\n }\r\n// Removed Stub for BaseSendBuffer.prototype.enqueue.\r\n// Removed Stub for BaseSendBuffer.prototype.count.\r\n// Removed Stub for BaseSendBuffer.prototype.size.\r\n// Removed Stub for BaseSendBuffer.prototype.clear.\r\n// Removed Stub for BaseSendBuffer.prototype.getItems.\r\n// Removed Stub for BaseSendBuffer.prototype.batchPayloads.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseSendBuffer.__ieDyn=1;\n\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for ArraySendBuffer.prototype.markAsSent.\r\n// Removed Stub for ArraySendBuffer.prototype.clearSent.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n ArraySendBuffer.__ieDyn=1;\n\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n var _a = config[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */]() || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */]);\r\n var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n var buffer = _self._set(bufferItems.concat(notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n buffer[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], buffer);\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _base[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements[_DYN_LENGTH /* @min:%2elength */], true);\r\n sentElements[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n }\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {\r\n remaining[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = getItem(logger, prefixedKey);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON[_DYN_STRINGIFY /* @min:%2estringify */](buffer);\r\n setItem(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n setItem(logger, prefixedKey, JSON[_DYN_STRINGIFY /* @min:%2estringify */]([]));\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for SessionStorageSendBuffer.prototype.enqueue.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clear.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.markAsSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clearSent.\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, DisabledPropertyName, Event, Exception, Metric, PageView, PageViewPerformance, ProcessLegacy, RemoteDependencyData, RequestHeaders, SampleRate, Trace, isInternalApplicationInsightsEndpoint, utlCanUseSessionStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, _warnToConsole, arrForEach, arrIndexOf, createUniqueNamespace, dateNow, dumpObj, getExceptionName, getIEVersion, getJSON, getNavigator, getWindow, isArray, isBeaconsSupported, isFetchSupported, isNullOrUndefined, isXhrSupported, mergeEvtNamespace, objForEachKey, objKeys, useXDomainRequest } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { createOfflineListener } from \"./Offline\";\r\nimport { ArraySendBuffer, SessionStorageSendBuffer } from \"./SendBuffer\";\r\nimport { Serializer } from \"./Serializer\";\r\nimport { Sample } from \"./TelemetryProcessors/Sample\";\r\nimport { _DYN_BASE_TYPE, _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONVERT_UNDEFINED, _DYN_COUNT, _DYN_CUSTOM_HEADERS, _DYN_DIAG_LOG, _DYN_DISABLE_INSTRUMENTAT7, _DYN_DISABLE_TELEMETRY, _DYN_DISABLE_XHR, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENABLE_SESSION_STORA4, _DYN_ENDPOINT_URL, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_EVENTS_SEND_REQUEST, _DYN_INSTRUMENTATION_KEY, _DYN_IS_BEACON_API_DISABL3, _DYN_IS_ONLINE, _DYN_IS_RETRY_DISABLED, _DYN_ITEMS_ACCEPTED, _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_MAX_BATCH_INTERVAL, _DYN_MAX_BATCH_SIZE_IN_BY1, _DYN_NAME_PREFIX, _DYN_ONUNLOAD_DISABLE_BEA2, _DYN_ONUNLOAD_DISABLE_FET5, _DYN_PUSH, _DYN_SAMPLE_RATE, _DYN_SAMPLING_PERCENTAGE, _DYN_SET_REQUEST_HEADER, _DYN_TAGS, _DYN_TRIGGER_SEND, _DYN__BUFFER, _DYN__ON_ERROR, _DYN__ON_PARTIAL_SUCCESS, _DYN__ON_SUCCESS, _DYN__SENDER, _DYN__SENDER_CONFIG, _DYN__XHR_READY_STATE_CHA6 } from \"./__DynamicConstants\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction _getDefaultAppInsightsChannelConfig() {\r\n var _a;\r\n var defaultValue;\r\n var defaultCustomHeaders;\r\n // set default values\r\n return _a = {\r\n endpointUrl: function () { return DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH; }\r\n },\r\n _a[_DYN_EMIT_LINE_DELIMITED_0 /* @min:emitLineDelimitedJson */] = function () { return false; },\r\n _a[_DYN_MAX_BATCH_INTERVAL /* @min:maxBatchInterval */] = function () { return 15000; },\r\n _a[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:maxBatchSizeInBytes */] = function () { return 102400; },\r\n _a[_DYN_DISABLE_TELEMETRY /* @min:disableTelemetry */] = function () { return false; },\r\n _a[_DYN_ENABLE_SESSION_STORA4 /* @min:enableSessionStorageBuffer */] = function () { return true; },\r\n _a[_DYN_BUFFER_OVERRIDE /* @min:bufferOverride */] = function () { return false; },\r\n _a[_DYN_IS_RETRY_DISABLED /* @min:isRetryDisabled */] = function () { return false; },\r\n _a[_DYN_IS_BEACON_API_DISABL3 /* @min:isBeaconApiDisabled */] = function () { return true; },\r\n _a[_DYN_DISABLE_XHR /* @min:disableXhr */] = function () { return false; },\r\n _a[_DYN_ONUNLOAD_DISABLE_FET5 /* @min:onunloadDisableFetch */] = function () { return false; },\r\n _a[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:onunloadDisableBeacon */] = function () { return false; },\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = function () { return defaultValue; },\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = function () { return defaultValue; },\r\n _a[_DYN_SAMPLING_PERCENTAGE /* @min:samplingPercentage */] = function () { return 100; },\r\n _a[_DYN_CUSTOM_HEADERS /* @min:customHeaders */] = function () { return defaultCustomHeaders; },\r\n _a[_DYN_CONVERT_UNDEFINED /* @min:convertUndefined */] = function () { return defaultValue; },\r\n _a[_DYN_EVENTS_LIMIT_IN_MEM /* @min:eventsLimitInMem */] = function () { return 10000; },\r\n _a.retryCodes = function () { return null; },\r\n _a;\r\n}\r\nvar EnvelopeTypeCreator = (_a = {},\r\n _a[Event.dataType] = EventEnvelopeCreator,\r\n _a[Trace.dataType] = TraceEnvelopeCreator,\r\n _a[PageView.dataType] = PageViewEnvelopeCreator,\r\n _a[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _a[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _a[Metric.dataType] = MetricEnvelopeCreator,\r\n _a[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _a);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n /**\r\n * The configuration for this sender instance\r\n */\r\n _this._senderConfig = _getDefaultAppInsightsChannelConfig();\r\n // Don't set the defaults here, set them in the _initDefaults() as this is also called during unload\r\n var _consecutiveErrors; // How many times in a row a retryable error condition has occurred.\r\n var _retryAt; // The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n var _lastSend; // The time of the last send operation.\r\n var _paused; // Flag indicating that the sending should be paused\r\n var _timeoutHandle; // Handle to the timer for delayed sending of batches of data.\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers;\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _fallbackSender; // The sender to use if the payload size is too large\r\n var _syncUnloadSender; // The identified sender to use for the synchronous unload stage\r\n var _offlineListener;\r\n var _evtNamespace;\r\n var _retryCodes;\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n if (_self._buffer.size() > _self._senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */]()) {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function (isAsync, callBack, sendReason) {\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](isAsync, null, sendReason || 1 /* SendRequestReason.ManualFlush */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 22 /* _eInternalMessageId.FlushFailed */, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if ((_self._senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */]() === false || _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */]() === false) && isBeaconsSupported()) {\r\n try {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, _doUnloadSend, 2 /* SendRequestReason.Unload */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush();\r\n }\r\n }\r\n };\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"Sender\"), core.evtNamespace && core.evtNamespace());\r\n _offlineListener = createOfflineListener(_evtNamespace);\r\n // TODO v3.x: Change the ISenderConfig to not be function calls\r\n var defaultConfig = _getDefaultAppInsightsChannelConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][field] = function () {\r\n var theValue = ctx.getConfig(identifier, field, value());\r\n if (!theValue && field === \"endpointUrl\") {\r\n // Use the default value (handles empty string in the configuration)\r\n theValue = value();\r\n }\r\n return theValue;\r\n };\r\n });\r\n _retryCodes = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */].retryCodes();\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n var useSessionStorage = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENABLE_SESSION_STORA4 /* @min:%2eenableSessionStorageBuffer */]() &&\r\n !!(_self._senderConfig[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */]() || utlCanUseSessionStorage());\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = useSessionStorage\r\n ? new SessionStorageSendBuffer(diagLog, _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */])\r\n : new ArraySendBuffer(diagLog, _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */]);\r\n _self._sample = new Sample(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */](), diagLog);\r\n if (!_validateInstrumentationKey(config)) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, \"Invalid Instrumentation key \" + config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]);\r\n }\r\n if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders()[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */](), function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n var senderConfig = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */];\r\n var sendPostFunc = null;\r\n if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && useXDomainRequest()) {\r\n sendPostFunc = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n if (!sendPostFunc && isFetchSupported()) {\r\n sendPostFunc = _fetchSender;\r\n }\r\n // always fallback to XHR\r\n _fallbackSender = sendPostFunc || _xhrSender;\r\n if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */]() && isBeaconsSupported()) {\r\n // Config is set to always used beacon sending\r\n sendPostFunc = _beaconSender;\r\n }\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = sendPostFunc || _xhrSender;\r\n if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 /* @min:%2eonunloadDisableFetch */]() && isFetchSupported(true)) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Try and use sendBeacon\r\n _syncUnloadSender = _beaconSender;\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && useXDomainRequest()) {\r\n _syncUnloadSender = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && isXhrSupported()) {\r\n _syncUnloadSender = _xhrSender;\r\n }\r\n else {\r\n _syncUnloadSender = _fallbackSender;\r\n }\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n var diagLogger = itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n // if master off switch is set, don't send any data\r\n if (_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_DISABLE_TELEMETRY /* @min:%2edisableTelemetry */]()) {\r\n // Do not send/save data\r\n return;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 7 /* _eInternalMessageId.CannotSendEmptyTelemetry */, \"Cannot send empty telemetry\");\r\n return;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 70 /* _eInternalMessageId.InvalidEvent */, \"Cannot send telemetry without baseData and baseType\");\r\n return;\r\n }\r\n if (!telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n // Default\r\n telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */] = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self[_DYN__SENDER /* @min:%2e_sender */]) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender was not initialized\");\r\n return;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 33 /* _eInternalMessageId.TelemetrySampledAndNotSent */, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] });\r\n return;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */];\r\n }\r\n var convertUndefined = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_CONVERT_UNDEFINED /* @min:%2econvertUndefined */]() || undefined;\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]();\r\n var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, convertUndefined);\r\n if (!aiEnvelope_1) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 47 /* _eInternalMessageId.CreateEnvelopeError */, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem_1 = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem[_DYN_TAGS /* @min:%2etags */] && telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy]) {\r\n arrForEach(telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope_1) === false) {\r\n doNotSendItem_1 = true;\r\n _warnToConsole(diagLogger, \"Telemetry processor check returns false\");\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy];\r\n }\r\n if (doNotSendItem_1) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer.serialize(aiEnvelope_1);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var bufferSize = buffer.size();\r\n if ((bufferSize + payload[_DYN_LENGTH /* @min:%2elength */]) > _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */]()) {\r\n if (!_offlineListener || _offlineListener[_DYN_IS_ONLINE /* @min:%2eisOnline */]()) { // only trigger send when currently online\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n }\r\n // enqueue the payload\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self[_DYN__XHR_READY_STATE_CHA6 /* @min:%2e_xhrReadyStateChange */] = function (xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */] = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n if (!_paused) {\r\n try {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n // Send data only if disableTelemetry is false\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_DISABLE_TELEMETRY /* @min:%2edisableTelemetry */]()) {\r\n if (buffer[_DYN_COUNT /* @min:%2ecount */]() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* SendRequestReason.Undefined */, async);\r\n // invoke send\r\n if (forcedSender) {\r\n forcedSender.call(_self, payload, async);\r\n }\r\n else {\r\n _self[_DYN__SENDER /* @min:%2e_sender */](payload, async);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _self.onunloadFlush();\r\n _offlineListener.unload();\r\n _initDefaults();\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */] = function (payload, message, event) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */] = function (payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n }\r\n if (payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]);\r\n }\r\n if (failed[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](failed, _formatErrorMessageXhr(null, [\"partial success\", results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */], \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _resendPayload(retry);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Partial success. \" +\r\n \"Delivered: \" + payload[_DYN_LENGTH /* @min:%2elength */] + \", Failed: \" + failed[_DYN_LENGTH /* @min:%2elength */] +\r\n \". Will retry to send \" + retry[_DYN_LENGTH /* @min:%2elength */] + \" our of \" + results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] + \" items\");\r\n }\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */] = function (payload, countOfItemsInPayload) {\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, 0);\r\n }\r\n else {\r\n var results = _parseResponse(responseText);\r\n if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]\r\n && !_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, results);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n };\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = _parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]() && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload[_DYN_LENGTH /* @min:%2elength */] + \" items.\");\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else if (_offlineListener && !_offlineListener[_DYN_IS_ONLINE /* @min:%2eisOnline */]()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". Offline - Response Code: \".concat(status, \". Offline status: \").concat(!_offlineListener.isOnline(), \". Will retry to send \").concat(payload.length, \" items.\"));\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = _parseResponse(res);\r\n }\r\n if (response && !_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, response);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]()) {\r\n _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = function () { return responseUrl; };\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n _beaconSender(payload, isAsync);\r\n }\r\n }\r\n function _doBeaconSend(payload) {\r\n var nav = getNavigator();\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var url = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n var plainTextBatch = new Blob([batch], { type: \"text/plain;charset=UTF-8\" });\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n var queued = nav.sendBeacon(url, plainTextBatch);\r\n if (queued) {\r\n buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n // no response from beaconSender, clear buffer\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n return queued;\r\n }\r\n /**\r\n * Send Beacon API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n * Note: Beacon API does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _beaconSender(payload, isAsync) {\r\n if (isArray(payload) && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n if (!_doBeaconSend(payload)) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var thePayload = payload[lp];\r\n if (!_doBeaconSend([thePayload])) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload[_DYN_PUSH /* @min:%2epush */](thePayload);\r\n }\r\n }\r\n if (droppedPayload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _fallbackSender && _fallbackSender(droppedPayload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n */\r\n function _xhrSender(payload, isAsync) {\r\n var xhr = new XMLHttpRequest();\r\n var endPointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n try {\r\n xhr[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n xhr.open(\"POST\", endPointUrl, isAsync);\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](\"Content-type\", \"application/json\");\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */], RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */]);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](headerName, _headers[headerName]);\r\n });\r\n xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH /* @min:%2elength */]); };\r\n xhr.onerror = function (event) { return _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXhr(xhr), event); };\r\n // compose an array of payloads\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n xhr.send(batch);\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n if (isArray(payload)) {\r\n var payloadSize = payload[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n payloadSize += payload[lp][_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n _doFetchSender(payload, false);\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n _beaconSender(payload, isAsync);\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n _fallbackSender && _fallbackSender(payload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n }\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n */\r\n function _fetchSender(payload, isAsync) {\r\n _doFetchSender(payload, true);\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - For fetch this identifies whether we are \"unloading\" (false) or a normal request\r\n */\r\n function _doFetchSender(payload, isAsync) {\r\n var _a;\r\n var endPointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n var plainTextBatch = new Blob([batch], { type: \"application/json\" });\r\n var requestHeaders = new Headers();\r\n var batchLength = batch[_DYN_LENGTH /* @min:%2elength */];\r\n var ignoreResponse = false;\r\n var responseHandled = false;\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n requestHeaders.append(RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */], RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */]);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n requestHeaders.append(headerName, _headers[headerName]);\r\n });\r\n var init = (_a = {\r\n method: \"POST\",\r\n headers: requestHeaders,\r\n body: plainTextBatch\r\n },\r\n _a[DisabledPropertyName] = true // Mark so we don't attempt to track this request\r\n ,\r\n _a);\r\n if (!isAsync) {\r\n init.keepalive = true;\r\n // As a sync request (during unload), it is unlikely that we will get a chance to process the response so\r\n // just like beacon send assume that the events have been accepted and processed\r\n ignoreResponse = true;\r\n _syncFetchPayload += batchLength;\r\n }\r\n var request = new Request(endPointUrl, init);\r\n try {\r\n // Also try and tag the request (just in case the value in init is not copied over)\r\n request[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n try {\r\n fetch(request).then(function (response) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n /**\r\n * The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500.\r\n * Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure\r\n * or if anything prevented the request from completing.\r\n */\r\n if (!response.ok) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, response.statusText);\r\n }\r\n else {\r\n response.text().then(function (text) {\r\n _checkResponsStatus(response.status, payload, response.url, payload[_DYN_LENGTH /* @min:%2elength */], response.statusText, text);\r\n });\r\n }\r\n }\r\n })[\"catch\"](function (error) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, error.message);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n if (!responseHandled) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, dumpObj(e));\r\n }\r\n }\r\n if (ignoreResponse && !responseHandled) {\r\n // Assume success during unload processing as we most likely won't get the response\r\n responseHandled = true;\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n }\r\n /**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\n function _parseResponse(response) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = getJSON().parse(response);\r\n if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */] &&\r\n result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH /* @min:%2elength */]) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 43 /* _eInternalMessageId.InvalidBackendResponse */, \"Cannot parse the response. \" + getExceptionName(e), {\r\n response: response\r\n });\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return;\r\n }\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = Math.max(Math.min(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;\r\n var timerValue = Math.max(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_MAX_BATCH_INTERVAL /* @min:%2emaxBatchInterval */](), retryInterval);\r\n _timeoutHandle = setTimeout(function () {\r\n _timeoutHandle = null;\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 1 /* SendRequestReason.NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n clearTimeout(_timeoutHandle);\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n // retryCodes = [] means should not retry\r\n if (!isNullOrUndefined(_retryCodes)) {\r\n return _retryCodes[_DYN_LENGTH /* @min:%2elength */] && arrIndexOf(_retryCodes, statusCode) > -1;\r\n }\r\n return statusCode === 401 // Unauthorized\r\n // Removing as private links can return a 403 which causes excessive retries and session storage usage\r\n //|| statusCode === 403 // Forbidden\r\n || statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 502 // Bad Gateway.\r\n || statusCode === 503 // Service unavailable.\r\n || statusCode === 504; // Gateway timeout.\r\n }\r\n function _formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr.status + \",Response:\" + _getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n }\r\n /**\r\n * Send XDomainRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n *\r\n * Note: XDomainRequest does not support sync requests. This 'isAsync' parameter is added\r\n * to maintain consistency with the xhrSender's contract\r\n * Note: XDomainRequest does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _xdrSender(payload, isAsync) {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };\r\n xdr.onerror = function (event) { return _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXdr(xdr), event); };\r\n // XDomainRequest requires the same protocol as the hosting page.\r\n // If the protocol doesn't match, we can't send the telemetry :(.\r\n var hostingProtocol = _window && _window.location && _window.location.protocol || \"\";\r\n if (_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]().lastIndexOf(hostingProtocol, 0) !== 0) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\");\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n return;\r\n }\r\n var endpointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]().replace(/^(https?:)/, \"\");\r\n xdr.open(\"POST\", endpointUrl);\r\n // compose an array of payloads\r\n var batch = buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n xdr.send(batch);\r\n buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n function _formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + _getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n if (_self.core[func]) {\r\n return _self.core[func]();\r\n }\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n return _self.core[\"_notificationManager\"];\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */]) {\r\n try {\r\n manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 74 /* _eInternalMessageId.NotificationException */, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(config) {\r\n var disableIKeyValidationFlag = isNullOrUndefined(config[_DYN_DISABLE_INSTRUMENTAT7 /* @min:%2edisableInstrumentationKeyValidation */]) ? false : config[_DYN_DISABLE_INSTRUMENTAT7 /* @min:%2edisableInstrumentationKeyValidation */];\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]);\r\n }\r\n function _initDefaults() {\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = null;\r\n _self._appId = null;\r\n _self._sample = null;\r\n _headers = {};\r\n _offlineListener = null;\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = null;\r\n _paused = false;\r\n _timeoutHandle = null;\r\n _serializer = null;\r\n _stamp_specific_redirects = 0;\r\n _syncFetchPayload = 0;\r\n _fallbackSender = null;\r\n _syncUnloadSender = null;\r\n _evtNamespace = null;\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n// Removed Stub for Sender.prototype.pause.\r\n// Removed Stub for Sender.prototype.resume.\r\n// Removed Stub for Sender.prototype.flush.\r\n// Removed Stub for Sender.prototype.onunloadFlush.\r\n// Removed Stub for Sender.prototype.initialize.\r\n// Removed Stub for Sender.prototype.processTelemetry.\r\n// Removed Stub for Sender.prototype._xhrReadyStateChange.\r\n// Removed Stub for Sender.prototype.triggerSend.\r\n// Removed Stub for Sender.prototype._onError.\r\n// Removed Stub for Sender.prototype._onPartialSuccess.\r\n// Removed Stub for Sender.prototype._onSuccess.\r\n// Removed Stub for Sender.prototype._xdrOnLoad.\r\n// Removed Stub for Sender.prototype.addHeader.\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _throwInternal, getJSON, isArray, isFunction, isObject, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_STRINGIFY, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self.serialize = function (input) {\r\n var output = _serializeObject(input, \"root\");\r\n try {\r\n return getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n function _serializeObject(source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 50 /* _eInternalMessageId.CircularReferenceDetected */, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(source, name);\r\n }\r\n else {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var isRequired = (isFunction(contract)) ? (contract() & 1 /* FieldType.Required */) : (contract & 1 /* FieldType.Required */);\r\n var isHidden = (isFunction(contract)) ? (contract() & 4 /* FieldType.Hidden */) : (contract & 4 /* FieldType.Hidden */);\r\n var isArray = contract & 2 /* FieldType.Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 24 /* _eInternalMessageId.MissingRequiredFieldSpecification */, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n }\r\n function _serializeArray(sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 54 /* _eInternalMessageId.ItemNotInArray */, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(source, name + \"[\" + i + \"]\");\r\n output[_DYN_PUSH /* @min:%2epush */](item);\r\n }\r\n }\r\n }\r\n return output;\r\n }\r\n function _serializeStringMap(map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n if (expectedType === \"string\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else if (!value[_DYN_TO_STRING /* @min:%2etoString */]) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n }\r\n else if (expectedType === \"number\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else {\r\n var num = parseFloat(value);\r\n if (isNaN(num)) {\r\n output[field] = \"NaN\";\r\n }\r\n else {\r\n output[field] = num;\r\n }\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, output[field], null, true);\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n });\r\n }\r\n// Removed Stub for Serializer.prototype.serialize.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n Serializer.__ieDyn=1;\n\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_LENGTH } from \"../../__DynamicConstants\";\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\nvar HashCodeScoreGenerator = /** @class */ (function () {\r\n function HashCodeScoreGenerator() {\r\n }\r\n HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {\r\n var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;\r\n return score * 100;\r\n };\r\n HashCodeScoreGenerator.prototype.getHashCode = function (input) {\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n while (input[_DYN_LENGTH /* @min:%2elength */] < MIN_INPUT_LENGTH) {\r\n input = input.concat(input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n return Math.abs(hash);\r\n };\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;\r\n return HashCodeScoreGenerator;\r\n}());\r\nexport { HashCodeScoreGenerator };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-common\";\r\nimport { _DYN_GET_HASH_CODE_SCORE, _DYN_GET_SAMPLING_SCORE, _DYN_TAGS, _DYN_TRACE_ID } from \"../../__DynamicConstants\";\r\nimport { HashCodeScoreGenerator } from \"./HashCodeScoreGenerator\";\r\nvar SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n var _self = this;\r\n var hashCodeGenerator = new HashCodeScoreGenerator();\r\n var keys = new ContextTagKeys();\r\n _self[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */] = function (item) {\r\n var score = 0;\r\n if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.userId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = hashCodeGenerator[_DYN_GET_HASH_CODE_SCORE /* @min:%2egetHashCodeScore */](item.ext.user.id);\r\n }\r\n else if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.operationId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n };\r\n }\r\n return SamplingScoreGenerator;\r\n}());\r\nexport { SamplingScoreGenerator };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { Metric } from \"@microsoft/applicationinsights-common\";\r\nimport { safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DATA_TYPE, _DYN_GET_SAMPLING_SCORE, _DYN_SAMPLE_RATE } from \"../__DynamicConstants\";\r\nimport { SamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nvar Sample = /** @class */ (function () {\r\n function Sample(sampleRate, logger) {\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n this.INT_MAX_VALUE = 2147483647;\r\n var _logger = logger || safeGetLogger(null);\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _logger.throwInternal(2 /* eLoggingSeverity.WARNING */, 58 /* _eInternalMessageId.SampleRateOutOfRange */, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator();\r\n }\r\n /**\r\n * Determines if an envelope is sampled in (i.e. will be sent) or not (i.e. will be dropped).\r\n */\r\n Sample.prototype.isSampledIn = function (envelope) {\r\n var samplingPercentage = this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */]; // 0 - 100\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n return true;\r\n }\r\n else if (envelope.baseType === Metric[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n // exclude MetricData telemetry from sampling\r\n return true;\r\n }\r\n isSampledIn = this.samplingScoreGenerator[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */](envelope) < samplingPercentage;\r\n return isSampledIn;\r\n };\r\n return Sample;\r\n}());\r\nexport { Sample };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrReduce, objKeys, strEndsWith } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT } from \"./Constants\";\r\nimport { _DYN_INGESTIONENDPOINT, _DYN_LENGTH, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _FIELDS_SEPARATOR = \";\";\r\nvar _FIELD_KEY_VALUE_SEPARATOR = \"=\";\r\nexport function parseConnectionString(connectionString) {\r\n if (!connectionString) {\r\n return {};\r\n }\r\n var kvPairs = connectionString[_DYN_SPLIT /* @min:%2esplit */](_FIELDS_SEPARATOR);\r\n var result = arrReduce(kvPairs, function (fields, kv) {\r\n var kvParts = kv[_DYN_SPLIT /* @min:%2esplit */](_FIELD_KEY_VALUE_SEPARATOR);\r\n if (kvParts[_DYN_LENGTH /* @min:%2elength */] === 2) { // only save fields with valid formats\r\n var key = kvParts[0][_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = kvParts[1];\r\n fields[key] = value;\r\n }\r\n return fields;\r\n }, {});\r\n if (objKeys(result)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // this is a valid connection string, so parse the results\r\n if (result.endpointsuffix) {\r\n // use endpoint suffix where overrides are not provided\r\n var locationPrefix = result.location ? result.location + \".\" : \"\";\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || (\"https://\" + locationPrefix + \"dc.\" + result.endpointsuffix);\r\n if (strEndsWith(result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */], \"/\")) {\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */].slice(0, -1);\r\n }\r\n }\r\n // apply the default endpoints\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || DEFAULT_BREEZE_ENDPOINT;\r\n }\r\n return result;\r\n}\r\nexport var ConnectionStringParser = {\r\n parse: parseConnectionString\r\n};\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Defines the level of severity for the event.\r\n */\r\nexport var SeverityLevel = createEnumStyle({\r\n Verbose: 0 /* eSeverityLevel.Verbose */,\r\n Information: 1 /* eSeverityLevel.Information */,\r\n Warning: 2 /* eSeverityLevel.Warning */,\r\n Error: 3 /* eSeverityLevel.Error */,\r\n Critical: 4 /* eSeverityLevel.Critical */\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// \r\nimport { _DYN_CONFIG, _DYN_CREATE_NEW, _DYN_FLUSH, _DYN_IDENTIFIER, _DYN_LENGTH, _DYN_ON_COMPLETE, _DYN_PROCESS_NEXT, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { arrForEach, isArray, objFreeze, throwError } from \"./HelperFuncs\";\r\nimport { STR_PRIORITY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { initializePlugins } from \"./TelemetryHelpers\";\r\nexport var ChannelControllerPriority = 500;\r\nvar ChannelValidationMessage = \"Channel has invalid priority - \";\r\nfunction _addChannelQueue(channelQueue, queue, core) {\r\n if (queue && isArray(queue) && queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n queue = queue.sort(function (a, b) {\r\n return a[STR_PRIORITY /* @min:%2epriority */] - b[STR_PRIORITY /* @min:%2epriority */];\r\n });\r\n arrForEach(queue, function (queueItem) {\r\n if (queueItem[STR_PRIORITY /* @min:%2epriority */] < ChannelControllerPriority) {\r\n throwError(ChannelValidationMessage + queueItem[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n }\r\n });\r\n channelQueue[_DYN_PUSH /* @min:%2epush */]({\r\n queue: objFreeze(queue),\r\n chain: createTelemetryProxyChain(queue, core[_DYN_CONFIG /* @min:%2econfig */], core)\r\n });\r\n }\r\n}\r\nexport function createChannelControllerPlugin(channelQueue, core) {\r\n function _getTelCtx() {\r\n return createProcessTelemetryContext(null, core[_DYN_CONFIG /* @min:%2econfig */], core, null);\r\n }\r\n function _processChannelQueue(theChannels, itemCtx, processFn, onComplete) {\r\n var waiting = theChannels ? (theChannels[_DYN_LENGTH /* @min:%2elength */] + 1) : 1;\r\n function _runChainOnComplete() {\r\n waiting--;\r\n if (waiting === 0) {\r\n onComplete && onComplete();\r\n onComplete = null;\r\n }\r\n }\r\n if (waiting > 0) {\r\n arrForEach(theChannels, function (channels) {\r\n // pass on to first item in queue\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var channelChain = channels.chain;\r\n var chainCtx = itemCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](channelChain);\r\n chainCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_runChainOnComplete);\r\n // Cause this chain to start processing\r\n processFn(chainCtx);\r\n }\r\n else {\r\n waiting--;\r\n }\r\n });\r\n }\r\n _runChainOnComplete();\r\n }\r\n function _doUpdate(updateCtx, updateState) {\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n _processChannelQueue(channelQueue, updateCtx, function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUpdateState);\r\n }, function () {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUpdateState);\r\n });\r\n return true;\r\n }\r\n function _doTeardown(unloadCtx, unloadState) {\r\n var theUnloadState = unloadState || {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */,\r\n isAsync: false\r\n };\r\n _processChannelQueue(channelQueue, unloadCtx, function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }, function () {\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n isInitialized = false;\r\n });\r\n return true;\r\n }\r\n function _getChannel(pluginIdentifier) {\r\n var thePlugin = null;\r\n if (channelQueue && channelQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channelQueue, function (channels) {\r\n // pass on to first item in queue\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channels.queue, function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier) {\r\n thePlugin = ext;\r\n // Cause arrForEach to stop iterating\r\n return -1;\r\n }\r\n });\r\n if (thePlugin) {\r\n // Cause arrForEach to stop iterating\r\n return -1;\r\n }\r\n }\r\n });\r\n }\r\n return thePlugin;\r\n }\r\n var isInitialized = false;\r\n var channelController = {\r\n identifier: \"ChannelControllerPlugin\",\r\n priority: ChannelControllerPriority,\r\n initialize: function (config, core, extensions, pluginChain) {\r\n isInitialized = true;\r\n arrForEach(channelQueue, function (channels) {\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n initializePlugins(createProcessTelemetryContext(channels.chain, config, core), extensions);\r\n }\r\n });\r\n },\r\n isInitialized: function () {\r\n return isInitialized;\r\n },\r\n processTelemetry: function (item, itemCtx) {\r\n _processChannelQueue(channelQueue, itemCtx || _getTelCtx(), function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item);\r\n }, function () {\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item);\r\n });\r\n },\r\n update: _doUpdate,\r\n pause: function () {\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n plugin.pause && plugin.pause();\r\n });\r\n }, null);\r\n },\r\n resume: function () {\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n plugin.resume && plugin.resume();\r\n });\r\n }, null);\r\n },\r\n teardown: _doTeardown,\r\n getChannel: _getChannel,\r\n flush: function (isAsync, callBack, sendReason, cbTimeout) {\r\n // Setting waiting to one so that we don't call the callBack until we finish iterating\r\n var waiting = 1;\r\n var doneIterating = false;\r\n var cbTimer = null;\r\n cbTimeout = cbTimeout || 5000;\r\n function doCallback() {\r\n waiting--;\r\n if (doneIterating && waiting === 0) {\r\n if (cbTimer) {\r\n clearTimeout(cbTimer);\r\n cbTimer = null;\r\n }\r\n callBack && callBack(doneIterating);\r\n callBack = null;\r\n }\r\n }\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n if (plugin[_DYN_FLUSH /* @min:%2eflush */]) {\r\n waiting++;\r\n var handled_1 = false;\r\n // Not all channels will call this callback for every scenario\r\n if (!plugin[_DYN_FLUSH /* @min:%2eflush */](isAsync, function () {\r\n handled_1 = true;\r\n doCallback();\r\n }, sendReason)) {\r\n if (!handled_1) {\r\n // If any channel doesn't return true and it didn't call the callback, then we should assume that the callback\r\n // will never be called, so use a timeout to allow the channel(s) some time to \"finish\" before triggering any\r\n // followup function (such as unloading)\r\n if (isAsync && cbTimer == null) {\r\n cbTimer = setTimeout(function () {\r\n cbTimer = null;\r\n doCallback();\r\n }, cbTimeout);\r\n }\r\n else {\r\n doCallback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }, function () {\r\n doneIterating = true;\r\n doCallback();\r\n });\r\n return true;\r\n },\r\n _setQueue: function (queue) {\r\n channelQueue = queue;\r\n }\r\n };\r\n return channelController;\r\n}\r\nexport function createChannelQueues(channels, extensions, core) {\r\n var channelQueue = [];\r\n if (channels) {\r\n // Add and sort the configuration channel queues\r\n arrForEach(channels, function (queue) { return _addChannelQueue(channelQueue, queue, core); });\r\n }\r\n if (extensions) {\r\n // Create a new channel queue for any extensions with a priority > the ChannelControllerPriority\r\n var extensionQueue_1 = [];\r\n arrForEach(extensions, function (plugin) {\r\n if (plugin[STR_PRIORITY /* @min:%2epriority */] > ChannelControllerPriority) {\r\n extensionQueue_1[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n });\r\n _addChannelQueue(channelQueue, extensionQueue_1, core);\r\n }\r\n return channelQueue;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n// \r\n// \r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_APPLY, _DYN_DIAG_LOG, _DYN_LENGTH, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SPLICE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { BaseTelemetryPlugin } from \"./BaseTelemetryPlugin\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach, getExceptionName } from \"./HelperFuncs\";\r\nimport { STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nvar TelemetryInitializerPlugin = /** @class */ (function (_super) {\r\n __extends(TelemetryInitializerPlugin, _super);\r\n function TelemetryInitializerPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"TelemetryInitializerPlugin\";\r\n _this.priority = 199;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _id;\r\n var _initializers;\r\n _initDefaults();\r\n dynamicProto(TelemetryInitializerPlugin, _this, function (_self, _base) {\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n var theInitializer = {\r\n id: _id++,\r\n fn: telemetryInitializer\r\n };\r\n _initializers[_DYN_PUSH /* @min:%2epush */](theInitializer);\r\n var handler = {\r\n remove: function () {\r\n arrForEach(_initializers, function (initializer, idx) {\r\n if (initializer.id === theInitializer.id) {\r\n _initializers[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n return handler;\r\n };\r\n _self[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */] = function (item, itemCtx) {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _initializers[_DYN_LENGTH /* @min:%2elength */];\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _initializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.fn[_DYN_APPLY /* @min:%2eapply */](null, [item]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n if (!doNotSendItem) {\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item, itemCtx);\r\n }\r\n };\r\n _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] = function () {\r\n _initDefaults();\r\n };\r\n });\r\n function _initDefaults() {\r\n _id = 0;\r\n _initializers = [];\r\n }\r\n return _this;\r\n }\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.processTelemetry.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n TelemetryInitializerPlugin.__ieDyn=1;\n\n return TelemetryInitializerPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { TelemetryInitializerPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { __spreadArrayFn as __spreadArray } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { objCreateFn } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CONFIG, _DYN_FLUSH, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT0, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_ON_COMPLETE, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SET_ENABLED, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN__EXTENSIONS } from \"../__DynamicConstants\";\r\nimport { ChannelControllerPriority, createChannelControllerPlugin, createChannelQueues } from \"./ChannelController\";\r\nimport { createCookieMgr } from \"./CookieMgr\";\r\nimport { createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDebugListener } from \"./DbgExtensionUtils\";\r\nimport { DiagnosticLogger, _InternalLogMessage, _throwInternal, _warnToConsole } from \"./DiagnosticLogger\";\r\nimport { arrForEach, arrIndexOf, getCfgValue, getSetValue, isFunction, isNullOrUndefined, objExtend, objFreeze, proxyFunctionAs, proxyFunctions, throwError, toISOString } from \"./HelperFuncs\";\r\nimport { STR_CHANNELS, STR_CORE, STR_CREATE_PERF_MGR, STR_DISABLED, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_EXTENSIONS, STR_EXTENSION_CONFIG, STR_GET_PERF_MGR, STR_PRIORITY } from \"./InternalConstants\";\r\nimport { PerfManager, getGblPerfMgr } from \"./PerfManager\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { _getPluginState, createDistributedTraceContext, initializePlugins, sortPlugins } from \"./TelemetryHelpers\";\r\nimport { TelemetryInitializerPlugin } from \"./TelemetryInitializerPlugin\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nvar strValidationError = \"Plugins must provide initialize method\";\r\nvar strNotificationManager = \"_notificationManager\";\r\nvar strSdkUnloadingError = \"SDK is still unloading...\";\r\nvar strSdkNotInitialized = \"SDK is not initialized\";\r\n// const strPluginUnloadFailed = \"Failed to unload plugin\";\r\nvar defaultInitConfig = {\r\n // Have the Diagnostic Logger default to log critical errors to the console\r\n loggingLevelConsole: 1 /* eLoggingSeverity.CRITICAL */\r\n};\r\n/**\r\n * Helper to create the default performance manager\r\n * @param core\r\n * @param notificationMgr\r\n */\r\nfunction _createPerfManager(core, notificationMgr) {\r\n return new PerfManager(notificationMgr);\r\n}\r\nfunction _validateExtensions(logger, channelPriority, allExtensions) {\r\n var _a;\r\n // Concat all available extensions\r\n var coreExtensions = [];\r\n // Check if any two extensions have the same priority, then warn to console\r\n // And extract the local extensions from the\r\n var extPriorities = {};\r\n // Extension validation\r\n arrForEach(allExtensions, function (ext) {\r\n // Check for ext.initialize\r\n if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE /* @min:%2einitialize */])) {\r\n throwError(strValidationError);\r\n }\r\n var extPriority = ext[STR_PRIORITY /* @min:%2epriority */];\r\n var identifier = ext[_DYN_IDENTIFIER /* @min:%2eidentifier */];\r\n if (ext && extPriority) {\r\n if (!isNullOrUndefined(extPriorities[extPriority])) {\r\n _warnToConsole(logger, \"Two extensions have same priority #\" + extPriority + \" - \" + extPriorities[extPriority] + \", \" + identifier);\r\n }\r\n else {\r\n // set a value\r\n extPriorities[extPriority] = identifier;\r\n }\r\n }\r\n // Split extensions to core and channelController\r\n if (!extPriority || extPriority < channelPriority) {\r\n // Add to core extension that will be managed by BaseCore\r\n coreExtensions[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n return _a = {\r\n all: allExtensions\r\n },\r\n _a[STR_CORE /* @min:core */] = coreExtensions,\r\n _a;\r\n}\r\nfunction _isPluginPresent(thePlugin, plugins) {\r\n var exists = false;\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin === thePlugin) {\r\n exists = true;\r\n return -1;\r\n }\r\n });\r\n return exists;\r\n}\r\nfunction _createDummyNotificationManager() {\r\n var _a;\r\n return objCreateFn((_a = {},\r\n _a[_DYN_ADD_NOTIFICATION_LIS1 /* @min:addNotificationListener */] = function (listener) { },\r\n _a[_DYN_REMOVE_NOTIFICATION_2 /* @min:removeNotificationListener */] = function (listener) { },\r\n _a[STR_EVENTS_SENT /* @min:eventsSent */] = function (events) { },\r\n _a[STR_EVENTS_DISCARDED /* @min:eventsDiscarded */] = function (events, reason) { },\r\n _a[STR_EVENTS_SEND_REQUEST /* @min:eventsSendRequest */] = function (sendReason, isAsync) { },\r\n _a));\r\n}\r\nvar BaseCore = /** @class */ (function () {\r\n function BaseCore() {\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _config;\r\n var _isInitialized;\r\n var _eventQueue;\r\n var _notificationManager;\r\n var _perfManager;\r\n var _cfgPerfManager;\r\n var _cookieManager;\r\n var _pluginChain;\r\n var _configExtensions;\r\n var _coreExtensions;\r\n var _channelControl;\r\n var _channelConfig;\r\n var _channelQueue;\r\n var _isUnloading;\r\n var _telemetryInitializerPlugin;\r\n var _internalLogsEventName;\r\n var _evtNamespace;\r\n var _unloadHandlers;\r\n var _debugListener;\r\n var _traceCtx;\r\n /**\r\n * Internal log poller\r\n */\r\n var _internalLogPoller = 0;\r\n var _forceStopInternalLogPoller = false;\r\n dynamicProto(BaseCore, this, function (_self) {\r\n // Set the default values (also called during teardown)\r\n _initDefaults();\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () { return _isInitialized; };\r\n // Creating the self.initialize = ()\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n if (_isUnloading) {\r\n throwError(strSdkUnloadingError);\r\n }\r\n // Make sure core is only initialized once\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n throwError(\"Core should not be initialized more than once\");\r\n }\r\n _config = config || {};\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = _config;\r\n if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */])) {\r\n throwError(\"Please provide instrumentation key\");\r\n }\r\n _notificationManager = notificationManager;\r\n // For backward compatibility only\r\n _self[strNotificationManager] = notificationManager;\r\n _initDebugListener();\r\n _initPerfManager();\r\n // add notification to the extensions in the config so other plugins can access it\r\n _initExtConfig();\r\n if (logger) {\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = logger;\r\n }\r\n var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []);\r\n // Extension validation\r\n _configExtensions = [];\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */].apply(_configExtensions, __spreadArray(__spreadArray([], extensions, false), cfgExtensions, false));\r\n _channelConfig = getSetValue(_config, STR_CHANNELS, []);\r\n _initPluginChain(null);\r\n if (!_channelQueue || _channelQueue[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n throwError(\"No \" + STR_CHANNELS + \" available\");\r\n }\r\n _isInitialized = true;\r\n _self.releaseQueue();\r\n };\r\n _self.getTransmissionControls = function () {\r\n var controls = [];\r\n if (_channelQueue) {\r\n arrForEach(_channelQueue, function (channels) {\r\n controls[_DYN_PUSH /* @min:%2epush */](channels.queue);\r\n });\r\n }\r\n return objFreeze(controls);\r\n };\r\n _self.track = function (telemetryItem) {\r\n // setup default iKey if not passed in\r\n telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n // add default timestamp if not passed in\r\n telemetryItem[_DYN_TIME /* @min:%2etime */] = telemetryItem[_DYN_TIME /* @min:%2etime */] || toISOString(new Date());\r\n // Common Schema 4.0\r\n telemetryItem.ver = telemetryItem.ver || \"4.0\";\r\n if (!_isUnloading && _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n // Process the telemetry plugin chain\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](telemetryItem);\r\n }\r\n else {\r\n // Queue events until all extensions are initialized\r\n _eventQueue[_DYN_PUSH /* @min:%2epush */](telemetryItem);\r\n }\r\n };\r\n _self[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */] = _createTelCtx;\r\n _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {\r\n if (!_notificationManager) {\r\n // Create Dummy notification manager\r\n _notificationManager = _createDummyNotificationManager();\r\n // For backward compatibility only\r\n _self[strNotificationManager] = _notificationManager;\r\n }\r\n return _notificationManager;\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param {INotificationListener} listener - An INotificationListener object.\r\n */\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);\r\n }\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - INotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](listener);\r\n }\r\n };\r\n _self.getCookieMgr = function () {\r\n if (!_cookieManager) {\r\n _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return _cookieManager;\r\n };\r\n _self.setCookieMgr = function (cookieMgr) {\r\n _cookieManager = cookieMgr;\r\n };\r\n _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {\r\n if (!_perfManager && !_cfgPerfManager) {\r\n if (getCfgValue(_config.enablePerfMgr)) {\r\n var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */]);\r\n if (isFunction(createPerfMgr)) {\r\n _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());\r\n }\r\n }\r\n }\r\n return _perfManager || _cfgPerfManager || getGblPerfMgr();\r\n };\r\n _self.setPerfMgr = function (perfMgr) {\r\n _perfManager = perfMgr;\r\n };\r\n _self.eventCnt = function () {\r\n return _eventQueue[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.releaseQueue = function () {\r\n if (_isInitialized && _eventQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var eventQueue = _eventQueue;\r\n _eventQueue = [];\r\n arrForEach(eventQueue, function (event) {\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](event);\r\n });\r\n }\r\n };\r\n _self.pollInternalLogs = function (eventName) {\r\n _internalLogsEventName = eventName || null;\r\n _forceStopInternalLogPoller = false;\r\n if (_internalLogPoller) {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = null;\r\n }\r\n return _startInternalLogTimer(true);\r\n };\r\n function _startInternalLogTimer(alwaysStart) {\r\n if (!_internalLogPoller && !_forceStopInternalLogPoller) {\r\n var shouldStart = alwaysStart || (_self[_DYN_LOGGER /* @min:%2elogger */] && _self[_DYN_LOGGER /* @min:%2elogger */].queue[_DYN_LENGTH /* @min:%2elength */] > 0);\r\n if (shouldStart) {\r\n var interval = getCfgValue(_config.diagnosticLogInterval);\r\n if (!interval || !(interval > 0)) {\r\n interval = 10000;\r\n }\r\n // Keeping as an interval timer for backward compatibility as it returns the result\r\n _internalLogPoller = setInterval(function () {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = 0;\r\n _flushInternalLogs();\r\n }, interval);\r\n }\r\n }\r\n return _internalLogPoller;\r\n }\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */] = function () {\r\n _forceStopInternalLogPoller = true;\r\n if (_internalLogPoller) {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = 0;\r\n _flushInternalLogs();\r\n }\r\n };\r\n // Add addTelemetryInitializer\r\n proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, [\"addTelemetryInitializer\"]);\r\n _self.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_isInitialized) {\r\n // The SDK is not initialized\r\n throwError(strSdkNotInitialized);\r\n }\r\n // Check if the SDK still unloading so throw\r\n if (_isUnloading) {\r\n // The SDK is already unloading\r\n throwError(strSdkUnloadingError);\r\n }\r\n var unloadState = (_a = {\r\n reason: 50 /* TelemetryUnloadReason.SdkUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a.flushComplete = false,\r\n _a);\r\n var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);\r\n processUnloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n _initDefaults();\r\n unloadComplete && unloadComplete(unloadState);\r\n }, _self);\r\n function _doUnload(flushComplete) {\r\n unloadState.flushComplete = flushComplete;\r\n _isUnloading = true;\r\n // Run all of the unload handlers first (before unloading the plugins)\r\n _unloadHandlers.run(processUnloadCtx, unloadState);\r\n // Stop polling the internal logs\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */]();\r\n // Start unloading the components, from this point onwards the SDK should be considered to be in an unstable state\r\n processUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n _flushInternalLogs();\r\n if (!_flushChannels(isAsync, _doUnload, 6 /* SendRequestReason.SdkUnload */, cbTimeout)) {\r\n _doUnload(false);\r\n }\r\n };\r\n _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */] = _getPlugin;\r\n _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {\r\n if (!plugin) {\r\n addCb && addCb(false);\r\n _logOrThrowError(strValidationError);\r\n return;\r\n }\r\n var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n if (existingPlugin && !replaceExisting) {\r\n addCb && addCb(false);\r\n _logOrThrowError(\"Plugin [\" + plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"] is already loaded!\");\r\n return;\r\n }\r\n var updateState = {\r\n reason: 16 /* TelemetryUpdateReason.PluginAdded */\r\n };\r\n function _addPlugin(removed) {\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n updateState.added = [plugin];\r\n // Re-Initialize the plugin chain\r\n _initPluginChain(updateState);\r\n addCb && addCb(true);\r\n }\r\n if (existingPlugin) {\r\n var removedPlugins_1 = [existingPlugin.plugin];\r\n var unloadState = {\r\n reason: 2 /* TelemetryUnloadReason.PluginReplace */,\r\n isAsync: !!isAsync\r\n };\r\n _removePlugins(removedPlugins_1, unloadState, function (removed) {\r\n if (!removed) {\r\n // Previous plugin was successfully removed or was not installed\r\n addCb && addCb(false);\r\n }\r\n else {\r\n updateState.removed = removedPlugins_1;\r\n updateState.reason |= 32 /* TelemetryUpdateReason.PluginRemoved */;\r\n _addPlugin(true);\r\n }\r\n });\r\n }\r\n else {\r\n _addPlugin(false);\r\n }\r\n };\r\n _self.evtNamespace = function () {\r\n return _evtNamespace;\r\n };\r\n _self[_DYN_FLUSH /* @min:%2eflush */] = _flushChannels;\r\n _self.getTraceCtx = function (createNew) {\r\n if (!_traceCtx) {\r\n _traceCtx = createDistributedTraceContext();\r\n }\r\n return _traceCtx;\r\n };\r\n _self.setTraceCtx = function (traceCtx) {\r\n _traceCtx = traceCtx || null;\r\n };\r\n // Create the addUnloadCb\r\n proxyFunctionAs(_self, \"addUnloadCb\", function () { return _unloadHandlers; }, \"add\");\r\n function _initDefaults() {\r\n _isInitialized = false;\r\n // Use a default logger so initialization errors are not dropped on the floor with full logging\r\n _config = objExtend(true, {}, defaultInitConfig);\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = _config;\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = new DiagnosticLogger(_config);\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = [];\r\n _telemetryInitializerPlugin = new TelemetryInitializerPlugin();\r\n _eventQueue = [];\r\n _notificationManager = null;\r\n _perfManager = null;\r\n _cfgPerfManager = null;\r\n _cookieManager = null;\r\n _pluginChain = null;\r\n _coreExtensions = null;\r\n _configExtensions = [];\r\n _channelControl = null;\r\n _channelConfig = null;\r\n _channelQueue = null;\r\n _isUnloading = false;\r\n _internalLogsEventName = null;\r\n _evtNamespace = createUniqueNamespace(\"AIBaseCore\", true);\r\n _unloadHandlers = createUnloadHandlerContainer();\r\n _traceCtx = null;\r\n }\r\n function _createTelCtx() {\r\n var theCtx = createProcessTelemetryContext(_getPluginChain(), _config, _self);\r\n theCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startInternalLogTimer);\r\n return theCtx;\r\n }\r\n // Initialize or Re-initialize the plugins\r\n function _initPluginChain(updateState) {\r\n // Extension validation\r\n var theExtensions = _validateExtensions(_self[_DYN_LOGGER /* @min:%2elogger */], ChannelControllerPriority, _configExtensions);\r\n _coreExtensions = theExtensions[STR_CORE /* @min:%2ecore */];\r\n _pluginChain = null;\r\n // Sort the complete set of extensions by priority\r\n var allExtensions = theExtensions.all;\r\n // Initialize the Channel Queues and the channel plugins first\r\n _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, _self));\r\n if (_channelControl) {\r\n // During add / remove of a plugin this may get called again, so don't re-add if already present\r\n // But we also want the controller as the last, so remove if already present\r\n // And reusing the existing instance, just in case an installed plugin has a reference and\r\n // is using it.\r\n var idx = arrIndexOf(allExtensions, _channelControl);\r\n if (idx !== -1) {\r\n allExtensions[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n idx = arrIndexOf(_coreExtensions, _channelControl);\r\n if (idx !== -1) {\r\n _coreExtensions[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n _channelControl._setQueue(_channelQueue);\r\n }\r\n else {\r\n _channelControl = createChannelControllerPlugin(_channelQueue, _self);\r\n }\r\n // Add on \"channelController\" as the last \"plugin\"\r\n allExtensions[_DYN_PUSH /* @min:%2epush */](_channelControl);\r\n _coreExtensions[_DYN_PUSH /* @min:%2epush */](_channelControl);\r\n // Required to allow plugins to call core.getPlugin() during their own initialization\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = sortPlugins(allExtensions);\r\n // Initialize the controls\r\n _channelControl[_DYN_INITIALIZE /* @min:%2einitialize */](_config, _self, allExtensions);\r\n var initCtx = _createTelCtx();\r\n initializePlugins(initCtx, allExtensions);\r\n // Now reset the extensions to just those being managed by Basecore\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = objFreeze(sortPlugins(_coreExtensions || [])).slice();\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n }\r\n function _getPlugin(pluginIdentifier) {\r\n var _a;\r\n var theExt = null;\r\n var thePlugin = null;\r\n arrForEach(_self[_DYN__EXTENSIONS /* @min:%2e_extensions */], function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) {\r\n thePlugin = ext;\r\n return -1;\r\n }\r\n });\r\n if (!thePlugin && _channelControl) {\r\n // Check the channel Controller\r\n thePlugin = _channelControl.getChannel(pluginIdentifier);\r\n }\r\n if (thePlugin) {\r\n theExt = (_a = {\r\n plugin: thePlugin\r\n },\r\n _a[_DYN_SET_ENABLED /* @min:setEnabled */] = function (enabled) {\r\n _getPluginState(thePlugin)[STR_DISABLED] = !enabled;\r\n },\r\n _a.isEnabled = function () {\r\n var pluginState = _getPluginState(thePlugin);\r\n return !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] && !pluginState[STR_DISABLED];\r\n },\r\n _a.remove = function (isAsync, removeCb) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n var pluginsToRemove = [thePlugin];\r\n var unloadState = (_a = {\r\n reason: 1 /* TelemetryUnloadReason.PluginUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a);\r\n _removePlugins(pluginsToRemove, unloadState, function (removed) {\r\n if (removed) {\r\n // Re-Initialize the plugin chain\r\n _initPluginChain({\r\n reason: 32 /* TelemetryUpdateReason.PluginRemoved */,\r\n removed: pluginsToRemove\r\n });\r\n }\r\n removeCb && removeCb(removed);\r\n });\r\n },\r\n _a);\r\n }\r\n return theExt;\r\n }\r\n function _getPluginChain() {\r\n if (!_pluginChain) {\r\n // copy the collection of extensions\r\n var extensions = (_coreExtensions || []).slice();\r\n // During add / remove this may get called again, so don't readd if already present\r\n if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {\r\n extensions[_DYN_PUSH /* @min:%2epush */](_telemetryInitializerPlugin);\r\n }\r\n _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self);\r\n }\r\n return _pluginChain;\r\n }\r\n function _removePlugins(thePlugins, unloadState, removeComplete) {\r\n if (thePlugins && thePlugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self);\r\n var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);\r\n unloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n var removed = false;\r\n // Remove the listed config extensions\r\n var newConfigExtensions = [];\r\n arrForEach(_configExtensions, function (plugin, idx) {\r\n if (!_isPluginPresent(plugin, thePlugins)) {\r\n newConfigExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n _configExtensions = newConfigExtensions;\r\n // Re-Create the channel config\r\n var newChannelConfig = [];\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (queue, idx) {\r\n var newQueue = [];\r\n arrForEach(queue, function (channel) {\r\n if (!_isPluginPresent(channel, thePlugins)) {\r\n newQueue[_DYN_PUSH /* @min:%2epush */](channel);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n newChannelConfig[_DYN_PUSH /* @min:%2epush */](newQueue);\r\n });\r\n _channelConfig = newChannelConfig;\r\n }\r\n removeComplete && removeComplete(removed);\r\n _startInternalLogTimer();\r\n });\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n else {\r\n removeComplete(false);\r\n }\r\n }\r\n function _flushInternalLogs() {\r\n if (_self[_DYN_LOGGER /* @min:%2elogger */] && _self[_DYN_LOGGER /* @min:%2elogger */].queue) {\r\n var queue = _self[_DYN_LOGGER /* @min:%2elogger */].queue.slice(0);\r\n _self[_DYN_LOGGER /* @min:%2elogger */].queue[_DYN_LENGTH /* @min:%2elength */] = 0;\r\n arrForEach(queue, function (logMessage) {\r\n var _a;\r\n var item = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = _internalLogsEventName ? _internalLogsEventName : \"InternalMessageId: \" + logMessage[_DYN_MESSAGE_ID /* @min:%2emessageId */],\r\n _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]),\r\n _a.time = toISOString(new Date()),\r\n _a.baseType = _InternalLogMessage.dataType,\r\n _a.baseData = { message: logMessage[_DYN_MESSAGE /* @min:%2emessage */] },\r\n _a);\r\n _self.track(item);\r\n });\r\n }\r\n }\r\n function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {\r\n if (_channelControl) {\r\n return _channelControl[_DYN_FLUSH /* @min:%2eflush */](isAsync, callBack, sendReason || 6 /* SendRequestReason.SdkUnload */, cbTimeout);\r\n }\r\n callBack && callBack(false);\r\n return true;\r\n }\r\n function _initDebugListener() {\r\n var disableDbgExt = getCfgValue(_config.disableDbgExt);\r\n if (disableDbgExt === true && _debugListener) {\r\n // Remove any previously loaded debug listener\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](_debugListener);\r\n _debugListener = null;\r\n }\r\n if (_notificationManager && !_debugListener && disableDbgExt !== true) {\r\n _debugListener = getDebugListener(_config);\r\n _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](_debugListener);\r\n }\r\n }\r\n function _initPerfManager() {\r\n var enablePerfMgr = getCfgValue(_config.enablePerfMgr);\r\n if (!enablePerfMgr && _cfgPerfManager) {\r\n // Remove any existing config based performance manager\r\n _cfgPerfManager = null;\r\n }\r\n if (enablePerfMgr) {\r\n // Set the performance manager creation function if not defined\r\n getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager);\r\n }\r\n }\r\n function _initExtConfig() {\r\n var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {});\r\n extConfig.NotificationManager = _notificationManager;\r\n }\r\n function _doUpdate(updateState) {\r\n var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);\r\n updateCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startInternalLogTimer);\r\n if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n function _logOrThrowError(message) {\r\n var logger = _self[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // there should always be a logger\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, message);\r\n _startInternalLogTimer();\r\n }\r\n else {\r\n throwError(message);\r\n }\r\n }\r\n });\r\n }\r\n// Removed Stub for BaseCore.prototype.initialize.\r\n// Removed Stub for BaseCore.prototype.getTransmissionControls.\r\n// Removed Stub for BaseCore.prototype.track.\r\n// Removed Stub for BaseCore.prototype.getProcessTelContext.\r\n// Removed Stub for BaseCore.prototype.getNotifyMgr.\r\n// Removed Stub for BaseCore.prototype.addNotificationListener.\r\n// Removed Stub for BaseCore.prototype.removeNotificationListener.\r\n// Removed Stub for BaseCore.prototype.getCookieMgr.\r\n// Removed Stub for BaseCore.prototype.setCookieMgr.\r\n// Removed Stub for BaseCore.prototype.getPerfMgr.\r\n// Removed Stub for BaseCore.prototype.setPerfMgr.\r\n// Removed Stub for BaseCore.prototype.eventCnt.\r\n// Removed Stub for BaseCore.prototype.pollInternalLogs.\r\n// Removed Stub for BaseCore.prototype.stopPollingInternalLogs.\r\n// Removed Stub for BaseCore.prototype.addTelemetryInitializer.\r\n// Removed Stub for BaseCore.prototype.unload.\r\n// Removed Stub for BaseCore.prototype.getPlugin.\r\n// Removed Stub for BaseCore.prototype.addPlugin.\r\n// Removed Stub for BaseCore.prototype.evtNamespace.\r\n// Removed Stub for BaseCore.prototype.addUnloadCb.\r\n// Removed Stub for BaseCore.prototype.flush.\r\n// Removed Stub for BaseCore.prototype.getTraceCtx.\r\n// Removed Stub for BaseCore.prototype.setTraceCtx.\r\n// Removed Stub for BaseCore.prototype.releaseQueue.\r\n// Removed Stub for BaseCore.prototype._updateHook.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseCore.__ieDyn=1;\n\n return BaseCore;\r\n}());\r\nexport { BaseCore };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LISTENERS, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { arrForEach, arrIndexOf } from \"./HelperFuncs\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nfunction _runListeners(listeners, name, isAsync, callback) {\r\n arrForEach(listeners, function (listener) {\r\n if (listener && listener[name]) {\r\n if (isAsync) {\r\n setTimeout(function () { return callback(listener); }, 0);\r\n }\r\n else {\r\n try {\r\n callback(listener);\r\n }\r\n catch (e) {\r\n // Catch errors to ensure we don't block sending the requests\r\n }\r\n }\r\n }\r\n });\r\n}\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar NotificationManager = /** @class */ (function () {\r\n function NotificationManager(config) {\r\n this.listeners = [];\r\n var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;\r\n dynamicProto(NotificationManager, this, function (_self) {\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _self.listeners[_DYN_PUSH /* @min:%2epush */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - AWTNotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n var index = arrIndexOf(_self[_DYN_LISTENERS /* @min:%2elisteners */], listener);\r\n while (index > -1) {\r\n _self.listeners[_DYN_SPLICE /* @min:%2esplice */](index, 1);\r\n index = arrIndexOf(_self[_DYN_LISTENERS /* @min:%2elisteners */], listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param {ITelemetryItem[]} events - The array of events that have been sent.\r\n */\r\n _self[STR_EVENTS_SENT /* @min:%2eeventsSent */] = function (events) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_SENT, true, function (listener) {\r\n listener[STR_EVENTS_SENT /* @min:%2eeventsSent */](events);\r\n });\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param {ITelemetryItem[]} events - The array of events that have been discarded by the SDK.\r\n * @param {number} reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n _self[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */] = function (events, reason) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_DISCARDED, true, function (listener) {\r\n listener[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */](events, reason);\r\n });\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param {number} sendReason - The reason why the event batch is being sent.\r\n * @param {boolean} isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n _self[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */] = function (sendReason, isAsync) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {\r\n listener[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendReason, isAsync);\r\n });\r\n };\r\n _self[STR_PERF_EVENT /* @min:%2eperfEvent */] = function (perfEvent) {\r\n if (perfEvent) {\r\n // Send all events or only parent events\r\n if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */]()) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_PERF_EVENT, false, function (listener) {\r\n if (perfEvent[_DYN_IS_ASYNC /* @min:%2eisAsync */]) {\r\n setTimeout(function () { return listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent); }, 0);\r\n }\r\n else {\r\n listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for NotificationManager.prototype.addNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.removeNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.eventsSent.\r\n// Removed Stub for NotificationManager.prototype.eventsDiscarded.\r\n// Removed Stub for NotificationManager.prototype.eventsSendRequest.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n NotificationManager.__ieDyn=1;\n\n return NotificationManager;\r\n}());\r\nexport { NotificationManager };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_GET_NOTIFY_MGR, _DYN_INITIALIZE, _DYN_NAME } from \"../__DynamicConstants\";\r\nimport { BaseCore } from \"./BaseCore\";\r\nimport { DiagnosticLogger } from \"./DiagnosticLogger\";\r\nimport { isNullOrUndefined, throwError } from \"./HelperFuncs\";\r\nimport { STR_EVENTS_DISCARDED, STR_GET_PERF_MGR } from \"./InternalConstants\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { doPerf } from \"./PerfManager\";\r\nvar AppInsightsCore = /** @class */ (function (_super) {\r\n __extends(AppInsightsCore, _super);\r\n function AppInsightsCore() {\r\n var _this = _super.call(this) || this;\r\n dynamicProto(AppInsightsCore, _this, function (_self, _base) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n _base[_DYN_INITIALIZE /* @min:%2einitialize */](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));\r\n };\r\n _self.track = function (telemetryItem) {\r\n doPerf(_self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */](), function () { return \"AppInsightsCore:track\"; }, function () {\r\n if (telemetryItem === null) {\r\n _notifyInvalidEvent(telemetryItem);\r\n // throw error\r\n throwError(\"Invalid telemetry item\");\r\n }\r\n // do basic validation before sending it through the pipeline\r\n _validateTelemetryItem(telemetryItem);\r\n _base.track(telemetryItem);\r\n }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));\r\n };\r\n function _validateTelemetryItem(telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[_DYN_NAME /* @min:%2ename */])) {\r\n _notifyInvalidEvent(telemetryItem);\r\n throwError(\"telemetry name required\");\r\n }\r\n }\r\n function _notifyInvalidEvent(telemetryItem) {\r\n var manager = _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]();\r\n if (manager) {\r\n manager[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */]([telemetryItem], 2 /* eEventsDiscardedReason.InvalidEvent */);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AppInsightsCore.prototype.initialize.\r\n// Removed Stub for AppInsightsCore.prototype.track.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n AppInsightsCore.__ieDyn=1;\n\n return AppInsightsCore;\r\n}(BaseCore));\r\nexport { AppInsightsCore };\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\nexport var STR_PROPERTIES = \"properties\";\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_REQUEST_URL = \"requestUrl\"; // Count: 12\r\nexport var _DYN_INST = \"inst\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 10\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 9\r\nexport var _DYN_SPAN_ID = \"spanID\"; // Count: 8\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 13\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 7\r\nexport var _DYN_ABORTED = \"aborted\"; // Count: 7\r\nexport var _DYN_TRACE_ID0 = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID1 = \"spanId\"; // Count: 5\r\nexport var _DYN_CORE = \"core\"; // Count: 8\r\nexport var _DYN_INCLUDE_CORRELATION_2 = \"includeCorrelationHeaders\"; // Count: 4\r\nexport var _DYN_CAN_INCLUDE_CORRELAT3 = \"canIncludeCorrelationHeader\"; // Count: 2\r\nexport var _DYN_GET_ABSOLUTE_URL = \"getAbsoluteUrl\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 6\r\nexport var _DYN_REQUEST_HEADERS = \"requestHeaders\"; // Count: 13\r\nexport var _DYN_APP_ID = \"appId\"; // Count: 5\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_TRACK_DEPENDENCY_DAT4 = \"trackDependencyDataInternal\"; // Count: 2\r\nexport var _DYN_DISTRIBUTED_TRACING_5 = \"distributedTracingMode\"; // Count: 3\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_ENABLE_REQUEST_HEADE6 = \"enableRequestHeaderTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_ERROR_ST7 = \"enableAjaxErrorStatusText\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_PERF_TRA8 = \"enableAjaxPerfTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V9 = \"maxAjaxCallsPerView\"; // Count: 2\r\nexport var _DYN_ENABLE_RESPONSE_HEAD10 = \"enableResponseHeaderTracking\"; // Count: 2\r\nexport var _DYN_EXCLUDE_REQUEST_FROM11 = \"excludeRequestFromAutoTrackingPatterns\"; // Count: 2\r\nexport var _DYN_ADD_REQUEST_CONTEXT = \"addRequestContext\"; // Count: 2\r\nexport var _DYN_DISABLE_AJAX_TRACKIN12 = \"disableAjaxTracking\"; // Count: 2\r\nexport var _DYN_DISABLE_FETCH_TRACKI13 = \"disableFetchTracking\"; // Count: 2\r\nexport var _DYN_STATUS = \"status\"; // Count: 11\r\nexport var _DYN_STATUS_TEXT = \"statusText\"; // Count: 9\r\nexport var _DYN_HEADER_MAP = \"headerMap\"; // Count: 8\r\nexport var _DYN_OPEN_DONE = \"openDone\"; // Count: 3\r\nexport var _DYN_SEND_DONE = \"sendDone\"; // Count: 3\r\nexport var _DYN_REQUEST_SENT_TIME = \"requestSentTime\"; // Count: 9\r\nexport var _DYN_ABORT_DONE = \"abortDone\"; // Count: 3\r\nexport var _DYN_GET_TRACE_ID = \"getTraceId\"; // Count: 3\r\nexport var _DYN_GET_TRACE_FLAGS = \"getTraceFlags\"; // Count: 3\r\nexport var _DYN_METHOD = \"method\"; // Count: 8\r\nexport var _DYN_ERROR_STATUS_TEXT = \"errorStatusText\"; // Count: 3\r\nexport var _DYN_STATE_CHANGE_ATTACHE14 = \"stateChangeAttached\"; // Count: 2\r\nexport var _DYN_RESPONSE_TEXT = \"responseText\"; // Count: 6\r\nexport var _DYN_RESPONSE_FINISHED_TI15 = \"responseFinishedTime\"; // Count: 7\r\nexport var _DYN__CREATE_TRACK_ITEM = \"CreateTrackItem\"; // Count: 3\r\nexport var _DYN_RESPONSE = \"response\"; // Count: 4\r\nexport var _DYN_GET_ALL_RESPONSE_HEA16 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_GET_PART_APROPS = \"getPartAProps\"; // Count: 3\r\nexport var _DYN_GET_CORRELATION_CONT17 = \"getCorrelationContext\"; // Count: 2\r\nexport var _DYN_PERF_MARK = \"perfMark\"; // Count: 4\r\nexport var _DYN_AJAX_PERF_LOOKUP_DEL18 = \"ajaxPerfLookupDelay\"; // Count: 2\r\nexport var _DYN_NAME = \"name\"; // Count: 6\r\nexport var _DYN_PERF_TIMING = \"perfTiming\"; // Count: 3\r\nexport var _DYN_AJAX_DIAGNOSTICS_MES19 = \"ajaxDiagnosticsMessage\"; // Count: 3\r\nexport var _DYN_CORRELATION_CONTEXT = \"correlationContext\"; // Count: 3\r\nexport var _DYN_AJAX_TOTAL_DURATION = \"ajaxTotalDuration\"; // Count: 3\r\nexport var _DYN_EVENT_TRACE_CTX = \"eventTraceCtx\"; // Count: 3\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { Extensions, dataSanitizeUrl, dateTimeUtilsDuration, msToTimeSpan, urlGetAbsoluteUrl, urlGetCompleteUrl } from \"@microsoft/applicationinsights-common\";\r\nimport { arrForEach, isNullOrUndefined, isNumber, isString, normalizeJsName, objForEachKey, objKeys } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION, STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_AJAX_TOTAL_DURATION, _DYN_CORRELATION_CONTEXT, _DYN_ERROR_STATUS_TEXT, _DYN_EVENT_TRACE_CTX, _DYN_GET_ABSOLUTE_URL, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADER_MAP, _DYN_LENGTH, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI15, _DYN_SEND_DONE, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE14, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\n/** @ignore */\r\nfunction _calcPerfDuration(resourceEntry, start, end) {\r\n var result = 0;\r\n var from = resourceEntry[start];\r\n var to = resourceEntry[end];\r\n if (from && to) {\r\n result = dateTimeUtilsDuration(from, to);\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfDuration(props, name, resourceEntry, start, end) {\r\n var result = 0;\r\n var value = _calcPerfDuration(resourceEntry, start, end);\r\n if (value) {\r\n result = _setPerfValue(props, name, msToTimeSpan(value));\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfValue(props, name, value) {\r\n var strPerf = \"ajaxPerf\";\r\n var result = 0;\r\n if (props && name && value) {\r\n var perfData = props[strPerf] = (props[strPerf] || {});\r\n perfData[name] = value;\r\n result = 1;\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _populatePerfData(ajaxData, dependency) {\r\n /*\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API\r\n * | -startTime\r\n * | -redirectStart\r\n * | | -redirectEnd\r\n * | | | -fetchStart\r\n * | | | | -domainLookupStart\r\n * | | | | |- domainLookupEnd\r\n * | | | | | | -connectStart\r\n * | | | | | | | -secureConnectionStart\r\n * | | | | | | | | -connectEnd\r\n * | | | | | | | | | -requestStart\r\n * | | | | | | | | | | | -responseStart\r\n * | | | | | | | | | | | | | -responseEnd\r\n * +------------+-+---+----------------+-+--+--------+-+-----------+-+------------+-+\r\n * |--redirect--| |---|--domainLookup--| |--connect--| |--request--| |--response--| |\r\n * |-------------------networkConnect----------------|\r\n * | |---------sentRequest--------|\r\n * |------------------------------------perfTotal-----------------------------------|\r\n */\r\n var resourceEntry = ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */];\r\n var props = dependency[STR_PROPERTIES /* @min:%2eproperties */] || {};\r\n var propsSet = 0;\r\n var strName = \"name\";\r\n var strStart = \"Start\";\r\n var strEnd = \"End\";\r\n var strDomainLookup = \"domainLookup\";\r\n var strConnect = \"connect\";\r\n var strRedirect = \"redirect\";\r\n var strRequest = \"request\";\r\n var strResponse = \"response\";\r\n var strStartTime = \"startTime\";\r\n var strDomainLookupStart = strDomainLookup + strStart;\r\n var strDomainLookupEnd = strDomainLookup + strEnd;\r\n var strConnectStart = strConnect + strStart;\r\n var strConnectEnd = strConnect + strEnd;\r\n var strRequestStart = strRequest + strStart;\r\n var strRequestEnd = strRequest + strEnd;\r\n var strResponseStart = strResponse + strStart;\r\n var strResponseEnd = strResponse + strEnd;\r\n var strRedirectStart = strRedirect + strStart;\r\n var strRedirectEnd = strRedirect = strEnd;\r\n var strTransferSize = \"transferSize\";\r\n var strEncodedBodySize = \"encodedBodySize\";\r\n var strDecodedBodySize = \"decodedBodySize\";\r\n var strServerTiming = \"serverTiming\";\r\n if (resourceEntry) {\r\n // redirect\r\n propsSet |= _setPerfDuration(props, strRedirect, resourceEntry, strRedirectStart, strRedirectEnd);\r\n // domainLookup\r\n propsSet |= _setPerfDuration(props, strDomainLookup, resourceEntry, strDomainLookupStart, strDomainLookupEnd);\r\n // connect\r\n propsSet |= _setPerfDuration(props, strConnect, resourceEntry, strConnectStart, strConnectEnd);\r\n // request\r\n propsSet |= _setPerfDuration(props, strRequest, resourceEntry, strRequestStart, strRequestEnd);\r\n // response\r\n propsSet |= _setPerfDuration(props, strResponse, resourceEntry, strResponseStart, strResponseEnd);\r\n // Network connection time\r\n propsSet |= _setPerfDuration(props, \"networkConnect\", resourceEntry, strStartTime, strConnectEnd);\r\n // Sent Request\r\n propsSet |= _setPerfDuration(props, \"sentRequest\", resourceEntry, strRequestStart, strResponseEnd);\r\n // PerfTotal / Duration\r\n var duration = resourceEntry[STR_DURATION /* @min:%2eduration */];\r\n if (!duration) {\r\n duration = _calcPerfDuration(resourceEntry, strStartTime, strResponseEnd) || 0;\r\n }\r\n propsSet |= _setPerfValue(props, STR_DURATION, duration);\r\n propsSet |= _setPerfValue(props, \"perfTotal\", duration);\r\n var serverTiming = resourceEntry[strServerTiming];\r\n if (serverTiming) {\r\n var server_1 = {};\r\n arrForEach(serverTiming, function (value, idx) {\r\n var name = normalizeJsName(value[strName] || \"\" + idx);\r\n var newValue = server_1[name] || {};\r\n objForEachKey(value, function (key, val) {\r\n if (key !== strName && isString(val) || isNumber(val)) {\r\n if (newValue[key]) {\r\n val = newValue[key] + \";\" + val;\r\n }\r\n if (val || !isString(val)) {\r\n // Only set the value if it has a value and it's not an empty string\r\n newValue[key] = val;\r\n }\r\n }\r\n });\r\n server_1[name] = newValue;\r\n });\r\n propsSet |= _setPerfValue(props, strServerTiming, server_1);\r\n }\r\n propsSet |= _setPerfValue(props, strTransferSize, resourceEntry[strTransferSize]);\r\n propsSet |= _setPerfValue(props, strEncodedBodySize, resourceEntry[strEncodedBodySize]);\r\n propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);\r\n }\r\n else {\r\n if (ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */]) {\r\n propsSet |= _setPerfValue(props, \"missing\", ajaxData.perfAttempts);\r\n }\r\n }\r\n if (propsSet) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = props;\r\n }\r\n}\r\nvar XHRMonitoringState = /** @class */ (function () {\r\n function XHRMonitoringState() {\r\n var self = this;\r\n self[_DYN_OPEN_DONE /* @min:%2eopenDone */] = false;\r\n self.setRequestHeaderDone = false;\r\n self[_DYN_SEND_DONE /* @min:%2esendDone */] = false;\r\n self[_DYN_ABORT_DONE /* @min:%2eabortDone */] = false;\r\n // True, if onreadyStateChangeCallback function attached to xhr, otherwise false\r\n self[_DYN_STATE_CHANGE_ATTACHE14 /* @min:%2estateChangeAttached */] = false;\r\n }\r\n return XHRMonitoringState;\r\n}());\r\nexport { XHRMonitoringState };\r\nvar ajaxRecord = /** @class */ (function () {\r\n function ajaxRecord(traceId, spanId, logger, traceCtx) {\r\n var _a;\r\n var self = this;\r\n var _logger = logger;\r\n var strResponseText = \"responseText\";\r\n // Assigning the initial/default values within the constructor to avoid typescript from creating a bunch of\r\n // this.XXXX = null\r\n self[_DYN_PERF_MARK /* @min:%2eperfMark */] = null;\r\n self.completed = false;\r\n self.requestHeadersSize = null;\r\n self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = null;\r\n self.responseReceivingDuration = null;\r\n self.callbackDuration = null;\r\n self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] = null;\r\n self[_DYN_ABORTED /* @min:%2eaborted */] = 0;\r\n self.pageUrl = null;\r\n self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = null;\r\n self.requestSize = 0;\r\n self[_DYN_METHOD /* @min:%2emethod */] = null;\r\n self[_DYN_STATUS /* @min:%2estatus */] = null;\r\n self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = null;\r\n self.responseStartedTime = null;\r\n self[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = null;\r\n self.callbackFinishedTime = null;\r\n self.endTime = null;\r\n self.xhrMonitoringState = new XHRMonitoringState();\r\n self.clientFailure = 0;\r\n self[_DYN_TRACE_ID /* @min:%2etraceID */] = traceId;\r\n self[_DYN_SPAN_ID /* @min:%2espanID */] = spanId;\r\n self[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx === null || traceCtx === void 0 ? void 0 : traceCtx.getTraceFlags();\r\n if (traceCtx) {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = (_a = {},\r\n _a[_DYN_TRACE_ID0 /* @min:traceId */] = traceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */](),\r\n _a[_DYN_SPAN_ID1 /* @min:spanId */] = traceCtx.getSpanId(),\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = traceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */](),\r\n _a);\r\n }\r\n else {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = null;\r\n }\r\n dynamicProto(ajaxRecord, self, function (self) {\r\n self.getAbsoluteUrl = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? urlGetAbsoluteUrl(self[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) : null;\r\n };\r\n self.getPathName = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self[_DYN_METHOD /* @min:%2emethod */], self[_DYN_REQUEST_URL /* @min:%2erequestUrl */])) : null;\r\n };\r\n self[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */] = function (ajaxType, enableRequestHeaderTracking, getResponse) {\r\n var _a;\r\n // round to 3 decimal points\r\n self.ajaxTotalDuration = Math.round(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;\r\n if (self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] < 0) {\r\n return null;\r\n }\r\n var dependency = (_a = {\r\n id: \"|\" + self[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + self[_DYN_SPAN_ID /* @min:%2espanID */],\r\n target: self[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */]()\r\n },\r\n _a[_DYN_NAME /* @min:name */] = self.getPathName(),\r\n _a.type = ajaxType,\r\n _a[_DYN_START_TIME /* @min:startTime */] = null,\r\n _a.duration = self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */],\r\n _a.success = (+(self[_DYN_STATUS /* @min:%2estatus */])) >= 200 && (+(self[_DYN_STATUS /* @min:%2estatus */])) < 400,\r\n _a.responseCode = (+(self[_DYN_STATUS /* @min:%2estatus */])),\r\n _a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD /* @min:%2emethod */] },\r\n _a);\r\n var props = dependency[STR_PROPERTIES];\r\n if (self[_DYN_ABORTED /* @min:%2eaborted */]) {\r\n props[_DYN_ABORTED /* @min:%2eaborted */] = true;\r\n }\r\n if (self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]) {\r\n // Set the correct dependency start time\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */].setTime(self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]);\r\n }\r\n // Add Ajax perf details if available\r\n _populatePerfData(self, dependency);\r\n if (enableRequestHeaderTracking) {\r\n if (objKeys(self.requestHeaders)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */];\r\n }\r\n }\r\n if (getResponse) {\r\n var response = getResponse();\r\n if (response) {\r\n // enrich dependency target with correlation context from the server\r\n var correlationContext = response[_DYN_CORRELATION_CONTEXT /* @min:%2ecorrelationContext */];\r\n if (correlationContext) {\r\n dependency.correlationContext = /* dependency.target + \" | \" + */ correlationContext;\r\n }\r\n if (response[_DYN_HEADER_MAP /* @min:%2eheaderMap */]) {\r\n if (objKeys(response.headerMap)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props.responseHeaders = response[_DYN_HEADER_MAP /* @min:%2eheaderMap */];\r\n }\r\n }\r\n if (self[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */]) {\r\n if (self[_DYN_STATUS /* @min:%2estatus */] >= 400) {\r\n var responseType = response.type;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n props.responseText = response.responseText ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + response[strResponseText] : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n if (responseType === \"json\") {\r\n props.responseText = response.response ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + JSON.stringify(response[_DYN_RESPONSE /* @min:%2eresponse */]) : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n }\r\n else if (self[_DYN_STATUS /* @min:%2estatus */] === 0) {\r\n props.responseText = response[_DYN_STATUS_TEXT /* @min:%2estatusText */] || \"\";\r\n }\r\n }\r\n }\r\n }\r\n return dependency;\r\n };\r\n self[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */] = function () {\r\n var _a;\r\n var partA = null;\r\n var traceCtx = self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */];\r\n if (traceCtx && (traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */] || traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */])) {\r\n partA = {};\r\n var traceExt = partA[Extensions.TraceExt] = (_a = {},\r\n _a[_DYN_TRACE_ID /* @min:traceID */] = traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */],\r\n _a.parentID = traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */],\r\n _a);\r\n if (!isNullOrUndefined(traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */])) {\r\n traceExt[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n }\r\n }\r\n return partA;\r\n };\r\n });\r\n }\r\n// Removed Stub for ajaxRecord.prototype.getAbsoluteUrl.\r\n// Removed Stub for ajaxRecord.prototype.getPathName.\r\n// Removed Stub for ajaxRecord.prototype.CreateTrackItem.\r\n// Removed Stub for ajaxRecord.prototype.getPartAProps.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n ajaxRecord.__ieDyn=1;\n\n return ajaxRecord;\r\n}());\r\nexport { ajaxRecord };\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CorrelationIdHelper, DisabledPropertyName, PropertiesPluginIdentifier, RemoteDependencyData, RequestHeaders, createDistributedTraceContextFromTrace, createTelemetryItem, createTraceParent, dateTimeUtilsNow, formatTraceParent, isInternalApplicationInsightsEndpoint } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentFunc, InstrumentProto, _throwInternal, arrForEach, createProcessTelemetryContext, createUniqueNamespace, deepFreeze, dumpObj, eventOn, generateW3CId, getExceptionName, getGlobal, getIEVersion, getLocation, getPerformance, isFunction, isNullOrUndefined, isString, isXhrSupported, mergeEvtNamespace, objForEachKey, strPrototype, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_ADD_REQUEST_CONTEXT, _DYN_AJAX_PERF_LOOKUP_DEL18, _DYN_APP_ID, _DYN_CAN_INCLUDE_CORRELAT3, _DYN_CONTEXT, _DYN_CORE, _DYN_DISABLE_AJAX_TRACKIN12, _DYN_DISABLE_FETCH_TRACKI13, _DYN_DISTRIBUTED_TRACING_5, _DYN_ENABLE_AJAX_ERROR_ST7, _DYN_ENABLE_AJAX_PERF_TRA8, _DYN_ENABLE_REQUEST_HEADE6, _DYN_ENABLE_RESPONSE_HEAD10, _DYN_ERROR_STATUS_TEXT, _DYN_EXCLUDE_REQUEST_FROM11, _DYN_GET_ABSOLUTE_URL, _DYN_GET_ALL_RESPONSE_HEA16, _DYN_GET_CORRELATION_CONT17, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADERS, _DYN_HEADER_MAP, _DYN_INCLUDE_CORRELATION_2, _DYN_INST, _DYN_LENGTH, _DYN_MAX_AJAX_CALLS_PER_V9, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI15, _DYN_RESPONSE_TEXT, _DYN_SEND_DONE, _DYN_SET_REQUEST_HEADER, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE14, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN_TRACK_DEPENDENCY_DAT4, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\nimport { ajaxRecord } from \"./ajaxRecord\";\r\nvar AJAX_MONITOR_PREFIX = \"ai.ajxmn.\";\r\nvar strDiagLog = \"diagLog\";\r\nvar AJAX_DATA_CONTAINER = \"_ajaxData\";\r\nvar STR_FETCH = \"fetch\";\r\nvar ERROR_HEADER = \"Failed to monitor XMLHttpRequest\";\r\nvar ERROR_PREFIX = \", monitoring data for this ajax call \";\r\nvar ERROR_POSTFIX = ERROR_PREFIX + \"may be incorrect.\";\r\nvar ERROR_NOT_SENT = ERROR_PREFIX + \"won't be sent.\";\r\nvar CORRELATION_HEADER_ERROR = \"Failed to get Request-Context correlation header as it may be not included in the response or not accessible.\";\r\nvar CUSTOM_REQUEST_CONTEXT_ERROR = \"Failed to add custom defined request context as configured call back may missing a null check.\";\r\nvar FAILED_TO_CALCULATE_DURATION_ERROR = \"Failed to calculate the duration of the \";\r\n// Using a global value so that to handle same iKey with multiple app insights instances (mostly for testing)\r\nvar _markCount = 0;\r\n/** @Ignore */\r\nfunction _supportsFetch() {\r\n var _global = getGlobal();\r\n if (!_global ||\r\n isNullOrUndefined(_global.Request) ||\r\n isNullOrUndefined(_global.Request[strPrototype]) ||\r\n isNullOrUndefined(_global[STR_FETCH])) {\r\n return null;\r\n }\r\n return _global[STR_FETCH];\r\n}\r\nvar _isWebWorker = null;\r\nfunction isWebWorker() {\r\n if (_isWebWorker == null) {\r\n try {\r\n _isWebWorker = !!(self && self instanceof WorkerGlobalScope);\r\n }\r\n catch (e) {\r\n _isWebWorker = false;\r\n }\r\n }\r\n return _isWebWorker;\r\n}\r\n/**\r\n * Determines whether ajax monitoring can be enabled on this document\r\n * @returns True if Ajax monitoring is supported on this page, otherwise false\r\n * @ignore\r\n */\r\nfunction _supportsAjaxMonitoring(ajaxMonitorInstance, ajaxDataId) {\r\n var _a;\r\n var result = false;\r\n if (isXhrSupported()) {\r\n var proto = XMLHttpRequest[strPrototype];\r\n result = !isNullOrUndefined(proto) &&\r\n !isNullOrUndefined(proto.open) && // eslint-disable-line security/detect-non-literal-fs-filename -- false positive\r\n !isNullOrUndefined(proto.send) &&\r\n !isNullOrUndefined(proto.abort);\r\n }\r\n var ieVer = getIEVersion();\r\n if (ieVer && ieVer < 9) {\r\n result = false;\r\n }\r\n if (result) {\r\n // Disable if the XmlHttpRequest can't be extended or hooked\r\n try {\r\n var xhr = new XMLHttpRequest();\r\n var xhrData = {\r\n xh: [],\r\n i: (_a = {},\r\n _a[ajaxDataId] = {},\r\n _a)\r\n };\r\n xhr[AJAX_DATA_CONTAINER] = xhrData;\r\n // Check that we can update the prototype\r\n var theOpen = XMLHttpRequest[strPrototype].open;\r\n XMLHttpRequest[strPrototype].open = theOpen;\r\n }\r\n catch (e) {\r\n // We can't decorate the xhr object so disable monitoring\r\n result = false;\r\n _throwInternalCritical(ajaxMonitorInstance, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to enable XMLHttpRequest monitoring, extension is not supported\", {\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Internal helper to fetch the SDK instance tracking data for this XHR request\r\n * @param xhr\r\n * @param ajaxDataId\r\n * @returns\r\n */\r\nvar _getAjaxData = function (xhr, ajaxDataId) {\r\n if (xhr && ajaxDataId && xhr[AJAX_DATA_CONTAINER]) {\r\n return (xhr[AJAX_DATA_CONTAINER].i || {})[ajaxDataId];\r\n }\r\n return null;\r\n};\r\n/**\r\n * @ignore\r\n * Internal helper to track the singleton shared tracking headers, so we can attempt to not create headers\r\n * that might cause an issue if multiple values are populated.\r\n * @param xhr - The instrumented XHR instance\r\n */\r\nvar _addSharedXhrHeaders = function (xhr, name, value) {\r\n if (xhr) {\r\n var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;\r\n if (headers) {\r\n headers.push({\r\n n: name,\r\n v: value\r\n });\r\n }\r\n }\r\n};\r\nvar _isHeaderSet = function (xhr, name) {\r\n var isPresent = false;\r\n if (xhr) {\r\n var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;\r\n if (headers) {\r\n arrForEach(headers, function (header) {\r\n if (header.n === name) {\r\n isPresent = true;\r\n return -1;\r\n }\r\n });\r\n }\r\n }\r\n return isPresent;\r\n};\r\n/** @Ignore */\r\nfunction _getFailedAjaxDiagnosticsMessage(xhr, ajaxDataId) {\r\n var result = \"\";\r\n try {\r\n var ajaxData = _getAjaxData(xhr, ajaxDataId);\r\n if (ajaxData && ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) {\r\n result += \"(url: '\" + ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] + \"')\";\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _throwInternalCritical(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 1 /* eLoggingSeverity.CRITICAL */, msgId, message, properties, isUserAct);\r\n}\r\n/** @ignore */\r\nfunction _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 2 /* eLoggingSeverity.WARNING */, msgId, message, properties, isUserAct);\r\n}\r\n/** @Ignore */\r\nfunction _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {\r\n // tslint:disable-next-line\r\n return function (callDetails) {\r\n _throwInternalCritical(ajaxMonitorInstance, internalMessage, message, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(callDetails[_DYN_INST /* @min:%2einst */], ajaxMonitorInstance._ajaxDataId),\r\n exception: dumpObj(callDetails.err)\r\n });\r\n };\r\n}\r\nfunction _indexOf(value, match) {\r\n if (value && match) {\r\n return value.indexOf(match);\r\n }\r\n return -1;\r\n}\r\nfunction _addHandler(container, id, theFunc) {\r\n var theHandler = {\r\n id: id,\r\n fn: theFunc\r\n };\r\n container.push(theHandler);\r\n return {\r\n remove: function () {\r\n arrForEach(container, function (initializer, idx) {\r\n if (initializer.id === theHandler.id) {\r\n container.splice(idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n}\r\nfunction _processDependencyContainer(core, container, details, message) {\r\n var result = true;\r\n arrForEach(container, function (theFunc, idx) {\r\n try {\r\n if (theFunc.fn.call(null, details) === false) {\r\n result = false;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(core && core.logger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Dependency \" + message + \" [#\" + idx + \"] failed: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n return result;\r\n}\r\nfunction _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {\r\n var initializersCount = listeners[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = {\r\n core: core,\r\n xhr: xhr,\r\n input: input,\r\n init: init,\r\n traceId: ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */],\r\n spanId: ajaxData[_DYN_SPAN_ID /* @min:%2espanID */],\r\n traceFlags: ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */],\r\n context: ajaxData[_DYN_CONTEXT /* @min:%2econtext */] || {},\r\n aborted: !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */]\r\n };\r\n _processDependencyContainer(core, listeners, details, \"listener\");\r\n ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] = details[_DYN_TRACE_ID0 /* @min:%2etraceId */];\r\n ajaxData[_DYN_SPAN_ID /* @min:%2espanID */] = details[_DYN_SPAN_ID1 /* @min:%2espanId */];\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = details[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n ajaxData[_DYN_CONTEXT /* @min:%2econtext */] = details[_DYN_CONTEXT /* @min:%2econtext */];\r\n }\r\n}\r\nvar BLOB_CORE = \"*.blob.core.\";\r\nexport var DfltAjaxCorrelationHeaderExDomains = deepFreeze([\r\n BLOB_CORE + \"windows.net\",\r\n BLOB_CORE + \"chinacloudapi.cn\",\r\n BLOB_CORE + \"cloudapi.de\",\r\n BLOB_CORE + \"usgovcloudapi.net\"\r\n]);\r\nvar _internalExcludeEndpoints = [\r\n /https:\\/\\/[^\\/]*(\\.pipe\\.aria|aria\\.pipe|events\\.data|collector\\.azure)\\.[^\\/]+\\/(OneCollector\\/1|Collector\\/3)\\.0/i\r\n];\r\nfunction _getDefaultConfig() {\r\n var config = {\r\n maxAjaxCallsPerView: 500,\r\n disableAjaxTracking: false,\r\n disableFetchTracking: false,\r\n excludeRequestFromAutoTrackingPatterns: undefined,\r\n disableCorrelationHeaders: false,\r\n distributedTracingMode: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n correlationHeaderExcludedDomains: DfltAjaxCorrelationHeaderExDomains,\r\n correlationHeaderDomains: undefined,\r\n correlationHeaderExcludePatterns: undefined,\r\n appId: undefined,\r\n enableCorsCorrelation: false,\r\n enableRequestHeaderTracking: false,\r\n enableResponseHeaderTracking: false,\r\n enableAjaxErrorStatusText: false,\r\n enableAjaxPerfTracking: false,\r\n maxAjaxPerfLookupAttempts: 3,\r\n ajaxPerfLookupDelay: 25,\r\n ignoreHeaders: [\r\n \"Authorization\",\r\n \"X-API-Key\",\r\n \"WWW-Authenticate\"\r\n ],\r\n addRequestContext: undefined,\r\n addIntEndpoints: true\r\n };\r\n return config;\r\n}\r\nfunction _getEmptyConfig() {\r\n var emptyConfig = _getDefaultConfig();\r\n objForEachKey(emptyConfig, function (value) {\r\n emptyConfig[value] = undefined;\r\n });\r\n return emptyConfig;\r\n}\r\nvar AjaxMonitor = /** @class */ (function (_super) {\r\n __extends(AjaxMonitor, _super);\r\n function AjaxMonitor() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AjaxMonitor.identifier;\r\n _this.priority = 120;\r\n var _fetchInitialized; // fetch monitoring initialized\r\n var _xhrInitialized; // XHR monitoring initialized\r\n var _currentWindowHost;\r\n var _config;\r\n var _enableRequestHeaderTracking;\r\n var _enableAjaxErrorStatusText;\r\n var _trackAjaxAttempts;\r\n var _context;\r\n var _isUsingW3CHeaders;\r\n var _isUsingAIHeaders;\r\n var _markPrefix;\r\n var _enableAjaxPerfTracking;\r\n var _maxAjaxCallsPerView;\r\n var _enableResponseHeaderTracking;\r\n var _disabledUrls;\r\n var _disableAjaxTracking;\r\n var _disableFetchTracking;\r\n var _excludeRequestFromAutoTrackingPatterns;\r\n var _addRequestContext;\r\n var _evtNamespace;\r\n var _ajaxDataId;\r\n var _dependencyHandlerId;\r\n var _dependencyListeners;\r\n var _dependencyInitializers;\r\n dynamicProto(AjaxMonitor, _this, function (_self, _base) {\r\n var _addHook = _base._addHook;\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (!_self.isInitialized()) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"ajax\"), core && core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n _instrumentXhr();\r\n _instrumentFetch();\r\n _populateContext();\r\n }\r\n };\r\n _self._doTeardown = function () {\r\n _initDefaults();\r\n };\r\n _self.trackDependencyData = function (dependency, properties) {\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], null, dependency, properties);\r\n };\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */] = function (ajaxData, input, init, xhr) {\r\n // Test Hook to allow the overriding of the location host\r\n var currentWindowHost = _self[\"_currentWindowHost\"] || _currentWindowHost;\r\n _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, xhr, input, init);\r\n if (input || input === \"\") { // Fetch\r\n if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 /* @min:%2ecanIncludeCorrelationHeader */](_config, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (!init) {\r\n init = {};\r\n }\r\n // init headers override original request headers\r\n // so, if they exist use only them, otherwise use request's because they should have been applied in the first place\r\n // not using original request headers will result in them being lost\r\n var headers = new Headers(init[_DYN_HEADERS /* @min:%2eheaders */] || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n if (_isUsingAIHeaders) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n headers.set(RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n var appId = _config[_DYN_APP_ID /* @min:%2eappId */] || (_context && _context[_DYN_APP_ID /* @min:%2eappId */]());\r\n if (appId) {\r\n headers.set(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n headers.set(RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n init[_DYN_HEADERS /* @min:%2eheaders */] = headers;\r\n }\r\n return init;\r\n }\r\n else if (xhr) { // XHR\r\n if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 /* @min:%2ecanIncludeCorrelationHeader */](_config, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (_isUsingAIHeaders) {\r\n if (!_isHeaderSet(xhr, RequestHeaders[3 /* eRequestHeaders.requestIdHeader */])) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[3 /* eRequestHeaders.requestIdHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n var appId = _config[_DYN_APP_ID /* @min:%2eappId */] || (_context && _context[_DYN_APP_ID /* @min:%2eappId */]());\r\n if (appId) {\r\n if (!_isHeaderSet(xhr, RequestHeaders[0 /* eRequestHeaders.requestContextHeader */])) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[0 /* eRequestHeaders.requestContextHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n if (!_isHeaderSet(xhr, RequestHeaders[4 /* eRequestHeaders.traceParentHeader */])) {\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[4 /* eRequestHeaders.traceParentHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n return undefined;\r\n };\r\n _self[_DYN_TRACK_DEPENDENCY_DAT4 /* @min:%2etrackDependencyDataInternal */] = function (dependency, properties, systemProperties) {\r\n if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {\r\n // Hack since expected format in w3c mode is |abc.def.\r\n // Non-w3c format is |abc.def\r\n // @todo Remove if better solution is available, e.g. handle in portal\r\n if ((_config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */] === 2 /* eDistributedTracingModes.W3C */\r\n || _config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */] === 1 /* eDistributedTracingModes.AI_AND_W3C */)\r\n && typeof dependency.id === \"string\" && dependency.id[dependency.id[_DYN_LENGTH /* @min:%2elength */] - 1] !== \".\") {\r\n dependency.id += \".\";\r\n }\r\n if (isNullOrUndefined(dependency[_DYN_START_TIME /* @min:%2estartTime */])) {\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n }\r\n var item = createTelemetryItem(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */].track(item);\r\n }\r\n else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {\r\n _throwInternalCritical(_self, 55 /* _eInternalMessageId.MaxAjaxPerPVExceeded */, \"Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.\", true);\r\n }\r\n ++_trackAjaxAttempts;\r\n };\r\n _self.addDependencyListener = function (dependencyListener) {\r\n return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);\r\n };\r\n _self.addDependencyInitializer = function (dependencyInitializer) {\r\n return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);\r\n };\r\n function _initDefaults() {\r\n var location = getLocation();\r\n _fetchInitialized = false; // fetch monitoring initialized\r\n _xhrInitialized = false; // XHR monitoring initialized\r\n _currentWindowHost = location && location.host && location.host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _config = AjaxMonitor.getEmptyConfig();\r\n _enableRequestHeaderTracking = false;\r\n _enableAjaxErrorStatusText = false;\r\n _trackAjaxAttempts = 0;\r\n _context = null;\r\n _isUsingW3CHeaders = false;\r\n _isUsingAIHeaders = false;\r\n _markPrefix = null;\r\n _enableAjaxPerfTracking = false;\r\n _maxAjaxCallsPerView = 0;\r\n _enableResponseHeaderTracking = false;\r\n _disabledUrls = {};\r\n _disableAjaxTracking = false;\r\n _disableFetchTracking = false;\r\n _excludeRequestFromAutoTrackingPatterns = null;\r\n _addRequestContext = null;\r\n _evtNamespace = null;\r\n _dependencyHandlerId = 0;\r\n _dependencyListeners = [];\r\n _dependencyInitializers = [];\r\n _ajaxDataId = createUniqueNamespace(\"ajaxData\");\r\n _self._ajaxDataId = _ajaxDataId;\r\n }\r\n function _populateDefaults(config) {\r\n var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);\r\n // Reset to the empty config\r\n _config = _getEmptyConfig();\r\n var defaultConfig = _getDefaultConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);\r\n });\r\n var distributedTracingMode = _config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */];\r\n _enableRequestHeaderTracking = _config[_DYN_ENABLE_REQUEST_HEADE6 /* @min:%2eenableRequestHeaderTracking */];\r\n _enableAjaxErrorStatusText = _config[_DYN_ENABLE_AJAX_ERROR_ST7 /* @min:%2eenableAjaxErrorStatusText */];\r\n _enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA8 /* @min:%2eenableAjaxPerfTracking */];\r\n _maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V9 /* @min:%2emaxAjaxCallsPerView */];\r\n _enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD10 /* @min:%2eenableResponseHeaderTracking */];\r\n _excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM11 /* @min:%2eexcludeRequestFromAutoTrackingPatterns */] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);\r\n _addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT /* @min:%2eaddRequestContext */];\r\n _isUsingAIHeaders = distributedTracingMode === 0 /* eDistributedTracingModes.AI */ || distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */;\r\n _isUsingW3CHeaders = distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */ || distributedTracingMode === 2 /* eDistributedTracingModes.W3C */;\r\n if (_enableAjaxPerfTracking) {\r\n var iKey = config.instrumentationKey || \"unkwn\";\r\n if (iKey[_DYN_LENGTH /* @min:%2elength */] > 5) {\r\n _markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey[_DYN_LENGTH /* @min:%2elength */] - 5) + \".\";\r\n }\r\n else {\r\n _markPrefix = AJAX_MONITOR_PREFIX + iKey + \".\";\r\n }\r\n }\r\n _disableAjaxTracking = !!_config[_DYN_DISABLE_AJAX_TRACKIN12 /* @min:%2edisableAjaxTracking */];\r\n _disableFetchTracking = !!_config[_DYN_DISABLE_FETCH_TRACKI13 /* @min:%2edisableFetchTracking */];\r\n }\r\n function _populateContext() {\r\n var propExt = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (propExt) {\r\n _context = propExt.plugin[_DYN_CONTEXT /* @min:%2econtext */]; // we could move IPropertiesPlugin to common as well\r\n }\r\n }\r\n // discard the header if it's defined as ignoreHeaders in ICorrelationConfig\r\n function _canIncludeHeaders(header) {\r\n var rlt = true;\r\n if (header || _config.ignoreHeaders) {\r\n arrForEach(_config.ignoreHeaders, (function (key) {\r\n if (key[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === header[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) {\r\n rlt = false;\r\n return -1;\r\n }\r\n }));\r\n }\r\n return rlt;\r\n }\r\n // Fetch Stuff\r\n function _instrumentFetch() {\r\n var fetch = _supportsFetch();\r\n if (!fetch) {\r\n return;\r\n }\r\n var global = getGlobal();\r\n var isPolyfill = fetch.polyfill;\r\n if (!_disableFetchTracking && !_fetchInitialized) {\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n // Add request hook\r\n req: function (callDetails, input, init) {\r\n var fetchData;\r\n if (!_disableFetchTracking && _fetchInitialized &&\r\n !_isDisabledRequest(null, input, init) &&\r\n // If we have a polyfil and XHR instrumented then let XHR report otherwise we get duplicates\r\n !(isPolyfill && _xhrInitialized)) {\r\n var ctx = callDetails.ctx();\r\n fetchData = _createFetchRecord(input, init);\r\n var newInit = _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](fetchData, input, init);\r\n if (newInit !== init) {\r\n callDetails.set(1, newInit);\r\n }\r\n ctx.data = fetchData;\r\n }\r\n },\r\n rsp: function (callDetails, input) {\r\n if (!_disableFetchTracking) {\r\n var fetchData_1 = callDetails.ctx().data;\r\n if (fetchData_1) {\r\n // Replace the result with the new promise from this code\r\n callDetails.rslt = callDetails.rslt.then(function (response) {\r\n _reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS /* @min:%2estatus */], input, response, fetchData_1, function () {\r\n var ajaxResponse = {\r\n statusText: (response || {})[_DYN_STATUS_TEXT /* @min:%2estatusText */],\r\n headerMap: null,\r\n correlationContext: _getFetchCorrelationContext(response)\r\n };\r\n if (_enableResponseHeaderTracking && response) {\r\n var responseHeaderMap_1 = {};\r\n response.headers.forEach(function (value, name) {\r\n if (_canIncludeHeaders(name)) {\r\n responseHeaderMap_1[name] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_1;\r\n }\r\n return ajaxResponse;\r\n });\r\n return response;\r\n })[\"catch\"](function (reason) {\r\n _reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message || dumpObj(reason) });\r\n throw reason;\r\n });\r\n }\r\n }\r\n },\r\n // Create an error callback to report any hook errors\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to monitor Window.fetch\" + ERROR_POSTFIX)\r\n }, true, isWebWorker()));\r\n _fetchInitialized = true;\r\n }\r\n else if (isPolyfill) {\r\n // If fetch is a polyfill we need to capture the request to ensure that we correctly track\r\n // disabled request URLS (i.e. internal urls) to ensure we don't end up in a constant loop\r\n // of reporting ourselves, for example React Native uses a polyfill for fetch\r\n // Note: Polyfill implementations that don't support the \"poyyfill\" tag are not supported\r\n // the workaround is to add a polyfill property to your fetch implementation before initializing\r\n // App Insights\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n req: function (callDetails, input, init) {\r\n // Just call so that we record any disabled URL\r\n _isDisabledRequest(null, input, init);\r\n }\r\n }));\r\n }\r\n if (isPolyfill) {\r\n // retag the instrumented fetch with the same polyfill settings this is mostly for testing\r\n // But also supports multiple App Insights usages\r\n global[STR_FETCH].polyfill = isPolyfill;\r\n }\r\n }\r\n function _hookProto(target, funcName, callbacks) {\r\n _addHook(InstrumentProto(target, funcName, callbacks));\r\n }\r\n function _instrumentXhr() {\r\n if (_supportsAjaxMonitoring(_self, _ajaxDataId) && !_disableAjaxTracking && !_xhrInitialized) {\r\n // Instrument open\r\n _hookProto(XMLHttpRequest, \"open\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, method, url, async) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, ajaxData, true)) {\r\n if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */]) {\r\n // Only create a single ajaxData (even when multiple AI instances are running)\r\n ajaxData = _openHandler(xhr, method, url, async);\r\n }\r\n // always attach to the on ready state change (required for handling multiple instances)\r\n _attachToOnReadyStateChange(xhr, ajaxData);\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, ERROR_HEADER + \".open\" + ERROR_POSTFIX)\r\n });\r\n // Instrument send\r\n _hookProto(XMLHttpRequest, \"send\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, context) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */]) {\r\n _createMarkId(\"xhr\", ajaxData);\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](ajaxData, undefined, undefined, xhr);\r\n ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 17 /* _eInternalMessageId.FailedMonitorAjaxSend */, ERROR_HEADER + ERROR_POSTFIX)\r\n });\r\n // Instrument abort\r\n _hookProto(XMLHttpRequest, \"abort\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */]) {\r\n ajaxData[_DYN_ABORTED /* @min:%2eaborted */] = 1;\r\n ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 13 /* _eInternalMessageId.FailedMonitorAjaxAbort */, ERROR_HEADER + \".abort\" + ERROR_POSTFIX)\r\n });\r\n // Instrument setRequestHeader\r\n _hookProto(XMLHttpRequest, \"setRequestHeader\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, header, value) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (ajaxData && _isMonitoredXhrInstance(xhr, ajaxData)) {\r\n _addSharedXhrHeaders(xhr, header, value);\r\n if (_enableRequestHeaderTracking && _canIncludeHeaders(header)) {\r\n if (ajaxData) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][header] = value;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, ERROR_HEADER + \".setRequestHeader\" + ERROR_POSTFIX)\r\n });\r\n _xhrInitialized = true;\r\n }\r\n }\r\n function _isDisabledRequest(xhr, request, init) {\r\n var isDisabled = false;\r\n var theUrl = ((!isString(request) ? (request || {}).url || \"\" : request) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // check excludeRequestFromAutoTrackingPatterns before stripping off any query string\r\n arrForEach(_excludeRequestFromAutoTrackingPatterns, function (regex) {\r\n var theRegex = regex;\r\n if (isString(regex)) {\r\n theRegex = new RegExp(regex);\r\n }\r\n if (!isDisabled) {\r\n isDisabled = theRegex.test(theUrl);\r\n }\r\n });\r\n // if request url matches with exclude regex pattern, return true and no need to check for headers\r\n if (isDisabled) {\r\n return isDisabled;\r\n }\r\n var idx = _indexOf(theUrl, \"?\");\r\n var idx2 = _indexOf(theUrl, \"#\");\r\n if (idx === -1 || (idx2 !== -1 && idx2 < idx)) {\r\n idx = idx2;\r\n }\r\n if (idx !== -1) {\r\n // Strip off any Query string\r\n theUrl = theUrl.substring(0, idx);\r\n }\r\n // check that this instance is not not used by ajax call performed inside client side monitoring to send data to collector\r\n if (!isNullOrUndefined(xhr)) {\r\n // Look on the XMLHttpRequest of the URL string value\r\n isDisabled = xhr[DisabledPropertyName] === true || theUrl[DisabledPropertyName] === true;\r\n }\r\n else if (!isNullOrUndefined(request)) { // fetch\r\n // Look for DisabledPropertyName in either Request or RequestInit\r\n isDisabled = (typeof request === \"object\" ? request[DisabledPropertyName] === true : false) ||\r\n (init ? init[DisabledPropertyName] === true : false);\r\n }\r\n // Also add extra check just in case the XHR or fetch objects where not decorated with the DisableProperty due to sealing or freezing\r\n if (!isDisabled && theUrl && isInternalApplicationInsightsEndpoint(theUrl)) {\r\n isDisabled = true;\r\n }\r\n if (isDisabled) {\r\n // Add the disabled url if not present\r\n if (!_disabledUrls[theUrl]) {\r\n _disabledUrls[theUrl] = 1;\r\n }\r\n }\r\n else {\r\n // Check to see if the url is listed as disabled\r\n if (_disabledUrls[theUrl]) {\r\n isDisabled = true;\r\n }\r\n }\r\n return isDisabled;\r\n }\r\n /// Verifies that particular instance of XMLHttpRequest needs to be monitored\r\n /// Optional parameter. True if ajaxData must be excluded from verification\r\n /// True if instance needs to be monitored, otherwise false\r\n function _isMonitoredXhrInstance(xhr, ajaxData, excludeAjaxDataValidation) {\r\n var ajaxValidation = true;\r\n var initialized = _xhrInitialized;\r\n if (!isNullOrUndefined(xhr)) {\r\n ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(ajaxData);\r\n }\r\n // checking to see that all interested functions on xhr were instrumented\r\n return initialized\r\n // checking on ajaxData to see that it was not removed in user code\r\n && ajaxValidation;\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n // Fall back\r\n if (!distributedTraceCtx && _context && _context.telemetryTrace) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);\r\n }\r\n return distributedTraceCtx;\r\n }\r\n function _openHandler(xhr, method, url, async) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = generateW3CId().substr(0, 16);\r\n var xhrRequestData = xhr[AJAX_DATA_CONTAINER] = (xhr[AJAX_DATA_CONTAINER] || { xh: [], i: {} });\r\n var ajaxDataCntr = xhrRequestData.i = (xhrRequestData.i || {});\r\n var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx()));\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = url;\r\n ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */] = true;\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = {};\r\n ajaxData.async = async;\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n return ajaxData;\r\n }\r\n function _attachToOnReadyStateChange(xhr, ajaxData) {\r\n ajaxData.xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE14 /* @min:%2estateChangeAttached */] = eventOn(xhr, \"readystatechange\", function () {\r\n try {\r\n if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr, ajaxData)) {\r\n _onAjaxComplete(xhr);\r\n }\r\n }\r\n catch (e) {\r\n var exceptionText = dumpObj(e);\r\n // ignore messages with c00c023f, as this a known IE9 XHR abort issue\r\n if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), \"c00c023f\") === -1) {\r\n _throwInternalCritical(_self, 16 /* _eInternalMessageId.FailedMonitorAjaxRSC */, ERROR_HEADER + \" 'readystatechange' event handler\" + ERROR_POSTFIX, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),\r\n exception: exceptionText\r\n });\r\n }\r\n }\r\n }, _evtNamespace);\r\n }\r\n function _getResponseText(xhr) {\r\n try {\r\n var responseType = xhr.responseType;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n // As per the specification responseText is only valid if the type is an empty string or \"text\"\r\n return xhr[_DYN_RESPONSE_TEXT /* @min:%2eresponseText */];\r\n }\r\n }\r\n catch (e) {\r\n // This shouldn't happen because of the above check -- but just in case, so just ignore\r\n }\r\n return null;\r\n }\r\n function _onAjaxComplete(xhr) {\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = xhr[_DYN_STATUS /* @min:%2estatus */];\r\n function _reportXhrError(e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"ajaxDiagnosticsMessage\"] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, 14 /* _eInternalMessageId.FailedMonitorAjaxDur */, FAILED_TO_CALCULATE_DURATION_ERROR + \"ajax call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n _findPerfResourceEntry(\"xmlhttprequest\", ajaxData, function () {\r\n try {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Ajax\", _enableRequestHeaderTracking, function () {\r\n var ajaxResponse = {\r\n statusText: xhr[_DYN_STATUS_TEXT /* @min:%2estatusText */],\r\n headerMap: null,\r\n correlationContext: _getAjaxCorrelationContext(xhr),\r\n type: xhr.responseType,\r\n responseText: _getResponseText(xhr),\r\n response: xhr[_DYN_RESPONSE /* @min:%2eresponse */]\r\n };\r\n if (_enableResponseHeaderTracking) {\r\n var headers = xhr[_DYN_GET_ALL_RESPONSE_HEA16 /* @min:%2egetAllResponseHeaders */]();\r\n if (headers) {\r\n // xhr.getAllResponseHeaders() method returns all the response headers, separated by CRLF, as a string or null\r\n // the regex converts the header string into an array of individual headers\r\n var arr = strTrim(headers).split(/[\\r\\n]+/);\r\n var responseHeaderMap_2 = {};\r\n arrForEach(arr, function (line) {\r\n var parts = line.split(\": \");\r\n var header = parts.shift();\r\n var value = parts.join(\": \");\r\n if (_canIncludeHeaders(header)) {\r\n responseHeaderMap_2[header] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_2;\r\n }\r\n }\r\n return ajaxResponse;\r\n });\r\n var properties = void 0;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: xhr[_DYN_STATUS /* @min:%2estatus */], xhr: xhr });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportXhrError(null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }\r\n finally {\r\n // cleanup telemetry data\r\n try {\r\n var xhrRequestData = (xhr[AJAX_DATA_CONTAINER] || { i: {} });\r\n var ajaxDataCntr = (xhrRequestData.i || {});\r\n if (ajaxDataCntr[_ajaxDataId]) {\r\n ajaxDataCntr[_ajaxDataId] = null;\r\n }\r\n }\r\n catch (e) {\r\n // May throw in environments that prevent extension or freeze xhr\r\n }\r\n }\r\n }, function (e) {\r\n _reportXhrError(e, null);\r\n });\r\n }\r\n function _getAjaxCorrelationContext(xhr) {\r\n try {\r\n var responseHeadersString = xhr[_DYN_GET_ALL_RESPONSE_HEA16 /* @min:%2egetAllResponseHeaders */]();\r\n if (responseHeadersString !== null) {\r\n var index = _indexOf(responseHeadersString[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), RequestHeaders[8 /* eRequestHeaders.requestContextHeaderLowerCase */]);\r\n if (index !== -1) {\r\n var responseHeader = xhr.getResponseHeader(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT17 /* @min:%2egetCorrelationContext */](responseHeader);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n function _createMarkId(type, ajaxData) {\r\n if (ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] && _markPrefix && _enableAjaxPerfTracking) {\r\n var performance_1 = getPerformance();\r\n if (performance_1 && isFunction(performance_1.mark)) {\r\n _markCount++;\r\n var markId = _markPrefix + type + \"#\" + _markCount;\r\n performance_1.mark(markId);\r\n var entries = performance_1.getEntriesByName(markId);\r\n if (entries && entries[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */] = entries[0];\r\n }\r\n }\r\n }\r\n }\r\n function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {\r\n var perfMark = ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */];\r\n var performance = getPerformance();\r\n var maxAttempts = _config.maxAjaxPerfLookupAttempts;\r\n var retryDelay = _config[_DYN_AJAX_PERF_LOOKUP_DEL18 /* @min:%2eajaxPerfLookupDelay */];\r\n var requestUrl = ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */];\r\n var attempt = 0;\r\n (function locateResourceTiming() {\r\n try {\r\n if (performance && perfMark) {\r\n attempt++;\r\n var perfTiming = null;\r\n var entries = performance.getEntries();\r\n for (var lp = entries[_DYN_LENGTH /* @min:%2elength */] - 1; lp >= 0; lp--) {\r\n var entry = entries[lp];\r\n if (entry) {\r\n if (entry.entryType === \"resource\") {\r\n if (entry.initiatorType === initiatorType &&\r\n (_indexOf(entry[_DYN_NAME /* @min:%2ename */], requestUrl) !== -1 || _indexOf(requestUrl, entry[_DYN_NAME /* @min:%2ename */]) !== -1)) {\r\n perfTiming = entry;\r\n }\r\n }\r\n else if (entry.entryType === \"mark\" && entry[_DYN_NAME /* @min:%2ename */] === perfMark[_DYN_NAME /* @min:%2ename */]) {\r\n // We hit the start event\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] = perfTiming;\r\n break;\r\n }\r\n if (entry[_DYN_START_TIME /* @min:%2estartTime */] < perfMark[_DYN_START_TIME /* @min:%2estartTime */] - 1000) {\r\n // Fallback to try and reduce the time spent looking for the perf entry\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!perfMark || // - we don't have a perfMark or\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] || // - we have not found the perf entry or\r\n attempt >= maxAttempts || // - we have tried too many attempts or\r\n ajaxData.async === false) { // - this is a sync request\r\n if (perfMark && isFunction(performance.clearMarks)) {\r\n // Remove the mark so we don't fill up the performance resources too much\r\n performance.clearMarks(perfMark[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n ajaxData.perfAttempts = attempt;\r\n // just continue and report the track event\r\n trackCallback();\r\n }\r\n else {\r\n // We need to wait for the browser to populate the window.performance entry\r\n // This needs to be at least 1ms as waiting <= 1 (on firefox) is not enough time for fetch or xhr,\r\n // this is a scheduling issue for the browser implementation\r\n setTimeout(locateResourceTiming, retryDelay);\r\n }\r\n }\r\n catch (e) {\r\n reportError(e);\r\n }\r\n })();\r\n }\r\n function _createFetchRecord(input, init) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = generateW3CId().substr(0, 16);\r\n var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n if (input instanceof Request) {\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = input ? input.url : \"\";\r\n }\r\n else {\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = input;\r\n }\r\n var method = \"GET\";\r\n if (init && init[_DYN_METHOD /* @min:%2emethod */]) {\r\n method = init[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n else if (input && input instanceof Request) {\r\n method = input[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n var requestHeaders = {};\r\n if (_enableRequestHeaderTracking) {\r\n var headers = new Headers((init ? init[_DYN_HEADERS /* @min:%2eheaders */] : 0) || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n headers.forEach(function (value, key) {\r\n if (_canIncludeHeaders(key)) {\r\n requestHeaders[key] = value;\r\n }\r\n });\r\n }\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = requestHeaders;\r\n _createMarkId(STR_FETCH, ajaxData);\r\n return ajaxData;\r\n }\r\n function _getFailedFetchDiagnosticsMessage(input) {\r\n var result = \"\";\r\n try {\r\n if (!isNullOrUndefined(input)) {\r\n if (isString(input)) {\r\n result += \"(url: '\".concat(input, \"')\");\r\n }\r\n else {\r\n result += \"(url: '\".concat(input.url, \"')\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalCritical(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to grab failed fetch diagnostics message\", { exception: dumpObj(e) });\r\n }\r\n return result;\r\n }\r\n function _reportFetchMetrics(callDetails, status, input, response, ajaxData, getResponse, properties) {\r\n if (!ajaxData) {\r\n return;\r\n }\r\n function _reportFetchError(msgId, e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"fetchDiagnosticsMessage\"] = _getFailedFetchDiagnosticsMessage(input);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + \"fetch call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = status;\r\n _findPerfResourceEntry(STR_FETCH, ajaxData, function () {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Fetch\", _enableRequestHeaderTracking, getResponse);\r\n var properties;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: status, request: input, response: response });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportFetchError(14 /* _eInternalMessageId.FailedMonitorAjaxDur */, null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }, function (e) {\r\n _reportFetchError(18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, e, null);\r\n });\r\n }\r\n function _getFetchCorrelationContext(response) {\r\n if (response && response[_DYN_HEADERS /* @min:%2eheaders */]) {\r\n try {\r\n var responseHeader = response[_DYN_HEADERS /* @min:%2eheaders */].get(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT17 /* @min:%2egetCorrelationContext */](responseHeader);\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, {\r\n fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n }\r\n function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {\r\n var result = true;\r\n var initializersCount = initializers[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = {\r\n item: dependency,\r\n properties: properties,\r\n sysProperties: systemProperties,\r\n context: ajaxData ? ajaxData[_DYN_CONTEXT /* @min:%2econtext */] : null,\r\n aborted: ajaxData ? !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */] : false\r\n };\r\n result = _processDependencyContainer(core, initializers, details, \"initializer\");\r\n }\r\n if (result) {\r\n _self[_DYN_TRACK_DEPENDENCY_DAT4 /* @min:%2etrackDependencyDataInternal */](dependency, properties, systemProperties);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AjaxMonitor.prototype.initialize.\r\n AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {\r\n this.processNext(item, itemCtx);\r\n };\r\n// Removed Stub for AjaxMonitor.prototype.trackDependencyData.\r\n// Removed Stub for AjaxMonitor.prototype.includeCorrelationHeaders.\r\n// Removed Stub for AjaxMonitor.prototype.addDependencyListener.\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n// Removed Stub for AjaxMonitor.prototype.trackDependencyDataInternal.\r\n AjaxMonitor.identifier = \"AjaxDependencyPlugin\";\r\n AjaxMonitor.getDefaultConfig = _getDefaultConfig;\r\n AjaxMonitor.getEmptyConfig = _getEmptyConfig;\r\n return AjaxMonitor;\r\n}(BaseTelemetryPlugin));\r\nexport { AjaxMonitor };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Application = /** @class */ (function () {\r\n function Application() {\r\n }\r\n return Application;\r\n}());\r\nexport { Application };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Device = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the Device class\r\n */\r\n function Device() {\r\n // don't attempt to fingerprint browsers\r\n this.id = \"browser\";\r\n // Device type is a dimension in our data platform\r\n // Setting it to 'Browser' allows to separate client and server dependencies/exceptions\r\n this.deviceClass = \"Browser\";\r\n }\r\n return Device;\r\n}());\r\nexport { Device };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SESSION_MANAGER = \"sessionManager\"; // Count: 3\r\nexport var _DYN_UPDATE = \"update\"; // Count: 4\r\nexport var _DYN_IS_USER_COOKIE_SET = \"isUserCookieSet\"; // Count: 4\r\nexport var _DYN_IS_NEW_USER = \"isNewUser\"; // Count: 4\r\nexport var _DYN_GET_TRACE_CTX = \"getTraceCtx\"; // Count: 3\r\nexport var _DYN_TELEMETRY_TRACE = \"telemetryTrace\"; // Count: 3\r\nexport var _DYN_APPLY_SESSION_CONTEX0 = \"applySessionContext\"; // Count: 2\r\nexport var _DYN_APPLY_APPLICATION_CO1 = \"applyApplicationContext\"; // Count: 2\r\nexport var _DYN_APPLY_DEVICE_CONTEXT = \"applyDeviceContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATION_CONT2 = \"applyOperationContext\"; // Count: 2\r\nexport var _DYN_APPLY_USER_CONTEXT = \"applyUserContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATING_SYST3 = \"applyOperatingSystemContxt\"; // Count: 2\r\nexport var _DYN_APPLY_LOCATION_CONTE4 = \"applyLocationContext\"; // Count: 2\r\nexport var _DYN_APPLY_INTERNAL_CONTE5 = \"applyInternalContext\"; // Count: 2\r\nexport var _DYN_ACCOUNT_ID = \"accountId\"; // Count: 8\r\nexport var _DYN_SDK_EXTENSION = \"sdkExtension\"; // Count: 4\r\nexport var _DYN_GET_SESSION_ID = \"getSessionId\"; // Count: 4\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 7\r\nexport var _DYN_SESSION_COOKIE_POSTF6 = \"sessionCookiePostfix\"; // Count: 4\r\nexport var _DYN_USER_COOKIE_POSTFIX = \"userCookiePostfix\"; // Count: 4\r\nexport var _DYN_ID_LENGTH = \"idLength\"; // Count: 5\r\nexport var _DYN_GET_NEW_ID = \"getNewId\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 4\r\nexport var _DYN_AUTOMATIC_SESSION = \"automaticSession\"; // Count: 5\r\nexport var _DYN_AUTHENTICATED_ID = \"authenticatedId\"; // Count: 6\r\nexport var _DYN_SESSION_EXPIRATION_M7 = \"sessionExpirationMs\"; // Count: 5\r\nexport var _DYN_SESSION_RENEWAL_MS = \"sessionRenewalMs\"; // Count: 4\r\nexport var _DYN_CONFIG = \"config\"; // Count: 4\r\nexport var _DYN_ACQUISITION_DATE = \"acquisitionDate\"; // Count: 5\r\nexport var _DYN_RENEWAL_DATE = \"renewalDate\"; // Count: 4\r\nexport var _DYN_COOKIE_DOMAIN = \"cookieDomain\"; // Count: 3\r\nexport var _DYN_JOIN = \"join\"; // Count: 5\r\nexport var _DYN_COOKIE_SEPARATOR = \"cookieSeparator\"; // Count: 5\r\nexport var _DYN_AUTH_USER_COOKIE_NAM8 = \"authUserCookieName\"; // Count: 3\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_SDK_EXTENSION } from \"../__DynamicConstants\";\r\nvar Version = '2.8.18';\r\nvar Internal = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the internal telemetry data class.\r\n */\r\n function Internal(config) {\r\n this.sdkVersion = (config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */] && config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */]() ? config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */]() + \"_\" : \"\") + \"javascript:\" + Version;\r\n }\r\n return Internal;\r\n}());\r\nexport { Internal };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Location = /** @class */ (function () {\r\n function Location() {\r\n }\r\n return Location;\r\n}());\r\nexport { Location };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, dateNow, dumpObj, getExceptionName, isFunction, newId, safeGetCookieMgr, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACQUISITION_DATE, _DYN_AUTOMATIC_SESSION, _DYN_CONFIG, _DYN_COOKIE_DOMAIN, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_RENEWAL_DATE, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_EXPIRATION_M7, _DYN_SESSION_RENEWAL_MS, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nvar cookieNameConst = \"ai_session\";\r\nvar Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n return Session;\r\n}());\r\nexport { Session };\r\nvar _SessionManager = /** @class */ (function () {\r\n function _SessionManager(config, core) {\r\n var self = this;\r\n var _storageNamePrefix;\r\n var _cookieUpdatedTimestamp;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n dynamicProto(_SessionManager, self, function (_self) {\r\n if (!config) {\r\n config = {};\r\n }\r\n if (!isFunction(config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */])) {\r\n config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */] = function () { return _SessionManager.acquisitionSpan; };\r\n }\r\n if (!isFunction(config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */])) {\r\n config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */] = function () { return _SessionManager.renewalSpan; };\r\n }\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n // sessionCookiePostfix takes the preference if it is configured, otherwise takes namePrefix if configured.\r\n var sessionCookiePostfix = (_self.config[_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */]()) ?\r\n _self.config[_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */]() :\r\n ((_self.config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_NAME_PREFIX /* @min:%2enamePrefix */]()) ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() : \"\");\r\n _storageNamePrefix = function () { return cookieNameConst + sessionCookiePostfix; };\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */] = new Session();\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function () {\r\n // Always using Date getTime() as there is a bug in older IE instances that causes the performance timings to have the hi-bit set eg 0x800000000 causing\r\n // the number to be incorrect.\r\n var nowMs = dateNow();\r\n var isExpired = false;\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n if (!session.id) {\r\n isExpired = !_initializeAutomaticSession(session, nowMs);\r\n }\r\n var sessionExpirationMs = _self.config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]();\r\n if (!isExpired && sessionExpirationMs > 0) {\r\n var sessionRenewalMs = _self.config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */]();\r\n var timeSinceAcqMs = nowMs - session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n var timeSinceRenewalMs = nowMs - session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */];\r\n isExpired = timeSinceAcqMs < 0 || timeSinceRenewalMs < 0; // expired if the acquisition or last renewal are in the future\r\n isExpired = isExpired || timeSinceAcqMs > sessionExpirationMs; // expired if the time since acquisition is more than session Expiration\r\n isExpired = isExpired || timeSinceRenewalMs > sessionRenewalMs; // expired if the time since last renewal is more than renewal period\r\n }\r\n // renew if acquisitionSpan or renewalSpan has elapsed\r\n if (isExpired) {\r\n // update automaticSession so session state has correct id\r\n _renew(nowMs);\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > _SessionManager.cookieUpdateInterval) {\r\n _setCookie(session, nowMs);\r\n }\r\n }\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _self.backup = function () {\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n _setStorage(session.id, session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */], session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */]);\r\n };\r\n /**\r\n * Use config.namePrefix + ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSession(session, now) {\r\n var isValid = false;\r\n var cookieValue = _cookieManager.get(_storageNamePrefix());\r\n if (cookieValue && isFunction(cookieValue.split)) {\r\n isValid = _initializeAutomaticSessionWithData(session, cookieValue);\r\n }\r\n else {\r\n // There's no cookie, but we might have session data in local storage\r\n // This can happen if the session expired or the user actively deleted the cookie\r\n // We only want to recover data if the cookie is missing from expiry. We should respect the user's wishes if the cookie was deleted actively.\r\n // The User class handles this for us and deletes our local storage object if the persistent user cookie was removed.\r\n var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix());\r\n if (storageValue) {\r\n isValid = _initializeAutomaticSessionWithData(session, storageValue);\r\n }\r\n }\r\n return isValid || !!session.id;\r\n }\r\n /**\r\n * Extract id, acquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param {string} sessionData - The string stored in an ai_session cookie or local storage backup\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSessionWithData(session, sessionData) {\r\n var isValid = false;\r\n var sessionReset = \", session will be reset\";\r\n var tokens = sessionData.split(\"|\");\r\n if (tokens[_DYN_LENGTH /* @min:%2elength */] >= 2) {\r\n try {\r\n var acqMs = +tokens[1] || 0;\r\n var renewalMs = +tokens[2] || 0;\r\n if (isNaN(acqMs) || acqMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session acquisition date is 0\" + sessionReset);\r\n }\r\n else if (isNaN(renewalMs) || renewalMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session renewal date is 0\" + sessionReset);\r\n }\r\n else if (tokens[0]) {\r\n // Everything looks valid so set the values\r\n session.id = tokens[0];\r\n session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = acqMs;\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = renewalMs;\r\n isValid = true;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 9 /* _eInternalMessageId.ErrorParsingAISessionCookie */, \"Error parsing ai_session value [\" + (sessionData || \"\") + \"]\" + sessionReset + \" - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return isValid;\r\n }\r\n function _renew(nowMs) {\r\n var theConfig = (_self[_DYN_CONFIG /* @min:%2econfig */] || {});\r\n var getNewId = (theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] ? theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */]() : null) || newId;\r\n _self.automaticSession.id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */]() : 22);\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */][_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = nowMs;\r\n _setCookie(_self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */], nowMs);\r\n // If this browser does not support local storage, fire an internal log to keep track of it at this point\r\n if (!utlCanUseLocalStorage()) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 0 /* _eInternalMessageId.BrowserDoesNotSupportLocalStorage */, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n }\r\n function _setCookie(session, nowMs) {\r\n var acq = session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = nowMs;\r\n var config = _self[_DYN_CONFIG /* @min:%2econfig */];\r\n var renewalPeriodMs = config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */]();\r\n // Set cookie to expire after the session expiry time passes or the session renewal deadline, whichever is sooner\r\n // Expiring the cookie will cause the session to expire even if the user isn't on the page\r\n var acqTimeLeftMs = (acq + config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]()) - nowMs;\r\n var cookie = [session.id, acq, nowMs];\r\n var maxAgeSec = 0;\r\n if (acqTimeLeftMs < renewalPeriodMs) {\r\n maxAgeSec = acqTimeLeftMs / 1000;\r\n }\r\n else {\r\n maxAgeSec = renewalPeriodMs / 1000;\r\n }\r\n var cookieDomain = config[_DYN_COOKIE_DOMAIN /* @min:%2ecookieDomain */] ? config[_DYN_COOKIE_DOMAIN /* @min:%2ecookieDomain */]() : null;\r\n // if sessionExpirationMs is set to 0, it means the expiry is set to 0 for this session cookie\r\n // A cookie with 0 expiry in the session cookie will never expire for that browser session. If the browser is closed the cookie expires.\r\n // Depending on the browser, another instance does not inherit this cookie, however, another tab will\r\n _cookieManager.set(_storageNamePrefix(), cookie.join(\"|\"), config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]() > 0 ? maxAgeSec : null, cookieDomain);\r\n _cookieUpdatedTimestamp = nowMs;\r\n }\r\n function _setStorage(guid, acq, renewal) {\r\n // Keep data in local storage to retain the last session id, allowing us to cleanly end the session when it expires\r\n // Browsers that don't support local storage won't be able to end sessions cleanly from the client\r\n // The server will notice this and end the sessions itself, with loss of accurate session duration\r\n utlSetLocalStorage(_logger, _storageNamePrefix(), [guid, acq, renewal][_DYN_JOIN /* @min:%2ejoin */](\"|\"));\r\n }\r\n });\r\n }\r\n// Removed Stub for _SessionManager.prototype.update.\r\n// Removed Stub for _SessionManager.prototype.backup.\r\n _SessionManager.acquisitionSpan = 86400000; // 24 hours in ms\r\n _SessionManager.renewalSpan = 1800000; // 30 minutes in ms\r\n _SessionManager.cookieUpdateInterval = 60000; // 1 minute in ms\r\n return _SessionManager;\r\n}());\r\nexport { _SessionManager };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { generateW3CId, getLocation } from \"@microsoft/applicationinsights-core-js\";\r\nvar TelemetryTrace = /** @class */ (function () {\r\n function TelemetryTrace(id, parentId, name, logger) {\r\n var _self = this;\r\n _self.traceID = id || generateW3CId();\r\n _self.parentID = parentId;\r\n var location = getLocation();\r\n if (!name && location && location.pathname) {\r\n name = location.pathname;\r\n }\r\n _self.name = dataSanitizeString(logger, name);\r\n }\r\n return TelemetryTrace;\r\n}());\r\nexport { TelemetryTrace };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlRemoveStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, newId, safeGetCookieMgr, safeGetLogger, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_AUTHENTICATED_ID, _DYN_AUTH_USER_COOKIE_NAM8, _DYN_CONFIG, _DYN_COOKIE_SEPARATOR, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"../__DynamicConstants\";\r\nfunction _validateUserInput(id) {\r\n // Validate:\r\n // 1. Id is a non-empty string.\r\n // 2. It does not contain special characters for cookies.\r\n if (typeof id !== \"string\" ||\r\n !id ||\r\n id.match(/,|;|=| |\\|/)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar User = /** @class */ (function () {\r\n function User(config, core) {\r\n /**\r\n * A flag indicating whether this represents a new user\r\n */\r\n this.isNewUser = false;\r\n /**\r\n * A flag indicating whether the user cookie has been set\r\n */\r\n this.isUserCookieSet = false;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _storageNamePrefix;\r\n dynamicProto(User, this, function (_self) {\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n var userCookiePostfix = (_self.config[_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */]()) ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */]() : \"\";\r\n _storageNamePrefix = function () { return User.userCookieName + userCookiePostfix; };\r\n // get userId or create new one if none exists\r\n var cookie = _cookieManager.get(_storageNamePrefix());\r\n if (cookie) {\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var params = cookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (params[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self.id = params[0];\r\n // we already have a cookie\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = !!_self.id;\r\n }\r\n }\r\n function _generateNewId() {\r\n var theConfig = (config || {});\r\n var getNewId = (theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] ? theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */]() : null) || newId;\r\n var id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? config[_DYN_ID_LENGTH /* @min:%2eidLength */]() : 22);\r\n return id;\r\n }\r\n function _generateNewCookie(userId) {\r\n var acqStr = toISOString(new Date());\r\n _self.accountAcquisitionDate = acqStr;\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = true;\r\n var newCookie = [userId, acqStr];\r\n return newCookie;\r\n }\r\n function _setUserCookie(cookie) {\r\n // without expiration, cookies expire at the end of the session\r\n // set it to 365 days from now\r\n // 365 * 24 * 60 * 60 = 31536000\r\n var oneYear = 31536000;\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = _cookieManager.set(_storageNamePrefix(), cookie, oneYear);\r\n }\r\n if (!_self.id) {\r\n _self.id = _generateNewId();\r\n var newCookie = _generateNewCookie(_self.id);\r\n _setUserCookie(newCookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n // If we have an config.namePrefix() + ai_session in local storage this means the user actively removed our cookies.\r\n // We should respect their wishes and clear ourselves from local storage\r\n var name_1 = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"ai_session\" : \"ai_session\";\r\n utlRemoveStorage(_logger, name_1);\r\n }\r\n // We still take the account id from the ctor param for backward compatibility.\r\n // But if the the customer set the accountId through the newer setAuthenticatedUserContext API, we will override it.\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] ? config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */]() : undefined;\r\n // Get the auth user id and account id from the cookie if exists\r\n // Cookie is in the pattern: |\r\n var authCookie = _cookieManager.get(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */]);\r\n if (authCookie) {\r\n authCookie = decodeURI(authCookie);\r\n var authCookieString = authCookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (authCookieString[0]) {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authCookieString[0];\r\n }\r\n if (authCookieString[_DYN_LENGTH /* @min:%2elength */] > 1 && authCookieString[1]) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = authCookieString[1];\r\n }\r\n }\r\n _self.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // Validate inputs to ensure no cookie control characters.\r\n var isInvalidInput = !_validateUserInput(authenticatedUserId) || (accountId && !_validateUserInput(accountId));\r\n if (isInvalidInput) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 60 /* _eInternalMessageId.SetAuthContextFailedAccountName */, \"Setting auth user context failed. \" +\r\n \"User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars.\", true);\r\n return;\r\n }\r\n // Create cookie string.\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authenticatedUserId;\r\n var authCookie = _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */];\r\n if (accountId) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = accountId;\r\n authCookie = [_self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], _self.accountId][_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n }\r\n if (storeInCookie) {\r\n // Set the cookie. No expiration date because this is a session cookie (expires when browser closed).\r\n // Encoding the cookie to handle unexpected unicode characters.\r\n _cookieManager.set(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */], encodeURI(authCookie));\r\n }\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n _self.clearAuthenticatedUserContext = function () {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = null;\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = null;\r\n _cookieManager.del(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */]);\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (userId) {\r\n // Optimizations to avoid setting and processing the cookie when not needed\r\n if (_self.id !== userId || !_self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n var user_id = userId ? userId : _generateNewId();\r\n var user_cookie = _generateNewCookie(user_id);\r\n _setUserCookie(user_cookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for User.prototype.setAuthenticatedUserContext.\r\n// Removed Stub for User.prototype.clearAuthenticatedUserContext.\r\n// Removed Stub for User.prototype.update.\r\n User.cookieSeparator = \"|\";\r\n User.userCookieName = \"ai_user\";\r\n User.authUserCookieName = \"ai_authUser\";\r\n return User;\r\n}());\r\nexport { User };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* TelemetryContext.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CtxTagKeys, Extensions, PageView, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalLogMessage, getSetValue, hasWindow, isNullOrUndefined, isString, objKeys, setValue } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Application } from \"./Context/Application\";\r\nimport { Device } from \"./Context/Device\";\r\nimport { Internal } from \"./Context/Internal\";\r\nimport { Location } from \"./Context/Location\";\r\nimport { Session, _SessionManager } from \"./Context/Session\";\r\nimport { TelemetryTrace } from \"./Context/TelemetryTrace\";\r\nimport { User } from \"./Context/User\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_AUTHENTICATED_ID, _DYN_AUTOMATIC_SESSION, _DYN_GET_SESSION_ID, _DYN_LENGTH, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE } from \"./__DynamicConstants\";\r\nvar strExt = \"ext\";\r\nvar strTags = \"tags\";\r\nfunction _removeEmpty(target, name) {\r\n if (target && target[name] && objKeys(target[name])[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n delete target[name];\r\n }\r\n}\r\nvar TelemetryContext = /** @class */ (function () {\r\n function TelemetryContext(core, defaultConfig, previousTraceCtx) {\r\n var _this = this;\r\n var logger = core.logger;\r\n this.appId = function () { return null; };\r\n this[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () { return null; };\r\n dynamicProto(TelemetryContext, this, function (_self) {\r\n _self.application = new Application();\r\n _self.internal = new Internal(defaultConfig);\r\n if (hasWindow()) {\r\n _self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] = new _SessionManager(defaultConfig, core);\r\n _self.device = new Device();\r\n _self.location = new Location();\r\n _self.user = new User(defaultConfig, core);\r\n var traceId = void 0;\r\n var parentId = void 0;\r\n var name_1;\r\n if (previousTraceCtx) {\r\n traceId = previousTraceCtx.getTraceId();\r\n parentId = previousTraceCtx.getSpanId();\r\n name_1 = previousTraceCtx.getName();\r\n }\r\n _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */] = new TelemetryTrace(traceId, parentId, name_1, logger);\r\n _self.session = new Session();\r\n }\r\n _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () {\r\n var session = _self.session;\r\n var sesId = null;\r\n // If customer set session info, apply their context; otherwise apply context automatically generated\r\n if (session && isString(session.id)) {\r\n sesId = session.id;\r\n }\r\n else {\r\n // Gets the automatic session if it exists or an empty object\r\n var autoSession = (_self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] || {})[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n sesId = autoSession && isString(autoSession.id) ? autoSession.id : null;\r\n }\r\n return sesId;\r\n };\r\n _self[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */] = function (evt, itemCtx) {\r\n setValue(getSetValue(evt.ext, Extensions.AppExt), \"sesId\", _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */](), isString);\r\n };\r\n _self[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */] = function (evt, itemCtx) {\r\n setValue(evt.ext, Extensions.OSExt, _self.os);\r\n };\r\n _self[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */] = function (evt, itemCtx) {\r\n var application = _self.application;\r\n if (application) {\r\n // evt.ext.app\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.applicationVersion, application.ver, isString);\r\n setValue(tags, CtxTagKeys.applicationBuild, application.build, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */] = function (evt, itemCtx) {\r\n var device = _self.device;\r\n if (device) {\r\n // evt.ext.device\r\n var extDevice = getSetValue(getSetValue(evt, strExt), Extensions.DeviceExt);\r\n setValue(extDevice, \"localId\", device.id, isString);\r\n setValue(extDevice, \"ip\", device.ip, isString);\r\n setValue(extDevice, \"model\", device.model, isString);\r\n setValue(extDevice, \"deviceClass\", device.deviceClass, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */] = function (evt, itemCtx) {\r\n var internal = _self.internal;\r\n if (internal) {\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.internalAgentVersion, internal.agentVersion, isString); // not mapped in CS 4.0\r\n setValue(tags, CtxTagKeys.internalSdkVersion, dataSanitizeString(logger, internal.sdkVersion, 64), isString);\r\n if (evt.baseType === _InternalLogMessage.dataType || evt.baseType === PageView.dataType) {\r\n setValue(tags, CtxTagKeys.internalSnippet, internal.snippetVer, isString);\r\n setValue(tags, CtxTagKeys.internalSdkSrc, internal.sdkSrc, isString);\r\n }\r\n }\r\n };\r\n _self[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */] = function (evt, itemCtx) {\r\n var location = _this.location;\r\n if (location) {\r\n setValue(getSetValue(evt, strTags, []), CtxTagKeys.locationIp, location.ip, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */] = function (evt, itemCtx) {\r\n var telemetryTrace = _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */];\r\n if (telemetryTrace) {\r\n var extTrace = getSetValue(getSetValue(evt, strExt), Extensions.TraceExt, { traceID: undefined, parentID: undefined });\r\n setValue(extTrace, \"traceID\", telemetryTrace.traceID, isString, isNullOrUndefined);\r\n setValue(extTrace, \"name\", telemetryTrace.name, isString, isNullOrUndefined);\r\n setValue(extTrace, \"parentID\", telemetryTrace.parentID, isString, isNullOrUndefined);\r\n }\r\n };\r\n _self.applyWebContext = function (evt, itemCtx) {\r\n var web = _this.web;\r\n if (web) {\r\n setValue(getSetValue(evt, strExt), Extensions.WebExt, web);\r\n }\r\n };\r\n _self[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */] = function (evt, itemCtx) {\r\n var user = _self.user;\r\n if (user) {\r\n var tags = getSetValue(evt, strTags, []);\r\n // stays in tags\r\n setValue(tags, CtxTagKeys.userAccountId, user[_DYN_ACCOUNT_ID /* @min:%2eaccountId */], isString);\r\n // CS 4.0\r\n var extUser = getSetValue(getSetValue(evt, strExt), Extensions.UserExt);\r\n setValue(extUser, \"id\", user.id, isString);\r\n setValue(extUser, \"authId\", user[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], isString);\r\n }\r\n };\r\n _self.cleanUp = function (evt, itemCtx) {\r\n var ext = evt.ext;\r\n if (ext) {\r\n _removeEmpty(ext, Extensions.DeviceExt);\r\n _removeEmpty(ext, Extensions.UserExt);\r\n _removeEmpty(ext, Extensions.WebExt);\r\n _removeEmpty(ext, Extensions.OSExt);\r\n _removeEmpty(ext, Extensions.AppExt);\r\n _removeEmpty(ext, Extensions.TraceExt);\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for TelemetryContext.prototype.applySessionContext.\r\n// Removed Stub for TelemetryContext.prototype.applyOperatingSystemContxt.\r\n// Removed Stub for TelemetryContext.prototype.applyApplicationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyDeviceContext.\r\n// Removed Stub for TelemetryContext.prototype.applyInternalContext.\r\n// Removed Stub for TelemetryContext.prototype.applyLocationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyOperationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyWebContext.\r\n// Removed Stub for TelemetryContext.prototype.applyUserContext.\r\n// Removed Stub for TelemetryContext.prototype.cleanUp.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n TelemetryContext.__ieDyn=1;\n\n return TelemetryContext;\r\n}());\r\nexport { TelemetryContext };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* PropertiesPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, PageView, PropertiesPluginIdentifier, createDistributedTraceContextFromTrace, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _InternalLogMessage, _logInternalMessage, createProcessTelemetryContext, getNavigator, getSetValue, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { TelemetryContext } from \"./TelemetryContext\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_COOKIE_DOMAIN, _DYN_GET_NEW_ID, _DYN_GET_SESSION_ID, _DYN_GET_TRACE_CTX, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_NAME_PREFIX, _DYN_SDK_EXTENSION, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"./__DynamicConstants\";\r\nvar PropertiesPlugin = /** @class */ (function (_super) {\r\n __extends(PropertiesPlugin, _super);\r\n function PropertiesPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 110;\r\n _this.identifier = PropertiesPluginIdentifier;\r\n var _extensionConfig;\r\n var _distributedTraceCtx;\r\n var _previousTraceCtx;\r\n dynamicProto(PropertiesPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _populateDefaults(config);\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n _self.processTelemetry = function (event, itemCtx) {\r\n if (isNullOrUndefined(event)) {\r\n // TODO(barustum): throw an internal event once we have support for internal logging\r\n }\r\n else {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n // If the envelope is PageView, reset the internal message count so that we can send internal telemetry for the new page.\r\n if (event.name === PageView.envelopeType) {\r\n itemCtx.diagLog().resetInternalMessageCount();\r\n }\r\n var theContext = (_self.context || {});\r\n if (theContext.session) {\r\n // If customer did not provide custom session id update the session manager\r\n if (typeof _self.context.session.id !== \"string\" && theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */]) {\r\n theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */][_DYN_UPDATE /* @min:%2eupdate */]();\r\n }\r\n }\r\n var userCtx = theContext.user;\r\n if (userCtx && !userCtx[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n userCtx[_DYN_UPDATE /* @min:%2eupdate */](theContext.user.id);\r\n }\r\n _processTelemetryInternal(event, itemCtx);\r\n if (userCtx && userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */]) {\r\n userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var message = new _InternalLogMessage(72 /* _eInternalMessageId.SendBrowserInfoOnUserInit */, ((getNavigator() || {}).userAgent || \"\"));\r\n _logInternalMessage(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, message);\r\n }\r\n _self.processNext(event, itemCtx);\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n var core = (unloadCtx || {}).core();\r\n if (core && core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */]) {\r\n var traceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n if (traceCtx === _distributedTraceCtx) {\r\n core.setTraceCtx(_previousTraceCtx);\r\n }\r\n }\r\n _initDefaults();\r\n };\r\n function _initDefaults() {\r\n _extensionConfig = null;\r\n _distributedTraceCtx = null;\r\n _previousTraceCtx = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n var defaultConfig = PropertiesPlugin.getDefaultConfig();\r\n _extensionConfig = _extensionConfig || {};\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _extensionConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };\r\n });\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n _previousTraceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n _self.context = new TelemetryContext(core, _extensionConfig, _previousTraceCtx);\r\n _distributedTraceCtx = createDistributedTraceContextFromTrace(_self.context[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */], _previousTraceCtx);\r\n core.setTraceCtx(_distributedTraceCtx);\r\n _self.context.appId = function () {\r\n var breezeChannel = core.getPlugin(BreezeChannelIdentifier);\r\n return breezeChannel ? breezeChannel.plugin[\"_appId\"] : null;\r\n };\r\n // Test hook to allow accessing the internal values -- explicitly not defined as an available property on the class\r\n _self[\"_extConfig\"] = _extensionConfig;\r\n }\r\n function _processTelemetryInternal(evt, itemCtx) {\r\n // Set Part A fields\r\n getSetValue(evt, \"tags\", []);\r\n getSetValue(evt, \"ext\", {});\r\n var ctx = _self.context;\r\n ctx[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */](evt, itemCtx);\r\n ctx.applyWebContext(evt, itemCtx);\r\n ctx[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */](evt, itemCtx); // legacy tags\r\n ctx[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */](evt, itemCtx); // legacy tags\r\n ctx.cleanUp(evt, itemCtx);\r\n }\r\n });\r\n return _this;\r\n }\r\n PropertiesPlugin.getDefaultConfig = function () {\r\n var _a;\r\n var defaultValue;\r\n var nullValue = null;\r\n var defaultConfig = (_a = {\r\n instrumentationKey: function () { return defaultValue; }\r\n },\r\n _a[_DYN_ACCOUNT_ID /* @min:accountId */] = function () { return nullValue; },\r\n _a.sessionRenewalMs = function () { return 30 * 60 * 1000; },\r\n _a.samplingPercentage = function () { return 100; },\r\n _a.sessionExpirationMs = function () { return 24 * 60 * 60 * 1000; },\r\n _a[_DYN_COOKIE_DOMAIN /* @min:cookieDomain */] = function () { return nullValue; },\r\n _a[_DYN_SDK_EXTENSION /* @min:sdkExtension */] = function () { return nullValue; },\r\n _a.isBrowserLinkTrackingEnabled = function () { return false; },\r\n _a.appId = function () { return nullValue; },\r\n _a[_DYN_GET_SESSION_ID /* @min:getSessionId */] = function () { return nullValue; },\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = function () { return defaultValue; },\r\n _a[_DYN_SESSION_COOKIE_POSTF6 /* @min:sessionCookiePostfix */] = function () { return defaultValue; },\r\n _a[_DYN_USER_COOKIE_POSTFIX /* @min:userCookiePostfix */] = function () { return defaultValue; },\r\n _a[_DYN_ID_LENGTH /* @min:idLength */] = function () { return 22; },\r\n _a[_DYN_GET_NEW_ID /* @min:getNewId */] = function () { return nullValue; },\r\n _a);\r\n return defaultConfig;\r\n };\r\n// Removed Stub for PropertiesPlugin.prototype.initialize.\r\n// Removed Stub for PropertiesPlugin.prototype.processTelemetry.\r\n return PropertiesPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default PropertiesPlugin;\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nvar _AUTHENTICATED_USER_CONTEXT = \"AuthenticatedUserContext\";\r\nvar _TRACK = \"track\";\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_SNIPPET = \"snippet\";\r\nexport var STR_GET_COOKIE_MGR = \"getCookieMgr\";\r\nexport var STR_START_TRACK_PAGE = \"startTrackPage\";\r\nexport var STR_STOP_TRACK_PAGE = \"stopTrackPage\";\r\nexport var STR_FLUSH = \"flush\";\r\nexport var STR_START_TRACK_EVENT = \"startTrackEvent\";\r\nexport var STR_STOP_TRACK_EVENT = \"stopTrackEvent\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZER = \"addTelemetryInitializer\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZERS = STR_ADD_TELEMETRY_INITIALIZER + \"s\";\r\nexport var STR_POLL_INTERNAL_LOGS = \"pollInternalLogs\";\r\nexport var STR_GET_PLUGIN = \"getPlugin\";\r\nexport var STR_EVT_NAMESPACE = \"evtNamespace\";\r\nexport var STR_TRACK_EVENT = _TRACK + \"Event\";\r\nexport var STR_TRACK_TRACE = _TRACK + \"Trace\";\r\nexport var STR_TRACK_METRIC = _TRACK + \"Metric\";\r\nexport var STR_TRACK_PAGE_VIEW = _TRACK + \"PageView\";\r\nexport var STR_TRACK_EXCEPTION = _TRACK + \"Exception\";\r\nexport var STR_TRACK_DEPENDENCY_DATA = _TRACK + \"DependencyData\";\r\nexport var STR_SET_AUTHENTICATED_USER_CONTEXT = \"set\" + _AUTHENTICATED_USER_CONTEXT;\r\nexport var STR_CLEAR_AUTHENTICATED_USER_CONTEXT = \"clear\" + _AUTHENTICATED_USER_CONTEXT;\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPlugin } from \"@microsoft/applicationinsights-analytics-js\";\r\nimport { Sender } from \"@microsoft/applicationinsights-channel-js\";\r\nimport { AnalyticsPluginIdentifier, BreezeChannelIdentifier, ConfigurationManager, ConnectionStringParser, ContextTagKeys, CorrelationIdHelper, CtxTagKeys, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, Data, DataSanitizer, DateTimeUtils, DisabledPropertyName, DistributedTracingModes, Envelope, Event, Exception, Extensions, HttpMethod, Metric, PageView, PageViewPerformance, ProcessLegacy, PropertiesPluginIdentifier, RemoteDependencyData, RequestHeaders, SampleRate, SeverityLevel, TelemetryItemCreator, Trace, UrlHelper, Util, parseConnectionString } from \"@microsoft/applicationinsights-common\";\r\nimport { AppInsightsCore, _throwInternal, addPageHideEventListener, addPageUnloadEventListener, arrForEach, arrIndexOf, createUniqueNamespace, doPerf, hasDocument, hasWindow, isArray, isFunction, isNullOrUndefined, isReactNative, isString, mergeEvtNamespace, objForEachKey, proxyAssign, proxyFunctions, removePageHideEventListener, removePageUnloadEventListener, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { AjaxPlugin as DependenciesPlugin } from \"@microsoft/applicationinsights-dependencies-js\";\r\nimport { PropertiesPlugin } from \"@microsoft/applicationinsights-properties-js\";\r\nimport { STR_ADD_TELEMETRY_INITIALIZER, STR_CLEAR_AUTHENTICATED_USER_CONTEXT, STR_EVT_NAMESPACE, STR_FLUSH, STR_GET_COOKIE_MGR, STR_GET_PLUGIN, STR_POLL_INTERNAL_LOGS, STR_SET_AUTHENTICATED_USER_CONTEXT, STR_SNIPPET, STR_START_TRACK_EVENT, STR_START_TRACK_PAGE, STR_STOP_TRACK_EVENT, STR_STOP_TRACK_PAGE, STR_TRACK_DEPENDENCY_DATA, STR_TRACK_EVENT, STR_TRACK_EXCEPTION, STR_TRACK_METRIC, STR_TRACK_PAGE_VIEW, STR_TRACK_TRACE } from \"./InternalConstants\";\r\nimport { _DYN_ADD_HOUSEKEEPING_BEF20, _DYN_APP_INSIGHTS, _DYN_CONFIG, _DYN_CONNECTION_STRING, _DYN_CONTEXT, _DYN_DIAGNOSTIC_LOG_INTER4, _DYN_DISABLE_FLUSH_ON_BEF11, _DYN_DISABLE_FLUSH_ON_UNL12, _DYN_DISABLE_IKEY_DEPRECA18, _DYN_ENDPOINT_URL, _DYN_GET_TRANSMISSION_CON19, _DYN_INDEX_OF, _DYN_INSTRUMENTATION_KEY, _DYN_LOAD_APP_INSIGHTS, _DYN_ONUNLOAD_FLUSH, _DYN_PUSH, _DYN_QUEUE, _DYN_UPDATE_SNIPPET_DEFIN0, _DYN_VERSION } from \"./__DynamicConstants\";\r\nvar _internalSdkSrc;\r\n// This is an exclude list of properties that should not be updated during initialization\r\n// They include a combination of private and internal property names\r\nvar _ignoreUpdateSnippetProperties = [\r\n STR_SNIPPET, \"dependencies\", \"properties\", \"_snippetVersion\", \"appInsightsNew\", \"getSKUDefaults\"\r\n];\r\n// Re-exposing the Common classes as Telemetry, the list was taken by reviewing the generated code for the build while using\r\n// the previous configuration :-\r\n// import * as Common from \"@microsoft/applicationinsights-common\"\r\n// export const Telemetry = Common;\r\nvar fieldType = {\r\n Default: 0 /* FieldType.Default */,\r\n Required: 1 /* FieldType.Required */,\r\n Array: 2 /* FieldType.Array */,\r\n Hidden: 4 /* FieldType.Hidden */\r\n};\r\n/**\r\n * Telemetry type classes, e.g. PageView, Exception, etc\r\n */\r\nexport var Telemetry = {\r\n __proto__: null,\r\n PropertiesPluginIdentifier: PropertiesPluginIdentifier,\r\n BreezeChannelIdentifier: BreezeChannelIdentifier,\r\n AnalyticsPluginIdentifier: AnalyticsPluginIdentifier,\r\n Util: Util,\r\n CorrelationIdHelper: CorrelationIdHelper,\r\n UrlHelper: UrlHelper,\r\n DateTimeUtils: DateTimeUtils,\r\n ConnectionStringParser: ConnectionStringParser,\r\n FieldType: fieldType,\r\n RequestHeaders: RequestHeaders,\r\n DisabledPropertyName: DisabledPropertyName,\r\n ProcessLegacy: ProcessLegacy,\r\n SampleRate: SampleRate,\r\n HttpMethod: HttpMethod,\r\n DEFAULT_BREEZE_ENDPOINT: DEFAULT_BREEZE_ENDPOINT,\r\n Envelope: Envelope,\r\n Event: Event,\r\n Exception: Exception,\r\n Metric: Metric,\r\n PageView: PageView,\r\n RemoteDependencyData: RemoteDependencyData,\r\n Trace: Trace,\r\n PageViewPerformance: PageViewPerformance,\r\n Data: Data,\r\n SeverityLevel: SeverityLevel,\r\n ConfigurationManager: ConfigurationManager,\r\n ContextTagKeys: ContextTagKeys,\r\n DataSanitizer: DataSanitizer,\r\n TelemetryItemCreator: TelemetryItemCreator,\r\n CtxTagKeys: CtxTagKeys,\r\n Extensions: Extensions,\r\n DistributedTracingModes: DistributedTracingModes\r\n};\r\n/**\r\n * Application Insights API\r\n * @class Initialization\r\n * @implements {IApplicationInsights}\r\n */\r\nvar Initialization = /** @class */ (function () {\r\n function Initialization(snippet) {\r\n var _this = this;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var dependencies;\r\n var properties;\r\n var _sender;\r\n var _snippetVersion;\r\n var _evtNamespace;\r\n var _houseKeepingNamespace;\r\n var _core;\r\n dynamicProto(Initialization, this, function (_self) {\r\n _initDefaults();\r\n // initialize the queue and config in case they are undefined\r\n _snippetVersion = \"\" + (snippet.sv || snippet[_DYN_VERSION /* @min:%2eversion */] || \"\");\r\n snippet[_DYN_QUEUE /* @min:%2equeue */] = snippet[_DYN_QUEUE /* @min:%2equeue */] || [];\r\n snippet[_DYN_VERSION /* @min:%2eversion */] = snippet[_DYN_VERSION /* @min:%2eversion */] || 2.0; // Default to new version\r\n var config = snippet[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n if (config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */]) {\r\n var cs = parseConnectionString(config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */]);\r\n var ingest = cs.ingestionendpoint;\r\n config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = ingest ? (ingest + DEFAULT_BREEZE_PATH) : config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]; // only add /v2/track when from connectionstring\r\n config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = cs.instrumentationkey || config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n }\r\n _self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */] = new AnalyticsPlugin();\r\n properties = new PropertiesPlugin();\r\n dependencies = new DependenciesPlugin();\r\n _sender = new Sender();\r\n _core = new AppInsightsCore();\r\n _self.core = _core;\r\n var isErrMessageDisabled = isNullOrUndefined(config[_DYN_DISABLE_IKEY_DEPRECA18 /* @min:%2edisableIkeyDeprecationMessage */]) ? true : config[_DYN_DISABLE_IKEY_DEPRECA18 /* @min:%2edisableIkeyDeprecationMessage */];\r\n if (!config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */] && !isErrMessageDisabled) {\r\n _throwInternal(_core.logger, 1 /* eLoggingSeverity.CRITICAL */, 106 /* _eInternalMessageId.InstrumentationKeyDeprecation */, \"Instrumentation key support will end soon, see aka.ms/IkeyMigrate\");\r\n }\r\n _self[STR_SNIPPET /* @min:%2esnippet */] = snippet;\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n _getSKUDefaults();\r\n _self[STR_FLUSH /* @min:%2eflush */] = function (async) {\r\n if (async === void 0) { async = true; }\r\n doPerf(_core, function () { return \"AISKU.flush\"; }, function () {\r\n arrForEach(_core[_DYN_GET_TRANSMISSION_CON19 /* @min:%2egetTransmissionControls */](), function (channels) {\r\n arrForEach(channels, function (channel) {\r\n channel[STR_FLUSH /* @min:%2eflush */](async);\r\n });\r\n });\r\n }, null, async);\r\n };\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */] = function (async) {\r\n if (async === void 0) { async = true; }\r\n arrForEach(_core[_DYN_GET_TRANSMISSION_CON19 /* @min:%2egetTransmissionControls */](), function (channels) {\r\n arrForEach(channels, function (channel) {\r\n if (channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]) {\r\n channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]();\r\n }\r\n else {\r\n channel[STR_FLUSH /* @min:%2eflush */](async);\r\n }\r\n });\r\n });\r\n };\r\n _self[_DYN_LOAD_APP_INSIGHTS /* @min:%2eloadAppInsights */] = function (legacyMode, logger, notificationManager) {\r\n if (legacyMode === void 0) { legacyMode = false; }\r\n function _updateSnippetProperties(snippet) {\r\n if (snippet) {\r\n var snippetVer = \"\";\r\n if (!isNullOrUndefined(_snippetVersion)) {\r\n snippetVer += _snippetVersion;\r\n }\r\n if (legacyMode) {\r\n snippetVer += \".lg\";\r\n }\r\n if (_self[_DYN_CONTEXT /* @min:%2econtext */] && _self[_DYN_CONTEXT /* @min:%2econtext */].internal) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.snippetVer = snippetVer || \"-\";\r\n }\r\n // apply updated properties to the global instance (snippet)\r\n objForEachKey(_self, function (field, value) {\r\n if (isString(field) &&\r\n !isFunction(value) &&\r\n field && field[0] !== \"_\" && // Don't copy \"internal\" values\r\n arrIndexOf(_ignoreUpdateSnippetProperties, field) === -1) {\r\n snippet[field] = value;\r\n }\r\n });\r\n }\r\n }\r\n // dont allow additional channels/other extensions for legacy mode; legacy mode is only to allow users to switch with no code changes!\r\n if (legacyMode && _self[_DYN_CONFIG /* @min:%2econfig */].extensions && _self[_DYN_CONFIG /* @min:%2econfig */].extensions.length > 0) {\r\n throwError(\"Extensions not allowed in legacy mode\");\r\n }\r\n doPerf(_self.core, function () { return \"AISKU.loadAppInsights\"; }, function () {\r\n var extensions = [];\r\n extensions[_DYN_PUSH /* @min:%2epush */](_sender);\r\n extensions[_DYN_PUSH /* @min:%2epush */](properties);\r\n extensions[_DYN_PUSH /* @min:%2epush */](dependencies);\r\n extensions[_DYN_PUSH /* @min:%2epush */](_self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */]);\r\n // initialize core\r\n _core.initialize(_self[_DYN_CONFIG /* @min:%2econfig */], extensions, logger, notificationManager);\r\n _self[_DYN_CONTEXT /* @min:%2econtext */] = properties[_DYN_CONTEXT /* @min:%2econtext */];\r\n if (_internalSdkSrc && _self[_DYN_CONTEXT /* @min:%2econtext */]) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc = _internalSdkSrc;\r\n }\r\n _updateSnippetProperties(_self[STR_SNIPPET /* @min:%2esnippet */]);\r\n // Empty queue of all api calls logged prior to sdk download\r\n _self.emptyQueue();\r\n _self[STR_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */]();\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF20 /* @min:%2eaddHousekeepingBeforeUnload */](_self);\r\n });\r\n return _self;\r\n };\r\n _self[_DYN_UPDATE_SNIPPET_DEFIN0 /* @min:%2eupdateSnippetDefinitions */] = function (snippet) {\r\n // apply full appInsights to the global instance\r\n // Note: This must be called before loadAppInsights is called\r\n proxyAssign(snippet, _self, function (name) {\r\n // Not excluding names prefixed with \"_\" as we need to proxy some functions like _onError\r\n return name && arrIndexOf(_ignoreUpdateSnippetProperties, name) === -1;\r\n });\r\n };\r\n _self.emptyQueue = function () {\r\n // call functions that were queued before the main script was loaded\r\n try {\r\n if (isArray(_self.snippet[_DYN_QUEUE /* @min:%2equeue */])) {\r\n // note: do not check length in the for-loop conditional in case something goes wrong and the stub methods are not overridden.\r\n var length_1 = _self.snippet[_DYN_QUEUE /* @min:%2equeue */].length;\r\n for (var i = 0; i < length_1; i++) {\r\n var call = _self.snippet[_DYN_QUEUE /* @min:%2equeue */][i];\r\n call();\r\n }\r\n _self.snippet[_DYN_QUEUE /* @min:%2equeue */] = undefined;\r\n delete _self.snippet[_DYN_QUEUE /* @min:%2equeue */];\r\n }\r\n }\r\n catch (exception) {\r\n var properties_1 = {};\r\n if (exception && isFunction(exception.toString)) {\r\n properties_1.exception = exception.toString();\r\n }\r\n // need from core\r\n // Microsoft.ApplicationInsights._InternalLogging.throwInternal(\r\n // eLoggingSeverity.WARNING,\r\n // _eInternalMessageId.FailedToSendQueuedTelemetry,\r\n // \"Failed to send queued telemetry\",\r\n // properties);\r\n }\r\n };\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF20 /* @min:%2eaddHousekeepingBeforeUnload */] = function (appInsightsInstance) {\r\n // Add callback to push events when the user navigates away\r\n if (hasWindow() || hasDocument()) {\r\n var performHousekeeping = function () {\r\n // Adds the ability to flush all data before the page unloads.\r\n // Note: This approach tries to push a sync request with all the pending events onbeforeunload.\r\n // Firefox does not respect this.Other browsers DO push out the call with < 100% hit rate.\r\n // Telemetry here will help us analyze how effective this approach is.\r\n // Another approach would be to make this call sync with a acceptable timeout to reduce the\r\n // impact on user experience.\r\n // appInsightsInstance.context._sender.triggerSend();\r\n appInsightsInstance[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](false);\r\n // Back up the current session to local storage\r\n // This lets us close expired sessions after the cookies themselves expire\r\n if (isFunction(_this.core[STR_GET_PLUGIN /* @min:%2egetPlugin */])) {\r\n var loadedPlugin = _this.core[STR_GET_PLUGIN /* @min:%2egetPlugin */](PropertiesPluginIdentifier);\r\n if (loadedPlugin) {\r\n var propertiesPlugin = loadedPlugin.plugin;\r\n if (propertiesPlugin && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */] && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager) {\r\n propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager.backup();\r\n }\r\n }\r\n }\r\n };\r\n var added = false;\r\n var excludePageUnloadEvents = appInsightsInstance.appInsights[_DYN_CONFIG /* @min:%2econfig */].disablePageUnloadEvents;\r\n if (!_houseKeepingNamespace) {\r\n _houseKeepingNamespace = mergeEvtNamespace(_evtNamespace, _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */] && _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */]());\r\n }\r\n if (!appInsightsInstance.appInsights.config[_DYN_DISABLE_FLUSH_ON_BEF11 /* @min:%2edisableFlushOnBeforeUnload */]) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n if (addPageUnloadEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added = true;\r\n }\r\n // We also need to hook the pagehide and visibilitychange events as not all versions of Safari support load/unload events.\r\n if (addPageHideEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added = true;\r\n }\r\n // A reactNative app may not have a window and therefore the beforeunload/pagehide events -- so don't\r\n // log the failure in this case\r\n if (!added && !isReactNative()) {\r\n _throwInternal(appInsightsInstance[_DYN_APP_INSIGHTS /* @min:%2eappInsights */].core.logger, 1 /* eLoggingSeverity.CRITICAL */, 19 /* _eInternalMessageId.FailedToAddHandlerForOnBeforeUnload */, \"Could not add handler for beforeunload and pagehide\");\r\n }\r\n }\r\n if (!added && !appInsightsInstance.appInsights.config[_DYN_DISABLE_FLUSH_ON_UNL12 /* @min:%2edisableFlushOnUnload */]) {\r\n // If we didn't add the normal set then attempt to add the pagehide and visibilitychange only\r\n addPageHideEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace);\r\n }\r\n }\r\n };\r\n _self.getSender = function () {\r\n return _sender;\r\n };\r\n _self.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](isAsync);\r\n // Remove any registered event handlers\r\n if (_houseKeepingNamespace) {\r\n removePageUnloadEventListener(null, _houseKeepingNamespace);\r\n removePageHideEventListener(null, _houseKeepingNamespace);\r\n }\r\n _core.unload && _core.unload(isAsync, unloadComplete, cbTimeout);\r\n };\r\n proxyFunctions(_self, _self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */], [\r\n STR_GET_COOKIE_MGR,\r\n STR_TRACK_EVENT,\r\n STR_TRACK_PAGE_VIEW,\r\n \"trackPageViewPerformance\",\r\n STR_TRACK_EXCEPTION,\r\n \"_onerror\",\r\n STR_TRACK_TRACE,\r\n STR_TRACK_METRIC,\r\n STR_START_TRACK_PAGE,\r\n STR_STOP_TRACK_PAGE,\r\n STR_START_TRACK_EVENT,\r\n STR_STOP_TRACK_EVENT\r\n ]);\r\n proxyFunctions(_self, _getCurrentDependencies, [\r\n STR_TRACK_DEPENDENCY_DATA,\r\n \"addDependencyListener\",\r\n \"addDependencyInitializer\"\r\n ]);\r\n proxyFunctions(_self, _core, [\r\n STR_ADD_TELEMETRY_INITIALIZER,\r\n STR_POLL_INTERNAL_LOGS,\r\n \"stopPollingInternalLogs\",\r\n STR_GET_PLUGIN,\r\n \"addPlugin\",\r\n STR_EVT_NAMESPACE,\r\n \"addUnloadCb\",\r\n \"getTraceCtx\"\r\n ]);\r\n proxyFunctions(_self, function () {\r\n var context = properties[_DYN_CONTEXT /* @min:%2econtext */];\r\n return context ? context.user : null;\r\n }, [\r\n STR_SET_AUTHENTICATED_USER_CONTEXT,\r\n STR_CLEAR_AUTHENTICATED_USER_CONTEXT\r\n ]);\r\n function _getSKUDefaults() {\r\n _self.config[_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] =\r\n _self.config[_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] > 0 ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] : 10000;\r\n }\r\n // Using a function to support the dynamic adding / removal of plugins, so this will always return the current value\r\n function _getCurrentDependencies() {\r\n return dependencies;\r\n }\r\n function _initDefaults() {\r\n _evtNamespace = createUniqueNamespace(\"AISKU\");\r\n _houseKeepingNamespace = null;\r\n dependencies = null;\r\n properties = null;\r\n _sender = null;\r\n _snippetVersion = null;\r\n }\r\n });\r\n }\r\n // Analytics Plugin\r\n// Removed Stub for Initialization.prototype.getCookieMgr.\r\n// Removed Stub for Initialization.prototype.trackEvent.\r\n// Removed Stub for Initialization.prototype.trackPageView.\r\n// Removed Stub for Initialization.prototype.trackPageViewPerformance.\r\n// Removed Stub for Initialization.prototype.trackException.\r\n// Removed Stub for Initialization.prototype._onerror.\r\n// Removed Stub for Initialization.prototype.trackTrace.\r\n// Removed Stub for Initialization.prototype.trackMetric.\r\n// Removed Stub for Initialization.prototype.startTrackPage.\r\n// Removed Stub for Initialization.prototype.stopTrackPage.\r\n// Removed Stub for Initialization.prototype.startTrackEvent.\r\n// Removed Stub for Initialization.prototype.stopTrackEvent.\r\n// Removed Stub for Initialization.prototype.addTelemetryInitializer.\r\n // Properties Plugin\r\n// Removed Stub for Initialization.prototype.setAuthenticatedUserContext.\r\n// Removed Stub for Initialization.prototype.clearAuthenticatedUserContext.\r\n // Dependencies Plugin\r\n// Removed Stub for Initialization.prototype.trackDependencyData.\r\n // Misc\r\n// Removed Stub for Initialization.prototype.flush.\r\n// Removed Stub for Initialization.prototype.onunloadFlush.\r\n// Removed Stub for Initialization.prototype.loadAppInsights.\r\n// Removed Stub for Initialization.prototype.updateSnippetDefinitions.\r\n// Removed Stub for Initialization.prototype.emptyQueue.\r\n// Removed Stub for Initialization.prototype.pollInternalLogs.\r\n// Removed Stub for Initialization.prototype.stopPollingInternalLogs.\r\n// Removed Stub for Initialization.prototype.addHousekeepingBeforeUnload.\r\n// Removed Stub for Initialization.prototype.getSender.\r\n// Removed Stub for Initialization.prototype.unload.\r\n// Removed Stub for Initialization.prototype.getPlugin.\r\n// Removed Stub for Initialization.prototype.addPlugin.\r\n// Removed Stub for Initialization.prototype.evtNamespace.\r\n// Removed Stub for Initialization.prototype.addUnloadCb.\r\n// Removed Stub for Initialization.prototype.addDependencyListener.\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n Initialization.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n// Removed Stub for Initialization.prototype.getTraceCtx.\r\n return Initialization;\r\n}());\r\nexport { Initialization };\r\n// tslint:disable-next-line\r\n(function () {\r\n var sdkSrc = null;\r\n var isModule = false;\r\n var cdns = [\r\n \"://js.monitor.azure.com/\",\r\n \"://az416426.vo.msecnd.net/\"\r\n ];\r\n try {\r\n // Try and determine whether the sdk is being loaded from the CDN\r\n // currentScript is only valid during initial processing\r\n var scrpt = (document || {}).currentScript;\r\n if (scrpt) {\r\n sdkSrc = scrpt.src;\r\n // } else {\r\n // // We need to update to at least typescript 2.9 for this to work :-(\r\n // // Leaving as a stub for now so after we upgrade this breadcrumb is available\r\n // let meta = import.meta;\r\n // sdkSrc = (meta || {}).url;\r\n // isModule = true;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n if (sdkSrc) {\r\n try {\r\n var url = sdkSrc.toLowerCase();\r\n if (url) {\r\n var src = \"\";\r\n for (var idx = 0; idx < cdns.length; idx++) {\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](cdns[idx]) !== -1) {\r\n src = \"cdn\" + (idx + 1);\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/scripts/\") === -1) {\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/next/\") !== -1) {\r\n src += \"-next\";\r\n }\r\n else if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/beta/\") !== -1) {\r\n src += \"-beta\";\r\n }\r\n }\r\n _internalSdkSrc = src + (isModule ? \".mod\" : \"\");\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n})();\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.18\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_UPDATE_SNIPPET_DEFIN0 = \"updateSnippetDefinitions\"; // Count: 4\r\nexport var _DYN_LOAD_APP_INSIGHTS = \"loadAppInsights\"; // Count: 4\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 4\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 3\r\nexport var _DYN_DISABLE_EXCEPTION_TR2 = \"disableExceptionTracking\"; // Count: 2\r\nexport var _DYN_DISABLE_TELEMETRY = \"disableTelemetry\"; // Count: 2\r\nexport var _DYN_EMIT_LINE_DELIMITED_3 = \"emitLineDelimitedJson\"; // Count: 2\r\nexport var _DYN_DIAGNOSTIC_LOG_INTER4 = \"diagnosticLogInterval\"; // Count: 6\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI5 = \"autoTrackPageVisitTime\"; // Count: 2\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 4\r\nexport var _DYN_DISABLE_AJAX_TRACKIN6 = \"disableAjaxTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V7 = \"maxAjaxCallsPerView\"; // Count: 3\r\nexport var _DYN_IS_BEACON_API_DISABL8 = \"isBeaconApiDisabled\"; // Count: 2\r\nexport var _DYN_DISABLE_CORRELATION_9 = \"disableCorrelationHeaders\"; // Count: 2\r\nexport var _DYN_CORRELATION_HEADER_E10 = \"correlationHeaderExcludedDomains\"; // Count: 2\r\nexport var _DYN_DISABLE_FLUSH_ON_BEF11 = \"disableFlushOnBeforeUnload\"; // Count: 4\r\nexport var _DYN_DISABLE_FLUSH_ON_UNL12 = \"disableFlushOnUnload\"; // Count: 3\r\nexport var _DYN_ENABLE_SESSION_STORA13 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN_IS_COOKIE_USE_DISABL14 = \"isCookieUseDisabled\"; // Count: 2\r\nexport var _DYN_IS_STORAGE_USE_DISAB15 = \"isStorageUseDisabled\"; // Count: 2\r\nexport var _DYN_IS_BROWSER_LINK_TRAC16 = \"isBrowserLinkTrackingEnabled\"; // Count: 2\r\nexport var _DYN_ENABLE_CORS_CORRELAT17 = \"enableCorsCorrelation\"; // Count: 2\r\nexport var _DYN_CONFIG = \"config\"; // Count: 6\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 8\r\nexport var _DYN_PUSH = \"push\"; // Count: 5\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_QUEUE = \"queue\"; // Count: 6\r\nexport var _DYN_CONNECTION_STRING = \"connectionString\"; // Count: 3\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 2\r\nexport var _DYN_APP_INSIGHTS = \"appInsights\"; // Count: 3\r\nexport var _DYN_DISABLE_IKEY_DEPRECA18 = \"disableIkeyDeprecationMessage\"; // Count: 2\r\nexport var _DYN_GET_TRANSMISSION_CON19 = \"getTransmissionControls\"; // Count: 2\r\nexport var _DYN_ONUNLOAD_FLUSH = \"onunloadFlush\"; // Count: 6\r\nexport var _DYN_ADD_HOUSEKEEPING_BEF20 = \"addHousekeepingBeforeUnload\"; // Count: 2\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 4\r\n","import { Injectable } from \"@angular/core\";\nimport { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Injectable()\nexport class MonitoringService {\n appInsights: ApplicationInsights;\n envSetting: any;\n\n constructor(private httpClient: HttpClient) {\n this.httpClient.get(\"assets/env.json\").subscribe((data) => {\n this.envSetting = data;\n this.appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: this.envSetting.ApplicationInsights.InstrumentationKey,\n appId: this.envSetting.ApplicationMonitoring.ApplicationName,\n enableAutoRouteTracking: true, // option to log all route changes\n },\n });\n\n console.log(this.envSetting);\n\n if (this.envSetting.ApplicationMonitoring.Enabled) {\n this.appInsights.loadAppInsights();\n this.appInsights.trackPageView();\n }\n });\n }\n\n logPageView(name?: string, url?: string) {\n // option to call manually\n this.appInsights.trackPageView({\n name: name,\n uri: url,\n });\n }\n\n logEvent(name: string, properties?: { [key: string]: any }) {\n this.appInsights.trackEvent({ name: name }, properties);\n }\n\n logMetric(name: string, average: number, properties?: { [key: string]: any }) {\n this.appInsights.trackMetric({ name: name, average: average }, properties);\n }\n\n logException(exception: Error, severityLevel?: number) {\n this.appInsights.trackException({ exception: exception, severityLevel: severityLevel });\n }\n\n logTrace(message: string, properties?: { [key: string]: any }) {\n this.appInsights.trackTrace({ message: message }, properties);\n }\n}\n","import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, PLATFORM_ID, Optional, Inject, NgModule } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { Subscription, fromEvent, merge } from 'rxjs';\nimport { filter, throttleTime } from 'rxjs/operators';\n\n/*\n * A class for managing an interrupt from an interrupt source.\n */\nclass Interrupt {\n constructor(source, options) {\n this.source = source;\n if (source.initialize) {\n source.initialize(options);\n }\n }\n /*\n * Subscribes to the interrupt using the specified function.\n * @param fn - The subscription function.\n */\n subscribe(fn) {\n this.sub = this.source.onInterrupt.subscribe(fn);\n }\n /*\n * Unsubscribes the interrupt.\n */\n unsubscribe() {\n this.sub.unsubscribe();\n this.sub = null;\n }\n /*\n * Keeps the subscription but resumes interrupt events.\n */\n resume() {\n this.source.attach();\n }\n /*\n * Keeps the subscription but pauses interrupt events.\n */\n pause() {\n this.source.detach();\n }\n}\n\n/*\n * Represents a base class for types that provide expiry detection for the Idle service.\n */\nclass IdleExpiry {\n constructor() {\n this.idValue = new Date();\n this.idlingValue = false;\n }\n /*\n * Gets or sets a unique ID for the window\n * @param id - The id.\n * @return The current id.\n */\n id(value) {\n if (value !== void 0) {\n if (!value) {\n throw new Error('A value must be specified for the ID.');\n }\n this.idValue = value;\n }\n return this.idValue;\n }\n /*\n * Gets or sets the idling value.\n * @param value - The value to set.\n * @return The idling value.\n */\n idling(value) {\n if (value !== void 0) {\n this.idlingValue = value;\n }\n return this.idlingValue;\n }\n /*\n * Returns the current Date.\n * @return The current Date.\n */\n now() {\n /* istanbul ignore next */\n return new Date();\n }\n /*\n * Returns whether or not it is expired.\n * @return True if expired; otherwise, false.\n */\n isExpired() {\n const expiry = this.last();\n return expiry != null && expiry <= this.now();\n }\n}\n\n/*\n * Represents an alternative storage for browser that doesn't support localstorage. (i.e. Safari in\n * private mode)\n * @implements Storage\n */\nclass AlternativeStorage {\n constructor() {\n this.storageMap = {};\n }\n /*\n * Returns an integer representing the number of data items stored in the storageMap object.\n */\n get length() {\n return Object.keys(this.storageMap).length;\n }\n /*\n * Remove all keys out of the storage.\n */\n clear() {\n this.storageMap = {};\n }\n /*\n * Return the key's value\n *\n * @param key - name of the key to retrieve the value of.\n * @return The key's value\n */\n getItem(key) {\n if (typeof this.storageMap[key] !== 'undefined') {\n return this.storageMap[key];\n }\n return null;\n }\n /*\n * Return the nth key in the storage\n *\n * @param index - the number of the key you want to get the name of.\n * @return The name of the key.\n */\n key(index) {\n return Object.keys(this.storageMap)[index] || null;\n }\n /*\n * Remove a key from the storage.\n *\n * @param key - the name of the key you want to remove.\n */\n removeItem(key) {\n this.storageMap[key] = undefined;\n }\n /*\n * Add a key to the storage, or update a key's value if it already exists.\n *\n * @param key - the name of the key.\n * @param value - the value you want to give to the key.\n */\n setItem(key, value) {\n this.storageMap[key] = value;\n }\n}\n\n/*\n * Represents a localStorage store.\n */\nclass LocalStorage {\n constructor() {\n this.storage = this.getStorage();\n }\n /*\n * Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem\n * throw QuotaExceededError. We're going to detect this and just silently drop any calls to\n * setItem\n * to avoid the entire page breaking, without having to do a check at each usage of Storage.\n */\n getStorage() {\n try {\n const storage = localStorage;\n storage.setItem('ng2IdleStorage', '');\n storage.removeItem('ng2IdleStorage');\n return storage;\n }\n catch (err) {\n return new AlternativeStorage();\n }\n }\n /*\n * Gets an item in the storage.\n *\n * @param value - The value to get.\n * @return The current value.\n */\n getItem(key) {\n return this.storage.getItem('ng2Idle.' + key);\n }\n /*\n * Removes an item in the storage.\n *\n * @param value - The value to remove.\n */\n removeItem(key) {\n this.storage.removeItem('ng2Idle.' + key);\n }\n /*\n * Sets an item in the storage.\n *\n * @param key - The key to set the value.\n * @param value - The value to set to the key.\n */\n setItem(key, data) {\n this.storage.setItem('ng2Idle.' + key, data);\n }\n /*\n * Represents the storage, commonly use for testing purposes.\n *\n * @param key - The key to set the value.\n * @param value - The value to set to the key.\n */\n _wrapped() {\n return this.storage;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorage }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorage, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return []; } });\n\n/*\n * Represents a localStorage store of expiry values.\n * @extends IdleExpiry\n */\nclass LocalStorageExpiry extends IdleExpiry {\n constructor(localStorage) {\n super();\n this.localStorage = localStorage;\n this.idleName = 'main';\n }\n /*\n * Gets or sets the last expiry date in localStorage.\n * If localStorage doesn't work correctly (i.e. Safari in private mode), we store the expiry value in memory.\n * @param value - The expiry value to set; omit to only return the value.\n * @return The current expiry value.\n */\n last(value) {\n if (value !== void 0) {\n this.setExpiry(value);\n }\n return this.getExpiry();\n }\n idling(value) {\n if (value !== void 0) {\n this.setIdling(value);\n }\n return this.getIdling();\n }\n /*\n * Gets the idle name.\n * @return The name of the idle.\n */\n getIdleName() {\n return this.idleName;\n }\n /*\n * Sets the idle name.\n * @param The name of the idle.\n */\n setIdleName(key) {\n if (key) {\n this.idleName = key;\n }\n }\n getExpiry() {\n const expiry = this.localStorage.getItem(this.idleName + '.expiry');\n if (expiry) {\n return new Date(parseInt(expiry, 10));\n }\n else {\n return null;\n }\n }\n setExpiry(value) {\n if (value) {\n this.localStorage.setItem(this.idleName + '.expiry', value.getTime().toString());\n }\n else {\n this.localStorage.removeItem(this.idleName + '.expiry');\n }\n }\n getIdling() {\n const idling = this.localStorage.getItem(this.idleName + '.idling');\n if (idling) {\n return idling === 'true';\n }\n else {\n return false;\n }\n }\n setIdling(value) {\n if (value) {\n this.localStorage.setItem(this.idleName + '.idling', value.toString());\n }\n else {\n this.localStorage.setItem(this.idleName + '.idling', 'false');\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorageExpiry, deps: [{ token: LocalStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorageExpiry }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: LocalStorageExpiry, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: LocalStorage }]; } });\n\nclass KeepaliveSvc {\n}\n\n/*\n * Indicates the desired auto resume behavior.\n */\nvar AutoResume;\n(function (AutoResume) {\n /*\n * Auto resume functionality will be disabled.\n */\n AutoResume[AutoResume[\"disabled\"] = 0] = \"disabled\";\n /*\n * Can resume automatically even if they are idle.\n */\n AutoResume[AutoResume[\"idle\"] = 1] = \"idle\";\n /*\n * Can only resume automatically if they are not yet idle.\n */\n AutoResume[AutoResume[\"notIdle\"] = 2] = \"notIdle\";\n})(AutoResume || (AutoResume = {}));\n/**\n * A service for detecting and responding to user idleness.\n */\nclass Idle {\n constructor(expiry, zone, keepaliveSvc, platformId) {\n this.expiry = expiry;\n this.zone = zone;\n this.platformId = platformId;\n this.idle = 20 * 60; // in seconds\n this.timeoutVal = 30; // in seconds\n this.autoResume = AutoResume.idle;\n this.interrupts = new Array();\n this.running = false;\n this.keepaliveEnabled = false;\n this.onIdleStart = new EventEmitter();\n this.onIdleEnd = new EventEmitter();\n this.onTimeoutWarning = new EventEmitter();\n this.onTimeout = new EventEmitter();\n this.onInterrupt = new EventEmitter();\n if (keepaliveSvc) {\n this.keepaliveSvc = keepaliveSvc;\n this.keepaliveEnabled = true;\n }\n this.setIdling(false);\n }\n /*\n * Sets the idle name for localStorage.\n * Important to set if multiple instances of Idle with LocalStorageExpiry\n * @param The name of the idle.\n */\n setIdleName(key) {\n if (this.expiry instanceof LocalStorageExpiry) {\n this.expiry.setIdleName(key);\n }\n else {\n throw new Error('Cannot set expiry key name because no LocalStorageExpiry has been provided.');\n }\n }\n /*\n * Returns whether or not keepalive integration is enabled.\n * @return True if integration is enabled; otherwise, false.\n */\n getKeepaliveEnabled() {\n return this.keepaliveEnabled;\n }\n /*\n * Sets and returns whether or not keepalive integration is enabled.\n * @param True if the integration is enabled; otherwise, false.\n * @return The current value.\n */\n setKeepaliveEnabled(value) {\n if (!this.keepaliveSvc) {\n throw new Error('Cannot enable keepalive integration because no KeepaliveSvc has been provided.');\n }\n return (this.keepaliveEnabled = value);\n }\n /*\n * Returns the current timeout value.\n * @return The timeout value in seconds.\n */\n getTimeout() {\n return this.timeoutVal;\n }\n /*\n * Sets the timeout value.\n * @param seconds - The timeout value in seconds. 0 or false to disable timeout feature.\n * @return The current value. If disabled, the value will be 0.\n */\n setTimeout(seconds) {\n if (seconds === false) {\n this.timeoutVal = 0;\n }\n else if (typeof seconds === 'number' && seconds >= 0) {\n this.timeoutVal = seconds;\n }\n else {\n throw new Error(\"'seconds' can only be 'false' or a positive number.\");\n }\n return this.timeoutVal;\n }\n /*\n * Returns the current idle value.\n * @return The idle value in seconds.\n */\n getIdle() {\n return this.idle;\n }\n /*\n * Sets the idle value.\n * @param seconds - The idle value in seconds.\n * @return The idle value in seconds.\n */\n setIdle(seconds) {\n if (seconds <= 0) {\n throw new Error(\"'seconds' must be greater zero\");\n }\n return (this.idle = seconds);\n }\n /*\n * Returns the current autoresume value.\n * @return The current value.\n */\n getAutoResume() {\n return this.autoResume;\n }\n setAutoResume(value) {\n return (this.autoResume = value);\n }\n /*\n * Sets interrupts from the specified sources.\n * @param sources - Interrupt sources.\n * @return The resulting interrupts.\n */\n setInterrupts(sources) {\n this.clearInterrupts();\n const self = this;\n for (const source of sources) {\n const options = { platformId: this.platformId };\n const sub = new Interrupt(source, options);\n sub.subscribe((args) => {\n self.interrupt(args.force, args.innerArgs);\n });\n this.interrupts.push(sub);\n }\n return this.interrupts;\n }\n /*\n * Returns the current interrupts.\n * @return The current interrupts.\n */\n getInterrupts() {\n return this.interrupts;\n }\n /*\n * Pauses, unsubscribes, and clears the current interrupt subscriptions.\n */\n clearInterrupts() {\n for (const sub of this.interrupts) {\n sub.pause();\n sub.unsubscribe();\n }\n this.interrupts.length = 0;\n }\n /*\n * Returns whether or not the service is running i.e. watching for idleness.\n * @return True if service is watching; otherwise, false.\n */\n isRunning() {\n return this.running;\n }\n /*\n * Returns whether or not the user is considered idle.\n * @return True if the user is in the idle state; otherwise, false.\n */\n isIdling() {\n return this.idling;\n }\n /*\n * Starts watching for inactivity.\n */\n watch(skipExpiry) {\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n const timeout = !this.timeoutVal ? 0 : this.timeoutVal;\n if (!skipExpiry) {\n const value = new Date(this.expiry.now().getTime() + (this.idle + timeout) * 1000);\n this.expiry.last(value);\n }\n if (this.idling) {\n this.toggleState();\n }\n if (!this.running) {\n this.startKeepalive();\n this.toggleInterrupts(true);\n }\n this.running = true;\n const watchFn = () => {\n this.zone.run(() => {\n const diff = this.getExpiryDiff(timeout);\n if (diff > 0) {\n this.safeClearInterval('idleHandle');\n this.setIdleIntervalOutsideOfZone(watchFn, 1000);\n }\n else {\n this.toggleState();\n }\n });\n };\n this.setIdleIntervalOutsideOfZone(watchFn, 1000);\n }\n /*\n * Allows protractor tests to call waitForAngular without hanging\n */\n setIdleIntervalOutsideOfZone(watchFn, frequency) {\n this.zone.runOutsideAngular(() => {\n this.idleHandle = setInterval(watchFn, frequency);\n });\n }\n /*\n * Stops watching for inactivity.\n */\n stop() {\n this.stopKeepalive();\n this.toggleInterrupts(false);\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n this.setIdling(false);\n this.running = false;\n this.expiry.last(null);\n }\n /*\n * Forces a timeout event and state.\n */\n timeout() {\n this.stopKeepalive();\n this.toggleInterrupts(false);\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n this.setIdling(true);\n this.running = false;\n this.countdown = 0;\n this.onTimeout.emit(null);\n }\n /*\n * Signals that user activity has occurred.\n * @param force - Forces watch to be called, unless they are timed out.\n * @param eventArgs - Optional source event arguments.\n */\n interrupt(force, eventArgs) {\n if (!this.running) {\n return;\n }\n if (this.timeoutVal && this.expiry.isExpired()) {\n this.timeout();\n return;\n }\n this.onInterrupt.emit(eventArgs);\n if (force === true ||\n this.autoResume === AutoResume.idle ||\n (this.autoResume === AutoResume.notIdle && !this.expiry.idling())) {\n this.watch(force);\n }\n }\n setIdling(value) {\n this.idling = value;\n this.expiry.idling(value);\n }\n toggleState() {\n this.setIdling(!this.idling);\n if (this.idling) {\n this.onIdleStart.emit(null);\n this.stopKeepalive();\n if (this.timeoutVal > 0) {\n this.countdown = this.timeoutVal;\n this.doCountdown();\n this.setTimeoutIntervalOutsideZone(() => {\n this.doCountdownInZone();\n }, 1000);\n }\n }\n else {\n this.toggleInterrupts(true);\n this.onIdleEnd.emit(null);\n this.startKeepalive();\n }\n this.safeClearInterval('idleHandle');\n }\n setTimeoutIntervalOutsideZone(intervalFn, frequency) {\n this.zone.runOutsideAngular(() => {\n this.timeoutHandle = setInterval(() => {\n intervalFn();\n }, frequency);\n });\n }\n toggleInterrupts(resume) {\n for (const interrupt of this.interrupts) {\n if (resume) {\n interrupt.resume();\n }\n else {\n interrupt.pause();\n }\n }\n }\n getExpiryDiff(timeout) {\n const now = this.expiry.now();\n const last = this.expiry.last() || now;\n return last.getTime() - now.getTime() - timeout * 1000;\n }\n doCountdownInZone() {\n this.zone.run(() => {\n this.doCountdown();\n });\n }\n doCountdown() {\n const diff = this.getExpiryDiff(this.timeoutVal);\n if (diff > 0) {\n this.safeClearInterval('timeoutHandle');\n this.interrupt(true);\n return;\n }\n if (!this.idling) {\n return;\n }\n if (this.countdown <= 0) {\n this.timeout();\n return;\n }\n this.onTimeoutWarning.emit(this.countdown);\n const countdownMs = ((this.timeoutVal - 1) * 1000) + diff;\n this.countdown = Math.round(countdownMs / 1000);\n }\n safeClearInterval(handleName) {\n const handle = this[handleName];\n if (handle !== null && typeof handle !== 'undefined') {\n clearInterval(this[handleName]);\n this[handleName] = null;\n }\n }\n startKeepalive() {\n if (!this.keepaliveSvc || !this.keepaliveEnabled) {\n return;\n }\n if (this.running) {\n this.keepaliveSvc.ping();\n }\n this.keepaliveSvc.start();\n }\n stopKeepalive() {\n if (!this.keepaliveSvc || !this.keepaliveEnabled) {\n return;\n }\n this.keepaliveSvc.stop();\n }\n /*\n * Called by Angular when destroying the instance.\n */\n ngOnDestroy() {\n this.stop();\n this.clearInterrupts();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Idle, deps: [{ token: IdleExpiry }, { token: i0.NgZone }, { token: KeepaliveSvc, optional: true }, { token: PLATFORM_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Idle }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Idle, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: IdleExpiry }, { type: i0.NgZone }, { type: KeepaliveSvc, decorators: [{\n type: Optional\n }] }, { type: Object, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; } });\n\n/*\n * A class for expressing arguments to interrupt events.\n */\nclass InterruptArgs {\n constructor(source, innerArgs, force = false) {\n this.source = source;\n this.innerArgs = innerArgs;\n this.force = force;\n }\n}\n\n/*\n * A base for classes that act as a source for interrupts.\n */\nclass InterruptSource {\n constructor(attachFn, detachFn) {\n this.attachFn = attachFn;\n this.detachFn = detachFn;\n this.isAttached = false;\n this.onInterrupt = new EventEmitter();\n }\n /*\n * Attaches to the specified events on the specified source.\n */\n attach() {\n // If the current zone is the 'angular' zone (a.k.a. NgZone) then re-enter this method in its parent zone\n // The parent zone is usually the '' zone but it can also be 'long-stack-trace-zone' in debug mode\n // In tests, the current zone is typically a 'ProxyZone' created by async/fakeAsync (from @angular/core/testing)\n if (Zone.current.get('isAngularZone') === true) {\n Zone.current.parent.run(() => this.attach());\n return;\n }\n if (!this.isAttached && this.attachFn) {\n this.attachFn(this);\n }\n this.isAttached = true;\n }\n /*\n * Detaches from the specified events on the specified source.\n */\n detach() {\n if (this.isAttached && this.detachFn) {\n this.detachFn(this);\n }\n this.isAttached = false;\n }\n}\n\nconst defaultThrottleDelay = 500;\n/*\n * An interrupt source on an EventTarget object, such as a Window or HTMLElement.\n */\nclass EventTargetInterruptSource extends InterruptSource {\n constructor(target, events, opts) {\n super(null, null);\n this.target = target;\n this.events = events;\n this.opts = opts;\n this.eventSubscription = new Subscription();\n if (typeof this.opts === 'number') {\n this.opts = { throttleDelay: this.opts, passive: false };\n }\n this.opts = this.opts || {\n passive: false,\n throttleDelay: defaultThrottleDelay\n };\n if (this.opts.throttleDelay === undefined || this.opts.throttleDelay === null) {\n this.opts.throttleDelay = defaultThrottleDelay;\n }\n this.throttleDelay = this.opts.throttleDelay;\n this.passive = !!this.opts.passive;\n }\n initialize(options) {\n if (options?.platformId && isPlatformServer(options.platformId)) {\n return;\n }\n const eventTarget = typeof this.target === 'function' ? this.target() : this.target;\n const opts = this.passive ? { passive: true } : null;\n const fromEvents = this.events\n .split(' ')\n .map(eventName => fromEvent(eventTarget, eventName, opts));\n this.eventSrc = merge(...fromEvents);\n this.eventSrc = this.eventSrc.pipe(filter(innerArgs => !this.filterEvent(innerArgs)));\n if (this.throttleDelay > 0) {\n this.eventSrc = this.eventSrc.pipe(throttleTime(this.throttleDelay));\n }\n const handler = (innerArgs) => this.onInterrupt.emit(new InterruptArgs(this, innerArgs));\n this.attachFn = () => (this.eventSubscription = this.eventSrc.subscribe(handler));\n this.detachFn = () => this.eventSubscription.unsubscribe();\n }\n /*\n * Checks to see if the event should be filtered. Always returns false unless overriden.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n return false;\n }\n /**\n * Returns the current options being used.\n * @return The current option values.\n */\n get options() {\n return {\n passive: this.passive,\n throttleDelay: this.throttleDelay\n };\n }\n}\n\n/*\n * An interrupt source that uses events on the document element (html tag).\n */\nclass DocumentInterruptSource extends EventTargetInterruptSource {\n constructor(events, options) {\n super(() => document.documentElement, events, options);\n }\n /*\n * Checks to see if the event should be filtered.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n // some browser bad input hacks\n if (event.type === 'mousemove' &&\n // fix for Chrome destop notifications\n ((event.originalEvent &&\n event.originalEvent.movementX === 0 &&\n event.originalEvent.movementY === 0) ||\n // fix for webkit fake mousemove\n ((event.movementX !== void 0 && !event.movementX) || !event.movementY))) {\n return true;\n }\n return false;\n }\n}\n\n/*\n * An interrupt source on the Window object.\n */\nclass WindowInterruptSource extends EventTargetInterruptSource {\n constructor(events, options) {\n super(() => window, events, options);\n }\n}\n\n/*\n * An interrupt source on the storage event of Window.\n */\nclass StorageInterruptSource extends WindowInterruptSource {\n constructor(options = 500) {\n super('storage', options);\n }\n /*\n * Checks to see if the event should be filtered.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n if (event.key &&\n event.key.indexOf('ng2Idle.') >= 0 &&\n event.key.indexOf('.expiry') >= 0) {\n return false;\n }\n return true;\n }\n}\n\n/*\n * Represents a simple in-memory store of expiry values.\n * @extends IdleExpiry\n */\nclass SimpleExpiry extends IdleExpiry {\n constructor() {\n super();\n this.lastValue = null;\n }\n /*\n * Gets or sets the last expiry date.\n * @param value - The expiry value to set; omit to only return the value.\n * @return The current expiry value.\n */\n last(value) {\n if (value !== void 0) {\n this.lastValue = value;\n }\n return this.lastValue;\n }\n}\n\nclass NgIdleModule {\n static forRoot() {\n return {\n ngModule: NgIdleModule,\n providers: [\n LocalStorageExpiry,\n { provide: IdleExpiry, useExisting: LocalStorageExpiry },\n Idle\n ]\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleModule, providers: [LocalStorage] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [LocalStorage]\n }]\n }] });\n\nfunction createDefaultInterruptSources(options) {\n return [\n new DocumentInterruptSource('mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove scroll', options),\n new StorageInterruptSource(options)\n ];\n}\nconst DEFAULT_INTERRUPTSOURCES = createDefaultInterruptSources();\n\n/*\n * Public API Surface of core\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutoResume, DEFAULT_INTERRUPTSOURCES, DocumentInterruptSource, EventTargetInterruptSource, Idle, IdleExpiry, InterruptArgs, InterruptSource, KeepaliveSvc, LocalStorage, LocalStorageExpiry, NgIdleModule, SimpleExpiry, StorageInterruptSource, WindowInterruptSource, createDefaultInterruptSources };\n","// Auto-generated, do not edit\n/* eslint-disable */\nexport function BatchMetadata(version, pageNo, firstIndex, timestamp, location) {\n return [\n 81 /* BatchMetadata */,\n version,\n pageNo,\n firstIndex,\n timestamp,\n location,\n ];\n}\nexport function PartitionedMessage(partNo, partTotal) {\n return [\n 82 /* PartitionedMessage */,\n partNo,\n partTotal,\n ];\n}\nexport function Timestamp(timestamp) {\n return [\n 0 /* Timestamp */,\n timestamp,\n ];\n}\nexport function SetPageLocation(url, referrer, navigationStart) {\n return [\n 4 /* SetPageLocation */,\n url,\n referrer,\n navigationStart,\n ];\n}\nexport function SetViewportSize(width, height) {\n return [\n 5 /* SetViewportSize */,\n width,\n height,\n ];\n}\nexport function SetViewportScroll(x, y) {\n return [\n 6 /* SetViewportScroll */,\n x,\n y,\n ];\n}\nexport function CreateDocument() {\n return [\n 7 /* CreateDocument */,\n ];\n}\nexport function CreateElementNode(id, parentID, index, tag, svg) {\n return [\n 8 /* CreateElementNode */,\n id,\n parentID,\n index,\n tag,\n svg,\n ];\n}\nexport function CreateTextNode(id, parentID, index) {\n return [\n 9 /* CreateTextNode */,\n id,\n parentID,\n index,\n ];\n}\nexport function MoveNode(id, parentID, index) {\n return [\n 10 /* MoveNode */,\n id,\n parentID,\n index,\n ];\n}\nexport function RemoveNode(id) {\n return [\n 11 /* RemoveNode */,\n id,\n ];\n}\nexport function SetNodeAttribute(id, name, value) {\n return [\n 12 /* SetNodeAttribute */,\n id,\n name,\n value,\n ];\n}\nexport function RemoveNodeAttribute(id, name) {\n return [\n 13 /* RemoveNodeAttribute */,\n id,\n name,\n ];\n}\nexport function SetNodeData(id, data) {\n return [\n 14 /* SetNodeData */,\n id,\n data,\n ];\n}\nexport function SetNodeScroll(id, x, y) {\n return [\n 16 /* SetNodeScroll */,\n id,\n x,\n y,\n ];\n}\nexport function SetInputTarget(id, label) {\n return [\n 17 /* SetInputTarget */,\n id,\n label,\n ];\n}\nexport function SetInputValue(id, value, mask) {\n return [\n 18 /* SetInputValue */,\n id,\n value,\n mask,\n ];\n}\nexport function SetInputChecked(id, checked) {\n return [\n 19 /* SetInputChecked */,\n id,\n checked,\n ];\n}\nexport function MouseMove(x, y) {\n return [\n 20 /* MouseMove */,\n x,\n y,\n ];\n}\nexport function ConsoleLog(level, value) {\n return [\n 22 /* ConsoleLog */,\n level,\n value,\n ];\n}\nexport function PageLoadTiming(requestStart, responseStart, responseEnd, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd, firstPaint, firstContentfulPaint) {\n return [\n 23 /* PageLoadTiming */,\n requestStart,\n responseStart,\n responseEnd,\n domContentLoadedEventStart,\n domContentLoadedEventEnd,\n loadEventStart,\n loadEventEnd,\n firstPaint,\n firstContentfulPaint,\n ];\n}\nexport function PageRenderTiming(speedIndex, visuallyComplete, timeToInteractive) {\n return [\n 24 /* PageRenderTiming */,\n speedIndex,\n visuallyComplete,\n timeToInteractive,\n ];\n}\nexport function JSExceptionDeprecated(name, message, payload) {\n return [\n 25 /* JSExceptionDeprecated */,\n name,\n message,\n payload,\n ];\n}\nexport function RawCustomEvent(name, payload) {\n return [\n 27 /* RawCustomEvent */,\n name,\n payload,\n ];\n}\nexport function UserID(id) {\n return [\n 28 /* UserID */,\n id,\n ];\n}\nexport function UserAnonymousID(id) {\n return [\n 29 /* UserAnonymousID */,\n id,\n ];\n}\nexport function Metadata(key, value) {\n return [\n 30 /* Metadata */,\n key,\n value,\n ];\n}\nexport function CSSInsertRule(id, rule, index) {\n return [\n 37 /* CSSInsertRule */,\n id,\n rule,\n index,\n ];\n}\nexport function CSSDeleteRule(id, index) {\n return [\n 38 /* CSSDeleteRule */,\n id,\n index,\n ];\n}\nexport function Fetch(method, url, request, response, status, timestamp, duration) {\n return [\n 39 /* Fetch */,\n method,\n url,\n request,\n response,\n status,\n timestamp,\n duration,\n ];\n}\nexport function Profiler(name, duration, args, result) {\n return [\n 40 /* Profiler */,\n name,\n duration,\n args,\n result,\n ];\n}\nexport function OTable(key, value) {\n return [\n 41 /* OTable */,\n key,\n value,\n ];\n}\nexport function StateAction(type) {\n return [\n 42 /* StateAction */,\n type,\n ];\n}\nexport function Redux(action, state, duration) {\n return [\n 44 /* Redux */,\n action,\n state,\n duration,\n ];\n}\nexport function Vuex(mutation, state) {\n return [\n 45 /* Vuex */,\n mutation,\n state,\n ];\n}\nexport function MobX(type, payload) {\n return [\n 46 /* MobX */,\n type,\n payload,\n ];\n}\nexport function NgRx(action, state, duration) {\n return [\n 47 /* NgRx */,\n action,\n state,\n duration,\n ];\n}\nexport function GraphQL(operationKind, operationName, variables, response) {\n return [\n 48 /* GraphQL */,\n operationKind,\n operationName,\n variables,\n response,\n ];\n}\nexport function PerformanceTrack(frames, ticks, totalJSHeapSize, usedJSHeapSize) {\n return [\n 49 /* PerformanceTrack */,\n frames,\n ticks,\n totalJSHeapSize,\n usedJSHeapSize,\n ];\n}\nexport function ResourceTiming(timestamp, duration, ttfb, headerSize, encodedBodySize, decodedBodySize, url, initiator) {\n return [\n 53 /* ResourceTiming */,\n timestamp,\n duration,\n ttfb,\n headerSize,\n encodedBodySize,\n decodedBodySize,\n url,\n initiator,\n ];\n}\nexport function ConnectionInformation(downlink, type) {\n return [\n 54 /* ConnectionInformation */,\n downlink,\n type,\n ];\n}\nexport function SetPageVisibility(hidden) {\n return [\n 55 /* SetPageVisibility */,\n hidden,\n ];\n}\nexport function LoadFontFace(parentID, family, source, descriptors) {\n return [\n 57 /* LoadFontFace */,\n parentID,\n family,\n source,\n descriptors,\n ];\n}\nexport function SetNodeFocus(id) {\n return [\n 58 /* SetNodeFocus */,\n id,\n ];\n}\nexport function LongTask(timestamp, duration, context, containerType, containerSrc, containerId, containerName) {\n return [\n 59 /* LongTask */,\n timestamp,\n duration,\n context,\n containerType,\n containerSrc,\n containerId,\n containerName,\n ];\n}\nexport function SetNodeAttributeURLBased(id, name, value, baseURL) {\n return [\n 60 /* SetNodeAttributeURLBased */,\n id,\n name,\n value,\n baseURL,\n ];\n}\nexport function SetCSSDataURLBased(id, data, baseURL) {\n return [\n 61 /* SetCSSDataURLBased */,\n id,\n data,\n baseURL,\n ];\n}\nexport function TechnicalInfo(type, value) {\n return [\n 63 /* TechnicalInfo */,\n type,\n value,\n ];\n}\nexport function CustomIssue(name, payload) {\n return [\n 64 /* CustomIssue */,\n name,\n payload,\n ];\n}\nexport function CSSInsertRuleURLBased(id, rule, index, baseURL) {\n return [\n 67 /* CSSInsertRuleURLBased */,\n id,\n rule,\n index,\n baseURL,\n ];\n}\nexport function MouseClick(id, hesitationTime, label, selector) {\n return [\n 69 /* MouseClick */,\n id,\n hesitationTime,\n label,\n selector,\n ];\n}\nexport function CreateIFrameDocument(frameID, id) {\n return [\n 70 /* CreateIFrameDocument */,\n frameID,\n id,\n ];\n}\nexport function AdoptedSSReplaceURLBased(sheetID, text, baseURL) {\n return [\n 71 /* AdoptedSSReplaceURLBased */,\n sheetID,\n text,\n baseURL,\n ];\n}\nexport function AdoptedSSInsertRuleURLBased(sheetID, rule, index, baseURL) {\n return [\n 73 /* AdoptedSSInsertRuleURLBased */,\n sheetID,\n rule,\n index,\n baseURL,\n ];\n}\nexport function AdoptedSSDeleteRule(sheetID, index) {\n return [\n 75 /* AdoptedSSDeleteRule */,\n sheetID,\n index,\n ];\n}\nexport function AdoptedSSAddOwner(sheetID, id) {\n return [\n 76 /* AdoptedSSAddOwner */,\n sheetID,\n id,\n ];\n}\nexport function AdoptedSSRemoveOwner(sheetID, id) {\n return [\n 77 /* AdoptedSSRemoveOwner */,\n sheetID,\n id,\n ];\n}\nexport function Zustand(mutation, state) {\n return [\n 79 /* Zustand */,\n mutation,\n state,\n ];\n}\nexport function JSException(name, message, payload, metadata) {\n return [\n 78 /* JSException */,\n name,\n message,\n payload,\n metadata,\n ];\n}\n","const DEPRECATED_ATTRS = { htmlmasked: 'hidden', masked: 'obscured' };\nexport const IN_BROWSER = !(typeof window === 'undefined');\nexport const IS_FIREFOX = IN_BROWSER && navigator.userAgent.match(/firefox|fxios/i);\nexport const MAX_STR_LEN = 1e5;\n// Buggy to use `performance.timeOrigin || performance.timing.navigationStart`\n// https://github.com/mdn/content/issues/4713\n// Maybe move to timer/ticker\nlet timeOrigin = IN_BROWSER ? Date.now() - performance.now() : 0;\nexport function adjustTimeOrigin() {\n timeOrigin = Date.now() - performance.now();\n}\nexport function getTimeOrigin() {\n return timeOrigin;\n}\nexport const now = IN_BROWSER && !!performance.now\n ? () => Math.round(performance.now() + timeOrigin)\n : () => Date.now();\nexport const stars = 'repeat' in String.prototype\n ? (str) => '*'.repeat(str.length)\n : (str) => str.replace(/./g, '*');\nexport function normSpaces(str) {\n return str.trim().replace(/\\s+/g, ' ');\n}\n// isAbsoluteUrl regexp: /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url)\nexport function isURL(s) {\n return s.startsWith('https://') || s.startsWith('http://');\n}\n// TODO: JOIN IT WITH LOGGER somehow (use logging decorators?); Don't forget about index.js loggin when there is no logger instance.\nexport const DOCS_HOST = 'https://docs.openreplay.com';\nconst warnedFeatures = {};\nexport function deprecationWarn(nameOfFeature, useInstead, docsPath = '/') {\n if (warnedFeatures[nameOfFeature]) {\n return;\n }\n console.warn(`OpenReplay: ${nameOfFeature} is deprecated. ${useInstead ? `Please, use ${useInstead} instead.` : ''} Visit ${DOCS_HOST}${docsPath} for more information.`);\n warnedFeatures[nameOfFeature] = true;\n}\nexport function getLabelAttribute(e) {\n let value = e.getAttribute('data-openreplay-label');\n if (value !== null) {\n return value;\n }\n value = e.getAttribute('data-asayer-label');\n if (value !== null) {\n deprecationWarn('\"data-asayer-label\" attribute', '\"data-openreplay-label\" attribute', '/');\n }\n return value;\n}\nexport function hasOpenreplayAttribute(e, attr) {\n const newName = `data-openreplay-${attr}`;\n if (e.hasAttribute(newName)) {\n // @ts-ignore\n if (DEPRECATED_ATTRS[attr]) {\n deprecationWarn(`\"${newName}\" attribute`, \n // @ts-ignore\n `\"${DEPRECATED_ATTRS[attr]}\" attribute`, '/installation/sanitize-data');\n }\n return true;\n }\n return false;\n}\n","export default class Nodes {\n constructor(node_id) {\n this.node_id = node_id;\n this.nodes = [];\n this.nodeCallbacks = [];\n this.elementListeners = new Map();\n }\n // Attached once per Tracker instance\n attachNodeCallback(nodeCallback) {\n this.nodeCallbacks.push(nodeCallback);\n }\n attachNodeListener(node, type, listener, useCapture = true) {\n const id = this.getID(node);\n if (id === undefined) {\n return;\n }\n node.addEventListener(type, listener, useCapture);\n let listeners = this.elementListeners.get(id);\n if (listeners === undefined) {\n listeners = [];\n this.elementListeners.set(id, listeners);\n }\n listeners.push([type, listener, useCapture]);\n }\n registerNode(node) {\n let id = node[this.node_id];\n const isNew = id === undefined;\n if (isNew) {\n id = this.nodes.length;\n this.nodes[id] = node;\n node[this.node_id] = id;\n }\n return [id, isNew];\n }\n unregisterNode(node) {\n const id = node[this.node_id];\n if (id !== undefined) {\n delete node[this.node_id];\n delete this.nodes[id];\n const listeners = this.elementListeners.get(id);\n if (listeners !== undefined) {\n this.elementListeners.delete(id);\n listeners.forEach((listener) => node.removeEventListener(listener[0], listener[1], listener[2]));\n }\n }\n return id;\n }\n cleanTree() {\n // sadly we keep empty items in array here resulting in some memory still being used\n // but its still better than keeping dead nodes or undef elements\n // plus we keep our index positions for new/alive nodes\n // performance test: 3ms for 30k nodes with 17k dead ones\n for (let i = 0; i < this.nodes.length; i++) {\n const node = this.nodes[i];\n if (node && !document.contains(node)) {\n this.unregisterNode(node);\n }\n }\n }\n callNodeCallbacks(node, isStart) {\n this.nodeCallbacks.forEach((cb) => cb(node, isStart));\n }\n getID(node) {\n return node[this.node_id];\n }\n getNode(id) {\n return this.nodes[id];\n }\n clear() {\n for (let id = 0; id < this.nodes.length; id++) {\n const node = this.nodes[id];\n if (node === undefined) {\n continue;\n }\n this.unregisterNode(node);\n }\n this.nodes.length = 0;\n }\n}\n","//@ts-ignore\nexport function isNode(sth) {\n return !!sth && sth.nodeType != null;\n}\nexport function isSVGElement(node) {\n return node.namespaceURI === 'http://www.w3.org/2000/svg';\n}\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n}\nexport function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE;\n}\nexport function isDocument(node) {\n return node.nodeType === Node.DOCUMENT_NODE;\n}\nexport function isRootNode(node) {\n return node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE;\n}\nexport function hasTag(el, tagName) {\n return el.nodeName === tagName;\n}\n","import { RemoveNodeAttribute, SetNodeAttribute, SetNodeAttributeURLBased, SetCSSDataURLBased, SetNodeData, CreateTextNode, CreateElementNode, MoveNode, RemoveNode, } from '../messages.gen.js';\nimport { isRootNode, isTextNode, isElementNode, isSVGElement, hasTag } from '../guards.js';\nfunction isIgnored(node) {\n if (isTextNode(node)) {\n return false;\n }\n if (!isElementNode(node)) {\n return true;\n }\n const tag = node.tagName.toUpperCase();\n if (tag === 'LINK') {\n const rel = node.getAttribute('rel');\n const as = node.getAttribute('as');\n return !((rel === null || rel === void 0 ? void 0 : rel.includes('stylesheet')) || as === 'style' || as === 'font');\n }\n return (tag === 'SCRIPT' || tag === 'NOSCRIPT' || tag === 'META' || tag === 'TITLE' || tag === 'BASE');\n}\nfunction isObservable(node) {\n if (isRootNode(node)) {\n return true;\n }\n return !isIgnored(node);\n}\n/*\n TODO:\n - fix unbinding logic + send all removals first (ensure sequence is correct)\n - use document as a 0-node in the upper context (should be updated in player at first)\n*/\nvar RecentsType;\n(function (RecentsType) {\n RecentsType[RecentsType[\"New\"] = 0] = \"New\";\n RecentsType[RecentsType[\"Removed\"] = 1] = \"Removed\";\n RecentsType[RecentsType[\"Changed\"] = 2] = \"Changed\";\n})(RecentsType || (RecentsType = {}));\nexport default class Observer {\n constructor(app, isTopContext = false) {\n this.app = app;\n this.isTopContext = isTopContext;\n this.commited = [];\n this.recents = new Map();\n this.indexes = [];\n this.attributesMap = new Map();\n this.textSet = new Set();\n this.observer = new MutationObserver(this.app.safe((mutations) => {\n for (const mutation of mutations) {\n // mutations order is sequential\n const target = mutation.target;\n const type = mutation.type;\n if (!isObservable(target)) {\n continue;\n }\n if (type === 'childList') {\n for (let i = 0; i < mutation.removedNodes.length; i++) {\n // Should be the same as bindTree(mutation.removedNodes[i]), but logic needs to be be untied\n if (isObservable(mutation.removedNodes[i])) {\n this.bindNode(mutation.removedNodes[i]);\n }\n }\n for (let i = 0; i < mutation.addedNodes.length; i++) {\n this.bindTree(mutation.addedNodes[i]);\n }\n continue;\n }\n const id = this.app.nodes.getID(target);\n if (id === undefined) {\n continue;\n }\n if (!this.recents.has(id)) {\n this.recents.set(id, RecentsType.Changed); // TODO only when altered\n }\n if (type === 'attributes') {\n const name = mutation.attributeName;\n if (name === null) {\n continue;\n }\n let attr = this.attributesMap.get(id);\n if (attr === undefined) {\n this.attributesMap.set(id, (attr = new Set()));\n }\n attr.add(name);\n continue;\n }\n if (type === 'characterData') {\n this.textSet.add(id);\n continue;\n }\n }\n this.commitNodes();\n }));\n }\n clear() {\n this.commited.length = 0;\n this.recents.clear();\n this.indexes.length = 1;\n this.attributesMap.clear();\n this.textSet.clear();\n }\n sendNodeAttribute(id, node, name, value) {\n if (isSVGElement(node)) {\n if (name.substr(0, 6) === 'xlink:') {\n name = name.substr(6);\n }\n if (value === null) {\n this.app.send(RemoveNodeAttribute(id, name));\n }\n else if (name === 'href') {\n if (value.length > 1e5) {\n value = '';\n }\n this.app.send(SetNodeAttributeURLBased(id, name, value, this.app.getBaseHref()));\n }\n else {\n this.app.send(SetNodeAttribute(id, name, value));\n }\n return;\n }\n if (name === 'src' ||\n name === 'srcset' ||\n name === 'integrity' ||\n name === 'crossorigin' ||\n name === 'autocomplete' ||\n name.substr(0, 2) === 'on') {\n return;\n }\n if (name === 'value' &&\n hasTag(node, 'INPUT') &&\n node.type !== 'button' &&\n node.type !== 'reset' &&\n node.type !== 'submit') {\n return;\n }\n if (value === null) {\n this.app.send(RemoveNodeAttribute(id, name));\n return;\n }\n if (name === 'style' || (name === 'href' && hasTag(node, 'LINK'))) {\n this.app.send(SetNodeAttributeURLBased(id, name, value, this.app.getBaseHref()));\n return;\n }\n if (name === 'href' || value.length > 1e5) {\n value = '';\n }\n this.app.send(SetNodeAttribute(id, name, value));\n }\n sendNodeData(id, parentElement, data) {\n if (hasTag(parentElement, 'STYLE') || hasTag(parentElement, 'style')) {\n this.app.send(SetCSSDataURLBased(id, data, this.app.getBaseHref()));\n return;\n }\n data = this.app.sanitizer.sanitize(id, data);\n this.app.send(SetNodeData(id, data));\n }\n bindNode(node) {\n const [id, isNew] = this.app.nodes.registerNode(node);\n if (isNew) {\n this.recents.set(id, RecentsType.New);\n }\n else if (this.recents.get(id) !== RecentsType.New) {\n this.recents.set(id, RecentsType.Removed);\n }\n }\n bindTree(node) {\n if (!isObservable(node)) {\n return;\n }\n this.bindNode(node);\n const walker = document.createTreeWalker(node, NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_TEXT, {\n acceptNode: (node) => isIgnored(node) || this.app.nodes.getID(node) !== undefined\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT,\n }, \n // @ts-ignore\n false);\n while (walker.nextNode()) {\n this.bindNode(walker.currentNode);\n }\n }\n unbindTree(node) {\n const id = this.app.nodes.unregisterNode(node);\n if (id !== undefined && this.recents.get(id) === RecentsType.Removed) {\n // Sending RemoveNode only for parent to maintain\n this.app.send(RemoveNode(id));\n // Unregistering all the children in order to clear the memory\n const walker = document.createTreeWalker(node, NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_TEXT, {\n acceptNode: (node) => isIgnored(node) || this.app.nodes.getID(node) === undefined\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT,\n }, \n // @ts-ignore\n false);\n while (walker.nextNode()) {\n this.app.nodes.unregisterNode(walker.currentNode);\n }\n // MBTODO: count and send RemovedNodesCount (for the page crash detection in heuristics)\n }\n }\n // A top-consumption function on the infinite lists test. (~1% of performance resources)\n _commitNode(id, node) {\n if (isRootNode(node)) {\n return true;\n }\n const parent = node.parentNode;\n let parentID;\n // Disable parent check for the upper context HTMLHtmlElement, because it is root there... (before)\n // TODO: get rid of \"special\" cases (there is an issue with CreateDocument altered behaviour though)\n // TODO: Clean the logic (though now it workd fine)\n if (!hasTag(node, 'HTML') || !this.isTopContext) {\n if (parent === null) {\n // Sometimes one observation contains attribute mutations for the removimg node, which gets ignored here.\n // That shouldn't affect the visual rendering ( should it? maybe when transition applied? )\n this.unbindTree(node);\n return false;\n }\n parentID = this.app.nodes.getID(parent);\n if (parentID === undefined) {\n this.unbindTree(node);\n return false;\n }\n if (!this.commitNode(parentID)) {\n this.unbindTree(node);\n return false;\n }\n this.app.sanitizer.handleNode(id, parentID, node);\n if (this.app.sanitizer.isHidden(parentID)) {\n return false;\n }\n }\n // From here parentID === undefined if node is top context HTML node\n let sibling = node.previousSibling;\n while (sibling !== null) {\n const siblingID = this.app.nodes.getID(sibling);\n if (siblingID !== undefined) {\n this.commitNode(siblingID);\n this.indexes[id] = this.indexes[siblingID] + 1;\n break;\n }\n sibling = sibling.previousSibling;\n }\n if (sibling === null) {\n this.indexes[id] = 0;\n }\n const recentsType = this.recents.get(id);\n const isNew = recentsType === RecentsType.New;\n const index = this.indexes[id];\n if (index === undefined) {\n throw 'commitNode: missing node index';\n }\n if (isNew) {\n if (isElementNode(node)) {\n let el = node;\n if (parentID !== undefined) {\n if (this.app.sanitizer.isHidden(id)) {\n const width = el.clientWidth;\n const height = el.clientHeight;\n el = node.cloneNode();\n el.style.width = `${width}px`;\n el.style.height = `${height}px`;\n }\n this.app.send(CreateElementNode(id, parentID, index, el.tagName, isSVGElement(node)));\n }\n for (let i = 0; i < el.attributes.length; i++) {\n const attr = el.attributes[i];\n this.sendNodeAttribute(id, el, attr.nodeName, attr.value);\n }\n }\n else if (isTextNode(node)) {\n // for text node id != 0, hence parentID !== undefined and parent is Element\n this.app.send(CreateTextNode(id, parentID, index));\n this.sendNodeData(id, parent, node.data);\n }\n return true;\n }\n if (recentsType === RecentsType.Removed && parentID !== undefined) {\n this.app.send(MoveNode(id, parentID, index));\n }\n const attr = this.attributesMap.get(id);\n if (attr !== undefined) {\n if (!isElementNode(node)) {\n throw 'commitNode: node is not an element';\n }\n for (const name of attr) {\n this.sendNodeAttribute(id, node, name, node.getAttribute(name));\n }\n }\n if (this.textSet.has(id)) {\n if (!isTextNode(node)) {\n throw 'commitNode: node is not a text';\n }\n // for text node id != 0, hence parent is Element\n this.sendNodeData(id, parent, node.data);\n }\n return true;\n }\n commitNode(id) {\n const node = this.app.nodes.getNode(id);\n if (node === undefined) {\n return false;\n }\n const cmt = this.commited[id];\n if (cmt !== undefined) {\n return cmt;\n }\n return (this.commited[id] = this._commitNode(id, node));\n }\n commitNodes(isStart = false) {\n let node;\n this.recents.forEach((type, id) => {\n this.commitNode(id);\n if (type === RecentsType.New && (node = this.app.nodes.getNode(id))) {\n this.app.nodes.callNodeCallbacks(node, isStart);\n }\n });\n this.clear();\n }\n // ISSSUE (nodeToBinde should be the same as node. Look at the comment about 0-node at the beginning of the file.)\n // TODO: use one observer instance for all iframes/shadowRoots (composition instiad of inheritance)\n observeRoot(node, beforeCommit, nodeToBind = node) {\n this.observer.observe(node, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true,\n attributeOldValue: false,\n characterDataOldValue: false,\n });\n this.bindTree(nodeToBind);\n beforeCommit(this.app.nodes.getID(node));\n this.commitNodes(true);\n }\n disconnect() {\n this.observer.disconnect();\n this.clear();\n }\n}\n","import Observer from './observer.js';\nimport { CreateIFrameDocument } from '../messages.gen.js';\nexport default class IFrameObserver extends Observer {\n observe(iframe) {\n const doc = iframe.contentDocument;\n const hostID = this.app.nodes.getID(iframe);\n if (!doc || hostID === undefined) {\n return;\n } //log TODO common app.logger\n // Have to observe document, because the inner might be changed\n this.observeRoot(doc, (docID) => {\n //MBTODO: do not send if empty (send on load? it might be in-place iframe, like our replayer, which does not get loaded)\n if (docID === undefined) {\n console.log('OpenReplay: Iframe document not bound');\n return;\n }\n this.app.send(CreateIFrameDocument(hostID, docID));\n });\n }\n}\n","import Observer from './observer.js';\nimport { CreateIFrameDocument } from '../messages.gen.js';\nexport default class ShadowRootObserver extends Observer {\n observe(el) {\n const shRoot = el.shadowRoot;\n const hostID = this.app.nodes.getID(el);\n if (!shRoot || hostID === undefined) {\n return;\n } // log\n this.observeRoot(shRoot, (rootID) => {\n if (rootID === undefined) {\n console.log('OpenReplay: Shadow Root was not bound');\n return;\n }\n this.app.send(CreateIFrameDocument(hostID, rootID));\n });\n }\n}\n","// Le truc - for defining an absolute offset for (nested) iframe documents. (To track mouse movments)\nexport default class IFrameOffsets {\n constructor() {\n this.states = new Map();\n }\n calcOffset(state) {\n let parLeft = 0, parTop = 0;\n if (state.parent) {\n ;\n [parLeft, parTop] = this.calcOffset(state.parent);\n }\n if (!state.offset) {\n const { left, top } = state.iFrame.getBoundingClientRect();\n state.offset = [left, top];\n }\n const [left, top] = state.offset;\n return [parLeft + left, parTop + top]; // TODO: store absolute sum, invalidate whole subtree. Otherwise it is summated on each mousemove\n }\n getDocumentOffset(doc) {\n const state = this.states.get(doc);\n if (!state) {\n return [0, 0];\n } // topmost doc\n return this.calcOffset(state);\n }\n observe(iFrame) {\n var _a;\n const doc = iFrame.contentDocument;\n if (!doc) {\n return;\n }\n const parentDoc = iFrame.ownerDocument;\n const parentState = this.states.get(parentDoc);\n const state = {\n offset: null,\n iFrame,\n parent: parentState || null,\n clear: () => {\n var _a;\n parentDoc.removeEventListener('scroll', invalidateOffset);\n (_a = parentDoc.defaultView) === null || _a === void 0 ? void 0 : _a.removeEventListener('resize', invalidateOffset);\n },\n };\n const invalidateOffset = () => {\n state.offset = null;\n };\n // anything more reliable? This does not cover all cases (layout changes are ignored, for ex.)\n parentDoc.addEventListener('scroll', invalidateOffset);\n (_a = parentDoc.defaultView) === null || _a === void 0 ? void 0 : _a.addEventListener('resize', invalidateOffset);\n this.states.set(doc, state);\n }\n clear() {\n this.states.forEach((s) => s.clear());\n this.states.clear();\n }\n}\n","import Observer from './observer.js';\nimport { isElementNode, hasTag } from '../guards.js';\nimport IFrameObserver from './iframe_observer.js';\nimport ShadowRootObserver from './shadow_root_observer.js';\nimport IFrameOffsets from './iframe_offsets.js';\nimport { CreateDocument } from '../messages.gen.js';\nimport { IN_BROWSER, hasOpenreplayAttribute } from '../../utils.js';\nconst attachShadowNativeFn = IN_BROWSER ? Element.prototype.attachShadow : () => new ShadowRoot();\nexport default class TopObserver extends Observer {\n constructor(app, options) {\n super(app, true);\n this.iframeOffsets = new IFrameOffsets();\n this.contextCallbacks = [];\n // Attached once per Tracker instance\n this.contextsSet = new Set();\n this.iframeObservers = [];\n this.shadowRootObservers = [];\n this.options = Object.assign({\n captureIFrames: true,\n }, options);\n // IFrames\n this.app.nodes.attachNodeCallback((node) => {\n if (hasTag(node, 'IFRAME') &&\n ((this.options.captureIFrames && !hasOpenreplayAttribute(node, 'obscured')) ||\n hasOpenreplayAttribute(node, 'capture'))) {\n this.handleIframe(node);\n }\n });\n // ShadowDOM\n this.app.nodes.attachNodeCallback((node) => {\n if (isElementNode(node) && node.shadowRoot !== null) {\n this.handleShadowRoot(node.shadowRoot);\n }\n });\n }\n attachContextCallback(cb) {\n this.contextCallbacks.push(cb);\n }\n getDocumentOffset(doc) {\n return this.iframeOffsets.getDocumentOffset(doc);\n }\n handleIframe(iframe) {\n let doc = null;\n // setTimeout is required. Otherwise some event listeners (scroll, mousemove) applied in modules\n // do not work on the iframe document when it 've been loaded dynamically ((why?))\n const handle = this.app.safe(() => setTimeout(() => {\n const id = this.app.nodes.getID(iframe);\n if (id === undefined) {\n //log\n return;\n }\n const currentWin = iframe.contentWindow;\n const currentDoc = iframe.contentDocument;\n if (currentDoc && currentDoc !== doc) {\n const observer = new IFrameObserver(this.app);\n this.iframeObservers.push(observer);\n observer.observe(iframe); // TODO: call unregisterNode for the previous doc if present (incapsulate: one iframe - one observer)\n doc = currentDoc;\n this.iframeOffsets.observe(iframe);\n }\n if (currentWin &&\n // Sometimes currentWin.window is null (not in specification). Such window object is not functional\n currentWin === currentWin.window &&\n !this.contextsSet.has(currentWin) // for each context callbacks called once per Tracker (TopObserver) instance\n //TODO: more explicit logic\n ) {\n this.contextsSet.add(currentWin);\n //@ts-ignore https://github.com/microsoft/TypeScript/issues/41684\n this.contextCallbacks.forEach((cb) => cb(currentWin));\n }\n }, 0));\n iframe.addEventListener('load', handle); // why app.attachEventListener not working?\n handle();\n }\n handleShadowRoot(shRoot) {\n const observer = new ShadowRootObserver(this.app);\n this.shadowRootObservers.push(observer);\n observer.observe(shRoot.host);\n }\n observe() {\n // Protection from several subsequent calls?\n const observer = this;\n Element.prototype.attachShadow = function () {\n // eslint-disable-next-line\n const shadow = attachShadowNativeFn.apply(this, arguments);\n observer.handleShadowRoot(shadow);\n return shadow;\n };\n // Can observe documentElement () here, because it is not supposed to be changing.\n // However, it is possible in some exotic cases and may cause an ignorance of the newly created \n // In this case context.document have to be observed, but this will cause\n // the change in the re-player behaviour caused by CreateDocument message:\n // the 0-node (\"fRoot\") will become #document rather than documentElement as it is now.\n // Alternatively - observe(#document) then bindNode(documentElement)\n this.observeRoot(window.document, () => {\n this.app.send(CreateDocument());\n // it has no node_id here\n this.app.nodes.callNodeCallbacks(document, true);\n }, window.document.documentElement);\n }\n disconnect() {\n this.iframeOffsets.clear();\n Element.prototype.attachShadow = attachShadowNativeFn;\n this.iframeObservers.forEach((o) => o.disconnect());\n this.iframeObservers = [];\n this.shadowRootObservers.forEach((o) => o.disconnect());\n this.shadowRootObservers = [];\n super.disconnect();\n }\n}\n","import { stars, hasOpenreplayAttribute } from '../utils.js';\nimport { isElementNode } from './guards.js';\nexport var SanitizeLevel;\n(function (SanitizeLevel) {\n SanitizeLevel[SanitizeLevel[\"Plain\"] = 0] = \"Plain\";\n SanitizeLevel[SanitizeLevel[\"Obscured\"] = 1] = \"Obscured\";\n SanitizeLevel[SanitizeLevel[\"Hidden\"] = 2] = \"Hidden\";\n})(SanitizeLevel || (SanitizeLevel = {}));\nexport default class Sanitizer {\n constructor(app, options) {\n this.app = app;\n this.obscured = new Set();\n this.hidden = new Set();\n this.options = Object.assign({\n obscureTextEmails: true,\n obscureTextNumbers: false,\n }, options);\n }\n handleNode(id, parentID, node) {\n if (this.obscured.has(parentID) ||\n (isElementNode(node) &&\n (hasOpenreplayAttribute(node, 'masked') || hasOpenreplayAttribute(node, 'obscured')))) {\n this.obscured.add(id);\n }\n if (this.hidden.has(parentID) ||\n (isElementNode(node) &&\n (hasOpenreplayAttribute(node, 'htmlmasked') || hasOpenreplayAttribute(node, 'hidden')))) {\n this.hidden.add(id);\n }\n if (this.options.domSanitizer !== undefined && isElementNode(node)) {\n const sanitizeLevel = this.options.domSanitizer(node);\n if (sanitizeLevel === SanitizeLevel.Obscured) {\n this.obscured.add(id);\n }\n if (sanitizeLevel === SanitizeLevel.Hidden) {\n this.hidden.add(id);\n }\n }\n }\n sanitize(id, data) {\n if (this.obscured.has(id)) {\n // TODO: is it the best place to put trim() ? Might trimmed spaces be considered in layout in certain cases?\n return data\n .trim()\n .replace(/[^\\f\\n\\r\\t\\v\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]/g, '█');\n }\n if (this.options.obscureTextNumbers) {\n data = data.replace(/\\d/g, '0');\n }\n if (this.options.obscureTextEmails) {\n data = data.replace(/([^\\s]+)@([^\\s]+)\\.([^\\s]+)/g, (...f) => stars(f[1]) + '@' + stars(f[2]) + '.' + stars(f[3]));\n }\n return data;\n }\n isObscured(id) {\n return this.obscured.has(id);\n }\n isHidden(id) {\n return this.hidden.has(id);\n }\n getInnerTextSecure(el) {\n const id = this.app.nodes.getID(el);\n if (!id) {\n return '';\n }\n return this.sanitize(id, el.innerText);\n }\n clear() {\n this.obscured.clear();\n this.hidden.clear();\n }\n}\n","function wrap(callback, n) {\n let t = 0;\n return () => {\n if (t++ >= n) {\n t = 0;\n callback();\n }\n };\n}\nexport default class Ticker {\n constructor(app) {\n this.app = app;\n this.timer = null;\n this.callbacks = [];\n }\n attach(callback, n = 0, useSafe = true, thisArg) {\n if (thisArg) {\n callback = callback.bind(thisArg);\n }\n if (useSafe) {\n callback = this.app.safe(callback);\n }\n this.callbacks.unshift(n ? wrap(callback, n) : callback) - 1;\n }\n start() {\n if (this.timer === null) {\n this.timer = setInterval(() => this.callbacks.forEach((cb) => {\n if (cb)\n cb();\n }), 30);\n }\n }\n stop() {\n if (this.timer !== null) {\n clearInterval(this.timer);\n this.timer = null;\n }\n }\n}\n","export const LogLevel = {\n Verbose: 5,\n Log: 4,\n Warnings: 3,\n Errors: 2,\n Silent: 0,\n};\nfunction IsCustomLevel(l) {\n return typeof l === 'object';\n}\nexport default class Logger {\n constructor(options = LogLevel.Silent) {\n this.options =\n options === true\n ? { level: LogLevel.Verbose }\n : typeof options === 'number'\n ? { level: options }\n : options;\n }\n log(...args) {\n if (IsCustomLevel(this.options.level)\n ? this.options.level.log\n : this.options.level >= LogLevel.Log) {\n console.log(...args);\n }\n }\n warn(...args) {\n if (IsCustomLevel(this.options.level)\n ? this.options.level.warn\n : this.options.level >= LogLevel.Warnings) {\n console.warn(...args);\n }\n }\n error(...args) {\n if (IsCustomLevel(this.options.level)\n ? this.options.level.error\n : this.options.level >= LogLevel.Errors) {\n console.error(...args);\n }\n }\n}\n","export default class Session {\n constructor(app, options) {\n this.app = app;\n this.options = options;\n this.metadata = {};\n this.userID = null;\n this.callbacks = [];\n this.timestamp = 0;\n }\n attachUpdateCallback(cb) {\n this.callbacks.push(cb);\n }\n handleUpdate(newInfo) {\n if (newInfo.userID == null) {\n delete newInfo.userID;\n }\n if (newInfo.sessionID == null) {\n delete newInfo.sessionID;\n }\n this.callbacks.forEach((cb) => cb(newInfo));\n }\n assign(newInfo) {\n if (newInfo.userID !== undefined) {\n // TODO clear nullable/undefinable types\n this.userID = newInfo.userID;\n }\n if (newInfo.metadata !== undefined) {\n Object.entries(newInfo.metadata).forEach(([k, v]) => (this.metadata[k] = v));\n }\n if (newInfo.sessionID !== undefined) {\n this.sessionID = newInfo.sessionID;\n }\n if (newInfo.timestamp !== undefined) {\n this.timestamp = newInfo.timestamp;\n }\n if (newInfo.projectID !== undefined) {\n this.projectID = newInfo.projectID;\n }\n this.handleUpdate(newInfo);\n }\n setMetadata(key, value) {\n this.metadata[key] = value;\n this.handleUpdate({ metadata: { [key]: value } });\n }\n setUserID(userID) {\n this.userID = userID;\n this.handleUpdate({ userID });\n }\n getPageNumber() {\n const pageNoStr = this.app.sessionStorage.getItem(this.options.session_pageno_key);\n if (pageNoStr == null) {\n return undefined;\n }\n return parseInt(pageNoStr);\n }\n incPageNo() {\n let pageNo = this.getPageNumber();\n if (pageNo === undefined) {\n pageNo = 0;\n }\n else {\n pageNo++;\n }\n this.app.sessionStorage.setItem(this.options.session_pageno_key, pageNo.toString());\n return pageNo;\n }\n getSessionToken() {\n return this.app.sessionStorage.getItem(this.options.session_token_key) || undefined;\n }\n setSessionToken(token) {\n this.app.sessionStorage.setItem(this.options.session_token_key, token);\n }\n applySessionHash(hash) {\n const hashParts = decodeURI(hash).split('&');\n let token = hash;\n let pageNoStr = '100500'; // back-compat for sessionToken\n if (hashParts.length == 2) {\n ;\n [pageNoStr, token] = hashParts;\n }\n if (!pageNoStr || !token) {\n return;\n }\n this.app.sessionStorage.setItem(this.options.session_token_key, token);\n this.app.sessionStorage.setItem(this.options.session_pageno_key, pageNoStr);\n }\n getSessionHash() {\n const pageNo = this.getPageNumber();\n const token = this.getSessionToken();\n if (pageNo === undefined || token === undefined) {\n return;\n }\n return encodeURI(String(pageNo) + '&' + token);\n }\n getInfo() {\n return {\n sessionID: this.sessionID,\n metadata: this.metadata,\n userID: this.userID,\n timestamp: this.timestamp,\n projectID: this.projectID,\n };\n }\n reset() {\n this.app.sessionStorage.removeItem(this.options.session_token_key);\n this.metadata = {};\n this.userID = null;\n this.sessionID = undefined;\n this.timestamp = 0;\n }\n}\n","import { IN_BROWSER } from '../utils.js';\nimport { PerformanceTrack } from '../app/messages.gen.js';\nconst perf = IN_BROWSER && 'performance' in window && 'memory' in performance // works in Chrome only\n ? performance\n : { memory: {} };\nexport const deviceMemory = IN_BROWSER ? (navigator.deviceMemory || 0) * 1024 : 0;\nexport const jsHeapSizeLimit = perf.memory.jsHeapSizeLimit || 0;\nexport default function (app, opts) {\n const options = Object.assign({\n capturePerformance: true,\n }, opts);\n if (!options.capturePerformance) {\n return;\n }\n let frames;\n let ticks;\n const nextFrame = () => {\n if (frames === undefined || frames === -1) {\n return;\n }\n frames++;\n requestAnimationFrame(nextFrame);\n };\n app.ticker.attach(() => {\n if (ticks === undefined || ticks === -1) {\n return;\n }\n ticks++;\n }, 0, false);\n const sendPerformanceTrack = () => {\n if (frames === undefined || ticks === undefined) {\n return;\n }\n app.send(PerformanceTrack(frames, ticks, perf.memory.totalJSHeapSize || 0, perf.memory.usedJSHeapSize || 0));\n ticks = frames = document.hidden ? -1 : 0;\n };\n app.attachStartCallback(() => {\n ticks = frames = -1;\n sendPerformanceTrack();\n nextFrame();\n });\n app.attachStopCallback(() => {\n ticks = frames = undefined;\n });\n app.ticker.attach(sendPerformanceTrack, 40, false);\n if (document.hidden !== undefined) {\n app.attachEventListener(document, 'visibilitychange', sendPerformanceTrack, false, false);\n }\n}\n","import { Timestamp, Metadata, UserID } from './messages.gen.js';\nimport { now, adjustTimeOrigin } from '../utils.js';\nimport Nodes from './nodes.js';\nimport Observer from './observer/top_observer.js';\nimport Sanitizer from './sanitizer.js';\nimport Ticker from './ticker.js';\nimport Logger, { LogLevel } from './logger.js';\nimport Session from './session.js';\nimport { deviceMemory, jsHeapSizeLimit } from '../modules/performance.js';\nconst CANCELED = 'canceled';\nconst START_ERROR = ':(';\nconst UnsuccessfulStart = (reason) => ({ reason, success: false });\nconst SuccessfulStart = (body) => (Object.assign(Object.assign({}, body), { success: true }));\nvar ActivityState;\n(function (ActivityState) {\n ActivityState[ActivityState[\"NotActive\"] = 0] = \"NotActive\";\n ActivityState[ActivityState[\"Starting\"] = 1] = \"Starting\";\n ActivityState[ActivityState[\"Active\"] = 2] = \"Active\";\n})(ActivityState || (ActivityState = {}));\n// TODO: use backendHost only\nexport const DEFAULT_INGEST_POINT = 'https://api.openreplay.com/ingest';\nexport default class App {\n constructor(projectKey, sessionToken, options) {\n // if (options.onStart !== undefined) {\n // deprecationWarn(\"'onStart' option\", \"tracker.start().then(/* handle session info */)\")\n // } ?? maybe onStart is good\n var _a, _b;\n this.messages = [];\n this.startCallbacks = [];\n this.stopCallbacks = [];\n this.commitCallbacks = [];\n this.activityState = ActivityState.NotActive;\n this.version = '4.1.11'; // TODO: version compatability check inside each plugin.\n this.delay = 0;\n this.projectKey = projectKey;\n this.options = Object.assign({\n revID: '',\n node_id: '__openreplay_id',\n session_token_key: '__openreplay_token',\n session_pageno_key: '__openreplay_pageno',\n session_reset_key: '__openreplay_reset',\n local_uuid_key: '__openreplay_uuid',\n ingestPoint: DEFAULT_INGEST_POINT,\n resourceBaseHref: null,\n verbose: false,\n __is_snippet: false,\n __debug_report_edp: null,\n localStorage: null,\n sessionStorage: null,\n }, options);\n this.revID = this.options.revID;\n this.localStorage = (_a = this.options.localStorage) !== null && _a !== void 0 ? _a : window.localStorage;\n this.sessionStorage = (_b = this.options.sessionStorage) !== null && _b !== void 0 ? _b : window.sessionStorage;\n this.sanitizer = new Sanitizer(this, options);\n this.nodes = new Nodes(this.options.node_id);\n this.observer = new Observer(this, options);\n this.ticker = new Ticker(this);\n this.ticker.attach(() => this.commit());\n this.debug = new Logger(this.options.__debug__);\n this.notify = new Logger(this.options.verbose ? LogLevel.Warnings : LogLevel.Silent);\n this.session = new Session(this, this.options);\n this.session.attachUpdateCallback(({ userID, metadata }) => {\n if (userID != null) {\n // TODO: nullable userID\n this.send(UserID(userID));\n }\n if (metadata != null) {\n Object.entries(metadata).forEach(([key, value]) => this.send(Metadata(key, value)));\n }\n });\n // @depricated (use sessionHash on start instead)\n if (sessionToken != null) {\n this.session.applySessionHash(sessionToken);\n }\n try {\n this.worker = new Worker(URL.createObjectURL(new Blob(['\"use strict\";class t{constructor(t,i,s,e=10,n=1e3){this.onUnauthorised=i,this.onFailure=s,this.MAX_ATTEMPTS_COUNT=e,this.ATTEMPT_TIMEOUT=n,this.attemptsCount=0,this.busy=!1,this.queue=[],this.token=null,this.ingestURL=t+\"/v1/web/i\"}authorise(t){this.token=t}push(t){this.busy||!this.token?this.queue.push(t):this.sendBatch(t)}retry(t){this.attemptsCount>=this.MAX_ATTEMPTS_COUNT?this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`):(this.attemptsCount++,setTimeout(()=>this.sendBatch(t),this.ATTEMPT_TIMEOUT*this.attemptsCount))}sendBatch(t){this.busy=!0,fetch(this.ingestURL,{body:t,method:\"POST\",headers:{Authorization:\"Bearer \"+this.token},keepalive:t.length<65536}).then(i=>{if(401===i.status)return this.busy=!1,void this.onUnauthorised();if(i.status>=400)return void this.retry(t);this.attemptsCount=0;const s=this.queue.shift();s?this.sendBatch(s):this.busy=!1}).catch(i=>{console.warn(\"OpenReplay:\",i),this.retry(t)})}clean(){this.queue.length=0}}const i=\"function\"==typeof TextEncoder?new TextEncoder:{encode(t){const i=t.length,s=new Uint8Array(3*i);let e=-1;for(let n=0,r=0,h=0;h!==i;){if(n=t.charCodeAt(h),h+=1,n>=55296&&n<=56319){if(h===i){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;break}if(r=t.charCodeAt(h),!(r>=56320&&r<=57343)){s[e+=1]=239,s[e+=1]=191,s[e+=1]=189;continue}if(n=1024*(n-55296)+r-56320+65536,h+=1,n>65535){s[e+=1]=240|n>>>18,s[e+=1]=128|n>>>12&63,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n;continue}}n<=127?s[e+=1]=0|n:n<=2047?(s[e+=1]=192|n>>>6,s[e+=1]=128|63&n):(s[e+=1]=224|n>>>12,s[e+=1]=128|n>>>6&63,s[e+=1]=128|63&n)}return s.subarray(0,e+1)}};class s extends class{constructor(t){this.size=t,this.offset=0,this.checkpointOffset=0,this.data=new Uint8Array(t)}getCurrentOffset(){return this.offset}checkpoint(){this.checkpointOffset=this.offset}isEmpty(){return 0===this.offset}skip(t){return this.offset+=t,this.offset<=this.size}set(t,i){this.data.set(t,i)}boolean(t){return this.data[this.offset++]=+t,this.offset<=this.size}uint(t){for((t<0||t>Number.MAX_SAFE_INTEGER)&&(t=0);t>=128;)this.data[this.offset++]=t%256|128,t=Math.floor(t/128);return this.data[this.offset++]=t,this.offset<=this.size}int(t){return t=Math.round(t),this.uint(t>=0?2*t:-2*t-1)}string(t){const s=i.encode(t),e=s.byteLength;return!(!this.uint(e)||this.offset+e>this.size)&&(this.data.set(s,this.offset),this.offset+=e,!0)}reset(){this.offset=0,this.checkpointOffset=0}flush(){const t=this.data.slice(0,this.checkpointOffset);return this.reset(),t}}{encode(t){switch(t[0]){case 81:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.int(t[4])&&this.string(t[5]);case 82:return this.uint(t[1])&&this.uint(t[2]);case 0:return this.uint(t[1]);case 4:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 5:return this.uint(t[1])&&this.uint(t[2]);case 6:return this.int(t[1])&&this.int(t[2]);case 7:return!0;case 8:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.string(t[4])&&this.boolean(t[5]);case 9:case 10:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 11:return this.uint(t[1]);case 12:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 13:case 14:return this.uint(t[1])&&this.string(t[2]);case 16:return this.uint(t[1])&&this.int(t[2])&&this.int(t[3]);case 17:return this.uint(t[1])&&this.string(t[2]);case 18:return this.uint(t[1])&&this.string(t[2])&&this.int(t[3]);case 19:return this.uint(t[1])&&this.boolean(t[2]);case 20:return this.uint(t[1])&&this.uint(t[2]);case 22:return this.string(t[1])&&this.string(t[2]);case 23:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 24:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 25:return this.string(t[1])&&this.string(t[2])&&this.string(t[3]);case 27:return this.string(t[1])&&this.string(t[2]);case 28:case 29:return this.string(t[1]);case 30:return this.string(t[1])&&this.string(t[2]);case 37:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3]);case 38:return this.uint(t[1])&&this.uint(t[2]);case 39:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7]);case 40:return this.string(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 41:return this.string(t[1])&&this.string(t[2]);case 42:return this.string(t[1]);case 44:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 45:case 46:return this.string(t[1])&&this.string(t[2]);case 47:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 48:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 49:return this.int(t[1])&&this.int(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 53:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8]);case 54:return this.uint(t[1])&&this.string(t[2]);case 55:return this.boolean(t[1]);case 57:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 58:return this.int(t[1]);case 59:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6])&&this.string(t[7]);case 60:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 61:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 63:case 64:return this.string(t[1])&&this.string(t[2]);case 67:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 69:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 70:return this.uint(t[1])&&this.uint(t[2]);case 71:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 73:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 75:case 76:case 77:return this.uint(t[1])&&this.uint(t[2]);case 79:return this.string(t[1])&&this.string(t[2]);case 78:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])}}}class e{constructor(t,i,e,n){this.pageNo=t,this.timestamp=i,this.url=e,this.onBatch=n,this.nextIndex=0,this.beaconSize=2e5,this.encoder=new s(this.beaconSize),this.sizeBuffer=new Uint8Array(3),this.isEmpty=!0,this.beaconSizeLimit=1e6,this.prepare()}writeType(t){return this.encoder.uint(t[0])}writeFields(t){return this.encoder.encode(t)}writeSizeAt(t,i){for(let i=0;i<3;i++)this.sizeBuffer[i]=t>>8*i;this.encoder.set(this.sizeBuffer,i)}prepare(){if(!this.encoder.isEmpty())return;const t=[81,1,this.pageNo,this.nextIndex,this.timestamp,this.url];this.writeType(t),this.writeFields(t),this.isEmpty=!0}writeWithSize(t){const i=this.encoder;if(!this.writeType(t)||!i.skip(3))return!1;const s=i.getCurrentOffset(),e=this.writeFields(t);if(e){const e=i.getCurrentOffset()-s;if(e>16777215)return console.warn(\"OpenReplay: max message size overflow.\"),!1;this.writeSizeAt(e,s-3),i.checkpoint(),this.isEmpty=this.isEmpty&&0===t[0],this.nextIndex++}return e}setBeaconSizeLimit(t){this.beaconSizeLimit=t}writeMessage(t){if(0===t[0]&&(this.timestamp=t[1]),4===t[0]&&(this.url=t[1]),!this.writeWithSize(t))for(this.finaliseBatch();!this.writeWithSize(t);){if(this.beaconSize===this.beaconSizeLimit)return console.warn(\"OpenReplay: beacon size overflow. Skipping large message.\",t,this),this.encoder.reset(),void this.prepare();this.beaconSize=Math.min(2*this.beaconSize,this.beaconSizeLimit),this.encoder=new s(this.beaconSize),this.prepare()}}finaliseBatch(){this.isEmpty||(this.onBatch(this.encoder.flush()),this.prepare())}clean(){this.encoder.reset()}}var n;!function(t){t[t.NotActive=0]=\"NotActive\",t[t.Starting=1]=\"Starting\",t[t.Stopping=2]=\"Stopping\",t[t.Active=3]=\"Active\"}(n||(n={}));let r=null,h=null;function u(){h&&h.finaliseBatch()}function a(){n.Stopping,null!==g&&(clearInterval(g),g=null),h&&(h.clean(),h=null),r&&(r.clean(),r=null),n.NotActive}function o(){postMessage(\"restart\"),a()}n.NotActive;let c,g=null;self.onmessage=({data:i})=>{if(null!=i){if(\"stop\"===i)return u(),void a();if(Array.isArray(i)){if(!h)throw new Error(\"WebWorker: writer not initialised. Service Should be Started.\");const t=h;i.forEach(i=>{55===i[0]&&(i[1]?c=setTimeout(()=>o(),18e5):clearTimeout(c)),t.writeMessage(i)})}else{if(\"start\"===i.type)return n.Starting,r=new t(i.ingestPoint,()=>{o()},t=>{!function(t){postMessage({type:\"failure\",reason:t}),a()}(t)},i.connAttemptCount,i.connAttemptGap),h=new e(i.pageNo,i.timestamp,i.url,t=>r&&r.push(t)),null===g&&(g=setInterval(u,1e4)),n.Active;if(\"auth\"===i.type){if(!r)throw new Error(\"WebWorker: sender not initialised. Received auth.\");if(!h)throw new Error(\"WebWorker: writer not initialised. Received auth.\");return r.authorise(i.token),void(i.beaconSizeLimit&&h.setBeaconSizeLimit(i.beaconSizeLimit))}}}else u()};'], { type: 'text/javascript' })));\n this.worker.onerror = (e) => {\n this._debug('webworker_error', e);\n };\n this.worker.onmessage = ({ data }) => {\n if (data === 'restart') {\n this.stop(false);\n this.start({}, true);\n }\n else if (data.type === 'failure') {\n this.stop(false);\n this._debug('worker_failed', data.reason);\n }\n };\n const alertWorker = () => {\n if (this.worker) {\n this.worker.postMessage(null);\n }\n };\n // keep better tactics, discard others?\n this.attachEventListener(window, 'beforeunload', alertWorker, false);\n this.attachEventListener(document.body, 'mouseleave', alertWorker, false, false);\n // TODO: stop session after inactivity timeout (make configurable)\n this.attachEventListener(document, 'visibilitychange', alertWorker, false);\n }\n catch (e) {\n this._debug('worker_start', e);\n }\n }\n _debug(context, e) {\n if (this.options.__debug_report_edp !== null) {\n void fetch(this.options.__debug_report_edp, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n context,\n error: `${e}`,\n }),\n });\n }\n this.debug.error('OpenReplay error: ', context, e);\n }\n send(message, urgent = false) {\n if (this.activityState === ActivityState.NotActive) {\n return;\n }\n this.messages.push(message);\n // TODO: commit on start if there were `urgent` sends;\n // Clarify where urgent can be used for;\n // Clarify workflow for each type of message in case it was sent before start\n // (like Fetch before start; maybe add an option \"preCapture: boolean\" or sth alike)\n // Careful: `this.delay` is equal to zero before start hense all Timestamp-s will have to be updated on start\n if (this.activityState === ActivityState.Active && urgent) {\n this.commit();\n }\n }\n commit() {\n if (this.worker && this.messages.length) {\n this.messages.unshift(Timestamp(this.timestamp()));\n this.worker.postMessage(this.messages);\n this.commitCallbacks.forEach((cb) => cb(this.messages));\n this.messages.length = 0;\n }\n }\n timestamp() {\n return now() + this.delay;\n }\n safe(fn) {\n const app = this;\n return function (...args) {\n try {\n fn.apply(this, args);\n }\n catch (e) {\n app._debug('safe_fn_call', e);\n // time: this.timestamp(),\n // name: e.name,\n // message: e.message,\n // stack: e.stack\n }\n }; // TODO: correct typing\n }\n attachCommitCallback(cb) {\n this.commitCallbacks.push(cb);\n }\n attachStartCallback(cb, useSafe = false) {\n if (useSafe) {\n cb = this.safe(cb);\n }\n this.startCallbacks.push(cb);\n }\n attachStopCallback(cb, useSafe = false) {\n if (useSafe) {\n cb = this.safe(cb);\n }\n this.stopCallbacks.push(cb);\n }\n // Use app.nodes.attachNodeListener for registered nodes instead\n attachEventListener(target, type, listener, useSafe = true, useCapture = true) {\n if (useSafe) {\n listener = this.safe(listener);\n }\n this.attachStartCallback(() => target === null || target === void 0 ? void 0 : target.addEventListener(type, listener, useCapture), useSafe);\n this.attachStopCallback(() => target === null || target === void 0 ? void 0 : target.removeEventListener(type, listener, useCapture), useSafe);\n }\n // TODO: full correct semantic\n checkRequiredVersion(version) {\n const reqVer = version.split(/[.-]/);\n const ver = this.version.split(/[.-]/);\n for (let i = 0; i < 3; i++) {\n if (isNaN(Number(ver[i])) || isNaN(Number(reqVer[i]))) {\n return false;\n }\n if (Number(ver[i]) > Number(reqVer[i])) {\n return true;\n }\n if (Number(ver[i]) < Number(reqVer[i])) {\n return false;\n }\n }\n return true;\n }\n getTrackerInfo() {\n return {\n userUUID: this.localStorage.getItem(this.options.local_uuid_key),\n projectKey: this.projectKey,\n revID: this.revID,\n trackerVersion: this.version,\n isSnippet: this.options.__is_snippet,\n };\n }\n getSessionInfo() {\n return Object.assign(Object.assign({}, this.session.getInfo()), this.getTrackerInfo());\n }\n getSessionToken() {\n return this.session.getSessionToken();\n }\n getSessionID() {\n return this.session.getInfo().sessionID || undefined;\n }\n getSessionURL() {\n const { projectID, sessionID } = this.session.getInfo();\n if (!projectID || !sessionID) {\n this.debug.error('OpenReplay error: Unable to build session URL');\n return undefined;\n }\n const ingest = this.options.ingestPoint;\n const isSaas = ingest === DEFAULT_INGEST_POINT;\n const projectPath = isSaas ? ingest.replace('api', 'app') : ingest;\n return projectPath.replace(/ingest$/, `${projectID}/session/${sessionID}`);\n }\n getHost() {\n return new URL(this.options.ingestPoint).host;\n }\n getProjectKey() {\n return this.projectKey;\n }\n getBaseHref() {\n var _a, _b;\n if (typeof this.options.resourceBaseHref === 'string') {\n return this.options.resourceBaseHref;\n }\n else if (typeof this.options.resourceBaseHref === 'object') {\n //TODO: switch between types\n }\n if (document.baseURI) {\n return document.baseURI;\n }\n // IE only\n return (((_b = (_a = document.head) === null || _a === void 0 ? void 0 : _a.getElementsByTagName('base')[0]) === null || _b === void 0 ? void 0 : _b.getAttribute('href')) ||\n location.origin + location.pathname);\n }\n resolveResourceURL(resourceURL) {\n const base = new URL(this.getBaseHref());\n base.pathname += '/' + new URL(resourceURL).pathname;\n base.pathname.replace(/\\/+/g, '/');\n return base.toString();\n }\n isServiceURL(url) {\n return url.startsWith(this.options.ingestPoint);\n }\n active() {\n return this.activityState === ActivityState.Active;\n }\n resetNextPageSession(flag) {\n if (flag) {\n this.sessionStorage.setItem(this.options.session_reset_key, 't');\n }\n else {\n this.sessionStorage.removeItem(this.options.session_reset_key);\n }\n }\n _start(startOpts = {}, resetByWorker = false) {\n if (!this.worker) {\n return Promise.resolve(UnsuccessfulStart('No worker found: perhaps, CSP is not set.'));\n }\n if (this.activityState !== ActivityState.NotActive) {\n return Promise.resolve(UnsuccessfulStart('OpenReplay: trying to call `start()` on the instance that has been started already.'));\n }\n this.activityState = ActivityState.Starting;\n adjustTimeOrigin();\n if (startOpts.sessionHash) {\n this.session.applySessionHash(startOpts.sessionHash);\n }\n if (startOpts.forceNew) {\n // Reset session metadata only if requested directly\n this.session.reset();\n }\n this.session.assign({\n // MBTODO: maybe it would make sense to `forceNew` if the `userID` was changed\n userID: startOpts.userID,\n metadata: startOpts.metadata,\n });\n const timestamp = now();\n this.worker.postMessage({\n type: 'start',\n pageNo: this.session.incPageNo(),\n ingestPoint: this.options.ingestPoint,\n timestamp,\n url: document.URL,\n connAttemptCount: this.options.connAttemptCount,\n connAttemptGap: this.options.connAttemptGap,\n });\n const lsReset = this.sessionStorage.getItem(this.options.session_reset_key) !== null;\n this.sessionStorage.removeItem(this.options.session_reset_key);\n const needNewSessionID = startOpts.forceNew || lsReset || resetByWorker;\n return window\n .fetch(this.options.ingestPoint + '/v1/web/start', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(Object.assign(Object.assign({}, this.getTrackerInfo()), { timestamp, userID: this.session.getInfo().userID, token: needNewSessionID ? undefined : this.session.getSessionToken(), deviceMemory,\n jsHeapSizeLimit })),\n })\n .then((r) => {\n if (r.status === 200) {\n return r.json();\n }\n else {\n return r\n .text()\n .then((text) => text === CANCELED\n ? Promise.reject(CANCELED)\n : Promise.reject(`Server error: ${r.status}. ${text}`));\n }\n })\n .then((r) => {\n if (!this.worker) {\n return Promise.reject('no worker found after start request (this might not happen)');\n }\n if (this.activityState === ActivityState.NotActive) {\n return Promise.reject('Tracker stopped during authorisation');\n }\n const { token, userUUID, projectID, beaconSizeLimit, delay, // derived from token\n sessionID, // derived from token\n startTimestamp, // real startTS (server time), derived from sessionID\n } = r;\n if (typeof token !== 'string' ||\n typeof userUUID !== 'string' ||\n (typeof startTimestamp !== 'number' && typeof startTimestamp !== 'undefined') ||\n typeof sessionID !== 'string' ||\n typeof delay !== 'number' ||\n (typeof beaconSizeLimit !== 'number' && typeof beaconSizeLimit !== 'undefined')) {\n return Promise.reject(`Incorrect server response: ${JSON.stringify(r)}`);\n }\n this.delay = delay;\n this.session.setSessionToken(token);\n this.session.assign({\n sessionID,\n timestamp: startTimestamp || timestamp,\n projectID,\n });\n // (Re)send Metadata for the case of a new session\n Object.entries(this.session.getInfo().metadata).forEach(([key, value]) => this.send(Metadata(key, value)));\n this.localStorage.setItem(this.options.local_uuid_key, userUUID);\n this.worker.postMessage({\n type: 'auth',\n token,\n beaconSizeLimit,\n });\n const onStartInfo = { sessionToken: token, userUUID, sessionID };\n // TODO: start as early as possible (before receiving the token)\n this.startCallbacks.forEach((cb) => cb(onStartInfo)); // MBTODO: callbacks after DOM \"mounted\" (observed)\n this.observer.observe();\n this.ticker.start();\n this.activityState = ActivityState.Active;\n this.notify.log('OpenReplay tracking started.');\n // get rid of onStart ?\n if (typeof this.options.onStart === 'function') {\n this.options.onStart(onStartInfo);\n }\n return SuccessfulStart(onStartInfo);\n })\n .catch((reason) => {\n this.stop();\n this.session.reset();\n if (reason === CANCELED) {\n return UnsuccessfulStart(CANCELED);\n }\n this.notify.log('OpenReplay was unable to start. ', reason);\n this._debug('session_start', reason);\n return UnsuccessfulStart(START_ERROR);\n });\n }\n start(...args) {\n if (!document.hidden) {\n return this._start(...args);\n }\n else {\n return new Promise((resolve) => {\n const onVisibilityChange = () => {\n if (!document.hidden) {\n document.removeEventListener('visibilitychange', onVisibilityChange);\n resolve(this._start(...args));\n }\n };\n document.addEventListener('visibilitychange', onVisibilityChange);\n });\n }\n }\n stop(stopWorker = true) {\n if (this.activityState !== ActivityState.NotActive) {\n try {\n this.sanitizer.clear();\n this.observer.disconnect();\n this.nodes.clear();\n this.ticker.stop();\n this.stopCallbacks.forEach((cb) => cb());\n this.notify.log('OpenReplay tracking stopped.');\n if (this.worker && stopWorker) {\n this.worker.postMessage('stop');\n }\n }\n finally {\n this.activityState = ActivityState.NotActive;\n }\n }\n }\n}\n","import { IN_BROWSER } from '../utils.js';\nimport { ConsoleLog } from '../app/messages.gen.js';\nconst printError = IN_BROWSER && 'InstallTrigger' in window // detect Firefox\n ? (e) => e.message + '\\n' + e.stack\n : (e) => e.stack || e.message;\nfunction printString(arg) {\n if (arg === undefined) {\n return 'undefined';\n }\n if (arg === null) {\n return 'null';\n }\n if (arg instanceof Error) {\n return printError(arg);\n }\n if (Array.isArray(arg)) {\n return `Array(${arg.length})`;\n }\n return String(arg);\n}\nfunction printFloat(arg) {\n if (typeof arg !== 'number')\n return 'NaN';\n return arg.toString();\n}\nfunction printInt(arg) {\n if (typeof arg !== 'number')\n return 'NaN';\n return Math.floor(arg).toString();\n}\nfunction printObject(arg) {\n if (arg === undefined) {\n return 'undefined';\n }\n if (arg === null) {\n return 'null';\n }\n if (arg instanceof Error) {\n return printError(arg);\n }\n if (Array.isArray(arg)) {\n const length = arg.length;\n const values = arg.slice(0, 10).map(printString).join(', ');\n return `Array(${length})[${values}]`;\n }\n if (typeof arg === 'object') {\n const res = [];\n let i = 0;\n for (const k in arg) {\n if (++i === 10) {\n break;\n }\n const v = arg[k];\n res.push(k + ': ' + printString(v));\n }\n return '{' + res.join(', ') + '}';\n }\n return arg.toString();\n}\nfunction printf(args) {\n if (typeof args[0] === 'string') {\n args.unshift(args.shift().replace(/%(o|s|f|d|i)/g, (s, t) => {\n const arg = args.shift();\n if (arg === undefined)\n return s;\n switch (t) {\n case 'o':\n return printObject(arg);\n case 's':\n return printString(arg);\n case 'f':\n return printFloat(arg);\n case 'd':\n case 'i':\n return printInt(arg);\n default:\n return s;\n }\n }));\n }\n return args.map(printObject).join(' ');\n}\nconst consoleMethods = ['log', 'info', 'warn', 'error', 'debug', 'assert'];\nexport default function (app, opts) {\n const options = Object.assign({\n consoleMethods,\n consoleThrottling: 30,\n }, opts);\n if (!Array.isArray(options.consoleMethods) || options.consoleMethods.length === 0) {\n return;\n }\n const sendConsoleLog = app.safe((level, args) => app.send(ConsoleLog(level, printf(args))));\n let n;\n const reset = () => {\n n = 0;\n };\n app.attachStartCallback(reset);\n app.ticker.attach(reset, 33, false);\n const patchConsole = (console) => options.consoleMethods.forEach((method) => {\n if (consoleMethods.indexOf(method) === -1) {\n app.debug.error(`OpenReplay: unsupported console method \"${method}\"`);\n return;\n }\n const fn = console[method];\n console[method] = function (...args) {\n fn.apply(this, args);\n if (n++ > options.consoleThrottling) {\n return;\n }\n sendConsoleLog(method, args);\n };\n });\n const patchContext = app.safe((context) => patchConsole(context.console));\n patchContext(window);\n app.observer.attachContextCallback(patchContext);\n}\n","import { JSException } from '../app/messages.gen.js';\nimport ErrorStackParser from 'error-stack-parser';\nfunction getDefaultStack(e) {\n return [\n {\n columnNumber: e.colno,\n lineNumber: e.lineno,\n fileName: e.filename,\n functionName: '',\n source: '',\n },\n ];\n}\nexport function getExceptionMessage(error, fallbackStack, metadata = {}) {\n let stack = fallbackStack;\n try {\n stack = ErrorStackParser.parse(error);\n }\n catch (e) { }\n return JSException(error.name, error.message, JSON.stringify(stack), JSON.stringify(metadata));\n}\nexport function getExceptionMessageFromEvent(e, context = window, metadata = {}) {\n if (e instanceof ErrorEvent) {\n if (e.error instanceof Error) {\n return getExceptionMessage(e.error, getDefaultStack(e), metadata);\n }\n else {\n let [name, message] = e.message.split(':');\n if (!message) {\n name = 'Error';\n message = e.message;\n }\n return JSException(name, message, JSON.stringify(getDefaultStack(e)), JSON.stringify(metadata));\n }\n }\n else if ('PromiseRejectionEvent' in context && e instanceof context.PromiseRejectionEvent) {\n if (e.reason instanceof Error) {\n return getExceptionMessage(e.reason, [], metadata);\n }\n else {\n let message;\n try {\n message = JSON.stringify(e.reason);\n }\n catch (_) {\n message = String(e.reason);\n }\n return JSException('Unhandled Promise Rejection', message, '[]', JSON.stringify(metadata));\n }\n }\n return null;\n}\nexport default function (app, opts) {\n const options = Object.assign({\n captureExceptions: true,\n }, opts);\n function patchContext(context) {\n function handler(e) {\n const msg = getExceptionMessageFromEvent(e, context);\n if (msg != null) {\n app.send(msg);\n }\n }\n app.attachEventListener(context, 'unhandledrejection', handler);\n app.attachEventListener(context, 'error', handler);\n }\n if (options.captureExceptions) {\n app.observer.attachContextCallback(patchContext); // TODO: attach once-per-iframe (?)\n patchContext(window);\n }\n}\n","import { isURL, IS_FIREFOX, MAX_STR_LEN } from '../utils.js';\nimport { ResourceTiming, SetNodeAttributeURLBased, SetNodeAttribute } from '../app/messages.gen.js';\nimport { hasTag } from '../app/guards.js';\nfunction resolveURL(url, location = document.location) {\n url = url.trim();\n if (url.startsWith('/')) {\n return location.origin + url;\n }\n else if (url.startsWith('http://') ||\n url.startsWith('https://') ||\n url.startsWith('data:') // any other possible value here? https://bugzilla.mozilla.org/show_bug.cgi?id=1758035\n ) {\n return url;\n }\n else {\n return location.origin + location.pathname + url;\n }\n}\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1607081\nfunction isSVGInFireFox(url) {\n return IS_FIREFOX && (url.startsWith('data:image/svg+xml') || url.match(/.svg$|/i));\n}\nconst PLACEHOLDER_SRC = 'https://static.openreplay.com/tracker/placeholder.jpeg';\nexport default function (app) {\n function sendPlaceholder(id, node) {\n app.send(SetNodeAttribute(id, 'src', PLACEHOLDER_SRC));\n const { width, height } = node.getBoundingClientRect();\n if (!node.hasAttribute('width')) {\n app.send(SetNodeAttribute(id, 'width', String(width)));\n }\n if (!node.hasAttribute('height')) {\n app.send(SetNodeAttribute(id, 'height', String(height)));\n }\n }\n const sendSrcset = function (id, img) {\n const { srcset } = img;\n if (!srcset) {\n return;\n }\n const resolvedSrcset = srcset\n .split(',')\n .map((str) => resolveURL(str))\n .join(',');\n app.send(SetNodeAttribute(id, 'srcset', resolvedSrcset));\n };\n const sendSrc = function (id, img) {\n if (img.src.length > MAX_STR_LEN) {\n sendPlaceholder(id, img);\n }\n app.send(SetNodeAttributeURLBased(id, 'src', img.src, app.getBaseHref()));\n };\n const sendImgError = app.safe(function (img) {\n const resolvedSrc = resolveURL(img.src || ''); // Src type is null sometimes. - is it true?\n if (isURL(resolvedSrc)) {\n app.send(ResourceTiming(app.timestamp(), 0, 0, 0, 0, 0, resolvedSrc, 'img'));\n }\n });\n const sendImgAttrs = app.safe(function (img) {\n const id = app.nodes.getID(img);\n if (id === undefined) {\n return;\n }\n if (!img.complete) {\n return;\n }\n if (img.naturalHeight === 0 && img.naturalWidth === 0 && !isSVGInFireFox(img.src)) {\n sendImgError(img);\n }\n else if (app.sanitizer.isHidden(id) || app.sanitizer.isObscured(id)) {\n sendPlaceholder(id, img);\n }\n else {\n sendSrc(id, img);\n sendSrcset(id, img);\n }\n });\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type === 'attributes') {\n const target = mutation.target;\n const id = app.nodes.getID(target);\n if (id === undefined) {\n return;\n }\n if (mutation.attributeName === 'src') {\n sendSrc(id, target);\n }\n if (mutation.attributeName === 'srcset') {\n sendSrcset(id, target);\n }\n }\n }\n });\n app.attachStopCallback(() => {\n observer.disconnect();\n });\n app.nodes.attachNodeCallback((node) => {\n if (!hasTag(node, 'IMG')) {\n return;\n }\n app.nodes.attachNodeListener(node, 'error', () => sendImgError(node));\n app.nodes.attachNodeListener(node, 'load', () => sendImgAttrs(node));\n sendImgAttrs(node);\n observer.observe(node, { attributes: true, attributeFilter: ['src', 'srcset'] });\n });\n}\n","import { normSpaces, IN_BROWSER, getLabelAttribute } from '../utils.js';\nimport { hasTag } from '../app/guards.js';\nimport { SetInputTarget, SetInputValue, SetInputChecked } from '../app/messages.gen.js';\nconst INPUT_TYPES = ['text', 'password', 'email', 'search', 'number', 'range', 'date'];\nfunction isTextEditable(node) {\n if (hasTag(node, 'TEXTAREA')) {\n return true;\n }\n if (!hasTag(node, 'INPUT')) {\n return false;\n }\n return INPUT_TYPES.includes(node.type);\n}\nfunction isCheckable(node) {\n if (!hasTag(node, 'INPUT')) {\n return false;\n }\n const type = node.type;\n return type === 'checkbox' || type === 'radio';\n}\nconst labelElementFor = IN_BROWSER && 'labels' in HTMLInputElement.prototype\n ? (node) => {\n let p = node;\n while ((p = p.parentNode) !== null) {\n if (hasTag(p, 'LABEL')) {\n return p;\n }\n }\n const labels = node.labels;\n if (labels !== null && labels.length === 1) {\n return labels[0];\n }\n }\n : (node) => {\n let p = node;\n while ((p = p.parentNode) !== null) {\n if (hasTag(p, 'LABEL')) {\n return p;\n }\n }\n const id = node.id;\n if (id) {\n const labels = node.ownerDocument.querySelectorAll('label[for=\"' + id + '\"]');\n if (labels !== null && labels.length === 1) {\n return labels[0];\n }\n }\n };\nexport function getInputLabel(node) {\n let label = getLabelAttribute(node);\n if (label === null) {\n const labelElement = labelElementFor(node);\n label =\n (labelElement && labelElement.innerText) ||\n node.placeholder ||\n node.name ||\n node.id ||\n node.className ||\n node.type;\n }\n return normSpaces(label).slice(0, 100);\n}\nexport default function (app, opts) {\n const options = Object.assign({\n obscureInputNumbers: true,\n obscureInputEmails: true,\n defaultInputMode: 0 /* Plain */,\n obscureInputDates: false,\n }, opts);\n function sendInputTarget(id, node) {\n const label = getInputLabel(node);\n if (label !== '') {\n app.send(SetInputTarget(id, label));\n }\n }\n function sendInputValue(id, node) {\n let value = node.value;\n let inputMode = options.defaultInputMode;\n if (node.type === 'password' || app.sanitizer.isHidden(id)) {\n inputMode = 2 /* Hidden */;\n }\n else if (app.sanitizer.isObscured(id) ||\n (inputMode === 0 /* Plain */ &&\n ((options.obscureInputNumbers && node.type !== 'date' && /\\d\\d\\d\\d/.test(value)) ||\n (options.obscureInputDates && node.type === 'date') ||\n (options.obscureInputEmails && (node.type === 'email' || !!~value.indexOf('@')))))) {\n inputMode = 1 /* Obscured */;\n }\n let mask = 0;\n switch (inputMode) {\n case 2 /* Hidden */:\n mask = -1;\n value = '';\n break;\n case 1 /* Obscured */:\n mask = value.length;\n value = '';\n break;\n }\n app.send(SetInputValue(id, value, mask));\n }\n const inputValues = new Map();\n const checkableValues = new Map();\n const registeredTargets = new Set();\n app.attachStopCallback(() => {\n inputValues.clear();\n checkableValues.clear();\n registeredTargets.clear();\n });\n app.ticker.attach(() => {\n inputValues.forEach((value, id) => {\n const node = app.nodes.getNode(id);\n if (!node)\n return;\n if (!isTextEditable(node)) {\n inputValues.delete(id);\n return;\n }\n if (value !== node.value) {\n inputValues.set(id, node.value);\n if (!registeredTargets.has(id)) {\n registeredTargets.add(id);\n sendInputTarget(id, node);\n }\n sendInputValue(id, node);\n }\n });\n checkableValues.forEach((checked, id) => {\n const node = app.nodes.getNode(id);\n if (!node)\n return;\n if (!isCheckable(node)) {\n checkableValues.delete(id);\n return;\n }\n if (checked !== node.checked) {\n checkableValues.set(id, node.checked);\n app.send(SetInputChecked(id, node.checked));\n }\n });\n });\n app.ticker.attach(Set.prototype.clear, 100, false, registeredTargets);\n app.nodes.attachNodeCallback(app.safe((node) => {\n const id = app.nodes.getID(node);\n if (id === undefined) {\n return;\n }\n // TODO: support multiple select (?): use selectedOptions; Need send target?\n if (hasTag(node, 'SELECT')) {\n sendInputValue(id, node);\n app.attachEventListener(node, 'change', () => {\n sendInputValue(id, node);\n });\n }\n if (isTextEditable(node)) {\n inputValues.set(id, node.value);\n sendInputValue(id, node);\n return;\n }\n if (isCheckable(node)) {\n checkableValues.set(id, node.checked);\n app.send(SetInputChecked(id, node.checked));\n return;\n }\n }));\n}\n","import { hasTag, isSVGElement, isDocument } from '../app/guards.js';\nimport { normSpaces, hasOpenreplayAttribute, getLabelAttribute } from '../utils.js';\nimport { MouseMove, MouseClick } from '../app/messages.gen.js';\nimport { getInputLabel } from './input.js';\nfunction _getSelector(target, document) {\n let el = target;\n let selector = null;\n do {\n if (el.id) {\n return `#${el.id}` + (selector ? ` > ${selector}` : '');\n }\n selector =\n el.className\n .split(' ')\n .map((cn) => cn.trim())\n .filter((cn) => cn !== '')\n .reduce((sel, cn) => `${sel}.${cn}`, el.tagName.toLowerCase()) +\n (selector ? ` > ${selector}` : '');\n if (el === document.body) {\n return selector;\n }\n el = el.parentElement;\n } while (el !== document.body && el !== null);\n return selector;\n}\nfunction isClickable(element) {\n const tag = element.tagName.toUpperCase();\n return (tag === 'BUTTON' ||\n tag === 'A' ||\n tag === 'LI' ||\n tag === 'SELECT' ||\n element.onclick != null ||\n element.getAttribute('role') === 'button');\n //|| element.className.includes(\"btn\")\n // MBTODO: intersept addEventListener\n}\n//TODO: fix (typescript is not sure about target variable after assignation of svg)\nfunction getTarget(target, document) {\n if (target instanceof Element) {\n return _getTarget(target, document);\n }\n return null;\n}\nfunction _getTarget(target, document) {\n let element = target;\n while (element !== null && element !== document.documentElement) {\n if (hasOpenreplayAttribute(element, 'masked')) {\n return null;\n }\n element = element.parentElement;\n }\n if (isSVGElement(target)) {\n let owner = target.ownerSVGElement;\n while (owner !== null) {\n target = owner;\n owner = owner.ownerSVGElement;\n }\n }\n element = target;\n while (element !== null && element !== document.documentElement) {\n const tag = element.tagName.toUpperCase();\n if (tag === 'LABEL') {\n return null;\n }\n if (tag === 'INPUT') {\n return element;\n }\n if (isClickable(element) || getLabelAttribute(element) !== null) {\n return element;\n }\n element = element.parentElement;\n }\n return target === document.documentElement ? null : target;\n}\nexport default function (app) {\n function getTargetLabel(target) {\n const dl = getLabelAttribute(target);\n if (dl !== null) {\n return dl;\n }\n if (hasTag(target, 'INPUT')) {\n return getInputLabel(target);\n }\n if (isClickable(target)) {\n let label = '';\n if (target instanceof HTMLElement) {\n label = app.sanitizer.getInnerTextSecure(target);\n }\n label = label || target.id || target.className;\n return normSpaces(label).slice(0, 100);\n }\n return '';\n }\n let mousePositionX = -1;\n let mousePositionY = -1;\n let mousePositionChanged = false;\n let mouseTarget = null;\n let mouseTargetTime = 0;\n let selectorMap = {};\n app.attachStopCallback(() => {\n mousePositionX = -1;\n mousePositionY = -1;\n mousePositionChanged = false;\n mouseTarget = null;\n selectorMap = {};\n });\n const sendMouseMove = () => {\n if (mousePositionChanged) {\n app.send(MouseMove(mousePositionX, mousePositionY));\n mousePositionChanged = false;\n }\n };\n const patchDocument = (document, topframe = false) => {\n function getSelector(id, target) {\n return (selectorMap[id] = selectorMap[id] || _getSelector(target, document));\n }\n const attachListener = topframe\n ? app.attachEventListener.bind(app) // attached/removed on start/stop\n : app.nodes.attachNodeListener.bind(app.nodes); // attached/removed on node register/unregister\n attachListener(document.documentElement, 'mouseover', (e) => {\n const target = getTarget(e.target, document);\n if (target !== mouseTarget) {\n mouseTarget = target;\n mouseTargetTime = performance.now();\n }\n });\n attachListener(document, 'mousemove', (e) => {\n const [left, top] = app.observer.getDocumentOffset(document); // MBTODO?: document-id related message\n mousePositionX = e.clientX + left;\n mousePositionY = e.clientY + top;\n mousePositionChanged = true;\n }, false);\n attachListener(document, 'click', (e) => {\n const target = getTarget(e.target, document);\n if ((!e.clientX && !e.clientY) || target === null) {\n return;\n }\n const id = app.nodes.getID(target);\n if (id !== undefined) {\n sendMouseMove();\n app.send(MouseClick(id, mouseTarget === target ? Math.round(performance.now() - mouseTargetTime) : 0, getTargetLabel(target), getSelector(id, target)), true);\n }\n mouseTarget = null;\n });\n };\n app.nodes.attachNodeCallback((node) => {\n if (isDocument(node)) {\n patchDocument(node);\n }\n });\n patchDocument(document, true);\n app.ticker.attach(sendMouseMove, 10);\n}\n","import { SetViewportScroll, SetNodeScroll } from '../app/messages.gen.js';\nimport { isNode, isElementNode, isRootNode, isDocument } from '../app/guards.js';\nfunction getDocumentScroll(doc) {\n const win = doc.defaultView;\n return [\n (win && win.pageXOffset) ||\n (doc.documentElement && doc.documentElement.scrollLeft) ||\n (doc.body && doc.body.scrollLeft) ||\n 0,\n (win && win.pageYOffset) ||\n (doc.documentElement && doc.documentElement.scrollTop) ||\n (doc.body && doc.body.scrollTop) ||\n 0,\n ];\n}\nexport default function (app) {\n let documentScroll = false;\n const nodeScroll = new Map();\n function setNodeScroll(target) {\n if (!isNode(target)) {\n return;\n }\n if (isElementNode(target)) {\n nodeScroll.set(target, [target.scrollLeft, target.scrollTop]);\n }\n if (isDocument(target)) {\n nodeScroll.set(target, getDocumentScroll(target));\n }\n }\n const sendSetViewportScroll = app.safe(() => app.send(SetViewportScroll(...getDocumentScroll(document))));\n const sendSetNodeScroll = app.safe((s, node) => {\n const id = app.nodes.getID(node);\n if (id !== undefined) {\n app.send(SetNodeScroll(id, s[0], s[1]));\n }\n });\n app.attachStartCallback(sendSetViewportScroll);\n app.attachStopCallback(() => {\n documentScroll = false;\n nodeScroll.clear();\n });\n app.nodes.attachNodeCallback((node, isStart) => {\n // MBTODO: iterate over all the nodes on start instead of using isStart hack\n if (isStart) {\n if (isElementNode(node) && node.scrollLeft + node.scrollTop > 0) {\n nodeScroll.set(node, [node.scrollLeft, node.scrollTop]);\n }\n else if (isDocument(node)) {\n // DRY somehow?\n nodeScroll.set(node, getDocumentScroll(node));\n }\n }\n if (isRootNode(node)) {\n // scroll is not-composed event (https://javascript.info/shadow-dom-events)\n app.nodes.attachNodeListener(node, 'scroll', (e) => {\n setNodeScroll(e.target);\n });\n }\n });\n app.attachEventListener(document, 'scroll', (e) => {\n const target = e.target;\n if (target === document) {\n documentScroll = true;\n return;\n }\n setNodeScroll(target);\n });\n app.ticker.attach(() => {\n if (documentScroll) {\n sendSetViewportScroll();\n documentScroll = false;\n }\n nodeScroll.forEach(sendSetNodeScroll);\n nodeScroll.clear();\n }, 5, false);\n}\n","import { AdoptedSSReplaceURLBased, AdoptedSSInsertRuleURLBased, AdoptedSSAddOwner, AdoptedSSRemoveOwner, } from '../app/messages.gen.js';\nimport { isRootNode } from '../app/guards.js';\nfunction hasAdoptedSS(node) {\n return (isRootNode(node) &&\n // @ts-ignore\n !!node.adoptedStyleSheets);\n}\n// TODO: incapsulate to be init-ed on-start and join with cssrules.ts under one folder\nlet _id = 0xf;\nexport function nextID() {\n return _id++;\n}\nexport const styleSheetIDMap = new Map();\nexport default function (app) {\n if (app === null) {\n return;\n }\n if (!hasAdoptedSS(document)) {\n return;\n }\n const styleSheetIDMap = new Map();\n const adoptedStyleSheetsOwnings = new Map();\n const sendAdoptedStyleSheetsUpdate = (root) => setTimeout(() => {\n let nodeID = app.nodes.getID(root);\n if (root === document) {\n nodeID = 0; // main document doesn't have nodeID. ID count starts from the documentElement\n }\n if (nodeID === undefined) {\n return;\n }\n let pastOwning = adoptedStyleSheetsOwnings.get(nodeID);\n if (!pastOwning) {\n pastOwning = [];\n }\n const nowOwning = [];\n const styleSheets = root.adoptedStyleSheets;\n for (const s of styleSheets) {\n let sheetID = styleSheetIDMap.get(s);\n const init = !sheetID;\n if (!sheetID) {\n sheetID = nextID();\n styleSheetIDMap.set(s, sheetID);\n }\n if (!pastOwning.includes(sheetID)) {\n app.send(AdoptedSSAddOwner(sheetID, nodeID));\n }\n if (init) {\n const rules = s.cssRules;\n for (let i = 0; i < rules.length; i++) {\n app.send(AdoptedSSInsertRuleURLBased(sheetID, rules[i].cssText, i, app.getBaseHref()));\n }\n }\n nowOwning.push(sheetID);\n }\n for (const sheetID of pastOwning) {\n if (!nowOwning.includes(sheetID)) {\n app.send(AdoptedSSRemoveOwner(sheetID, nodeID));\n }\n }\n adoptedStyleSheetsOwnings.set(nodeID, nowOwning);\n }, 20); // Misterious bug:\n /* On the page https://explore.fast.design/components/fast-accordion\n the only rule inside the only adoptedStyleSheet of the iframe-s document\n gets changed during first milliseconds after the load.\n Howerer, none of the documented methods (replace, insertRule) is triggered.\n The rule is not substituted (remains the same object), however the text gets changed.\n */\n function patchAdoptedStyleSheets(prototype) {\n const nativeAdoptedStyleSheetsDescriptor = Object.getOwnPropertyDescriptor(prototype, 'adoptedStyleSheets');\n if (nativeAdoptedStyleSheetsDescriptor) {\n Object.defineProperty(prototype, 'adoptedStyleSheets', Object.assign(Object.assign({}, nativeAdoptedStyleSheetsDescriptor), { set: function (value) {\n // @ts-ignore\n const retVal = nativeAdoptedStyleSheetsDescriptor.set.call(this, value);\n sendAdoptedStyleSheetsUpdate(this);\n return retVal;\n } }));\n }\n }\n const patchContext = (context) => {\n // @ts-ignore\n if (context.__openreplay_adpss_patched__) {\n return;\n }\n else {\n // @ts-ignore\n context.__openreplay_adpss_patched__ = true;\n }\n patchAdoptedStyleSheets(context.Document.prototype);\n patchAdoptedStyleSheets(context.ShadowRoot.prototype);\n //@ts-ignore TODO: upgrade ts to 4.8+\n const { replace, replaceSync } = context.CSSStyleSheet.prototype;\n //@ts-ignore\n context.CSSStyleSheet.prototype.replace = function (text) {\n return replace.call(this, text).then((sheet) => {\n const sheetID = styleSheetIDMap.get(this);\n if (sheetID) {\n app.send(AdoptedSSReplaceURLBased(sheetID, text, app.getBaseHref()));\n }\n return sheet;\n });\n };\n //@ts-ignore\n context.CSSStyleSheet.prototype.replaceSync = function (text) {\n const sheetID = styleSheetIDMap.get(this);\n if (sheetID) {\n app.send(AdoptedSSReplaceURLBased(sheetID, text, app.getBaseHref()));\n }\n return replaceSync.call(this, text);\n };\n };\n patchContext(window);\n app.observer.attachContextCallback(app.safe(patchContext));\n app.attachStopCallback(() => {\n styleSheetIDMap.clear();\n adoptedStyleSheetsOwnings.clear();\n });\n // So far main Document is not triggered with nodeCallbacks\n app.attachStartCallback(() => {\n sendAdoptedStyleSheetsUpdate(document);\n });\n app.nodes.attachNodeCallback((node) => {\n if (hasAdoptedSS(node)) {\n sendAdoptedStyleSheetsUpdate(node);\n }\n });\n}\n","import App, { DEFAULT_INGEST_POINT } from './app/index.js';\nexport { default as App } from './app/index.js';\nimport { UserAnonymousID, RawCustomEvent, CustomIssue } from './app/messages.gen.js';\nimport * as _Messages from './app/messages.gen.js';\nexport const Messages = _Messages;\nexport { SanitizeLevel } from './app/sanitizer.js';\nimport Connection from './modules/connection.js';\nimport Console from './modules/console.js';\nimport Exception, { getExceptionMessageFromEvent, getExceptionMessage, } from './modules/exception.js';\nimport Img from './modules/img.js';\nimport Input from './modules/input.js';\nimport Mouse from './modules/mouse.js';\nimport Timing from './modules/timing.js';\nimport Performance from './modules/performance.js';\nimport Scroll from './modules/scroll.js';\nimport Viewport from './modules/viewport.js';\nimport CSSRules from './modules/cssrules.js';\nimport Focus from './modules/focus.js';\nimport Fonts from './modules/fonts.js';\nimport ConstructedStyleSheets from './modules/constructedStyleSheets.js';\nimport { IN_BROWSER, deprecationWarn, DOCS_HOST } from './utils.js';\nconst DOCS_SETUP = '/installation/setup-or';\nfunction processOptions(obj) {\n if (obj == null) {\n console.error(`OpenReplay: invalid options argument type. Please, check documentation on ${DOCS_HOST}${DOCS_SETUP}`);\n return false;\n }\n if (typeof obj.projectKey !== 'string') {\n if (typeof obj.projectKey !== 'number') {\n if (typeof obj.projectID !== 'number') {\n // Back compatability\n console.error(`OpenReplay: projectKey is missing or wrong type (string is expected). Please, check ${DOCS_HOST}${DOCS_SETUP} for more information.`);\n return false;\n }\n else {\n obj.projectKey = obj.projectID.toString();\n deprecationWarn('`projectID` option', '`projectKey` option', DOCS_SETUP);\n }\n }\n else {\n console.warn('OpenReplay: projectKey is expected to have a string type.');\n obj.projectKey = obj.projectKey.toString();\n }\n }\n if (obj.sessionToken != null) {\n deprecationWarn('`sessionToken` option', '`sessionHash` start() option', '/');\n }\n return true;\n}\nexport default class API {\n constructor(options) {\n this.options = options;\n this.app = null;\n this.handleError = (e, metadata = {}) => {\n if (this.app === null) {\n return;\n }\n if (e instanceof Error) {\n const msg = getExceptionMessage(e, [], metadata);\n this.app.send(msg);\n }\n else if (e instanceof ErrorEvent ||\n ('PromiseRejectionEvent' in window && e instanceof PromiseRejectionEvent)) {\n const msg = getExceptionMessageFromEvent(e, undefined, metadata);\n if (msg != null) {\n this.app.send(msg);\n }\n }\n };\n if (!IN_BROWSER || !processOptions(options)) {\n return;\n }\n if (window.__OPENREPLAY__) {\n console.error('OpenReplay: one tracker instance has been initialised already');\n return;\n }\n if (!options.__DISABLE_SECURE_MODE && location.protocol !== 'https:') {\n console.error('OpenReplay: Your website must be publicly accessible and running on SSL in order for OpenReplay to properly capture and replay the user session. You can disable this check by setting `__DISABLE_SECURE_MODE` option to `true` if you are testing in localhost. Keep in mind, that asset files on a local machine are not available to the outside world. This might affect tracking if you use css files.');\n return;\n }\n const doNotTrack = options.respectDoNotTrack &&\n (navigator.doNotTrack == '1' ||\n // @ts-ignore\n window.doNotTrack == '1');\n const app = (this.app =\n doNotTrack ||\n !('Map' in window) ||\n !('Set' in window) ||\n !('MutationObserver' in window) ||\n !('performance' in window) ||\n !('timing' in performance) ||\n !('startsWith' in String.prototype) ||\n !('Blob' in window) ||\n !('Worker' in window)\n ? null\n : new App(options.projectKey, options.sessionToken, options));\n if (app !== null) {\n Viewport(app);\n CSSRules(app);\n ConstructedStyleSheets(app);\n Connection(app);\n Console(app, options);\n Exception(app, options);\n Img(app);\n Input(app, options);\n Mouse(app);\n Timing(app, options);\n Performance(app, options);\n Scroll(app);\n Focus(app);\n Fonts(app);\n window.__OPENREPLAY__ = this;\n if (options.autoResetOnWindowOpen) {\n const wOpen = window.open;\n app.attachStartCallback(() => {\n // @ts-ignore ?\n window.open = function (...args) {\n app.resetNextPageSession(true);\n wOpen.call(window, ...args);\n app.resetNextPageSession(false);\n };\n });\n app.attachStopCallback(() => {\n window.open = wOpen;\n });\n }\n }\n else {\n console.log(\"OpenReplay: browser doesn't support API required for tracking or doNotTrack is set to 1.\");\n const req = new XMLHttpRequest();\n const orig = options.ingestPoint || DEFAULT_INGEST_POINT;\n req.open('POST', orig + '/v1/web/not-started');\n // no-cors issue only with text/plain or not-set Content-Type\n // req.setRequestHeader(\"Content-Type\", \"application/json;charset=UTF-8\");\n req.send(JSON.stringify({\n trackerVersion: '4.1.11',\n projectKey: options.projectKey,\n doNotTrack,\n // TODO: add precise reason (an exact API missing)\n }));\n }\n }\n use(fn) {\n return fn(this.app, this.options);\n }\n isActive() {\n if (this.app === null) {\n return false;\n }\n return this.app.active();\n }\n start(startOpts) {\n if (!IN_BROWSER) {\n console.error(`OpenReplay: you are trying to start Tracker on a node.js environment. If you want to use OpenReplay with SSR, please, use componentDidMount or useEffect API for placing the \\`tracker.start()\\` line. Check documentation on ${DOCS_HOST}${DOCS_SETUP}`);\n return Promise.reject('Trying to start not in browser.');\n }\n if (this.app === null) {\n return Promise.reject(\"Browser doesn't support required api, or doNotTrack is active.\");\n }\n // TODO: check argument type\n return this.app.start(startOpts);\n }\n stop() {\n if (this.app === null) {\n return;\n }\n this.app.stop();\n return this.app.session.getSessionHash();\n }\n getSessionToken() {\n if (this.app === null) {\n return null;\n }\n return this.app.getSessionToken();\n }\n getSessionID() {\n if (this.app === null) {\n return null;\n }\n return this.app.getSessionID();\n }\n sessionID() {\n deprecationWarn(\"'sessionID' method\", \"'getSessionID' method\", '/');\n return this.getSessionID();\n }\n getSessionURL() {\n if (this.app === null) {\n return undefined;\n }\n return this.app.getSessionURL();\n }\n setUserID(id) {\n if (typeof id === 'string' && this.app !== null) {\n this.app.session.setUserID(id);\n }\n }\n userID(id) {\n deprecationWarn(\"'userID' method\", \"'setUserID' method\", '/');\n this.setUserID(id);\n }\n setUserAnonymousID(id) {\n if (typeof id === 'string' && this.app !== null) {\n this.app.send(UserAnonymousID(id));\n }\n }\n userAnonymousID(id) {\n deprecationWarn(\"'userAnonymousID' method\", \"'setUserAnonymousID' method\", '/');\n this.setUserAnonymousID(id);\n }\n setMetadata(key, value) {\n if (typeof key === 'string' && typeof value === 'string' && this.app !== null) {\n this.app.session.setMetadata(key, value);\n }\n }\n metadata(key, value) {\n deprecationWarn(\"'metadata' method\", \"'setMetadata' method\", '/');\n this.setMetadata(key, value);\n }\n event(key, payload = null, issue = false) {\n if (typeof key === 'string' && this.app !== null) {\n if (issue) {\n return this.issue(key, payload);\n }\n else {\n try {\n payload = JSON.stringify(payload);\n }\n catch (e) {\n return;\n }\n this.app.send(RawCustomEvent(key, payload));\n }\n }\n }\n issue(key, payload = null) {\n if (typeof key === 'string' && this.app !== null) {\n try {\n payload = JSON.stringify(payload);\n }\n catch (e) {\n return;\n }\n this.app.send(CustomIssue(key, payload));\n }\n }\n}\n","import { getTimeOrigin } from '../utils.js';\nimport { SetPageLocation, SetViewportSize, SetPageVisibility } from '../app/messages.gen.js';\nexport default function (app) {\n let url, width, height;\n let navigationStart;\n const sendSetPageLocation = app.safe(() => {\n const { URL } = document;\n if (URL !== url) {\n url = URL;\n app.send(SetPageLocation(url, document.referrer, navigationStart));\n navigationStart = 0;\n }\n });\n const sendSetViewportSize = app.safe(() => {\n const { innerWidth, innerHeight } = window;\n if (innerWidth !== width || innerHeight !== height) {\n width = innerWidth;\n height = innerHeight;\n app.send(SetViewportSize(width, height));\n }\n });\n const sendSetPageVisibility = document.hidden === undefined\n ? Function.prototype\n : app.safe(() => app.send(SetPageVisibility(document.hidden)));\n app.attachStartCallback(() => {\n url = '';\n navigationStart = getTimeOrigin();\n width = height = -1;\n sendSetPageLocation();\n sendSetViewportSize();\n sendSetPageVisibility();\n });\n if (document.hidden !== undefined) {\n app.attachEventListener(document, 'visibilitychange', sendSetPageVisibility, false, false);\n }\n app.ticker.attach(sendSetPageLocation, 1, false);\n app.ticker.attach(sendSetViewportSize, 5, false);\n}\n","import { AdoptedSSInsertRuleURLBased, // TODO: rename to common StyleSheet names\nAdoptedSSDeleteRule, AdoptedSSAddOwner, TechnicalInfo, } from '../app/messages.gen.js';\nimport { hasTag } from '../app/guards.js';\nimport { nextID, styleSheetIDMap } from './constructedStyleSheets.js';\nexport default function (app) {\n if (app === null) {\n return;\n }\n if (!window.CSSStyleSheet) {\n app.send(TechnicalInfo('no_stylesheet_prototype_in_window', ''));\n return;\n }\n const sendInsertDeleteRule = app.safe((sheet, index, rule) => {\n const sheetID = styleSheetIDMap.get(sheet);\n if (!sheetID) {\n // OK-case. Sheet haven't been registered yet. Rules will be sent on registration.\n return;\n }\n if (typeof rule === 'string') {\n app.send(AdoptedSSInsertRuleURLBased(sheetID, rule, index, app.getBaseHref()));\n }\n else {\n app.send(AdoptedSSDeleteRule(sheetID, index));\n }\n });\n // TODO: proper rule insertion/removal (how?)\n const sendReplaceGroupingRule = app.safe((rule) => {\n let topmostRule = rule;\n while (topmostRule.parentRule) {\n topmostRule = topmostRule.parentRule;\n }\n const sheet = topmostRule.parentStyleSheet;\n if (!sheet) {\n app.debug.warn('No parent StyleSheet found for', topmostRule, rule);\n return;\n }\n const sheetID = styleSheetIDMap.get(sheet);\n if (!sheetID) {\n app.debug.warn('No sheedID found for', sheet, styleSheetIDMap);\n return;\n }\n const cssText = topmostRule.cssText;\n const ruleList = sheet.cssRules;\n const idx = Array.from(ruleList).indexOf(topmostRule);\n if (idx >= 0) {\n app.send(AdoptedSSInsertRuleURLBased(sheetID, cssText, idx, app.getBaseHref()));\n app.send(AdoptedSSDeleteRule(sheetID, idx + 1)); // Remove previous clone\n }\n else {\n app.debug.warn('Rule index not found in', sheet, topmostRule);\n }\n });\n const patchContext = app.safe((context) => {\n const { insertRule, deleteRule } = context.CSSStyleSheet.prototype;\n const { insertRule: groupInsertRule, deleteRule: groupDeleteRule } = context.CSSGroupingRule.prototype;\n context.CSSStyleSheet.prototype.insertRule = function (rule, index = 0) {\n sendInsertDeleteRule(this, index, rule);\n return insertRule.call(this, rule, index);\n };\n context.CSSStyleSheet.prototype.deleteRule = function (index) {\n sendInsertDeleteRule(this, index);\n return deleteRule.call(this, index);\n };\n context.CSSGroupingRule.prototype.insertRule = function (rule, index = 0) {\n const result = groupInsertRule.call(this, rule, index);\n sendReplaceGroupingRule(this);\n return result;\n };\n context.CSSGroupingRule.prototype.deleteRule = function (index = 0) {\n const result = groupDeleteRule.call(this, index);\n sendReplaceGroupingRule(this);\n return result;\n };\n });\n patchContext(window);\n app.observer.attachContextCallback(patchContext);\n app.nodes.attachNodeCallback((node) => {\n if (!(hasTag(node, 'STYLE') || hasTag(node, 'style')) || !node.sheet) {\n return;\n }\n if (node.textContent !== null && node.textContent.trim().length > 0) {\n return; // Non-virtual styles captured by the observer as a text\n }\n const nodeID = app.nodes.getID(node);\n if (!nodeID) {\n return;\n }\n const sheet = node.sheet;\n const sheetID = nextID();\n styleSheetIDMap.set(sheet, sheetID);\n app.send(AdoptedSSAddOwner(sheetID, nodeID));\n const rules = sheet.cssRules;\n for (let i = 0; i < rules.length; i++) {\n sendInsertDeleteRule(sheet, i, rules[i].cssText);\n }\n });\n}\n","import { ConnectionInformation } from '../app/messages.gen.js';\nexport default function (app) {\n const connection = navigator.connection ||\n navigator.mozConnection ||\n navigator.webkitConnection;\n if (connection === undefined) {\n return;\n }\n const sendConnectionInformation = () => app.send(ConnectionInformation(Math.round(connection.downlink * 1000), connection.type || 'unknown'));\n sendConnectionInformation();\n connection.addEventListener('change', sendConnectionInformation);\n}\n","import { hasTag } from '../app/guards.js';\nimport { isURL } from '../utils.js';\nimport { ResourceTiming, PageLoadTiming, PageRenderTiming } from '../app/messages.gen.js';\nfunction getPaintBlocks(resources) {\n const paintBlocks = [];\n const elements = document.getElementsByTagName('*');\n const styleURL = /url\\((\"[^\"]*\"|'[^']*'|[^)]*)\\)/i;\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n let src = '';\n if (hasTag(element, 'IMG')) {\n src = element.currentSrc || element.src;\n }\n if (!src) {\n const backgroundImage = getComputedStyle(element).getPropertyValue('background-image');\n if (backgroundImage) {\n const matches = styleURL.exec(backgroundImage);\n if (matches !== null) {\n src = matches[1];\n if (src.startsWith('\"') || src.startsWith(\"'\")) {\n src = src.substr(1, src.length - 2);\n }\n }\n }\n }\n if (!src)\n continue;\n const time = src.substr(0, 10) === 'data:image' ? 0 : resources[src];\n if (time === undefined)\n continue;\n const rect = element.getBoundingClientRect();\n const top = Math.max(rect.top, 0);\n const left = Math.max(rect.left, 0);\n const bottom = Math.min(rect.bottom, window.innerHeight ||\n (document.documentElement && document.documentElement.clientHeight) ||\n 0);\n const right = Math.min(rect.right, window.innerWidth || (document.documentElement && document.documentElement.clientWidth) || 0);\n if (bottom <= top || right <= left)\n continue;\n const area = (bottom - top) * (right - left);\n paintBlocks.push({ time, area });\n }\n return paintBlocks;\n}\nfunction calculateSpeedIndex(firstContentfulPaint, paintBlocks) {\n let a = (Math.max((document.documentElement && document.documentElement.clientWidth) || 0, window.innerWidth || 0) *\n Math.max((document.documentElement && document.documentElement.clientHeight) || 0, window.innerHeight || 0)) /\n 10;\n let s = a * firstContentfulPaint;\n for (let i = 0; i < paintBlocks.length; i++) {\n const { time, area } = paintBlocks[i];\n a += area;\n s += area * (time > firstContentfulPaint ? time : firstContentfulPaint);\n }\n return a === 0 ? 0 : s / a;\n}\nexport default function (app, opts) {\n const options = Object.assign({\n captureResourceTimings: true,\n capturePageLoadTimings: true,\n capturePageRenderTimings: true,\n }, opts);\n if (!('PerformanceObserver' in window)) {\n options.captureResourceTimings = false;\n }\n if (!options.captureResourceTimings) {\n return;\n } // Resources are necessary for all timings\n let resources = {};\n function resourceTiming(entry) {\n if (entry.duration < 0 || !isURL(entry.name) || app.isServiceURL(entry.name))\n return;\n if (resources !== null) {\n resources[entry.name] = entry.startTime + entry.duration;\n }\n app.send(ResourceTiming(entry.startTime + performance.timing.navigationStart, entry.duration, entry.responseStart && entry.startTime ? entry.responseStart - entry.startTime : 0, entry.transferSize > entry.encodedBodySize ? entry.transferSize - entry.encodedBodySize : 0, entry.encodedBodySize || 0, entry.decodedBodySize || 0, entry.name, entry.initiatorType));\n }\n const observer = new PerformanceObserver((list) => list.getEntries().forEach(resourceTiming));\n let prevSessionID;\n app.attachStartCallback(function ({ sessionID }) {\n if (sessionID !== prevSessionID) {\n // Send past page resources on a newly started session\n performance.getEntriesByType('resource').forEach(resourceTiming);\n prevSessionID = sessionID;\n }\n observer.observe({ entryTypes: ['resource'] });\n });\n app.attachStopCallback(function () {\n observer.disconnect();\n });\n let firstPaint = 0, firstContentfulPaint = 0;\n if (options.capturePageLoadTimings) {\n let pageLoadTimingSent = false;\n app.ticker.attach(() => {\n if (pageLoadTimingSent) {\n return;\n }\n if (firstPaint === 0 || firstContentfulPaint === 0) {\n performance.getEntriesByType('paint').forEach((entry) => {\n const { name, startTime } = entry;\n switch (name) {\n case 'first-paint':\n firstPaint = startTime;\n break;\n case 'first-contentful-paint':\n firstContentfulPaint = startTime;\n break;\n }\n });\n }\n if (performance.timing.loadEventEnd || performance.now() > 30000) {\n pageLoadTimingSent = true;\n const { navigationStart, requestStart, responseStart, responseEnd, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd, } = performance.timing;\n app.send(PageLoadTiming(requestStart - navigationStart || 0, responseStart - navigationStart || 0, responseEnd - navigationStart || 0, domContentLoadedEventStart - navigationStart || 0, domContentLoadedEventEnd - navigationStart || 0, loadEventStart - navigationStart || 0, loadEventEnd - navigationStart || 0, firstPaint, firstContentfulPaint));\n }\n }, 30);\n }\n if (options.capturePageRenderTimings) {\n let visuallyComplete = 0, interactiveWindowStartTime = 0, interactiveWindowTickTime = 0, paintBlocks = null;\n let pageRenderTimingSent = false;\n app.ticker.attach(() => {\n if (pageRenderTimingSent) {\n return;\n }\n const time = performance.now();\n if (resources !== null) {\n visuallyComplete = Math.max.apply(null, Object.keys(resources).map((k) => resources[k]));\n if (time - visuallyComplete > 1000) {\n paintBlocks = getPaintBlocks(resources);\n resources = null;\n }\n }\n if (interactiveWindowTickTime !== null) {\n if (time - interactiveWindowTickTime > 50) {\n interactiveWindowStartTime = time;\n }\n interactiveWindowTickTime = time - interactiveWindowStartTime > 5000 ? null : time;\n }\n if ((paintBlocks !== null && interactiveWindowTickTime === null) || time > 30000) {\n pageRenderTimingSent = true;\n resources = null;\n const speedIndex = paintBlocks === null\n ? 0\n : calculateSpeedIndex(firstContentfulPaint || firstPaint, paintBlocks);\n const { domContentLoadedEventEnd, navigationStart } = performance.timing;\n const timeToInteractive = interactiveWindowTickTime === null\n ? Math.max(interactiveWindowStartTime, firstContentfulPaint, domContentLoadedEventEnd - navigationStart || 0)\n : 0;\n app.send(PageRenderTiming(speedIndex, firstContentfulPaint > visuallyComplete ? firstContentfulPaint : visuallyComplete, timeToInteractive));\n }\n });\n }\n}\n","import { isNode, hasTag } from '../app/guards.js';\nimport { SetNodeFocus } from '../app/messages.gen.js';\nexport default function (app) {\n function sendSetNodeFocus(n) {\n const id = app.nodes.getID(n);\n if (id !== undefined) {\n app.send(SetNodeFocus(id));\n }\n }\n let blurred = false;\n app.nodes.attachNodeCallback((node) => {\n if (!hasTag(node, 'BODY')) {\n return;\n }\n app.nodes.attachNodeListener(node, 'focus', (e) => {\n if (!isNode(e.target)) {\n return;\n }\n sendSetNodeFocus(e.target);\n blurred = false;\n });\n app.nodes.attachNodeListener(node, 'blur', (e) => {\n if (e.relatedTarget === null) {\n blurred = true;\n setTimeout(() => {\n if (blurred) {\n app.send(SetNodeFocus(-1));\n }\n }, 0);\n }\n });\n });\n app.attachStartCallback(() => {\n let elem = document.activeElement;\n while (elem && hasTag(elem, 'IFRAME') && elem.contentDocument) {\n elem = elem.contentDocument.activeElement;\n }\n if (elem && elem !== elem.ownerDocument.body) {\n sendSetNodeFocus(elem);\n }\n }, true);\n}\n","import { isDocument } from '../app/guards.js';\nimport { LoadFontFace } from '../app/messages.gen.js';\nexport default function (app) {\n if (!window.FontFace) {\n return;\n }\n const docFonts = new Map();\n const patchWindow = (wnd) => {\n class FontFaceInterceptor extends wnd.FontFace {\n constructor(...args) {\n //maybe do this on load(). In this case check if the document.fonts.load(...) function calls the font's load()\n if (typeof args[1] === 'string') {\n let desc = '';\n if (args[2]) {\n app.safe(() => {\n desc = JSON.stringify(args[2]);\n });\n }\n const ffData = [args[0], args[1], desc];\n const ffDataArr = docFonts.get(wnd.document) || [];\n ffDataArr.push(ffData);\n docFonts.set(wnd.document, ffDataArr);\n const parentID = wnd === window ? 0 : app.nodes.getID(wnd.document);\n if (parentID === undefined) {\n return;\n }\n if (app.active()) {\n app.send(LoadFontFace(parentID, ...ffData));\n }\n }\n super(...args);\n }\n }\n wnd.FontFace = FontFaceInterceptor;\n };\n app.observer.attachContextCallback(patchWindow);\n patchWindow(window);\n app.nodes.attachNodeCallback((node) => {\n if (!isDocument(node)) {\n return;\n }\n const ffDataArr = docFonts.get(node);\n if (!ffDataArr) {\n return;\n }\n const parentID = node.defaultView === window ? 0 : app.nodes.getID(node);\n if (parentID === undefined) {\n return;\n }\n ffDataArr.forEach((ffData) => {\n app.send(LoadFontFace(parentID, ...ffData));\n });\n });\n}\n","import * as i0 from '@angular/core';\nimport { EventEmitter, Injectable, NgModule } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpRequest } from '@angular/common/http';\nimport * as i1$1 from '@ng-idle/core';\nimport { KeepaliveSvc, NgIdleModule } from '@ng-idle/core';\n\n/**\n * An example of an injectable service.\n */\nclass Keepalive extends KeepaliveSvc {\n /*\n * Initializes a new instance of Keepalive\n * @param http - The HTTP service.\n */\n constructor(http, zone) {\n super();\n this.http = http;\n this.zone = zone;\n this.pingInterval = 10 * 60;\n /*\n * An event emitted when the service is pinging.\n */\n this.onPing = new EventEmitter();\n /*\n * An event emitted when the service has pinged an HTTP endpoint and received a response.\n */\n this.onPingResponse = new EventEmitter();\n }\n /*\n * Sets the string or Request that should be used when pinging.\n * @param url - The URL or Request object to use when pinging.\n * @return The current Request used when pinging.\n */\n request(url) {\n if (typeof url === 'string') {\n this.pingRequest = new HttpRequest('GET', url);\n }\n else if (url instanceof HttpRequest) {\n this.pingRequest = url;\n }\n else if (url === null) {\n this.pingRequest = null;\n }\n return this.pingRequest;\n }\n /*\n * Sets the interval (in seconds) at which the ping operation will occur when start() is called.\n * @param seconds - The ping interval in seconds.\n * @return The current interval value.\n */\n interval(seconds) {\n if (!isNaN(seconds) && seconds > 0) {\n this.pingInterval = seconds;\n }\n else if (!isNaN(seconds) && seconds <= 0) {\n throw new Error('Interval value must be greater than zero.');\n }\n return this.pingInterval;\n }\n /*\n * Immediately performs the ping operation. If a request has been set, an HTTP\n * request will be made and the response will be emitted via the\n * onPingResponse event.\n */\n ping() {\n this.onPing.emit(null);\n if (this.pingRequest) {\n this.http.request(this.pingRequest).subscribe((response) => {\n this.onPingResponse.emit(response);\n }, (error) => {\n this.onPingResponse.emit(error);\n });\n }\n }\n /*\n * Starts pinging on an interval.\n */\n start() {\n this.stop();\n this.zone.runOutsideAngular(() => {\n this.pingHandle = setInterval(() => {\n this.zone.run(() => {\n this.ping();\n });\n }, this.pingInterval * 1000);\n });\n }\n /*\n * Stops pinging on an interval.\n */\n stop() {\n if (this.hasPingHandle()) {\n clearInterval(this.pingHandle);\n this.pingHandle = null;\n }\n }\n /*\n * Performs any cleanup tasks when Angular destroys the instance.\n */\n ngOnDestroy() {\n this.stop();\n }\n /*\n * Returns whether or not the service will ping automatically at the specified interval.\n * @return True if the service will ping at the specified interval; otherwise, false.\n */\n isRunning() {\n return this.hasPingHandle();\n }\n hasPingHandle() {\n return this.pingHandle !== null && typeof this.pingHandle !== 'undefined';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Keepalive, deps: [{ token: i1.HttpClient }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Keepalive }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: Keepalive, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.NgZone }]; } });\n\nclass NgIdleKeepaliveModule {\n static forRoot() {\n return {\n ngModule: NgIdleKeepaliveModule,\n providers: [Keepalive, { provide: KeepaliveSvc, useExisting: Keepalive }]\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleKeepaliveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleKeepaliveModule, imports: [i1$1.NgIdleModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleKeepaliveModule, imports: [NgIdleModule.forRoot()] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.2.9\", ngImport: i0, type: NgIdleKeepaliveModule, decorators: [{\n type: NgModule,\n args: [{ imports: [NgIdleModule.forRoot()] }]\n }] });\n\n/*\n * Public API Surface of keepalive\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Keepalive, NgIdleKeepaliveModule };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, Optional, Inject, NgModule, makeEnvironmentProviders } from '@angular/core';\n\nconst GoogleTagManagerConfigService = new InjectionToken('google-tag-manager-config');\n// adapted from https://github.com/auth0/auth0-angular#dynamic-configuration\nclass GoogleTagManagerConfiguration {\n constructor(googleTagManagerConfig) {\n this._googleTagManagerConfig = {\n id: null,\n gtm_auth: '',\n gtm_preview: '',\n };\n if (googleTagManagerConfig) {\n this.set(googleTagManagerConfig);\n }\n }\n set(googleTagManagerConfig) {\n this._googleTagManagerConfig = googleTagManagerConfig;\n }\n get() {\n return this._googleTagManagerConfig;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerConfiguration, deps: [{ token: GoogleTagManagerConfigService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerConfiguration, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerConfiguration, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [GoogleTagManagerConfigService]\n }] }] });\n\nclass GoogleTagManagerModule {\n static forRoot(config) {\n return {\n ngModule: GoogleTagManagerModule,\n providers: [{ provide: GoogleTagManagerConfigService, useValue: config }],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerModule, decorators: [{\n type: NgModule\n }] });\n\nfunction provideGoogleTagManager(config) {\n return makeEnvironmentProviders([\n { provide: 'googleTagManagerId', useValue: config.id },\n { provide: 'googleTagManagerAuth', useValue: config.gtm_auth },\n { provide: 'googleTagManagerPreview', useValue: config.gtm_preview },\n {\n provide: 'googleTagManagerResourcePath',\n useValue: config.gtm_resource_path,\n },\n { provide: 'googleTagManagerCSPNonce', useValue: config.gtm_csp_none },\n { provide: 'googleTagManagerMode', useValue: config.gtm_mode },\n ]);\n}\n\nclass GoogleTagManagerService {\n constructor(googleTagManagerConfiguration, googleTagManagerId, googleTagManagerMode = \"noisy\", googleTagManagerAuth, googleTagManagerPreview, googleTagManagerResourcePath, googleTagManagerCSPNonce) {\n this.googleTagManagerConfiguration = googleTagManagerConfiguration;\n this.googleTagManagerId = googleTagManagerId;\n this.googleTagManagerMode = googleTagManagerMode;\n this.googleTagManagerAuth = googleTagManagerAuth;\n this.googleTagManagerPreview = googleTagManagerPreview;\n this.googleTagManagerResourcePath = googleTagManagerResourcePath;\n this.googleTagManagerCSPNonce = googleTagManagerCSPNonce;\n this.isLoaded = false;\n this.browserGlobals = {\n windowRef() {\n return window;\n },\n documentRef() {\n return document;\n },\n };\n this.config = this.googleTagManagerConfiguration?.get();\n if (this.config == null) {\n this.config = { id: null };\n }\n this.config = {\n ...this.config,\n id: googleTagManagerId || this.config.id,\n gtm_auth: googleTagManagerAuth || this.config.gtm_auth,\n gtm_preview: googleTagManagerPreview || this.config.gtm_preview,\n gtm_resource_path: googleTagManagerResourcePath || this.config.gtm_resource_path,\n };\n if (this.config.id == null) {\n return;\n }\n }\n checkForId() {\n if (this.googleTagManagerMode !== \"silent\" && !this.config.id) {\n throw new Error('Google tag manager ID not provided.');\n }\n else if (!this.config.id) {\n return false;\n }\n return true;\n }\n getDataLayer() {\n this.checkForId();\n const window = this.browserGlobals.windowRef();\n window.dataLayer = window.dataLayer || [];\n return window.dataLayer;\n }\n pushOnDataLayer(obj) {\n this.checkForId();\n const dataLayer = this.getDataLayer();\n dataLayer.push(obj);\n }\n addGtmToDom() {\n return new Promise((resolve, reject) => {\n if (this.isLoaded) {\n return resolve(this.isLoaded);\n }\n else if (!this.checkForId()) {\n return resolve(false);\n }\n const doc = this.browserGlobals.documentRef();\n this.pushOnDataLayer({\n 'gtm.start': new Date().getTime(),\n event: 'gtm.js',\n });\n const gtmScript = doc.createElement('script');\n gtmScript.id = 'GTMscript';\n gtmScript.async = true;\n gtmScript.src = this.applyGtmQueryParams(this.config.gtm_resource_path\n ? this.config.gtm_resource_path\n : 'https://www.googletagmanager.com/gtm.js');\n gtmScript.addEventListener('load', () => {\n return resolve((this.isLoaded = true));\n });\n gtmScript.addEventListener('error', () => {\n return reject(false);\n });\n if (this.googleTagManagerCSPNonce) {\n gtmScript.setAttribute('nonce', this.googleTagManagerCSPNonce);\n }\n doc.head.insertBefore(gtmScript, doc.head.firstChild);\n });\n }\n pushTag(item) {\n return new Promise((resolve, reject) => {\n if (!this.checkForId()) {\n return resolve();\n }\n if (!this.isLoaded) {\n this.addGtmToDom()\n .then(() => {\n this.pushOnDataLayer(item);\n return resolve();\n })\n .catch(() => reject());\n }\n else {\n this.pushOnDataLayer(item);\n return resolve();\n }\n });\n }\n applyGtmQueryParams(url) {\n if (url.indexOf('?') === -1) {\n url += '?';\n }\n return (url +\n Object.keys(this.config)\n .filter((k) => this.config[k])\n .map((k) => `${k}=${this.config[k]}`)\n .join('&'));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerService, deps: [{ token: GoogleTagManagerConfiguration, optional: true }, { token: 'googleTagManagerId', optional: true }, { token: 'googleTagManagerMode', optional: true }, { token: 'googleTagManagerAuth', optional: true }, { token: 'googleTagManagerPreview', optional: true }, { token: 'googleTagManagerResourcePath', optional: true }, { token: 'googleTagManagerCSPNonce', optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"19.0.1\", ngImport: i0, type: GoogleTagManagerService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: GoogleTagManagerConfiguration, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [GoogleTagManagerConfiguration]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerId']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerMode']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerAuth']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerPreview']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerResourcePath']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['googleTagManagerCSPNonce']\n }] }] });\n\n/*\n * Public API Surface of angular-google-tag-manager\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { GoogleTagManagerConfigService, GoogleTagManagerConfiguration, GoogleTagManagerModule, GoogleTagManagerService, provideGoogleTagManager };\n","\n \n\n\n\n
\n
\n
\n \n
\n
\n
\n","import { DOCUMENT } from \"@angular/common\";\nimport { Component, Inject, Renderer2 } from \"@angular/core\";\nimport { Title } from \"@angular/platform-browser\";\nimport { NavigationEnd, NavigationStart } from \"@angular/router\";\nimport { select } from \"@ngrx/store\";\nimport * as _ from \"lodash\";\nimport { AppSelector } from \"./@store/selectors/app.selectors\";\nimport { StsSelectors } from \"./@store/selectors/sts.selectors\";\nimport { MonitoringService } from \"./services/apm.service\";\nimport { filter, take, tap, withLatestFrom, map, mergeAll } from \"rxjs/operators\";\nimport { combineLatest, fromEvent, Observable } from \"rxjs\";\nimport { claimValues, EBodyClass, EPageTitle, GTM_PLACEHOLDER_VALUE } from \"./appsettings\";\nimport { AuthService } from \"./services/auth/auth.service\";\nimport { getRedirectUrl, isPrivateRoute, trimUrl } from \"./utils/common.utils\";\nimport { LoggerService } from \"./services/logger.service\";\nimport { EStorageKeys } from \"./models/storage.model\";\nimport { Idle, DEFAULT_INTERRUPTSOURCES, AutoResume } from \"@ng-idle/core\";\nimport { Keepalive } from \"@ng-idle/keepalive\";\nimport OpenReplay from \"@openreplay/tracker\";\nimport { GoogleTagManagerService } from \"angular-google-tag-manager\";\nimport { AppCommonServices } from \"./app-common.services\";\n\n@Component({\n selector: \"app-root\",\n templateUrl: \"./app.component.html\",\n styleUrls: [\"./app.component.scss\"],\n providers: [MonitoringService],\n})\nexport class AppComponent {\n private prevurl: string;\n private store = this.commonService.store;\n private config = this.commonService.config;\n private router = this.commonService.router;\n private transloco = this.commonService.transloco;\n\n tracker: OpenReplay;\n\n isLangLoading$: Observable;\n imgs = new Array();\n forceMFA$ = this.store.pipe(select(StsSelectors.isMFARequired));\n useNewNav$: Observable = this.store.pipe(select(StsSelectors.useNewNav));\n\n constructor(\n @Inject(DOCUMENT) private document,\n private renderer2: Renderer2,\n private commonService: AppCommonServices,\n private title: Title,\n private auth: AuthService,\n private loggerService: LoggerService,\n private idle: Idle,\n private keepalive: Keepalive,\n private gtmService: GoogleTagManagerService\n ) {\n this.setPageClass(this.renderer2);\n this.setTitle(this.renderer2);\n this._fetchFreshToken();\n\n // enable idleTimer in EE and DK\n this.config.envConfig$\n .pipe(\n filter((v) => !!v),\n take(1),\n withLatestFrom(\n this.store.pipe(select(StsSelectors.isEstoniaInstance)),\n this.store.pipe(select(StsSelectors.useNewUI))\n ),\n tap(([config, isEE, isNewUI]) => {\n if (isEE) {\n const idleTimeTemp = config.eeIdleTimeOutInSeconds || 900;\n const idleTime = Number(idleTimeTemp);\n\n this.loggerService.log({ idleTime });\n this._enableIdleTimer(idleTime);\n }\n\n if (isNewUI) {\n this.subscribeToLangChanges();\n }\n this.setCountries();\n })\n )\n .subscribe();\n\n this.config.envConfig$\n .pipe(\n filter((v) => !!v && v.EnableGoogleTag.toLowerCase() == claimValues.TRUE),\n take(1)\n )\n .subscribe((v) => {\n this.router.events.forEach((item) => {\n if (item instanceof NavigationEnd && this.gtmService.googleTagManagerId != GTM_PLACEHOLDER_VALUE) {\n const gtmTag = {\n event: \"page\",\n pageName: item.url,\n };\n\n this.gtmService.pushTag(gtmTag);\n }\n });\n });\n }\n\n private setCountries() {\n const changes$ = this.transloco.langChanges$;\n const authUrl: string = this.config._envConfig.BaseAuthUrl;\n // if language changes reload country dropdowns with correct active-language http header\n changes$.pipe(tap(async (locale) => await this.config.getCountries(authUrl).toPromise())).subscribe();\n }\n\n signout() {\n this.auth.startSignoutMainWindow();\n }\n\n ngOnInit() {\n this.pload(\"assets/images/spinner.gif\", \"assets/images/activation-link-used.png\", \"assets/images/success-icon.png\");\n\n // enable OpenReplay\n this.store\n .pipe(select(StsSelectors.getUserUserId))\n .pipe(\n withLatestFrom(\n this.config.envConfig$,\n this.store.pipe(select(StsSelectors.getEnableOpenReplay)),\n this.store.pipe(select(StsSelectors.getAppEnvironment))\n ),\n tap(([userId, config, openReplayEnabled, env]) => {\n this.loggerService.log({ config, openReplayEnabled, userId, env });\n if (userId) {\n const { OpenReplayProjectKey, OpenReplayIngestPoint } = config;\n this.loggerService.log({ OpenReplayProjectKey, OpenReplayIngestPoint });\n if (openReplayEnabled) {\n this.tracker = new OpenReplay({\n projectKey: OpenReplayProjectKey,\n ingestPoint: OpenReplayIngestPoint,\n });\n\n this.tracker.start({\n userID: userId,\n metadata: { environment: env },\n });\n } else {\n if (this.tracker?.isActive) {\n this.tracker.stop();\n }\n }\n }\n })\n )\n .subscribe();\n\n setTimeout(() => {\n this.isLangLoading$ = this.store.pipe(select(AppSelector.isLanguageLoading));\n }, 0);\n }\n\n pload(...args: any[]): void {\n for (let i = 0; i < args.length; i++) {\n this.imgs[i] = new Image();\n this.imgs[i].src = args[i];\n }\n }\n\n setTitle(r: Renderer2) {\n combineLatest([\n this.store.pipe(select(StsSelectors.isEstoniaInstance)),\n this.store.pipe(select(StsSelectors.isAppWhiteLabeled)),\n ])\n .pipe(\n take(1),\n tap(([isEETenant, isWhiteLabeled]) => {\n let title = EPageTitle.DEFAULT;\n if (isWhiteLabeled && isEETenant) {\n title = EPageTitle.ESTONIA;\n }\n\n this.title.setTitle(title);\n })\n )\n .subscribe();\n }\n\n setPageClass(r: Renderer2) {\n this.router.events\n .pipe(\n withLatestFrom(this.store.select(StsSelectors.getWhiteLabelName)),\n tap(([event, whiteLabelName]) => {\n // set class based on tenant name\n if (whiteLabelName) {\n r.addClass(document.body, `tenant-${_.kebabCase(whiteLabelName)}`);\n }\n\n // set body class based on route path\n if (event instanceof NavigationStart) {\n if (this.prevurl) {\n r.removeClass(document.body, this.prevurl);\n }\n let currentUrlSlug = _.kebabCase(event.url.slice(1) || \"\");\n if (currentUrlSlug) {\n r.addClass(document.body, currentUrlSlug);\n }\n this.prevurl = currentUrlSlug;\n }\n })\n )\n .subscribe();\n }\n\n private _fetchFreshToken() {\n const referrer = trimUrl(window.document?.referrer);\n const origin = window.location?.host;\n\n this.loggerService.log({ from: referrer, to: origin });\n if (referrer != origin) {\n const redirect = getRedirectUrl();\n const routes = this.router.config;\n const privateRoute = isPrivateRoute(redirect, routes);\n this.loggerService.log(\"Check if redirectURL is private route before calling startSigninMainWindow():\", {\n privateRoute,\n redirect,\n });\n\n if (privateRoute) {\n document.querySelector(\"body\").classList.add(\"signin-redirecting\");\n this.auth.signinRedirectTrigger$.next(true);\n if (redirect) {\n localStorage.setItem(EStorageKeys.REDIRECT_URL, redirect);\n }\n }\n }\n }\n\n private _enableIdleTimer(idleTimerInSeconds: number) {\n this.idle.setIdle(30); // how long can they be inactive before considered idle, in seconds\n this.idle.setTimeout(idleTimerInSeconds); // how long can they be idle before considered timed out, in seconds\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\n this.idle.setAutoResume(AutoResume.idle);\n\n this.idle.onTimeout.subscribe(() => {\n this.loggerService.log({ onTimeout: true });\n this.auth\n .isLoggedInObs()\n .pipe(\n take(1),\n tap((isLoggedIn) => {\n this.loggerService.log({ isLoggedIn });\n if (isLoggedIn) {\n this.auth.startSignoutMainWindow();\n }\n })\n )\n .subscribe();\n });\n this.idle.onIdleStart.subscribe(() => this.loggerService.log(\"You've gone idle!\"));\n this.idle.onTimeoutWarning.subscribe((countdown) =>\n this.loggerService.log(\"You will time out in \" + countdown + \" seconds!\")\n );\n\n this.keepalive.interval(15);\n this.keepalive.onPing.subscribe(() => this.loggerService.log(\"User is idle!\"));\n\n // right when the component initializes, start reset state and start watching\n this.reset();\n }\n\n reset() {\n // we'll call this method when we want to start/reset the idle process\n // reset any component state and be sure to call idle.watch()\n this.idle.watch();\n }\n\n cookieBotDetailToggled = false;\n cookieBotFrame: HTMLIFrameElement;\n\n private createIframes(locale: string) {\n const iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"src\", `/assets/iframe/cookiebot-${locale}.html`);\n iframe.setAttribute(\"data-consent\", \"marketing\");\n iframe.setAttribute(\"data-locale\", locale);\n return iframe;\n }\n\n private subscribeToLangChanges() {\n const changes$ = this.transloco.langChanges$;\n const isCookieBotEnabled = (this.config._envConfig.CookieBotEnabled || \"\").toLowerCase() === \"true\";\n if (!isCookieBotEnabled) return;\n changes$\n .pipe(\n // test if consent has already been given then no need to show again.\n filter(() => !document.cookie.includes(\"CookieConsent\"))\n )\n .subscribe((locale) => {\n if (this.cookieBotFrame?.getAttribute(\"data-locale\") == locale) {\n return false;\n }\n\n if (!document.querySelector(\".cookiebot-iframes\")) {\n // creates the iframe group for each supported locale\n const iFrameContainer: HTMLDivElement = this.document.createElement(\"div\");\n iFrameContainer.classList.add(\"cookiebot-iframes\");\n const availableLocales = this.transloco.getAvailableLangs() as string[];\n availableLocales.forEach((locale: string) => iFrameContainer.appendChild(this.createIframes(locale)));\n this.document.querySelector(\"body\").appendChild(iFrameContainer);\n }\n // hide all visible iframes\n document\n .querySelectorAll(\".cookiebot-iframes iframe\")\n .forEach((el: Element) => el.classList.contains(\"visible\") && el.classList.remove(\"visible\"));\n\n this.cookieBotFrame = document.querySelector(`.cookiebot-iframes [data-locale='${locale}']`);\n\n if (this.cookieBotFrame) {\n this.cookieBotFrame.contentWindow.location.reload();\n const expandElementSelector =\n \"#CybotCookiebotDialogBodyEdgeMoreDetailsLink, #CybotCookiebotDialogBodyLevelButtonCustomize\";\n // waits for iframe to be ready, then waits for the document object to load, then wait for cookiebot to be displayed\n const onIframeReady = fromEvent(this.cookieBotFrame, \"load\").pipe(\n map(() =>\n fromEvent(this.cookieBotFrame.contentWindow, \"load\").pipe(\n map(() => fromEvent(this.cookieBotFrame.contentWindow, \"CookiebotOnDialogDisplay\"))\n )\n )\n );\n const onMoreDetails = onIframeReady.pipe(\n mergeAll(),\n map(() =>\n fromEvent(this.cookieBotFrame.contentWindow.document.querySelectorAll(expandElementSelector), \"click\")\n )\n );\n const onAcceptClick = onIframeReady.pipe(\n mergeAll(),\n map(() => fromEvent(this.cookieBotFrame.contentWindow, \"CookiebotOnAccept\"))\n );\n const onDeclineClick = onIframeReady.pipe(\n mergeAll(),\n map(() => fromEvent(this.cookieBotFrame.contentWindow, \"CookiebotOnDecline\"))\n );\n // hide the active iframe once the user accepts.\n onAcceptClick.pipe(mergeAll()).subscribe(() => {\n this.cookieBotFrame.classList.remove(\"visible\");\n });\n // hide the active iframe once the user declines.\n onDeclineClick.pipe(mergeAll()).subscribe(() => {\n this.cookieBotFrame.classList.remove(\"visible\");\n });\n // expand theh container height when more info is toggled\n onMoreDetails.pipe(mergeAll()).subscribe(() => {\n this.cookieBotFrame.style.height = \"70vh\";\n this.cookieBotDetailToggled = true;\n });\n //show only relevant cookiebot popup\n onIframeReady.pipe(mergeAll()).subscribe(() => {\n if (this.cookieBotDetailToggled)\n this.cookieBotFrame.contentWindow.document\n .getElementById(\"CybotCookiebotDialogBodyEdgeMoreDetailsLink\")\n .click();\n this.cookieBotFrame.classList.add(\"visible\");\n });\n }\n });\n }\n}\n","
\n
\n \"Ouch!\"\n
\n
\n \n {{ t(\"ouchText\") }}\n \n \n {{ t(\"noAccessMessage\") }}\n \n
\n
\n \n
\n
\n","import { Component } from \"@angular/core\";\nimport { AuthService } from \"src/app/services/auth/auth.service\";\n\n@Component({\n selector: \"app-unauthorized\",\n templateUrl: \"./unauthorized.component.html\",\n styleUrls: [\"./unauthorized.component.scss\"],\n})\nexport class UnauthorizedComponent {\n constructor(private auth: AuthService) {}\n logout() {\n this.auth.startSignoutMainWindow();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UnauthorizedComponent } from '../modules/shared/unauthorized/unauthorized.component';\nimport { ToastrService } from 'ngx-toastr';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorHandlerService {\n\n constructor(\n private readonly matDialog: MatDialog,\n public readonly toastrService: ToastrService,\n ) { }\n\n handleError(error: any): void {\n // Log the error\n console.error(\"HTTP Error:\", error);\n\n // Handle specific HTTP status codes\n if (error.status === 401) {\n this.handleUnauthorized();\n } else if (error.status === 403) {\n this.handleForbidden();\n } else if (error.status === 404) {\n this.handleNotFound(error.error);\n } else if (error.status >= 500) {\n this.handleServerError(error.error);\n } else {\n this.handleGenericError(error.error);\n }\n }\n\n private handleNotFound(error: any): void {\n this.toastrService.error(error.message, 'Resource not found.', { timeOut: 5000 });\n }\n\n private handleServerError(error: any): void {\n this.toastrService.error(error.message, 'Server error occurred.', { timeOut: 5000 });\n }\n\n private handleGenericError(error: any): void {\n this.toastrService.error(error.message, 'An unexpected error occurred.', { timeOut: 5000 });\n }\n\n protected handleUnauthorized(): void {\n this.matDialog.open(UnauthorizedComponent, { disableClose: true });\n }\n\n protected handleForbidden(): void {\n this.matDialog.open(UnauthorizedComponent, { disableClose: true });\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from \"@angular/common/http\";\nimport { EMPTY, Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { UnauthorizedComponent } from \"src/app/modules/shared/unauthorized/unauthorized.component\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { ApiService } from \"../../api/api.service\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { ErrorHandlerService } from \"../../error-handler.service\";\nimport { isNewErrorSchema } from \"src/app/utils/is-new-error-schema\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class TokenInterceptor implements HttpInterceptor {\n private session = [];\n private localSession = [];\n constructor(\n private dialog: MatDialog,\n private transloco: TranslocoService,\n private api: ApiService,\n private readonly errorHandlerService: ErrorHandlerService,\n ) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n this.session = Object.keys(sessionStorage);\n let user = null;\n let tokenJson = null;\n\n if (this.session.length) {\n user = this.session.find((key) => key.indexOf(\"oidc.user:\") > -1);\n\n if (user) tokenJson = JSON.parse(sessionStorage.getItem(user));\n }\n\n if (user == null) {\n // refer to local storage when session was not found\n // used to transfer session\n this.localSession = Object.keys(localStorage);\n\n if (this.localSession.length) {\n user = this.localSession.find((key) => key.indexOf(\"session-transfer\") > -1);\n\n if (user) {\n const userSessionToken = JSON.parse(localStorage.getItem(user));\n tokenJson = {\n access_token: userSessionToken.accessToken,\n token_type: \"Bearer\",\n };\n }\n }\n }\n\n request = request?.clone({\n // withCredentials: true,\n setHeaders: {\n Authorization: tokenJson ? `${tokenJson.token_type} ${tokenJson.access_token}` : \"\",\n \"Accept-Language\": this.getActiveLanguage(),\n },\n });\n\n return next.handle(request).pipe(\n catchError((error) => {\n if (isNewErrorSchema(error.error)) {\n this.errorHandlerService.handleError(error);\n return EMPTY;\n } else if (error.status === 401 || error.status === 403) {\n setTimeout(() => {\n this.dialog.open(UnauthorizedComponent, { disableClose: true });\n console.log(error.status);\n }, 1050);\n }\n return throwError(error);\n })\n );\n }\n\n private getActiveLanguage(): string {\n let activeLang = this.transloco.getActiveLang().toLowerCase();\n return this.api.formatAcceptLanguage(activeLang);\n }\n}\n","export function isNewErrorSchema(inputError: any): boolean {\n return (\n typeof inputError === 'object' &&\n inputError !== null &&\n 'success' in inputError &&\n 'message' in inputError &&\n 'data' in inputError &&\n 'errorCode' in inputError &&\n 'errors' in inputError\n );\n}\n","/**\n * @license Angular v17.3.12\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, AnimationMetadataType, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\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\n .map((err) => err.message)\n .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\n .map((err) => err.message)\n .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\n .map((err) => err.message)\n .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\n .map((err) => err.message)\n .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\n .map((err) => err.message)\n .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\n .map((err) => err.message)\n .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 * 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\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(normalizer, 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 = 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}\nconst documentElement = /* @__PURE__ */ (() => typeof document === 'undefined' ? null : document.documentElement)();\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host || null; // consider host to support shadow DOM\n if (parent === documentElement) {\n return null;\n }\n return parent;\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}\nfunction containsElement(elm1, elm2) {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n}\nfunction invokeQuery(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}\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 * @publicApi\n *\n * `AnimationDriver` implentation for Noop animations\n */\nclass NoopAnimationDriver {\n /**\n * @returns Whether `prop` is a valid CSS property\n */\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n /**\n * @deprecated unused\n */\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n /**\n *\n * @returns Whether elm1 contains elm2.\n */\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n /**\n * @returns Rhe parent of the given element or `null` if the element is the `document`\n */\n getParentElement(element) {\n return getParentElement(element);\n }\n /**\n * @returns The result of the query selector on the element. The array will contain up to 1 item\n * if `multi` is `false`.\n */\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n /**\n * @returns The `defaultValue` or empty string\n */\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n /**\n * @returns An `NoopAnimationPlayer`\n */\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationDriver }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n /**\n * @deprecated Use the NoopAnimationDriver class.\n */\n static { this.NOOP = new NoopAnimationDriver(); }\n}\n\nclass AnimationStyleNormalizer {\n}\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\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 normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map((kf) => new Map(Object.entries(kf)));\n}\nfunction normalizeStyles(styles) {\n return Array.isArray(styles) ? new Map(...styles) : new Map(styles);\n}\nfunction setStyles(element, styles, formerStyles) {\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}\nfunction eraseStyles(element, styles) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\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}`;\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}\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 AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case 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\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\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings\n .filter(Boolean)\n .map((warning) => warning)\n .join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\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\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue\n .split(/\\s*,\\s*/)\n .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 return;\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\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, [\n ...context.unsupportedCSSPropertiesFound.keys(),\n ]);\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 == AnimationMetadataType.State) {\n const stateDef = def;\n const name = stateDef.name;\n name\n .toString()\n .split(/\\s*,\\s*/)\n .forEach((n) => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 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: 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 context.errors.push(invalidState(metadata.name, [...missingSubs.values()]));\n }\n }\n return {\n type: 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: 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: 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: 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\n ? metadata.styles\n : style({});\n if (styleMetadata.type == 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: 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(new Map(Object.entries(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: 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 &&\n 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: 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: 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: AnimationMetadataType.AnimateChild,\n options: normalizeAnimationOptions(metadata.options),\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 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 = parentSelector.length\n ? parentSelector + ' ' + selector\n : 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: 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: 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)\n ? true\n : 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\n .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 ? { ...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 = { ...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\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.\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 = 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 == 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\n ? interpolateParams(strValue, context.params, context.errors)\n : 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 == 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 === 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) {\n // 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 =\n limit < 0\n ? 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.easing = null;\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 = new Map([...this._backFill, ...keyframe]);\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.values()];\n const postProps = [...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 = new Map(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = new Map(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 = new Map(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 ??= allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n }\n else {\n for (let [prop, val] of token) {\n styles.set(prop, val);\n }\n }\n });\n return styles;\n}\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 return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, [...queriedElements.values()], 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 allowedNonAnimatableProps = new Set([\n // 'easing' is a utility/synthetic prop we use to represent\n // easing functions, it represents a property of the animation\n // which is not animatable but different values can be used\n // in different steps\n 'easing',\n ]);\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({ keyframes }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach((keyframe) => {\n const entriesToCheck = Array.from(keyframe.entries()).filter(([prop]) => !allowedNonAnimatableProps.has(prop));\n for (const [prop, value] of entriesToCheck) {\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: ' +\n Array.from(invalidNonAnimatableProps).join(', ') +\n '\\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 = { ...defaults };\n Object.entries(userParams).forEach(([key, value]) => {\n if (value != null) {\n result[key] = value;\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 = applyParamDefaults(params, this.defaultParams);\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(prop, 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: AnimationMetadataType.Sequence, steps: [], options: null };\n const transition = {\n type: 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\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._normalizer, 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\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 get params() {\n return this.options.params;\n }\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 // we drop the value property from options.\n const { value, ...options } = input;\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\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({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition,\n });\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\n ? engine.playersByQueriedElement.get(element)\n : [];\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}\nclass TransitionAnimationEngine {\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n constructor(bodyNode, driver, _normalizer, scheduler) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.scheduler = scheduler;\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 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 this.afterFlush(() => { });\n this.afterFlushAnimationsDone(() => {\n const ns = this._fetchNamespace(namespaceId);\n this.namespacesByHostElement.delete(ns.hostElement);\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n ns.destroy(context);\n delete this._namespaceLookup[namespaceId];\n });\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, context) {\n if (isElementNode(element)) {\n this.scheduler?.notify();\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 const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\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\n .query(element, STAR_SELECTOR, true)\n .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([...(post?.entries() ?? []), ...(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 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\n ? undefined\n : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition\n ? undefined\n : 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).map((p) => p.getRealPlayer())).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._normalizer, 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.parentPlayer = null;\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)) {\n // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) {\n // ngIf inside ngIf\n root = NULL_NODE;\n }\n else {\n // 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(doc, _driver, _normalizer, scheduler) {\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(doc.body, _driver, _normalizer, scheduler);\n this._timelineEngine = new TimelineAnimationEngine(doc.body, _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) {\n this._transitionEngine.removeNode(namespaceId, element, 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, ...this._timelineEngine.players];\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n afterFlushAnimationsDone(cb) {\n this._transitionEngine.afterFlushAnimationsDone(cb);\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) : 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 static { this.initialStylesByElement = new WeakMap(); }\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}\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 // @ts-expect-error overwriting a readonly property\n this.domPlayer = this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n const onFinish = () => this._onFinish();\n this.domPlayer.addEventListener('finish', onFinish);\n this.onDestroy(() => {\n // We must remove the `finish` event listener once an animation has completed all its\n // iterations. This action is necessary to prevent a memory leak since the listener captures\n // `this`, creating a closure that prevents `this` from being garbage collected.\n this.domPlayer.removeEventListener('finish', onFinish);\n });\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 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 // tsc is complaining with TS2362 without the conversion to number\n return +(this.domPlayer.currentTime ?? 0) / 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 computeStyle(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) => new Map(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\n\nfunction createEngine(type, doc, scheduler) {\n // TODO: find a way to make this tree shakable.\n if (type === 'noop') {\n return new AnimationEngine(doc, new NoopAnimationDriver(), new NoopAnimationStyleNormalizer(), scheduler);\n }\n return new AnimationEngine(doc, new WebAnimationsDriver(), new WebAnimationsStyleNormalizer(), scheduler);\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)\n ? normalizeStyles(startingStyles)\n : startingStyles;\n const dest = Array.isArray(destinationStyles)\n ? 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\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\nclass BaseAnimationRenderer {\n constructor(namespaceId, delegate, engine, _onDestroy) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this._onDestroy = _onDestroy;\n // We need to explicitly type this property because of an api-extractor bug\n // See https://github.com/microsoft/rushstack/issues/4390\n this.ɵtype = 0 /* AnimationRendererType.Regular */;\n }\n get data() {\n return this.delegate.data;\n }\n destroyNode(node) {\n this.delegate.destroyNode?.(node);\n }\n destroy() {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.engine.afterFlushAnimationsDone(() => {\n // Call the renderer destroy method after the animations has finished as otherwise\n // styles will be removed too early which will cause an unstyled animation.\n queueMicrotask(() => {\n this.delegate.destroy();\n });\n });\n this._onDestroy?.();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n insertBefore(parent, newChild, refChild, isMove = true) {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback) {\n return this.delegate.listen(target, eventName, callback);\n }\n disableAnimations(element, value) {\n this.engine.disableAnimations(element, value);\n }\n}\nclass AnimationRenderer extends BaseAnimationRenderer {\n constructor(factory, namespaceId, delegate, engine, onDestroy) {\n super(namespaceId, delegate, engine, onDestroy);\n this.factory = factory;\n this.namespaceId = namespaceId;\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value);\n }\n else {\n this.engine.process(this.namespaceId, el, name.slice(1), value);\n }\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n }\n listen(target, eventName, callback) {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, (event) => {\n const countId = event['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\nfunction parseTriggerCallbackName(triggerName) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.slice(dotIndex + 1);\n return [trigger, phase];\n}\n\nclass AnimationRendererFactory {\n constructor(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n this._currentId = 0;\n this._microtaskId = 1;\n this._animationCallbacksBuffer = [];\n this._rendererCache = new Map();\n this._cdRecurDepth = 0;\n engine.onRemovalComplete = (element, delegate) => {\n // Note: if a component element has a leave animation, and a host leave animation,\n // the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n const parentNode = delegate?.parentNode(element);\n if (parentNode) {\n delegate.removeChild(parentNode, element);\n }\n };\n }\n createRenderer(hostElement, type) {\n const EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type?.data?.['animation']) {\n const cache = this._rendererCache;\n let renderer = cache.get(delegate);\n if (!renderer) {\n // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => cache.delete(delegate);\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\n // only cache this result when the base renderer is used\n cache.set(delegate, renderer);\n }\n return renderer;\n }\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n const registerTrigger = (trigger) => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n }\n else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'];\n animationTriggers.forEach(registerTrigger);\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n _scheduleCountTask() {\n queueMicrotask(() => {\n this._microtaskId++;\n });\n }\n /** @internal */\n scheduleListenerCallback(count, fn, data) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n const animationCallbacksBuffer = this._animationCallbacksBuffer;\n if (animationCallbacksBuffer.length == 0) {\n queueMicrotask(() => {\n this._zone.run(() => {\n animationCallbacksBuffer.forEach((tuple) => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n animationCallbacksBuffer.push([fn, data]);\n }\n end() {\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n whenRenderingDone() {\n return this.engine.whenRenderingDone();\n }\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, NoopAnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, BaseAnimationRenderer as ɵBaseAnimationRenderer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, camelCaseToDashCase as ɵcamelCaseToDashCase, containsElement as ɵcontainsElement, createEngine as ɵcreateEngine, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty, validateWebAnimatableStyleProperty as ɵvalidateWebAnimatableStyleProperty };\n","/**\n * @license Angular v17.3.12\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { inject, ɵChangeDetectionScheduler, Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule, ɵperformanceMarkFeature } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationRendererFactory, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, NoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\n\nclass InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer) {\n super(doc, driver, normalizer, inject(ɵChangeDetectionScheduler, { optional: true }));\n }\n ngOnDestroy() {\n this.flush();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: InjectableAnimationEngine, deps: [{ token: DOCUMENT }, { token: i1.AnimationDriver }, { token: i1.ɵAnimationStyleNormalizer }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: InjectableAnimationEngine }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: InjectableAnimationEngine, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.AnimationDriver }, { type: i1.ɵAnimationStyleNormalizer }] });\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [\n { provide: ɵAnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer },\n { provide: ɵAnimationEngine, useClass: InjectableAnimationEngine }, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n }\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useFactory: () => new ɵWebAnimationsDriver() },\n { provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations' }, ...SHARED_ANIMATION_PROVIDERS\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useClass: NoopAnimationDriver },\n { provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations' }, ...SHARED_ANIMATION_PROVIDERS\n];\n\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nclass BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS :\n BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: BrowserAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"17.3.12\", ngImport: i0, type: BrowserAnimationsModule, exports: [BrowserModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: BrowserAnimationsModule, providers: BROWSER_ANIMATIONS_PROVIDERS, imports: [BrowserModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: BrowserAnimationsModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n }]\n }] });\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n ɵperformanceMarkFeature('NgEagerAnimations');\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nclass NoopAnimationsModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationsModule, exports: [BrowserModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationsModule, providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS, imports: [BrowserModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.12\", ngImport: i0, type: NoopAnimationsModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n }]\n }] });\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ForgotPasswordComponent } from \"./forgot-password/forgot-password.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\n@NgModule({\n declarations: [ForgotPasswordComponent],\n imports: [CommonModule, SharedModule, FormsModule, ReactiveFormsModule],\n providers: [{ provide: Window, useValue: window }],\n})\nexport class ForgotPasswordModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DeleteAccountComponent } from \"./delete-account.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\n\n@NgModule({\n declarations: [DeleteAccountComponent],\n imports: [CommonModule, SharedModule, MatProgressSpinnerModule],\n})\nexport class DeleteAccountModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TermsOfUseMobileComponent } from \"./terms-of-use-mobile.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n declarations: [TermsOfUseMobileComponent],\n imports: [CommonModule, SharedModule],\n exports: [TermsOfUseMobileComponent],\n})\nexport class TermsOfUseMobileModule {}\n","import { createReducer, on } from \"@ngrx/store\";\nimport { HeaderActions } from \"../actions/header.actions\";\n\nexport const headerFeatureKey = \"header\";\n\nexport interface State {\n visible: boolean;\n}\n\nexport const initialState: State = {\n visible: true,\n};\n\nexport const reducer = createReducer(\n initialState,\n on(HeaderActions.setVisibility, (state, { visible }) => ({\n ...state,\n visible,\n }))\n);\n","import { InjectionToken } from \"@angular/core\";\nimport { ActionReducer, ActionReducerMap, MetaReducer } from \"@ngrx/store\";\nimport { StoreService } from \"src/app/services/store.service\";\n\nimport * as STSReducer from \"./sts.reducer\";\nimport * as ProfileReducer from \"./profile.reducer\";\nimport * as AppReducer from \"./app.reducer\";\nimport * as RegisterProfileReducer from \"./register-profile.reducer\";\nimport * as RegistrationReducer from \"./registration.reducer\";\nimport * as TaraRegisterProfileReducer from \"./tara-register-profile.reducer\";\nimport * as HeaderReducer from \"./header.reducer\";\nimport * as DKMFAResetReducer from \"../dk-mfa-reset/dk-mfa-reset.reducer\";\nimport { legalDocumentFeatureKey, legalDocumentsReducer } from \"../legal-documents/legal-documents.store\";\nimport { LegalDocumentStateInterface } from \"src/app/interfaces/legal-document-state.interface\";\n\nexport interface AppState {\n [AppReducer.appFeatureKey]: AppReducer.State;\n [STSReducer.stsFeatureKey]: STSReducer.State;\n [ProfileReducer.profileFeatureKey]: ProfileReducer.State;\n [RegisterProfileReducer.featureKey]: RegisterProfileReducer.State;\n [RegistrationReducer.registrationFeatureKey]: RegistrationReducer.State;\n [TaraRegisterProfileReducer.featureKey]: TaraRegisterProfileReducer.State;\n [HeaderReducer.headerFeatureKey]: HeaderReducer.State;\n [DKMFAResetReducer.dkMfaResetFeatureKey]: DKMFAResetReducer.State;\n [legalDocumentFeatureKey]: LegalDocumentStateInterface;\n}\n\nexport const reducers: ActionReducerMap = {\n app: AppReducer.reducer,\n sts: STSReducer.reducer,\n profile: ProfileReducer.reducer,\n registerProfile: RegisterProfileReducer.reducer,\n registration: RegistrationReducer.reducer,\n taraRegisterProfile: TaraRegisterProfileReducer.reducer,\n [HeaderReducer.headerFeatureKey]: HeaderReducer.reducer,\n dkMfaReset: DKMFAResetReducer.reducer,\n [legalDocumentFeatureKey]: legalDocumentsReducer,\n};\n\n/** log all actions */\nexport const REDUCER_TOKEN = new InjectionToken>(\"Registered Reducers\");\n\nexport function getReducers(s: StoreService) {\n return s.getReducers();\n}\n","import { Injectable } from \"@angular/core\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { select, Store } from \"@ngrx/store\";\nimport { of } from \"rxjs\";\nimport { catchError, map, switchMap, tap, withLatestFrom } from \"rxjs/operators\";\nimport { Consents, ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { AccountsService } from \"src/app/services/accounts/accounts.service\";\nimport { ProfileActions } from \"../actions/profile.actions\";\nimport { ProfileSelectors } from \"../selectors/profile.selectors\";\nimport { StsSelectors } from \"../selectors/sts.selectors\";\nimport { registerProfile } from \"../selectors/register-profile.selectors\";\nimport { claimTypes } from \"src/app/appsettings\";\n\nconst residenceCountryCodeKey = \"residenceCountryCode\";\nfunction storageAvailable(type) {\n let storage;\n try {\n storage = window[type];\n let x = \"__storage_test__\";\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n } catch (e) {\n return (\n e instanceof DOMException &&\n (e.code === 22 ||\n e.code === 1014 ||\n e.name === \"QuotaExceededError\" ||\n e.name === \"NS_ERROR_DOM_QUOTA_REACHED\") &&\n storage &&\n storage.length !== 0\n );\n }\n}\n\nfunction saveToStorage(key: string, value: string) {\n if (storageAvailable(\"sessionStorage\")) {\n sessionStorage.setItem(key, value);\n }\n}\n\nfunction getFromStorage(key: string): string {\n if (storageAvailable(\"sessionStorage\")) {\n return sessionStorage.getItem(key);\n } else {\n return undefined;\n }\n}\n\nfunction removeFromStorage(key: string) {\n if (storageAvailable(\"sessionStorage\")) {\n return sessionStorage.removeItem(key);\n }\n}\n\nfunction stringToBoolean(v: boolean | string): boolean {\n if (typeof v == \"boolean\") {\n return v;\n }\n return v && v.toLocaleLowerCase() === \"true\";\n}\n\n@Injectable()\nexport class ProfileEffects {\n constructor(\n private actions$: Actions,\n private store: Store,\n private acc: AccountsService\n // private auth: AuthService\n ) {\n this.store.dispatch(ProfileActions.restoreResidence({ countryCode: getFromStorage(residenceCountryCodeKey) }));\n }\n\n saveResidenceCountryCode$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.setResidence),\n tap(({ countryCode }) => {\n saveToStorage(residenceCountryCodeKey, countryCode);\n }),\n catchError((error, caught) => {\n console.error(\"Failed to save code\", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n removeStoredResidence$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.removeStoredResidence),\n tap(() => removeFromStorage(residenceCountryCodeKey)),\n catchError((error, caught) => {\n console.error(\"Failed to clear code\", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n getProfile$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.getProfile),\n withLatestFrom(this.store.pipe(select(StsSelectors.getUserInfo))),\n switchMap(([action, user]) => {\n if (user) {\n return this.acc.get(user.userId);\n } else {\n return of([]);\n }\n }),\n map((x) => {\n const data = x.reduce((a, v) => ({ ...a, [v.claimType]: v.claimValue }), {});\n this.store.dispatch(ProfileActions.getProfileSuccess({ data }));\n }),\n catchError((error, caught) => {\n console.error(\"Error: \", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n getConsents$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.getConsent),\n switchMap((action) => this.acc.getConsent(action.synlabId, action.categoryName)),\n withLatestFrom(this.store.pipe(select(ProfileSelectors.getConsentsPayload))),\n map(([consents, payload]: [Consents[], ConsentsPayload[]]) => {\n if (consents) {\n return consents?.map((d) => {\n // check if there's existing payload, it means the user have already interacted and we only need translation locales\n let x = payload?.find((p) => p.ConsentId == d.consentId).Allowed;\n return { ...d, allowed: x === undefined ? (d.allowed ? stringToBoolean(d.allowed) : false) : x };\n });\n }\n }),\n tap((c) => {\n this.store.dispatch(ProfileActions.getConsentSuccess({ data: c }));\n }),\n catchError((error, caught) => {\n this.store.dispatch(ProfileActions.getConsentFailed({ error: error }));\n console.error(\"Error: \", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n getConsentSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ProfileActions.getConsentSuccess),\n withLatestFrom(this.store.select(StsSelectors.getWhiteLabelName), this.store.select(registerProfile)),\n switchMap(([action, tenant, claims]) => {\n if (tenant === \"fi\") {\n const emailAddress: string = claims?.find((c) => c.claimType == claimTypes.EMAIL)?.claimValue;\n if (emailAddress) {\n return this.acc.checkIfMarketingConsentIsChecked(emailAddress);\n }\n }\n return of(false);\n }),\n tap((c) => this.store.dispatch(ProfileActions.getMarketingConsentsCheckedSuccess({ value: c }))),\n catchError((error, caught) => {\n console.error(\"Error: \", error);\n return caught;\n })\n ),\n { dispatch: false }\n );\n}\n","import { Injectable } from \"@angular/core\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { createEffect } from \"@ngrx/effects\";\nimport { map } from \"rxjs/operators\";\nimport { AppActions } from \"src/app/@store/actions/app.actions\";\n@Injectable()\nexport class AppEffects {\n constructor(private transloco: TranslocoService) {}\n setAppLanguage$ = createEffect(() =>\n this.transloco.langChanges$.pipe(map((language) => AppActions.setActiveLanguage({ language })))\n );\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { select, Store } from \"@ngrx/store\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { forkJoin, merge, of, throwError } from \"rxjs\";\nimport { catchError, map, mergeAll, switchMap, take, tap, withLatestFrom } from \"rxjs/operators\";\nimport { queryParamKey, ACCOUNT_ACTIVATION, AUTH_METHOD, userTypes, WEBREQ_ADMIN_USER_TYPES, BOOKING_ADMIN_USER_TYPES } from \"src/app/appsettings\";\nimport { EAuthenticationType } from \"src/app/component-modules/registerv2/register-mfa-sms/register-mfa-sms.component\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { generalScopeKey, twoFactorAuthenticatorScopeKey } from \"src/app/services/i18n/i18n.service\";\nimport { RegisterActions } from \"../actions/registration.actions\";\nimport { AppState } from \"../reducers\";\nimport { IClaim } from \"../reducers/registration.reducer\";\nimport { StsSelectors } from \"../selectors/sts.selectors\";\nimport { getErrorMessage } from \"src/app/utils/error.util\";\nimport { RegisterProfileApiService } from \"src/app/services/register-profile-api/register-profile-api.service\";\nimport { RegistrationSelectors } from \"../selectors/registration.selectors\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\nconst translationKey = \"taraEmailNotificationComponent\";\n\n@Injectable()\nexport class RegistrationEffects {\n bookingUrl$ = this._store.pipe(select(StsSelectors.getBaseBookingUrl));\n plasmaUrl$ = this._store.pipe(select(StsSelectors.getBasePlasmaUrl));\n bookingAdminUrl$ = this._store.pipe(select(StsSelectors.getBookingAdminUrl));\n webreqAdminUrl$ = this._store.pipe(select(StsSelectors.getWebreqAdminUrl));\n isCZTenant$ = this._store.pipe(select(StsSelectors.isCzechRepublic));\n isFITenant$ = this._store.pipe(select(StsSelectors.isFITenant));\n isPatient$ = this._store.select(RegistrationSelectors.getRegistrationIsPatient);\n registrationUserType$ = this._store.select(RegistrationSelectors.getRegistrationUserType);\n isForBooking$ = this._activatedRoute.queryParamMap.pipe(\n map((x) => {\n const isForBookingQuery = x.get(\"isForBooking\");\n return typeof isForBookingQuery === \"string\" && isForBookingQuery.trim().toLowerCase() === \"true\";\n })\n );\n paramMap$ = this._activatedRoute.queryParamMap;\n userId$ = this.paramMap$.pipe(map((x) => x.get(queryParamKey.USER_ID)));\n\n constructor(\n private _actions$: Actions,\n private _api: ApiService,\n private _store: Store,\n private _router: Router,\n private _activatedRoute: ActivatedRoute,\n private _transloco: TranslocoService,\n private _toastr: ToastrService,\n private configService: ConfigService,\n private registerProfileApi: RegisterProfileApiService,\n ) {}\n\n loadRegistrationClaims$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.loadRegistrationClaims),\n switchMap(({ id, seqId }) => {\n return this._api.get(\"/manage/accounts/complete_profile\", {\n id,\n seqId,\n sequenceId: seqId,\n });\n }),\n tap((n) => {\n const claims = this.getClaimsAsObject(n);\n this._store.dispatch(RegisterActions.loadRegistrationClaimSuccess({ claims }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.loadRegistrationClaimFailed({ error }));\n return of(null);\n })\n ),\n { dispatch: false }\n );\n\n loadExistsRegistrationClaims$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.loadExistingUserClaims),\n switchMap((action) => this.registerProfileApi.getPtExisitngProfile(action.userid)),\n tap((n) => {\n const claims = this.getClaimsAsObject(n);\n this._store.dispatch(RegisterActions.loadRegistrationClaimSuccess({ claims }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.loadRegistrationClaimFailed({ error }));\n return of(null);\n })\n ),\n { dispatch: false }\n );\n\n loadExternalAuthProviders$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.loadExternalAuthProviders),\n switchMap(() => this._api.get(\"/manage/externalauthproviders\")),\n tap((items) => {\n this._store.dispatch(RegisterActions.loadExternalAuthProviderSuccess({ items }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.loadExternalAuthProviderFailed({ error }));\n return of(null);\n })\n ),\n { dispatch: false }\n );\n\n setUserPassword$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.setUserPassword),\n switchMap(({ payload, regId }) =>\n this._api.put(`/manage/accounts/set_authentication_provider?id=${regId}`, payload).pipe(map((n) => regId))\n ),\n tap((id) => {\n this.bookingUrl$.pipe(\n withLatestFrom(\n this.isPatient$,\n this.isCZTenant$,\n this.isFITenant$,\n this.plasmaUrl$,\n this.bookingAdminUrl$,\n this.webreqAdminUrl$,\n this.registrationUserType$\n ),\n take(1)\n )\n .subscribe(([bookingUrl, isPatient, isCZ, isFi, basePlasmaUrl, bookingAdminUrl, webreqAdminUrl, userType]) => {\n let arrUserType: string[] = Array.isArray(userType) ? userType : userType?.split(',');\n arrUserType = arrUserType ?? [];\n\n const isWebreqAdmin =\n arrUserType?.filter(role => WEBREQ_ADMIN_USER_TYPES.includes(role as any)).length > 0;\n const isBookingAdmin =\n arrUserType?.filter(role => BOOKING_ADMIN_USER_TYPES.includes(role as any)).length > 0;\n\n if (isCZ) {\n window.location.href = basePlasmaUrl;\n } else if (isFi && isBookingAdmin) {\n window.location.href = bookingAdminUrl;\n } else if (isFi && isWebreqAdmin) {\n window.location.href = webreqAdminUrl;\n } else if (bookingUrl && isPatient) {\n let isTara = false;\n this._store.select('registerProfile').pipe(take(1)).subscribe(registerProfile => {\n registerProfile.registerProfile.forEach(claim => {\n if (claim?.claimType === 'authentication_provider' && claim?.claimValue?.toLowerCase() === 'tara') {\n isTara = true;\n }\n });\n });\n if (isTara) {\n window.location.href = bookingUrl;\n } else {\n window.location.href = this.configService.baseAuthUrl;\n }\n } else {\n this._router.navigate([\"registrationv2\", \"success\"], { queryParams: { id } });\n }\n });\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.setUserPasswordFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n loadTaraUserInfo$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.loadTaraUserInfo),\n switchMap(({ userId }) =>\n this._api.get(`/manage/accounts/tara-user-information/${userId}`).pipe(map((n) => n?.email))\n ),\n tap((email) => this._store.dispatch(RegisterActions.loadTaraUserInfoSuccess({ email }))),\n catchError((error) => {\n this._store.dispatch(RegisterActions.loadTaraUserInfoFailed({ error }));\n this.redirect(error);\n\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n taraResendEmailActivation$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.taraResendEmailActivation),\n switchMap(({ userId }) => this._api.put(`/manage/accounts/tara-resend-invitation/${userId}`)),\n tap(() => {\n this._store.dispatch(RegisterActions.taraResendEmailActivationSuccess());\n\n const title = this.translate(generalScopeKey, \"successTitle\");\n const message = this.translate(translationKey, \"resendEMailActivationLinkSuccess\");\n\n this._toastr.success(message, title);\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.taraResendEmailActivationFailed({ error }));\n this.redirect(error);\n\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n activateUserAccount$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.activateUserAccount),\n switchMap(({ userId, accountType }) => {\n const isTelia: boolean = accountType == AUTH_METHOD.TELIA;\n const authMethod: string = isTelia ? AUTH_METHOD.TELIA : AUTH_METHOD.TARA;\n return this._api.put(`/manage/accounts/${authMethod}-activate-user/${userId}`);\n }),\n tap((value) => {\n this.navigate(ACCOUNT_ACTIVATION.EMAIL_VERIFIED);\n this._store.dispatch(RegisterActions.activateTaraUserSuccess({ activated: true }));\n }),\n catchError((error) => {\n this.navigate(ACCOUNT_ACTIVATION.VERIFICATION_FAILED);\n this._store.dispatch(RegisterActions.activateTaraUserFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n updatePhoneNumber$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.updatePhoneNumber),\n switchMap(({ payload }) =>\n this._api.put(`/manage/accounts/change_phone`, payload).pipe(\n map((n) => ({\n phone: payload?.phone,\n result: n,\n }))\n )\n ),\n tap(({ phone }) => {\n this._store.dispatch(RegisterActions.updatePhoneNumberSuccess({ phone }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.updatePhoneNumberFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n updatePhoneNumberFailure$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.updatePhoneNumberFailed),\n tap(({ error }) => this._toastr.error(getErrorMessage(error)))\n ),\n { dispatch: false }\n );\n\n verifyPhoneNumber$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.verifyPhoneNumber),\n switchMap(({ payload }) => this._api.put(`/manage/accounts/verify_phone`, payload)),\n tap((success: boolean) => {\n this._store.dispatch(RegisterActions.verifyPhoneNumberSuccess({ success }));\n }),\n catchError((error) => {\n this._store.dispatch(RegisterActions.verifyPhoneNumberFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n verifyPhoneNumberSuccess$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.verifyPhoneNumberSuccess),\n map(({ success }) => {\n if (success) {\n const m = this._transloco.translate(`${twoFactorAuthenticatorScopeKey}.mobileNumberVerified`);\n this._toastr.success(m);\n } else {\n const h = this._transloco.translate(`${generalScopeKey}.errorOccuredTitle`);\n const m = this._transloco.translate(`${twoFactorAuthenticatorScopeKey}.invalidTokenMessage`);\n this._toastr.error(m, h);\n }\n })\n ),\n { dispatch: false }\n );\n\n enableMFA$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFA),\n switchMap(({ payload }) =>\n this._api.put(`/manage/accounts/set_two_factor_authentication`, payload).pipe(\n map((n) => ({\n result: n,\n type: payload.twoFactorProvider,\n }))\n )\n ),\n tap((r) =>\n this._store.dispatch(\n RegisterActions.enableMFASuccess({\n data: r.result,\n authType: r.type,\n })\n )\n ),\n catchError((error) => {\n this._store.dispatch(RegisterActions.enableMFAFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n enableMFASuccess$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFASuccess),\n map(({ data, authType }) => {\n if (authType == EAuthenticationType.AUTHENTICATOR) {\n this._store.dispatch(RegisterActions.setAuthenticatorAppData({ data }));\n }\n })\n ),\n { dispatch: false }\n );\n\n enableMFAVerify$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFAVerify),\n switchMap(({ payload }) =>\n this._api.put(`/manage/accounts/verify_two_factor_authentication`, payload).pipe(\n map((n: boolean) => ({\n result: n,\n type: payload.tokenProvider,\n }))\n )\n ),\n tap((data) => this._store.dispatch(RegisterActions.enableMFAVerifySuccess({ data: data }))),\n catchError((error) => {\n this._store.dispatch(RegisterActions.enableMFAVerifyFailed({ error }));\n return throwError(error);\n })\n ),\n { dispatch: false }\n );\n\n enableMFAVerifySuccess$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFAVerifySuccess),\n withLatestFrom(this.userId$, this.bookingUrl$),\n map(([{ data }, userid, bookingUrl]) => {\n if (data.result) {\n // show success message\n const m = this._transloco.translate(`${twoFactorAuthenticatorScopeKey}.twoFaSuccessText`);\n this._toastr.success(m);\n //redirect to booking pt-ee user\n if (userid) {\n window.location.assign(bookingUrl);\n }\n } else {\n // show error message\n const h = this._transloco.translate(`${generalScopeKey}.errorOccuredTitle`);\n const m = this._transloco.translate(`${twoFactorAuthenticatorScopeKey}.invalidTokenMessage`);\n\n this._toastr.error(m, h);\n }\n })\n ),\n { dispatch: false }\n );\n\n enableMFAVerifyFailed$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(RegisterActions.enableMFAVerifyFailed),\n map(({ error }) => {\n const message = error?.error?.ErrorMessage;\n const title = this._transloco.translate(`${generalScopeKey}.errorOccuredTitle`);\n this._toastr.error(message, title);\n })\n ),\n { dispatch: false }\n );\n\n getClaimsAsObject(claims: IClaim[]) {\n return claims.reduce((a, v) => ({ ...a, [v.claimType]: v.claimValue }), {});\n }\n\n translate(scope: string, key: string): string {\n return this._transloco.translate(`${scope}.${key}`);\n }\n\n redirect(e: HttpErrorResponse) {\n let activated: boolean = false;\n const message: string = e.error?.message || e.error?.ErrorMessage;\n if (message?.toLowerCase() == \"user is already activated\") {\n activated = true;\n }\n\n if (activated) {\n return this.navigate(ACCOUNT_ACTIVATION.EMAIL_ACTIVATED);\n }\n return this.navigate(ACCOUNT_ACTIVATION.VERIFICATION_FAILED);\n }\n\n navigate(status: ACCOUNT_ACTIVATION) {\n this._router.navigate([\"registration\", \"account_activation\"], {\n queryParams: { status },\n });\n }\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { Store } from \"@ngrx/store\";\nimport { merge, of } from \"rxjs\";\nimport { catchError, map, mergeMap, switchMap, withLatestFrom, tap } from \"rxjs/operators\";\nimport * as RegisterProfileActions from \"src/app/@store/actions/register-profile.actions\";\nimport { AUTH_METHOD, claimTypes, claimValues, queryParamKey, whiteLabelNames } from \"src/app/appsettings\";\nimport { RegisterProfileApiService } from \"src/app/services/register-profile-api/register-profile-api.service\";\nimport { getErrorMessage } from \"src/app/utils/error.util\";\nimport { AppState } from \"../reducers\";\nimport { StsSelectors } from \"../selectors/sts.selectors\";\nimport { EStorageKeys } from \"src/app/models/storage.model\";\n@Injectable()\nexport class RegisterProfileEffects {\n private isFinland$ = this.store.select(StsSelectors.isFITenant);\n\n constructor(\n private actions$: Actions,\n private registerProfileApi: RegisterProfileApiService,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private store: Store\n ) {}\n loadRegisterProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.loadRegisterProfile),\n mergeMap(({ regId, seqId, bankId }) => {\n if (bankId) {\n return this.registerProfileApi.getRegisterProfileForCzechRepublic(bankId);\n }\n return this.registerProfileApi.getRegisterProfile(regId, seqId);\n }),\n map((claims) => RegisterProfileActions.loadRegisterProfileSuccess({ data: claims })),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(of(RegisterProfileActions.loadRegisterProfileFailure({ error: msg, errorObject: error })), caught);\n })\n )\n );\n\n loadExistingPTProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.loadExistingPTProfile),\n mergeMap((action) => this.registerProfileApi.getPtExisitngProfile(action.userId)),\n withLatestFrom(this.isFinland$),\n map(([claims, isFinland]) => {\n if (isFinland) {\n // we need to update query params, for finland, no userId supplied in the url, so we need to update query string to add userid\n const userIdEncoded: string = btoa(\n claims.find((claim) => claim.claimType == claimTypes.USERID)?.claimValue || \"\"\n );\n\n this.router.navigate([], {\n relativeTo: this.activatedRoute,\n queryParams: { [queryParamKey.USER_ID]: userIdEncoded },\n queryParamsHandling: \"merge\",\n });\n }\n\n return RegisterProfileActions.loadExistingPTProfileSuccess({ data: claims });\n }),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(\n RegisterProfileActions.loadExistingPTProfileFailure({\n error: msg,\n errorObject: error,\n })\n ),\n caught\n );\n })\n )\n );\n\n submitRegisterProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.submitRegisterProfile),\n mergeMap((action) =>\n this.registerProfileApi\n .submitRegisterProfile(action.regId, action.data)\n .pipe(map((res) => [res, action] as const))\n ),\n switchMap(([res, action]) =>\n this.registerProfileApi.updateConsents(action.consents, action.synlabId, action.seqId)\n ),\n map(() => RegisterProfileActions.submitRegisterProfileSuccess()),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(RegisterProfileActions.submitRegisterProfileFailure({ error: msg, errorObject: error })),\n caught\n );\n })\n )\n );\n\n updatePtExisitingProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.updatePtExistingProfile),\n withLatestFrom(this.isFinland$),\n mergeMap(([action, isFinland]) => {\n const tenant: string = isFinland ? whiteLabelNames.FINLAND : \"\";\n return this.registerProfileApi.updatePtExistingProfile(action.userId, action.data, tenant).pipe(\n withLatestFrom(this.store.select(StsSelectors.getBaseBookingUrl)),\n tap(([result, bookingUrl]) => {\n if (isFinland) {\n if (bookingUrl) {\n window.location.assign(bookingUrl);\n }\n\n const { returnUrl } = result as any;\n localStorage.setItem(EStorageKeys.REGISTER_REDIRECT_URL, returnUrl);\n }\n }),\n map((res) => [res, action] as const)\n );\n }),\n switchMap(([res, action]) =>\n this.registerProfileApi.updateConsents(action.consents, action.synlabId, action.seqId)\n ),\n map(() => RegisterProfileActions.updatePtExistingProfileSuccess()),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(RegisterProfileActions.updatePtExistingProfileFailure({ error: msg, errorObject: error })),\n caught\n );\n })\n )\n );\n\n signupToTaraCLicked$ = createEffect(() =>\n this.actions$.pipe(\n ofType(RegisterProfileActions.signupToTaraClicked),\n mergeMap((action) => this.registerProfileApi.rollBackUser(action.userId)),\n map(() => RegisterProfileActions.signupToTaraClickedSuccess()),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(\n RegisterProfileActions.signupToTaraClickedFailure({\n error: msg,\n errorObject: error,\n })\n ),\n caught\n );\n })\n )\n );\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { TaraUserRegisterGetResponse, TaraUserRegisterUpdateResponse } from \"src/app/models/tara-user.model\";\nimport { ConsentsPayload } from \"src/app/pages/index/pages/notification-settings/notification.model\";\nimport { Claim } from \"src/app/services/accounts/accounts.model\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { ApiService } from \"../api/api.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class TaraRegisterProfileApiService {\n private readonly taraRegisterGetEndpoint = \"/manage/accounts/tara-register-user\";\n private readonly taraRegisterUpdateEndpoint = \"/manage/accounts/tara-create-user\";\n\n constructor(\n private http: HttpClient,\n private config: ConfigService,\n private api: ApiService\n ) {}\n getRegisterProfile(regId: string): Observable {\n return this.http.get(\n `${this.config.baseAuthUrl}${this.taraRegisterGetEndpoint}/${regId}`\n );\n }\n\n submitRegisterProfile(\n taraUniqueId: string,\n claims: Claim[],\n hasEmail?: boolean,\n userId?: string\n ): Observable {\n if (hasEmail) {\n return this.api.put(\n `${this.taraRegisterUpdateEndpoint}?taraUniqueId=${taraUniqueId}&userId=${userId}`,\n claims\n );\n }\n return this.api.post(`${this.taraRegisterUpdateEndpoint}/${taraUniqueId}`, claims);\n }\n\n updateConsents(consents: ConsentsPayload[], userId: string) {\n return this.api.put(`/api/consent/tarauser/${userId}`, consents);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { TaraMigrateRequest } from \"src/app/models/tara-migrate.model\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class TaraMigrateApiService {\n private readonly taraResultMigrateEndpoint = \"/api/migration-requests/result\";\n private readonly taraOrderMigrateEndpoint = \"/api/migration-requests/order\";\n constructor(\n private http: HttpClient,\n private config: ConfigService\n ) {}\n migrateResults(request: TaraMigrateRequest): Observable {\n return this.http.post(`${this.config.baseAccountUrl}${this.taraResultMigrateEndpoint}`, request, { responseType: 'text' });\n }\n migrateOrders(request: TaraMigrateRequest): Observable {\n return this.http.post(`${this.config.baseAccountUrl}${this.taraOrderMigrateEndpoint}`, request, { responseType: 'text' });\n }\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { firstValueFrom, merge, of, throwError } from \"rxjs\";\nimport { mergeMap, map, catchError, filter, tap, switchMap } from \"rxjs/operators\";\nimport { getErrorMessage } from \"src/app/utils/error.util\";\nimport * as TaraRegisterProfileActions from \"src/app/@store/actions/tara-register-profile.actions\";\nimport { TaraRegisterProfileApiService } from \"src/app/services/tara-register-profile-api/tara-register-profile-api.service\";\nimport { CheckIfTrueString, getClaimValueWithType } from \"src/app/services/accounts/accounts.model\";\nimport { claimTypes } from \"src/app/appsettings\";\nimport { TaraMigrateApiService } from \"src/app/services/tara-migrate-api/tara-migrate-api.service\";\nimport { TaraMigrateRequest } from \"src/app/models/tara-migrate.model\";\nimport { Router } from \"@angular/router\";\n\n@Injectable()\nexport class TaraRegisterProfileEffects {\n constructor(\n private actions$: Actions,\n private taraRegisterProfileApi: TaraRegisterProfileApiService,\n private taraMigrateApi: TaraMigrateApiService,\n private _router: Router\n ) {}\n loadRegisterProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(TaraRegisterProfileActions.loadRegisterProfile),\n mergeMap((action) => this.taraRegisterProfileApi.getRegisterProfile(action.regId)),\n map((claims) => TaraRegisterProfileActions.loadRegisterProfileSuccess({ data: claims })),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(\n TaraRegisterProfileActions.loadRegisterProfileFailure({\n error: msg,\n errorObject: error,\n })\n ),\n caught\n );\n })\n )\n );\n\n submitRegisterProfile$ = createEffect(() =>\n this.actions$.pipe(\n ofType(TaraRegisterProfileActions.submitRegisterProfile),\n mergeMap((action) =>\n this.taraRegisterProfileApi\n .submitRegisterProfile(action.regId, action.data, action.hasEmail, action.userId)\n .pipe(map((res) => [res, action] as const))\n ),\n switchMap(([response, action]) =>\n this.taraRegisterProfileApi\n .updateConsents(action.consents, response.userId)\n .pipe(map((res) => [response, action.data, res] as const))\n ),\n switchMap(([response, claims, res]) => {\n const body: TaraMigrateRequest = {\n Ssn: getClaimValueWithType(claimTypes.SSN, claims),\n Email: getClaimValueWithType(claimTypes.EMAIL, claims),\n SynlabId: response.synlabId,\n CreatedDate: new Date().toISOString(),\n };\n\n console.log(\"tara-register-profile: Starting tara orders migration.\");\n\n return this.taraMigrateApi.migrateOrders(body)\n .pipe(\n tap((response) => {\n console.log(\"Sent migration request: Orders.\", response);\n }),\n map(() => [response, claims, res]),\n catchError((error) => {\n console.warn(\"Failed to send migration request: Orders.\", error);\n return throwError(() => new Error(\"Failed to send migration request: Orders.\"));\n })\n );\n }),\n switchMap(([response, claims, res]) => {\n const body: TaraMigrateRequest = {\n Ssn: getClaimValueWithType(claimTypes.SSN, claims),\n Email: getClaimValueWithType(claimTypes.EMAIL, claims),\n SynlabId: response.synlabId,\n CreatedDate: new Date().toISOString(),\n };\n\n console.log(\"tara-register-profile: Starting tara results migration.\");\n\n return this.taraMigrateApi.migrateResults(body)\n .pipe(\n tap((response) => {\n console.log(\"Sent migration request: results.\", response);\n }),\n map(() => [response, claims, res]),\n catchError((error) => {\n console.warn(\"Failed to send migration request: results.\", error);\n return throwError(() => new Error(\"Failed to send migration request: results.\"));\n })\n );\n }),\n map(([response, claims, res]) => TaraRegisterProfileActions.submitRegisterProfileSuccess({ response, claims })),\n catchError((error: HttpErrorResponse, caught) => {\n const msg = getErrorMessage(error);\n return merge(\n of(TaraRegisterProfileActions.submitRegisterProfileFailure({ error: msg, errorObject: error })),\n caught\n );\n })\n )\n );\n\n /** no success or failure codes. as implemented in complete-profile */\n migrate$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(TaraRegisterProfileActions.submitRegisterProfileSuccess),\n filter((action) => CheckIfTrueString(getClaimValueWithType(claimTypes.EE_MIGRATION_ACCEPTED, action.claims))),\n tap(async (action) => {\n // const body: TaraMigrateRequest = {\n // Ssn: getClaimValueWithType(claimTypes.SSN, action.claims),\n // Email: getClaimValueWithType(claimTypes.EMAIL, action.claims),\n // SynlabId: action.response.synlabId,\n // CreatedDate: new Date().toISOString(),\n // };\n\n // console.log(\"tara-register-profile: Starting tara migration.\");\n\n // try {\n // const request = this.taraMigrateApi.migrateOrders(body);\n // const response = await firstValueFrom(request);\n // console.log(\"Sent migration request: Orders.\", response);\n // } catch (error) {\n // console.warn(\"Failed to send migration request: Orders.\", error);\n // }\n\n // try {\n // const request = this.taraMigrateApi.migrateResults(body);\n // const response = await firstValueFrom(request);\n // console.log(\"Sent migration request: results.\", response);\n // } catch (error) {\n // console.warn(\"Failed to send migration request: results.\", error);\n // }\n })\n ),\n { dispatch: false }\n );\n\n // check if = true, if true, redirect to \"A verification link has been sent page\"\n loadRegisterProfileSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(TaraRegisterProfileActions.loadRegisterProfileSuccess),\n map(({ data }) => {\n if (data?.registrationDone) {\n this._router.navigate([\"/account\", \"profile\"]);\n // this._router.navigate([\"registration\", \"update_tara\"], {\n // queryParams: { id: data?.userId },\n // });\n }\n })\n ),\n { dispatch: false }\n );\n}\n","import { Injectable } from \"@angular/core\";\nimport { ApiService } from \"../api/api.service\";\n\nexport interface CountryInfo {\n countryName: string;\n cultureCode: string;\n isSupported: boolean;\n ssnMaskCode: string;\n ssnRegex: string;\n twoLetterCountryCode: string;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CountryService {\n constructor(private apiService: ApiService) {}\n\n public async getByCode(code: string): Promise {\n return this.apiService.get(`/manage/country/code/${code}`).toPromise();\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { from, of } from \"rxjs\";\nimport { switchMap, map, catchError, withLatestFrom, delay } from \"rxjs/operators\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { STSActions } from \"../actions/sts.actions\";\nimport { CountryService } from \"src/app/services/country/country.service\";\nimport { select, Store } from \"@ngrx/store\";\nimport { AppState } from \"../reducers\";\nimport { StsSelectors } from \"../selectors/sts.selectors\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { claimValues } from \"src/app/appsettings\";\n\n@Injectable()\nexport class StsEffects {\n constructor(\n private actions$: Actions,\n private countryService: CountryService,\n private store: Store,\n private api: ApiService\n ) {}\n\n loadCountry$ = createEffect(() =>\n this.actions$.pipe(\n ofType(STSActions.loadCountry),\n switchMap(({ code }) =>\n from(this.countryService.getByCode(code)).pipe(\n map((country) => STSActions.loadCountrySuccess({ payload: country })),\n catchError(async () => STSActions.loadCountryFailed())\n )\n )\n )\n );\n\n fetchGeneplanetHasOrders = createEffect(() =>\n this.actions$.pipe(\n ofType(STSActions.fetchHasGeneplanetOrders),\n delay(3000),\n withLatestFrom(\n this.store.pipe(select(StsSelectors.getSynlabId)),\n this.store.pipe(select(StsSelectors.isSynlabAccessUser)),\n this.store.pipe(select(StsSelectors.getAccountsBaseUrl))\n ),\n switchMap(([action, synlabId, isSAuser, baseUrl]) => {\n if (synlabId && isSAuser) {\n return this.api.getHttp(`${baseUrl}/api/results/ee-has-gp-result/${synlabId}`).pipe(\n map((response) => `${response}`.toLowerCase() == claimValues.TRUE),\n catchError(() => of(false))\n );\n }\n return of(null);\n }),\n map((result) => STSActions.setHasGeneplanetOrders({ hasOrders: result }))\n )\n );\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { TranslocoService } from \"@ngneat/transloco\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { select, Store } from \"@ngrx/store\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { auditTime, catchError, map, switchMap, withLatestFrom } from \"rxjs/operators\";\nimport { ApiService } from \"src/app/services/api/api.service\";\nimport { IClaim } from \"src/app/view/dk-mfa-reset/enum-dk-mfa\";\nimport { AppState } from \"../reducers\";\nimport { DkMfaResetAction } from \"./dk-mfa-reset.actions\";\nimport { DKMFAResetSelector } from \"./dk-mfa-reset.selectors\";\n\n@Injectable()\nexport class DkMfaResetEffects {\n phone$ = this._st.pipe(select(DKMFAResetSelector.getPhone));\n\n constructor(\n private actions$: Actions,\n private _api: ApiService,\n private _st: Store,\n private _tostr: ToastrService,\n private _rt: Router,\n private _lang: TranslocoService\n ) {}\n\n validateMFAResetLink$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.validateMFAResetLink),\n switchMap(({ payload }) => this._api.get(\"/manage/accounts/mfa_reset_isvalid\", payload)),\n map((res) => {\n this._st.dispatch(DkMfaResetAction.validateMFAResetLinkSuccess({ value: res }));\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.validateMFAResetLinkFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n getMFAResetClaims$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.getMFAResetClaims),\n auditTime(120),\n switchMap(({ params }) => this._api.get(\"/manage/accounts/mfa_reset_info\", params)),\n map((res: IClaim[]) => {\n const claims = res.reduce((a, v) => ({ ...a, [v.claimType]: v.claimValue }), {});\n this._st.dispatch(DkMfaResetAction.getMFAResetClaimsSuccess({ claims }));\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.getMFAResetClaimsFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n changePhone$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.changePhone),\n switchMap(({ params, body }) =>\n this._api.put(\"/manage/accounts/reset_change_phone\", body, {\n params,\n })\n ),\n map((res) => {\n this._st.dispatch(DkMfaResetAction.changePhoneSuccess({ data: res }));\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.changePhoneFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n verifyChangePhone$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.verifyChangePhone),\n switchMap(({ params, body }) =>\n this._api.put(\"/manage/accounts/reset_verify_phone\", body, {\n params,\n })\n ),\n map((res) => {\n if (res) {\n this._st.dispatch(DkMfaResetAction.verifyChangePhoneSuccess({ data: res }));\n } else {\n this.showError(\"INVALID_OTP_CODE\");\n this._st.dispatch(DkMfaResetAction.verifyChangePhoneFailed({ error: \"INVALID_OTP_CODE\" }));\n }\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.verifyChangePhoneFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n set2FA$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.set2FA),\n withLatestFrom(this.phone$),\n switchMap(([{ params, body }, phone]) =>\n this._api\n .put(\"/manage/accounts/reset_set_two_factor_authentication\", body, {\n params,\n })\n .pipe(\n map((n) => ({\n data: n,\n mfaType: body.twoFactorProvider,\n phone: phone,\n }))\n )\n ),\n map(({ data, mfaType, phone }) => {\n this._st.dispatch(DkMfaResetAction.set2FASuccess({ data, mfaType, phone }));\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.set2FAFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n verifySet2FA$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(DkMfaResetAction.verifySet2FA),\n switchMap(({ params, body }) =>\n this._api.put(\"/manage/accounts/reset_verify_two_factor_authentication\", body, { params })\n ),\n map((res) => {\n if (res) {\n this._st.dispatch(DkMfaResetAction.verifySet2FASuccess({ data: res }));\n this._rt.navigate([\"/\"]);\n } else {\n this.showError(\"INVALID_OTP_CODE\");\n this._st.dispatch(DkMfaResetAction.verifySet2FAFailed({ error: \"INVALID_OTP_CODE\" }));\n }\n }),\n catchError((error, caught) => {\n this.showError(error);\n this._st.dispatch(DkMfaResetAction.verifySet2FAFailed({ error }));\n return caught;\n })\n ),\n { dispatch: false }\n );\n\n private showError(error: HttpErrorResponse | string) {\n const errorMessage: string = this._lang.translate(\"taraActivationComponent.anUnexpectedErrorHasOccured\");\n\n if (typeof error == \"string\") {\n const message: string = this._lang.translate(`errorMessage.${error}`);\n\n this._tostr.error(message || errorMessage);\n } else {\n const key: string = error && error.error && error.error.ErrorMessage;\n const message: string = this._lang.translate(`errorMessage.${key}`);\n\n this._tostr.error(message || errorMessage);\n }\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { LegalDocumentVersionInterface } from \"src/app/interfaces/legal-document-version.interface\";\nimport { LegalDocumentInterface } from \"src/app/interfaces/legal-document.interface\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class LegalDocumentsService {\n constructor(\n private readonly http: HttpClient,\n private readonly configService: ConfigService\n ) {}\n\n public searchLegalDocuments(userId: string) {\n return this.http.get(\n `${this.configService.baseAuthUrl}/manage/agreement/GetUserLegalDocuments/${userId}`\n );\n }\n\n public searchLegalDocumentsVersions(userId: string, type: string) {\n return this.http.get(\n `${this.configService.baseAuthUrl}/manage/agreement/GetUserLegalDocumentVersions/${userId}/${type}`\n );\n }\n}\n","import { ProfileEffects } from \"./profile.effects\";\nimport { AppEffects } from \"./app.effects\";\nimport { RegistrationEffects } from \"./registration.effects\";\nimport { RegisterProfileEffects } from \"src/app/@store/effects/register-profile.effects\";\nimport { TaraRegisterProfileEffects } from \"src/app/@store/effects/tara-register-profile.effects\";\nimport { StsEffects } from \"./sts.effects\";\n\nimport { DkMfaResetEffects } from \"../dk-mfa-reset/dk-mfa-reset.effects\";\nimport { LegalDocumentsEffects } from \"../legal-documents/legal-documents.effects\";\nexport const effects: any[] = [\n ProfileEffects,\n AppEffects,\n RegistrationEffects,\n RegisterProfileEffects,\n TaraRegisterProfileEffects,\n StsEffects,\n DkMfaResetEffects,\n LegalDocumentsEffects,\n];\n","import { Injectable } from \"@angular/core\";\nimport { LegalDocumentsService } from \"./legal-documents.service\";\nimport { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport {\n searchLegalDocumentsAction,\n searchLegalDocumentsSuccessAction,\n searchLegalDocumentsVersionsAction,\n searchLegalDocumentsVersionsSuccessAction,\n} from \"./legal-documents.actions\";\nimport { catchError, exhaustMap, map } from \"rxjs/operators\";\nimport { EMPTY } from \"rxjs\";\nimport { ToastrService } from \"ngx-toastr\";\n\n@Injectable()\nexport class LegalDocumentsEffects {\n public searchLegalDocuments$ = this.createSearchLegalDocumentsEffect();\n public searchLegalDocumentsVersions$ = this.createSearchLegalDocumentsVersionsEffect();\n\n constructor(\n private readonly actions$: Actions,\n private readonly toastrService: ToastrService,\n private readonly legalDocumentsService: LegalDocumentsService\n ) {\n this.catchError = this.catchError.bind(this);\n }\n\n private createSearchLegalDocumentsVersionsEffect() {\n return createEffect(() =>\n this.actions$.pipe(\n ofType(searchLegalDocumentsVersionsAction),\n exhaustMap(({ userId, docType }) =>\n this.legalDocumentsService.searchLegalDocumentsVersions(userId, docType).pipe(\n map((versions) => searchLegalDocumentsVersionsSuccessAction({ versions })),\n catchError(this.catchError)\n )\n )\n )\n );\n }\n\n private createSearchLegalDocumentsEffect() {\n return createEffect(() =>\n this.actions$.pipe(\n ofType(searchLegalDocumentsAction),\n exhaustMap(({ userId }) =>\n this.legalDocumentsService.searchLegalDocuments(userId).pipe(\n map((legalDocuments) => searchLegalDocumentsSuccessAction({ legalDocuments })),\n catchError(this.catchError)\n )\n )\n )\n );\n }\n\n private catchError(error: any) {\n const errorMessage = error?.error?.message || \"Something went wrong.\";\n this.toastrService.error(errorMessage, \"Error\", { timeOut: 5000 });\n return EMPTY;\n }\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport const TimeoutError = createErrorClass((_super) => function TimeoutErrorImpl(info = null) {\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n});\nexport function timeout(config, schedulerArg) {\n const { first, each, with: _with = timeoutErrorFactory, scheduler = schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler, meta = null, } = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config);\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate((source, subscriber) => {\n let originalSourceSubscription;\n let timerSubscription;\n let lastValue = null;\n let seen = 0;\n const startTimer = (delay) => {\n timerSubscription = executeSchedule(subscriber, scheduler, () => {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta,\n lastValue,\n seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, () => {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, NgZone, Injectable, Inject, makeEnvironmentProviders, NgModule } from '@angular/core';\nimport * as i2 from '@ngrx/store';\nimport { ActionsSubject, UPDATE, INIT, INITIAL_STATE, StateObservable, ReducerManagerDispatcher } from '@ngrx/store';\nimport { EMPTY, Observable, of, merge, queueScheduler, ReplaySubject } from 'rxjs';\nimport { share, filter, map, concatMap, timeout, debounceTime, catchError, take, takeUntil, switchMap, skip, observeOn, withLatestFrom, scan } from 'rxjs/operators';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nconst PERFORM_ACTION = 'PERFORM_ACTION';\nconst REFRESH = 'REFRESH';\nconst RESET = 'RESET';\nconst ROLLBACK = 'ROLLBACK';\nconst COMMIT = 'COMMIT';\nconst SWEEP = 'SWEEP';\nconst TOGGLE_ACTION = 'TOGGLE_ACTION';\nconst SET_ACTIONS_ACTIVE = 'SET_ACTIONS_ACTIVE';\nconst JUMP_TO_STATE = 'JUMP_TO_STATE';\nconst JUMP_TO_ACTION = 'JUMP_TO_ACTION';\nconst IMPORT_STATE = 'IMPORT_STATE';\nconst LOCK_CHANGES = 'LOCK_CHANGES';\nconst PAUSE_RECORDING = 'PAUSE_RECORDING';\nclass PerformAction {\n constructor(action, timestamp) {\n this.action = action;\n this.timestamp = timestamp;\n this.type = PERFORM_ACTION;\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' +\n 'Have you misspelled a constant?');\n }\n }\n}\nclass Refresh {\n constructor() {\n this.type = REFRESH;\n }\n}\nclass Reset {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = RESET;\n }\n}\nclass Rollback {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = ROLLBACK;\n }\n}\nclass Commit {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = COMMIT;\n }\n}\nclass Sweep {\n constructor() {\n this.type = SWEEP;\n }\n}\nclass ToggleAction {\n constructor(id) {\n this.id = id;\n this.type = TOGGLE_ACTION;\n }\n}\nclass SetActionsActive {\n constructor(start, end, active = true) {\n this.start = start;\n this.end = end;\n this.active = active;\n this.type = SET_ACTIONS_ACTIVE;\n }\n}\nclass JumpToState {\n constructor(index) {\n this.index = index;\n this.type = JUMP_TO_STATE;\n }\n}\nclass JumpToAction {\n constructor(actionId) {\n this.actionId = actionId;\n this.type = JUMP_TO_ACTION;\n }\n}\nclass ImportState {\n constructor(nextLiftedState) {\n this.nextLiftedState = nextLiftedState;\n this.type = IMPORT_STATE;\n }\n}\nclass LockChanges {\n constructor(status) {\n this.status = status;\n this.type = LOCK_CHANGES;\n }\n}\nclass PauseRecording {\n constructor(status) {\n this.status = status;\n this.type = PAUSE_RECORDING;\n }\n}\n\n/**\n * Chrome extension documentation\n * @see https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md\n * Firefox extension documentation\n * @see https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md\n */\nclass StoreDevtoolsConfig {\n constructor() {\n /**\n * Maximum allowed actions to be stored in the history tree (default: `false`)\n */\n this.maxAge = false;\n }\n}\nconst STORE_DEVTOOLS_CONFIG = new InjectionToken('@ngrx/store-devtools Options');\n/**\n * Used to provide a `StoreDevtoolsConfig` for the store-devtools.\n */\nconst INITIAL_OPTIONS = new InjectionToken('@ngrx/store-devtools Initial Config');\nfunction noMonitor() {\n return null;\n}\nconst DEFAULT_NAME = 'NgRx Store DevTools';\nfunction createConfig(optionsInput) {\n const DEFAULT_OPTIONS = {\n maxAge: false,\n monitor: noMonitor,\n actionSanitizer: undefined,\n stateSanitizer: undefined,\n name: DEFAULT_NAME,\n serialize: false,\n logOnly: false,\n autoPause: false,\n trace: false,\n traceLimit: 75,\n // Add all features explicitly. This prevent buggy behavior for\n // options like \"lock\" which might otherwise not show up.\n features: {\n pause: true, // Start/pause recording of dispatched actions\n lock: true, // Lock/unlock dispatching actions and side effects\n persist: true, // Persist states on page reloading\n export: true, // Export history of actions in a file\n import: 'custom', // Import history of actions from a file\n jump: true, // Jump back and forth (time travelling)\n skip: true, // Skip (cancel) actions\n reorder: true, // Drag and drop actions in the history list\n dispatch: true, // Dispatch custom actions or action creators\n test: true, // Generate tests for the selected actions\n },\n connectInZone: false,\n };\n const options = typeof optionsInput === 'function' ? optionsInput() : optionsInput;\n const logOnly = options.logOnly\n ? { pause: true, export: true, test: true }\n : false;\n const features = options.features ||\n logOnly ||\n DEFAULT_OPTIONS.features;\n if (features.import === true) {\n features.import = 'custom';\n }\n const config = Object.assign({}, DEFAULT_OPTIONS, { features }, options);\n if (config.maxAge && config.maxAge < 2) {\n throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config.maxAge}`);\n }\n return config;\n}\n\nfunction difference(first, second) {\n return first.filter((item) => second.indexOf(item) < 0);\n}\n/**\n * Provides an app's view into the state of the lifted store.\n */\nfunction unliftState(liftedState) {\n const { computedStates, currentStateIndex } = liftedState;\n // At start up NgRx dispatches init actions,\n // When these init actions are being filtered out by the predicate or safe/block list options\n // we don't have a complete computed states yet.\n // At this point it could happen that we're out of bounds, when this happens we fall back to the last known state\n if (currentStateIndex >= computedStates.length) {\n const { state } = computedStates[computedStates.length - 1];\n return state;\n }\n const { state } = computedStates[currentStateIndex];\n return state;\n}\nfunction unliftAction(liftedState) {\n return liftedState.actionsById[liftedState.nextActionId - 1];\n}\n/**\n * Lifts an app's action into an action on the lifted store.\n */\nfunction liftAction(action) {\n return new PerformAction(action, +Date.now());\n}\n/**\n * Sanitizes given actions with given function.\n */\nfunction sanitizeActions(actionSanitizer, actions) {\n return Object.keys(actions).reduce((sanitizedActions, actionIdx) => {\n const idx = Number(actionIdx);\n sanitizedActions[idx] = sanitizeAction(actionSanitizer, actions[idx], idx);\n return sanitizedActions;\n }, {});\n}\n/**\n * Sanitizes given action with given function.\n */\nfunction sanitizeAction(actionSanitizer, action, actionIdx) {\n return {\n ...action,\n action: actionSanitizer(action.action, actionIdx),\n };\n}\n/**\n * Sanitizes given states with given function.\n */\nfunction sanitizeStates(stateSanitizer, states) {\n return states.map((computedState, idx) => ({\n state: sanitizeState(stateSanitizer, computedState.state, idx),\n error: computedState.error,\n }));\n}\n/**\n * Sanitizes given state with given function.\n */\nfunction sanitizeState(stateSanitizer, state, stateIdx) {\n return stateSanitizer(state, stateIdx);\n}\n/**\n * Read the config and tell if actions should be filtered\n */\nfunction shouldFilterActions(config) {\n return config.predicate || config.actionsSafelist || config.actionsBlocklist;\n}\n/**\n * Return a full filtered lifted state\n */\nfunction filterLiftedState(liftedState, predicate, safelist, blocklist) {\n const filteredStagedActionIds = [];\n const filteredActionsById = {};\n const filteredComputedStates = [];\n liftedState.stagedActionIds.forEach((id, idx) => {\n const liftedAction = liftedState.actionsById[id];\n if (!liftedAction)\n return;\n if (idx &&\n isActionFiltered(liftedState.computedStates[idx], liftedAction, predicate, safelist, blocklist)) {\n return;\n }\n filteredActionsById[id] = liftedAction;\n filteredStagedActionIds.push(id);\n filteredComputedStates.push(liftedState.computedStates[idx]);\n });\n return {\n ...liftedState,\n stagedActionIds: filteredStagedActionIds,\n actionsById: filteredActionsById,\n computedStates: filteredComputedStates,\n };\n}\n/**\n * Return true is the action should be ignored\n */\nfunction isActionFiltered(state, action, predicate, safelist, blockedlist) {\n const predicateMatch = predicate && !predicate(state, action.action);\n const safelistMatch = safelist &&\n !action.action.type.match(safelist.map((s) => escapeRegExp(s)).join('|'));\n const blocklistMatch = blockedlist &&\n action.action.type.match(blockedlist.map((s) => escapeRegExp(s)).join('|'));\n return predicateMatch || safelistMatch || blocklistMatch;\n}\n/**\n * Return string with escaped RegExp special characters\n * https://stackoverflow.com/a/6969486/1337347\n */\nfunction escapeRegExp(s) {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction injectZoneConfig(connectInZone) {\n const ngZone = connectInZone ? inject(NgZone) : null;\n return { ngZone, connectInZone };\n}\n\nclass DevtoolsDispatcher extends ActionsSubject {\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsDispatcher }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsDispatcher, decorators: [{\n type: Injectable\n }] });\n\nconst ExtensionActionTypes = {\n START: 'START',\n DISPATCH: 'DISPATCH',\n STOP: 'STOP',\n ACTION: 'ACTION',\n};\nconst REDUX_DEVTOOLS_EXTENSION = new InjectionToken('@ngrx/store-devtools Redux Devtools Extension');\nclass DevtoolsExtension {\n constructor(devtoolsExtension, config, dispatcher) {\n this.config = config;\n this.dispatcher = dispatcher;\n this.zoneConfig = injectZoneConfig(this.config.connectInZone);\n this.devtoolsExtension = devtoolsExtension;\n this.createActionStreams();\n }\n notify(action, state) {\n if (!this.devtoolsExtension) {\n return;\n }\n // Check to see if the action requires a full update of the liftedState.\n // If it is a simple action generated by the user's app and the recording\n // is not locked/paused, only send the action and the current state (fast).\n //\n // A full liftedState update (slow: serializes the entire liftedState) is\n // only required when:\n // a) redux-devtools-extension fires the @@Init action (ignored by\n // @ngrx/store-devtools)\n // b) an action is generated by an @ngrx module (e.g. @ngrx/effects/init\n // or @ngrx/store/update-reducers)\n // c) the state has been recomputed due to time-traveling\n // d) any action that is not a PerformAction to err on the side of\n // caution.\n if (action.type === PERFORM_ACTION) {\n if (state.isLocked || state.isPaused) {\n return;\n }\n const currentState = unliftState(state);\n if (shouldFilterActions(this.config) &&\n isActionFiltered(currentState, action, this.config.predicate, this.config.actionsSafelist, this.config.actionsBlocklist)) {\n return;\n }\n const sanitizedState = this.config.stateSanitizer\n ? sanitizeState(this.config.stateSanitizer, currentState, state.currentStateIndex)\n : currentState;\n const sanitizedAction = this.config.actionSanitizer\n ? sanitizeAction(this.config.actionSanitizer, action, state.nextActionId)\n : action;\n this.sendToReduxDevtools(() => this.extensionConnection.send(sanitizedAction, sanitizedState));\n }\n else {\n // Requires full state update\n const sanitizedLiftedState = {\n ...state,\n stagedActionIds: state.stagedActionIds,\n actionsById: this.config.actionSanitizer\n ? sanitizeActions(this.config.actionSanitizer, state.actionsById)\n : state.actionsById,\n computedStates: this.config.stateSanitizer\n ? sanitizeStates(this.config.stateSanitizer, state.computedStates)\n : state.computedStates,\n };\n this.sendToReduxDevtools(() => this.devtoolsExtension.send(null, sanitizedLiftedState, this.getExtensionConfig(this.config)));\n }\n }\n createChangesObservable() {\n if (!this.devtoolsExtension) {\n return EMPTY;\n }\n return new Observable((subscriber) => {\n const connection = this.zoneConfig.connectInZone\n ? // To reduce change detection cycles, we need to run the `connect` method\n // outside of the Angular zone. The `connect` method adds a `message`\n // event listener to communicate with an extension using `window.postMessage`\n // and handle message events.\n this.zoneConfig.ngZone.runOutsideAngular(() => this.devtoolsExtension.connect(this.getExtensionConfig(this.config)))\n : this.devtoolsExtension.connect(this.getExtensionConfig(this.config));\n this.extensionConnection = connection;\n connection.init();\n connection.subscribe((change) => subscriber.next(change));\n return connection.unsubscribe;\n });\n }\n createActionStreams() {\n // Listens to all changes\n const changes$ = this.createChangesObservable().pipe(share());\n // Listen for the start action\n const start$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.START));\n // Listen for the stop action\n const stop$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.STOP));\n // Listen for lifted actions\n const liftedActions$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.DISPATCH), map((change) => this.unwrapAction(change.payload)), concatMap((action) => {\n if (action.type === IMPORT_STATE) {\n // State imports may happen in two situations:\n // 1. Explicitly by user\n // 2. User activated the \"persist state accross reloads\" option\n // and now the state is imported during reload.\n // Because of option 2, we need to give possible\n // lazy loaded reducers time to instantiate.\n // As soon as there is no UPDATE action within 1 second,\n // it is assumed that all reducers are loaded.\n return this.dispatcher.pipe(filter((action) => action.type === UPDATE), timeout(1000), debounceTime(1000), map(() => action), catchError(() => of(action)), take(1));\n }\n else {\n return of(action);\n }\n }));\n // Listen for unlifted actions\n const actions$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.ACTION), map((change) => this.unwrapAction(change.payload)));\n const actionsUntilStop$ = actions$.pipe(takeUntil(stop$));\n const liftedUntilStop$ = liftedActions$.pipe(takeUntil(stop$));\n this.start$ = start$.pipe(takeUntil(stop$));\n // Only take the action sources between the start/stop events\n this.actions$ = this.start$.pipe(switchMap(() => actionsUntilStop$));\n this.liftedActions$ = this.start$.pipe(switchMap(() => liftedUntilStop$));\n }\n unwrapAction(action) {\n // indirect eval according to https://esbuild.github.io/content-types/#direct-eval\n return typeof action === 'string' ? (0, eval)(`(${action})`) : action;\n }\n getExtensionConfig(config) {\n const extensionOptions = {\n name: config.name,\n features: config.features,\n serialize: config.serialize,\n autoPause: config.autoPause ?? false,\n trace: config.trace ?? false,\n traceLimit: config.traceLimit ?? 75,\n // The action/state sanitizers are not added to the config\n // because sanitation is done in this class already.\n // It is done before sending it to the devtools extension for consistency:\n // - If we call extensionConnection.send(...),\n // the extension would call the sanitizers.\n // - If we call devtoolsExtension.send(...) (aka full state update),\n // the extension would NOT call the sanitizers, so we have to do it ourselves.\n };\n if (config.maxAge !== false /* support === 0 */) {\n extensionOptions.maxAge = config.maxAge;\n }\n return extensionOptions;\n }\n sendToReduxDevtools(send) {\n try {\n send();\n }\n catch (err) {\n console.warn('@ngrx/store-devtools: something went wrong inside the redux devtools', err);\n }\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsExtension, deps: [{ token: REDUX_DEVTOOLS_EXTENSION }, { token: STORE_DEVTOOLS_CONFIG }, { token: DevtoolsDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsExtension }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: DevtoolsExtension, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [REDUX_DEVTOOLS_EXTENSION]\n }] }, { type: StoreDevtoolsConfig, decorators: [{\n type: Inject,\n args: [STORE_DEVTOOLS_CONFIG]\n }] }, { type: DevtoolsDispatcher }] });\n\nconst INIT_ACTION = { type: INIT };\nconst RECOMPUTE = '@ngrx/store-devtools/recompute';\nconst RECOMPUTE_ACTION = { type: RECOMPUTE };\n/**\n * Computes the next entry in the log by applying an action.\n */\nfunction computeNextEntry(reducer, action, state, error, errorHandler) {\n if (error) {\n return {\n state,\n error: 'Interrupted by an error up the chain',\n };\n }\n let nextState = state;\n let nextError;\n try {\n nextState = reducer(state, action);\n }\n catch (err) {\n nextError = err.toString();\n errorHandler.handleError(err);\n }\n return {\n state: nextState,\n error: nextError,\n };\n}\n/**\n * Runs the reducer on invalidated actions to get a fresh computation log.\n */\nfunction recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused) {\n // Optimization: exit early and return the same reference\n // if we know nothing could have changed.\n if (minInvalidatedStateIndex >= computedStates.length &&\n computedStates.length === stagedActionIds.length) {\n return computedStates;\n }\n const nextComputedStates = computedStates.slice(0, minInvalidatedStateIndex);\n // If the recording is paused, recompute all states up until the pause state,\n // else recompute all states.\n const lastIncludedActionId = stagedActionIds.length - (isPaused ? 1 : 0);\n for (let i = minInvalidatedStateIndex; i < lastIncludedActionId; i++) {\n const actionId = stagedActionIds[i];\n const action = actionsById[actionId].action;\n const previousEntry = nextComputedStates[i - 1];\n const previousState = previousEntry ? previousEntry.state : committedState;\n const previousError = previousEntry ? previousEntry.error : undefined;\n const shouldSkip = skippedActionIds.indexOf(actionId) > -1;\n const entry = shouldSkip\n ? previousEntry\n : computeNextEntry(reducer, action, previousState, previousError, errorHandler);\n nextComputedStates.push(entry);\n }\n // If the recording is paused, the last state will not be recomputed,\n // because it's essentially not part of the state history.\n if (isPaused) {\n nextComputedStates.push(computedStates[computedStates.length - 1]);\n }\n return nextComputedStates;\n}\nfunction liftInitialState(initialCommittedState, monitorReducer) {\n return {\n monitorState: monitorReducer(undefined, {}),\n nextActionId: 1,\n actionsById: { 0: liftAction(INIT_ACTION) },\n stagedActionIds: [0],\n skippedActionIds: [],\n committedState: initialCommittedState,\n currentStateIndex: 0,\n computedStates: [],\n isLocked: false,\n isPaused: false,\n };\n}\n/**\n * Creates a history state reducer from an app's reducer.\n */\nfunction liftReducerWith(initialCommittedState, initialLiftedState, errorHandler, monitorReducer, options = {}) {\n /**\n * Manages how the history actions modify the history state.\n */\n return (reducer) => (liftedState, liftedAction) => {\n let { monitorState, actionsById, nextActionId, stagedActionIds, skippedActionIds, committedState, currentStateIndex, computedStates, isLocked, isPaused, } = liftedState || initialLiftedState;\n if (!liftedState) {\n // Prevent mutating initialLiftedState\n actionsById = Object.create(actionsById);\n }\n function commitExcessActions(n) {\n // Auto-commits n-number of excess actions.\n let excess = n;\n let idsToDelete = stagedActionIds.slice(1, excess + 1);\n for (let i = 0; i < idsToDelete.length; i++) {\n if (computedStates[i + 1].error) {\n // Stop if error is found. Commit actions up to error.\n excess = i;\n idsToDelete = stagedActionIds.slice(1, excess + 1);\n break;\n }\n else {\n delete actionsById[idsToDelete[i]];\n }\n }\n skippedActionIds = skippedActionIds.filter((id) => idsToDelete.indexOf(id) === -1);\n stagedActionIds = [0, ...stagedActionIds.slice(excess + 1)];\n committedState = computedStates[excess].state;\n computedStates = computedStates.slice(excess);\n currentStateIndex =\n currentStateIndex > excess ? currentStateIndex - excess : 0;\n }\n function commitChanges() {\n // Consider the last committed state the new starting point.\n // Squash any staged actions into a single committed state.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = computedStates[currentStateIndex].state;\n currentStateIndex = 0;\n computedStates = [];\n }\n // By default, aggressively recompute every state whatever happens.\n // This has O(n) performance, so we'll override this to a sensible\n // value whenever we feel like we don't have to recompute the states.\n let minInvalidatedStateIndex = 0;\n switch (liftedAction.type) {\n case LOCK_CHANGES: {\n isLocked = liftedAction.status;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case PAUSE_RECORDING: {\n isPaused = liftedAction.status;\n if (isPaused) {\n // Add a pause action to signal the devtools-user the recording is paused.\n // The corresponding state will be overwritten on each update to always contain\n // the latest state (see Actions.PERFORM_ACTION).\n stagedActionIds = [...stagedActionIds, nextActionId];\n actionsById[nextActionId] = new PerformAction({\n type: '@ngrx/devtools/pause',\n }, +Date.now());\n nextActionId++;\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = computedStates.concat(computedStates[computedStates.length - 1]);\n if (currentStateIndex === stagedActionIds.length - 2) {\n currentStateIndex++;\n }\n minInvalidatedStateIndex = Infinity;\n }\n else {\n commitChanges();\n }\n break;\n }\n case RESET: {\n // Get back to the state the store was created with.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = initialCommittedState;\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case COMMIT: {\n commitChanges();\n break;\n }\n case ROLLBACK: {\n // Forget about any staged actions.\n // Start again from the last committed state.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case TOGGLE_ACTION: {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const { id: actionId } = liftedAction;\n const index = skippedActionIds.indexOf(actionId);\n if (index === -1) {\n skippedActionIds = [actionId, ...skippedActionIds];\n }\n else {\n skippedActionIds = skippedActionIds.filter((id) => id !== actionId);\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(actionId);\n break;\n }\n case SET_ACTIONS_ACTIVE: {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const { start, end, active } = liftedAction;\n const actionIds = [];\n for (let i = start; i < end; i++)\n actionIds.push(i);\n if (active) {\n skippedActionIds = difference(skippedActionIds, actionIds);\n }\n else {\n skippedActionIds = [...skippedActionIds, ...actionIds];\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(start);\n break;\n }\n case JUMP_TO_STATE: {\n // Without recomputing anything, move the pointer that tell us\n // which state is considered the current one. Useful for sliders.\n currentStateIndex = liftedAction.index;\n // Optimization: we know the history has not changed.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case JUMP_TO_ACTION: {\n // Jumps to a corresponding state to a specific action.\n // Useful when filtering actions.\n const index = stagedActionIds.indexOf(liftedAction.actionId);\n if (index !== -1)\n currentStateIndex = index;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case SWEEP: {\n // Forget any actions that are currently being skipped.\n stagedActionIds = difference(stagedActionIds, skippedActionIds);\n skippedActionIds = [];\n currentStateIndex = Math.min(currentStateIndex, stagedActionIds.length - 1);\n break;\n }\n case PERFORM_ACTION: {\n // Ignore action and return state as is if recording is locked\n if (isLocked) {\n return liftedState || initialLiftedState;\n }\n if (isPaused ||\n (liftedState &&\n isActionFiltered(liftedState.computedStates[currentStateIndex], liftedAction, options.predicate, options.actionsSafelist, options.actionsBlocklist))) {\n // If recording is paused or if the action should be ignored, overwrite the last state\n // (corresponds to the pause action) and keep everything else as is.\n // This way, the app gets the new current state while the devtools\n // do not record another action.\n const lastState = computedStates[computedStates.length - 1];\n computedStates = [\n ...computedStates.slice(0, -1),\n computeNextEntry(reducer, liftedAction.action, lastState.state, lastState.error, errorHandler),\n ];\n minInvalidatedStateIndex = Infinity;\n break;\n }\n // Auto-commit as new actions come in.\n if (options.maxAge && stagedActionIds.length === options.maxAge) {\n commitExcessActions(1);\n }\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n const actionId = nextActionId++;\n // Mutation! This is the hottest path, and we optimize on purpose.\n // It is safe because we set a new key in a cache dictionary.\n actionsById[actionId] = liftedAction;\n stagedActionIds = [...stagedActionIds, actionId];\n // Optimization: we know that only the new action needs computing.\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n break;\n }\n case IMPORT_STATE: {\n // Completely replace everything.\n ({\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused,\n } = liftedAction.nextLiftedState);\n break;\n }\n case INIT: {\n // Always recompute states on hot reload and init.\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n case UPDATE: {\n const stateHasErrors = computedStates.filter((state) => state.error).length > 0;\n if (stateHasErrors) {\n // Recompute all states\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n }\n else {\n // If not paused/locked, add a new action to signal devtools-user\n // that there was a reducer update.\n if (!isPaused && !isLocked) {\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n // Add a new action to only recompute state\n const actionId = nextActionId++;\n actionsById[actionId] = new PerformAction(liftedAction, +Date.now());\n stagedActionIds = [...stagedActionIds, actionId];\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n }\n // Recompute state history with latest reducer and update action\n computedStates = computedStates.map((cmp) => ({\n ...cmp,\n state: reducer(cmp.state, RECOMPUTE_ACTION),\n }));\n currentStateIndex = stagedActionIds.length - 1;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n commitExcessActions(stagedActionIds.length - options.maxAge);\n }\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n default: {\n // If the action is not recognized, it's a monitor action.\n // Optimization: a monitor action can't change history.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n }\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n monitorState = monitorReducer(monitorState, liftedAction);\n return {\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused,\n };\n };\n}\n\nclass StoreDevtools {\n constructor(dispatcher, actions$, reducers$, extension, scannedActions, errorHandler, initialState, config) {\n const liftedInitialState = liftInitialState(initialState, config.monitor);\n const liftReducer = liftReducerWith(initialState, liftedInitialState, errorHandler, config.monitor, config);\n const liftedAction$ = merge(merge(actions$.asObservable().pipe(skip(1)), extension.actions$).pipe(map(liftAction)), dispatcher, extension.liftedActions$).pipe(observeOn(queueScheduler));\n const liftedReducer$ = reducers$.pipe(map(liftReducer));\n const zoneConfig = injectZoneConfig(config.connectInZone);\n const liftedStateSubject = new ReplaySubject(1);\n this.liftedStateSubscription = liftedAction$\n .pipe(withLatestFrom(liftedReducer$), \n // The extension would post messages back outside of the Angular zone\n // because we call `connect()` wrapped with `runOutsideAngular`. We run change\n // detection only once at the end after all the required asynchronous tasks have\n // been processed (for instance, `setInterval` scheduled by the `timeout` operator).\n // We have to re-enter the Angular zone before the `scan` since it runs the reducer\n // which must be run within the Angular zone.\n emitInZone(zoneConfig), scan(({ state: liftedState }, [action, reducer]) => {\n let reducedLiftedState = reducer(liftedState, action);\n // On full state update\n // If we have actions filters, we must filter completely our lifted state to be sync with the extension\n if (action.type !== PERFORM_ACTION && shouldFilterActions(config)) {\n reducedLiftedState = filterLiftedState(reducedLiftedState, config.predicate, config.actionsSafelist, config.actionsBlocklist);\n }\n // Extension should be sent the sanitized lifted state\n extension.notify(action, reducedLiftedState);\n return { state: reducedLiftedState, action };\n }, { state: liftedInitialState, action: null }))\n .subscribe(({ state, action }) => {\n liftedStateSubject.next(state);\n if (action.type === PERFORM_ACTION) {\n const unliftedAction = action.action;\n scannedActions.next(unliftedAction);\n }\n });\n this.extensionStartSubscription = extension.start$\n .pipe(emitInZone(zoneConfig))\n .subscribe(() => {\n this.refresh();\n });\n const liftedState$ = liftedStateSubject.asObservable();\n const state$ = liftedState$.pipe(map(unliftState));\n Object.defineProperty(state$, 'state', {\n value: toSignal(state$, { manualCleanup: true, requireSync: true }),\n });\n this.dispatcher = dispatcher;\n this.liftedState = liftedState$;\n this.state = state$;\n }\n ngOnDestroy() {\n // Even though the store devtools plugin is recommended to be\n // used only in development mode, it can still cause a memory leak\n // in microfrontend applications that are being created and destroyed\n // multiple times during development. This results in excessive memory\n // consumption, as it prevents entire apps from being garbage collected.\n this.liftedStateSubscription.unsubscribe();\n this.extensionStartSubscription.unsubscribe();\n }\n dispatch(action) {\n this.dispatcher.next(action);\n }\n next(action) {\n this.dispatcher.next(action);\n }\n error(error) { }\n complete() { }\n performAction(action) {\n this.dispatch(new PerformAction(action, +Date.now()));\n }\n refresh() {\n this.dispatch(new Refresh());\n }\n reset() {\n this.dispatch(new Reset(+Date.now()));\n }\n rollback() {\n this.dispatch(new Rollback(+Date.now()));\n }\n commit() {\n this.dispatch(new Commit(+Date.now()));\n }\n sweep() {\n this.dispatch(new Sweep());\n }\n toggleAction(id) {\n this.dispatch(new ToggleAction(id));\n }\n jumpToAction(actionId) {\n this.dispatch(new JumpToAction(actionId));\n }\n jumpToState(index) {\n this.dispatch(new JumpToState(index));\n }\n importState(nextLiftedState) {\n this.dispatch(new ImportState(nextLiftedState));\n }\n lockChanges(status) {\n this.dispatch(new LockChanges(status));\n }\n pauseRecording(status) {\n this.dispatch(new PauseRecording(status));\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtools, deps: [{ token: DevtoolsDispatcher }, { token: i2.ActionsSubject }, { token: i2.ReducerObservable }, { token: DevtoolsExtension }, { token: i2.ScannedActionsSubject }, { token: i0.ErrorHandler }, { token: INITIAL_STATE }, { token: STORE_DEVTOOLS_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtools }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtools, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: DevtoolsDispatcher }, { type: i2.ActionsSubject }, { type: i2.ReducerObservable }, { type: DevtoolsExtension }, { type: i2.ScannedActionsSubject }, { type: i0.ErrorHandler }, { type: undefined, decorators: [{\n type: Inject,\n args: [INITIAL_STATE]\n }] }, { type: StoreDevtoolsConfig, decorators: [{\n type: Inject,\n args: [STORE_DEVTOOLS_CONFIG]\n }] }] });\n/**\n * If the devtools extension is connected out of the Angular zone,\n * this operator will emit all events within the zone.\n */\nfunction emitInZone({ ngZone, connectInZone, }) {\n return (source) => connectInZone\n ? new Observable((subscriber) => source.subscribe({\n next: (value) => ngZone.run(() => subscriber.next(value)),\n error: (error) => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }))\n : source;\n}\n\nconst IS_EXTENSION_OR_MONITOR_PRESENT = new InjectionToken('@ngrx/store-devtools Is Devtools Extension or Monitor Present');\nfunction createIsExtensionOrMonitorPresent(extension, config) {\n return Boolean(extension) || config.monitor !== noMonitor;\n}\nfunction createReduxDevtoolsExtension() {\n const extensionKey = '__REDUX_DEVTOOLS_EXTENSION__';\n if (typeof window === 'object' &&\n typeof window[extensionKey] !== 'undefined') {\n return window[extensionKey];\n }\n else {\n return null;\n }\n}\n/**\n * Provides developer tools and instrumentation for `Store`.\n *\n * @usageNotes\n *\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideStoreDevtools({\n * maxAge: 25,\n * logOnly: !isDevMode(),\n * }),\n * ],\n * });\n * ```\n */\nfunction provideStoreDevtools(options = {}) {\n return makeEnvironmentProviders([\n DevtoolsExtension,\n DevtoolsDispatcher,\n StoreDevtools,\n {\n provide: INITIAL_OPTIONS,\n useValue: options,\n },\n {\n provide: IS_EXTENSION_OR_MONITOR_PRESENT,\n deps: [REDUX_DEVTOOLS_EXTENSION, STORE_DEVTOOLS_CONFIG],\n useFactory: createIsExtensionOrMonitorPresent,\n },\n {\n provide: REDUX_DEVTOOLS_EXTENSION,\n useFactory: createReduxDevtoolsExtension,\n },\n {\n provide: STORE_DEVTOOLS_CONFIG,\n deps: [INITIAL_OPTIONS],\n useFactory: createConfig,\n },\n {\n provide: StateObservable,\n deps: [StoreDevtools],\n useFactory: createStateObservable,\n },\n {\n provide: ReducerManagerDispatcher,\n useExisting: DevtoolsDispatcher,\n },\n ]);\n}\n\nfunction createStateObservable(devtools) {\n return devtools.state;\n}\nclass StoreDevtoolsModule {\n static instrument(options = {}) {\n return {\n ngModule: StoreDevtoolsModule,\n providers: [provideStoreDevtools(options)],\n };\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtoolsModule }); }\n /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtoolsModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: StoreDevtoolsModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { INITIAL_OPTIONS, RECOMPUTE, REDUX_DEVTOOLS_EXTENSION, StoreDevtools, StoreDevtoolsConfig, StoreDevtoolsModule, provideStoreDevtools };\n","import { Injectable } from \"@angular/core\";\nimport { reducers } from \"../@store/reducers\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class StoreService {\n getReducers() {\n return reducers;\n }\n}\n","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2024 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n/******/ // The require scope\n/******/ var __webpack_require__ = {};\n/******/ \n/************************************************************************/\n/******/ /* webpack/runtime/define property getters */\n/******/ (() => {\n/******/ \t// define getter functions for harmony exports\n/******/ \t__webpack_require__.d = (exports, definition) => {\n/******/ \t\tfor(var key in definition) {\n/******/ \t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t};\n/******/ })();\n/******/ \n/******/ /* webpack/runtime/hasOwnProperty shorthand */\n/******/ (() => {\n/******/ \t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ })();\n/******/ \n/************************************************************************/\nvar __webpack_exports__ = globalThis.pdfjsLib = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n AbortException: () => (/* reexport */ AbortException),\n AnnotationEditorLayer: () => (/* reexport */ AnnotationEditorLayer),\n AnnotationEditorParamsType: () => (/* reexport */ AnnotationEditorParamsType),\n AnnotationEditorType: () => (/* reexport */ AnnotationEditorType),\n AnnotationEditorUIManager: () => (/* reexport */ AnnotationEditorUIManager),\n AnnotationLayer: () => (/* reexport */ AnnotationLayer),\n AnnotationMode: () => (/* reexport */ AnnotationMode),\n ColorPicker: () => (/* reexport */ ColorPicker),\n DOMSVGFactory: () => (/* reexport */ DOMSVGFactory),\n DrawLayer: () => (/* reexport */ DrawLayer),\n FeatureTest: () => (/* reexport */ util_FeatureTest),\n GlobalWorkerOptions: () => (/* reexport */ GlobalWorkerOptions),\n ImageKind: () => (/* reexport */ util_ImageKind),\n InvalidPDFException: () => (/* reexport */ InvalidPDFException),\n MissingPDFException: () => (/* reexport */ MissingPDFException),\n OPS: () => (/* reexport */ OPS),\n OutputScale: () => (/* reexport */ OutputScale),\n PDFDataRangeTransport: () => (/* reexport */ PDFDataRangeTransport),\n PDFDateString: () => (/* reexport */ PDFDateString),\n PDFWorker: () => (/* reexport */ PDFWorker),\n PasswordResponses: () => (/* reexport */ PasswordResponses),\n PermissionFlag: () => (/* reexport */ PermissionFlag),\n PixelsPerInch: () => (/* reexport */ PixelsPerInch),\n RenderingCancelledException: () => (/* reexport */ RenderingCancelledException),\n TextLayer: () => (/* reexport */ TextLayer),\n UnexpectedResponseException: () => (/* reexport */ UnexpectedResponseException),\n Util: () => (/* reexport */ Util),\n VerbosityLevel: () => (/* reexport */ VerbosityLevel),\n XfaLayer: () => (/* reexport */ XfaLayer),\n build: () => (/* reexport */ build),\n createValidAbsoluteUrl: () => (/* reexport */ createValidAbsoluteUrl),\n fetchData: () => (/* reexport */ fetchData),\n getDocument: () => (/* reexport */ getDocument),\n getFilenameFromUrl: () => (/* reexport */ getFilenameFromUrl),\n getPdfFilenameFromUrl: () => (/* reexport */ getPdfFilenameFromUrl),\n getXfaPageViewport: () => (/* reexport */ getXfaPageViewport),\n isDataScheme: () => (/* reexport */ isDataScheme),\n isPdfFile: () => (/* reexport */ isPdfFile),\n noContextMenu: () => (/* reexport */ noContextMenu),\n normalizeUnicode: () => (/* reexport */ normalizeUnicode),\n setLayerDimensions: () => (/* reexport */ setLayerDimensions),\n shadow: () => (/* reexport */ shadow),\n version: () => (/* reexport */ version)\n});\n\n;// ./src/shared/util.js\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6;\nconst LINE_FACTOR = 1.35;\nconst LINE_DESCENT_FACTOR = 0.35;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n IS_EDITING: 0x80,\n OPLIST: 0x100\n};\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n HIGHLIGHT: 9,\n STAMP: 13,\n INK: 15\n};\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23,\n HIGHLIGHT_COLOR: 31,\n HIGHLIGHT_DEFAULT_COLOR: 32,\n HIGHLIGHT_THICKNESS: 33,\n HIGHLIGHT_FREE: 34,\n HIGHLIGHT_SHOW_ALL: 35\n};\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nconst util_ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n setStrokeTransparent: 92,\n setFillTransparent: 93\n};\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nlet verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {}\n return null;\n}\nfunction shadow(obj, prop, value, nonSerializable = false) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false\n });\n return value;\n}\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch {\n return false;\n }\n}\nclass util_FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n static get platform() {\n if (typeof navigator !== \"undefined\" && typeof navigator?.platform === \"string\") {\n return shadow(this, \"platform\", {\n isMac: navigator.platform.includes(\"Mac\"),\n isWindows: navigator.platform.includes(\"Win\"),\n isFirefox: typeof navigator?.userAgent === \"string\" && navigator.userAgent.includes(\"Firefox\")\n });\n }\n return shadow(this, \"platform\", {\n isMac: false,\n isWindows: false,\n isFirefox: false\n });\n }\n static get isCSSRoundSupported() {\n return shadow(this, \"isCSSRoundSupported\", globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\"));\n }\n}\nconst hexNumbers = Array.from(Array(256).keys(), n => n.toString(16).padStart(2, \"0\"));\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n }\n minMax[0] *= transform[0];\n minMax[2] *= transform[0];\n if (transform[3] < 0) {\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n }\n minMax[1] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n if (transform[1] < 0) {\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n }\n minMax[1] *= transform[1];\n minMax[3] *= transform[1];\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n }\n minMax[0] *= transform[2];\n minMax[2] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[5];\n minMax[2] += transform[4];\n minMax[3] += transform[5];\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n if (yLow > yHigh) {\n return null;\n }\n return [xLow, yLow, xHigh, yHigh];\n }\n static #getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, t, minMax) {\n if (t <= 0 || t >= 1) {\n return;\n }\n const mt = 1 - t;\n const tt = t * t;\n const ttt = tt * t;\n const x = mt * (mt * (mt * x0 + 3 * t * x1) + 3 * tt * x2) + ttt * x3;\n const y = mt * (mt * (mt * y0 + 3 * t * y1) + 3 * tt * y2) + ttt * y3;\n minMax[0] = Math.min(minMax[0], x);\n minMax[1] = Math.min(minMax[1], y);\n minMax[2] = Math.max(minMax[2], x);\n minMax[3] = Math.max(minMax[3], y);\n }\n static #getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, a, b, c, minMax) {\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) >= 1e-12) {\n this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, -c / b, minMax);\n }\n return;\n }\n const delta = b ** 2 - 4 * c * a;\n if (delta < 0) {\n return;\n }\n const sqrtDelta = Math.sqrt(delta);\n const a2 = 2 * a;\n this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, (-b + sqrtDelta) / a2, minMax);\n this.#getExtremumOnCurve(x0, x1, x2, x3, y0, y1, y2, y3, (-b - sqrtDelta) / a2, minMax);\n }\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n if (minMax) {\n minMax[0] = Math.min(minMax[0], x0, x3);\n minMax[1] = Math.min(minMax[1], y0, y3);\n minMax[2] = Math.max(minMax[2], x0, x3);\n minMax[3] = Math.max(minMax[3], y0, y3);\n } else {\n minMax = [Math.min(x0, x3), Math.min(y0, y3), Math.max(x0, x3), Math.max(y0, y3)];\n }\n this.#getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, 3 * (-x0 + 3 * (x1 - x2) + x3), 6 * (x0 - 2 * x1 + x2), 3 * (x1 - x0), minMax);\n this.#getExtremum(x0, x1, x2, x3, y0, y1, y2, y3, 3 * (-y0 + 3 * (y1 - y2) + y3), 6 * (y0 - 2 * y1 + y2), 3 * (y1 - y0), minMax);\n return minMax;\n }\n}\nconst PDFStringTranslateTable = (/* unused pure expression or super */ null && ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac]));\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n if (str.length % 2 === 1) {\n str = str.slice(0, -1);\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n if (str.length % 2 === 1) {\n str = str.slice(0, -1);\n }\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n const decoded = decoder.decode(buffer);\n if (!decoded.includes(\"\\x1b\")) {\n return decoded;\n }\n return decoded.replaceAll(/\\x1b[^\\x1b]*(?:\\x1b|$)/g, \"\");\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const charCode = str.charCodeAt(i);\n if (charCode === 0x1b) {\n while (++i < ii && str.charCodeAt(i) !== 0x1b) {}\n continue;\n }\n const code = PDFStringTranslateTable[charCode];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n NormalizeRegex = /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2));\n}\nfunction getUuid() {\n if (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (typeof crypto !== \"undefined\" && typeof crypto?.getRandomValues === \"function\") {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nconst FontRenderOps = {\n BEZIER_CURVE_TO: 0,\n MOVE_TO: 1,\n LINE_TO: 2,\n QUADRATIC_CURVE_TO: 3,\n RESTORE: 4,\n SAVE: 5,\n SCALE: 6,\n TRANSFORM: 7,\n TRANSLATE: 8\n};\nfunction toHexUtil(arr) {\n if (Uint8Array.prototype.toHex) {\n return arr.toHex();\n }\n return Array.from(arr, num => hexNumbers[num]).join(\"\");\n}\nfunction toBase64Util(arr) {\n if (Uint8Array.prototype.toBase64) {\n return arr.toBase64();\n }\n return btoa(bytesToString(arr));\n}\nfunction fromBase64Util(str) {\n if (Uint8Array.fromBase64) {\n return Uint8Array.fromBase64(str);\n }\n return stringToBytes(atob(str));\n}\n\n;// ./src/display/display_utils.js\n\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\nasync function fetchData(url, type = \"text\") {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n switch (type) {\n case \"arraybuffer\":\n return response.arrayBuffer();\n case \"blob\":\n return response.blob();\n case \"json\":\n return response.json();\n }\n return response.text();\n }\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n request.responseType = type;\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n switch (type) {\n case \"arraybuffer\":\n case \"blob\":\n case \"json\":\n resolve(request.response);\n return;\n }\n resolve(request.responseText);\n return;\n }\n reject(new Error(request.statusText));\n };\n request.send(null);\n });\n}\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = (viewBox[3] - viewBox[1]) * scale;\n height = (viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = (viewBox[2] - viewBox[0]) * scale;\n height = (viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n get rawDims() {\n const {\n viewBox\n } = this;\n return shadow(this, \"rawDims\", {\n pageWidth: viewBox[2] - viewBox[0],\n pageHeight: viewBox[3] - viewBox[1],\n pageX: viewBox[0],\n pageY: viewBox[1]\n });\n }\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n convertToViewportPoint(x, y) {\n return Util.applyTransform([x, y], this.transform);\n }\n convertToViewportRectangle(rect) {\n const topLeft = Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n convertToPdfPoint(x, y) {\n return Util.applyInverseTransform([x, y], this.transform);\n }\n}\nclass RenderingCancelledException extends BaseException {\n constructor(msg, extraDelay = 0) {\n super(msg, \"RenderingCancelledException\");\n this.extraDelay = extraDelay;\n }\n}\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\nfunction getFilenameFromUrl(url) {\n [url] = url.split(/[#?]/, 1);\n return url.substring(url.lastIndexOf(\"/\") + 1);\n}\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n warn('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nclass StatTimer {\n started = Object.create(null);\n times = [];\n time(name) {\n if (name in this.started) {\n warn(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n timeEnd(name) {\n if (!(name in this.started)) {\n warn(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n toString() {\n const outBuf = [];\n let longest = 0;\n for (const {\n name\n } of this.times) {\n longest = Math.max(name.length, longest);\n }\n for (const {\n name,\n start,\n end\n } of this.times) {\n outBuf.push(`${name.padEnd(longest)} ${end - start}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch {\n return false;\n }\n}\nfunction noContextMenu(e) {\n e.preventDefault();\n}\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\nclass PDFDateString {\n static #regex;\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n this.#regex ||= new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n const matches = this.#regex.exec(input);\n if (!matches) {\n return null;\n }\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n warn(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n span.remove();\n}\nfunction getCurrentTransform(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform();\n return [a, b, c, d, e, f];\n}\nfunction getCurrentTransformInverse(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform().invertSelf();\n return [a, b, c, d, e, f];\n}\nfunction setLayerDimensions(div, viewport, mustFlip = false, mustRotate = true) {\n if (viewport instanceof PageViewport) {\n const {\n pageWidth,\n pageHeight\n } = viewport.rawDims;\n const {\n style\n } = div;\n const useRound = util_FeatureTest.isCSSRoundSupported;\n const w = `var(--scale-factor) * ${pageWidth}px`,\n h = `var(--scale-factor) * ${pageHeight}px`;\n const widthStr = useRound ? `round(down, ${w}, var(--scale-round-x, 1px))` : `calc(${w})`,\n heightStr = useRound ? `round(down, ${h}, var(--scale-round-y, 1px))` : `calc(${h})`;\n if (!mustFlip || viewport.rotation % 180 === 0) {\n style.width = widthStr;\n style.height = heightStr;\n } else {\n style.width = heightStr;\n style.height = widthStr;\n }\n }\n if (mustRotate) {\n div.setAttribute(\"data-main-rotation\", viewport.rotation);\n }\n}\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n this.sx = pixelRatio;\n this.sy = pixelRatio;\n }\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n get symmetric() {\n return this.sx === this.sy;\n }\n}\n\n;// ./src/display/editor/toolbar.js\n\nclass EditorToolbar {\n #toolbar = null;\n #colorPicker = null;\n #editor;\n #buttons = null;\n #altText = null;\n static #l10nRemove = null;\n constructor(editor) {\n this.#editor = editor;\n EditorToolbar.#l10nRemove ||= Object.freeze({\n freetext: \"pdfjs-editor-remove-freetext-button\",\n highlight: \"pdfjs-editor-remove-highlight-button\",\n ink: \"pdfjs-editor-remove-ink-button\",\n stamp: \"pdfjs-editor-remove-stamp-button\"\n });\n }\n render() {\n const editToolbar = this.#toolbar = document.createElement(\"div\");\n editToolbar.classList.add(\"editToolbar\", \"hidden\");\n editToolbar.setAttribute(\"role\", \"toolbar\");\n const signal = this.#editor._uiManager._signal;\n editToolbar.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n editToolbar.addEventListener(\"pointerdown\", EditorToolbar.#pointerDown, {\n signal\n });\n const buttons = this.#buttons = document.createElement(\"div\");\n buttons.className = \"buttons\";\n editToolbar.append(buttons);\n const position = this.#editor.toolbarPosition;\n if (position) {\n const {\n style\n } = editToolbar;\n const x = this.#editor._uiManager.direction === \"ltr\" ? 1 - position[0] : position[0];\n style.insetInlineEnd = `${100 * x}%`;\n style.top = `calc(${100 * position[1]}% + var(--editor-toolbar-vert-offset))`;\n }\n this.#addDeleteButton();\n return editToolbar;\n }\n get div() {\n return this.#toolbar;\n }\n static #pointerDown(e) {\n e.stopPropagation();\n }\n #focusIn(e) {\n this.#editor._focusEventsAllowed = false;\n e.preventDefault();\n e.stopPropagation();\n }\n #focusOut(e) {\n this.#editor._focusEventsAllowed = true;\n e.preventDefault();\n e.stopPropagation();\n }\n #addListenersToElement(element) {\n const signal = this.#editor._uiManager._signal;\n element.addEventListener(\"focusin\", this.#focusIn.bind(this), {\n capture: true,\n signal\n });\n element.addEventListener(\"focusout\", this.#focusOut.bind(this), {\n capture: true,\n signal\n });\n element.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n }\n hide() {\n this.#toolbar.classList.add(\"hidden\");\n this.#colorPicker?.hideDropdown();\n }\n show() {\n this.#toolbar.classList.remove(\"hidden\");\n this.#altText?.shown();\n }\n #addDeleteButton() {\n const {\n editorType,\n _uiManager\n } = this.#editor;\n const button = document.createElement(\"button\");\n button.className = \"delete\";\n button.tabIndex = 0;\n button.setAttribute(\"data-l10n-id\", EditorToolbar.#l10nRemove[editorType]);\n this.#addListenersToElement(button);\n button.addEventListener(\"click\", e => {\n _uiManager.delete();\n }, {\n signal: _uiManager._signal\n });\n this.#buttons.append(button);\n }\n get #divider() {\n const divider = document.createElement(\"div\");\n divider.className = \"divider\";\n return divider;\n }\n async addAltText(altText) {\n const button = await altText.render();\n this.#addListenersToElement(button);\n this.#buttons.prepend(button, this.#divider);\n this.#altText = altText;\n }\n addColorPicker(colorPicker) {\n this.#colorPicker = colorPicker;\n const button = colorPicker.renderButton();\n this.#addListenersToElement(button);\n this.#buttons.prepend(button, this.#divider);\n }\n remove() {\n this.#toolbar.remove();\n this.#colorPicker?.destroy();\n this.#colorPicker = null;\n }\n}\nclass HighlightToolbar {\n #buttons = null;\n #toolbar = null;\n #uiManager;\n constructor(uiManager) {\n this.#uiManager = uiManager;\n }\n #render() {\n const editToolbar = this.#toolbar = document.createElement(\"div\");\n editToolbar.className = \"editToolbar\";\n editToolbar.setAttribute(\"role\", \"toolbar\");\n editToolbar.addEventListener(\"contextmenu\", noContextMenu, {\n signal: this.#uiManager._signal\n });\n const buttons = this.#buttons = document.createElement(\"div\");\n buttons.className = \"buttons\";\n editToolbar.append(buttons);\n this.#addHighlightButton();\n return editToolbar;\n }\n #getLastPoint(boxes, isLTR) {\n let lastY = 0;\n let lastX = 0;\n for (const box of boxes) {\n const y = box.y + box.height;\n if (y < lastY) {\n continue;\n }\n const x = box.x + (isLTR ? box.width : 0);\n if (y > lastY) {\n lastX = x;\n lastY = y;\n continue;\n }\n if (isLTR) {\n if (x > lastX) {\n lastX = x;\n }\n } else if (x < lastX) {\n lastX = x;\n }\n }\n return [isLTR ? 1 - lastX : lastX, lastY];\n }\n show(parent, boxes, isLTR) {\n const [x, y] = this.#getLastPoint(boxes, isLTR);\n const {\n style\n } = this.#toolbar ||= this.#render();\n parent.append(this.#toolbar);\n style.insetInlineEnd = `${100 * x}%`;\n style.top = `calc(${100 * y}% + var(--editor-toolbar-vert-offset))`;\n }\n hide() {\n this.#toolbar.remove();\n }\n #addHighlightButton() {\n const button = document.createElement(\"button\");\n button.className = \"highlightButton\";\n button.tabIndex = 0;\n button.setAttribute(\"data-l10n-id\", `pdfjs-highlight-floating-button1`);\n const span = document.createElement(\"span\");\n button.append(span);\n span.className = \"visuallyHidden\";\n span.setAttribute(\"data-l10n-id\", \"pdfjs-highlight-floating-button-label\");\n const signal = this.#uiManager._signal;\n button.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n button.addEventListener(\"click\", () => {\n this.#uiManager.highlightSelection(\"floating_button\");\n }, {\n signal\n });\n this.#buttons.append(button);\n }\n}\n\n;// ./src/display/editor/tools.js\n\n\n\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\nclass IdManager {\n #id = 0;\n get id() {\n return `${AnnotationEditorPrefix}${this.#id++}`;\n }\n}\nclass ImageManager {\n #baseId = getUuid();\n #id = 0;\n #cache = null;\n static get _isSVGFittingCanvas() {\n const svg = `data:image/svg+xml;charset=UTF-8,`;\n const canvas = new OffscreenCanvas(1, 3);\n const ctx = canvas.getContext(\"2d\", {\n willReadFrequently: true\n });\n const image = new Image();\n image.src = svg;\n const promise = image.decode().then(() => {\n ctx.drawImage(image, 0, 0, 1, 1, 0, 0, 1, 3);\n return new Uint32Array(ctx.getImageData(0, 0, 1, 1).data.buffer)[0] === 0;\n });\n return shadow(this, \"_isSVGFittingCanvas\", promise);\n }\n async #get(key, rawData) {\n this.#cache ||= new Map();\n let data = this.#cache.get(key);\n if (data === null) {\n return null;\n }\n if (data?.bitmap) {\n data.refCounter += 1;\n return data;\n }\n try {\n data ||= {\n bitmap: null,\n id: `image_${this.#baseId}_${this.#id++}`,\n refCounter: 0,\n isSvg: false\n };\n let image;\n if (typeof rawData === \"string\") {\n data.url = rawData;\n image = await fetchData(rawData, \"blob\");\n } else if (rawData instanceof File) {\n image = data.file = rawData;\n } else if (rawData instanceof Blob) {\n image = rawData;\n }\n if (image.type === \"image/svg+xml\") {\n const mustRemoveAspectRatioPromise = ImageManager._isSVGFittingCanvas;\n const fileReader = new FileReader();\n const imageElement = new Image();\n const imagePromise = new Promise((resolve, reject) => {\n imageElement.onload = () => {\n data.bitmap = imageElement;\n data.isSvg = true;\n resolve();\n };\n fileReader.onload = async () => {\n const url = data.svgUrl = fileReader.result;\n imageElement.src = (await mustRemoveAspectRatioPromise) ? `${url}#svgView(preserveAspectRatio(none))` : url;\n };\n imageElement.onerror = fileReader.onerror = reject;\n });\n fileReader.readAsDataURL(image);\n await imagePromise;\n } else {\n data.bitmap = await createImageBitmap(image);\n }\n data.refCounter = 1;\n } catch (e) {\n console.error(e);\n data = null;\n }\n this.#cache.set(key, data);\n if (data) {\n this.#cache.set(data.id, data);\n }\n return data;\n }\n async getFromFile(file) {\n const {\n lastModified,\n name,\n size,\n type\n } = file;\n return this.#get(`${lastModified}_${name}_${size}_${type}`, file);\n }\n async getFromUrl(url) {\n return this.#get(url, url);\n }\n async getFromBlob(id, blobPromise) {\n const blob = await blobPromise;\n return this.#get(id, blob);\n }\n async getFromId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return null;\n }\n if (data.bitmap) {\n data.refCounter += 1;\n return data;\n }\n if (data.file) {\n return this.getFromFile(data.file);\n }\n if (data.blobPromise) {\n const {\n blobPromise\n } = data;\n delete data.blobPromise;\n return this.getFromBlob(data.id, blobPromise);\n }\n return this.getFromUrl(data.url);\n }\n getFromCanvas(id, canvas) {\n this.#cache ||= new Map();\n let data = this.#cache.get(id);\n if (data?.bitmap) {\n data.refCounter += 1;\n return data;\n }\n const offscreen = new OffscreenCanvas(canvas.width, canvas.height);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(canvas, 0, 0);\n data = {\n bitmap: offscreen.transferToImageBitmap(),\n id: `image_${this.#baseId}_${this.#id++}`,\n refCounter: 1,\n isSvg: false\n };\n this.#cache.set(id, data);\n this.#cache.set(data.id, data);\n return data;\n }\n getSvgUrl(id) {\n const data = this.#cache.get(id);\n if (!data?.isSvg) {\n return null;\n }\n return data.svgUrl;\n }\n deleteId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return;\n }\n data.refCounter -= 1;\n if (data.refCounter !== 0) {\n return;\n }\n const {\n bitmap\n } = data;\n if (!data.url && !data.file) {\n const canvas = new OffscreenCanvas(bitmap.width, bitmap.height);\n const ctx = canvas.getContext(\"bitmaprenderer\");\n ctx.transferFromImageBitmap(bitmap);\n data.blobPromise = canvas.convertToBlob();\n }\n bitmap.close?.();\n data.bitmap = null;\n }\n isValidId(id) {\n return id.startsWith(`image_${this.#baseId}_`);\n }\n}\nclass CommandManager {\n #commands = [];\n #locked = false;\n #maxSize;\n #position = -1;\n constructor(maxSize = 128) {\n this.#maxSize = maxSize;\n }\n add({\n cmd,\n undo,\n post,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n }) {\n if (mustExec) {\n cmd();\n }\n if (this.#locked) {\n return;\n }\n const save = {\n cmd,\n undo,\n post,\n type\n };\n if (this.#position === -1) {\n if (this.#commands.length > 0) {\n this.#commands.length = 0;\n }\n this.#position = 0;\n this.#commands.push(save);\n return;\n }\n if (overwriteIfSameType && this.#commands[this.#position].type === type) {\n if (keepUndo) {\n save.undo = this.#commands[this.#position].undo;\n }\n this.#commands[this.#position] = save;\n return;\n }\n const next = this.#position + 1;\n if (next === this.#maxSize) {\n this.#commands.splice(0, 1);\n } else {\n this.#position = next;\n if (next < this.#commands.length) {\n this.#commands.splice(next);\n }\n }\n this.#commands.push(save);\n }\n undo() {\n if (this.#position === -1) {\n return;\n }\n this.#locked = true;\n const {\n undo,\n post\n } = this.#commands[this.#position];\n undo();\n post?.();\n this.#locked = false;\n this.#position -= 1;\n }\n redo() {\n if (this.#position < this.#commands.length - 1) {\n this.#position += 1;\n this.#locked = true;\n const {\n cmd,\n post\n } = this.#commands[this.#position];\n cmd();\n post?.();\n this.#locked = false;\n }\n }\n hasSomethingToUndo() {\n return this.#position !== -1;\n }\n hasSomethingToRedo() {\n return this.#position < this.#commands.length - 1;\n }\n destroy() {\n this.#commands = null;\n }\n}\nclass KeyboardManager {\n constructor(callbacks) {\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const {\n isMac\n } = util_FeatureTest.platform;\n for (const [keys, callback, options = {}] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n #serialize(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n }\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n const info = this.callbacks.get(this.#serialize(event));\n if (!info) {\n return;\n }\n const {\n callback,\n options: {\n bubbles = false,\n args = [],\n checker = null\n }\n } = info;\n if (checker && !checker(self, event)) {\n return;\n }\n callback.bind(self, ...args, event)();\n if (!bubbles) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n}\nclass ColorManager {\n static _colorsMapping = new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]);\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n getColorValues(colors);\n return shadow(this, \"_colors\", colors);\n }\n convert(color) {\n const rgb = getRGB(color);\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n return rgb;\n }\n getHexCode(name) {\n const rgb = this._colors.get(name);\n if (!rgb) {\n return name;\n }\n return Util.makeHexColor(...rgb);\n }\n}\nclass AnnotationEditorUIManager {\n #abortController = new AbortController();\n #activeEditor = null;\n #allEditors = new Map();\n #allLayers = new Map();\n #altTextManager = null;\n #annotationStorage = null;\n #changedExistingAnnotations = null;\n #commandManager = new CommandManager();\n #copyPasteAC = null;\n #currentPageIndex = 0;\n #deletedAnnotationsElementIds = new Set();\n #draggingEditors = null;\n #editorTypes = null;\n #editorsToRescale = new Set();\n #enableHighlightFloatingButton = false;\n #enableUpdatedAddImage = false;\n #enableNewAltTextWhenAddingImage = false;\n #filterFactory = null;\n #focusMainContainerTimeoutId = null;\n #focusManagerAC = null;\n #highlightColors = null;\n #highlightWhenShiftUp = false;\n #highlightToolbar = null;\n #idManager = new IdManager();\n #isEnabled = false;\n #isWaiting = false;\n #keyboardManagerAC = null;\n #lastActiveElement = null;\n #mainHighlightColorPicker = null;\n #mlManager = null;\n #mode = AnnotationEditorType.NONE;\n #selectedEditors = new Set();\n #selectedTextNode = null;\n #pageColors = null;\n #showAllStates = null;\n #previousStates = {\n isEditing: false,\n isEmpty: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false,\n hasSelectedText: false\n };\n #translation = [0, 0];\n #translationTimeoutId = null;\n #container = null;\n #viewer = null;\n #updateModeCapability = null;\n static TRANSLATE_SMALL = 1;\n static TRANSLATE_BIG = 10;\n static get _keyboardManager() {\n const proto = AnnotationEditorUIManager.prototype;\n const arrowChecker = self => self.#container.contains(document.activeElement) && document.activeElement.tagName !== \"BUTTON\" && self.hasSomethingToControl();\n const textInputChecker = (_self, {\n target: el\n }) => {\n if (el instanceof HTMLInputElement) {\n const {\n type\n } = el;\n return type !== \"text\" && type !== \"number\";\n }\n return true;\n };\n const small = this.TRANSLATE_SMALL;\n const big = this.TRANSLATE_BIG;\n return shadow(this, \"_keyboardManager\", new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], proto.selectAll, {\n checker: textInputChecker\n }], [[\"ctrl+z\", \"mac+meta+z\"], proto.undo, {\n checker: textInputChecker\n }], [[\"ctrl+y\", \"ctrl+shift+z\", \"mac+meta+shift+z\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], proto.redo, {\n checker: textInputChecker\n }], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\", \"mac+Delete\"], proto.delete, {\n checker: textInputChecker\n }], [[\"Enter\", \"mac+Enter\"], proto.addNewEditorFromKeyboard, {\n checker: (self, {\n target: el\n }) => !(el instanceof HTMLButtonElement) && self.#container.contains(el) && !self.isEnterHandled\n }], [[\" \", \"mac+ \"], proto.addNewEditorFromKeyboard, {\n checker: (self, {\n target: el\n }) => !(el instanceof HTMLButtonElement) && self.#container.contains(document.activeElement)\n }], [[\"Escape\", \"mac+Escape\"], proto.unselectAll], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto.translateSelectedEditors, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto.translateSelectedEditors, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n constructor(container, viewer, altTextManager, eventBus, pdfDocument, pageColors, highlightColors, enableHighlightFloatingButton, enableUpdatedAddImage, enableNewAltTextWhenAddingImage, mlManager) {\n const signal = this._signal = this.#abortController.signal;\n this.#container = container;\n this.#viewer = viewer;\n this.#altTextManager = altTextManager;\n this._eventBus = eventBus;\n eventBus._on(\"editingaction\", this.onEditingAction.bind(this), {\n signal\n });\n eventBus._on(\"pagechanging\", this.onPageChanging.bind(this), {\n signal\n });\n eventBus._on(\"scalechanging\", this.onScaleChanging.bind(this), {\n signal\n });\n eventBus._on(\"rotationchanging\", this.onRotationChanging.bind(this), {\n signal\n });\n eventBus._on(\"setpreference\", this.onSetPreference.bind(this), {\n signal\n });\n eventBus._on(\"switchannotationeditorparams\", evt => this.updateParams(evt.type, evt.value), {\n signal\n });\n this.#addSelectionListener();\n this.#addDragAndDropListeners();\n this.#addKeyboardManager();\n this.#annotationStorage = pdfDocument.annotationStorage;\n this.#filterFactory = pdfDocument.filterFactory;\n this.#pageColors = pageColors;\n this.#highlightColors = highlightColors || null;\n this.#enableHighlightFloatingButton = enableHighlightFloatingButton;\n this.#enableUpdatedAddImage = enableUpdatedAddImage;\n this.#enableNewAltTextWhenAddingImage = enableNewAltTextWhenAddingImage;\n this.#mlManager = mlManager || null;\n this.viewParameters = {\n realScale: PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: 0\n };\n this.isShiftKeyDown = false;\n }\n destroy() {\n this.#updateModeCapability?.resolve();\n this.#updateModeCapability = null;\n this.#abortController?.abort();\n this.#abortController = null;\n this._signal = null;\n for (const layer of this.#allLayers.values()) {\n layer.destroy();\n }\n this.#allLayers.clear();\n this.#allEditors.clear();\n this.#editorsToRescale.clear();\n this.#activeEditor = null;\n this.#selectedEditors.clear();\n this.#commandManager.destroy();\n this.#altTextManager?.destroy();\n this.#highlightToolbar?.hide();\n this.#highlightToolbar = null;\n if (this.#focusMainContainerTimeoutId) {\n clearTimeout(this.#focusMainContainerTimeoutId);\n this.#focusMainContainerTimeoutId = null;\n }\n if (this.#translationTimeoutId) {\n clearTimeout(this.#translationTimeoutId);\n this.#translationTimeoutId = null;\n }\n }\n combinedSignal(ac) {\n return AbortSignal.any([this._signal, ac.signal]);\n }\n get mlManager() {\n return this.#mlManager;\n }\n get useNewAltTextFlow() {\n return this.#enableUpdatedAddImage;\n }\n get useNewAltTextWhenAddingImage() {\n return this.#enableNewAltTextWhenAddingImage;\n }\n get hcmFilter() {\n return shadow(this, \"hcmFilter\", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : \"none\");\n }\n get direction() {\n return shadow(this, \"direction\", getComputedStyle(this.#container).direction);\n }\n get highlightColors() {\n return shadow(this, \"highlightColors\", this.#highlightColors ? new Map(this.#highlightColors.split(\",\").map(pair => pair.split(\"=\").map(x => x.trim()))) : null);\n }\n get highlightColorNames() {\n return shadow(this, \"highlightColorNames\", this.highlightColors ? new Map(Array.from(this.highlightColors, e => e.reverse())) : null);\n }\n setMainHighlightColorPicker(colorPicker) {\n this.#mainHighlightColorPicker = colorPicker;\n }\n editAltText(editor, firstTime = false) {\n this.#altTextManager?.editAltText(this, editor, firstTime);\n }\n switchToMode(mode, callback) {\n this._eventBus.on(\"annotationeditormodechanged\", callback, {\n once: true,\n signal: this._signal\n });\n this._eventBus.dispatch(\"showannotationeditorui\", {\n source: this,\n mode\n });\n }\n setPreference(name, value) {\n this._eventBus.dispatch(\"setpreference\", {\n source: this,\n name,\n value\n });\n }\n onSetPreference({\n name,\n value\n }) {\n switch (name) {\n case \"enableNewAltTextWhenAddingImage\":\n this.#enableNewAltTextWhenAddingImage = value;\n break;\n }\n }\n onPageChanging({\n pageNumber\n }) {\n this.#currentPageIndex = pageNumber - 1;\n }\n focusMainContainer() {\n this.#container.focus();\n }\n findParent(x, y) {\n for (const layer of this.#allLayers.values()) {\n const {\n x: layerX,\n y: layerY,\n width,\n height\n } = layer.div.getBoundingClientRect();\n if (x >= layerX && x <= layerX + width && y >= layerY && y <= layerY + height) {\n return layer;\n }\n }\n return null;\n }\n disableUserSelect(value = false) {\n this.#viewer.classList.toggle(\"noUserSelect\", value);\n }\n addShouldRescale(editor) {\n this.#editorsToRescale.add(editor);\n }\n removeShouldRescale(editor) {\n this.#editorsToRescale.delete(editor);\n }\n onScaleChanging({\n scale\n }) {\n this.commitOrRemove();\n this.viewParameters.realScale = scale * PixelsPerInch.PDF_TO_CSS_UNITS;\n for (const editor of this.#editorsToRescale) {\n editor.onScaleChanging();\n }\n }\n onRotationChanging({\n pagesRotation\n }) {\n this.commitOrRemove();\n this.viewParameters.rotation = pagesRotation;\n }\n #getAnchorElementForSelection({\n anchorNode\n }) {\n return anchorNode.nodeType === Node.TEXT_NODE ? anchorNode.parentElement : anchorNode;\n }\n #getLayerForTextLayer(textLayer) {\n const {\n currentLayer\n } = this;\n if (currentLayer.hasTextLayer(textLayer)) {\n return currentLayer;\n }\n for (const layer of this.#allLayers.values()) {\n if (layer.hasTextLayer(textLayer)) {\n return layer;\n }\n }\n return null;\n }\n highlightSelection(methodOfCreation = \"\") {\n const selection = document.getSelection();\n if (!selection || selection.isCollapsed) {\n return;\n }\n const {\n anchorNode,\n anchorOffset,\n focusNode,\n focusOffset\n } = selection;\n const text = selection.toString();\n const anchorElement = this.#getAnchorElementForSelection(selection);\n const textLayer = anchorElement.closest(\".textLayer\");\n const boxes = this.getSelectionBoxes(textLayer);\n if (!boxes) {\n return;\n }\n selection.empty();\n const layer = this.#getLayerForTextLayer(textLayer);\n const isNoneMode = this.#mode === AnnotationEditorType.NONE;\n const callback = () => {\n layer?.createAndAddNewEditor({\n x: 0,\n y: 0\n }, false, {\n methodOfCreation,\n boxes,\n anchorNode,\n anchorOffset,\n focusNode,\n focusOffset,\n text\n });\n if (isNoneMode) {\n this.showAllEditors(\"highlight\", true, true);\n }\n };\n if (isNoneMode) {\n this.switchToMode(AnnotationEditorType.HIGHLIGHT, callback);\n return;\n }\n callback();\n }\n #displayHighlightToolbar() {\n const selection = document.getSelection();\n if (!selection || selection.isCollapsed) {\n return;\n }\n const anchorElement = this.#getAnchorElementForSelection(selection);\n const textLayer = anchorElement.closest(\".textLayer\");\n const boxes = this.getSelectionBoxes(textLayer);\n if (!boxes) {\n return;\n }\n this.#highlightToolbar ||= new HighlightToolbar(this);\n this.#highlightToolbar.show(textLayer, boxes, this.direction === \"ltr\");\n }\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) {\n this.#annotationStorage.setValue(editor.id, editor);\n }\n }\n #selectionChange() {\n const selection = document.getSelection();\n if (!selection || selection.isCollapsed) {\n if (this.#selectedTextNode) {\n this.#highlightToolbar?.hide();\n this.#selectedTextNode = null;\n this.#dispatchUpdateStates({\n hasSelectedText: false\n });\n }\n return;\n }\n const {\n anchorNode\n } = selection;\n if (anchorNode === this.#selectedTextNode) {\n return;\n }\n const anchorElement = this.#getAnchorElementForSelection(selection);\n const textLayer = anchorElement.closest(\".textLayer\");\n if (!textLayer) {\n if (this.#selectedTextNode) {\n this.#highlightToolbar?.hide();\n this.#selectedTextNode = null;\n this.#dispatchUpdateStates({\n hasSelectedText: false\n });\n }\n return;\n }\n this.#highlightToolbar?.hide();\n this.#selectedTextNode = anchorNode;\n this.#dispatchUpdateStates({\n hasSelectedText: true\n });\n if (this.#mode !== AnnotationEditorType.HIGHLIGHT && this.#mode !== AnnotationEditorType.NONE) {\n return;\n }\n if (this.#mode === AnnotationEditorType.HIGHLIGHT) {\n this.showAllEditors(\"highlight\", true, true);\n }\n this.#highlightWhenShiftUp = this.isShiftKeyDown;\n if (!this.isShiftKeyDown) {\n const activeLayer = this.#mode === AnnotationEditorType.HIGHLIGHT ? this.#getLayerForTextLayer(textLayer) : null;\n activeLayer?.toggleDrawing();\n const ac = new AbortController();\n const signal = this.combinedSignal(ac);\n const pointerup = e => {\n if (e.type === \"pointerup\" && e.button !== 0) {\n return;\n }\n ac.abort();\n activeLayer?.toggleDrawing(true);\n if (e.type === \"pointerup\") {\n this.#onSelectEnd(\"main_toolbar\");\n }\n };\n window.addEventListener(\"pointerup\", pointerup, {\n signal\n });\n window.addEventListener(\"blur\", pointerup, {\n signal\n });\n }\n }\n #onSelectEnd(methodOfCreation = \"\") {\n if (this.#mode === AnnotationEditorType.HIGHLIGHT) {\n this.highlightSelection(methodOfCreation);\n } else if (this.#enableHighlightFloatingButton) {\n this.#displayHighlightToolbar();\n }\n }\n #addSelectionListener() {\n document.addEventListener(\"selectionchange\", this.#selectionChange.bind(this), {\n signal: this._signal\n });\n }\n #addFocusManager() {\n if (this.#focusManagerAC) {\n return;\n }\n this.#focusManagerAC = new AbortController();\n const signal = this.combinedSignal(this.#focusManagerAC);\n window.addEventListener(\"focus\", this.focus.bind(this), {\n signal\n });\n window.addEventListener(\"blur\", this.blur.bind(this), {\n signal\n });\n }\n #removeFocusManager() {\n this.#focusManagerAC?.abort();\n this.#focusManagerAC = null;\n }\n blur() {\n this.isShiftKeyDown = false;\n if (this.#highlightWhenShiftUp) {\n this.#highlightWhenShiftUp = false;\n this.#onSelectEnd(\"main_toolbar\");\n }\n if (!this.hasSelection) {\n return;\n }\n const {\n activeElement\n } = document;\n for (const editor of this.#selectedEditors) {\n if (editor.div.contains(activeElement)) {\n this.#lastActiveElement = [editor, activeElement];\n editor._focusEventsAllowed = false;\n break;\n }\n }\n }\n focus() {\n if (!this.#lastActiveElement) {\n return;\n }\n const [lastEditor, lastActiveElement] = this.#lastActiveElement;\n this.#lastActiveElement = null;\n lastActiveElement.addEventListener(\"focusin\", () => {\n lastEditor._focusEventsAllowed = true;\n }, {\n once: true,\n signal: this._signal\n });\n lastActiveElement.focus();\n }\n #addKeyboardManager() {\n if (this.#keyboardManagerAC) {\n return;\n }\n this.#keyboardManagerAC = new AbortController();\n const signal = this.combinedSignal(this.#keyboardManagerAC);\n window.addEventListener(\"keydown\", this.keydown.bind(this), {\n signal\n });\n window.addEventListener(\"keyup\", this.keyup.bind(this), {\n signal\n });\n }\n #removeKeyboardManager() {\n this.#keyboardManagerAC?.abort();\n this.#keyboardManagerAC = null;\n }\n #addCopyPasteListeners() {\n if (this.#copyPasteAC) {\n return;\n }\n this.#copyPasteAC = new AbortController();\n const signal = this.combinedSignal(this.#copyPasteAC);\n document.addEventListener(\"copy\", this.copy.bind(this), {\n signal\n });\n document.addEventListener(\"cut\", this.cut.bind(this), {\n signal\n });\n document.addEventListener(\"paste\", this.paste.bind(this), {\n signal\n });\n }\n #removeCopyPasteListeners() {\n this.#copyPasteAC?.abort();\n this.#copyPasteAC = null;\n }\n #addDragAndDropListeners() {\n const signal = this._signal;\n document.addEventListener(\"dragover\", this.dragOver.bind(this), {\n signal\n });\n document.addEventListener(\"drop\", this.drop.bind(this), {\n signal\n });\n }\n addEditListeners() {\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n }\n removeEditListeners() {\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n }\n dragOver(event) {\n for (const {\n type\n } of event.dataTransfer.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(type)) {\n event.dataTransfer.dropEffect = \"copy\";\n event.preventDefault();\n return;\n }\n }\n }\n }\n drop(event) {\n for (const item of event.dataTransfer.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(item.type)) {\n editorType.paste(item, this.currentLayer);\n event.preventDefault();\n return;\n }\n }\n }\n }\n copy(event) {\n event.preventDefault();\n this.#activeEditor?.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [];\n for (const editor of this.#selectedEditors) {\n const serialized = editor.serialize(true);\n if (serialized) {\n editors.push(serialized);\n }\n }\n if (editors.length === 0) {\n return;\n }\n event.clipboardData.setData(\"application/pdfjs\", JSON.stringify(editors));\n }\n cut(event) {\n this.copy(event);\n this.delete();\n }\n async paste(event) {\n event.preventDefault();\n const {\n clipboardData\n } = event;\n for (const item of clipboardData.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(item.type)) {\n editorType.paste(item, this.currentLayer);\n return;\n }\n }\n }\n let data = clipboardData.getData(\"application/pdfjs\");\n if (!data) {\n return;\n }\n try {\n data = JSON.parse(data);\n } catch (ex) {\n warn(`paste: \"${ex.message}\".`);\n return;\n }\n if (!Array.isArray(data)) {\n return;\n }\n this.unselectAll();\n const layer = this.currentLayer;\n try {\n const newEditors = [];\n for (const editor of data) {\n const deserializedEditor = await layer.deserialize(editor);\n if (!deserializedEditor) {\n return;\n }\n newEditors.push(deserializedEditor);\n }\n const cmd = () => {\n for (const editor of newEditors) {\n this.#addEditorToLayer(editor);\n }\n this.#selectEditors(newEditors);\n };\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n } catch (ex) {\n warn(`paste: \"${ex.message}\".`);\n }\n }\n keydown(event) {\n if (!this.isShiftKeyDown && event.key === \"Shift\") {\n this.isShiftKeyDown = true;\n }\n if (this.#mode !== AnnotationEditorType.NONE && !this.isEditorHandlingKeyboard) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n keyup(event) {\n if (this.isShiftKeyDown && event.key === \"Shift\") {\n this.isShiftKeyDown = false;\n if (this.#highlightWhenShiftUp) {\n this.#highlightWhenShiftUp = false;\n this.#onSelectEnd(\"main_toolbar\");\n }\n }\n }\n onEditingAction({\n name\n }) {\n switch (name) {\n case \"undo\":\n case \"redo\":\n case \"delete\":\n case \"selectAll\":\n this[name]();\n break;\n case \"highlightSelection\":\n this.highlightSelection(\"context_menu\");\n break;\n }\n }\n #dispatchUpdateStates(details) {\n const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value);\n if (hasChanged) {\n this._eventBus.dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(this.#previousStates, details)\n });\n if (this.#mode === AnnotationEditorType.HIGHLIGHT && details.hasSelectedEditor === false) {\n this.#dispatchUpdateUI([[AnnotationEditorParamsType.HIGHLIGHT_FREE, true]]);\n }\n }\n }\n #dispatchUpdateUI(details) {\n this._eventBus.dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n }\n setEditingState(isEditing) {\n if (isEditing) {\n this.#addFocusManager();\n this.#addCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: this.#mode !== AnnotationEditorType.NONE,\n isEmpty: this.#isEmpty(),\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n hasSelectedEditor: false\n });\n } else {\n this.#removeFocusManager();\n this.#removeCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: false\n });\n this.disableUserSelect(false);\n }\n }\n registerEditorTypes(types) {\n if (this.#editorTypes) {\n return;\n }\n this.#editorTypes = types;\n for (const editorType of this.#editorTypes) {\n this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate);\n }\n }\n getId() {\n return this.#idManager.id;\n }\n get currentLayer() {\n return this.#allLayers.get(this.#currentPageIndex);\n }\n getLayer(pageIndex) {\n return this.#allLayers.get(pageIndex);\n }\n get currentPageIndex() {\n return this.#currentPageIndex;\n }\n addLayer(layer) {\n this.#allLayers.set(layer.pageIndex, layer);\n if (this.#isEnabled) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n removeLayer(layer) {\n this.#allLayers.delete(layer.pageIndex);\n }\n async updateMode(mode, editId = null, isFromKeyboard = false) {\n if (this.#mode === mode) {\n return;\n }\n if (this.#updateModeCapability) {\n await this.#updateModeCapability.promise;\n if (!this.#updateModeCapability) {\n return;\n }\n }\n this.#updateModeCapability = Promise.withResolvers();\n this.#mode = mode;\n if (mode === AnnotationEditorType.NONE) {\n this.setEditingState(false);\n this.#disableAll();\n this.#updateModeCapability.resolve();\n return;\n }\n this.setEditingState(true);\n await this.#enableAll();\n this.unselectAll();\n for (const layer of this.#allLayers.values()) {\n layer.updateMode(mode);\n }\n if (!editId) {\n if (isFromKeyboard) {\n this.addNewEditorFromKeyboard();\n }\n this.#updateModeCapability.resolve();\n return;\n }\n for (const editor of this.#allEditors.values()) {\n if (editor.annotationElementId === editId) {\n this.setSelected(editor);\n editor.enterInEditMode();\n } else {\n editor.unselect();\n }\n }\n this.#updateModeCapability.resolve();\n }\n addNewEditorFromKeyboard() {\n if (this.currentLayer.canCreateNewEmptyEditor()) {\n this.currentLayer.addNewEditor();\n }\n }\n updateToolbar(mode) {\n if (mode === this.#mode) {\n return;\n }\n this._eventBus.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n updateParams(type, value) {\n if (!this.#editorTypes) {\n return;\n }\n switch (type) {\n case AnnotationEditorParamsType.CREATE:\n this.currentLayer.addNewEditor();\n return;\n case AnnotationEditorParamsType.HIGHLIGHT_DEFAULT_COLOR:\n this.#mainHighlightColorPicker?.updateColor(value);\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL:\n this._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n data: {\n type: \"highlight\",\n action: \"toggle_visibility\"\n }\n }\n });\n (this.#showAllStates ||= new Map()).set(type, value);\n this.showAllEditors(\"highlight\", value);\n break;\n }\n for (const editor of this.#selectedEditors) {\n editor.updateParams(type, value);\n }\n for (const editorType of this.#editorTypes) {\n editorType.updateDefaultParams(type, value);\n }\n }\n showAllEditors(type, visible, updateButton = false) {\n for (const editor of this.#allEditors.values()) {\n if (editor.editorType === type) {\n editor.show(visible);\n }\n }\n const state = this.#showAllStates?.get(AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL) ?? true;\n if (state !== visible) {\n this.#dispatchUpdateUI([[AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL, visible]]);\n }\n }\n enableWaiting(mustWait = false) {\n if (this.#isWaiting === mustWait) {\n return;\n }\n this.#isWaiting = mustWait;\n for (const layer of this.#allLayers.values()) {\n if (mustWait) {\n layer.disableClick();\n } else {\n layer.enableClick();\n }\n layer.div.classList.toggle(\"waiting\", mustWait);\n }\n }\n async #enableAll() {\n if (!this.#isEnabled) {\n this.#isEnabled = true;\n const promises = [];\n for (const layer of this.#allLayers.values()) {\n promises.push(layer.enable());\n }\n await Promise.all(promises);\n for (const editor of this.#allEditors.values()) {\n editor.enable();\n }\n }\n }\n #disableAll() {\n this.unselectAll();\n if (this.#isEnabled) {\n this.#isEnabled = false;\n for (const layer of this.#allLayers.values()) {\n layer.disable();\n }\n for (const editor of this.#allEditors.values()) {\n editor.disable();\n }\n }\n }\n getEditors(pageIndex) {\n const editors = [];\n for (const editor of this.#allEditors.values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n return editors;\n }\n getEditor(id) {\n return this.#allEditors.get(id);\n }\n addEditor(editor) {\n this.#allEditors.set(editor.id, editor);\n }\n removeEditor(editor) {\n if (editor.div.contains(document.activeElement)) {\n if (this.#focusMainContainerTimeoutId) {\n clearTimeout(this.#focusMainContainerTimeoutId);\n }\n this.#focusMainContainerTimeoutId = setTimeout(() => {\n this.focusMainContainer();\n this.#focusMainContainerTimeoutId = null;\n }, 0);\n }\n this.#allEditors.delete(editor.id);\n this.unselect(editor);\n if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) {\n this.#annotationStorage?.remove(editor.id);\n }\n }\n addDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.add(editor.annotationElementId);\n this.addChangedExistingAnnotation(editor);\n editor.deleted = true;\n }\n isDeletedAnnotationElement(annotationElementId) {\n return this.#deletedAnnotationsElementIds.has(annotationElementId);\n }\n removeDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.delete(editor.annotationElementId);\n this.removeChangedExistingAnnotation(editor);\n editor.deleted = false;\n }\n #addEditorToLayer(editor) {\n const layer = this.#allLayers.get(editor.pageIndex);\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n this.addToAnnotationStorage(editor);\n }\n }\n setActiveEditor(editor) {\n if (this.#activeEditor === editor) {\n return;\n }\n this.#activeEditor = editor;\n if (editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n get #lastSelectedEditor() {\n let ed = null;\n for (ed of this.#selectedEditors) {}\n return ed;\n }\n updateUI(editor) {\n if (this.#lastSelectedEditor === editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n toggleSelected(editor) {\n if (this.#selectedEditors.has(editor)) {\n this.#selectedEditors.delete(editor);\n editor.unselect();\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n return;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n setSelected(editor) {\n for (const ed of this.#selectedEditors) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n this.#selectedEditors.clear();\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n isSelected(editor) {\n return this.#selectedEditors.has(editor);\n }\n get firstSelectedEditor() {\n return this.#selectedEditors.values().next().value;\n }\n unselect(editor) {\n editor.unselect();\n this.#selectedEditors.delete(editor);\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n get hasSelection() {\n return this.#selectedEditors.size !== 0;\n }\n get isEnterHandled() {\n return this.#selectedEditors.size === 1 && this.firstSelectedEditor.isEnterHandled;\n }\n undo() {\n this.#commandManager.undo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: this.#isEmpty()\n });\n }\n redo() {\n this.#commandManager.redo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n isEmpty: this.#isEmpty()\n });\n }\n addCommands(params) {\n this.#commandManager.add(params);\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: this.#isEmpty()\n });\n }\n #isEmpty() {\n if (this.#allEditors.size === 0) {\n return true;\n }\n if (this.#allEditors.size === 1) {\n for (const editor of this.#allEditors.values()) {\n return editor.isEmpty();\n }\n }\n return false;\n }\n delete() {\n this.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [...this.#selectedEditors];\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n const undo = () => {\n for (const editor of editors) {\n this.#addEditorToLayer(editor);\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n commitOrRemove() {\n this.#activeEditor?.commitOrRemove();\n }\n hasSomethingToControl() {\n return this.#activeEditor || this.hasSelection;\n }\n #selectEditors(editors) {\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n }\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n selectAll() {\n for (const editor of this.#selectedEditors) {\n editor.commit();\n }\n this.#selectEditors(this.#allEditors.values());\n }\n unselectAll() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n if (this.#mode !== AnnotationEditorType.NONE) {\n return;\n }\n }\n if (!this.hasSelection) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n this.#dispatchUpdateStates({\n hasSelectedEditor: false\n });\n }\n translateSelectedEditors(x, y, noCommit = false) {\n if (!noCommit) {\n this.commitOrRemove();\n }\n if (!this.hasSelection) {\n return;\n }\n this.#translation[0] += x;\n this.#translation[1] += y;\n const [totalX, totalY] = this.#translation;\n const editors = [...this.#selectedEditors];\n const TIME_TO_WAIT = 1000;\n if (this.#translationTimeoutId) {\n clearTimeout(this.#translationTimeoutId);\n }\n this.#translationTimeoutId = setTimeout(() => {\n this.#translationTimeoutId = null;\n this.#translation[0] = this.#translation[1] = 0;\n this.addCommands({\n cmd: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(totalX, totalY);\n }\n }\n },\n undo: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(-totalX, -totalY);\n }\n }\n },\n mustExec: false\n });\n }, TIME_TO_WAIT);\n for (const editor of editors) {\n editor.translateInPage(x, y);\n }\n }\n setUpDragSession() {\n if (!this.hasSelection) {\n return;\n }\n this.disableUserSelect(true);\n this.#draggingEditors = new Map();\n for (const editor of this.#selectedEditors) {\n this.#draggingEditors.set(editor, {\n savedX: editor.x,\n savedY: editor.y,\n savedPageIndex: editor.pageIndex,\n newX: 0,\n newY: 0,\n newPageIndex: -1\n });\n }\n }\n endDragSession() {\n if (!this.#draggingEditors) {\n return false;\n }\n this.disableUserSelect(false);\n const map = this.#draggingEditors;\n this.#draggingEditors = null;\n let mustBeAddedInUndoStack = false;\n for (const [{\n x,\n y,\n pageIndex\n }, value] of map) {\n value.newX = x;\n value.newY = y;\n value.newPageIndex = pageIndex;\n mustBeAddedInUndoStack ||= x !== value.savedX || y !== value.savedY || pageIndex !== value.savedPageIndex;\n }\n if (!mustBeAddedInUndoStack) {\n return false;\n }\n const move = (editor, x, y, pageIndex) => {\n if (this.#allEditors.has(editor.id)) {\n const parent = this.#allLayers.get(pageIndex);\n if (parent) {\n editor._setParentAndPosition(parent, x, y);\n } else {\n editor.pageIndex = pageIndex;\n editor.x = x;\n editor.y = y;\n }\n }\n };\n this.addCommands({\n cmd: () => {\n for (const [editor, {\n newX,\n newY,\n newPageIndex\n }] of map) {\n move(editor, newX, newY, newPageIndex);\n }\n },\n undo: () => {\n for (const [editor, {\n savedX,\n savedY,\n savedPageIndex\n }] of map) {\n move(editor, savedX, savedY, savedPageIndex);\n }\n },\n mustExec: true\n });\n return true;\n }\n dragSelectedEditors(tx, ty) {\n if (!this.#draggingEditors) {\n return;\n }\n for (const editor of this.#draggingEditors.keys()) {\n editor.drag(tx, ty);\n }\n }\n rebuild(editor) {\n if (editor.parent === null) {\n const parent = this.getLayer(editor.pageIndex);\n if (parent) {\n parent.changeParent(editor);\n parent.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n this.addToAnnotationStorage(editor);\n editor.rebuild();\n }\n } else {\n editor.parent.addOrRebuild(editor);\n }\n }\n get isEditorHandlingKeyboard() {\n return this.getActive()?.shouldGetKeyboardEvents() || this.#selectedEditors.size === 1 && this.firstSelectedEditor.shouldGetKeyboardEvents();\n }\n isActive(editor) {\n return this.#activeEditor === editor;\n }\n getActive() {\n return this.#activeEditor;\n }\n getMode() {\n return this.#mode;\n }\n get imageManager() {\n return shadow(this, \"imageManager\", new ImageManager());\n }\n getSelectionBoxes(textLayer) {\n if (!textLayer) {\n return null;\n }\n const selection = document.getSelection();\n for (let i = 0, ii = selection.rangeCount; i < ii; i++) {\n if (!textLayer.contains(selection.getRangeAt(i).commonAncestorContainer)) {\n return null;\n }\n }\n const {\n x: layerX,\n y: layerY,\n width: parentWidth,\n height: parentHeight\n } = textLayer.getBoundingClientRect();\n let rotator;\n switch (textLayer.getAttribute(\"data-main-rotation\")) {\n case \"90\":\n rotator = (x, y, w, h) => ({\n x: (y - layerY) / parentHeight,\n y: 1 - (x + w - layerX) / parentWidth,\n width: h / parentHeight,\n height: w / parentWidth\n });\n break;\n case \"180\":\n rotator = (x, y, w, h) => ({\n x: 1 - (x + w - layerX) / parentWidth,\n y: 1 - (y + h - layerY) / parentHeight,\n width: w / parentWidth,\n height: h / parentHeight\n });\n break;\n case \"270\":\n rotator = (x, y, w, h) => ({\n x: 1 - (y + h - layerY) / parentHeight,\n y: (x - layerX) / parentWidth,\n width: h / parentHeight,\n height: w / parentWidth\n });\n break;\n default:\n rotator = (x, y, w, h) => ({\n x: (x - layerX) / parentWidth,\n y: (y - layerY) / parentHeight,\n width: w / parentWidth,\n height: h / parentHeight\n });\n break;\n }\n const boxes = [];\n for (let i = 0, ii = selection.rangeCount; i < ii; i++) {\n const range = selection.getRangeAt(i);\n if (range.collapsed) {\n continue;\n }\n for (const {\n x,\n y,\n width,\n height\n } of range.getClientRects()) {\n if (width === 0 || height === 0) {\n continue;\n }\n boxes.push(rotator(x, y, width, height));\n }\n }\n return boxes.length === 0 ? null : boxes;\n }\n addChangedExistingAnnotation({\n annotationElementId,\n id\n }) {\n (this.#changedExistingAnnotations ||= new Map()).set(annotationElementId, id);\n }\n removeChangedExistingAnnotation({\n annotationElementId\n }) {\n this.#changedExistingAnnotations?.delete(annotationElementId);\n }\n renderAnnotationElement(annotation) {\n const editorId = this.#changedExistingAnnotations?.get(annotation.data.id);\n if (!editorId) {\n return;\n }\n const editor = this.#annotationStorage.getRawValue(editorId);\n if (!editor) {\n return;\n }\n if (this.#mode === AnnotationEditorType.NONE && !editor.hasBeenModified) {\n return;\n }\n editor.renderAnnotationElement(annotation);\n }\n}\n\n;// ./src/display/editor/alt_text.js\n\nclass AltText {\n #altText = null;\n #altTextDecorative = false;\n #altTextButton = null;\n #altTextButtonLabel = null;\n #altTextTooltip = null;\n #altTextTooltipTimeout = null;\n #altTextWasFromKeyBoard = false;\n #badge = null;\n #editor = null;\n #guessedText = null;\n #textWithDisclaimer = null;\n #useNewAltTextFlow = false;\n static #l10nNewButton = null;\n static _l10n = null;\n constructor(editor) {\n this.#editor = editor;\n this.#useNewAltTextFlow = editor._uiManager.useNewAltTextFlow;\n AltText.#l10nNewButton ||= Object.freeze({\n added: \"pdfjs-editor-new-alt-text-added-button\",\n \"added-label\": \"pdfjs-editor-new-alt-text-added-button-label\",\n missing: \"pdfjs-editor-new-alt-text-missing-button\",\n \"missing-label\": \"pdfjs-editor-new-alt-text-missing-button-label\",\n review: \"pdfjs-editor-new-alt-text-to-review-button\",\n \"review-label\": \"pdfjs-editor-new-alt-text-to-review-button-label\"\n });\n }\n static initialize(l10n) {\n AltText._l10n ??= l10n;\n }\n async render() {\n const altText = this.#altTextButton = document.createElement(\"button\");\n altText.className = \"altText\";\n altText.tabIndex = \"0\";\n const label = this.#altTextButtonLabel = document.createElement(\"span\");\n altText.append(label);\n if (this.#useNewAltTextFlow) {\n altText.classList.add(\"new\");\n altText.setAttribute(\"data-l10n-id\", AltText.#l10nNewButton.missing);\n label.setAttribute(\"data-l10n-id\", AltText.#l10nNewButton[\"missing-label\"]);\n } else {\n altText.setAttribute(\"data-l10n-id\", \"pdfjs-editor-alt-text-button\");\n label.setAttribute(\"data-l10n-id\", \"pdfjs-editor-alt-text-button-label\");\n }\n const signal = this.#editor._uiManager._signal;\n altText.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n altText.addEventListener(\"pointerdown\", event => event.stopPropagation(), {\n signal\n });\n const onClick = event => {\n event.preventDefault();\n this.#editor._uiManager.editAltText(this.#editor);\n if (this.#useNewAltTextFlow) {\n this.#editor._reportTelemetry({\n action: \"pdfjs.image.alt_text.image_status_label_clicked\",\n data: {\n label: this.#label\n }\n });\n }\n };\n altText.addEventListener(\"click\", onClick, {\n capture: true,\n signal\n });\n altText.addEventListener(\"keydown\", event => {\n if (event.target === altText && event.key === \"Enter\") {\n this.#altTextWasFromKeyBoard = true;\n onClick(event);\n }\n }, {\n signal\n });\n await this.#setState();\n return altText;\n }\n get #label() {\n return this.#altText && \"added\" || this.#altText === null && this.guessedText && \"review\" || \"missing\";\n }\n finish() {\n if (!this.#altTextButton) {\n return;\n }\n this.#altTextButton.focus({\n focusVisible: this.#altTextWasFromKeyBoard\n });\n this.#altTextWasFromKeyBoard = false;\n }\n isEmpty() {\n if (this.#useNewAltTextFlow) {\n return this.#altText === null;\n }\n return !this.#altText && !this.#altTextDecorative;\n }\n hasData() {\n if (this.#useNewAltTextFlow) {\n return this.#altText !== null || !!this.#guessedText;\n }\n return this.isEmpty();\n }\n get guessedText() {\n return this.#guessedText;\n }\n async setGuessedText(guessedText) {\n if (this.#altText !== null) {\n return;\n }\n this.#guessedText = guessedText;\n this.#textWithDisclaimer = await AltText._l10n.get(\"pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer\", {\n generatedAltText: guessedText\n });\n this.#setState();\n }\n toggleAltTextBadge(visibility = false) {\n if (!this.#useNewAltTextFlow || this.#altText) {\n this.#badge?.remove();\n this.#badge = null;\n return;\n }\n if (!this.#badge) {\n const badge = this.#badge = document.createElement(\"div\");\n badge.className = \"noAltTextBadge\";\n this.#editor.div.append(badge);\n }\n this.#badge.classList.toggle(\"hidden\", !visibility);\n }\n serialize(isForCopying) {\n let altText = this.#altText;\n if (!isForCopying && this.#guessedText === altText) {\n altText = this.#textWithDisclaimer;\n }\n return {\n altText,\n decorative: this.#altTextDecorative,\n guessedText: this.#guessedText,\n textWithDisclaimer: this.#textWithDisclaimer\n };\n }\n get data() {\n return {\n altText: this.#altText,\n decorative: this.#altTextDecorative\n };\n }\n set data({\n altText,\n decorative,\n guessedText,\n textWithDisclaimer,\n cancel = false\n }) {\n if (guessedText) {\n this.#guessedText = guessedText;\n this.#textWithDisclaimer = textWithDisclaimer;\n }\n if (this.#altText === altText && this.#altTextDecorative === decorative) {\n return;\n }\n if (!cancel) {\n this.#altText = altText;\n this.#altTextDecorative = decorative;\n }\n this.#setState();\n }\n toggle(enabled = false) {\n if (!this.#altTextButton) {\n return;\n }\n if (!enabled && this.#altTextTooltipTimeout) {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n }\n this.#altTextButton.disabled = !enabled;\n }\n shown() {\n this.#editor._reportTelemetry({\n action: \"pdfjs.image.alt_text.image_status_label_displayed\",\n data: {\n label: this.#label\n }\n });\n }\n destroy() {\n this.#altTextButton?.remove();\n this.#altTextButton = null;\n this.#altTextButtonLabel = null;\n this.#altTextTooltip = null;\n this.#badge?.remove();\n this.#badge = null;\n }\n async #setState() {\n const button = this.#altTextButton;\n if (!button) {\n return;\n }\n if (this.#useNewAltTextFlow) {\n button.classList.toggle(\"done\", !!this.#altText);\n button.setAttribute(\"data-l10n-id\", AltText.#l10nNewButton[this.#label]);\n this.#altTextButtonLabel?.setAttribute(\"data-l10n-id\", AltText.#l10nNewButton[`${this.#label}-label`]);\n if (!this.#altText) {\n this.#altTextTooltip?.remove();\n return;\n }\n } else {\n if (!this.#altText && !this.#altTextDecorative) {\n button.classList.remove(\"done\");\n this.#altTextTooltip?.remove();\n return;\n }\n button.classList.add(\"done\");\n button.setAttribute(\"data-l10n-id\", \"pdfjs-editor-alt-text-edit-button\");\n }\n let tooltip = this.#altTextTooltip;\n if (!tooltip) {\n this.#altTextTooltip = tooltip = document.createElement(\"span\");\n tooltip.className = \"tooltip\";\n tooltip.setAttribute(\"role\", \"tooltip\");\n tooltip.id = `alt-text-tooltip-${this.#editor.id}`;\n const DELAY_TO_SHOW_TOOLTIP = 100;\n const signal = this.#editor._uiManager._signal;\n signal.addEventListener(\"abort\", () => {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n }, {\n once: true\n });\n button.addEventListener(\"mouseenter\", () => {\n this.#altTextTooltipTimeout = setTimeout(() => {\n this.#altTextTooltipTimeout = null;\n this.#altTextTooltip.classList.add(\"show\");\n this.#editor._reportTelemetry({\n action: \"alt_text_tooltip\"\n });\n }, DELAY_TO_SHOW_TOOLTIP);\n }, {\n signal\n });\n button.addEventListener(\"mouseleave\", () => {\n if (this.#altTextTooltipTimeout) {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n }\n this.#altTextTooltip?.classList.remove(\"show\");\n }, {\n signal\n });\n }\n if (this.#altTextDecorative) {\n tooltip.setAttribute(\"data-l10n-id\", \"pdfjs-editor-alt-text-decorative-tooltip\");\n } else {\n tooltip.removeAttribute(\"data-l10n-id\");\n tooltip.textContent = this.#altText;\n }\n if (!tooltip.parentNode) {\n button.append(tooltip);\n }\n const element = this.#editor.getImageForAltText();\n element?.setAttribute(\"aria-describedby\", tooltip.id);\n }\n}\n\n;// ./src/display/editor/editor.js\n\n\n\n\n\nclass AnnotationEditor {\n #accessibilityData = null;\n #allResizerDivs = null;\n #altText = null;\n #disabled = false;\n #keepAspectRatio = false;\n #resizersDiv = null;\n #savedDimensions = null;\n #focusAC = null;\n #focusedResizerName = \"\";\n #hasBeenClicked = false;\n #initialPosition = null;\n #isEditing = false;\n #isInEditMode = false;\n #isResizerEnabledForKeyboard = false;\n #moveInDOMTimeout = null;\n #prevDragX = 0;\n #prevDragY = 0;\n #telemetryTimeouts = null;\n _editToolbar = null;\n _initialOptions = Object.create(null);\n _initialData = null;\n _isVisible = true;\n _uiManager = null;\n _focusEventsAllowed = true;\n static _l10n = null;\n static _l10nResizer = null;\n #isDraggable = false;\n #zIndex = AnnotationEditor._zIndex++;\n static _borderLineWidth = -1;\n static _colorManager = new ColorManager();\n static _zIndex = 1;\n static _telemetryTimeout = 1000;\n static get _resizerKeyboardManager() {\n const resize = AnnotationEditor.prototype._resizeWithKeyboard;\n const small = AnnotationEditorUIManager.TRANSLATE_SMALL;\n const big = AnnotationEditorUIManager.TRANSLATE_BIG;\n return shadow(this, \"_resizerKeyboardManager\", new KeyboardManager([[[\"ArrowLeft\", \"mac+ArrowLeft\"], resize, {\n args: [-small, 0]\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], resize, {\n args: [-big, 0]\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], resize, {\n args: [small, 0]\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], resize, {\n args: [big, 0]\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], resize, {\n args: [0, -small]\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], resize, {\n args: [0, -big]\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], resize, {\n args: [0, small]\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], resize, {\n args: [0, big]\n }], [[\"Escape\", \"mac+Escape\"], AnnotationEditor.prototype._stopResizingWithKeyboard]]));\n }\n constructor(parameters) {\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n this._uiManager = parameters.uiManager;\n this.annotationElementId = null;\n this._willKeepAspectRatio = false;\n this._initialOptions.isCentered = parameters.isCentered;\n this._structTreeParentId = null;\n const {\n rotation,\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n } = this.parent.viewport;\n this.rotation = rotation;\n this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360;\n this.pageDimensions = [pageWidth, pageHeight];\n this.pageTranslation = [pageX, pageY];\n const [width, height] = this.parentDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.isAttachedToDOM = false;\n this.deleted = false;\n }\n get editorType() {\n return Object.getPrototypeOf(this).constructor._type;\n }\n static get _defaultLineColor() {\n return shadow(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n static deleteAnnotationElement(editor) {\n const fakeEditor = new FakeEditor({\n id: editor.parent.getNextId(),\n parent: editor.parent,\n uiManager: editor._uiManager\n });\n fakeEditor.annotationElementId = editor.annotationElementId;\n fakeEditor.deleted = true;\n fakeEditor._uiManager.addToAnnotationStorage(fakeEditor);\n }\n static initialize(l10n, _uiManager) {\n AnnotationEditor._l10n ??= l10n;\n AnnotationEditor._l10nResizer ||= Object.freeze({\n topLeft: \"pdfjs-editor-resizer-top-left\",\n topMiddle: \"pdfjs-editor-resizer-top-middle\",\n topRight: \"pdfjs-editor-resizer-top-right\",\n middleRight: \"pdfjs-editor-resizer-middle-right\",\n bottomRight: \"pdfjs-editor-resizer-bottom-right\",\n bottomMiddle: \"pdfjs-editor-resizer-bottom-middle\",\n bottomLeft: \"pdfjs-editor-resizer-bottom-left\",\n middleLeft: \"pdfjs-editor-resizer-middle-left\"\n });\n if (AnnotationEditor._borderLineWidth !== -1) {\n return;\n }\n const style = getComputedStyle(document.documentElement);\n AnnotationEditor._borderLineWidth = parseFloat(style.getPropertyValue(\"--outline-width\")) || 0;\n }\n static updateDefaultParams(_type, _value) {}\n static get defaultPropertiesToUpdate() {\n return [];\n }\n static isHandlingMimeForPasting(mime) {\n return false;\n }\n static paste(item, parent) {\n unreachable(\"Not implemented\");\n }\n get propertiesToUpdate() {\n return [];\n }\n get _isDraggable() {\n return this.#isDraggable;\n }\n set _isDraggable(value) {\n this.#isDraggable = value;\n this.div?.classList.toggle(\"draggable\", value);\n }\n get isEnterHandled() {\n return true;\n }\n center() {\n const [pageWidth, pageHeight] = this.pageDimensions;\n switch (this.parentRotation) {\n case 90:\n this.x -= this.height * pageHeight / (pageWidth * 2);\n this.y += this.width * pageWidth / (pageHeight * 2);\n break;\n case 180:\n this.x += this.width / 2;\n this.y += this.height / 2;\n break;\n case 270:\n this.x += this.height * pageHeight / (pageWidth * 2);\n this.y -= this.width * pageWidth / (pageHeight * 2);\n break;\n default:\n this.x -= this.width / 2;\n this.y -= this.height / 2;\n break;\n }\n this.fixAndSetPosition();\n }\n addCommands(params) {\n this._uiManager.addCommands(params);\n }\n get currentLayer() {\n return this._uiManager.currentLayer;\n }\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n setInForeground() {\n this.div.style.zIndex = this.#zIndex;\n }\n setParent(parent) {\n if (parent !== null) {\n this.pageIndex = parent.pageIndex;\n this.pageDimensions = parent.pageDimensions;\n } else {\n this.#stopResizing();\n }\n this.parent = parent;\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.#hasBeenClicked) {\n this.parent.setSelected(this);\n } else {\n this.#hasBeenClicked = false;\n }\n }\n focusout(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.isAttachedToDOM) {\n return;\n }\n const target = event.relatedTarget;\n if (target?.closest(`#${this.id}`)) {\n return;\n }\n event.preventDefault();\n if (!this.parent?.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n commit() {\n this.addToAnnotationStorage();\n }\n addToAnnotationStorage() {\n this._uiManager.addToAnnotationStorage(this);\n }\n setAt(x, y, tx, ty) {\n const [width, height] = this.parentDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.fixAndSetPosition();\n }\n #translate([width, height], x, y) {\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.fixAndSetPosition();\n }\n translate(x, y) {\n this.#translate(this.parentDimensions, x, y);\n }\n translateInPage(x, y) {\n this.#initialPosition ||= [this.x, this.y];\n this.#translate(this.pageDimensions, x, y);\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n drag(tx, ty) {\n this.#initialPosition ||= [this.x, this.y];\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.x += tx / parentWidth;\n this.y += ty / parentHeight;\n if (this.parent && (this.x < 0 || this.x > 1 || this.y < 0 || this.y > 1)) {\n const {\n x,\n y\n } = this.div.getBoundingClientRect();\n if (this.parent.findNewParent(this, x, y)) {\n this.x -= Math.floor(this.x);\n this.y -= Math.floor(this.y);\n }\n }\n let {\n x,\n y\n } = this;\n const [bx, by] = this.getBaseTranslation();\n x += bx;\n y += by;\n this.div.style.left = `${(100 * x).toFixed(2)}%`;\n this.div.style.top = `${(100 * y).toFixed(2)}%`;\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n get _hasBeenMoved() {\n return !!this.#initialPosition && (this.#initialPosition[0] !== this.x || this.#initialPosition[1] !== this.y);\n }\n getBaseTranslation() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const {\n _borderLineWidth\n } = AnnotationEditor;\n const x = _borderLineWidth / parentWidth;\n const y = _borderLineWidth / parentHeight;\n switch (this.rotation) {\n case 90:\n return [-x, y];\n case 180:\n return [x, y];\n case 270:\n return [x, -y];\n default:\n return [-x, -y];\n }\n }\n get _mustFixPosition() {\n return true;\n }\n fixAndSetPosition(rotation = this.rotation) {\n const [pageWidth, pageHeight] = this.pageDimensions;\n let {\n x,\n y,\n width,\n height\n } = this;\n width *= pageWidth;\n height *= pageHeight;\n x *= pageWidth;\n y *= pageHeight;\n if (this._mustFixPosition) {\n switch (rotation) {\n case 0:\n x = Math.max(0, Math.min(pageWidth - width, x));\n y = Math.max(0, Math.min(pageHeight - height, y));\n break;\n case 90:\n x = Math.max(0, Math.min(pageWidth - height, x));\n y = Math.min(pageHeight, Math.max(width, y));\n break;\n case 180:\n x = Math.min(pageWidth, Math.max(width, x));\n y = Math.min(pageHeight, Math.max(height, y));\n break;\n case 270:\n x = Math.min(pageWidth, Math.max(height, x));\n y = Math.max(0, Math.min(pageHeight - width, y));\n break;\n }\n }\n this.x = x /= pageWidth;\n this.y = y /= pageHeight;\n const [bx, by] = this.getBaseTranslation();\n x += bx;\n y += by;\n const {\n style\n } = this.div;\n style.left = `${(100 * x).toFixed(2)}%`;\n style.top = `${(100 * y).toFixed(2)}%`;\n this.moveInDOM();\n }\n static #rotatePoint(x, y, angle) {\n switch (angle) {\n case 90:\n return [y, -x];\n case 180:\n return [-x, -y];\n case 270:\n return [-y, x];\n default:\n return [x, y];\n }\n }\n screenToPageTranslation(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, this.parentRotation);\n }\n pageTranslationToScreen(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, 360 - this.parentRotation);\n }\n #getRotationMatrix(rotation) {\n switch (rotation) {\n case 90:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, -pageWidth / pageHeight, pageHeight / pageWidth, 0];\n }\n case 180:\n return [-1, 0, 0, -1];\n case 270:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, pageWidth / pageHeight, -pageHeight / pageWidth, 0];\n }\n default:\n return [1, 0, 0, 1];\n }\n }\n get parentScale() {\n return this._uiManager.viewParameters.realScale;\n }\n get parentRotation() {\n return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360;\n }\n get parentDimensions() {\n const {\n parentScale,\n pageDimensions: [pageWidth, pageHeight]\n } = this;\n return [pageWidth * parentScale, pageHeight * parentScale];\n }\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.div.style.width = `${(100 * width / parentWidth).toFixed(2)}%`;\n if (!this.#keepAspectRatio) {\n this.div.style.height = `${(100 * height / parentHeight).toFixed(2)}%`;\n }\n }\n fixDims() {\n const {\n style\n } = this.div;\n const {\n height,\n width\n } = style;\n const widthPercent = width.endsWith(\"%\");\n const heightPercent = !this.#keepAspectRatio && height.endsWith(\"%\");\n if (widthPercent && heightPercent) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (!widthPercent) {\n style.width = `${(100 * parseFloat(width) / parentWidth).toFixed(2)}%`;\n }\n if (!this.#keepAspectRatio && !heightPercent) {\n style.height = `${(100 * parseFloat(height) / parentHeight).toFixed(2)}%`;\n }\n }\n getInitialTranslation() {\n return [0, 0];\n }\n #createResizers() {\n if (this.#resizersDiv) {\n return;\n }\n this.#resizersDiv = document.createElement(\"div\");\n this.#resizersDiv.classList.add(\"resizers\");\n const classes = this._willKeepAspectRatio ? [\"topLeft\", \"topRight\", \"bottomRight\", \"bottomLeft\"] : [\"topLeft\", \"topMiddle\", \"topRight\", \"middleRight\", \"bottomRight\", \"bottomMiddle\", \"bottomLeft\", \"middleLeft\"];\n const signal = this._uiManager._signal;\n for (const name of classes) {\n const div = document.createElement(\"div\");\n this.#resizersDiv.append(div);\n div.classList.add(\"resizer\", name);\n div.setAttribute(\"data-resizer-name\", name);\n div.addEventListener(\"pointerdown\", this.#resizerPointerdown.bind(this, name), {\n signal\n });\n div.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n div.tabIndex = -1;\n }\n this.div.prepend(this.#resizersDiv);\n }\n #resizerPointerdown(name, event) {\n event.preventDefault();\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n this.#altText?.toggle(false);\n const savedDraggable = this._isDraggable;\n this._isDraggable = false;\n const ac = new AbortController();\n const signal = this._uiManager.combinedSignal(ac);\n this.parent.togglePointerEvents(false);\n window.addEventListener(\"pointermove\", this.#resizerPointermove.bind(this, name), {\n passive: true,\n capture: true,\n signal\n });\n window.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const savedParentCursor = this.parent.div.style.cursor;\n const savedCursor = this.div.style.cursor;\n this.div.style.cursor = this.parent.div.style.cursor = window.getComputedStyle(event.target).cursor;\n const pointerUpCallback = () => {\n ac.abort();\n this.parent.togglePointerEvents(true);\n this.#altText?.toggle(true);\n this._isDraggable = savedDraggable;\n this.parent.div.style.cursor = savedParentCursor;\n this.div.style.cursor = savedCursor;\n this.#addResizeToUndoStack(savedX, savedY, savedWidth, savedHeight);\n };\n window.addEventListener(\"pointerup\", pointerUpCallback, {\n signal\n });\n window.addEventListener(\"blur\", pointerUpCallback, {\n signal\n });\n }\n #addResizeToUndoStack(savedX, savedY, savedWidth, savedHeight) {\n const newX = this.x;\n const newY = this.y;\n const newWidth = this.width;\n const newHeight = this.height;\n if (newX === savedX && newY === savedY && newWidth === savedWidth && newHeight === savedHeight) {\n return;\n }\n this.addCommands({\n cmd: () => {\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n },\n undo: () => {\n this.width = savedWidth;\n this.height = savedHeight;\n this.x = savedX;\n this.y = savedY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * savedWidth, parentHeight * savedHeight);\n this.fixAndSetPosition();\n },\n mustExec: true\n });\n }\n #resizerPointermove(name, event) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const minWidth = AnnotationEditor.MIN_SIZE / parentWidth;\n const minHeight = AnnotationEditor.MIN_SIZE / parentHeight;\n const round = x => Math.round(x * 10000) / 10000;\n const rotationMatrix = this.#getRotationMatrix(this.rotation);\n const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y];\n const invRotationMatrix = this.#getRotationMatrix(360 - this.rotation);\n const invTransf = (x, y) => [invRotationMatrix[0] * x + invRotationMatrix[2] * y, invRotationMatrix[1] * x + invRotationMatrix[3] * y];\n let getPoint;\n let getOpposite;\n let isDiagonal = false;\n let isHorizontal = false;\n switch (name) {\n case \"topLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, 0];\n getOpposite = (w, h) => [w, h];\n break;\n case \"topMiddle\":\n getPoint = (w, h) => [w / 2, 0];\n getOpposite = (w, h) => [w / 2, h];\n break;\n case \"topRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, 0];\n getOpposite = (w, h) => [0, h];\n break;\n case \"middleRight\":\n isHorizontal = true;\n getPoint = (w, h) => [w, h / 2];\n getOpposite = (w, h) => [0, h / 2];\n break;\n case \"bottomRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, h];\n getOpposite = (w, h) => [0, 0];\n break;\n case \"bottomMiddle\":\n getPoint = (w, h) => [w / 2, h];\n getOpposite = (w, h) => [w / 2, 0];\n break;\n case \"bottomLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, h];\n getOpposite = (w, h) => [w, 0];\n break;\n case \"middleLeft\":\n isHorizontal = true;\n getPoint = (w, h) => [0, h / 2];\n getOpposite = (w, h) => [w, h / 2];\n break;\n }\n const point = getPoint(savedWidth, savedHeight);\n const oppositePoint = getOpposite(savedWidth, savedHeight);\n let transfOppositePoint = transf(...oppositePoint);\n const oppositeX = round(savedX + transfOppositePoint[0]);\n const oppositeY = round(savedY + transfOppositePoint[1]);\n let ratioX = 1;\n let ratioY = 1;\n let [deltaX, deltaY] = this.screenToPageTranslation(event.movementX, event.movementY);\n [deltaX, deltaY] = invTransf(deltaX / parentWidth, deltaY / parentHeight);\n if (isDiagonal) {\n const oldDiag = Math.hypot(savedWidth, savedHeight);\n ratioX = ratioY = Math.max(Math.min(Math.hypot(oppositePoint[0] - point[0] - deltaX, oppositePoint[1] - point[1] - deltaY) / oldDiag, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);\n } else if (isHorizontal) {\n ratioX = Math.max(minWidth, Math.min(1, Math.abs(oppositePoint[0] - point[0] - deltaX))) / savedWidth;\n } else {\n ratioY = Math.max(minHeight, Math.min(1, Math.abs(oppositePoint[1] - point[1] - deltaY))) / savedHeight;\n }\n const newWidth = round(savedWidth * ratioX);\n const newHeight = round(savedHeight * ratioY);\n transfOppositePoint = transf(...getOpposite(newWidth, newHeight));\n const newX = oppositeX - transfOppositePoint[0];\n const newY = oppositeY - transfOppositePoint[1];\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n }\n altTextFinish() {\n this.#altText?.finish();\n }\n async addEditToolbar() {\n if (this._editToolbar || this.#isInEditMode) {\n return this._editToolbar;\n }\n this._editToolbar = new EditorToolbar(this);\n this.div.append(this._editToolbar.render());\n if (this.#altText) {\n await this._editToolbar.addAltText(this.#altText);\n }\n return this._editToolbar;\n }\n removeEditToolbar() {\n if (!this._editToolbar) {\n return;\n }\n this._editToolbar.remove();\n this._editToolbar = null;\n this.#altText?.destroy();\n }\n addContainer(container) {\n const editToolbarDiv = this._editToolbar?.div;\n if (editToolbarDiv) {\n editToolbarDiv.before(container);\n } else {\n this.div.append(container);\n }\n }\n getClientDimensions() {\n return this.div.getBoundingClientRect();\n }\n async addAltTextButton() {\n if (this.#altText) {\n return;\n }\n AltText.initialize(AnnotationEditor._l10n);\n this.#altText = new AltText(this);\n if (this.#accessibilityData) {\n this.#altText.data = this.#accessibilityData;\n this.#accessibilityData = null;\n }\n await this.addEditToolbar();\n }\n get altTextData() {\n return this.#altText?.data;\n }\n set altTextData(data) {\n if (!this.#altText) {\n return;\n }\n this.#altText.data = data;\n }\n get guessedAltText() {\n return this.#altText?.guessedText;\n }\n async setGuessedAltText(text) {\n await this.#altText?.setGuessedText(text);\n }\n serializeAltText(isForCopying) {\n return this.#altText?.serialize(isForCopying);\n }\n hasAltText() {\n return !!this.#altText && !this.#altText.isEmpty();\n }\n hasAltTextData() {\n return this.#altText?.hasData() ?? false;\n }\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.tabIndex = this.#disabled ? -1 : 0;\n if (!this._isVisible) {\n this.div.classList.add(\"hidden\");\n }\n this.setInForeground();\n this.#addFocusListeners();\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.parentRotation % 180 !== 0) {\n this.div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`;\n this.div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`;\n }\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n bindEvents(this, this.div, [\"pointerdown\"]);\n return this.div;\n }\n pointerdown(event) {\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n this.#hasBeenClicked = true;\n if (this._isDraggable) {\n this.#setUpDragSession(event);\n return;\n }\n this.#selectOnPointerEvent(event);\n }\n get isSelected() {\n return this._uiManager.isSelected(this);\n }\n #selectOnPointerEvent(event) {\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n }\n #setUpDragSession(event) {\n const {\n isSelected\n } = this;\n this._uiManager.setUpDragSession();\n const ac = new AbortController();\n const signal = this._uiManager.combinedSignal(ac);\n if (isSelected) {\n this.div.classList.add(\"moving\");\n this.#prevDragX = event.clientX;\n this.#prevDragY = event.clientY;\n const pointerMoveCallback = e => {\n const {\n clientX: x,\n clientY: y\n } = e;\n const [tx, ty] = this.screenToPageTranslation(x - this.#prevDragX, y - this.#prevDragY);\n this.#prevDragX = x;\n this.#prevDragY = y;\n this._uiManager.dragSelectedEditors(tx, ty);\n };\n window.addEventListener(\"pointermove\", pointerMoveCallback, {\n passive: true,\n capture: true,\n signal\n });\n }\n const pointerUpCallback = () => {\n ac.abort();\n if (isSelected) {\n this.div.classList.remove(\"moving\");\n }\n this.#hasBeenClicked = false;\n if (!this._uiManager.endDragSession()) {\n this.#selectOnPointerEvent(event);\n }\n };\n window.addEventListener(\"pointerup\", pointerUpCallback, {\n signal\n });\n window.addEventListener(\"blur\", pointerUpCallback, {\n signal\n });\n }\n moveInDOM() {\n if (this.#moveInDOMTimeout) {\n clearTimeout(this.#moveInDOMTimeout);\n }\n this.#moveInDOMTimeout = setTimeout(() => {\n this.#moveInDOMTimeout = null;\n this.parent?.moveEditorInDOM(this);\n }, 0);\n }\n _setParentAndPosition(parent, x, y) {\n parent.changeParent(this);\n this.x = x;\n this.y = y;\n this.fixAndSetPosition();\n }\n getRect(tx, ty, rotation = this.rotation) {\n const scale = this.parentScale;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const shiftX = tx / scale;\n const shiftY = ty / scale;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n switch (rotation) {\n case 0:\n return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY];\n case 90:\n return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY];\n case 180:\n return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY];\n case 270:\n return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n case 90:\n return [x1, pageHeight - y1, height, width];\n case 180:\n return [x2, pageHeight - y1, width, height];\n case 270:\n return [x2, pageHeight - y2, height, width];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n onceAdded() {}\n isEmpty() {\n return false;\n }\n enableEditMode() {\n this.#isInEditMode = true;\n }\n disableEditMode() {\n this.#isInEditMode = false;\n }\n isInEditMode() {\n return this.#isInEditMode;\n }\n shouldGetKeyboardEvents() {\n return this.#isResizerEnabledForKeyboard;\n }\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n #addFocusListeners() {\n if (this.#focusAC || !this.div) {\n return;\n }\n this.#focusAC = new AbortController();\n const signal = this._uiManager.combinedSignal(this.#focusAC);\n this.div.addEventListener(\"focusin\", this.focusin.bind(this), {\n signal\n });\n this.div.addEventListener(\"focusout\", this.focusout.bind(this), {\n signal\n });\n }\n rebuild() {\n this.#addFocusListeners();\n }\n rotate(_angle) {}\n serializeDeleted() {\n return {\n id: this.annotationElementId,\n deleted: true,\n pageIndex: this.pageIndex,\n popupRef: this._initialData?.popupRef || \"\"\n };\n }\n serialize(isForCopying = false, context = null) {\n unreachable(\"An editor must be serializable\");\n }\n static async deserialize(data, parent, uiManager) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId(),\n uiManager\n });\n editor.rotation = data.rotation;\n editor.#accessibilityData = data.accessibilityData;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n get hasBeenModified() {\n return !!this.annotationElementId && (this.deleted || this.serialize() !== null);\n }\n remove() {\n this.#focusAC?.abort();\n this.#focusAC = null;\n if (!this.isEmpty()) {\n this.commit();\n }\n if (this.parent) {\n this.parent.remove(this);\n } else {\n this._uiManager.removeEditor(this);\n }\n if (this.#moveInDOMTimeout) {\n clearTimeout(this.#moveInDOMTimeout);\n this.#moveInDOMTimeout = null;\n }\n this.#stopResizing();\n this.removeEditToolbar();\n if (this.#telemetryTimeouts) {\n for (const timeout of this.#telemetryTimeouts.values()) {\n clearTimeout(timeout);\n }\n this.#telemetryTimeouts = null;\n }\n this.parent = null;\n }\n get isResizable() {\n return false;\n }\n makeResizable() {\n if (this.isResizable) {\n this.#createResizers();\n this.#resizersDiv.classList.remove(\"hidden\");\n bindEvents(this, this.div, [\"keydown\"]);\n }\n }\n get toolbarPosition() {\n return null;\n }\n keydown(event) {\n if (!this.isResizable || event.target !== this.div || event.key !== \"Enter\") {\n return;\n }\n this._uiManager.setSelected(this);\n this.#savedDimensions = {\n savedX: this.x,\n savedY: this.y,\n savedWidth: this.width,\n savedHeight: this.height\n };\n const children = this.#resizersDiv.children;\n if (!this.#allResizerDivs) {\n this.#allResizerDivs = Array.from(children);\n const boundResizerKeydown = this.#resizerKeydown.bind(this);\n const boundResizerBlur = this.#resizerBlur.bind(this);\n const signal = this._uiManager._signal;\n for (const div of this.#allResizerDivs) {\n const name = div.getAttribute(\"data-resizer-name\");\n div.setAttribute(\"role\", \"spinbutton\");\n div.addEventListener(\"keydown\", boundResizerKeydown, {\n signal\n });\n div.addEventListener(\"blur\", boundResizerBlur, {\n signal\n });\n div.addEventListener(\"focus\", this.#resizerFocus.bind(this, name), {\n signal\n });\n div.setAttribute(\"data-l10n-id\", AnnotationEditor._l10nResizer[name]);\n }\n }\n const first = this.#allResizerDivs[0];\n let firstPosition = 0;\n for (const div of children) {\n if (div === first) {\n break;\n }\n firstPosition++;\n }\n const nextFirstPosition = (360 - this.rotation + this.parentRotation) % 360 / 90 * (this.#allResizerDivs.length / 4);\n if (nextFirstPosition !== firstPosition) {\n if (nextFirstPosition < firstPosition) {\n for (let i = 0; i < firstPosition - nextFirstPosition; i++) {\n this.#resizersDiv.append(this.#resizersDiv.firstChild);\n }\n } else if (nextFirstPosition > firstPosition) {\n for (let i = 0; i < nextFirstPosition - firstPosition; i++) {\n this.#resizersDiv.firstChild.before(this.#resizersDiv.lastChild);\n }\n }\n let i = 0;\n for (const child of children) {\n const div = this.#allResizerDivs[i++];\n const name = div.getAttribute(\"data-resizer-name\");\n child.setAttribute(\"data-l10n-id\", AnnotationEditor._l10nResizer[name]);\n }\n }\n this.#setResizerTabIndex(0);\n this.#isResizerEnabledForKeyboard = true;\n this.#resizersDiv.firstChild.focus({\n focusVisible: true\n });\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n #resizerKeydown(event) {\n AnnotationEditor._resizerKeyboardManager.exec(this, event);\n }\n #resizerBlur(event) {\n if (this.#isResizerEnabledForKeyboard && event.relatedTarget?.parentNode !== this.#resizersDiv) {\n this.#stopResizing();\n }\n }\n #resizerFocus(name) {\n this.#focusedResizerName = this.#isResizerEnabledForKeyboard ? name : \"\";\n }\n #setResizerTabIndex(value) {\n if (!this.#allResizerDivs) {\n return;\n }\n for (const div of this.#allResizerDivs) {\n div.tabIndex = value;\n }\n }\n _resizeWithKeyboard(x, y) {\n if (!this.#isResizerEnabledForKeyboard) {\n return;\n }\n this.#resizerPointermove(this.#focusedResizerName, {\n movementX: x,\n movementY: y\n });\n }\n #stopResizing() {\n this.#isResizerEnabledForKeyboard = false;\n this.#setResizerTabIndex(-1);\n if (this.#savedDimensions) {\n const {\n savedX,\n savedY,\n savedWidth,\n savedHeight\n } = this.#savedDimensions;\n this.#addResizeToUndoStack(savedX, savedY, savedWidth, savedHeight);\n this.#savedDimensions = null;\n }\n }\n _stopResizingWithKeyboard() {\n this.#stopResizing();\n this.div.focus();\n }\n select() {\n this.makeResizable();\n this.div?.classList.add(\"selectedEditor\");\n if (!this._editToolbar) {\n this.addEditToolbar().then(() => {\n if (this.div?.classList.contains(\"selectedEditor\")) {\n this._editToolbar?.show();\n }\n });\n return;\n }\n this._editToolbar?.show();\n this.#altText?.toggleAltTextBadge(false);\n }\n unselect() {\n this.#resizersDiv?.classList.add(\"hidden\");\n this.div?.classList.remove(\"selectedEditor\");\n if (this.div?.contains(document.activeElement)) {\n this._uiManager.currentLayer.div.focus({\n preventScroll: true\n });\n }\n this._editToolbar?.hide();\n this.#altText?.toggleAltTextBadge(true);\n }\n updateParams(type, value) {}\n disableEditing() {}\n enableEditing() {}\n enterInEditMode() {}\n getImageForAltText() {\n return null;\n }\n get contentDiv() {\n return this.div;\n }\n get isEditing() {\n return this.#isEditing;\n }\n set isEditing(value) {\n this.#isEditing = value;\n if (!this.parent) {\n return;\n }\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n setAspectRatio(width, height) {\n this.#keepAspectRatio = true;\n const aspectRatio = width / height;\n const {\n style\n } = this.div;\n style.aspectRatio = aspectRatio;\n style.height = \"auto\";\n }\n static get MIN_SIZE() {\n return 16;\n }\n static canCreateNewEmptyEditor() {\n return true;\n }\n get telemetryInitialData() {\n return {\n action: \"added\"\n };\n }\n get telemetryFinalData() {\n return null;\n }\n _reportTelemetry(data, mustWait = false) {\n if (mustWait) {\n this.#telemetryTimeouts ||= new Map();\n const {\n action\n } = data;\n let timeout = this.#telemetryTimeouts.get(action);\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n this._reportTelemetry(data);\n this.#telemetryTimeouts.delete(action);\n if (this.#telemetryTimeouts.size === 0) {\n this.#telemetryTimeouts = null;\n }\n }, AnnotationEditor._telemetryTimeout);\n this.#telemetryTimeouts.set(action, timeout);\n return;\n }\n data.type ||= this.editorType;\n this._uiManager._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n data\n }\n });\n }\n show(visible = this._isVisible) {\n this.div.classList.toggle(\"hidden\", !visible);\n this._isVisible = visible;\n }\n enable() {\n if (this.div) {\n this.div.tabIndex = 0;\n }\n this.#disabled = false;\n }\n disable() {\n if (this.div) {\n this.div.tabIndex = -1;\n }\n this.#disabled = true;\n }\n renderAnnotationElement(annotation) {\n let content = annotation.container.querySelector(\".annotationContent\");\n if (!content) {\n content = document.createElement(\"div\");\n content.classList.add(\"annotationContent\", this.editorType);\n annotation.container.prepend(content);\n } else if (content.nodeName === \"CANVAS\") {\n const canvas = content;\n content = document.createElement(\"div\");\n content.classList.add(\"annotationContent\", this.editorType);\n canvas.before(content);\n }\n return content;\n }\n resetAnnotationElement(annotation) {\n const {\n firstChild\n } = annotation.container;\n if (firstChild?.nodeName === \"DIV\" && firstChild.classList.contains(\"annotationContent\")) {\n firstChild.remove();\n }\n }\n}\nclass FakeEditor extends AnnotationEditor {\n constructor(params) {\n super(params);\n this.annotationElementId = params.annotationElementId;\n this.deleted = true;\n }\n serialize() {\n return this.serializeDeleted();\n }\n}\n\n;// ./src/shared/murmurhash3.js\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n update(input) {\n let data, length;\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if (ArrayBuffer.isView(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Invalid data format, must be a string or TypedArray.\");\n }\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n k1 = 0;\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n }\n this.h1 = h1;\n this.h2 = h2;\n }\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n return (h1 >>> 0).toString(16).padStart(8, \"0\") + (h2 >>> 0).toString(16).padStart(8, \"0\");\n }\n}\n\n;// ./src/display/annotation_storage.js\n\n\n\nconst SerializableEmpty = Object.freeze({\n map: null,\n hash: \"\",\n transfer: undefined\n});\nclass AnnotationStorage {\n #modified = false;\n #modifiedIds = null;\n #storage = new Map();\n constructor() {\n this.onSetModified = null;\n this.onResetModified = null;\n this.onAnnotationEditor = null;\n }\n getValue(key, defaultValue) {\n const value = this.#storage.get(key);\n if (value === undefined) {\n return defaultValue;\n }\n return Object.assign(defaultValue, value);\n }\n getRawValue(key) {\n return this.#storage.get(key);\n }\n remove(key) {\n this.#storage.delete(key);\n if (this.#storage.size === 0) {\n this.resetModified();\n }\n if (typeof this.onAnnotationEditor === \"function\") {\n for (const value of this.#storage.values()) {\n if (value instanceof AnnotationEditor) {\n return;\n }\n }\n this.onAnnotationEditor(null);\n }\n }\n setValue(key, value) {\n const obj = this.#storage.get(key);\n let modified = false;\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n this.#storage.set(key, value);\n }\n if (modified) {\n this.#setModified();\n }\n if (value instanceof AnnotationEditor && typeof this.onAnnotationEditor === \"function\") {\n this.onAnnotationEditor(value.constructor._type);\n }\n }\n has(key) {\n return this.#storage.has(key);\n }\n getAll() {\n return this.#storage.size > 0 ? objectFromMap(this.#storage) : null;\n }\n setAll(obj) {\n for (const [key, val] of Object.entries(obj)) {\n this.setValue(key, val);\n }\n }\n get size() {\n return this.#storage.size;\n }\n #setModified() {\n if (!this.#modified) {\n this.#modified = true;\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n resetModified() {\n if (this.#modified) {\n this.#modified = false;\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n get print() {\n return new PrintAnnotationStorage(this);\n }\n get serializable() {\n if (this.#storage.size === 0) {\n return SerializableEmpty;\n }\n const map = new Map(),\n hash = new MurmurHash3_64(),\n transfer = [];\n const context = Object.create(null);\n let hasBitmap = false;\n for (const [key, val] of this.#storage) {\n const serialized = val instanceof AnnotationEditor ? val.serialize(false, context) : val;\n if (serialized) {\n map.set(key, serialized);\n hash.update(`${key}:${JSON.stringify(serialized)}`);\n hasBitmap ||= !!serialized.bitmap;\n }\n }\n if (hasBitmap) {\n for (const value of map.values()) {\n if (value.bitmap) {\n transfer.push(value.bitmap);\n }\n }\n }\n return map.size > 0 ? {\n map,\n hash: hash.hexdigest(),\n transfer\n } : SerializableEmpty;\n }\n get editorStats() {\n let stats = null;\n const typeToEditor = new Map();\n for (const value of this.#storage.values()) {\n if (!(value instanceof AnnotationEditor)) {\n continue;\n }\n const editorStats = value.telemetryFinalData;\n if (!editorStats) {\n continue;\n }\n const {\n type\n } = editorStats;\n if (!typeToEditor.has(type)) {\n typeToEditor.set(type, Object.getPrototypeOf(value).constructor);\n }\n stats ||= Object.create(null);\n const map = stats[type] ||= new Map();\n for (const [key, val] of Object.entries(editorStats)) {\n if (key === \"type\") {\n continue;\n }\n let counters = map.get(key);\n if (!counters) {\n counters = new Map();\n map.set(key, counters);\n }\n const count = counters.get(val) ?? 0;\n counters.set(val, count + 1);\n }\n }\n for (const [type, editor] of typeToEditor) {\n stats[type] = editor.computeTelemetryFinalData(stats[type]);\n }\n return stats;\n }\n resetModifiedIds() {\n this.#modifiedIds = null;\n }\n get modifiedIds() {\n if (this.#modifiedIds) {\n return this.#modifiedIds;\n }\n const ids = [];\n for (const value of this.#storage.values()) {\n if (!(value instanceof AnnotationEditor) || !value.annotationElementId || !value.serialize()) {\n continue;\n }\n ids.push(value.annotationElementId);\n }\n return this.#modifiedIds = {\n ids: new Set(ids),\n hash: ids.join(\",\")\n };\n }\n}\nclass PrintAnnotationStorage extends AnnotationStorage {\n #serializable;\n constructor(parent) {\n super();\n const {\n map,\n hash,\n transfer\n } = parent.serializable;\n const clone = structuredClone(map, transfer ? {\n transfer\n } : null);\n this.#serializable = {\n map: clone,\n hash,\n transfer\n };\n }\n get print() {\n unreachable(\"Should not call PrintAnnotationStorage.print\");\n }\n get serializable() {\n return this.#serializable;\n }\n get modifiedIds() {\n return shadow(this, \"modifiedIds\", {\n ids: new Set(),\n hash: \"\"\n });\n }\n}\n\n;// ./src/display/font_loader.js\n\nclass FontLoader {\n #systemFonts = new Set();\n constructor({\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n this._document = ownerDocument;\n this.nativeFontFaces = new Set();\n this.styleElement = null;\n this.loadingRequests = [];\n this.loadTestFontId = 0;\n }\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.add(nativeFontFace);\n this._document.fonts.add(nativeFontFace);\n }\n removeNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.delete(nativeFontFace);\n this._document.fonts.delete(nativeFontFace);\n }\n insertRule(rule) {\n if (!this.styleElement) {\n this.styleElement = this._document.createElement(\"style\");\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(this.styleElement);\n }\n const styleSheet = this.styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n this.nativeFontFaces.clear();\n this.#systemFonts.clear();\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n async loadSystemFont({\n systemFontInfo: info,\n _inspectFont\n }) {\n if (!info || this.#systemFonts.has(info.loadedName)) {\n return;\n }\n assert(!this.disableFontFace, \"loadSystemFont shouldn't be called when `disableFontFace` is set.\");\n if (this.isFontLoadingAPISupported) {\n const {\n loadedName,\n src,\n style\n } = info;\n const fontFace = new FontFace(loadedName, src, style);\n this.addNativeFontFace(fontFace);\n try {\n await fontFace.load();\n this.#systemFonts.add(loadedName);\n _inspectFont?.(info);\n } catch {\n warn(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`);\n this.removeNativeFontFace(fontFace);\n }\n return;\n }\n unreachable(\"Not implemented: loadSystemFont without the Font Loading API.\");\n }\n async bind(font) {\n if (font.attached || font.missingFile && !font.systemFontInfo) {\n return;\n }\n font.attached = true;\n if (font.systemFontInfo) {\n await this.loadSystemFont(font);\n return;\n }\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n warn(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n return;\n }\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent(font, request);\n });\n }\n }\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return shadow(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (isNodeJS) {\n supported = true;\n } else if (typeof navigator !== \"undefined\" && typeof navigator?.userAgent === \"string\" && /Mozilla\\/5.0.*?rv:\\d+.*? Gecko/.test(navigator.userAgent)) {\n supported = true;\n }\n return shadow(this, \"isSyncFontLoadingSupported\", supported);\n }\n _queueLoadingCallback(callback) {\n function completeRequest() {\n assert(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n while (loadingRequests.length > 0 && loadingRequests[0].done) {\n const otherRequest = loadingRequests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n const {\n loadingRequests\n } = this;\n const request = {\n done: false,\n complete: completeRequest,\n callback\n };\n loadingRequests.push(request);\n return request;\n }\n get _loadTestFont() {\n const testFont = atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n return shadow(this, \"_loadTestFont\", testFont);\n }\n _prepareFontLoadEvent(font, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n function isFontReady(name, callback) {\n if (++called > 30) {\n warn(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, string32(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const div = this._document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n for (const name of [font.loadedName, loadTestFontId]) {\n const span = this._document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n this._document.body.append(div);\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n}\nclass FontFaceObject {\n constructor(translatedData, {\n disableFontFace = false,\n inspectFont = null\n }) {\n this.compiledGlyphs = Object.create(null);\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.disableFontFace = disableFontFace === true;\n this._inspectFont = inspectFont;\n }\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n let nativeFontFace;\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n this._inspectFont?.(this);\n return nativeFontFace;\n }\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const url = `url(data:${this.mimetype};base64,${toBase64Util(this.data)});`;\n let rule;\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n this._inspectFont?.(this, url);\n return rule;\n }\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n let cmds;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n warn(`getPathGenerator - ignoring character: \"${ex}\".`);\n }\n if (!Array.isArray(cmds) || cmds.length === 0) {\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n const commands = [];\n for (let i = 0, ii = cmds.length; i < ii;) {\n switch (cmds[i++]) {\n case FontRenderOps.BEZIER_CURVE_TO:\n {\n const [a, b, c, d, e, f] = cmds.slice(i, i + 6);\n commands.push(ctx => ctx.bezierCurveTo(a, b, c, d, e, f));\n i += 6;\n }\n break;\n case FontRenderOps.MOVE_TO:\n {\n const [a, b] = cmds.slice(i, i + 2);\n commands.push(ctx => ctx.moveTo(a, b));\n i += 2;\n }\n break;\n case FontRenderOps.LINE_TO:\n {\n const [a, b] = cmds.slice(i, i + 2);\n commands.push(ctx => ctx.lineTo(a, b));\n i += 2;\n }\n break;\n case FontRenderOps.QUADRATIC_CURVE_TO:\n {\n const [a, b, c, d] = cmds.slice(i, i + 4);\n commands.push(ctx => ctx.quadraticCurveTo(a, b, c, d));\n i += 4;\n }\n break;\n case FontRenderOps.RESTORE:\n commands.push(ctx => ctx.restore());\n break;\n case FontRenderOps.SAVE:\n commands.push(ctx => ctx.save());\n break;\n case FontRenderOps.SCALE:\n assert(commands.length === 2, \"Scale command is only valid at the third position.\");\n break;\n case FontRenderOps.TRANSFORM:\n {\n const [a, b, c, d, e, f] = cmds.slice(i, i + 6);\n commands.push(ctx => ctx.transform(a, b, c, d, e, f));\n i += 6;\n }\n break;\n case FontRenderOps.TRANSLATE:\n {\n const [a, b] = cmds.slice(i, i + 2);\n commands.push(ctx => ctx.translate(a, b));\n i += 2;\n }\n break;\n }\n }\n return this.compiledGlyphs[character] = function glyphDrawer(ctx, size) {\n commands[0](ctx);\n commands[1](ctx);\n ctx.scale(size, -size);\n for (let i = 2, ii = commands.length; i < ii; i++) {\n commands[i](ctx);\n }\n };\n }\n}\n\n;// ./src/display/canvas_factory.js\n\nclass BaseCanvasFactory {\n #enableHWA = false;\n constructor({\n enableHWA = false\n }) {\n this.#enableHWA = enableHWA;\n }\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\", {\n willReadFrequently: !this.#enableHWA\n })\n };\n }\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n _createCanvas(width, height) {\n unreachable(\"Abstract method `_createCanvas` called.\");\n }\n}\nclass DOMCanvasFactory extends BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document,\n enableHWA = false\n }) {\n super({\n enableHWA\n });\n this._document = ownerDocument;\n }\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n}\n\n;// ./src/display/cmap_reader_factory.js\n\n\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = true\n }) {\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error(\"Ensure that the `cMapUrl` and `cMapPacked` API parameters are provided.\");\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n return this._fetch(url).then(cMapData => ({\n cMapData,\n isCompressed: this.isCompressed\n })).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n async _fetch(url) {\n unreachable(\"Abstract method `_fetch` called.\");\n }\n}\nclass DOMCMapReaderFactory extends BaseCMapReaderFactory {\n async _fetch(url) {\n const data = await fetchData(url, this.isCompressed ? \"arraybuffer\" : \"text\");\n return data instanceof ArrayBuffer ? new Uint8Array(data) : stringToBytes(data);\n }\n}\n\n;// ./src/display/filter_factory.js\n\n\nclass BaseFilterFactory {\n addFilter(maps) {\n return \"none\";\n }\n addHCMFilter(fgColor, bgColor) {\n return \"none\";\n }\n addAlphaFilter(map) {\n return \"none\";\n }\n addLuminosityFilter(map) {\n return \"none\";\n }\n addHighlightHCMFilter(filterName, fgColor, bgColor, newFgColor, newBgColor) {\n return \"none\";\n }\n destroy(keepHCM = false) {}\n}\nclass DOMFilterFactory extends BaseFilterFactory {\n #baseUrl;\n #_cache;\n #_defs;\n #docId;\n #document;\n #_hcmCache;\n #id = 0;\n constructor({\n docId,\n ownerDocument = globalThis.document\n }) {\n super();\n this.#docId = docId;\n this.#document = ownerDocument;\n }\n get #cache() {\n return this.#_cache ||= new Map();\n }\n get #hcmCache() {\n return this.#_hcmCache ||= new Map();\n }\n get #defs() {\n if (!this.#_defs) {\n const div = this.#document.createElement(\"div\");\n const {\n style\n } = div;\n style.visibility = \"hidden\";\n style.contain = \"strict\";\n style.width = style.height = 0;\n style.position = \"absolute\";\n style.top = style.left = 0;\n style.zIndex = -1;\n const svg = this.#document.createElementNS(SVG_NS, \"svg\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n this.#_defs = this.#document.createElementNS(SVG_NS, \"defs\");\n div.append(svg);\n svg.append(this.#_defs);\n this.#document.body.append(div);\n }\n return this.#_defs;\n }\n #createTables(maps) {\n if (maps.length === 1) {\n const mapR = maps[0];\n const buffer = new Array(256);\n for (let i = 0; i < 256; i++) {\n buffer[i] = mapR[i] / 255;\n }\n const table = buffer.join(\",\");\n return [table, table, table];\n }\n const [mapR, mapG, mapB] = maps;\n const bufferR = new Array(256);\n const bufferG = new Array(256);\n const bufferB = new Array(256);\n for (let i = 0; i < 256; i++) {\n bufferR[i] = mapR[i] / 255;\n bufferG[i] = mapG[i] / 255;\n bufferB[i] = mapB[i] / 255;\n }\n return [bufferR.join(\",\"), bufferG.join(\",\"), bufferB.join(\",\")];\n }\n #createUrl(id) {\n if (this.#baseUrl === undefined) {\n this.#baseUrl = \"\";\n const url = this.#document.URL;\n if (url !== this.#document.baseURI) {\n if (isDataScheme(url)) {\n warn('#createUrl: ignore \"data:\"-URL for performance reasons.');\n } else {\n this.#baseUrl = url.split(\"#\", 1)[0];\n }\n }\n }\n return `url(${this.#baseUrl}#${id})`;\n }\n addFilter(maps) {\n if (!maps) {\n return \"none\";\n }\n let value = this.#cache.get(maps);\n if (value) {\n return value;\n }\n const [tableR, tableG, tableB] = this.#createTables(maps);\n const key = maps.length === 1 ? tableR : `${tableR}${tableG}${tableB}`;\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(maps, value);\n return value;\n }\n const id = `g_${this.#docId}_transfer_map_${this.#id++}`;\n const url = this.#createUrl(id);\n this.#cache.set(maps, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addTransferMapConversion(tableR, tableG, tableB, filter);\n return url;\n }\n addHCMFilter(fgColor, bgColor) {\n const key = `${fgColor}-${bgColor}`;\n const filterName = \"base\";\n let info = this.#hcmCache.get(filterName);\n if (info?.key === key) {\n return info.url;\n }\n if (info) {\n info.filter?.remove();\n info.key = key;\n info.url = \"none\";\n info.filter = null;\n } else {\n info = {\n key,\n url: \"none\",\n filter: null\n };\n this.#hcmCache.set(filterName, info);\n }\n if (!fgColor || !bgColor) {\n return info.url;\n }\n const fgRGB = this.#getRGB(fgColor);\n fgColor = Util.makeHexColor(...fgRGB);\n const bgRGB = this.#getRGB(bgColor);\n bgColor = Util.makeHexColor(...bgRGB);\n this.#defs.style.color = \"\";\n if (fgColor === \"#000000\" && bgColor === \"#ffffff\" || fgColor === bgColor) {\n return info.url;\n }\n const map = new Array(256);\n for (let i = 0; i <= 255; i++) {\n const x = i / 255;\n map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n }\n const table = map.join(\",\");\n const id = `g_${this.#docId}_hcm_filter`;\n const filter = info.filter = this.#createFilter(id);\n this.#addTransferMapConversion(table, table, table, filter);\n this.#addGrayConversion(filter);\n const getSteps = (c, n) => {\n const start = fgRGB[c] / 255;\n const end = bgRGB[c] / 255;\n const arr = new Array(n + 1);\n for (let i = 0; i <= n; i++) {\n arr[i] = start + i / n * (end - start);\n }\n return arr.join(\",\");\n };\n this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter);\n info.url = this.#createUrl(id);\n return info.url;\n }\n addAlphaFilter(map) {\n let value = this.#cache.get(map);\n if (value) {\n return value;\n }\n const [tableA] = this.#createTables([map]);\n const key = `alpha_${tableA}`;\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(map, value);\n return value;\n }\n const id = `g_${this.#docId}_alpha_map_${this.#id++}`;\n const url = this.#createUrl(id);\n this.#cache.set(map, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addTransferMapAlphaConversion(tableA, filter);\n return url;\n }\n addLuminosityFilter(map) {\n let value = this.#cache.get(map || \"luminosity\");\n if (value) {\n return value;\n }\n let tableA, key;\n if (map) {\n [tableA] = this.#createTables([map]);\n key = `luminosity_${tableA}`;\n } else {\n key = \"luminosity\";\n }\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(map, value);\n return value;\n }\n const id = `g_${this.#docId}_luminosity_map_${this.#id++}`;\n const url = this.#createUrl(id);\n this.#cache.set(map, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addLuminosityConversion(filter);\n if (map) {\n this.#addTransferMapAlphaConversion(tableA, filter);\n }\n return url;\n }\n addHighlightHCMFilter(filterName, fgColor, bgColor, newFgColor, newBgColor) {\n const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`;\n let info = this.#hcmCache.get(filterName);\n if (info?.key === key) {\n return info.url;\n }\n if (info) {\n info.filter?.remove();\n info.key = key;\n info.url = \"none\";\n info.filter = null;\n } else {\n info = {\n key,\n url: \"none\",\n filter: null\n };\n this.#hcmCache.set(filterName, info);\n }\n if (!fgColor || !bgColor) {\n return info.url;\n }\n const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this));\n let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]);\n let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]);\n let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this));\n if (bgGray < fgGray) {\n [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB];\n }\n this.#defs.style.color = \"\";\n const getSteps = (fg, bg, n) => {\n const arr = new Array(256);\n const step = (bgGray - fgGray) / n;\n const newStart = fg / 255;\n const newStep = (bg - fg) / (255 * n);\n let prev = 0;\n for (let i = 0; i <= n; i++) {\n const k = Math.round(fgGray + i * step);\n const value = newStart + i * newStep;\n for (let j = prev; j <= k; j++) {\n arr[j] = value;\n }\n prev = k + 1;\n }\n for (let i = prev; i < 256; i++) {\n arr[i] = arr[prev - 1];\n }\n return arr.join(\",\");\n };\n const id = `g_${this.#docId}_hcm_${filterName}_filter`;\n const filter = info.filter = this.#createFilter(id);\n this.#addGrayConversion(filter);\n this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter);\n info.url = this.#createUrl(id);\n return info.url;\n }\n destroy(keepHCM = false) {\n if (keepHCM && this.#hcmCache.size !== 0) {\n return;\n }\n if (this.#_defs) {\n this.#_defs.parentNode.parentNode.remove();\n this.#_defs = null;\n }\n if (this.#_cache) {\n this.#_cache.clear();\n this.#_cache = null;\n }\n this.#id = 0;\n }\n #addLuminosityConversion(filter) {\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0\");\n filter.append(feColorMatrix);\n }\n #addGrayConversion(filter) {\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0\");\n filter.append(feColorMatrix);\n }\n #createFilter(id) {\n const filter = this.#document.createElementNS(SVG_NS, \"filter\");\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n filter.setAttribute(\"id\", id);\n this.#defs.append(filter);\n return filter;\n }\n #appendFeFunc(feComponentTransfer, func, table) {\n const feFunc = this.#document.createElementNS(SVG_NS, func);\n feFunc.setAttribute(\"type\", \"discrete\");\n feFunc.setAttribute(\"tableValues\", table);\n feComponentTransfer.append(feFunc);\n }\n #addTransferMapConversion(rTable, gTable, bTable, filter) {\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", rTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", gTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", bTable);\n }\n #addTransferMapAlphaConversion(aTable, filter) {\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncA\", aTable);\n }\n #getRGB(color) {\n this.#defs.style.color = color;\n return getRGB(getComputedStyle(this.#defs).getPropertyValue(\"color\"));\n }\n}\n\n;// ./src/display/standard_fontdata_factory.js\n\n\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n this.baseUrl = baseUrl;\n }\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error(\"Ensure that the `standardFontDataUrl` API parameter is provided.\");\n }\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n const url = `${this.baseUrl}${filename}`;\n return this._fetch(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n async _fetch(url) {\n unreachable(\"Abstract method `_fetch` called.\");\n }\n}\nclass DOMStandardFontDataFactory extends BaseStandardFontDataFactory {\n async _fetch(url) {\n const data = await fetchData(url, \"arraybuffer\");\n return new Uint8Array(data);\n }\n}\n\n;// ./src/display/node_utils.js\n\n\n\n\n\nif (isNodeJS) {\n var packageCapability = Promise.withResolvers();\n var packageMap = null;\n const loadPackages = async () => {\n const fs = await import(/*webpackIgnore: true*/\"fs\"),\n http = await import(/*webpackIgnore: true*/\"http\"),\n https = await import(/*webpackIgnore: true*/\"https\"),\n url = await import(/*webpackIgnore: true*/\"url\");\n let canvas, path2d;\n return new Map(Object.entries({\n fs,\n http,\n https,\n url,\n canvas,\n path2d\n }));\n };\n loadPackages().then(map => {\n packageMap = map;\n packageCapability.resolve();\n }, reason => {\n warn(`loadPackages: ${reason}`);\n packageMap = new Map();\n packageCapability.resolve();\n });\n}\nclass NodePackages {\n static get promise() {\n return packageCapability.promise;\n }\n static get(name) {\n return packageMap?.get(name);\n }\n}\nasync function node_utils_fetchData(url) {\n const fs = NodePackages.get(\"fs\");\n const data = await fs.promises.readFile(url);\n return new Uint8Array(data);\n}\nclass NodeFilterFactory extends BaseFilterFactory {}\nclass NodeCanvasFactory extends BaseCanvasFactory {\n _createCanvas(width, height) {\n const canvas = NodePackages.get(\"canvas\");\n return canvas.createCanvas(width, height);\n }\n}\nclass NodeCMapReaderFactory extends BaseCMapReaderFactory {\n async _fetch(url) {\n return node_utils_fetchData(url);\n }\n}\nclass NodeStandardFontDataFactory extends BaseStandardFontDataFactory {\n async _fetch(url) {\n return node_utils_fetchData(url);\n }\n}\n\n;// ./src/display/pattern_helper.js\n\n\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox) {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\nclass BaseShadingPattern {\n getPattern() {\n unreachable(\"Abstract method `getPattern` called.\");\n }\n}\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n _createGradient(ctx) {\n let grad;\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n return grad;\n }\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, getCurrentTransform(ctx)) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform(...owner.baseTransform);\n if (this.matrix) {\n tmpCtx.transform(...this.matrix);\n }\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n pattern.setTransform(domMatrix);\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n return pattern;\n }\n}\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n const k = y < y1 ? 0 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n}\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n const bytes = data.data;\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n if (pathType === PathType.SHADING) {\n scale = Util.singularValueDecompose2dScale(getCurrentTransform(ctx));\n } else {\n scale = Util.singularValueDecompose2dScale(owner.baseTransform);\n if (this.matrix) {\n const matrixScale = Util.singularValueDecompose2dScale(this.matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n if (pathType !== PathType.SHADING) {\n ctx.setTransform(...owner.baseTransform);\n if (this.matrix) {\n ctx.transform(...this.matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n}\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n}\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\nclass TilingPattern {\n static MAX_PATTERN_SIZE = 3000;\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n createPatternCanvas(owner) {\n const {\n bbox,\n operatorList,\n paintType,\n tilingType,\n color,\n canvasGraphicsFactory\n } = this;\n let {\n xstep,\n ystep\n } = this;\n xstep = Math.abs(xstep);\n ystep = Math.abs(ystep);\n info(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n const width = x1 - x0;\n const height = y1 - y0;\n const matrixScale = Util.singularValueDecompose2dScale(this.matrix);\n const curMatrixScale = Util.singularValueDecompose2dScale(this.baseTransform);\n const combinedScaleX = matrixScale[0] * curMatrixScale[0];\n const combinedScaleY = matrixScale[1] * curMatrixScale[1];\n let canvasWidth = width,\n canvasHeight = height,\n redrawHorizontally = false,\n redrawVertically = false;\n const xScaledStep = Math.ceil(xstep * combinedScaleX);\n const yScaledStep = Math.ceil(ystep * combinedScaleY);\n const xScaledWidth = Math.ceil(width * combinedScaleX);\n const yScaledHeight = Math.ceil(height * combinedScaleY);\n if (xScaledStep >= xScaledWidth) {\n canvasWidth = xstep;\n } else {\n redrawHorizontally = true;\n }\n if (yScaledStep >= yScaledHeight) {\n canvasHeight = ystep;\n } else {\n redrawVertically = true;\n }\n const dimx = this.getSizeAndScale(canvasWidth, this.ctx.canvas.width, combinedScaleX);\n const dimy = this.getSizeAndScale(canvasHeight, this.ctx.canvas.height, combinedScaleY);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n tmpCtx.translate(-dimx.scale * x0, -dimy.scale * y0);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, x0, y0, x1, y1);\n graphics.baseTransform = getCurrentTransform(graphics.ctx);\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n tmpCtx.restore();\n if (redrawHorizontally || redrawVertically) {\n const image = tmpCanvas.canvas;\n if (redrawHorizontally) {\n canvasWidth = xstep;\n }\n if (redrawVertically) {\n canvasHeight = ystep;\n }\n const dimx2 = this.getSizeAndScale(canvasWidth, this.ctx.canvas.width, combinedScaleX);\n const dimy2 = this.getSizeAndScale(canvasHeight, this.ctx.canvas.height, combinedScaleY);\n const xSize = dimx2.size;\n const ySize = dimy2.size;\n const tmpCanvas2 = owner.cachedCanvases.getCanvas(\"pattern-workaround\", xSize, ySize);\n const tmpCtx2 = tmpCanvas2.context;\n const ii = redrawHorizontally ? Math.floor(width / xstep) : 0;\n const jj = redrawVertically ? Math.floor(height / ystep) : 0;\n for (let i = 0; i <= ii; i++) {\n for (let j = 0; j <= jj; j++) {\n tmpCtx2.drawImage(image, xSize * i, ySize * j, xSize, ySize, 0, 0, xSize, ySize);\n }\n }\n return {\n canvas: tmpCanvas2.canvas,\n scaleX: dimx2.scale,\n scaleY: dimy2.scale,\n offsetX: x0,\n offsetY: y0\n };\n }\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: x0,\n offsetY: y0\n };\n }\n getSizeAndScale(step, realOutputSize, scale) {\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return {\n scale,\n size\n };\n }\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax(getCurrentTransform(graphics.ctx), [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n const cssColor = Util.makeHexColor(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n if (pathType !== PathType.SHADING) {\n matrix = Util.transform(matrix, owner.baseTransform);\n if (this.matrix) {\n matrix = Util.transform(matrix, this.matrix);\n }\n }\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n pattern.setTransform(domMatrix);\n return pattern;\n }\n}\n\n;// ./src/shared/image_utils.js\n\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n return null;\n}\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false\n}) {\n const black = util_FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n if (FeatureTest.isLittleEndian) {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;\n dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;\n dest[destPos + 3] = s3 >>> 8 | 0xff000000;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;\n dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;\n dest[destPos + 3] = s3 << 8 | 0xff;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction grayToRGBA(src, dest) {\n if (FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x10101 | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x1010100 | 0x000000ff;\n }\n }\n}\n\n;// ./src/display/canvas.js\n\n\n\n\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n ctx.save = function ctxSave() {\n destCtx.save();\n this.__originalSave();\n };\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n this.__originalRestore();\n };\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n this.__originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n this.__originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n this.__originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n this.__originalResetTransform();\n };\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n this.__originalRotate(angle);\n };\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n this.__originalClip(rule);\n };\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n this.__originalMoveTo(x, y);\n };\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n this.__originalLineTo(x, y);\n };\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n this.__originalRect(x, y, width, height);\n };\n ctx.closePath = function () {\n destCtx.closePath();\n this.__originalClosePath();\n };\n ctx.beginPath = function () {\n destCtx.beginPath();\n this.__originalBeginPath();\n };\n}\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n getCanvas(id, width, height) {\n let canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n return canvasEntry;\n }\n delete(id) {\n delete this.cache[id];\n }\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n}\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = getCurrentTransform(ctx);\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n for (const elem of imgData.data) {\n let mask = 128;\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n let count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n const path = new Path2D();\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n path.moveTo(p % width1, i);\n const p0 = p;\n let type = points[p];\n do {\n const step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n const pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n path.lineTo(p % width1, p / width1 | 0);\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n --i;\n }\n data = null;\n points = null;\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.fill(path);\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = \"none\";\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n updatePathMinMax(transform, x, y) {\n [x, y] = Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n updateRectMinMax(transform, rect) {\n const p1 = Util.applyTransform(rect, transform);\n const p2 = Util.applyTransform(rect.slice(2), transform);\n const p3 = Util.applyTransform([rect[0], rect[3]], transform);\n const p4 = Util.applyTransform([rect[2], rect[1]], transform);\n this.minX = Math.min(this.minX, p1[0], p2[0], p3[0], p4[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1], p3[1], p4[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0], p3[0], p4[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1], p3[1], p4[1]);\n }\n updateScalingPathMinMax(transform, minMax) {\n Util.scaleMinMax(transform, minMax);\n this.minX = Math.min(this.minX, minMax[0]);\n this.minY = Math.min(this.minY, minMax[1]);\n this.maxX = Math.max(this.maxX, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3, minMax);\n if (minMax) {\n return;\n }\n this.updateRectMinMax(transform, box);\n }\n getPathBoundingBox(pathType = PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n if (pathType === PathType.STROKE) {\n if (!transform) {\n unreachable(\"Stroke bounding box must include transform.\");\n }\n const scale = Util.singularValueDecompose2dScale(transform);\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n return box;\n }\n updateClipFromPath() {\n const intersect = Util.intersect(this.clipBox, this.getPathBoundingBox());\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n isEmptyClip() {\n return this.minX === Infinity;\n }\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n getClippedPathBoundingBox(pathType = PathType.FILL, transform = null) {\n return Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n}\nfunction putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === util_ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n const white = 0xffffffff;\n const black = util_FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === util_ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === util_ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = convertBlackAndWhiteToRGBA({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight,\n nonBlackColor: 0\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\", \"filter\"];\n for (const property of properties) {\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\nfunction resetCtxToDefault(ctx) {\n ctx.strokeStyle = ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n if (!isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n}\nfunction getImageSmoothingEnabled(transform, interpolate) {\n if (interpolate) {\n return true;\n }\n const scale = Util.singularValueDecompose2dScale(transform);\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * PixelsPerInch.PDF_TO_CSS_UNITS);\n return scale[0] <= actualScale && scale[1] <= actualScale;\n}\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, {\n optionalContentConfig,\n markedContentStack = null\n }, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = markedContentStack || [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.pageColors = pageColors;\n this._cachedScaleForStroking = [-1, 0];\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const savedFillStyle = this.ctx.fillStyle;\n this.ctx.fillStyle = background || \"#ffffff\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.fillStyle = savedFillStyle;\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform(...getCurrentTransform(this.compositeCtx));\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform(...transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n this.ctx.transform(...viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = getCurrentTransform(this.ctx);\n }\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n }\n #restoreInitialState() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n this.current.activeSMask = null;\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n }\n endDrawing() {\n this.#restoreInitialState();\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n cache.clear();\n }\n this._cachedBitmapsMap.clear();\n this.#drawFilter();\n }\n #drawFilter() {\n if (this.pageColors) {\n const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background);\n if (hcmFilterId !== \"none\") {\n const savedFilter = this.ctx.filter;\n this.ctx.filter = hcmFilterId;\n this.ctx.drawImage(this.ctx.canvas, 0, 0);\n this.ctx.filter = savedFilter;\n }\n }\n }\n _scaleImage(img, inverseTransform) {\n const width = img.width ?? img.displayWidth;\n const height = img.height ?? img.displayHeight;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2;\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = getCurrentTransform(ctx);\n let cache, cacheKey, scaled, maskCanvas;\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n if (!cache) {\n cache = new Map();\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n const cachedImage = cache.get(cacheKey);\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n scaled = cachedImage;\n }\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n putBinaryImageMask(maskCanvas.context, img);\n }\n let maskToCanvas = Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n maskToCanvas = Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n const [minX, minY, maxX, maxY] = Util.getAxialAlignedBoundingBox([0, 0, width, height], maskToCanvas);\n const drawnWidth = Math.round(maxX - minX) || 1;\n const drawnHeight = Math.round(maxY - minY) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight);\n const fillCtx = fillCanvas.context;\n const offsetX = minX;\n const offsetY = minY;\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform(...maskToCanvas);\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, getCurrentTransformInverse(fillCtx));\n scaled = scaled.img;\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(getCurrentTransform(fillCtx), img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n const inverse = Util.transform(getCurrentTransformInverse(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking[0] = -1;\n }\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = value;\n break;\n case \"ca\":\n this.current.fillAlpha = value;\n this.ctx.globalAlpha = value;\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n case \"TR\":\n this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value);\n break;\n }\n }\n }\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform(...getCurrentTransform(this.suspendedCtx));\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n this.ctx._removeMirroring();\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n this.composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n this.genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n }\n genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n let maskCanvas = maskCtx.canvas;\n let maskX = layerOffsetX - maskOffsetX;\n let maskY = layerOffsetY - maskOffsetY;\n if (backdrop) {\n const backdropRGB = Util.makeHexColor(...backdrop);\n if (maskX < 0 || maskY < 0 || maskX + width > maskCanvas.width || maskY + height > maskCanvas.height) {\n const canvas = this.cachedCanvases.getCanvas(\"maskExtension\", width, height);\n const ctx = canvas.context;\n ctx.drawImage(maskCanvas, -maskX, -maskY);\n ctx.globalCompositeOperation = \"destination-atop\";\n ctx.fillStyle = backdropRGB;\n ctx.fillRect(0, 0, width, height);\n ctx.globalCompositeOperation = \"source-over\";\n maskCanvas = canvas.canvas;\n maskX = maskY = 0;\n } else {\n maskCtx.save();\n maskCtx.globalAlpha = 1;\n maskCtx.setTransform(1, 0, 0, 1, 0, 0);\n const clip = new Path2D();\n clip.rect(maskX, maskY, width, height);\n maskCtx.clip(clip);\n maskCtx.globalCompositeOperation = \"destination-atop\";\n maskCtx.fillStyle = backdropRGB;\n maskCtx.fillRect(maskX, maskY, width, height);\n maskCtx.restore();\n }\n }\n layerCtx.save();\n layerCtx.globalAlpha = 1;\n layerCtx.setTransform(1, 0, 0, 1, 0, 0);\n if (subtype === \"Alpha\" && transferMap) {\n layerCtx.filter = this.filterFactory.addAlphaFilter(transferMap);\n } else if (subtype === \"Luminosity\") {\n layerCtx.filter = this.filterFactory.addLuminosityFilter(transferMap);\n }\n const clip = new Path2D();\n clip.rect(layerOffsetX, layerOffsetY, width, height);\n layerCtx.clip(clip);\n layerCtx.globalCompositeOperation = \"destination-in\";\n layerCtx.drawImage(maskCanvas, maskX, maskY, width, height, layerOffsetX, layerOffsetY, width, height);\n layerCtx.restore();\n }\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = getCurrentTransform(ctx);\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n ctx.closePath();\n break;\n case OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n case OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n case OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n current.setCurrentPoint(x, y);\n }\n closePath() {\n this.ctx.closePath();\n }\n stroke(consumePath = true) {\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n ctx.globalAlpha = this.current.fillAlpha;\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n fill(consumePath = true) {\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.FILL);\n needRestore = true;\n }\n const intersect = this.current.getClippedPathBoundingBox();\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n endPath() {\n this.consumePath();\n }\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n beginText() {\n this.current.textMatrix = IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (const path of paths) {\n ctx.setTransform(...path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n current.fontMatrix = fontObj.fontMatrix || FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n warn(\"Invalid font matrix for font \" + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n const name = fontObj.loadedName || \"sans-serif\";\n const typeface = fontObj.systemFontInfo?.css || `\"${name}\", ${fontObj.fallbackName}`;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform(...patternTransform);\n }\n if (fillStrokeMode === TextRenderingMode.FILL || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === TextRenderingMode.FILL || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths ||= [];\n paths.push({\n transform: getCurrentTransform(ctx),\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return shadow(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n let patternTransform;\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.FILL);\n patternTransform = getCurrentTransform(ctx);\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === TextRenderingMode.STROKE || fillStrokeMode === TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n if (font.isInvalidPDFjsFont) {\n const chars = [];\n let width = 0;\n for (const glyph of glyphs) {\n chars.push(glyph.unicode);\n width += glyph.width;\n }\n ctx.fillText(chars.join(\"\"), 0, 0);\n current.x += width * widthAdvanceScale * textHScale;\n ctx.restore();\n this.compose();\n return undefined;\n }\n let x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n this.compose();\n return undefined;\n }\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n warn(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform(...fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n const transformed = Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n }\n setCharWidth(xWidth, yWidth) {}\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n getColorN_Pattern(IR) {\n let pattern;\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || getCurrentTransform(this.ctx);\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig: this.optionalContentConfig,\n markedContentStack: this.markedContentStack\n })\n };\n pattern = new TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n return pattern;\n }\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n setStrokeRGBColor(r, g, b) {\n this.ctx.strokeStyle = this.current.strokeColor = Util.makeHexColor(r, g, b);\n }\n setStrokeTransparent() {\n this.ctx.strokeStyle = this.current.strokeColor = \"transparent\";\n }\n setFillRGBColor(r, g, b) {\n this.ctx.fillStyle = this.current.fillColor = Util.makeHexColor(r, g, b);\n this.current.patternFill = false;\n }\n setFillTransparent() {\n this.ctx.fillStyle = this.current.fillColor = \"transparent\";\n this.current.patternFill = false;\n }\n _getPattern(objId, matrix = null) {\n let pattern;\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = getShadingPattern(this.getObject(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n if (matrix) {\n pattern.matrix = matrix;\n }\n return pattern;\n }\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n this.save();\n const pattern = this._getPattern(objId);\n ctx.fillStyle = pattern.getPattern(ctx, this, getCurrentTransformInverse(ctx), PathType.SHADING);\n const inv = getCurrentTransformInverse(ctx);\n if (inv) {\n const {\n width,\n height\n } = ctx.canvas;\n const [x0, y0, x1, y1] = Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n beginInlineImage() {\n unreachable(\"Should not call beginInlineImage\");\n }\n beginImageData() {\n unreachable(\"Should not call beginImageData\");\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (matrix) {\n this.transform(...matrix);\n }\n this.baseTransform = getCurrentTransform(this.ctx);\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax(getCurrentTransform(this.ctx), bbox);\n this.clip();\n this.endPath();\n }\n }\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n const currentCtx = this.ctx;\n if (!group.isolated) {\n info(\"TODO: Support non-isolated groups.\");\n }\n if (group.knockout) {\n warn(\"Knockout groups not supported.\");\n }\n const currentTransform = getCurrentTransform(currentCtx);\n if (group.matrix) {\n currentCtx.transform(...group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n let bounds = Util.getAxialAlignedBoundingBox(group.bbox, getCurrentTransform(currentCtx));\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n const drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n const drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n const groupCtx = scratchCanvas.context;\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform(...currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.save();\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = getCurrentTransform(this.ctx);\n this.restore();\n this.ctx.save();\n this.ctx.setTransform(...currentMtx);\n const dirtyBox = Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.#restoreInitialState();\n resetCtxToDefault(this.ctx);\n this.ctx.save();\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform(...this.baseTransform);\n }\n if (rect) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n const [scaleX, scaleY] = Util.singularValueDecompose2dScale(getCurrentTransform(this.ctx));\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.save();\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx);\n } else {\n resetCtxToDefault(this.ctx);\n this.endPath();\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.ctx.beginPath();\n }\n }\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform(...transform);\n this.transform(...matrix);\n }\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx.restore();\n this.#drawFilter();\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n const mask = this._createMaskCanvas(img);\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = getCurrentTransform(ctx);\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n const mask = this._createMaskCanvas(img);\n ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]);\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n const [x, y] = Util.applyTransform([0, 0], trans);\n ctx.drawImage(mask.canvas, x, y);\n }\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, getCurrentTransformInverse(ctx), PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform(...transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n warn(\"Dependent image isn't ready yet\");\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n warn(\"Dependent image isn't ready yet\");\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n applyTransferMapsToCanvas(ctx) {\n if (this.current.transferMaps !== \"none\") {\n ctx.filter = this.current.transferMaps;\n ctx.drawImage(ctx.canvas, 0, 0);\n ctx.filter = \"none\";\n }\n return ctx.canvas;\n }\n applyTransferMapsToBitmap(imgData) {\n if (this.current.transferMaps === \"none\") {\n return imgData.bitmap;\n }\n const {\n bitmap,\n width,\n height\n } = imgData;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.filter = this.current.transferMaps;\n tmpCtx.drawImage(bitmap, 0, 0);\n tmpCtx.filter = \"none\";\n return tmpCanvas.canvas;\n }\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n if (!isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = this.applyTransferMapsToBitmap(imgData);\n } else if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n const scaled = this._scaleImage(imgToPaint, getCurrentTransformInverse(ctx));\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled(getCurrentTransform(ctx), imgData.interpolate);\n drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n this.compose();\n this.restore();\n }\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = imgData.bitmap;\n } else {\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n for (const entry of map) {\n ctx.save();\n ctx.transform(...entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n markPoint(tag) {}\n markPointProps(tag, properties) {}\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n this.contentVisible = this.isContentVisible();\n }\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n beginCompat() {}\n endCompat() {}\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n const ctx = this.ctx;\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n this.pendingClip = null;\n }\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = getCurrentTransform(this.ctx);\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n return this._cachedGetSinglePixelWidth;\n }\n getScaleForStroking() {\n if (this._cachedScaleForStroking[0] === -1) {\n const {\n lineWidth\n } = this.current;\n const {\n a,\n b,\n c,\n d\n } = this.ctx.getTransform();\n let scaleX, scaleY;\n if (b === 0 && c === 0) {\n const normX = Math.abs(a);\n const normY = Math.abs(d);\n if (normX === normY) {\n if (lineWidth === 0) {\n scaleX = scaleY = 1 / normX;\n } else {\n const scaledLineWidth = normX * lineWidth;\n scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1;\n }\n } else if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(a * d - b * c);\n const normX = Math.hypot(a, b);\n const normY = Math.hypot(c, d);\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n this._cachedScaleForStroking[0] = scaleX;\n this._cachedScaleForStroking[1] = scaleY;\n }\n return this._cachedScaleForStroking;\n }\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n const dashes = ctx.getLineDash();\n if (saveRestore) {\n ctx.save();\n }\n ctx.scale(scaleX, scaleY);\n if (dashes.length > 0) {\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(dashes.map(x => x / scale));\n ctx.lineDashOffset /= scale;\n }\n ctx.stroke();\n if (saveRestore) {\n ctx.restore();\n }\n }\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n return true;\n }\n}\nfor (const op in OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n;// ./src/display/worker_options.js\nclass GlobalWorkerOptions {\n static #port = null;\n static #src = \"\";\n static get workerPort() {\n return this.#port;\n }\n static set workerPort(val) {\n if (!(typeof Worker !== \"undefined\" && val instanceof Worker) && val !== null) {\n throw new Error(\"Invalid `workerPort` type.\");\n }\n this.#port = val;\n }\n static get workerSrc() {\n return this.#src;\n }\n static set workerSrc(val) {\n if (typeof val !== \"string\") {\n throw new Error(\"Invalid `workerSrc` type.\");\n }\n this.#src = val;\n }\n}\n\n;// ./src/shared/message_handler.js\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n unreachable('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n switch (reason.name) {\n case \"AbortException\":\n return new AbortException(reason.message);\n case \"MissingPDFException\":\n return new MissingPDFException(reason.message);\n case \"PasswordException\":\n return new PasswordException(reason.message, reason.code);\n case \"UnexpectedResponseException\":\n return new UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new UnknownErrorException(reason.message, reason.details);\n default:\n return new UnknownErrorException(reason.message, reason.toString());\n }\n}\nclass MessageHandler {\n #messageAC = new AbortController();\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n comObj.addEventListener(\"message\", this.#onMessage.bind(this), {\n signal: this.#messageAC.signal\n });\n }\n #onMessage({\n data\n }) {\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this.#processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName,\n targetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this.#createStreamSink(data);\n return;\n }\n action(data.data);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = Promise.withResolvers();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = Promise.withResolvers();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = Promise.withResolvers();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n assert(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = Promise.withResolvers();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n #createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = Promise.withResolvers();\n this.ready = this.sinkCapability.promise;\n }\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n assert(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: Promise.withResolvers(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n #processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull?.());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n assert(streamController, \"enqueue should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n assert(streamController, \"close should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.isClosed = true;\n streamController.controller.close();\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.ERROR:\n assert(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n new Promise(function (resolve) {\n resolve(streamSink.onCancel?.(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async #deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);\n delete this.streamControllers[streamId];\n }\n destroy() {\n this.#messageAC?.abort();\n this.#messageAC = null;\n }\n}\n\n;// ./src/display/metadata.js\n\nclass Metadata {\n #metadataMap;\n #data;\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n getRaw() {\n return this.#data;\n }\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n getAll() {\n return objectFromMap(this.#metadataMap);\n }\n has(name) {\n return this.#metadataMap.has(name);\n }\n}\n\n;// ./src/display/optional_content_config.js\n\n\nconst INTERNAL = Symbol(\"INTERNAL\");\nclass OptionalContentGroup {\n #isDisplay = false;\n #isPrint = false;\n #userSet = false;\n #visible = true;\n constructor(renderingIntent, {\n name,\n intent,\n usage,\n rbGroups\n }) {\n this.#isDisplay = !!(renderingIntent & RenderingIntentFlag.DISPLAY);\n this.#isPrint = !!(renderingIntent & RenderingIntentFlag.PRINT);\n this.name = name;\n this.intent = intent;\n this.usage = usage;\n this.rbGroups = rbGroups;\n }\n get visible() {\n if (this.#userSet) {\n return this.#visible;\n }\n if (!this.#visible) {\n return false;\n }\n const {\n print,\n view\n } = this.usage;\n if (this.#isDisplay) {\n return view?.viewState !== \"OFF\";\n } else if (this.#isPrint) {\n return print?.printState !== \"OFF\";\n }\n return true;\n }\n _setVisible(internal, visible, userSet = false) {\n if (internal !== INTERNAL) {\n unreachable(\"Internal method `_setVisible` called.\");\n }\n this.#userSet = userSet;\n this.#visible = visible;\n }\n}\nclass OptionalContentConfig {\n #cachedGetHash = null;\n #groups = new Map();\n #initialHash = null;\n #order = null;\n constructor(data, renderingIntent = RenderingIntentFlag.DISPLAY) {\n this.renderingIntent = renderingIntent;\n this.name = null;\n this.creator = null;\n if (data === null) {\n return;\n }\n this.name = data.name;\n this.creator = data.creator;\n this.#order = data.order;\n for (const group of data.groups) {\n this.#groups.set(group.id, new OptionalContentGroup(renderingIntent, group));\n }\n if (data.baseState === \"OFF\") {\n for (const group of this.#groups.values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n for (const on of data.on) {\n this.#groups.get(on)._setVisible(INTERNAL, true);\n }\n for (const off of data.off) {\n this.#groups.get(off)._setVisible(INTERNAL, false);\n }\n this.#initialHash = this.getHash();\n }\n #evaluateVisibilityExpression(array) {\n const length = array.length;\n if (length < 2) {\n return true;\n }\n const operator = array[0];\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n if (Array.isArray(element)) {\n state = this.#evaluateVisibilityExpression(element);\n } else if (this.#groups.has(element)) {\n state = this.#groups.get(element).visible;\n } else {\n warn(`Optional content group not found: ${element}`);\n return true;\n }\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n break;\n case \"Or\":\n if (state) {\n return true;\n }\n break;\n case \"Not\":\n return !state;\n default:\n return true;\n }\n }\n return operator === \"And\";\n }\n isVisible(group) {\n if (this.#groups.size === 0) {\n return true;\n }\n if (!group) {\n info(\"Optional content group not defined.\");\n return true;\n }\n if (group.type === \"OCG\") {\n if (!this.#groups.has(group.id)) {\n warn(`Optional content group not found: ${group.id}`);\n return true;\n }\n return this.#groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this.#evaluateVisibilityExpression(group.expression);\n }\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n warn(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n warn(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n warn(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n warn(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n }\n warn(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n warn(`Unknown group type ${group.type}.`);\n return true;\n }\n setVisibility(id, visible = true, preserveRB = true) {\n const group = this.#groups.get(id);\n if (!group) {\n warn(`Optional content group not found: ${id}`);\n return;\n }\n if (preserveRB && visible && group.rbGroups.length) {\n for (const rbGroup of group.rbGroups) {\n for (const otherId of rbGroup) {\n if (otherId !== id) {\n this.#groups.get(otherId)?._setVisible(INTERNAL, false, true);\n }\n }\n }\n }\n group._setVisible(INTERNAL, !!visible, true);\n this.#cachedGetHash = null;\n }\n setOCGState({\n state,\n preserveRB\n }) {\n let operator;\n for (const elem of state) {\n switch (elem) {\n case \"ON\":\n case \"OFF\":\n case \"Toggle\":\n operator = elem;\n continue;\n }\n const group = this.#groups.get(elem);\n if (!group) {\n continue;\n }\n switch (operator) {\n case \"ON\":\n this.setVisibility(elem, true, preserveRB);\n break;\n case \"OFF\":\n this.setVisibility(elem, false, preserveRB);\n break;\n case \"Toggle\":\n this.setVisibility(elem, !group.visible, preserveRB);\n break;\n }\n }\n this.#cachedGetHash = null;\n }\n get hasInitialVisibility() {\n return this.#initialHash === null || this.getHash() === this.#initialHash;\n }\n getOrder() {\n if (!this.#groups.size) {\n return null;\n }\n if (this.#order) {\n return this.#order.slice();\n }\n return [...this.#groups.keys()];\n }\n getGroups() {\n return this.#groups.size > 0 ? objectFromMap(this.#groups) : null;\n }\n getGroup(id) {\n return this.#groups.get(id) || null;\n }\n getHash() {\n if (this.#cachedGetHash !== null) {\n return this.#cachedGetHash;\n }\n const hash = new MurmurHash3_64();\n for (const [id, group] of this.#groups) {\n hash.update(`${id}:${group.visible}`);\n }\n return this.#cachedGetHash = hash.hexdigest();\n }\n}\n\n;// ./src/display/transport_stream.js\n\n\nclass PDFDataTransportStream {\n constructor(pdfDataRangeTransport, {\n disableRange = false,\n disableStream = false\n }) {\n assert(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n const {\n length,\n initialData,\n progressiveDone,\n contentDispositionFilename\n } = pdfDataRangeTransport;\n this._queuedChunks = [];\n this._progressiveDone = progressiveDone;\n this._contentDispositionFilename = contentDispositionFilename;\n if (initialData?.length > 0) {\n const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !disableStream;\n this._isRangeSupported = !disableRange;\n this._contentLength = length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n pdfDataRangeTransport.transportReady();\n }\n _onReceiveData({\n begin,\n chunk\n }) {\n const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer;\n if (begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n assert(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n _onProgress(evt) {\n if (evt.total === undefined) {\n this._rangeReaders[0]?.onProgress?.({\n loaded: evt.loaded\n });\n } else {\n this._fullRequestReader?.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n _onProgressiveDone() {\n this._fullRequestReader?.progressiveDone();\n this._progressiveDone = true;\n }\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n getFullReader() {\n assert(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n this._pdfDataRangeTransport.abort();\n }\n}\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = isPdfFile(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n get headersReady() {\n return this._headersReady;\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n get contentLength() {\n return this._stream._contentLength;\n }\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = Promise.withResolvers();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = Promise.withResolvers();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._stream._removeRangeReader(this);\n }\n}\n\n;// ./src/display/content_disposition.js\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch {}\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replaceAll(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replaceAll(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replaceAll(\"_\", \" \");\n text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch {}\n return textdecode(charset, text);\n });\n }\n return \"\";\n}\n\n;// ./src/display/network_utils.js\n\n\n\nfunction createHeaders(isHttp, httpHeaders) {\n const headers = new Headers();\n if (!isHttp || !httpHeaders || typeof httpHeaders !== \"object\") {\n return headers;\n }\n for (const key in httpHeaders) {\n const val = httpHeaders[key];\n if (val !== undefined) {\n headers.append(key, val);\n }\n }\n return headers;\n}\nfunction validateRangeRequestCapabilities({\n responseHeaders,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(responseHeaders.get(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (responseHeaders.get(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n const contentEncoding = responseHeaders.get(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(responseHeaders) {\n const contentDisposition = responseHeaders.get(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = getFilenameFromContentDispositionHeader(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch {}\n }\n if (isPdfFile(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n;// ./src/display/fetch_stream.js\n\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\nfunction getArrayBuffer(val) {\n if (val instanceof Uint8Array) {\n return val.buffer;\n }\n if (val instanceof ArrayBuffer) {\n return val;\n }\n warn(`getArrayBuffer - unexpected data format: ${val}`);\n return new Uint8Array(val).buffer;\n}\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.headers = createHeaders(this.isHttp, source.httpHeaders);\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n assert(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = Promise.withResolvers();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._abortController = new AbortController();\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n const headers = new Headers(stream.headers);\n const url = source.url;\n fetch(url, createFetchOptions(headers, this._withCredentials, this._abortController)).then(response => {\n if (!validateResponseStatus(response.status)) {\n throw createResponseStatusError(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n const responseHeaders = response.headers;\n const {\n allowRangeRequests,\n suggestedLength\n } = validateRangeRequestCapabilities({\n responseHeaders,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = extractFilenameFromHeader(responseHeaders);\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = Promise.withResolvers();\n this._isStreamingSupported = !source.disableStream;\n this._abortController = new AbortController();\n const headers = new Headers(stream.headers);\n headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n const url = source.url;\n fetch(url, createFetchOptions(headers, this._withCredentials, this._abortController)).then(response => {\n if (!validateResponseStatus(response.status)) {\n throw createResponseStatusError(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\n\n;// ./src/display/network.js\n\n\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\nfunction network_getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n return stringToBytes(data).buffer;\n}\nclass NetworkManager {\n constructor({\n url,\n httpHeaders,\n withCredentials\n }) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.headers = createHeaders(this.isHttp, httpHeaders);\n this.withCredentials = withCredentials || false;\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n requestFull(listeners) {\n return this.request(listeners);\n }\n request(args) {\n const xhr = new XMLHttpRequest();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const [key, val] of this.headers) {\n xhr.setRequestHeader(key, val);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n pendingRequest.onProgress?.(evt);\n }\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const chunk = network_getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source);\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n getFullReader() {\n assert(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersCapability = Promise.withResolvers();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n const responseHeaders = new Headers(fullRequestXhr.getAllResponseHeaders().trim().split(/[\\r\\n]+/).map(x => {\n const [key, ...val] = x.split(\": \");\n return [key, val.join(\": \")];\n }));\n const {\n allowRangeRequests,\n suggestedLength\n } = validateRangeRequestCapabilities({\n responseHeaders,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = extractFilenameFromHeader(responseHeaders);\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n this._headersCapability.resolve();\n }\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n _onError(status) {\n this._storedError = createResponseStatusError(status, this._url);\n this._headersCapability.reject(this._storedError);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get contentLength() {\n return this._contentLength;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = Promise.withResolvers();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._headersCapability.reject(reason);\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n _close() {\n this.onClosed?.(this);\n }\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._close();\n }\n _onError(status) {\n this._storedError = createResponseStatusError(status, this._url);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = Promise.withResolvers();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\n;// ./src/display/node_stream.js\n\n\n\nconst urlRegex = /^[a-z][a-z0-9\\-+.]+:/i;\nfunction parseUrlOrPath(sourceUrl) {\n if (urlRegex.test(sourceUrl)) {\n return new URL(sourceUrl);\n }\n const url = NodePackages.get(\"url\");\n return new URL(url.pathToFileURL(sourceUrl));\n}\nfunction createRequest(url, headers, callback) {\n if (url.protocol === \"http:\") {\n const http = NodePackages.get(\"http\");\n return http.request(url, {\n headers\n }, callback);\n }\n const https = NodePackages.get(\"https\");\n return https.request(url, {\n headers\n }, callback);\n}\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrlOrPath(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.headers = createHeaders(this.isHttp, source.httpHeaders);\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n assert(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = Promise.withResolvers();\n this._headersCapability = Promise.withResolvers();\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = Promise.withResolvers();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new AbortException(\"streaming is disabled\"));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = Promise.withResolvers();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = Promise.withResolvers();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const headers = Object.fromEntries(stream.headers);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n const responseHeaders = new Headers(this._readableStream.headers);\n const {\n allowRangeRequests,\n suggestedLength\n } = validateRangeRequestCapabilities({\n responseHeaders,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = extractFilenameFromHeader(responseHeaders);\n };\n this._request = createRequest(this._url, headers, handleResponse);\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n const headers = Object.fromEntries(stream.headers);\n headers.Range = `bytes=${start}-${end - 1}`;\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n this._request = createRequest(this._url, headers, handleResponse);\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const fs = NodePackages.get(\"fs\");\n fs.promises.lstat(this._url).then(stat => {\n this._contentLength = stat.size;\n this._setReadableStream(fs.createReadStream(this._url));\n this._headersCapability.resolve();\n }, error => {\n if (error.code === \"ENOENT\") {\n error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n });\n }\n}\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n const fs = NodePackages.get(\"fs\");\n this._setReadableStream(fs.createReadStream(this._url, {\n start,\n end: end - 1\n }));\n }\n}\n\n;// ./src/display/text_layer.js\n\n\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nclass TextLayer {\n #capability = Promise.withResolvers();\n #container = null;\n #disableProcessItems = false;\n #fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n #lang = null;\n #layoutTextParams = null;\n #pageHeight = 0;\n #pageWidth = 0;\n #reader = null;\n #rootContainer = null;\n #rotation = 0;\n #scale = 0;\n #styleCache = Object.create(null);\n #textContentItemsStr = [];\n #textContentSource = null;\n #textDivs = [];\n #textDivProperties = new WeakMap();\n #transform = null;\n static #ascentCache = new Map();\n static #canvasContexts = new Map();\n static #canvasCtxFonts = new WeakMap();\n static #minFontSize = null;\n static #pendingTextLayers = new Set();\n constructor({\n textContentSource,\n container,\n viewport\n }) {\n if (textContentSource instanceof ReadableStream) {\n this.#textContentSource = textContentSource;\n } else if (typeof textContentSource === \"object\") {\n this.#textContentSource = new ReadableStream({\n start(controller) {\n controller.enqueue(textContentSource);\n controller.close();\n }\n });\n } else {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n this.#container = this.#rootContainer = container;\n this.#scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n this.#rotation = viewport.rotation;\n this.#layoutTextParams = {\n div: null,\n properties: null,\n ctx: null\n };\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n this.#transform = [1, 0, 0, -1, -pageX, pageY + pageHeight];\n this.#pageWidth = pageWidth;\n this.#pageHeight = pageHeight;\n TextLayer.#ensureMinFontSizeComputed();\n setLayerDimensions(container, viewport);\n this.#capability.promise.finally(() => {\n TextLayer.#pendingTextLayers.delete(this);\n this.#layoutTextParams = null;\n this.#styleCache = null;\n }).catch(() => {});\n }\n static get fontFamilyMap() {\n const {\n isWindows,\n isFirefox\n } = util_FeatureTest.platform;\n return shadow(this, \"fontFamilyMap\", new Map([[\"sans-serif\", `${isWindows && isFirefox ? \"Calibri, \" : \"\"}sans-serif`], [\"monospace\", `${isWindows && isFirefox ? \"Lucida Console, \" : \"\"}monospace`]]));\n }\n render() {\n const pump = () => {\n this.#reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n this.#capability.resolve();\n return;\n }\n this.#lang ??= value.lang;\n Object.assign(this.#styleCache, value.styles);\n this.#processItems(value.items);\n pump();\n }, this.#capability.reject);\n };\n this.#reader = this.#textContentSource.getReader();\n TextLayer.#pendingTextLayers.add(this);\n pump();\n return this.#capability.promise;\n }\n update({\n viewport,\n onBefore = null\n }) {\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const rotation = viewport.rotation;\n if (rotation !== this.#rotation) {\n onBefore?.();\n this.#rotation = rotation;\n setLayerDimensions(this.#rootContainer, {\n rotation\n });\n }\n if (scale !== this.#scale) {\n onBefore?.();\n this.#scale = scale;\n const params = {\n div: null,\n properties: null,\n ctx: TextLayer.#getCtx(this.#lang)\n };\n for (const div of this.#textDivs) {\n params.properties = this.#textDivProperties.get(div);\n params.div = div;\n this.#layout(params);\n }\n }\n }\n cancel() {\n const abortEx = new AbortException(\"TextLayer task cancelled.\");\n this.#reader?.cancel(abortEx).catch(() => {});\n this.#reader = null;\n this.#capability.reject(abortEx);\n }\n get textDivs() {\n return this.#textDivs;\n }\n get textContentItemsStr() {\n return this.#textContentItemsStr;\n }\n #processItems(items) {\n if (this.#disableProcessItems) {\n return;\n }\n this.#layoutTextParams.ctx ??= TextLayer.#getCtx(this.#lang);\n const textDivs = this.#textDivs,\n textContentItemsStr = this.#textContentItemsStr;\n for (const item of items) {\n if (textDivs.length > MAX_TEXT_DIVS_TO_RENDER) {\n warn(\"Ignoring additional textDivs for performance reasons.\");\n this.#disableProcessItems = true;\n return;\n }\n if (item.str === undefined) {\n if (item.type === \"beginMarkedContentProps\" || item.type === \"beginMarkedContent\") {\n const parent = this.#container;\n this.#container = document.createElement(\"span\");\n this.#container.classList.add(\"markedContent\");\n if (item.id !== null) {\n this.#container.setAttribute(\"id\", `${item.id}`);\n }\n parent.append(this.#container);\n } else if (item.type === \"endMarkedContent\") {\n this.#container = this.#container.parentNode;\n }\n continue;\n }\n textContentItemsStr.push(item.str);\n this.#appendText(item);\n }\n }\n #appendText(geom) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n this.#textDivs.push(textDiv);\n const tx = Util.transform(this.#transform, geom.transform);\n let angle = Math.atan2(tx[1], tx[0]);\n const style = this.#styleCache[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n let fontFamily = this.#fontInspectorEnabled && style.fontSubstitution || style.fontFamily;\n fontFamily = TextLayer.fontFamilyMap.get(fontFamily) || fontFamily;\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * TextLayer.#getAscent(fontFamily, this.#lang);\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n const scaleFactorStr = \"calc(var(--scale-factor)*\";\n const divStyle = textDiv.style;\n if (this.#container === this.#rootContainer) {\n divStyle.left = `${(100 * left / this.#pageWidth).toFixed(2)}%`;\n divStyle.top = `${(100 * top / this.#pageHeight).toFixed(2)}%`;\n } else {\n divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`;\n divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`;\n }\n divStyle.fontSize = `${scaleFactorStr}${(TextLayer.#minFontSize * fontHeight).toFixed(2)}px)`;\n divStyle.fontFamily = fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n if (this.#fontInspectorEnabled) {\n textDiv.dataset.fontName = style.fontSubstitutionLoadedName || geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width;\n }\n this.#textDivProperties.set(textDiv, textDivProperties);\n this.#layoutTextParams.div = textDiv;\n this.#layoutTextParams.properties = textDivProperties;\n this.#layout(this.#layoutTextParams);\n if (textDivProperties.hasText) {\n this.#container.append(textDiv);\n }\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n this.#container.append(br);\n }\n }\n #layout(params) {\n const {\n div,\n properties,\n ctx\n } = params;\n const {\n style\n } = div;\n let transform = \"\";\n if (TextLayer.#minFontSize > 1) {\n transform = `scale(${1 / TextLayer.#minFontSize})`;\n }\n if (properties.canvasWidth !== 0 && properties.hasText) {\n const {\n fontFamily\n } = style;\n const {\n canvasWidth,\n fontSize\n } = properties;\n TextLayer.#ensureCtxFont(ctx, fontSize * this.#scale, fontFamily);\n const {\n width\n } = ctx.measureText(div.textContent);\n if (width > 0) {\n transform = `scaleX(${canvasWidth * this.#scale / width}) ${transform}`;\n }\n }\n if (properties.angle !== 0) {\n transform = `rotate(${properties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n style.transform = transform;\n }\n }\n static cleanup() {\n if (this.#pendingTextLayers.size > 0) {\n return;\n }\n this.#ascentCache.clear();\n for (const {\n canvas\n } of this.#canvasContexts.values()) {\n canvas.remove();\n }\n this.#canvasContexts.clear();\n }\n static #getCtx(lang = null) {\n let ctx = this.#canvasContexts.get(lang ||= \"\");\n if (!ctx) {\n const canvas = document.createElement(\"canvas\");\n canvas.className = \"hiddenCanvasElement\";\n canvas.lang = lang;\n document.body.append(canvas);\n ctx = canvas.getContext(\"2d\", {\n alpha: false,\n willReadFrequently: true\n });\n this.#canvasContexts.set(lang, ctx);\n this.#canvasCtxFonts.set(ctx, {\n size: 0,\n family: \"\"\n });\n }\n return ctx;\n }\n static #ensureCtxFont(ctx, size, family) {\n const cached = this.#canvasCtxFonts.get(ctx);\n if (size === cached.size && family === cached.family) {\n return;\n }\n ctx.font = `${size}px ${family}`;\n cached.size = size;\n cached.family = family;\n }\n static #ensureMinFontSizeComputed() {\n if (this.#minFontSize !== null) {\n return;\n }\n const div = document.createElement(\"div\");\n div.style.opacity = 0;\n div.style.lineHeight = 1;\n div.style.fontSize = \"1px\";\n div.style.position = \"absolute\";\n div.textContent = \"X\";\n document.body.append(div);\n this.#minFontSize = div.getBoundingClientRect().height;\n div.remove();\n }\n static #getAscent(fontFamily, lang) {\n const cachedAscent = this.#ascentCache.get(fontFamily);\n if (cachedAscent) {\n return cachedAscent;\n }\n const ctx = this.#getCtx(lang);\n ctx.canvas.width = ctx.canvas.height = DEFAULT_FONT_SIZE;\n this.#ensureCtxFont(ctx, DEFAULT_FONT_SIZE, fontFamily);\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n this.#ascentCache.set(fontFamily, ratio);\n ctx.canvas.width = ctx.canvas.height = 0;\n return ratio;\n }\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.canvas.width = ctx.canvas.height = 0;\n const ratio = ascent ? ascent / (ascent + descent) : DEFAULT_FONT_ASCENT;\n this.#ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n}\n\n;// ./src/display/xfa_text.js\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n function walk(node) {\n if (!node) {\n return;\n }\n let str = null;\n const name = node.name;\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n if (str !== null) {\n items.push({\n str\n });\n }\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n walk(child);\n }\n }\n walk(xfa);\n return output;\n }\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n}\n\n;// ./src/display/api.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nconst DELAYED_CLEANUP_TIMEOUT = 5000;\nconst DefaultCanvasFactory = isNodeJS ? NodeCanvasFactory : DOMCanvasFactory;\nconst DefaultCMapReaderFactory = isNodeJS ? NodeCMapReaderFactory : DOMCMapReaderFactory;\nconst DefaultFilterFactory = isNodeJS ? NodeFilterFactory : DOMFilterFactory;\nconst DefaultStandardFontDataFactory = isNodeJS ? NodeStandardFontDataFactory : DOMStandardFontDataFactory;\nfunction getDocument(src = {}) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = {\n url: src\n };\n } else if (src instanceof ArrayBuffer || ArrayBuffer.isView(src)) {\n src = {\n data: src\n };\n }\n const task = new PDFDocumentLoadingTask();\n const {\n docId\n } = task;\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n const docBaseUrl = typeof src.docBaseUrl === \"string\" && !isDataScheme(src.docBaseUrl) ? src.docBaseUrl : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl = typeof src.standardFontDataUrl === \"string\" ? src.standardFontDataUrl : null;\n const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === \"boolean\" ? src.isOffscreenCanvasSupported : !isNodeJS;\n const isChrome = typeof src.isChrome === \"boolean\" ? src.isChrome : !util_FeatureTest.platform.isFirefox && typeof window !== \"undefined\" && !!window?.chrome;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1;\n const disableFontFace = typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n const CanvasFactory = src.CanvasFactory || DefaultCanvasFactory;\n const FilterFactory = src.FilterFactory || DefaultFilterFactory;\n const enableHWA = src.enableHWA === true;\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts = typeof src.useSystemFonts === \"boolean\" ? src.useSystemFonts : !isNodeJS && !disableFontFace;\n const useWorkerFetch = typeof src.useWorkerFetch === \"boolean\" ? src.useWorkerFetch : CMapReaderFactory === DOMCMapReaderFactory && StandardFontDataFactory === DOMStandardFontDataFactory && cMapUrl && standardFontDataUrl && isValidFetchUrl(cMapUrl, document.baseURI) && isValidFetchUrl(standardFontDataUrl, document.baseURI);\n if (src.canvasFactory) {\n deprecated(\"`canvasFactory`-instance option, please use `CanvasFactory` instead.\");\n }\n if (src.filterFactory) {\n deprecated(\"`filterFactory`-instance option, please use `FilterFactory` instead.\");\n }\n const styleElement = null;\n setVerbosityLevel(verbosity);\n const transportFactory = {\n canvasFactory: new CanvasFactory({\n ownerDocument,\n enableHWA\n }),\n filterFactory: new FilterFactory({\n docId,\n ownerDocument\n }),\n cMapReaderFactory: useWorkerFetch ? null : new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked\n }),\n standardFontDataFactory: useWorkerFetch ? null : new StandardFontDataFactory({\n baseUrl: standardFontDataUrl\n })\n };\n if (!worker) {\n const workerParams = {\n verbosity,\n port: GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docParams = {\n docId,\n apiVersion: \"4.8.69\",\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n isChrome,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null\n }\n };\n const transportParams = {\n disableFontFace,\n fontExtraProperties,\n ownerDocument,\n pdfBug,\n styleElement,\n loadingParams: {\n disableAutoFetch,\n enableXfa\n }\n };\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerIdPromise = worker.messageHandler.sendWithPromise(\"GetDocRequest\", docParams, data ? [data.buffer] : null);\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(rangeTransport, {\n disableRange,\n disableStream\n });\n } else if (!data) {\n if (!url) {\n throw new Error(\"getDocument - no `url` parameter provided.\");\n }\n let NetworkStream;\n if (isNodeJS) {\n const isFetchSupported = typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype;\n NetworkStream = isFetchSupported && isValidFetchUrl(url) ? PDFFetchStream : PDFNodeStream;\n } else {\n NetworkStream = isValidFetchUrl(url) ? PDFFetchStream : PDFNetworkStream;\n }\n networkStream = new NetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream\n });\n }\n return workerIdPromise.then(workerId => {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const messageHandler = new MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nfunction getUrlProp(val) {\n if (val instanceof URL) {\n return val.href;\n }\n try {\n return new URL(val, window.location).href;\n } catch {\n if (isNodeJS && typeof val === \"string\") {\n return val;\n }\n }\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n}\nfunction getDataProp(val) {\n if (isNodeJS && typeof Buffer !== \"undefined\" && val instanceof Buffer) {\n throw new Error(\"Please provide binary data as `Uint8Array`, rather than `Buffer`.\");\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n return val;\n }\n if (typeof val === \"string\") {\n return stringToBytes(val);\n }\n if (val instanceof ArrayBuffer || ArrayBuffer.isView(val) || typeof val === \"object\" && !isNaN(val?.length)) {\n return new Uint8Array(val);\n }\n throw new Error(\"Invalid PDF binary data: either TypedArray, \" + \"string, or array-like object is expected in the data property.\");\n}\nfunction isRefProxy(ref) {\n return typeof ref === \"object\" && Number.isInteger(ref?.num) && ref.num >= 0 && Number.isInteger(ref?.gen) && ref.gen >= 0;\n}\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n constructor() {\n this._capability = Promise.withResolvers();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n }\n get promise() {\n return this._capability.promise;\n }\n async destroy() {\n this.destroyed = true;\n try {\n if (this._worker?.port) {\n this._worker._pendingDestroy = true;\n }\n await this._transport?.destroy();\n } catch (ex) {\n if (this._worker?.port) {\n delete this._worker._pendingDestroy;\n }\n throw ex;\n }\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = Promise.withResolvers();\n }\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n transportReady() {\n this._readyCapability.resolve();\n }\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n abort() {}\n}\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n get canvasFactory() {\n return this._transport.canvasFactory;\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get numPages() {\n return this._pdfInfo.numPages;\n }\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n getDestinations() {\n return this._transport.getDestinations();\n }\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n getPageMode() {\n return this._transport.getPageMode();\n }\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n getAttachments() {\n return this._transport.getAttachments();\n }\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n getOutline() {\n return this._transport.getOutline();\n }\n getOptionalContentConfig({\n intent = \"display\"\n } = {}) {\n const {\n renderingIntent\n } = this._transport.getRenderingIntent(intent);\n return this._transport.getOptionalContentConfig(renderingIntent);\n }\n getPermissions() {\n return this._transport.getPermissions();\n }\n getMetadata() {\n return this._transport.getMetadata();\n }\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n getData() {\n return this._transport.getData();\n }\n saveDocument() {\n return this._transport.saveDocument();\n }\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n destroy() {\n return this.loadingTask.destroy();\n }\n cachedPageNumber(ref) {\n return this._transport.cachedPageNumber(ref);\n }\n get loadingParams() {\n return this._transport.loadingParams;\n }\n get loadingTask() {\n return this._transport.loadingTask;\n }\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n #pendingCleanup = false;\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n get pageNumber() {\n return this._pageIndex + 1;\n }\n get rotate() {\n return this._pageInfo.rotate;\n }\n get ref() {\n return this._pageInfo.ref;\n }\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n get view() {\n return this._pageInfo.view;\n }\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const {\n renderingIntent\n } = this._transport.getRenderingIntent(intent);\n return this._transport.getAnnotations(this._pageIndex, renderingIntent);\n }\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null,\n isEditing = false\n }) {\n this._stats?.time(\"Overall\");\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, isEditing);\n const {\n renderingIntent,\n cacheKey\n } = intentArgs;\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n optionalContentConfigPromise ||= this._transport.getOptionalContentConfig(renderingIntent);\n let intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(cacheKey, intentState);\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n const intentPrint = !!(renderingIntent & RenderingIntentFlag.PRINT);\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = Promise.withResolvers();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(!intentPrint);\n if (error) {\n internalRenderTask.capability.reject(error);\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n if (globalThis.Stats?.enabled) {\n globalThis.Stats.add(this.pageNumber, this._stats);\n }\n }\n };\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.destroyed) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n if (!(optionalContentConfig.renderingIntent & renderingIntent)) {\n throw new Error(\"Must use the same `intent`-argument when calling the `PDFPageProxy.render` \" + \"and `PDFDocumentProxy.getOptionalContentConfig` methods.\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n printAnnotationStorage = null,\n isEditing = false\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, isEditing, true);\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = Promise.withResolvers();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n }\n });\n }\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => XfaText.textContent(xfa));\n }\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n textContent.lang ??= value.lang;\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n lang: null\n };\n pump();\n });\n }\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n if (intentState.opListReadCapability) {\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n return Promise.all(waitOn);\n }\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(false);\n if (resetStats && success) {\n this._stats &&= new StatTimer();\n }\n return success;\n }\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n if (!this.#pendingCleanup || this.destroyed) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(false);\n }, DELAYED_CLEANUP_TIMEOUT);\n return false;\n }\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return;\n }\n this._stats?.timeEnd(\"Page Request\");\n intentState.displayReadyCapability?.resolve(transparency);\n }\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(true);\n }\n }\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageSerializable,\n modifiedIds\n }) {\n const {\n map,\n transfer\n } = annotationStorageSerializable;\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: map,\n modifiedIds\n }, transfer);\n const reader = readableStream.getReader();\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return;\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, reason => {\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(true);\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n pump();\n }\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n if (reason instanceof RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < 1000) {\n delay += reason.extraDelay;\n }\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n }, delay);\n return;\n }\n }\n intentState.streamReader.cancel(new AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n this.cleanup();\n }\n get stats() {\n return this._stats;\n }\n}\nclass LoopbackPort {\n #listeners = new Map();\n #deferred = Promise.resolve();\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(obj, transfer ? {\n transfer\n } : null)\n };\n this.#deferred.then(() => {\n for (const [listener] of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n addEventListener(name, listener, options = null) {\n let rmAbort = null;\n if (options?.signal instanceof AbortSignal) {\n const {\n signal\n } = options;\n if (signal.aborted) {\n warn(\"LoopbackPort - cannot use an `aborted` signal.\");\n return;\n }\n const onAbort = () => this.removeEventListener(name, listener);\n rmAbort = () => signal.removeEventListener(\"abort\", onAbort);\n signal.addEventListener(\"abort\", onAbort);\n }\n this.#listeners.set(listener, rmAbort);\n }\n removeEventListener(name, listener) {\n const rmAbort = this.#listeners.get(listener);\n rmAbort?.();\n this.#listeners.delete(listener);\n }\n terminate() {\n for (const [, rmAbort] of this.#listeners) {\n rmAbort?.();\n }\n this.#listeners.clear();\n }\n}\nclass PDFWorker {\n static #fakeWorkerId = 0;\n static #isWorkerDisabled = false;\n static #workerPorts;\n static {\n if (isNodeJS) {\n this.#isWorkerDisabled = true;\n GlobalWorkerOptions.workerSrc ||= \"./pdf.worker.mjs\";\n }\n this._isSameOrigin = (baseUrl, otherUrl) => {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch {\n return false;\n }\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n this._createCDNWrapper = url => {\n const wrapper = `await import(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper], {\n type: \"text/javascript\"\n }));\n };\n }\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel()\n } = {}) {\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = Promise.withResolvers();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n if (PDFWorker.#workerPorts?.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n get promise() {\n if (isNodeJS) {\n return Promise.all([NodePackages.promise, this._readyCapability.promise]);\n }\n return this._readyCapability.promise;\n }\n #resolve() {\n this._readyCapability.resolve();\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }\n get port() {\n return this._port;\n }\n get messageHandler() {\n return this._messageHandler;\n }\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {});\n this.#resolve();\n }\n _initialize() {\n if (PDFWorker.#isWorkerDisabled || PDFWorker.#mainThreadWorkerMessageHandler) {\n this._setupFakeWorker();\n return;\n }\n let {\n workerSrc\n } = PDFWorker;\n try {\n if (!PDFWorker._isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorker._createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n const worker = new Worker(workerSrc, {\n type: \"module\"\n });\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n ac.abort();\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n const ac = new AbortController();\n worker.addEventListener(\"error\", () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n }, {\n signal: ac.signal\n });\n messageHandler.on(\"test\", data => {\n ac.abort();\n if (this.destroyed || !data) {\n terminateEarly();\n return;\n }\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n this.#resolve();\n });\n messageHandler.on(\"ready\", data => {\n ac.abort();\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch {\n this._setupFakeWorker();\n }\n });\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n sendTest();\n return;\n } catch {\n info(\"The worker has been disabled.\");\n }\n this._setupFakeWorker();\n }\n _setupFakeWorker() {\n if (!PDFWorker.#isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorker.#isWorkerDisabled = true;\n }\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorker.#fakeWorkerId++}`;\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n this._messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this.#resolve();\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts?.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n const cachedPort = this.#workerPorts?.get(params.port);\n if (cachedPort) {\n if (cachedPort._pendingDestroy) {\n throw new Error(\"PDFWorker.fromPort - the worker is being destroyed.\\n\" + \"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls.\");\n }\n return cachedPort;\n }\n return new PDFWorker(params);\n }\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n static get #mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch {\n return null;\n }\n }\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n if (this.#mainThreadWorkerMessageHandler) {\n return this.#mainThreadWorkerMessageHandler;\n }\n const worker = await import(/*webpackIgnore: true*/this.workerSrc);\n return worker.WorkerMessageHandler;\n };\n return shadow(this, \"_setupFakeWorkerGlobal\", loader());\n }\n}\nclass WorkerTransport {\n #methodPromises = new Map();\n #pageCache = new Map();\n #pagePromises = new Map();\n #pageRefCache = new Map();\n #passwordCapability = null;\n constructor(messageHandler, loadingTask, networkStream, params, factory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new FontLoader({\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this.loadingParams = params.loadingParams;\n this._params = params;\n this.canvasFactory = factory.canvasFactory;\n this.filterFactory = factory.filterFactory;\n this.cMapReaderFactory = factory.cMapReaderFactory;\n this.standardFontDataFactory = factory.standardFontDataFactory;\n this.destroyed = false;\n this.destroyCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = Promise.withResolvers();\n this.setupMessageHandler();\n }\n #cacheSimpleMethod(name, data = null) {\n const cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, data);\n this.#methodPromises.set(name, promise);\n return promise;\n }\n get annotationStorage() {\n return shadow(this, \"annotationStorage\", new AnnotationStorage());\n }\n getRenderingIntent(intent, annotationMode = AnnotationMode.ENABLE, printAnnotationStorage = null, isEditing = false, isOpList = false) {\n let renderingIntent = RenderingIntentFlag.DISPLAY;\n let annotationStorageSerializable = SerializableEmpty;\n switch (intent) {\n case \"any\":\n renderingIntent = RenderingIntentFlag.ANY;\n break;\n case \"display\":\n break;\n case \"print\":\n renderingIntent = RenderingIntentFlag.PRINT;\n break;\n default:\n warn(`getRenderingIntent - invalid intent: ${intent}`);\n }\n const annotationStorage = renderingIntent & RenderingIntentFlag.PRINT && printAnnotationStorage instanceof PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n switch (annotationMode) {\n case AnnotationMode.DISABLE:\n renderingIntent += RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n case AnnotationMode.ENABLE:\n break;\n case AnnotationMode.ENABLE_FORMS:\n renderingIntent += RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n case AnnotationMode.ENABLE_STORAGE:\n renderingIntent += RenderingIntentFlag.ANNOTATIONS_STORAGE;\n annotationStorageSerializable = annotationStorage.serializable;\n break;\n default:\n warn(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n if (isEditing) {\n renderingIntent += RenderingIntentFlag.IS_EDITING;\n }\n if (isOpList) {\n renderingIntent += RenderingIntentFlag.OPLIST;\n }\n const {\n ids: modifiedIds,\n hash: modifiedIdsHash\n } = annotationStorage.modifiedIds;\n const cacheKeyBuf = [renderingIntent, annotationStorageSerializable.hash, modifiedIdsHash];\n return {\n renderingIntent,\n cacheKey: cacheKeyBuf.join(\"_\"),\n annotationStorageSerializable,\n modifiedIds\n };\n }\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = Promise.withResolvers();\n this.#passwordCapability?.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n const waitOn = [];\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n this.#pageCache.clear();\n this.#pagePromises.clear();\n this.#pageRefCache.clear();\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#methodPromises.clear();\n this.filterFactory.destroy();\n TextLayer.cleanup();\n this._networkStream?.cancelAllRequests(new AbortException(\"Worker was terminated.\"));\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n assert(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n assert(value instanceof ArrayBuffer, \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", async data => {\n await this._fullReader.headersReady;\n const {\n isStreamingSupported,\n isRangeSupported,\n contentLength\n } = this._fullReader;\n if (!isStreamingSupported || !isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n this._fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n return {\n isStreamingSupported,\n isRangeSupported,\n contentLength\n };\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n assert(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n if (!rangeReader) {\n sink.close();\n return;\n }\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n assert(value instanceof ArrayBuffer, \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new UnknownErrorException(ex.message, ex.details);\n break;\n default:\n unreachable(\"DocException - expected a valid Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this.#passwordCapability = Promise.withResolvers();\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this.#passwordCapability.reject(password);\n } else {\n this.#passwordCapability.resolve({\n password\n });\n }\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this.#passwordCapability.reject(ex);\n }\n } else {\n this.#passwordCapability.reject(new PasswordException(exception.message, exception.code));\n }\n return this.#passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n const page = this.#pageCache.get(data.pageIndex);\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return null;\n }\n if (this.commonObjs.has(id)) {\n return null;\n }\n switch (type) {\n case \"Font\":\n const {\n disableFontFace,\n fontExtraProperties,\n pdfBug\n } = this._params;\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n warn(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n const inspectFont = pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null;\n const font = new FontFaceObject(exportedData, {\n disableFontFace,\n inspectFont\n });\n this.fontLoader.bind(font).catch(() => messageHandler.sendWithPromise(\"FontFallback\", {\n id\n })).finally(() => {\n if (!fontExtraProperties && font.data) {\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"CopyLocalImage\":\n const {\n imageRef\n } = exportedData;\n assert(imageRef, \"The imageRef must be defined.\");\n for (const pageProxy of this.#pageCache.values()) {\n for (const [, data] of pageProxy.objs) {\n if (data?.ref !== imageRef) {\n continue;\n }\n if (!data.dataLen) {\n return null;\n }\n this.commonObjs.resolve(id, structuredClone(data));\n return data.dataLen;\n }\n }\n break;\n case \"FontPath\":\n case \"Image\":\n case \"Pattern\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n return null;\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n const pageProxy = this.#pageCache.get(pageIndex);\n if (pageProxy.objs.has(id)) {\n return;\n }\n if (pageProxy._intentStates.size === 0) {\n imageData?.bitmap?.close();\n return;\n }\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n if (imageData?.dataLen > MAX_IMAGE_SIZE_TO_CACHE) {\n pageProxy._maybeCleanupAfterRender = true;\n }\n break;\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", async data => {\n if (this.destroyed) {\n throw new Error(\"Worker was destroyed.\");\n }\n if (!this.cMapReaderFactory) {\n throw new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\");\n }\n return this.cMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", async data => {\n if (this.destroyed) {\n throw new Error(\"Worker was destroyed.\");\n }\n if (!this.standardFontDataFactory) {\n throw new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\");\n }\n return this.standardFontDataFactory.fetch(data);\n });\n }\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n saveDocument() {\n if (this.annotationStorage.size <= 0) {\n warn(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n const {\n map,\n transfer\n } = this.annotationStorage.serializable;\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: map,\n filename: this._fullReader?.filename ?? null\n }, transfer).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n if (pageInfo.refStr) {\n this.#pageRefCache.set(pageInfo.refStr, pageNumber);\n }\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n getPageIndex(ref) {\n if (!isRefProxy(ref)) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n getFieldObjects() {\n return this.#cacheSimpleMethod(\"GetFieldObjects\");\n }\n hasJSActions() {\n return this.#cacheSimpleMethod(\"HasJSActions\");\n }\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n getDocJSActions() {\n return this.#cacheSimpleMethod(\"GetDocJSActions\");\n }\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n getOptionalContentConfig(renderingIntent) {\n return this.#cacheSimpleMethod(\"GetOptionalContentConfig\").then(data => new OptionalContentConfig(data, renderingIntent));\n }\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n getMetadata() {\n const name = \"GetMetadata\",\n cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, null).then(results => ({\n info: results[0],\n metadata: results[1] ? new Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n }));\n this.#methodPromises.set(name, promise);\n return promise;\n }\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n async startCleanup(keepLoadedFonts = false) {\n if (this.destroyed) {\n return;\n }\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n this.commonObjs.clear();\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n this.#methodPromises.clear();\n this.filterFactory.destroy(true);\n TextLayer.cleanup();\n }\n cachedPageNumber(ref) {\n if (!isRefProxy(ref)) {\n return null;\n }\n const refStr = ref.gen === 0 ? `${ref.num}R` : `${ref.num}R${ref.gen}`;\n return this.#pageRefCache.get(refStr) ?? null;\n }\n}\nconst INITIAL_DATA = Symbol(\"INITIAL_DATA\");\nclass PDFObjects {\n #objs = Object.create(null);\n #ensureObj(objId) {\n return this.#objs[objId] ||= {\n ...Promise.withResolvers(),\n data: INITIAL_DATA\n };\n }\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.promise.then(() => callback(obj.data));\n return null;\n }\n const obj = this.#objs[objId];\n if (!obj || obj.data === INITIAL_DATA) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n has(objId) {\n const obj = this.#objs[objId];\n return !!obj && obj.data !== INITIAL_DATA;\n }\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.resolve();\n }\n clear() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n data?.bitmap?.close();\n }\n this.#objs = Object.create(null);\n }\n *[Symbol.iterator]() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n if (data === INITIAL_DATA) {\n continue;\n }\n yield [objId, data];\n }\n }\n}\nclass RenderTask {\n #internalRenderTask = null;\n constructor(internalRenderTask) {\n this.#internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n get promise() {\n return this.#internalRenderTask.capability.promise;\n }\n cancel(extraDelay = 0) {\n this.#internalRenderTask.cancel(null, extraDelay);\n }\n get separateAnnots() {\n const {\n separateAnnots\n } = this.#internalRenderTask.operatorList;\n if (!separateAnnots) {\n return false;\n }\n const {\n annotationCanvasMap\n } = this.#internalRenderTask;\n return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;\n }\n}\nclass InternalRenderTask {\n #rAF = null;\n static #canvasInUse = new WeakSet();\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n filterFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = Promise.withResolvers();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n background\n } = this.params;\n this.gfx = new CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig\n }, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n this.graphicsReadyCallback?.();\n }\n cancel(error = null, extraDelay = 0) {\n this.running = false;\n this.cancelled = true;\n this.gfx?.endDrawing();\n if (this.#rAF) {\n window.cancelAnimationFrame(this.#rAF);\n this.#rAF = null;\n }\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback(error || new RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay));\n }\n operatorListChanged() {\n if (!this.graphicsReady) {\n this.graphicsReadyCallback ||= this._continueBound;\n return;\n }\n this.stepper?.updateOperatorList(this.operatorList);\n if (this.running) {\n return;\n }\n this._continue();\n }\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n this.#rAF = window.requestAnimationFrame(() => {\n this.#rAF = null;\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback();\n }\n }\n }\n}\nconst version = \"4.8.69\";\nconst build = \"3634dab10\";\n\n;// ./src/shared/scripting_utils.js\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\nfunction scaleAndClamp(x) {\n return Math.max(0, Math.min(255, 255 * x));\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n static G_rgb([g]) {\n g = scaleAndClamp(g);\n return [g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_rgb(color) {\n return color.map(scaleAndClamp);\n }\n static RGB_HTML(color) {\n return `#${color.map(makeColorComp).join(\"\")}`;\n }\n static T_HTML() {\n return \"#00000000\";\n }\n static T_rgb() {\n return [null];\n }\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_rgb([c, y, m, k]) {\n return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n}\n\n;// ./src/display/svg_factory.js\n\n\nclass BaseSVGFactory {\n create(width, height, skipDimensions = false) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n const svg = this._createSVG(\"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n return this._createSVG(type);\n }\n _createSVG(type) {\n unreachable(\"Abstract method `_createSVG` called.\");\n }\n}\nclass DOMSVGFactory extends BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n}\n\n;// ./src/display/xfa_layer.js\n\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n break;\n case \"select\":\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n } else if (option.attributes.hasOwnProperty(\"selected\")) {\n delete option.attributes.selected;\n }\n }\n }\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n break;\n case \"dataId\":\n break;\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n case \"style\":\n Object.assign(html.style, value);\n break;\n case \"textContent\":\n html.textContent = value;\n break;\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n }\n }\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n const isNotForRichText = intent !== \"richText\";\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n if (isNotForRichText) {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n const textDivs = [];\n if (root.children.length === 0) {\n if (root.value) {\n const node = document.createTextNode(root.value);\n rootHtml.append(node);\n if (isNotForRichText && XfaText.shouldBuildText(root.name)) {\n textDivs.push(node);\n }\n }\n return {\n textDivs\n };\n }\n const stack = [[root, -1, rootHtml]];\n while (stack.length > 0) {\n const [parent, i, html] = stack.at(-1);\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n const child = parent.children[++stack.at(-1)[1]];\n if (child === null) {\n continue;\n }\n const {\n name\n } = child;\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name);\n html.append(childHtml);\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n if (child.children?.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n if (isNotForRichText && XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n childHtml.append(node);\n }\n }\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n return {\n textDivs\n };\n }\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n}\n\n;// ./src/display/annotation_layer.js\n\n\n\n\n\n\nconst DEFAULT_TAB_INDEX = 1000;\nconst annotation_layer_DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n switch (subtype) {\n case AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n case \"Sig\":\n return new SignatureWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n case AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n case AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\nclass AnnotationElement {\n #updates = null;\n #hasBorder = false;\n #popupElement = null;\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this.parent = parameters.parent;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n if (createQuadrilaterals) {\n this._createQuadrilaterals();\n }\n }\n static _hasPopupData({\n titleObj,\n contentsObj,\n richText\n }) {\n return !!(titleObj?.str || contentsObj?.str || richText?.str);\n }\n get _isEditable() {\n return this.data.isEditable;\n }\n get hasPopupData() {\n return AnnotationElement._hasPopupData(this.data);\n }\n updateEdited(params) {\n if (!this.container) {\n return;\n }\n this.#updates ||= {\n rect: this.data.rect.slice(0)\n };\n const {\n rect\n } = params;\n if (rect) {\n this.#setRectEdited(rect);\n }\n this.#popupElement?.popup.updateEdited(params);\n }\n resetEdited() {\n if (!this.#updates) {\n return;\n }\n this.#setRectEdited(this.#updates.rect);\n this.#popupElement?.popup.resetEdited();\n this.#updates = null;\n }\n #setRectEdited(rect) {\n const {\n container: {\n style\n },\n data: {\n rect: currentRect,\n rotation\n },\n parent: {\n viewport: {\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n }\n }\n } = this;\n currentRect?.splice(0, 4, ...rect);\n const {\n width,\n height\n } = getRectDims(rect);\n style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n style.top = `${100 * (pageHeight - rect[3] + pageY) / pageHeight}%`;\n if (rotation === 0) {\n style.width = `${100 * width / pageWidth}%`;\n style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation);\n }\n }\n _createContainer(ignoreBorder) {\n const {\n data,\n parent: {\n page,\n viewport\n }\n } = this;\n const container = document.createElement(\"section\");\n container.setAttribute(\"data-annotation-id\", data.id);\n if (!(this instanceof WidgetAnnotationElement)) {\n container.tabIndex = DEFAULT_TAB_INDEX;\n }\n const {\n style\n } = container;\n style.zIndex = this.parent.zIndex++;\n if (data.alternativeText) {\n container.title = data.alternativeText;\n }\n if (data.noRotate) {\n container.classList.add(\"norotate\");\n }\n if (!data.rect || this instanceof PopupAnnotationElement) {\n const {\n rotation\n } = data;\n if (!data.hasOwnCanvas && rotation !== 0) {\n this.setRotation(rotation, container);\n }\n return container;\n }\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (!ignoreBorder && data.borderStyle.width > 0) {\n style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n style.borderRadius = radius;\n } else if (this instanceof RadioButtonWidgetAnnotationElement) {\n const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;\n style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case AnnotationBorderStyleType.SOLID:\n style.borderStyle = \"solid\";\n break;\n case AnnotationBorderStyleType.DASHED:\n style.borderStyle = \"dashed\";\n break;\n case AnnotationBorderStyleType.BEVELED:\n warn(\"Unimplemented border style: beveled\");\n break;\n case AnnotationBorderStyleType.INSET:\n warn(\"Unimplemented border style: inset\");\n break;\n case AnnotationBorderStyleType.UNDERLINE:\n style.borderBottomStyle = \"solid\";\n break;\n default:\n break;\n }\n const borderColor = data.borderColor || null;\n if (borderColor) {\n this.#hasBorder = true;\n style.borderColor = Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n style.borderWidth = 0;\n }\n }\n const rect = Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n style.top = `${100 * (rect[1] - pageY) / pageHeight}%`;\n const {\n rotation\n } = data;\n if (data.hasOwnCanvas || rotation === 0) {\n style.width = `${100 * width / pageWidth}%`;\n style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n return container;\n }\n setRotation(angle, container = this.container) {\n if (!this.data.rect) {\n return;\n }\n const {\n pageWidth,\n pageHeight\n } = this.parent.viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n const colorType = color[0];\n const colorArray = color.slice(1);\n event.target.style[styleName] = ColorConverters[`${colorType}_HTML`](colorArray);\n this.annotationStorage.setValue(this.data.id, {\n [styleName]: ColorConverters[`${colorType}_rgb`](colorArray)\n });\n };\n return shadow(this, \"_commonActions\", {\n display: event => {\n const {\n display\n } = event.detail;\n const hidden = display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noView: hidden,\n noPrint: display === 1 || display === 2\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n noPrint: !event.detail.print\n });\n },\n hidden: event => {\n const {\n hidden\n } = event.detail;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noPrint: hidden,\n noView: hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n event.target.disabled = event.detail.readonly;\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n action?.(jsEvent);\n }\n }\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n if (!storedData) {\n return;\n }\n const commonActions = this._commonActions;\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n if (action) {\n const eventProxy = {\n detail: {\n [actionName]: detail\n },\n target: element\n };\n action(eventProxy);\n delete storedData[actionName];\n }\n }\n }\n _createQuadrilaterals() {\n if (!this.container) {\n return;\n }\n const {\n quadPoints\n } = this.data;\n if (!quadPoints) {\n return;\n }\n const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect.map(x => Math.fround(x));\n if (quadPoints.length === 8) {\n const [trX, trY, blX, blY] = quadPoints.subarray(2, 6);\n if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) {\n return;\n }\n }\n const {\n style\n } = this.container;\n let svgBuffer;\n if (this.#hasBorder) {\n const {\n borderColor,\n borderWidth\n } = style;\n style.borderWidth = 0;\n svgBuffer = [\"url('data:image/svg+xml;utf8,\", ``, ``];\n this.container.classList.add(\"hasBorder\");\n }\n const width = rectTrX - rectBlX;\n const height = rectTrY - rectBlY;\n const {\n svgFactory\n } = this;\n const svg = svgFactory.createElement(\"svg\");\n svg.classList.add(\"quadrilateralsContainer\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n const defs = svgFactory.createElement(\"defs\");\n svg.append(defs);\n const clipPath = svgFactory.createElement(\"clipPath\");\n const id = `clippath_${this.data.id}`;\n clipPath.setAttribute(\"id\", id);\n clipPath.setAttribute(\"clipPathUnits\", \"objectBoundingBox\");\n defs.append(clipPath);\n for (let i = 2, ii = quadPoints.length; i < ii; i += 8) {\n const trX = quadPoints[i];\n const trY = quadPoints[i + 1];\n const blX = quadPoints[i + 2];\n const blY = quadPoints[i + 3];\n const rect = svgFactory.createElement(\"rect\");\n const x = (blX - rectBlX) / width;\n const y = (rectTrY - trY) / height;\n const rectWidth = (trX - blX) / width;\n const rectHeight = (trY - blY) / height;\n rect.setAttribute(\"x\", x);\n rect.setAttribute(\"y\", y);\n rect.setAttribute(\"width\", rectWidth);\n rect.setAttribute(\"height\", rectHeight);\n clipPath.append(rect);\n svgBuffer?.push(``);\n }\n if (this.#hasBorder) {\n svgBuffer.push(`')`);\n style.backgroundImage = svgBuffer.join(\"\");\n }\n this.container.append(svg);\n this.container.style.clipPath = `url(#${id})`;\n }\n _createPopup() {\n const {\n data\n } = this;\n const popup = this.#popupElement = new PopupAnnotationElement({\n data: {\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n parentRect: data.rect,\n borderStyle: 0,\n id: `popup_${data.id}`,\n rotation: data.rotation\n },\n parent: this.parent,\n elements: [this]\n });\n this.parent.div.append(popup.render());\n }\n render() {\n unreachable(\"Abstract method `AnnotationElement.render` called\");\n }\n _getElementsByName(name, skipId = null) {\n const fields = [];\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n if (id === skipId) {\n continue;\n }\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n warn(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n return fields;\n }\n for (const domElement of document.getElementsByName(name)) {\n const {\n exportValue\n } = domElement;\n const id = domElement.getAttribute(\"data-element-id\");\n if (id === skipId) {\n continue;\n }\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n return fields;\n }\n show() {\n if (this.container) {\n this.container.hidden = false;\n }\n this.popup?.maybeShow();\n }\n hide() {\n if (this.container) {\n this.container.hidden = true;\n }\n this.popup?.forceHide();\n }\n getElementsToTriggerPopup() {\n return this.container;\n }\n addHighlightArea() {\n const triggers = this.getElementsToTriggerPopup();\n if (Array.isArray(triggers)) {\n for (const element of triggers) {\n element.classList.add(\"highlightArea\");\n }\n } else {\n triggers.classList.add(\"highlightArea\");\n }\n }\n _editOnDoubleClick() {\n if (!this._isEditable) {\n return;\n }\n const {\n annotationEditorType: mode,\n data: {\n id: editId\n }\n } = this;\n this.container.addEventListener(\"dblclick\", () => {\n this.linkService.eventBus?.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode,\n editId\n });\n });\n }\n}\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n isBound = true;\n } else if (data.attachment) {\n this.#bindAttachment(link, data.attachment, data.attachmentDest);\n isBound = true;\n } else if (data.setOCGState) {\n this.#bindSetOCGState(link, data.setOCGState);\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n isBound = true;\n }\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n isBound = true;\n }\n }\n this.container.classList.add(\"linkAnnotation\");\n if (isBound) {\n this.container.append(link);\n }\n return this.container;\n }\n #setInternalLink() {\n this.container.setAttribute(\"data-internal-link\", \"\");\n }\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n return false;\n };\n if (destination || destination === \"\") {\n this.#setInternalLink();\n }\n }\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n this.#setInternalLink();\n }\n #bindAttachment(link, attachment, dest = null) {\n link.href = this.linkService.getAnchorUrl(\"\");\n if (attachment.description) {\n link.title = attachment.description;\n }\n link.onclick = () => {\n this.downloadManager?.openOrDownloadData(attachment.content, attachment.filename, dest);\n return false;\n };\n this.#setInternalLink();\n }\n #bindSetOCGState(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeSetOCGState(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n if (!jsName) {\n continue;\n }\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n if (!link.onclick) {\n link.onclick = () => false;\n }\n this.#setInternalLink();\n }\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n this.#setInternalLink();\n if (!this._fieldObjects) {\n warn(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n return;\n }\n link.onclick = () => {\n otherClickAction?.();\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n const storage = this.annotationStorage;\n const allIds = [];\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n default:\n continue;\n }\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n warn(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n return false;\n };\n }\n}\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n }\n render() {\n this.container.classList.add(\"textAnnotation\");\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.setAttribute(\"data-l10n-id\", \"pdfjs-text-annotation-type\");\n image.setAttribute(\"data-l10n-args\", JSON.stringify({\n type: this.data.name\n }));\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.append(image);\n return this.container;\n }\n}\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n return this.container;\n }\n showElementAndHideCanvas(element) {\n if (this.data.hasOwnCanvas) {\n if (element.previousSibling?.nodeName === \"CANVAS\") {\n element.previousSibling.hidden = true;\n }\n element.hidden = false;\n }\n }\n _getKeyModifier(event) {\n return util_FeatureTest.platform.isMac ? event.metaKey : event.ctrlKey;\n }\n _setEventListener(element, elementData, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n if (baseName === \"blur\") {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n elementData.focused = false;\n } else if (baseName === \"focus\") {\n if (elementData.focused) {\n return;\n }\n elementData.focused = true;\n }\n if (!valueGetter) {\n return;\n }\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n _setEventListeners(element, elementData, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n if (eventName === \"Focus\" || eventName === \"Blur\") {\n elementData ||= {\n focused: false\n };\n }\n this._setEventListener(element, elementData, baseName, eventName, getter);\n if (eventName === \"Focus\" && !this.data.actions?.Blur) {\n this._setEventListener(element, elementData, \"blur\", \"Blur\", null);\n } else if (eventName === \"Blur\" && !this.data.actions?.Focus) {\n this._setEventListener(element, elementData, \"focus\", \"Focus\", null);\n }\n }\n }\n }\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : Util.makeHexColor(color[0], color[1], color[2]);\n }\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || annotation_layer_DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n const BORDER_SIZE = 2;\n const roundToOneDecimal = x => Math.round(10 * x) / 10;\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n const numberOfLines = Math.round(height / (LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n computedFontSize = Math.min(fontSize, roundToOneDecimal(height / LINE_FACTOR));\n }\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n element.setAttribute(\"aria-required\", isRequired);\n }\n}\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || parameters.data.hasOwnCanvas || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.classList.add(\"textWidgetAnnotation\");\n let element = null;\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let textContent = storedData.value || \"\";\n const maxLen = storage.getValue(id, {\n charLimit: this.data.maxLen\n }).charLimit;\n if (maxLen && textContent.length > maxLen) {\n textContent = textContent.slice(0, maxLen);\n }\n let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join(\"\\n\") || null;\n if (fieldFormattedValues && this.data.comb) {\n fieldFormattedValues = fieldFormattedValues.replaceAll(/\\s+/g, \"\");\n }\n const elementData = {\n userValue: textContent,\n formattedValue: fieldFormattedValues,\n lastCommittedValue: null,\n commitKey: 1,\n focused: false\n };\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = fieldFormattedValues ?? textContent;\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", fieldFormattedValues ?? textContent);\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n this._setRequired(element, this.data.required);\n if (maxLen) {\n element.maxLength = maxLen;\n }\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n elementData.formattedValue = null;\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n event.target.scrollLeft = 0;\n };\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n if (elementData.focused) {\n return;\n }\n const {\n target\n } = event;\n if (elementData.userValue) {\n target.value = elementData.userValue;\n }\n elementData.lastCommittedValue = target.value;\n elementData.commitKey = 1;\n if (!this.data.actions?.Focus) {\n elementData.focused = true;\n }\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n this.showElementAndHideCanvas(jsEvent.target);\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n storage.setValue(id, {\n formattedValue\n });\n },\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n },\n charLimit: event => {\n const {\n charLimit\n } = event.detail;\n const {\n target\n } = event;\n if (charLimit === 0) {\n target.removeAttribute(\"maxLength\");\n return;\n }\n target.setAttribute(\"maxLength\", charLimit);\n let value = elementData.userValue;\n if (!value || value.length <= charLimit) {\n return;\n }\n value = value.slice(0, charLimit);\n target.value = elementData.userValue = value;\n storage.setValue(id, {\n value\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: target.selectionStart,\n selEnd: target.selectionEnd\n }\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n elementData.commitKey = 1;\n let commitKey = -1;\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\" && !this.data.multiLine) {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n elementData.commitKey = 3;\n }\n if (commitKey === -1) {\n return;\n }\n const {\n value\n } = event.target;\n if (elementData.lastCommittedValue === value) {\n return;\n }\n elementData.lastCommittedValue = value;\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n if (!this.data.actions?.Blur) {\n elementData.focused = false;\n }\n const {\n value\n } = event.target;\n elementData.userValue = value;\n if (elementData.lastCommittedValue !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: elementData.commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n _blurListener(event);\n });\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n elementData.lastCommittedValue = null;\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n if (match) {\n selStart -= match[0].length;\n }\n break;\n }\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n if (match) {\n selEnd += match[0].length;\n }\n break;\n }\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n break;\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n break;\n }\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n this._setEventListeners(element, elementData, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n }\n this._setTextStyle(element);\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass SignatureWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: !!parameters.data.hasOwnCanvas\n });\n }\n}\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n this.container.classList.add(\"buttonWidgetAnnotation\", \"checkBox\");\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"checkbox\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"buttonWidgetAnnotation\", \"radioButton\");\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n if (value) {\n for (const radio of this._getElementsByName(data.fieldName, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n }\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"radio\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n render() {\n const container = super.render();\n container.classList.add(\"buttonWidgetAnnotation\", \"pushButton\");\n const linkElement = container.lastChild;\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n return container;\n }\n}\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"choiceWidgetAnnotation\");\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n this._setRequired(selectElement, this.data.required);\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n selectElement.append(optionElement);\n }\n let removeEmptyEntry = null;\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n const getValue = isExport => {\n const name = isExport ? \"value\" : \"textContent\";\n const {\n options,\n multiple\n } = selectElement;\n if (!multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n let selectedValues = getValue(false);\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => ({\n displayValue: option.textContent,\n exportValue: option.value\n }));\n };\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n removeEmptyEntry?.();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n if (i === -1) {\n options[0].selected = true;\n }\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n storage.setValue(id, {\n value: null,\n items: []\n });\n selectedValues = getValue(false);\n },\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n items(event) {\n const {\n items\n } = event.detail;\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n indices(event) {\n const indices = new Set(event.detail.indices);\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(true);\n const change = getValue(false);\n storage.setValue(id, {\n value: exportValue\n });\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value: selectedValues,\n change,\n changeEx: exportValue,\n willCommit: false,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n this._setEventListeners(selectElement, null, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"], [\"input\", \"Validate\"]], event => event.target.value);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(true)\n });\n });\n }\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n this._setBackgroundColor(selectElement);\n this._setDefaultPropertiesFromJS(selectElement);\n this.container.append(selectElement);\n return this.container;\n }\n}\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const {\n data,\n elements\n } = parameters;\n super(parameters, {\n isRenderable: AnnotationElement._hasPopupData(data)\n });\n this.elements = elements;\n this.popup = null;\n }\n render() {\n this.container.classList.add(\"popupAnnotation\");\n const popup = this.popup = new PopupElement({\n container: this.container,\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText,\n rect: this.data.rect,\n parentRect: this.data.parentRect || null,\n parent: this.parent,\n elements: this.elements,\n open: this.data.open\n });\n const elementIds = [];\n for (const element of this.elements) {\n element.popup = popup;\n element.container.ariaHasPopup = \"dialog\";\n elementIds.push(element.data.id);\n element.addHighlightArea();\n }\n this.container.setAttribute(\"aria-controls\", elementIds.map(id => `${AnnotationPrefix}${id}`).join(\",\"));\n return this.container;\n }\n}\nclass PopupElement {\n #boundKeyDown = this.#keyDown.bind(this);\n #boundHide = this.#hide.bind(this);\n #boundShow = this.#show.bind(this);\n #boundToggle = this.#toggle.bind(this);\n #color = null;\n #container = null;\n #contentsObj = null;\n #dateObj = null;\n #elements = null;\n #parent = null;\n #parentRect = null;\n #pinned = false;\n #popup = null;\n #position = null;\n #rect = null;\n #richText = null;\n #titleObj = null;\n #updates = null;\n #wasVisible = false;\n constructor({\n container,\n color,\n elements,\n titleObj,\n modificationDate,\n contentsObj,\n richText,\n parent,\n rect,\n parentRect,\n open\n }) {\n this.#container = container;\n this.#titleObj = titleObj;\n this.#contentsObj = contentsObj;\n this.#richText = richText;\n this.#parent = parent;\n this.#color = color;\n this.#rect = rect;\n this.#parentRect = parentRect;\n this.#elements = elements;\n this.#dateObj = PDFDateString.toDateObject(modificationDate);\n this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup());\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this.#boundToggle);\n element.addEventListener(\"mouseenter\", this.#boundShow);\n element.addEventListener(\"mouseleave\", this.#boundHide);\n element.classList.add(\"popupTriggerArea\");\n }\n for (const element of elements) {\n element.container?.addEventListener(\"keydown\", this.#boundKeyDown);\n }\n this.#container.hidden = true;\n if (open) {\n this.#toggle();\n }\n }\n render() {\n if (this.#popup) {\n return;\n }\n const popup = this.#popup = document.createElement(\"div\");\n popup.className = \"popup\";\n if (this.#color) {\n const baseColor = popup.style.outlineColor = Util.makeHexColor(...this.#color);\n if (CSS.supports(\"background-color\", \"color-mix(in srgb, red 30%, white)\")) {\n popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`;\n } else {\n const BACKGROUND_ENLIGHT = 0.7;\n popup.style.backgroundColor = Util.makeHexColor(...this.#color.map(c => Math.floor(BACKGROUND_ENLIGHT * (255 - c) + c)));\n }\n }\n const header = document.createElement(\"span\");\n header.className = \"header\";\n const title = document.createElement(\"h1\");\n header.append(title);\n ({\n dir: title.dir,\n str: title.textContent\n } = this.#titleObj);\n popup.append(header);\n if (this.#dateObj) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.classList.add(\"popupDate\");\n modificationDate.setAttribute(\"data-l10n-id\", \"pdfjs-annotation-date-time-string\");\n modificationDate.setAttribute(\"data-l10n-args\", JSON.stringify({\n dateObj: this.#dateObj.valueOf()\n }));\n header.append(modificationDate);\n }\n const html = this.#html;\n if (html) {\n XfaLayer.render({\n xfaHtml: html,\n intent: \"richText\",\n div: popup\n });\n popup.lastChild.classList.add(\"richText\", \"popupContent\");\n } else {\n const contents = this._formatContents(this.#contentsObj);\n popup.append(contents);\n }\n this.#container.append(popup);\n }\n get #html() {\n const richText = this.#richText;\n const contentsObj = this.#contentsObj;\n if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) {\n return this.#richText.html || null;\n }\n return null;\n }\n get #fontSize() {\n return this.#html?.attributes?.style?.fontSize || 0;\n }\n get #fontColor() {\n return this.#html?.attributes?.style?.color || null;\n }\n #makePopupContent(text) {\n const popupLines = [];\n const popupContent = {\n str: text,\n html: {\n name: \"div\",\n attributes: {\n dir: \"auto\"\n },\n children: [{\n name: \"p\",\n children: popupLines\n }]\n }\n };\n const lineAttributes = {\n style: {\n color: this.#fontColor,\n fontSize: this.#fontSize ? `calc(${this.#fontSize}px * var(--scale-factor))` : \"\"\n }\n };\n for (const line of text.split(\"\\n\")) {\n popupLines.push({\n name: \"span\",\n value: line,\n attributes: lineAttributes\n });\n }\n return popupContent;\n }\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.classList.add(\"popupContent\");\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n return p;\n }\n #keyDown(event) {\n if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {\n return;\n }\n if (event.key === \"Enter\" || event.key === \"Escape\" && this.#pinned) {\n this.#toggle();\n }\n }\n updateEdited({\n rect,\n popupContent\n }) {\n this.#updates ||= {\n contentsObj: this.#contentsObj,\n richText: this.#richText\n };\n if (rect) {\n this.#position = null;\n }\n if (popupContent) {\n this.#richText = this.#makePopupContent(popupContent);\n this.#contentsObj = null;\n }\n this.#popup?.remove();\n this.#popup = null;\n }\n resetEdited() {\n if (!this.#updates) {\n return;\n }\n ({\n contentsObj: this.#contentsObj,\n richText: this.#richText\n } = this.#updates);\n this.#updates = null;\n this.#popup?.remove();\n this.#popup = null;\n this.#position = null;\n }\n #setPosition() {\n if (this.#position !== null) {\n return;\n }\n const {\n page: {\n view\n },\n viewport: {\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n }\n } = this.#parent;\n let useParentRect = !!this.#parentRect;\n let rect = useParentRect ? this.#parentRect : this.#rect;\n for (const element of this.#elements) {\n if (!rect || Util.intersect(element.data.rect, rect) !== null) {\n rect = element.data.rect;\n useParentRect = true;\n break;\n }\n }\n const normalizedRect = Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]);\n const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5;\n const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0;\n const popupLeft = normalizedRect[0] + parentWidth;\n const popupTop = normalizedRect[1];\n this.#position = [100 * (popupLeft - pageX) / pageWidth, 100 * (popupTop - pageY) / pageHeight];\n const {\n style\n } = this.#container;\n style.left = `${this.#position[0]}%`;\n style.top = `${this.#position[1]}%`;\n }\n #toggle() {\n this.#pinned = !this.#pinned;\n if (this.#pinned) {\n this.#show();\n this.#container.addEventListener(\"click\", this.#boundToggle);\n this.#container.addEventListener(\"keydown\", this.#boundKeyDown);\n } else {\n this.#hide();\n this.#container.removeEventListener(\"click\", this.#boundToggle);\n this.#container.removeEventListener(\"keydown\", this.#boundKeyDown);\n }\n }\n #show() {\n if (!this.#popup) {\n this.render();\n }\n if (!this.isVisible) {\n this.#setPosition();\n this.#container.hidden = false;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000;\n } else if (this.#pinned) {\n this.#container.classList.add(\"focused\");\n }\n }\n #hide() {\n this.#container.classList.remove(\"focused\");\n if (this.#pinned || !this.isVisible) {\n return;\n }\n this.#container.hidden = true;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000;\n }\n forceHide() {\n this.#wasVisible = this.isVisible;\n if (!this.#wasVisible) {\n return;\n }\n this.#container.hidden = true;\n }\n maybeShow() {\n if (!this.#wasVisible) {\n return;\n }\n if (!this.#popup) {\n this.#show();\n }\n this.#wasVisible = false;\n this.#container.hidden = false;\n }\n get isVisible() {\n return this.#container.hidden === false;\n }\n}\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.textContent = parameters.data.textContent;\n this.textPosition = parameters.data.textPosition;\n this.annotationEditorType = AnnotationEditorType.FREETEXT;\n }\n render() {\n this.container.classList.add(\"freeTextAnnotation\");\n if (this.textContent) {\n const content = document.createElement(\"div\");\n content.classList.add(\"annotationTextContent\");\n content.setAttribute(\"role\", \"comment\");\n for (const line of this.textContent) {\n const lineSpan = document.createElement(\"span\");\n lineSpan.textContent = line;\n content.append(lineSpan);\n }\n this.container.append(content);\n }\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this._editOnDoubleClick();\n return this.container;\n }\n}\nclass LineAnnotationElement extends AnnotationElement {\n #line = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"lineAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.#line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#line;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass SquareAnnotationElement extends AnnotationElement {\n #square = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"squareAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.#square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#square;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass CircleAnnotationElement extends AnnotationElement {\n #circle = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"circleAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.#circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#circle;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolylineAnnotationElement extends AnnotationElement {\n #polyline = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const {\n data: {\n rect,\n vertices,\n borderStyle,\n popupRef\n }\n } = this;\n if (!vertices) {\n return this.container;\n }\n const {\n width,\n height\n } = getRectDims(rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n for (let i = 0, ii = vertices.length; i < ii; i += 2) {\n const x = vertices[i] - rect[0];\n const y = rect[3] - vertices[i + 1];\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n if (!popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polyline;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"caretAnnotation\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n}\nclass InkAnnotationElement extends AnnotationElement {\n #polylines = [];\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n this.annotationEditorType = this.data.it === \"InkHighlight\" ? AnnotationEditorType.HIGHLIGHT : AnnotationEditorType.INK;\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const {\n data: {\n rect,\n inkLists,\n borderStyle,\n popupRef\n }\n } = this;\n const {\n width,\n height\n } = getRectDims(rect);\n const svg = this.svgFactory.create(width, height, true);\n for (const inkList of inkLists) {\n let points = [];\n for (let i = 0, ii = inkList.length; i < ii; i += 2) {\n const x = inkList[i] - rect[0];\n const y = rect[3] - inkList[i + 1];\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n this.#polylines.push(polyline);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n }\n if (!popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.append(svg);\n this._editOnDoubleClick();\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polylines;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n this.annotationEditorType = AnnotationEditorType.HIGHLIGHT;\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"highlightAnnotation\");\n this._editOnDoubleClick();\n return this.container;\n }\n}\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"underlineAnnotation\");\n return this.container;\n }\n}\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"squigglyAnnotation\");\n return this.container;\n }\n}\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"strikeoutAnnotation\");\n return this.container;\n }\n}\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.annotationEditorType = AnnotationEditorType.STAMP;\n }\n render() {\n this.container.classList.add(\"stampAnnotation\");\n this.container.setAttribute(\"role\", \"img\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this._editOnDoubleClick();\n return this.container;\n }\n}\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n #trigger = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n file\n } = this.data;\n this.filename = file.filename;\n this.content = file.content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n ...file\n });\n }\n render() {\n this.container.classList.add(\"fileAttachmentAnnotation\");\n const {\n container,\n data\n } = this;\n let trigger;\n if (data.hasAppearance || data.fillAlpha === 0) {\n trigger = document.createElement(\"div\");\n } else {\n trigger = document.createElement(\"img\");\n trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(data.name) ? \"paperclip\" : \"pushpin\"}.svg`;\n if (data.fillAlpha && data.fillAlpha < 1) {\n trigger.style = `filter: opacity(${Math.round(data.fillAlpha * 100)}%);`;\n }\n }\n trigger.addEventListener(\"dblclick\", this.#download.bind(this));\n this.#trigger = trigger;\n const {\n isMac\n } = util_FeatureTest.platform;\n container.addEventListener(\"keydown\", evt => {\n if (evt.key === \"Enter\" && (isMac ? evt.metaKey : evt.ctrlKey)) {\n this.#download();\n }\n });\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n } else {\n trigger.classList.add(\"popupTriggerArea\");\n }\n container.append(trigger);\n return container;\n }\n getElementsToTriggerPopup() {\n return this.#trigger;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n #download() {\n this.downloadManager?.openOrDownloadData(this.content, this.filename);\n }\n}\nclass AnnotationLayer {\n #accessibilityManager = null;\n #annotationCanvasMap = null;\n #editableAnnotations = new Map();\n #structTreeLayer = null;\n constructor({\n div,\n accessibilityManager,\n annotationCanvasMap,\n annotationEditorUIManager,\n page,\n viewport,\n structTreeLayer\n }) {\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationCanvasMap = annotationCanvasMap;\n this.#structTreeLayer = structTreeLayer || null;\n this.page = page;\n this.viewport = viewport;\n this.zIndex = 0;\n this._annotationEditorUIManager = annotationEditorUIManager;\n }\n hasEditableAnnotations() {\n return this.#editableAnnotations.size > 0;\n }\n async #appendElement(element, id) {\n const contentElement = element.firstChild || element;\n const annotationId = contentElement.id = `${AnnotationPrefix}${id}`;\n const ariaAttributes = await this.#structTreeLayer?.getAriaAttributes(annotationId);\n if (ariaAttributes) {\n for (const [key, value] of ariaAttributes) {\n contentElement.setAttribute(key, value);\n }\n }\n this.div.append(element);\n this.#accessibilityManager?.moveElementInDOM(this.div, element, contentElement, false);\n }\n async render(params) {\n const {\n annotations\n } = params;\n const layer = this.div;\n setLayerDimensions(layer, this.viewport);\n const popupToElements = new Map();\n const elementParams = {\n data: null,\n layer,\n linkService: params.linkService,\n downloadManager: params.downloadManager,\n imageResourcesPath: params.imageResourcesPath || \"\",\n renderForms: params.renderForms !== false,\n svgFactory: new DOMSVGFactory(),\n annotationStorage: params.annotationStorage || new AnnotationStorage(),\n enableScripting: params.enableScripting === true,\n hasJSActions: params.hasJSActions,\n fieldObjects: params.fieldObjects,\n parent: this,\n elements: null\n };\n for (const data of annotations) {\n if (data.noHTML) {\n continue;\n }\n const isPopupAnnotation = data.annotationType === AnnotationType.POPUP;\n if (!isPopupAnnotation) {\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (width <= 0 || height <= 0) {\n continue;\n }\n } else {\n const elements = popupToElements.get(data.id);\n if (!elements) {\n continue;\n }\n elementParams.elements = elements;\n }\n elementParams.data = data;\n const element = AnnotationElementFactory.create(elementParams);\n if (!element.isRenderable) {\n continue;\n }\n if (!isPopupAnnotation && data.popupRef) {\n const elements = popupToElements.get(data.popupRef);\n if (!elements) {\n popupToElements.set(data.popupRef, [element]);\n } else {\n elements.push(element);\n }\n }\n const rendered = element.render();\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n await this.#appendElement(rendered, data.id);\n if (element._isEditable) {\n this.#editableAnnotations.set(element.data.id, element);\n this._annotationEditorUIManager?.renderAnnotationElement(element);\n }\n }\n this.#setAnnotationCanvasMap();\n }\n update({\n viewport\n }) {\n const layer = this.div;\n this.viewport = viewport;\n setLayerDimensions(layer, {\n rotation: viewport.rotation\n });\n this.#setAnnotationCanvasMap();\n layer.hidden = false;\n }\n #setAnnotationCanvasMap() {\n if (!this.#annotationCanvasMap) {\n return;\n }\n const layer = this.div;\n for (const [id, canvas] of this.#annotationCanvasMap) {\n const element = layer.querySelector(`[data-annotation-id=\"${id}\"]`);\n if (!element) {\n continue;\n }\n canvas.className = \"annotationContent\";\n const {\n firstChild\n } = element;\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else if (!firstChild.classList.contains(\"annotationContent\")) {\n firstChild.before(canvas);\n } else {\n firstChild.after(canvas);\n }\n }\n this.#annotationCanvasMap.clear();\n }\n getEditableAnnotations() {\n return Array.from(this.#editableAnnotations.values());\n }\n getEditableAnnotation(id) {\n return this.#editableAnnotations.get(id);\n }\n}\n\n;// ./src/display/editor/freetext.js\n\n\n\n\nconst EOL_PATTERN = /\\r\\n?|\\n/g;\nclass FreeTextEditor extends AnnotationEditor {\n #color;\n #content = \"\";\n #editorDivId = `${this.id}-editor`;\n #editModeAC = null;\n #fontSize;\n static _freeTextDefaultContent = \"\";\n static _internalPadding = 0;\n static _defaultColor = null;\n static _defaultFontSize = 10;\n static get _keyboardManager() {\n const proto = FreeTextEditor.prototype;\n const arrowChecker = self => self.isEmpty();\n const small = AnnotationEditorUIManager.TRANSLATE_SMALL;\n const big = AnnotationEditorUIManager.TRANSLATE_BIG;\n return shadow(this, \"_keyboardManager\", new KeyboardManager([[[\"ctrl+s\", \"mac+meta+s\", \"ctrl+p\", \"mac+meta+p\"], proto.commitOrRemove, {\n bubbles: true\n }], [[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], proto.commitOrRemove], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto._translateEmpty, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto._translateEmpty, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto._translateEmpty, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto._translateEmpty, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto._translateEmpty, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto._translateEmpty, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto._translateEmpty, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto._translateEmpty, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n static _type = \"freetext\";\n static _editorType = AnnotationEditorType.FREETEXT;\n constructor(params) {\n super({\n ...params,\n name: \"freeTextEditor\"\n });\n this.#color = params.color || FreeTextEditor._defaultColor || AnnotationEditor._defaultLineColor;\n this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;\n }\n static initialize(l10n, uiManager) {\n AnnotationEditor.initialize(l10n, uiManager);\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n case AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.FREETEXT_SIZE:\n this.#updateFontSize(value);\n break;\n case AnnotationEditorParamsType.FREETEXT_COLOR:\n this.#updateColor(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || AnnotationEditor._defaultLineColor]];\n }\n get propertiesToUpdate() {\n return [[AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];\n }\n #updateFontSize(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - this.#fontSize) * this.parentScale);\n this.#fontSize = size;\n this.#setEditorDimensions();\n };\n const savedFontsize = this.#fontSize;\n this.addCommands({\n cmd: setFontsize.bind(this, fontSize),\n undo: setFontsize.bind(this, savedFontsize),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const setColor = col => {\n this.#color = this.editorDiv.style.color = col;\n };\n const savedColor = this.#color;\n this.addCommands({\n cmd: setColor.bind(this, color),\n undo: setColor.bind(this, savedColor),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n _translateEmpty(x, y) {\n this._uiManager.translateSelectedEditors(x, y, true);\n }\n getInitialTranslation() {\n const scale = this.parentScale;\n return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale];\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(false);\n this.parent.updateToolbar(AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this._isDraggable = false;\n this.div.removeAttribute(\"aria-activedescendant\");\n this.#editModeAC = new AbortController();\n const signal = this._uiManager.combinedSignal(this.#editModeAC);\n this.editorDiv.addEventListener(\"keydown\", this.editorDivKeydown.bind(this), {\n signal\n });\n this.editorDiv.addEventListener(\"focus\", this.editorDivFocus.bind(this), {\n signal\n });\n this.editorDiv.addEventListener(\"blur\", this.editorDivBlur.bind(this), {\n signal\n });\n this.editorDiv.addEventListener(\"input\", this.editorDivInput.bind(this), {\n signal\n });\n this.editorDiv.addEventListener(\"paste\", this.editorDivPaste.bind(this), {\n signal\n });\n }\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.setAttribute(\"aria-activedescendant\", this.#editorDivId);\n this._isDraggable = true;\n this.#editModeAC?.abort();\n this.#editModeAC = null;\n this.div.focus({\n preventScroll: true\n });\n this.isEditing = false;\n this.parent.div.classList.add(\"freetextEditing\");\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n onceAdded() {\n if (this.width) {\n return;\n }\n this.enableEditMode();\n this.editorDiv.focus();\n if (this._initialOptions?.isCentered) {\n this.center();\n }\n this._initialOptions = null;\n }\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n remove() {\n this.isEditing = false;\n if (this.parent) {\n this.parent.setEditingState(true);\n this.parent.div.classList.add(\"freetextEditing\");\n }\n super.remove();\n }\n #extractText() {\n const buffer = [];\n this.editorDiv.normalize();\n let prevChild = null;\n for (const child of this.editorDiv.childNodes) {\n if (prevChild?.nodeType === Node.TEXT_NODE && child.nodeName === \"BR\") {\n continue;\n }\n buffer.push(FreeTextEditor.#getNodeContent(child));\n prevChild = child;\n }\n return buffer.join(\"\\n\");\n }\n #setEditorDimensions() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n let rect;\n if (this.isAttachedToDOM) {\n rect = this.div.getBoundingClientRect();\n } else {\n const {\n currentLayer,\n div\n } = this;\n const savedDisplay = div.style.display;\n const savedVisibility = div.classList.contains(\"hidden\");\n div.classList.remove(\"hidden\");\n div.style.display = \"hidden\";\n currentLayer.div.append(this.div);\n rect = div.getBoundingClientRect();\n div.remove();\n div.style.display = savedDisplay;\n div.classList.toggle(\"hidden\", savedVisibility);\n }\n if (this.rotation % 180 === this.parentRotation % 180) {\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n } else {\n this.width = rect.height / parentWidth;\n this.height = rect.width / parentHeight;\n }\n this.fixAndSetPosition();\n }\n commit() {\n if (!this.isInEditMode()) {\n return;\n }\n super.commit();\n this.disableEditMode();\n const savedText = this.#content;\n const newText = this.#content = this.#extractText().trimEnd();\n if (savedText === newText) {\n return;\n }\n const setText = text => {\n this.#content = text;\n if (!text) {\n this.remove();\n return;\n }\n this.#setContent();\n this._uiManager.rebuild(this);\n this.#setEditorDimensions();\n };\n this.addCommands({\n cmd: () => {\n setText(newText);\n },\n undo: () => {\n setText(savedText);\n },\n mustExec: false\n });\n this.#setEditorDimensions();\n }\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n enterInEditMode() {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n dblclick(event) {\n this.enterInEditMode();\n }\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enterInEditMode();\n event.preventDefault();\n }\n }\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n editorDivFocus(event) {\n this.isEditing = true;\n }\n editorDivBlur(event) {\n this.isEditing = false;\n }\n editorDivInput(event) {\n this.parent.div.classList.toggle(\"freetextEditing\", this.isEmpty());\n }\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", this.#editorDivId);\n this.editorDiv.setAttribute(\"data-l10n-id\", \"pdfjs-free-text2\");\n this.editorDiv.setAttribute(\"data-l10n-attrs\", \"default-content\");\n this.enableEditing();\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n bindEvents(this, this.div, [\"dblclick\", \"keydown\"]);\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.annotationElementId) {\n const {\n position\n } = this._initialData;\n let [tx, ty] = this.getInitialTranslation();\n [tx, ty] = this.pageTranslationToScreen(tx, ty);\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n let posX, posY;\n switch (this.rotation) {\n case 0:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY + this.height - (position[1] - pageY) / pageHeight;\n break;\n case 90:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [ty, -tx];\n break;\n case 180:\n posX = baseX - this.width + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [-tx, -ty];\n break;\n case 270:\n posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth;\n posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight;\n [tx, ty] = [-ty, tx];\n break;\n }\n this.setAt(posX * parentWidth, posY * parentHeight, tx, ty);\n } else {\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n this.#setContent();\n this._isDraggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this._isDraggable = false;\n this.editorDiv.contentEditable = true;\n }\n return this.div;\n }\n static #getNodeContent(node) {\n return (node.nodeType === Node.TEXT_NODE ? node.nodeValue : node.innerText).replaceAll(EOL_PATTERN, \"\");\n }\n editorDivPaste(event) {\n const clipboardData = event.clipboardData || window.clipboardData;\n const {\n types\n } = clipboardData;\n if (types.length === 1 && types[0] === \"text/plain\") {\n return;\n }\n event.preventDefault();\n const paste = FreeTextEditor.#deserializeContent(clipboardData.getData(\"text\") || \"\").replaceAll(EOL_PATTERN, \"\\n\");\n if (!paste) {\n return;\n }\n const selection = window.getSelection();\n if (!selection.rangeCount) {\n return;\n }\n this.editorDiv.normalize();\n selection.deleteFromDocument();\n const range = selection.getRangeAt(0);\n if (!paste.includes(\"\\n\")) {\n range.insertNode(document.createTextNode(paste));\n this.editorDiv.normalize();\n selection.collapseToStart();\n return;\n }\n const {\n startContainer,\n startOffset\n } = range;\n const bufferBefore = [];\n const bufferAfter = [];\n if (startContainer.nodeType === Node.TEXT_NODE) {\n const parent = startContainer.parentElement;\n bufferAfter.push(startContainer.nodeValue.slice(startOffset).replaceAll(EOL_PATTERN, \"\"));\n if (parent !== this.editorDiv) {\n let buffer = bufferBefore;\n for (const child of this.editorDiv.childNodes) {\n if (child === parent) {\n buffer = bufferAfter;\n continue;\n }\n buffer.push(FreeTextEditor.#getNodeContent(child));\n }\n }\n bufferBefore.push(startContainer.nodeValue.slice(0, startOffset).replaceAll(EOL_PATTERN, \"\"));\n } else if (startContainer === this.editorDiv) {\n let buffer = bufferBefore;\n let i = 0;\n for (const child of this.editorDiv.childNodes) {\n if (i++ === startOffset) {\n buffer = bufferAfter;\n }\n buffer.push(FreeTextEditor.#getNodeContent(child));\n }\n }\n this.#content = `${bufferBefore.join(\"\\n\")}${paste}${bufferAfter.join(\"\\n\")}`;\n this.#setContent();\n const newRange = new Range();\n let beforeLength = bufferBefore.reduce((acc, line) => acc + line.length, 0);\n for (const {\n firstChild\n } of this.editorDiv.childNodes) {\n if (firstChild.nodeType === Node.TEXT_NODE) {\n const length = firstChild.nodeValue.length;\n if (beforeLength <= length) {\n newRange.setStart(firstChild, beforeLength);\n newRange.setEnd(firstChild, beforeLength);\n break;\n }\n beforeLength -= length;\n }\n }\n selection.removeAllRanges();\n selection.addRange(newRange);\n }\n #setContent() {\n this.editorDiv.replaceChildren();\n if (!this.#content) {\n return;\n }\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n this.editorDiv.append(div);\n }\n }\n #serializeContent() {\n return this.#content.replaceAll(\"\\xa0\", \" \");\n }\n static #deserializeContent(content) {\n return content.replaceAll(\" \", \"\\xa0\");\n }\n get contentDiv() {\n return this.editorDiv;\n }\n static async deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof FreeTextAnnotationElement) {\n const {\n data: {\n defaultAppearanceData: {\n fontSize,\n fontColor\n },\n rect,\n rotation,\n id,\n popupRef\n },\n textContent,\n textPosition,\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n if (!textContent || textContent.length === 0) {\n return null;\n }\n initialData = data = {\n annotationType: AnnotationEditorType.FREETEXT,\n color: Array.from(fontColor),\n fontSize,\n value: textContent.join(\"\\n\"),\n position: textPosition,\n pageIndex: pageNumber - 1,\n rect: rect.slice(0),\n rotation,\n id,\n deleted: false,\n popupRef\n };\n }\n const editor = await super.deserialize(data, parent, uiManager);\n editor.#fontSize = data.fontSize;\n editor.#color = Util.makeHexColor(...data.color);\n editor.#content = FreeTextEditor.#deserializeContent(data.value);\n editor.annotationElementId = data.id || null;\n editor._initialData = initialData;\n return editor;\n }\n serialize(isForCopying = false) {\n if (this.isEmpty()) {\n return null;\n }\n if (this.deleted) {\n return this.serializeDeleted();\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n const rect = this.getRect(padding, padding);\n const color = AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color);\n const serialized = {\n annotationType: AnnotationEditorType.FREETEXT,\n color,\n fontSize: this.#fontSize,\n value: this.#serializeContent(),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n return serialized;\n }\n if (this.annotationElementId && !this.#hasElementChanged(serialized)) {\n return null;\n }\n serialized.id = this.annotationElementId;\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n value,\n fontSize,\n color,\n pageIndex\n } = this._initialData;\n return this._hasBeenMoved || serialized.value !== value || serialized.fontSize !== fontSize || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex;\n }\n renderAnnotationElement(annotation) {\n const content = super.renderAnnotationElement(annotation);\n if (this.deleted) {\n return content;\n }\n const {\n style\n } = content;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n content.replaceChildren();\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n content.append(div);\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n annotation.updateEdited({\n rect: this.getRect(padding, padding),\n popupContent: this.#content\n });\n return content;\n }\n resetAnnotationElement(annotation) {\n super.resetAnnotationElement(annotation);\n annotation.resetEdited();\n }\n}\n\n;// ./src/display/editor/drawers/outline.js\n\nclass Outline {\n toSVGPath() {\n unreachable(\"Abstract method `toSVGPath` must be implemented.\");\n }\n get box() {\n unreachable(\"Abstract getter `box` must be implemented.\");\n }\n serialize(_bbox, _rotation) {\n unreachable(\"Abstract method `serialize` must be implemented.\");\n }\n get classNamesForDrawing() {\n unreachable(\"Abstract getter `classNamesForDrawing` must be implemented.\");\n }\n get classNamesForOutlining() {\n unreachable(\"Abstract getter `classNamesForOutlining` must be implemented.\");\n }\n get mustRemoveSelfIntersections() {\n return false;\n }\n}\n\n;// ./src/display/editor/drawers/freedraw.js\n\n\nclass FreeDrawOutliner {\n #box;\n #bottom = [];\n #innerMargin;\n #isLTR;\n #top = [];\n #last = new Float64Array(18);\n #lastX;\n #lastY;\n #min;\n #min_dist;\n #scaleFactor;\n #thickness;\n #points = [];\n static #MIN_DIST = 8;\n static #MIN_DIFF = 2;\n static #MIN = FreeDrawOutliner.#MIN_DIST + FreeDrawOutliner.#MIN_DIFF;\n constructor({\n x,\n y\n }, box, scaleFactor, thickness, isLTR, innerMargin = 0) {\n this.#box = box;\n this.#thickness = thickness * scaleFactor;\n this.#isLTR = isLTR;\n this.#last.set([NaN, NaN, NaN, NaN, x, y], 6);\n this.#innerMargin = innerMargin;\n this.#min_dist = FreeDrawOutliner.#MIN_DIST * scaleFactor;\n this.#min = FreeDrawOutliner.#MIN * scaleFactor;\n this.#scaleFactor = scaleFactor;\n this.#points.push(x, y);\n }\n isEmpty() {\n return isNaN(this.#last[8]);\n }\n #getLastCoords() {\n const lastTop = this.#last.subarray(4, 6);\n const lastBottom = this.#last.subarray(16, 18);\n const [x, y, width, height] = this.#box;\n return [(this.#lastX + (lastTop[0] - lastBottom[0]) / 2 - x) / width, (this.#lastY + (lastTop[1] - lastBottom[1]) / 2 - y) / height, (this.#lastX + (lastBottom[0] - lastTop[0]) / 2 - x) / width, (this.#lastY + (lastBottom[1] - lastTop[1]) / 2 - y) / height];\n }\n add({\n x,\n y\n }) {\n this.#lastX = x;\n this.#lastY = y;\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n let [x1, y1, x2, y2] = this.#last.subarray(8, 12);\n const diffX = x - x2;\n const diffY = y - y2;\n const d = Math.hypot(diffX, diffY);\n if (d < this.#min) {\n return false;\n }\n const diffD = d - this.#min_dist;\n const K = diffD / d;\n const shiftX = K * diffX;\n const shiftY = K * diffY;\n let x0 = x1;\n let y0 = y1;\n x1 = x2;\n y1 = y2;\n x2 += shiftX;\n y2 += shiftY;\n this.#points?.push(x, y);\n const nX = -shiftY / diffD;\n const nY = shiftX / diffD;\n const thX = nX * this.#thickness;\n const thY = nY * this.#thickness;\n this.#last.set(this.#last.subarray(2, 8), 0);\n this.#last.set([x2 + thX, y2 + thY], 4);\n this.#last.set(this.#last.subarray(14, 18), 12);\n this.#last.set([x2 - thX, y2 - thY], 16);\n if (isNaN(this.#last[6])) {\n if (this.#top.length === 0) {\n this.#last.set([x1 + thX, y1 + thY], 2);\n this.#top.push(NaN, NaN, NaN, NaN, (x1 + thX - layerX) / layerWidth, (y1 + thY - layerY) / layerHeight);\n this.#last.set([x1 - thX, y1 - thY], 14);\n this.#bottom.push(NaN, NaN, NaN, NaN, (x1 - thX - layerX) / layerWidth, (y1 - thY - layerY) / layerHeight);\n }\n this.#last.set([x0, y0, x1, y1, x2, y2], 6);\n return !this.isEmpty();\n }\n this.#last.set([x0, y0, x1, y1, x2, y2], 6);\n const angle = Math.abs(Math.atan2(y0 - y1, x0 - x1) - Math.atan2(shiftY, shiftX));\n if (angle < Math.PI / 2) {\n [x1, y1, x2, y2] = this.#last.subarray(2, 6);\n this.#top.push(NaN, NaN, NaN, NaN, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight);\n [x1, y1, x0, y0] = this.#last.subarray(14, 18);\n this.#bottom.push(NaN, NaN, NaN, NaN, ((x0 + x1) / 2 - layerX) / layerWidth, ((y0 + y1) / 2 - layerY) / layerHeight);\n return true;\n }\n [x0, y0, x1, y1, x2, y2] = this.#last.subarray(0, 6);\n this.#top.push(((x0 + 5 * x1) / 6 - layerX) / layerWidth, ((y0 + 5 * y1) / 6 - layerY) / layerHeight, ((5 * x1 + x2) / 6 - layerX) / layerWidth, ((5 * y1 + y2) / 6 - layerY) / layerHeight, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight);\n [x2, y2, x1, y1, x0, y0] = this.#last.subarray(12, 18);\n this.#bottom.push(((x0 + 5 * x1) / 6 - layerX) / layerWidth, ((y0 + 5 * y1) / 6 - layerY) / layerHeight, ((5 * x1 + x2) / 6 - layerX) / layerWidth, ((5 * y1 + y2) / 6 - layerY) / layerHeight, ((x1 + x2) / 2 - layerX) / layerWidth, ((y1 + y2) / 2 - layerY) / layerHeight);\n return true;\n }\n toSVGPath() {\n if (this.isEmpty()) {\n return \"\";\n }\n const top = this.#top;\n const bottom = this.#bottom;\n if (isNaN(this.#last[6]) && !this.isEmpty()) {\n return this.#toSVGPathTwoPoints();\n }\n const buffer = [];\n buffer.push(`M${top[4]} ${top[5]}`);\n for (let i = 6; i < top.length; i += 6) {\n if (isNaN(top[i])) {\n buffer.push(`L${top[i + 4]} ${top[i + 5]}`);\n } else {\n buffer.push(`C${top[i]} ${top[i + 1]} ${top[i + 2]} ${top[i + 3]} ${top[i + 4]} ${top[i + 5]}`);\n }\n }\n this.#toSVGPathEnd(buffer);\n for (let i = bottom.length - 6; i >= 6; i -= 6) {\n if (isNaN(bottom[i])) {\n buffer.push(`L${bottom[i + 4]} ${bottom[i + 5]}`);\n } else {\n buffer.push(`C${bottom[i]} ${bottom[i + 1]} ${bottom[i + 2]} ${bottom[i + 3]} ${bottom[i + 4]} ${bottom[i + 5]}`);\n }\n }\n this.#toSVGPathStart(buffer);\n return buffer.join(\" \");\n }\n #toSVGPathTwoPoints() {\n const [x, y, width, height] = this.#box;\n const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords();\n return `M${(this.#last[2] - x) / width} ${(this.#last[3] - y) / height} L${(this.#last[4] - x) / width} ${(this.#last[5] - y) / height} L${lastTopX} ${lastTopY} L${lastBottomX} ${lastBottomY} L${(this.#last[16] - x) / width} ${(this.#last[17] - y) / height} L${(this.#last[14] - x) / width} ${(this.#last[15] - y) / height} Z`;\n }\n #toSVGPathStart(buffer) {\n const bottom = this.#bottom;\n buffer.push(`L${bottom[4]} ${bottom[5]} Z`);\n }\n #toSVGPathEnd(buffer) {\n const [x, y, width, height] = this.#box;\n const lastTop = this.#last.subarray(4, 6);\n const lastBottom = this.#last.subarray(16, 18);\n const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords();\n buffer.push(`L${(lastTop[0] - x) / width} ${(lastTop[1] - y) / height} L${lastTopX} ${lastTopY} L${lastBottomX} ${lastBottomY} L${(lastBottom[0] - x) / width} ${(lastBottom[1] - y) / height}`);\n }\n newFreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR) {\n return new FreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR);\n }\n getOutlines() {\n const top = this.#top;\n const bottom = this.#bottom;\n const last = this.#last;\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n const points = new Float64Array((this.#points?.length ?? 0) + 2);\n for (let i = 0, ii = points.length - 2; i < ii; i += 2) {\n points[i] = (this.#points[i] - layerX) / layerWidth;\n points[i + 1] = (this.#points[i + 1] - layerY) / layerHeight;\n }\n points[points.length - 2] = (this.#lastX - layerX) / layerWidth;\n points[points.length - 1] = (this.#lastY - layerY) / layerHeight;\n if (isNaN(last[6]) && !this.isEmpty()) {\n return this.#getOutlineTwoPoints(points);\n }\n const outline = new Float64Array(this.#top.length + 24 + this.#bottom.length);\n let N = top.length;\n for (let i = 0; i < N; i += 2) {\n if (isNaN(top[i])) {\n outline[i] = outline[i + 1] = NaN;\n continue;\n }\n outline[i] = top[i];\n outline[i + 1] = top[i + 1];\n }\n N = this.#getOutlineEnd(outline, N);\n for (let i = bottom.length - 6; i >= 6; i -= 6) {\n for (let j = 0; j < 6; j += 2) {\n if (isNaN(bottom[i + j])) {\n outline[N] = outline[N + 1] = NaN;\n N += 2;\n continue;\n }\n outline[N] = bottom[i + j];\n outline[N + 1] = bottom[i + j + 1];\n N += 2;\n }\n }\n this.#getOutlineStart(outline, N);\n return this.newFreeDrawOutline(outline, points, this.#box, this.#scaleFactor, this.#innerMargin, this.#isLTR);\n }\n #getOutlineTwoPoints(points) {\n const last = this.#last;\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords();\n const outline = new Float64Array(36);\n outline.set([NaN, NaN, NaN, NaN, (last[2] - layerX) / layerWidth, (last[3] - layerY) / layerHeight, NaN, NaN, NaN, NaN, (last[4] - layerX) / layerWidth, (last[5] - layerY) / layerHeight, NaN, NaN, NaN, NaN, lastTopX, lastTopY, NaN, NaN, NaN, NaN, lastBottomX, lastBottomY, NaN, NaN, NaN, NaN, (last[16] - layerX) / layerWidth, (last[17] - layerY) / layerHeight, NaN, NaN, NaN, NaN, (last[14] - layerX) / layerWidth, (last[15] - layerY) / layerHeight], 0);\n return this.newFreeDrawOutline(outline, points, this.#box, this.#scaleFactor, this.#innerMargin, this.#isLTR);\n }\n #getOutlineStart(outline, pos) {\n const bottom = this.#bottom;\n outline.set([NaN, NaN, NaN, NaN, bottom[4], bottom[5]], pos);\n return pos += 6;\n }\n #getOutlineEnd(outline, pos) {\n const lastTop = this.#last.subarray(4, 6);\n const lastBottom = this.#last.subarray(16, 18);\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n const [lastTopX, lastTopY, lastBottomX, lastBottomY] = this.#getLastCoords();\n outline.set([NaN, NaN, NaN, NaN, (lastTop[0] - layerX) / layerWidth, (lastTop[1] - layerY) / layerHeight, NaN, NaN, NaN, NaN, lastTopX, lastTopY, NaN, NaN, NaN, NaN, lastBottomX, lastBottomY, NaN, NaN, NaN, NaN, (lastBottom[0] - layerX) / layerWidth, (lastBottom[1] - layerY) / layerHeight], pos);\n return pos += 24;\n }\n}\nclass FreeDrawOutline extends Outline {\n #box;\n #bbox = null;\n #innerMargin;\n #isLTR;\n #points;\n #scaleFactor;\n #outline;\n constructor(outline, points, box, scaleFactor, innerMargin, isLTR) {\n super();\n this.#outline = outline;\n this.#points = points;\n this.#box = box;\n this.#scaleFactor = scaleFactor;\n this.#innerMargin = innerMargin;\n this.#isLTR = isLTR;\n this.#computeMinMax(isLTR);\n const {\n x,\n y,\n width,\n height\n } = this.#bbox;\n for (let i = 0, ii = outline.length; i < ii; i += 2) {\n outline[i] = (outline[i] - x) / width;\n outline[i + 1] = (outline[i + 1] - y) / height;\n }\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = (points[i] - x) / width;\n points[i + 1] = (points[i + 1] - y) / height;\n }\n }\n toSVGPath() {\n const buffer = [`M${this.#outline[4]} ${this.#outline[5]}`];\n for (let i = 6, ii = this.#outline.length; i < ii; i += 6) {\n if (isNaN(this.#outline[i])) {\n buffer.push(`L${this.#outline[i + 4]} ${this.#outline[i + 5]}`);\n continue;\n }\n buffer.push(`C${this.#outline[i]} ${this.#outline[i + 1]} ${this.#outline[i + 2]} ${this.#outline[i + 3]} ${this.#outline[i + 4]} ${this.#outline[i + 5]}`);\n }\n buffer.push(\"Z\");\n return buffer.join(\" \");\n }\n serialize([blX, blY, trX, trY], rotation) {\n const width = trX - blX;\n const height = trY - blY;\n let outline;\n let points;\n switch (rotation) {\n case 0:\n outline = this.#rescale(this.#outline, blX, trY, width, -height);\n points = this.#rescale(this.#points, blX, trY, width, -height);\n break;\n case 90:\n outline = this.#rescaleAndSwap(this.#outline, blX, blY, width, height);\n points = this.#rescaleAndSwap(this.#points, blX, blY, width, height);\n break;\n case 180:\n outline = this.#rescale(this.#outline, trX, blY, -width, height);\n points = this.#rescale(this.#points, trX, blY, -width, height);\n break;\n case 270:\n outline = this.#rescaleAndSwap(this.#outline, trX, trY, -width, -height);\n points = this.#rescaleAndSwap(this.#points, trX, trY, -width, -height);\n break;\n }\n return {\n outline: Array.from(outline),\n points: [Array.from(points)]\n };\n }\n #rescale(src, tx, ty, sx, sy) {\n const dest = new Float64Array(src.length);\n for (let i = 0, ii = src.length; i < ii; i += 2) {\n dest[i] = tx + src[i] * sx;\n dest[i + 1] = ty + src[i + 1] * sy;\n }\n return dest;\n }\n #rescaleAndSwap(src, tx, ty, sx, sy) {\n const dest = new Float64Array(src.length);\n for (let i = 0, ii = src.length; i < ii; i += 2) {\n dest[i] = tx + src[i + 1] * sx;\n dest[i + 1] = ty + src[i] * sy;\n }\n return dest;\n }\n #computeMinMax(isLTR) {\n const outline = this.#outline;\n let lastX = outline[4];\n let lastY = outline[5];\n let minX = lastX;\n let minY = lastY;\n let maxX = lastX;\n let maxY = lastY;\n let lastPointX = lastX;\n let lastPointY = lastY;\n const ltrCallback = isLTR ? Math.max : Math.min;\n for (let i = 6, ii = outline.length; i < ii; i += 6) {\n if (isNaN(outline[i])) {\n minX = Math.min(minX, outline[i + 4]);\n minY = Math.min(minY, outline[i + 5]);\n maxX = Math.max(maxX, outline[i + 4]);\n maxY = Math.max(maxY, outline[i + 5]);\n if (lastPointY < outline[i + 5]) {\n lastPointX = outline[i + 4];\n lastPointY = outline[i + 5];\n } else if (lastPointY === outline[i + 5]) {\n lastPointX = ltrCallback(lastPointX, outline[i + 4]);\n }\n } else {\n const bbox = Util.bezierBoundingBox(lastX, lastY, ...outline.slice(i, i + 6));\n minX = Math.min(minX, bbox[0]);\n minY = Math.min(minY, bbox[1]);\n maxX = Math.max(maxX, bbox[2]);\n maxY = Math.max(maxY, bbox[3]);\n if (lastPointY < bbox[3]) {\n lastPointX = bbox[2];\n lastPointY = bbox[3];\n } else if (lastPointY === bbox[3]) {\n lastPointX = ltrCallback(lastPointX, bbox[2]);\n }\n }\n lastX = outline[i + 4];\n lastY = outline[i + 5];\n }\n const x = minX - this.#innerMargin,\n y = minY - this.#innerMargin,\n width = maxX - minX + 2 * this.#innerMargin,\n height = maxY - minY + 2 * this.#innerMargin;\n this.#bbox = {\n x,\n y,\n width,\n height,\n lastPoint: [lastPointX, lastPointY]\n };\n }\n get box() {\n return this.#bbox;\n }\n newOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin = 0) {\n return new FreeDrawOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin);\n }\n getNewOutline(thickness, innerMargin) {\n const {\n x,\n y,\n width,\n height\n } = this.#bbox;\n const [layerX, layerY, layerWidth, layerHeight] = this.#box;\n const sx = width * layerWidth;\n const sy = height * layerHeight;\n const tx = x * layerWidth + layerX;\n const ty = y * layerHeight + layerY;\n const outliner = this.newOutliner({\n x: this.#points[0] * sx + tx,\n y: this.#points[1] * sy + ty\n }, this.#box, this.#scaleFactor, thickness, this.#isLTR, innerMargin ?? this.#innerMargin);\n for (let i = 2; i < this.#points.length; i += 2) {\n outliner.add({\n x: this.#points[i] * sx + tx,\n y: this.#points[i + 1] * sy + ty\n });\n }\n return outliner.getOutlines();\n }\n get mustRemoveSelfIntersections() {\n return true;\n }\n}\n\n;// ./src/display/editor/drawers/highlight.js\n\n\nclass HighlightOutliner {\n #box;\n #verticalEdges = [];\n #intervals = [];\n constructor(boxes, borderWidth = 0, innerMargin = 0, isLTR = true) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n const NUMBER_OF_DIGITS = 4;\n const EPSILON = 10 ** -NUMBER_OF_DIGITS;\n for (const {\n x,\n y,\n width,\n height\n } of boxes) {\n const x1 = Math.floor((x - borderWidth) / EPSILON) * EPSILON;\n const x2 = Math.ceil((x + width + borderWidth) / EPSILON) * EPSILON;\n const y1 = Math.floor((y - borderWidth) / EPSILON) * EPSILON;\n const y2 = Math.ceil((y + height + borderWidth) / EPSILON) * EPSILON;\n const left = [x1, y1, y2, true];\n const right = [x2, y1, y2, false];\n this.#verticalEdges.push(left, right);\n minX = Math.min(minX, x1);\n maxX = Math.max(maxX, x2);\n minY = Math.min(minY, y1);\n maxY = Math.max(maxY, y2);\n }\n const bboxWidth = maxX - minX + 2 * innerMargin;\n const bboxHeight = maxY - minY + 2 * innerMargin;\n const shiftedMinX = minX - innerMargin;\n const shiftedMinY = minY - innerMargin;\n const lastEdge = this.#verticalEdges.at(isLTR ? -1 : -2);\n const lastPoint = [lastEdge[0], lastEdge[2]];\n for (const edge of this.#verticalEdges) {\n const [x, y1, y2] = edge;\n edge[0] = (x - shiftedMinX) / bboxWidth;\n edge[1] = (y1 - shiftedMinY) / bboxHeight;\n edge[2] = (y2 - shiftedMinY) / bboxHeight;\n }\n this.#box = {\n x: shiftedMinX,\n y: shiftedMinY,\n width: bboxWidth,\n height: bboxHeight,\n lastPoint\n };\n }\n getOutlines() {\n this.#verticalEdges.sort((a, b) => a[0] - b[0] || a[1] - b[1] || a[2] - b[2]);\n const outlineVerticalEdges = [];\n for (const edge of this.#verticalEdges) {\n if (edge[3]) {\n outlineVerticalEdges.push(...this.#breakEdge(edge));\n this.#insert(edge);\n } else {\n this.#remove(edge);\n outlineVerticalEdges.push(...this.#breakEdge(edge));\n }\n }\n return this.#getOutlines(outlineVerticalEdges);\n }\n #getOutlines(outlineVerticalEdges) {\n const edges = [];\n const allEdges = new Set();\n for (const edge of outlineVerticalEdges) {\n const [x, y1, y2] = edge;\n edges.push([x, y1, edge], [x, y2, edge]);\n }\n edges.sort((a, b) => a[1] - b[1] || a[0] - b[0]);\n for (let i = 0, ii = edges.length; i < ii; i += 2) {\n const edge1 = edges[i][2];\n const edge2 = edges[i + 1][2];\n edge1.push(edge2);\n edge2.push(edge1);\n allEdges.add(edge1);\n allEdges.add(edge2);\n }\n const outlines = [];\n let outline;\n while (allEdges.size > 0) {\n const edge = allEdges.values().next().value;\n let [x, y1, y2, edge1, edge2] = edge;\n allEdges.delete(edge);\n let lastPointX = x;\n let lastPointY = y1;\n outline = [x, y2];\n outlines.push(outline);\n while (true) {\n let e;\n if (allEdges.has(edge1)) {\n e = edge1;\n } else if (allEdges.has(edge2)) {\n e = edge2;\n } else {\n break;\n }\n allEdges.delete(e);\n [x, y1, y2, edge1, edge2] = e;\n if (lastPointX !== x) {\n outline.push(lastPointX, lastPointY, x, lastPointY === y1 ? y1 : y2);\n lastPointX = x;\n }\n lastPointY = lastPointY === y1 ? y2 : y1;\n }\n outline.push(lastPointX, lastPointY);\n }\n return new HighlightOutline(outlines, this.#box);\n }\n #binarySearch(y) {\n const array = this.#intervals;\n let start = 0;\n let end = array.length - 1;\n while (start <= end) {\n const middle = start + end >> 1;\n const y1 = array[middle][0];\n if (y1 === y) {\n return middle;\n }\n if (y1 < y) {\n start = middle + 1;\n } else {\n end = middle - 1;\n }\n }\n return end + 1;\n }\n #insert([, y1, y2]) {\n const index = this.#binarySearch(y1);\n this.#intervals.splice(index, 0, [y1, y2]);\n }\n #remove([, y1, y2]) {\n const index = this.#binarySearch(y1);\n for (let i = index; i < this.#intervals.length; i++) {\n const [start, end] = this.#intervals[i];\n if (start !== y1) {\n break;\n }\n if (start === y1 && end === y2) {\n this.#intervals.splice(i, 1);\n return;\n }\n }\n for (let i = index - 1; i >= 0; i--) {\n const [start, end] = this.#intervals[i];\n if (start !== y1) {\n break;\n }\n if (start === y1 && end === y2) {\n this.#intervals.splice(i, 1);\n return;\n }\n }\n }\n #breakEdge(edge) {\n const [x, y1, y2] = edge;\n const results = [[x, y1, y2]];\n const index = this.#binarySearch(y2);\n for (let i = 0; i < index; i++) {\n const [start, end] = this.#intervals[i];\n for (let j = 0, jj = results.length; j < jj; j++) {\n const [, y3, y4] = results[j];\n if (end <= y3 || y4 <= start) {\n continue;\n }\n if (y3 >= start) {\n if (y4 > end) {\n results[j][1] = end;\n } else {\n if (jj === 1) {\n return [];\n }\n results.splice(j, 1);\n j--;\n jj--;\n }\n continue;\n }\n results[j][2] = start;\n if (y4 > end) {\n results.push([x, end, y4]);\n }\n }\n }\n return results;\n }\n}\nclass HighlightOutline extends Outline {\n #box;\n #outlines;\n constructor(outlines, box) {\n super();\n this.#outlines = outlines;\n this.#box = box;\n }\n toSVGPath() {\n const buffer = [];\n for (const polygon of this.#outlines) {\n let [prevX, prevY] = polygon;\n buffer.push(`M${prevX} ${prevY}`);\n for (let i = 2; i < polygon.length; i += 2) {\n const x = polygon[i];\n const y = polygon[i + 1];\n if (x === prevX) {\n buffer.push(`V${y}`);\n prevY = y;\n } else if (y === prevY) {\n buffer.push(`H${x}`);\n prevX = x;\n }\n }\n buffer.push(\"Z\");\n }\n return buffer.join(\" \");\n }\n serialize([blX, blY, trX, trY], _rotation) {\n const outlines = [];\n const width = trX - blX;\n const height = trY - blY;\n for (const outline of this.#outlines) {\n const points = new Array(outline.length);\n for (let i = 0; i < outline.length; i += 2) {\n points[i] = blX + outline[i] * width;\n points[i + 1] = trY - outline[i + 1] * height;\n }\n outlines.push(points);\n }\n return outlines;\n }\n get box() {\n return this.#box;\n }\n get classNamesForDrawing() {\n return [\"highlight\"];\n }\n get classNamesForOutlining() {\n return [\"highlightOutline\"];\n }\n}\nclass FreeHighlightOutliner extends FreeDrawOutliner {\n newFreeDrawOutline(outline, points, box, scaleFactor, innerMargin, isLTR) {\n return new FreeHighlightOutline(outline, points, box, scaleFactor, innerMargin, isLTR);\n }\n get classNamesForDrawing() {\n return [\"highlight\", \"free\"];\n }\n}\nclass FreeHighlightOutline extends FreeDrawOutline {\n get classNamesForDrawing() {\n return [\"highlight\", \"free\"];\n }\n get classNamesForOutlining() {\n return [\"highlightOutline\", \"free\"];\n }\n newOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin = 0) {\n return new FreeHighlightOutliner(point, box, scaleFactor, thickness, isLTR, innerMargin);\n }\n}\n\n;// ./src/display/editor/color_picker.js\n\n\n\nclass ColorPicker {\n #button = null;\n #buttonSwatch = null;\n #defaultColor;\n #dropdown = null;\n #dropdownWasFromKeyboard = false;\n #isMainColorPicker = false;\n #editor = null;\n #eventBus;\n #openDropdownAC = null;\n #uiManager = null;\n #type;\n static #l10nColor = null;\n static get _keyboardManager() {\n return shadow(this, \"_keyboardManager\", new KeyboardManager([[[\"Escape\", \"mac+Escape\"], ColorPicker.prototype._hideDropdownFromKeyboard], [[\" \", \"mac+ \"], ColorPicker.prototype._colorSelectFromKeyboard], [[\"ArrowDown\", \"ArrowRight\", \"mac+ArrowDown\", \"mac+ArrowRight\"], ColorPicker.prototype._moveToNext], [[\"ArrowUp\", \"ArrowLeft\", \"mac+ArrowUp\", \"mac+ArrowLeft\"], ColorPicker.prototype._moveToPrevious], [[\"Home\", \"mac+Home\"], ColorPicker.prototype._moveToBeginning], [[\"End\", \"mac+End\"], ColorPicker.prototype._moveToEnd]]));\n }\n constructor({\n editor = null,\n uiManager = null\n }) {\n if (editor) {\n this.#isMainColorPicker = false;\n this.#type = AnnotationEditorParamsType.HIGHLIGHT_COLOR;\n this.#editor = editor;\n } else {\n this.#isMainColorPicker = true;\n this.#type = AnnotationEditorParamsType.HIGHLIGHT_DEFAULT_COLOR;\n }\n this.#uiManager = editor?._uiManager || uiManager;\n this.#eventBus = this.#uiManager._eventBus;\n this.#defaultColor = editor?.color || this.#uiManager?.highlightColors.values().next().value || \"#FFFF98\";\n ColorPicker.#l10nColor ||= Object.freeze({\n blue: \"pdfjs-editor-colorpicker-blue\",\n green: \"pdfjs-editor-colorpicker-green\",\n pink: \"pdfjs-editor-colorpicker-pink\",\n red: \"pdfjs-editor-colorpicker-red\",\n yellow: \"pdfjs-editor-colorpicker-yellow\"\n });\n }\n renderButton() {\n const button = this.#button = document.createElement(\"button\");\n button.className = \"colorPicker\";\n button.tabIndex = \"0\";\n button.setAttribute(\"data-l10n-id\", \"pdfjs-editor-colorpicker-button\");\n button.setAttribute(\"aria-haspopup\", true);\n const signal = this.#uiManager._signal;\n button.addEventListener(\"click\", this.#openDropdown.bind(this), {\n signal\n });\n button.addEventListener(\"keydown\", this.#keyDown.bind(this), {\n signal\n });\n const swatch = this.#buttonSwatch = document.createElement(\"span\");\n swatch.className = \"swatch\";\n swatch.setAttribute(\"aria-hidden\", true);\n swatch.style.backgroundColor = this.#defaultColor;\n button.append(swatch);\n return button;\n }\n renderMainDropdown() {\n const dropdown = this.#dropdown = this.#getDropdownRoot();\n dropdown.setAttribute(\"aria-orientation\", \"horizontal\");\n dropdown.setAttribute(\"aria-labelledby\", \"highlightColorPickerLabel\");\n return dropdown;\n }\n #getDropdownRoot() {\n const div = document.createElement(\"div\");\n const signal = this.#uiManager._signal;\n div.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n div.className = \"dropdown\";\n div.role = \"listbox\";\n div.setAttribute(\"aria-multiselectable\", false);\n div.setAttribute(\"aria-orientation\", \"vertical\");\n div.setAttribute(\"data-l10n-id\", \"pdfjs-editor-colorpicker-dropdown\");\n for (const [name, color] of this.#uiManager.highlightColors) {\n const button = document.createElement(\"button\");\n button.tabIndex = \"0\";\n button.role = \"option\";\n button.setAttribute(\"data-color\", color);\n button.title = name;\n button.setAttribute(\"data-l10n-id\", ColorPicker.#l10nColor[name]);\n const swatch = document.createElement(\"span\");\n button.append(swatch);\n swatch.className = \"swatch\";\n swatch.style.backgroundColor = color;\n button.setAttribute(\"aria-selected\", color === this.#defaultColor);\n button.addEventListener(\"click\", this.#colorSelect.bind(this, color), {\n signal\n });\n div.append(button);\n }\n div.addEventListener(\"keydown\", this.#keyDown.bind(this), {\n signal\n });\n return div;\n }\n #colorSelect(color, event) {\n event.stopPropagation();\n this.#eventBus.dispatch(\"switchannotationeditorparams\", {\n source: this,\n type: this.#type,\n value: color\n });\n }\n _colorSelectFromKeyboard(event) {\n if (event.target === this.#button) {\n this.#openDropdown(event);\n return;\n }\n const color = event.target.getAttribute(\"data-color\");\n if (!color) {\n return;\n }\n this.#colorSelect(color, event);\n }\n _moveToNext(event) {\n if (!this.#isDropdownVisible) {\n this.#openDropdown(event);\n return;\n }\n if (event.target === this.#button) {\n this.#dropdown.firstChild?.focus();\n return;\n }\n event.target.nextSibling?.focus();\n }\n _moveToPrevious(event) {\n if (event.target === this.#dropdown?.firstChild || event.target === this.#button) {\n if (this.#isDropdownVisible) {\n this._hideDropdownFromKeyboard();\n }\n return;\n }\n if (!this.#isDropdownVisible) {\n this.#openDropdown(event);\n }\n event.target.previousSibling?.focus();\n }\n _moveToBeginning(event) {\n if (!this.#isDropdownVisible) {\n this.#openDropdown(event);\n return;\n }\n this.#dropdown.firstChild?.focus();\n }\n _moveToEnd(event) {\n if (!this.#isDropdownVisible) {\n this.#openDropdown(event);\n return;\n }\n this.#dropdown.lastChild?.focus();\n }\n #keyDown(event) {\n ColorPicker._keyboardManager.exec(this, event);\n }\n #openDropdown(event) {\n if (this.#isDropdownVisible) {\n this.hideDropdown();\n return;\n }\n this.#dropdownWasFromKeyboard = event.detail === 0;\n if (!this.#openDropdownAC) {\n this.#openDropdownAC = new AbortController();\n window.addEventListener(\"pointerdown\", this.#pointerDown.bind(this), {\n signal: this.#uiManager.combinedSignal(this.#openDropdownAC)\n });\n }\n if (this.#dropdown) {\n this.#dropdown.classList.remove(\"hidden\");\n return;\n }\n const root = this.#dropdown = this.#getDropdownRoot();\n this.#button.append(root);\n }\n #pointerDown(event) {\n if (this.#dropdown?.contains(event.target)) {\n return;\n }\n this.hideDropdown();\n }\n hideDropdown() {\n this.#dropdown?.classList.add(\"hidden\");\n this.#openDropdownAC?.abort();\n this.#openDropdownAC = null;\n }\n get #isDropdownVisible() {\n return this.#dropdown && !this.#dropdown.classList.contains(\"hidden\");\n }\n _hideDropdownFromKeyboard() {\n if (this.#isMainColorPicker) {\n return;\n }\n if (!this.#isDropdownVisible) {\n this.#editor?.unselect();\n return;\n }\n this.hideDropdown();\n this.#button.focus({\n preventScroll: true,\n focusVisible: this.#dropdownWasFromKeyboard\n });\n }\n updateColor(color) {\n if (this.#buttonSwatch) {\n this.#buttonSwatch.style.backgroundColor = color;\n }\n if (!this.#dropdown) {\n return;\n }\n const i = this.#uiManager.highlightColors.values();\n for (const child of this.#dropdown.children) {\n child.setAttribute(\"aria-selected\", i.next().value === color);\n }\n }\n destroy() {\n this.#button?.remove();\n this.#button = null;\n this.#buttonSwatch = null;\n this.#dropdown?.remove();\n this.#dropdown = null;\n }\n}\n\n;// ./src/display/editor/highlight.js\n\n\n\n\n\n\n\nclass HighlightEditor extends AnnotationEditor {\n #anchorNode = null;\n #anchorOffset = 0;\n #boxes;\n #clipPathId = null;\n #colorPicker = null;\n #focusOutlines = null;\n #focusNode = null;\n #focusOffset = 0;\n #highlightDiv = null;\n #highlightOutlines = null;\n #id = null;\n #isFreeHighlight = false;\n #lastPoint = null;\n #opacity;\n #outlineId = null;\n #text = \"\";\n #thickness;\n #methodOfCreation = \"\";\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 12;\n static _type = \"highlight\";\n static _editorType = AnnotationEditorType.HIGHLIGHT;\n static _freeHighlightId = -1;\n static _freeHighlight = null;\n static _freeHighlightClipId = \"\";\n static get _keyboardManager() {\n const proto = HighlightEditor.prototype;\n return shadow(this, \"_keyboardManager\", new KeyboardManager([[[\"ArrowLeft\", \"mac+ArrowLeft\"], proto._moveCaret, {\n args: [0]\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto._moveCaret, {\n args: [1]\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto._moveCaret, {\n args: [2]\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto._moveCaret, {\n args: [3]\n }]]));\n }\n constructor(params) {\n super({\n ...params,\n name: \"highlightEditor\"\n });\n this.color = params.color || HighlightEditor._defaultColor;\n this.#thickness = params.thickness || HighlightEditor._defaultThickness;\n this.#opacity = params.opacity || HighlightEditor._defaultOpacity;\n this.#boxes = params.boxes || null;\n this.#methodOfCreation = params.methodOfCreation || \"\";\n this.#text = params.text || \"\";\n this._isDraggable = false;\n if (params.highlightId > -1) {\n this.#isFreeHighlight = true;\n this.#createFreeOutlines(params);\n this.#addToDrawLayer();\n } else if (this.#boxes) {\n this.#anchorNode = params.anchorNode;\n this.#anchorOffset = params.anchorOffset;\n this.#focusNode = params.focusNode;\n this.#focusOffset = params.focusOffset;\n this.#createOutlines();\n this.#addToDrawLayer();\n this.rotate(this.rotation);\n }\n }\n get telemetryInitialData() {\n return {\n action: \"added\",\n type: this.#isFreeHighlight ? \"free_highlight\" : \"highlight\",\n color: this._uiManager.highlightColorNames.get(this.color),\n thickness: this.#thickness,\n methodOfCreation: this.#methodOfCreation\n };\n }\n get telemetryFinalData() {\n return {\n type: \"highlight\",\n color: this._uiManager.highlightColorNames.get(this.color)\n };\n }\n static computeTelemetryFinalData(data) {\n return {\n numberOfColors: data.get(\"color\").size\n };\n }\n #createOutlines() {\n const outliner = new HighlightOutliner(this.#boxes, 0.001);\n this.#highlightOutlines = outliner.getOutlines();\n ({\n x: this.x,\n y: this.y,\n width: this.width,\n height: this.height\n } = this.#highlightOutlines.box);\n const outlinerForOutline = new HighlightOutliner(this.#boxes, 0.0025, 0.001, this._uiManager.direction === \"ltr\");\n this.#focusOutlines = outlinerForOutline.getOutlines();\n const {\n lastPoint\n } = this.#focusOutlines.box;\n this.#lastPoint = [(lastPoint[0] - this.x) / this.width, (lastPoint[1] - this.y) / this.height];\n }\n #createFreeOutlines({\n highlightOutlines,\n highlightId,\n clipPathId\n }) {\n this.#highlightOutlines = highlightOutlines;\n const extraThickness = 1.5;\n this.#focusOutlines = highlightOutlines.getNewOutline(this.#thickness / 2 + extraThickness, 0.0025);\n if (highlightId >= 0) {\n this.#id = highlightId;\n this.#clipPathId = clipPathId;\n this.parent.drawLayer.finalizeLine(highlightId, highlightOutlines);\n this.#outlineId = this.parent.drawLayer.drawOutline(this.#focusOutlines);\n } else if (this.parent) {\n const angle = this.parent.viewport.rotation;\n this.parent.drawLayer.updateLine(this.#id, highlightOutlines);\n this.parent.drawLayer.updateBox(this.#id, HighlightEditor.#rotateBbox(this.#highlightOutlines.box, (angle - this.rotation + 360) % 360));\n this.parent.drawLayer.updateLine(this.#outlineId, this.#focusOutlines);\n this.parent.drawLayer.updateBox(this.#outlineId, HighlightEditor.#rotateBbox(this.#focusOutlines.box, angle));\n }\n const {\n x,\n y,\n width,\n height\n } = highlightOutlines.box;\n switch (this.rotation) {\n case 0:\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n break;\n case 90:\n {\n const [pageWidth, pageHeight] = this.parentDimensions;\n this.x = y;\n this.y = 1 - x;\n this.width = width * pageHeight / pageWidth;\n this.height = height * pageWidth / pageHeight;\n break;\n }\n case 180:\n this.x = 1 - x;\n this.y = 1 - y;\n this.width = width;\n this.height = height;\n break;\n case 270:\n {\n const [pageWidth, pageHeight] = this.parentDimensions;\n this.x = 1 - y;\n this.y = x;\n this.width = width * pageHeight / pageWidth;\n this.height = height * pageWidth / pageHeight;\n break;\n }\n }\n const {\n lastPoint\n } = this.#focusOutlines.box;\n this.#lastPoint = [(lastPoint[0] - x) / width, (lastPoint[1] - y) / height];\n }\n static initialize(l10n, uiManager) {\n AnnotationEditor.initialize(l10n, uiManager);\n HighlightEditor._defaultColor ||= uiManager.highlightColors?.values().next().value || \"#fff066\";\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.HIGHLIGHT_DEFAULT_COLOR:\n HighlightEditor._defaultColor = value;\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_THICKNESS:\n HighlightEditor._defaultThickness = value;\n break;\n }\n }\n translateInPage(x, y) {}\n get toolbarPosition() {\n return this.#lastPoint;\n }\n updateParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.HIGHLIGHT_COLOR:\n this.#updateColor(value);\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_THICKNESS:\n this.#updateThickness(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[AnnotationEditorParamsType.HIGHLIGHT_DEFAULT_COLOR, HighlightEditor._defaultColor], [AnnotationEditorParamsType.HIGHLIGHT_THICKNESS, HighlightEditor._defaultThickness]];\n }\n get propertiesToUpdate() {\n return [[AnnotationEditorParamsType.HIGHLIGHT_COLOR, this.color || HighlightEditor._defaultColor], [AnnotationEditorParamsType.HIGHLIGHT_THICKNESS, this.#thickness || HighlightEditor._defaultThickness], [AnnotationEditorParamsType.HIGHLIGHT_FREE, this.#isFreeHighlight]];\n }\n #updateColor(color) {\n const setColorAndOpacity = (col, opa) => {\n this.color = col;\n this.parent?.drawLayer.changeColor(this.#id, col);\n this.#colorPicker?.updateColor(col);\n this.#opacity = opa;\n this.parent?.drawLayer.changeOpacity(this.#id, opa);\n };\n const savedColor = this.color;\n const savedOpacity = this.#opacity;\n this.addCommands({\n cmd: setColorAndOpacity.bind(this, color, HighlightEditor._defaultOpacity),\n undo: setColorAndOpacity.bind(this, savedColor, savedOpacity),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.HIGHLIGHT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n this._reportTelemetry({\n action: \"color_changed\",\n color: this._uiManager.highlightColorNames.get(color)\n }, true);\n }\n #updateThickness(thickness) {\n const savedThickness = this.#thickness;\n const setThickness = th => {\n this.#thickness = th;\n this.#changeThickness(th);\n };\n this.addCommands({\n cmd: setThickness.bind(this, thickness),\n undo: setThickness.bind(this, savedThickness),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n this._reportTelemetry({\n action: \"thickness_changed\",\n thickness\n }, true);\n }\n async addEditToolbar() {\n const toolbar = await super.addEditToolbar();\n if (!toolbar) {\n return null;\n }\n if (this._uiManager.highlightColors) {\n this.#colorPicker = new ColorPicker({\n editor: this\n });\n toolbar.addColorPicker(this.#colorPicker);\n }\n return toolbar;\n }\n disableEditing() {\n super.disableEditing();\n this.div.classList.toggle(\"disabled\", true);\n }\n enableEditing() {\n super.enableEditing();\n this.div.classList.toggle(\"disabled\", false);\n }\n fixAndSetPosition() {\n return super.fixAndSetPosition(this.#getRotation());\n }\n getBaseTranslation() {\n return [0, 0];\n }\n getRect(tx, ty) {\n return super.getRect(tx, ty, this.#getRotation());\n }\n onceAdded() {\n if (!this.annotationElementId) {\n this.parent.addUndoableEditor(this);\n }\n this.div.focus();\n }\n remove() {\n this.#cleanDrawLayer();\n this._reportTelemetry({\n action: \"deleted\"\n });\n super.remove();\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n this.#addToDrawLayer();\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n setParent(parent) {\n let mustBeSelected = false;\n if (this.parent && !parent) {\n this.#cleanDrawLayer();\n } else if (parent) {\n this.#addToDrawLayer(parent);\n mustBeSelected = !this.parent && this.div?.classList.contains(\"selectedEditor\");\n }\n super.setParent(parent);\n this.show(this._isVisible);\n if (mustBeSelected) {\n this.select();\n }\n }\n #changeThickness(thickness) {\n if (!this.#isFreeHighlight) {\n return;\n }\n this.#createFreeOutlines({\n highlightOutlines: this.#highlightOutlines.getNewOutline(thickness / 2)\n });\n this.fixAndSetPosition();\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n }\n #cleanDrawLayer() {\n if (this.#id === null || !this.parent) {\n return;\n }\n this.parent.drawLayer.remove(this.#id);\n this.#id = null;\n this.parent.drawLayer.remove(this.#outlineId);\n this.#outlineId = null;\n }\n #addToDrawLayer(parent = this.parent) {\n if (this.#id !== null) {\n return;\n }\n ({\n id: this.#id,\n clipPathId: this.#clipPathId\n } = parent.drawLayer.draw(this.#highlightOutlines, this.color, this.#opacity));\n this.#outlineId = parent.drawLayer.drawOutline(this.#focusOutlines);\n if (this.#highlightDiv) {\n this.#highlightDiv.style.clipPath = this.#clipPathId;\n }\n }\n static #rotateBbox({\n x,\n y,\n width,\n height\n }, angle) {\n switch (angle) {\n case 90:\n return {\n x: 1 - y - height,\n y: x,\n width: height,\n height: width\n };\n case 180:\n return {\n x: 1 - x - width,\n y: 1 - y - height,\n width,\n height\n };\n case 270:\n return {\n x: y,\n y: 1 - x - width,\n width: height,\n height: width\n };\n }\n return {\n x,\n y,\n width,\n height\n };\n }\n rotate(angle) {\n const {\n drawLayer\n } = this.parent;\n let box;\n if (this.#isFreeHighlight) {\n angle = (angle - this.rotation + 360) % 360;\n box = HighlightEditor.#rotateBbox(this.#highlightOutlines.box, angle);\n } else {\n box = HighlightEditor.#rotateBbox(this, angle);\n }\n drawLayer.rotate(this.#id, angle);\n drawLayer.rotate(this.#outlineId, angle);\n drawLayer.updateBox(this.#id, box);\n drawLayer.updateBox(this.#outlineId, HighlightEditor.#rotateBbox(this.#focusOutlines.box, angle));\n }\n render() {\n if (this.div) {\n return this.div;\n }\n const div = super.render();\n if (this.#text) {\n div.setAttribute(\"aria-label\", this.#text);\n div.setAttribute(\"role\", \"mark\");\n }\n if (this.#isFreeHighlight) {\n div.classList.add(\"free\");\n } else {\n this.div.addEventListener(\"keydown\", this.#keydown.bind(this), {\n signal: this._uiManager._signal\n });\n }\n const highlightDiv = this.#highlightDiv = document.createElement(\"div\");\n div.append(highlightDiv);\n highlightDiv.setAttribute(\"aria-hidden\", \"true\");\n highlightDiv.className = \"internal\";\n highlightDiv.style.clipPath = this.#clipPathId;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n bindEvents(this, this.#highlightDiv, [\"pointerover\", \"pointerleave\"]);\n this.enableEditing();\n return div;\n }\n pointerover() {\n if (!this.isSelected) {\n this.parent.drawLayer.addClass(this.#outlineId, \"hovered\");\n }\n }\n pointerleave() {\n if (!this.isSelected) {\n this.parent.drawLayer.removeClass(this.#outlineId, \"hovered\");\n }\n }\n #keydown(event) {\n HighlightEditor._keyboardManager.exec(this, event);\n }\n _moveCaret(direction) {\n this.parent.unselect(this);\n switch (direction) {\n case 0:\n case 2:\n this.#setCaret(true);\n break;\n case 1:\n case 3:\n this.#setCaret(false);\n break;\n }\n }\n #setCaret(start) {\n if (!this.#anchorNode) {\n return;\n }\n const selection = window.getSelection();\n if (start) {\n selection.setPosition(this.#anchorNode, this.#anchorOffset);\n } else {\n selection.setPosition(this.#focusNode, this.#focusOffset);\n }\n }\n select() {\n super.select();\n if (!this.#outlineId) {\n return;\n }\n this.parent?.drawLayer.removeClass(this.#outlineId, \"hovered\");\n this.parent?.drawLayer.addClass(this.#outlineId, \"selected\");\n }\n unselect() {\n super.unselect();\n if (!this.#outlineId) {\n return;\n }\n this.parent?.drawLayer.removeClass(this.#outlineId, \"selected\");\n if (!this.#isFreeHighlight) {\n this.#setCaret(false);\n }\n }\n get _mustFixPosition() {\n return !this.#isFreeHighlight;\n }\n show(visible = this._isVisible) {\n super.show(visible);\n if (this.parent) {\n this.parent.drawLayer.show(this.#id, visible);\n this.parent.drawLayer.show(this.#outlineId, visible);\n }\n }\n #getRotation() {\n return this.#isFreeHighlight ? this.rotation : 0;\n }\n #serializeBoxes() {\n if (this.#isFreeHighlight) {\n return null;\n }\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const boxes = this.#boxes;\n const quadPoints = new Float32Array(boxes.length * 8);\n let i = 0;\n for (const {\n x,\n y,\n width,\n height\n } of boxes) {\n const sx = x * pageWidth + pageX;\n const sy = (1 - y - height) * pageHeight + pageY;\n quadPoints[i] = quadPoints[i + 4] = sx;\n quadPoints[i + 1] = quadPoints[i + 3] = sy;\n quadPoints[i + 2] = quadPoints[i + 6] = sx + width * pageWidth;\n quadPoints[i + 5] = quadPoints[i + 7] = sy + height * pageHeight;\n i += 8;\n }\n return quadPoints;\n }\n #serializeOutlines(rect) {\n return this.#highlightOutlines.serialize(rect, this.#getRotation());\n }\n static startHighlighting(parent, isLTR, {\n target: textLayer,\n x,\n y\n }) {\n const {\n x: layerX,\n y: layerY,\n width: parentWidth,\n height: parentHeight\n } = textLayer.getBoundingClientRect();\n const ac = new AbortController();\n const signal = parent.combinedSignal(ac);\n const pointerDown = e => {\n e.preventDefault();\n e.stopPropagation();\n };\n const pointerUpCallback = e => {\n ac.abort();\n this.#endHighlight(parent, e);\n };\n window.addEventListener(\"blur\", pointerUpCallback, {\n signal\n });\n window.addEventListener(\"pointerup\", pointerUpCallback, {\n signal\n });\n window.addEventListener(\"pointerdown\", pointerDown, {\n capture: true,\n passive: false,\n signal\n });\n window.addEventListener(\"contextmenu\", noContextMenu, {\n signal\n });\n textLayer.addEventListener(\"pointermove\", this.#highlightMove.bind(this, parent), {\n signal\n });\n this._freeHighlight = new FreeHighlightOutliner({\n x,\n y\n }, [layerX, layerY, parentWidth, parentHeight], parent.scale, this._defaultThickness / 2, isLTR, 0.001);\n ({\n id: this._freeHighlightId,\n clipPathId: this._freeHighlightClipId\n } = parent.drawLayer.draw(this._freeHighlight, this._defaultColor, this._defaultOpacity, true));\n }\n static #highlightMove(parent, event) {\n if (this._freeHighlight.add(event)) {\n parent.drawLayer.updatePath(this._freeHighlightId, this._freeHighlight);\n }\n }\n static #endHighlight(parent, event) {\n if (!this._freeHighlight.isEmpty()) {\n parent.createAndAddNewEditor(event, false, {\n highlightId: this._freeHighlightId,\n highlightOutlines: this._freeHighlight.getOutlines(),\n clipPathId: this._freeHighlightClipId,\n methodOfCreation: \"main_toolbar\"\n });\n } else {\n parent.drawLayer.remove(this._freeHighlightId);\n }\n this._freeHighlightId = -1;\n this._freeHighlight = null;\n this._freeHighlightClipId = \"\";\n }\n static async deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof HighlightAnnotationElement) {\n const {\n data: {\n quadPoints,\n rect,\n rotation,\n id,\n color,\n opacity,\n popupRef\n },\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n initialData = data = {\n annotationType: AnnotationEditorType.HIGHLIGHT,\n color: Array.from(color),\n opacity,\n quadPoints,\n boxes: null,\n pageIndex: pageNumber - 1,\n rect: rect.slice(0),\n rotation,\n id,\n deleted: false,\n popupRef\n };\n } else if (data instanceof InkAnnotationElement) {\n const {\n data: {\n inkLists,\n rect,\n rotation,\n id,\n color,\n borderStyle: {\n rawWidth: thickness\n },\n popupRef\n },\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n initialData = data = {\n annotationType: AnnotationEditorType.HIGHLIGHT,\n color: Array.from(color),\n thickness,\n inkLists,\n boxes: null,\n pageIndex: pageNumber - 1,\n rect: rect.slice(0),\n rotation,\n id,\n deleted: false,\n popupRef\n };\n }\n const {\n color,\n quadPoints,\n inkLists,\n opacity\n } = data;\n const editor = await super.deserialize(data, parent, uiManager);\n editor.color = Util.makeHexColor(...color);\n editor.#opacity = opacity || 1;\n if (inkLists) {\n editor.#thickness = data.thickness;\n }\n editor.annotationElementId = data.id || null;\n editor._initialData = initialData;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [pageX, pageY] = editor.pageTranslation;\n if (quadPoints) {\n const boxes = editor.#boxes = [];\n for (let i = 0; i < quadPoints.length; i += 8) {\n boxes.push({\n x: (quadPoints[i] - pageX) / pageWidth,\n y: 1 - (quadPoints[i + 1] - pageY) / pageHeight,\n width: (quadPoints[i + 2] - quadPoints[i]) / pageWidth,\n height: (quadPoints[i + 1] - quadPoints[i + 5]) / pageHeight\n });\n }\n editor.#createOutlines();\n editor.#addToDrawLayer();\n editor.rotate(editor.rotation);\n } else if (inkLists) {\n editor.#isFreeHighlight = true;\n const points = inkLists[0];\n const point = {\n x: points[0] - pageX,\n y: pageHeight - (points[1] - pageY)\n };\n const outliner = new FreeHighlightOutliner(point, [0, 0, pageWidth, pageHeight], 1, editor.#thickness / 2, true, 0.001);\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n point.x = points[i] - pageX;\n point.y = pageHeight - (points[i + 1] - pageY);\n outliner.add(point);\n }\n const {\n id,\n clipPathId\n } = parent.drawLayer.draw(outliner, editor.color, editor._defaultOpacity, true);\n editor.#createFreeOutlines({\n highlightOutlines: outliner.getOutlines(),\n highlightId: id,\n clipPathId\n });\n editor.#addToDrawLayer();\n }\n return editor;\n }\n serialize(isForCopying = false) {\n if (this.isEmpty() || isForCopying) {\n return null;\n }\n if (this.deleted) {\n return this.serializeDeleted();\n }\n const rect = this.getRect(0, 0);\n const color = AnnotationEditor._colorManager.convert(this.color);\n const serialized = {\n annotationType: AnnotationEditorType.HIGHLIGHT,\n color,\n opacity: this.#opacity,\n thickness: this.#thickness,\n quadPoints: this.#serializeBoxes(),\n outlines: this.#serializeOutlines(rect),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.#getRotation(),\n structTreeParentId: this._structTreeParentId\n };\n if (this.annotationElementId && !this.#hasElementChanged(serialized)) {\n return null;\n }\n serialized.id = this.annotationElementId;\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n color\n } = this._initialData;\n return serialized.color.some((c, i) => c !== color[i]);\n }\n renderAnnotationElement(annotation) {\n annotation.updateEdited({\n rect: this.getRect(0, 0)\n });\n return null;\n }\n static canCreateNewEmptyEditor() {\n return false;\n }\n}\n\n;// ./src/display/editor/ink.js\n\n\n\n\n\nclass InkEditor extends AnnotationEditor {\n #baseHeight = 0;\n #baseWidth = 0;\n #canvasContextMenuTimeoutId = null;\n #currentPath2D = new Path2D();\n #disableEditing = false;\n #drawingAC = null;\n #hasSomethingToDraw = false;\n #isCanvasInitialized = false;\n #observer = null;\n #pointerdownAC = null;\n #realWidth = 0;\n #realHeight = 0;\n #requestFrameCallback = null;\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 1;\n static _type = \"ink\";\n static _editorType = AnnotationEditorType.INK;\n constructor(params) {\n super({\n ...params,\n name: \"inkEditor\"\n });\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.allRawPaths = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n this._willKeepAspectRatio = true;\n }\n static initialize(l10n, uiManager) {\n AnnotationEditor.initialize(l10n, uiManager);\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n case AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n case AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case AnnotationEditorParamsType.INK_THICKNESS:\n this.#updateThickness(value);\n break;\n case AnnotationEditorParamsType.INK_COLOR:\n this.#updateColor(value);\n break;\n case AnnotationEditorParamsType.INK_OPACITY:\n this.#updateOpacity(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || AnnotationEditor._defaultLineColor], [AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]];\n }\n get propertiesToUpdate() {\n return [[AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || AnnotationEditor._defaultLineColor], [AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]];\n }\n #updateThickness(thickness) {\n const setThickness = th => {\n this.thickness = th;\n this.#fitToContent();\n };\n const savedThickness = this.thickness;\n this.addCommands({\n cmd: setThickness.bind(this, thickness),\n undo: setThickness.bind(this, savedThickness),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const setColor = col => {\n this.color = col;\n this.#redraw();\n };\n const savedColor = this.color;\n this.addCommands({\n cmd: setColor.bind(this, color),\n undo: setColor.bind(this, savedColor),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateOpacity(opacity) {\n const setOpacity = op => {\n this.opacity = op;\n this.#redraw();\n };\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.addCommands({\n cmd: setOpacity.bind(this, opacity),\n undo: setOpacity.bind(this, savedOpacity),\n post: this._uiManager.updateUI.bind(this._uiManager, this),\n mustExec: true,\n type: AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n this.#setCanvasDims();\n }\n this.#fitToContent();\n }\n remove() {\n if (this.canvas === null) {\n return;\n }\n if (!this.isEmpty()) {\n this.commit();\n }\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n if (this.#canvasContextMenuTimeoutId) {\n clearTimeout(this.#canvasContextMenuTimeoutId);\n this.#canvasContextMenuTimeoutId = null;\n }\n this.#observer?.disconnect();\n this.#observer = null;\n super.remove();\n }\n setParent(parent) {\n if (!this.parent && parent) {\n this._uiManager.removeShouldRescale(this);\n } else if (this.parent && parent === null) {\n this._uiManager.addShouldRescale(this);\n }\n super.setParent(parent);\n }\n onScaleChanging() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const width = this.width * parentWidth;\n const height = this.height * parentHeight;\n this.setDimensions(width, height);\n }\n enableEditMode() {\n if (this.#disableEditing || this.canvas === null) {\n return;\n }\n super.enableEditMode();\n this._isDraggable = false;\n this.#addPointerdownListener();\n }\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n super.disableEditMode();\n this._isDraggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.#removePointerdownListener();\n }\n onceAdded() {\n this._isDraggable = !this.isEmpty();\n }\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n #getInitialBBox() {\n const {\n parentRotation,\n parentDimensions: [width, height]\n } = this;\n switch (parentRotation) {\n case 90:\n return [0, height, height, width];\n case 180:\n return [width, height, width, height];\n case 270:\n return [width, 0, height, width];\n default:\n return [0, 0, width, height];\n }\n }\n #setStroke() {\n const {\n ctx,\n color,\n opacity,\n thickness,\n parentScale,\n scaleFactor\n } = this;\n ctx.lineWidth = thickness * parentScale / scaleFactor;\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.miterLimit = 10;\n ctx.strokeStyle = `${color}${opacityToHex(opacity)}`;\n }\n #startDrawing(x, y) {\n this.canvas.addEventListener(\"contextmenu\", noContextMenu, {\n signal: this._uiManager._signal\n });\n this.#removePointerdownListener();\n this.#drawingAC = new AbortController();\n const signal = this._uiManager.combinedSignal(this.#drawingAC);\n this.canvas.addEventListener(\"pointerleave\", this.canvasPointerleave.bind(this), {\n signal\n });\n this.canvas.addEventListener(\"pointermove\", this.canvasPointermove.bind(this), {\n signal\n });\n this.canvas.addEventListener(\"pointerup\", this.canvasPointerup.bind(this), {\n signal\n });\n this.isEditing = true;\n if (!this.#isCanvasInitialized) {\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.thickness ||= InkEditor._defaultThickness;\n this.color ||= InkEditor._defaultColor || AnnotationEditor._defaultLineColor;\n this.opacity ??= InkEditor._defaultOpacity;\n }\n this.currentPath.push([x, y]);\n this.#hasSomethingToDraw = false;\n this.#setStroke();\n this.#requestFrameCallback = () => {\n this.#drawPoints();\n if (this.#requestFrameCallback) {\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n };\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n #draw(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n if (this.currentPath.length > 1 && x === lastX && y === lastY) {\n return;\n }\n const currentPath = this.currentPath;\n let path2D = this.#currentPath2D;\n currentPath.push([x, y]);\n this.#hasSomethingToDraw = true;\n if (currentPath.length <= 2) {\n path2D.moveTo(...currentPath[0]);\n path2D.lineTo(x, y);\n return;\n }\n if (currentPath.length === 3) {\n this.#currentPath2D = path2D = new Path2D();\n path2D.moveTo(...currentPath[0]);\n }\n this.#makeBezierCurve(path2D, ...currentPath.at(-3), ...currentPath.at(-2), x, y);\n }\n #endPath() {\n if (this.currentPath.length === 0) {\n return;\n }\n const lastPoint = this.currentPath.at(-1);\n this.#currentPath2D.lineTo(...lastPoint);\n }\n #stopDrawing(x, y) {\n this.#requestFrameCallback = null;\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n this.#draw(x, y);\n this.#endPath();\n let bezier;\n if (this.currentPath.length !== 1) {\n bezier = this.#generateBezierPoints();\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n const path2D = this.#currentPath2D;\n const currentPath = this.currentPath;\n this.currentPath = [];\n this.#currentPath2D = new Path2D();\n const cmd = () => {\n this.allRawPaths.push(currentPath);\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this._uiManager.rebuild(this);\n };\n const undo = () => {\n this.allRawPaths.pop();\n this.paths.pop();\n this.bezierPath2D.pop();\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n this.#fitToContent();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n #drawPoints() {\n if (!this.#hasSomethingToDraw) {\n return;\n }\n this.#hasSomethingToDraw = false;\n const thickness = Math.ceil(this.thickness * this.parentScale);\n const lastPoints = this.currentPath.slice(-3);\n const x = lastPoints.map(xy => xy[0]);\n const y = lastPoints.map(xy => xy[1]);\n const xMin = Math.min(...x) - thickness;\n const xMax = Math.max(...x) + thickness;\n const yMin = Math.min(...y) - thickness;\n const yMax = Math.max(...y) + thickness;\n const {\n ctx\n } = this;\n ctx.save();\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n ctx.stroke(this.#currentPath2D);\n ctx.restore();\n }\n #makeBezierCurve(path2D, x0, y0, x1, y1, x2, y2) {\n const prevX = (x0 + x1) / 2;\n const prevY = (y0 + y1) / 2;\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n path2D.bezierCurveTo(prevX + 2 * (x1 - prevX) / 3, prevY + 2 * (y1 - prevY) / 3, x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3, x3, y3);\n }\n #generateBezierPoints() {\n const path = this.currentPath;\n if (path.length <= 2) {\n return [[path[0], path[0], path.at(-1), path.at(-1)]];\n }\n const bezierPoints = [];\n let i;\n let [x0, y0] = path[0];\n for (i = 1; i < path.length - 2; i++) {\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x3, y3]]);\n [x0, y0] = [x3, y3];\n }\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x2 + 2 * (x1 - x2) / 3, y2 + 2 * (y1 - y2) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x2, y2]]);\n return bezierPoints;\n }\n #redraw() {\n if (this.isEmpty()) {\n this.#updateTransform();\n return;\n }\n this.#setStroke();\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n this.#updateTransform();\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n }\n commit() {\n if (this.#disableEditing) {\n return;\n }\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n this.#disableEditing = true;\n this.div.classList.add(\"disabled\");\n this.#fitToContent(true);\n this.select();\n this.parent.addInkEditorIfNeeded(true);\n this.moveInDOM();\n this.div.focus({\n preventScroll: true\n });\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n this.enableEditMode();\n }\n #addPointerdownListener() {\n if (this.#pointerdownAC) {\n return;\n }\n this.#pointerdownAC = new AbortController();\n const signal = this._uiManager.combinedSignal(this.#pointerdownAC);\n this.canvas.addEventListener(\"pointerdown\", this.canvasPointerdown.bind(this), {\n signal\n });\n }\n #removePointerdownListener() {\n this.pointerdownAC?.abort();\n this.pointerdownAC = null;\n }\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {\n return;\n }\n this.setInForeground();\n event.preventDefault();\n if (!this.div.contains(document.activeElement)) {\n this.div.focus({\n preventScroll: true\n });\n }\n this.#startDrawing(event.offsetX, event.offsetY);\n }\n canvasPointermove(event) {\n event.preventDefault();\n this.#draw(event.offsetX, event.offsetY);\n }\n canvasPointerup(event) {\n event.preventDefault();\n this.#endDrawing(event);\n }\n canvasPointerleave(event) {\n this.#endDrawing(event);\n }\n #endDrawing(event) {\n this.#drawingAC?.abort();\n this.#drawingAC = null;\n this.#addPointerdownListener();\n if (this.#canvasContextMenuTimeoutId) {\n clearTimeout(this.#canvasContextMenuTimeoutId);\n }\n this.#canvasContextMenuTimeoutId = setTimeout(() => {\n this.#canvasContextMenuTimeoutId = null;\n this.canvas.removeEventListener(\"contextmenu\", noContextMenu);\n }, 10);\n this.#stopDrawing(event.offsetX, event.offsetY);\n this.addToAnnotationStorage();\n this.setInBackground();\n }\n #createCanvas() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n this.canvas.setAttribute(\"data-l10n-id\", \"pdfjs-ink-canvas\");\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n this._uiManager._signal.addEventListener(\"abort\", () => {\n this.#observer?.disconnect();\n this.#observer = null;\n }, {\n once: true\n });\n }\n get isResizable() {\n return !this.isEmpty() && this.#disableEditing;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.div.setAttribute(\"data-l10n-id\", \"pdfjs-ink\");\n const [x, y, w, h] = this.#getInitialBBox();\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n this.#createCanvas();\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAspectRatio(this.width * parentWidth, this.height * parentHeight);\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n this.#redraw();\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n this.#createObserver();\n return this.div;\n }\n #setCanvasDims() {\n if (!this.#isCanvasInitialized) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n this.#updateTransform();\n }\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {\n return;\n }\n this.#realWidth = roundedWidth;\n this.#realHeight = roundedHeight;\n this.canvas.style.visibility = \"hidden\";\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.fixAndSetPosition();\n if (this.#disableEditing) {\n this.#setScaleFactor(width, height);\n }\n this.#setCanvasDims();\n this.#redraw();\n this.canvas.style.visibility = \"visible\";\n this.fixDims();\n }\n #setScaleFactor(width, height) {\n const padding = this.#getPadding();\n const scaleFactorW = (width - padding) / this.#baseWidth;\n const scaleFactorH = (height - padding) / this.#baseHeight;\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n }\n #updateTransform() {\n const padding = this.#getPadding() / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n }\n static #buildPath2D(bezier) {\n const path2D = new Path2D();\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n if (i === 0) {\n path2D.moveTo(...first);\n }\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n return path2D;\n }\n static #toPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] += blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] + blX;\n points[i + 1] = x + blY;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] += blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trX - points[i + 1];\n points[i + 1] = trY - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n static #fromPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] -= blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] - blY;\n points[i + 1] = x - blX;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] -= blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trY - points[i + 1];\n points[i + 1] = trX - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n #serializePaths(s, tx, ty, rect) {\n const paths = [];\n const padding = this.thickness / 2;\n const shiftX = s * tx + padding;\n const shiftY = s * ty + padding;\n for (const bezier of this.paths) {\n const buffer = [];\n const points = [];\n for (let j = 0, jj = bezier.length; j < jj; j++) {\n const [first, control1, control2, second] = bezier[j];\n if (first[0] === second[0] && first[1] === second[1] && jj === 1) {\n const p0 = s * first[0] + shiftX;\n const p1 = s * first[1] + shiftY;\n buffer.push(p0, p1);\n points.push(p0, p1);\n break;\n }\n const p10 = s * first[0] + shiftX;\n const p11 = s * first[1] + shiftY;\n const p20 = s * control1[0] + shiftX;\n const p21 = s * control1[1] + shiftY;\n const p30 = s * control2[0] + shiftX;\n const p31 = s * control2[1] + shiftY;\n const p40 = s * second[0] + shiftX;\n const p41 = s * second[1] + shiftY;\n if (j === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n buffer.push(p20, p21, p30, p31, p40, p41);\n points.push(p20, p21);\n if (j === jj - 1) {\n points.push(p40, p41);\n }\n }\n paths.push({\n bezier: InkEditor.#toPDFCoordinates(buffer, rect, this.rotation),\n points: InkEditor.#toPDFCoordinates(points, rect, this.rotation)\n });\n }\n return paths;\n }\n #getBbox() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n return [xMin, yMin, xMax, yMax];\n }\n #getPadding() {\n return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0;\n }\n #fitToContent(firstTime = false) {\n if (this.isEmpty()) {\n return;\n }\n if (!this.#disableEditing) {\n this.#redraw();\n return;\n }\n const bbox = this.#getBbox();\n const padding = this.#getPadding();\n this.#baseWidth = Math.max(AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n this.#baseHeight = Math.max(AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);\n const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.setAspectRatio(width, height);\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n this.#setCanvasDims();\n this.#redraw();\n this.#realWidth = width;\n this.#realHeight = height;\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n }\n static async deserialize(data, parent, uiManager) {\n if (data instanceof InkAnnotationElement) {\n return null;\n }\n const editor = await super.deserialize(data, parent, uiManager);\n editor.thickness = data.thickness;\n editor.color = Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = editor.parentScale;\n const padding = data.thickness / 2;\n editor.#disableEditing = true;\n editor.#realWidth = Math.round(width);\n editor.#realHeight = Math.round(height);\n const {\n paths,\n rect,\n rotation\n } = data;\n for (let {\n bezier\n } of paths) {\n bezier = InkEditor.#fromPDFCoordinates(bezier, rect, rotation);\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (bezier[1] - padding);\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n const path2D = this.#buildPath2D(path);\n editor.bezierPath2D.push(path2D);\n }\n const bbox = editor.#getBbox();\n editor.#baseWidth = Math.max(AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n editor.#baseHeight = Math.max(AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n editor.#setScaleFactor(width, height);\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const rect = this.getRect(0, 0);\n const color = AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n return {\n annotationType: AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, rect),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n }\n}\n\n;// ./src/display/editor/stamp.js\n\n\n\n\nclass StampEditor extends AnnotationEditor {\n #bitmap = null;\n #bitmapId = null;\n #bitmapPromise = null;\n #bitmapUrl = null;\n #bitmapFile = null;\n #bitmapFileName = \"\";\n #canvas = null;\n #observer = null;\n #resizeTimeoutId = null;\n #isSvg = false;\n #hasBeenAddedInUndoStack = false;\n static _type = \"stamp\";\n static _editorType = AnnotationEditorType.STAMP;\n constructor(params) {\n super({\n ...params,\n name: \"stampEditor\"\n });\n this.#bitmapUrl = params.bitmapUrl;\n this.#bitmapFile = params.bitmapFile;\n }\n static initialize(l10n, uiManager) {\n AnnotationEditor.initialize(l10n, uiManager);\n }\n static get supportedTypes() {\n const types = [\"apng\", \"avif\", \"bmp\", \"gif\", \"jpeg\", \"png\", \"svg+xml\", \"webp\", \"x-icon\"];\n return shadow(this, \"supportedTypes\", types.map(type => `image/${type}`));\n }\n static get supportedTypesStr() {\n return shadow(this, \"supportedTypesStr\", this.supportedTypes.join(\",\"));\n }\n static isHandlingMimeForPasting(mime) {\n return this.supportedTypes.includes(mime);\n }\n static paste(item, parent) {\n parent.pasteEditor(AnnotationEditorType.STAMP, {\n bitmapFile: item.getAsFile()\n });\n }\n altTextFinish() {\n if (this._uiManager.useNewAltTextFlow) {\n this.div.hidden = false;\n }\n super.altTextFinish();\n }\n get telemetryFinalData() {\n return {\n type: \"stamp\",\n hasAltText: !!this.altTextData?.altText\n };\n }\n static computeTelemetryFinalData(data) {\n const hasAltTextStats = data.get(\"hasAltText\");\n return {\n hasAltText: hasAltTextStats.get(true) ?? 0,\n hasNoAltText: hasAltTextStats.get(false) ?? 0\n };\n }\n #getBitmapFetched(data, fromId = false) {\n if (!data) {\n this.remove();\n return;\n }\n this.#bitmap = data.bitmap;\n if (!fromId) {\n this.#bitmapId = data.id;\n this.#isSvg = data.isSvg;\n }\n if (data.file) {\n this.#bitmapFileName = data.file.name;\n }\n this.#createCanvas();\n }\n #getBitmapDone() {\n this.#bitmapPromise = null;\n this._uiManager.enableWaiting(false);\n if (!this.#canvas) {\n return;\n }\n if (this._uiManager.useNewAltTextWhenAddingImage && this._uiManager.useNewAltTextFlow && this.#bitmap) {\n this._editToolbar.hide();\n this._uiManager.editAltText(this, true);\n return;\n }\n if (!this._uiManager.useNewAltTextWhenAddingImage && this._uiManager.useNewAltTextFlow && this.#bitmap) {\n this._reportTelemetry({\n action: \"pdfjs.image.image_added\",\n data: {\n alt_text_modal: false,\n alt_text_type: \"empty\"\n }\n });\n try {\n this.mlGuessAltText();\n } catch {}\n }\n this.div.focus();\n }\n async mlGuessAltText(imageData = null, updateAltTextData = true) {\n if (this.hasAltTextData()) {\n return null;\n }\n const {\n mlManager\n } = this._uiManager;\n if (!mlManager) {\n throw new Error(\"No ML.\");\n }\n if (!(await mlManager.isEnabledFor(\"altText\"))) {\n throw new Error(\"ML isn't enabled for alt text.\");\n }\n const {\n data,\n width,\n height\n } = imageData || this.copyCanvas(null, null, true).imageData;\n const response = await mlManager.guess({\n name: \"altText\",\n request: {\n data,\n width,\n height,\n channels: data.length / (width * height)\n }\n });\n if (!response) {\n throw new Error(\"No response from the AI service.\");\n }\n if (response.error) {\n throw new Error(\"Error from the AI service.\");\n }\n if (response.cancel) {\n return null;\n }\n if (!response.output) {\n throw new Error(\"No valid response from the AI service.\");\n }\n const altText = response.output;\n await this.setGuessedAltText(altText);\n if (updateAltTextData && !this.hasAltTextData()) {\n this.altTextData = {\n alt: altText,\n decorative: false\n };\n }\n return altText;\n }\n #getBitmap() {\n if (this.#bitmapId) {\n this._uiManager.enableWaiting(true);\n this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => this.#getBitmapFetched(data, true)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapUrl) {\n const url = this.#bitmapUrl;\n this.#bitmapUrl = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapFile) {\n const file = this.#bitmapFile;\n this.#bitmapFile = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromFile(file).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.accept = StampEditor.supportedTypesStr;\n const signal = this._uiManager._signal;\n this.#bitmapPromise = new Promise(resolve => {\n input.addEventListener(\"change\", async () => {\n if (!input.files || input.files.length === 0) {\n this.remove();\n } else {\n this._uiManager.enableWaiting(true);\n const data = await this._uiManager.imageManager.getFromFile(input.files[0]);\n this._reportTelemetry({\n action: \"pdfjs.image.image_selected\",\n data: {\n alt_text_modal: this._uiManager.useNewAltTextFlow\n }\n });\n this.#getBitmapFetched(data);\n }\n resolve();\n }, {\n signal\n });\n input.addEventListener(\"cancel\", () => {\n this.remove();\n resolve();\n }, {\n signal\n });\n }).finally(() => this.#getBitmapDone());\n input.click();\n }\n remove() {\n if (this.#bitmapId) {\n this.#bitmap = null;\n this._uiManager.imageManager.deleteId(this.#bitmapId);\n this.#canvas?.remove();\n this.#canvas = null;\n this.#observer?.disconnect();\n this.#observer = null;\n if (this.#resizeTimeoutId) {\n clearTimeout(this.#resizeTimeoutId);\n this.#resizeTimeoutId = null;\n }\n }\n super.remove();\n }\n rebuild() {\n if (!this.parent) {\n if (this.#bitmapId) {\n this.#getBitmap();\n }\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (this.#bitmapId && this.#canvas === null) {\n this.#getBitmap();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n onceAdded() {\n this._isDraggable = true;\n this.div.focus();\n }\n isEmpty() {\n return !(this.#bitmapPromise || this.#bitmap || this.#bitmapUrl || this.#bitmapFile || this.#bitmapId);\n }\n get isResizable() {\n return true;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.div.hidden = true;\n this.div.setAttribute(\"role\", \"figure\");\n this.addAltTextButton();\n if (this.#bitmap) {\n this.#createCanvas();\n } else {\n this.#getBitmap();\n }\n if (this.width && !this.annotationElementId) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n return this.div;\n }\n #createCanvas() {\n const {\n div\n } = this;\n let {\n width,\n height\n } = this.#bitmap;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const MAX_RATIO = 0.75;\n if (this.width) {\n width = this.width * pageWidth;\n height = this.height * pageHeight;\n } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) {\n const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height);\n width *= factor;\n height *= factor;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(width * parentWidth / pageWidth, height * parentHeight / pageHeight);\n this._uiManager.enableWaiting(false);\n const canvas = this.#canvas = document.createElement(\"canvas\");\n canvas.setAttribute(\"role\", \"img\");\n this.addContainer(canvas);\n if (!this._uiManager.useNewAltTextWhenAddingImage || !this._uiManager.useNewAltTextFlow || this.annotationElementId) {\n div.hidden = false;\n }\n this.#drawBitmap(width, height);\n this.#createObserver();\n if (!this.#hasBeenAddedInUndoStack) {\n this.parent.addUndoableEditor(this);\n this.#hasBeenAddedInUndoStack = true;\n }\n this._reportTelemetry({\n action: \"inserted_image\"\n });\n if (this.#bitmapFileName) {\n canvas.setAttribute(\"aria-label\", this.#bitmapFileName);\n }\n }\n copyCanvas(maxDataDimension, maxPreviewDimension, createImageData = false) {\n if (!maxDataDimension) {\n maxDataDimension = 224;\n }\n const {\n width: bitmapWidth,\n height: bitmapHeight\n } = this.#bitmap;\n const outputScale = new OutputScale();\n let bitmap = this.#bitmap;\n let width = bitmapWidth,\n height = bitmapHeight;\n let canvas = null;\n if (maxPreviewDimension) {\n if (bitmapWidth > maxPreviewDimension || bitmapHeight > maxPreviewDimension) {\n const ratio = Math.min(maxPreviewDimension / bitmapWidth, maxPreviewDimension / bitmapHeight);\n width = Math.floor(bitmapWidth * ratio);\n height = Math.floor(bitmapHeight * ratio);\n }\n canvas = document.createElement(\"canvas\");\n const scaledWidth = canvas.width = Math.ceil(width * outputScale.sx);\n const scaledHeight = canvas.height = Math.ceil(height * outputScale.sy);\n if (!this.#isSvg) {\n bitmap = this.#scaleBitmap(scaledWidth, scaledHeight);\n }\n const ctx = canvas.getContext(\"2d\");\n ctx.filter = this._uiManager.hcmFilter;\n let white = \"white\",\n black = \"#cfcfd8\";\n if (this._uiManager.hcmFilter !== \"none\") {\n black = \"black\";\n } else if (window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches) {\n white = \"#8f8f9d\";\n black = \"#42414d\";\n }\n const boxDim = 15;\n const boxDimWidth = boxDim * outputScale.sx;\n const boxDimHeight = boxDim * outputScale.sy;\n const pattern = new OffscreenCanvas(boxDimWidth * 2, boxDimHeight * 2);\n const patternCtx = pattern.getContext(\"2d\");\n patternCtx.fillStyle = white;\n patternCtx.fillRect(0, 0, boxDimWidth * 2, boxDimHeight * 2);\n patternCtx.fillStyle = black;\n patternCtx.fillRect(0, 0, boxDimWidth, boxDimHeight);\n patternCtx.fillRect(boxDimWidth, boxDimHeight, boxDimWidth, boxDimHeight);\n ctx.fillStyle = ctx.createPattern(pattern, \"repeat\");\n ctx.fillRect(0, 0, scaledWidth, scaledHeight);\n ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, scaledWidth, scaledHeight);\n }\n let imageData = null;\n if (createImageData) {\n let dataWidth, dataHeight;\n if (outputScale.symmetric && bitmap.width < maxDataDimension && bitmap.height < maxDataDimension) {\n dataWidth = bitmap.width;\n dataHeight = bitmap.height;\n } else {\n bitmap = this.#bitmap;\n if (bitmapWidth > maxDataDimension || bitmapHeight > maxDataDimension) {\n const ratio = Math.min(maxDataDimension / bitmapWidth, maxDataDimension / bitmapHeight);\n dataWidth = Math.floor(bitmapWidth * ratio);\n dataHeight = Math.floor(bitmapHeight * ratio);\n if (!this.#isSvg) {\n bitmap = this.#scaleBitmap(dataWidth, dataHeight);\n }\n }\n }\n const offscreen = new OffscreenCanvas(dataWidth, dataHeight);\n const offscreenCtx = offscreen.getContext(\"2d\", {\n willReadFrequently: true\n });\n offscreenCtx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, dataWidth, dataHeight);\n imageData = {\n width: dataWidth,\n height: dataHeight,\n data: offscreenCtx.getImageData(0, 0, dataWidth, dataHeight).data\n };\n }\n return {\n canvas,\n width,\n height,\n imageData\n };\n }\n #setDimensions(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n if (this._initialOptions?.isCentered) {\n this.center();\n } else {\n this.fixAndSetPosition();\n }\n this._initialOptions = null;\n if (this.#resizeTimeoutId !== null) {\n clearTimeout(this.#resizeTimeoutId);\n }\n const TIME_TO_WAIT = 200;\n this.#resizeTimeoutId = setTimeout(() => {\n this.#resizeTimeoutId = null;\n this.#drawBitmap(width, height);\n }, TIME_TO_WAIT);\n }\n #scaleBitmap(width, height) {\n const {\n width: bitmapWidth,\n height: bitmapHeight\n } = this.#bitmap;\n let newWidth = bitmapWidth;\n let newHeight = bitmapHeight;\n let bitmap = this.#bitmap;\n while (newWidth > 2 * width || newHeight > 2 * height) {\n const prevWidth = newWidth;\n const prevHeight = newHeight;\n if (newWidth > 2 * width) {\n newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2);\n }\n if (newHeight > 2 * height) {\n newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2);\n }\n const offscreen = new OffscreenCanvas(newWidth, newHeight);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight);\n bitmap = offscreen.transferToImageBitmap();\n }\n return bitmap;\n }\n #drawBitmap(width, height) {\n const outputScale = new OutputScale();\n const scaledWidth = Math.ceil(width * outputScale.sx);\n const scaledHeight = Math.ceil(height * outputScale.sy);\n const canvas = this.#canvas;\n if (!canvas || canvas.width === scaledWidth && canvas.height === scaledHeight) {\n return;\n }\n canvas.width = scaledWidth;\n canvas.height = scaledHeight;\n const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(scaledWidth, scaledHeight);\n const ctx = canvas.getContext(\"2d\");\n ctx.filter = this._uiManager.hcmFilter;\n ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, scaledWidth, scaledHeight);\n }\n getImageForAltText() {\n return this.#canvas;\n }\n #serializeBitmap(toUrl) {\n if (toUrl) {\n if (this.#isSvg) {\n const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId);\n if (url) {\n return url;\n }\n }\n const canvas = document.createElement(\"canvas\");\n ({\n width: canvas.width,\n height: canvas.height\n } = this.#bitmap);\n const ctx = canvas.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0);\n return canvas.toDataURL();\n }\n if (this.#isSvg) {\n const [pageWidth, pageHeight] = this.pageDimensions;\n const width = Math.round(this.width * pageWidth * PixelsPerInch.PDF_TO_CSS_UNITS);\n const height = Math.round(this.height * pageHeight * PixelsPerInch.PDF_TO_CSS_UNITS);\n const offscreen = new OffscreenCanvas(width, height);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height);\n return offscreen.transferToImageBitmap();\n }\n return structuredClone(this.#bitmap);\n }\n #createObserver() {\n if (!this._uiManager._signal) {\n return;\n }\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.#setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n this._uiManager._signal.addEventListener(\"abort\", () => {\n this.#observer?.disconnect();\n this.#observer = null;\n }, {\n once: true\n });\n }\n static async deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof StampAnnotationElement) {\n const {\n data: {\n rect,\n rotation,\n id,\n structParent,\n popupRef\n },\n container,\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n const canvas = container.querySelector(\"canvas\");\n const imageData = uiManager.imageManager.getFromCanvas(container.id, canvas);\n canvas.remove();\n const altText = (await parent._structTree.getAriaAttributes(`${AnnotationPrefix}${id}`))?.get(\"aria-label\") || \"\";\n initialData = data = {\n annotationType: AnnotationEditorType.STAMP,\n bitmapId: imageData.id,\n bitmap: imageData.bitmap,\n pageIndex: pageNumber - 1,\n rect: rect.slice(0),\n rotation,\n id,\n deleted: false,\n accessibilityData: {\n decorative: false,\n altText\n },\n isSvg: false,\n structParent,\n popupRef\n };\n }\n const editor = await super.deserialize(data, parent, uiManager);\n const {\n rect,\n bitmap,\n bitmapUrl,\n bitmapId,\n isSvg,\n accessibilityData\n } = data;\n if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) {\n editor.#bitmapId = bitmapId;\n if (bitmap) {\n editor.#bitmap = bitmap;\n }\n } else {\n editor.#bitmapUrl = bitmapUrl;\n }\n editor.#isSvg = isSvg;\n const [parentWidth, parentHeight] = editor.pageDimensions;\n editor.width = (rect[2] - rect[0]) / parentWidth;\n editor.height = (rect[3] - rect[1]) / parentHeight;\n editor.annotationElementId = data.id || null;\n if (accessibilityData) {\n editor.altTextData = accessibilityData;\n }\n editor._initialData = initialData;\n editor.#hasBeenAddedInUndoStack = !!initialData;\n return editor;\n }\n serialize(isForCopying = false, context = null) {\n if (this.isEmpty()) {\n return null;\n }\n if (this.deleted) {\n return this.serializeDeleted();\n }\n const serialized = {\n annotationType: AnnotationEditorType.STAMP,\n bitmapId: this.#bitmapId,\n pageIndex: this.pageIndex,\n rect: this.getRect(0, 0),\n rotation: this.rotation,\n isSvg: this.#isSvg,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n serialized.bitmapUrl = this.#serializeBitmap(true);\n serialized.accessibilityData = this.serializeAltText(true);\n return serialized;\n }\n const {\n decorative,\n altText\n } = this.serializeAltText(false);\n if (!decorative && altText) {\n serialized.accessibilityData = {\n type: \"Figure\",\n alt: altText\n };\n }\n if (this.annotationElementId) {\n const changes = this.#hasElementChanged(serialized);\n if (changes.isSame) {\n return null;\n }\n if (changes.isSameAltText) {\n delete serialized.accessibilityData;\n } else {\n serialized.accessibilityData.structParent = this._initialData.structParent ?? -1;\n }\n }\n serialized.id = this.annotationElementId;\n if (context === null) {\n return serialized;\n }\n context.stamps ||= new Map();\n const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null;\n if (!context.stamps.has(this.#bitmapId)) {\n context.stamps.set(this.#bitmapId, {\n area,\n serialized\n });\n serialized.bitmap = this.#serializeBitmap(false);\n } else if (this.#isSvg) {\n const prevData = context.stamps.get(this.#bitmapId);\n if (area > prevData.area) {\n prevData.area = area;\n prevData.serialized.bitmap.close();\n prevData.serialized.bitmap = this.#serializeBitmap(false);\n }\n }\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n rect,\n pageIndex,\n accessibilityData: {\n altText\n }\n } = this._initialData;\n const isSameRect = serialized.rect.every((x, i) => Math.abs(x - rect[i]) < 1);\n const isSamePageIndex = serialized.pageIndex === pageIndex;\n const isSameAltText = (serialized.accessibilityData?.alt || \"\") === altText;\n return {\n isSame: isSameRect && isSamePageIndex && isSameAltText,\n isSameAltText\n };\n }\n renderAnnotationElement(annotation) {\n annotation.updateEdited({\n rect: this.getRect(0, 0)\n });\n return null;\n }\n}\n\n;// ./src/display/editor/annotation_editor_layer.js\n\n\n\n\n\n\n\nclass AnnotationEditorLayer {\n #accessibilityManager;\n #allowClick = false;\n #annotationLayer = null;\n #clickAC = null;\n #editorFocusTimeoutId = null;\n #editors = new Map();\n #hadPointerDown = false;\n #isCleaningUp = false;\n #isDisabling = false;\n #textLayer = null;\n #textSelectionAC = null;\n #uiManager;\n static _initialized = false;\n static #editorTypes = new Map([FreeTextEditor, InkEditor, StampEditor, HighlightEditor].map(type => [type._editorType, type]));\n constructor({\n uiManager,\n pageIndex,\n div,\n structTreeLayer,\n accessibilityManager,\n annotationLayer,\n drawLayer,\n textLayer,\n viewport,\n l10n\n }) {\n const editorTypes = [...AnnotationEditorLayer.#editorTypes.values()];\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n for (const editorType of editorTypes) {\n editorType.initialize(l10n, uiManager);\n }\n }\n uiManager.registerEditorTypes(editorTypes);\n this.#uiManager = uiManager;\n this.pageIndex = pageIndex;\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationLayer = annotationLayer;\n this.viewport = viewport;\n this.#textLayer = textLayer;\n this.drawLayer = drawLayer;\n this._structTree = structTreeLayer;\n this.#uiManager.addLayer(this);\n }\n get isEmpty() {\n return this.#editors.size === 0;\n }\n get isInvisible() {\n return this.isEmpty && this.#uiManager.getMode() === AnnotationEditorType.NONE;\n }\n updateToolbar(mode) {\n this.#uiManager.updateToolbar(mode);\n }\n updateMode(mode = this.#uiManager.getMode()) {\n this.#cleanup();\n switch (mode) {\n case AnnotationEditorType.NONE:\n this.disableTextSelection();\n this.togglePointerEvents(false);\n this.toggleAnnotationLayerPointerEvents(true);\n this.disableClick();\n return;\n case AnnotationEditorType.INK:\n this.addInkEditorIfNeeded(false);\n this.disableTextSelection();\n this.togglePointerEvents(true);\n this.disableClick();\n break;\n case AnnotationEditorType.HIGHLIGHT:\n this.enableTextSelection();\n this.togglePointerEvents(false);\n this.disableClick();\n break;\n default:\n this.disableTextSelection();\n this.togglePointerEvents(true);\n this.enableClick();\n }\n this.toggleAnnotationLayerPointerEvents(false);\n const {\n classList\n } = this.div;\n for (const editorType of AnnotationEditorLayer.#editorTypes.values()) {\n classList.toggle(`${editorType._type}Editing`, mode === editorType._editorType);\n }\n this.div.hidden = false;\n }\n hasTextLayer(textLayer) {\n return textLayer === this.#textLayer?.div;\n }\n addInkEditorIfNeeded(isCommitting) {\n if (this.#uiManager.getMode() !== AnnotationEditorType.INK) {\n return;\n }\n if (!isCommitting) {\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n const editor = this.createAndAddNewEditor({\n offsetX: 0,\n offsetY: 0\n }, false);\n editor.setInBackground();\n }\n setEditingState(isEditing) {\n this.#uiManager.setEditingState(isEditing);\n }\n addCommands(params) {\n this.#uiManager.addCommands(params);\n }\n toggleDrawing(enabled = false) {\n this.div.classList.toggle(\"drawing\", !enabled);\n }\n togglePointerEvents(enabled = false) {\n this.div.classList.toggle(\"disabled\", !enabled);\n }\n toggleAnnotationLayerPointerEvents(enabled = false) {\n this.#annotationLayer?.div.classList.toggle(\"disabled\", !enabled);\n }\n async enable() {\n this.div.tabIndex = 0;\n this.togglePointerEvents(true);\n const annotationElementIds = new Set();\n for (const editor of this.#editors.values()) {\n editor.enableEditing();\n editor.show(true);\n if (editor.annotationElementId) {\n this.#uiManager.removeChangedExistingAnnotation(editor);\n annotationElementIds.add(editor.annotationElementId);\n }\n }\n if (!this.#annotationLayer) {\n return;\n }\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n editable.hide();\n if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) {\n continue;\n }\n if (annotationElementIds.has(editable.data.id)) {\n continue;\n }\n const editor = await this.deserialize(editable);\n if (!editor) {\n continue;\n }\n this.addOrRebuild(editor);\n editor.enableEditing();\n }\n }\n disable() {\n this.#isDisabling = true;\n this.div.tabIndex = -1;\n this.togglePointerEvents(false);\n const changedAnnotations = new Map();\n const resetAnnotations = new Map();\n for (const editor of this.#editors.values()) {\n editor.disableEditing();\n if (!editor.annotationElementId) {\n continue;\n }\n if (editor.serialize() !== null) {\n changedAnnotations.set(editor.annotationElementId, editor);\n continue;\n } else {\n resetAnnotations.set(editor.annotationElementId, editor);\n }\n this.getEditableAnnotation(editor.annotationElementId)?.show();\n editor.remove();\n }\n if (this.#annotationLayer) {\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n const {\n id\n } = editable.data;\n if (this.#uiManager.isDeletedAnnotationElement(id)) {\n continue;\n }\n let editor = resetAnnotations.get(id);\n if (editor) {\n editor.resetAnnotationElement(editable);\n editor.show(false);\n editable.show();\n continue;\n }\n editor = changedAnnotations.get(id);\n if (editor) {\n this.#uiManager.addChangedExistingAnnotation(editor);\n if (editor.renderAnnotationElement(editable)) {\n editor.show(false);\n }\n }\n editable.show();\n }\n }\n this.#cleanup();\n if (this.isEmpty) {\n this.div.hidden = true;\n }\n const {\n classList\n } = this.div;\n for (const editorType of AnnotationEditorLayer.#editorTypes.values()) {\n classList.remove(`${editorType._type}Editing`);\n }\n this.disableTextSelection();\n this.toggleAnnotationLayerPointerEvents(true);\n this.#isDisabling = false;\n }\n getEditableAnnotation(id) {\n return this.#annotationLayer?.getEditableAnnotation(id) || null;\n }\n setActiveEditor(editor) {\n const currentActive = this.#uiManager.getActive();\n if (currentActive === editor) {\n return;\n }\n this.#uiManager.setActiveEditor(editor);\n }\n enableTextSelection() {\n this.div.tabIndex = -1;\n if (this.#textLayer?.div && !this.#textSelectionAC) {\n this.#textSelectionAC = new AbortController();\n const signal = this.#uiManager.combinedSignal(this.#textSelectionAC);\n this.#textLayer.div.addEventListener(\"pointerdown\", this.#textLayerPointerDown.bind(this), {\n signal\n });\n this.#textLayer.div.classList.add(\"highlighting\");\n }\n }\n disableTextSelection() {\n this.div.tabIndex = 0;\n if (this.#textLayer?.div && this.#textSelectionAC) {\n this.#textSelectionAC.abort();\n this.#textSelectionAC = null;\n this.#textLayer.div.classList.remove(\"highlighting\");\n }\n }\n #textLayerPointerDown(event) {\n this.#uiManager.unselectAll();\n const {\n target\n } = event;\n if (target === this.#textLayer.div || (target.getAttribute(\"role\") === \"img\" || target.classList.contains(\"endOfContent\")) && this.#textLayer.div.contains(target)) {\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n this.#uiManager.showAllEditors(\"highlight\", true, true);\n this.#textLayer.div.classList.add(\"free\");\n this.toggleDrawing();\n HighlightEditor.startHighlighting(this, this.#uiManager.direction === \"ltr\", {\n target: this.#textLayer.div,\n x: event.x,\n y: event.y\n });\n this.#textLayer.div.addEventListener(\"pointerup\", () => {\n this.#textLayer.div.classList.remove(\"free\");\n this.toggleDrawing(true);\n }, {\n once: true,\n signal: this.#uiManager._signal\n });\n event.preventDefault();\n }\n }\n enableClick() {\n if (this.#clickAC) {\n return;\n }\n this.#clickAC = new AbortController();\n const signal = this.#uiManager.combinedSignal(this.#clickAC);\n this.div.addEventListener(\"pointerdown\", this.pointerdown.bind(this), {\n signal\n });\n this.div.addEventListener(\"pointerup\", this.pointerup.bind(this), {\n signal\n });\n }\n disableClick() {\n this.#clickAC?.abort();\n this.#clickAC = null;\n }\n attach(editor) {\n this.#editors.set(editor.id, editor);\n const {\n annotationElementId\n } = editor;\n if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) {\n this.#uiManager.removeDeletedAnnotationElement(editor);\n }\n }\n detach(editor) {\n this.#editors.delete(editor.id);\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n if (!this.#isDisabling && editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor);\n }\n }\n remove(editor) {\n this.detach(editor);\n this.#uiManager.removeEditor(editor);\n editor.div.remove();\n editor.isAttachedToDOM = false;\n if (!this.#isCleaningUp) {\n this.addInkEditorIfNeeded(false);\n }\n }\n changeParent(editor) {\n if (editor.parent === this) {\n return;\n }\n if (editor.parent && editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor.annotationElementId);\n AnnotationEditor.deleteAnnotationElement(editor);\n editor.annotationElementId = null;\n }\n this.attach(editor);\n editor.parent?.detach(editor);\n editor.setParent(this);\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n }\n add(editor) {\n if (editor.parent === this && editor.isAttachedToDOM) {\n return;\n }\n this.changeParent(editor);\n this.#uiManager.addEditor(editor);\n this.attach(editor);\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n editor.fixAndSetPosition();\n editor.onceAdded();\n this.#uiManager.addToAnnotationStorage(editor);\n editor._reportTelemetry(editor.telemetryInitialData);\n }\n moveEditorInDOM(editor) {\n if (!editor.isAttachedToDOM) {\n return;\n }\n const {\n activeElement\n } = document;\n if (editor.div.contains(activeElement) && !this.#editorFocusTimeoutId) {\n editor._focusEventsAllowed = false;\n this.#editorFocusTimeoutId = setTimeout(() => {\n this.#editorFocusTimeoutId = null;\n if (!editor.div.contains(document.activeElement)) {\n editor.div.addEventListener(\"focusin\", () => {\n editor._focusEventsAllowed = true;\n }, {\n once: true,\n signal: this.#uiManager._signal\n });\n activeElement.focus();\n } else {\n editor._focusEventsAllowed = true;\n }\n }, 0);\n }\n editor._structTreeParentId = this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);\n }\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.parent ||= this;\n editor.rebuild();\n editor.show();\n } else {\n this.add(editor);\n }\n }\n addUndoableEditor(editor) {\n const cmd = () => editor._uiManager.rebuild(editor);\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n getNextId() {\n return this.#uiManager.getId();\n }\n get #currentEditorType() {\n return AnnotationEditorLayer.#editorTypes.get(this.#uiManager.getMode());\n }\n combinedSignal(ac) {\n return this.#uiManager.combinedSignal(ac);\n }\n #createNewEditor(params) {\n const editorType = this.#currentEditorType;\n return editorType ? new editorType.prototype.constructor(params) : null;\n }\n canCreateNewEmptyEditor() {\n return this.#currentEditorType?.canCreateNewEmptyEditor();\n }\n pasteEditor(mode, params) {\n this.#uiManager.updateToolbar(mode);\n this.#uiManager.updateMode(mode);\n const {\n offsetX,\n offsetY\n } = this.#getCenterPoint();\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: offsetX,\n y: offsetY,\n uiManager: this.#uiManager,\n isCentered: true,\n ...params\n });\n if (editor) {\n this.add(editor);\n }\n }\n async deserialize(data) {\n return (await AnnotationEditorLayer.#editorTypes.get(data.annotationType ?? data.annotationEditorType)?.deserialize(data, this, this.#uiManager)) || null;\n }\n createAndAddNewEditor(event, isCentered, data = {}) {\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY,\n uiManager: this.#uiManager,\n isCentered,\n ...data\n });\n if (editor) {\n this.add(editor);\n }\n return editor;\n }\n #getCenterPoint() {\n const {\n x,\n y,\n width,\n height\n } = this.div.getBoundingClientRect();\n const tlX = Math.max(0, x);\n const tlY = Math.max(0, y);\n const brX = Math.min(window.innerWidth, x + width);\n const brY = Math.min(window.innerHeight, y + height);\n const centerX = (tlX + brX) / 2 - x;\n const centerY = (tlY + brY) / 2 - y;\n const [offsetX, offsetY] = this.viewport.rotation % 180 === 0 ? [centerX, centerY] : [centerY, centerX];\n return {\n offsetX,\n offsetY\n };\n }\n addNewEditor() {\n this.createAndAddNewEditor(this.#getCenterPoint(), true);\n }\n setSelected(editor) {\n this.#uiManager.setSelected(editor);\n }\n toggleSelected(editor) {\n this.#uiManager.toggleSelected(editor);\n }\n unselect(editor) {\n this.#uiManager.unselect(editor);\n }\n pointerup(event) {\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n if (!this.#hadPointerDown) {\n return;\n }\n this.#hadPointerDown = false;\n if (!this.#allowClick) {\n this.#allowClick = true;\n return;\n }\n if (this.#uiManager.getMode() === AnnotationEditorType.STAMP) {\n this.#uiManager.unselectAll();\n return;\n }\n this.createAndAddNewEditor(event, false);\n }\n pointerdown(event) {\n if (this.#uiManager.getMode() === AnnotationEditorType.HIGHLIGHT) {\n this.enableTextSelection();\n }\n if (this.#hadPointerDown) {\n this.#hadPointerDown = false;\n return;\n }\n const {\n isMac\n } = util_FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n this.#hadPointerDown = true;\n const editor = this.#uiManager.getActive();\n this.#allowClick = !editor || editor.isEmpty();\n }\n findNewParent(editor, x, y) {\n const layer = this.#uiManager.findParent(x, y);\n if (layer === null || layer === this) {\n return false;\n }\n layer.changeParent(editor);\n return true;\n }\n destroy() {\n if (this.#uiManager.getActive()?.parent === this) {\n this.#uiManager.commitOrRemove();\n this.#uiManager.setActiveEditor(null);\n }\n if (this.#editorFocusTimeoutId) {\n clearTimeout(this.#editorFocusTimeoutId);\n this.#editorFocusTimeoutId = null;\n }\n for (const editor of this.#editors.values()) {\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n editor.setParent(null);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n }\n this.div = null;\n this.#editors.clear();\n this.#uiManager.removeLayer(this);\n }\n #cleanup() {\n this.#isCleaningUp = true;\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n this.#isCleaningUp = false;\n }\n render({\n viewport\n }) {\n this.viewport = viewport;\n setLayerDimensions(this.div, viewport);\n for (const editor of this.#uiManager.getEditors(this.pageIndex)) {\n this.add(editor);\n editor.rebuild();\n }\n this.updateMode();\n }\n update({\n viewport\n }) {\n this.#uiManager.commitOrRemove();\n this.#cleanup();\n const oldRotation = this.viewport.rotation;\n const rotation = viewport.rotation;\n this.viewport = viewport;\n setLayerDimensions(this.div, {\n rotation\n });\n if (oldRotation !== rotation) {\n for (const editor of this.#editors.values()) {\n editor.rotate(rotation);\n }\n }\n this.addInkEditorIfNeeded(false);\n }\n get pageDimensions() {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n return [pageWidth, pageHeight];\n }\n get scale() {\n return this.#uiManager.viewParameters.realScale;\n }\n}\n\n;// ./src/display/draw_layer.js\n\n\nclass DrawLayer {\n #parent = null;\n #id = 0;\n #mapping = new Map();\n #toUpdate = new Map();\n constructor({\n pageIndex\n }) {\n this.pageIndex = pageIndex;\n }\n setParent(parent) {\n if (!this.#parent) {\n this.#parent = parent;\n return;\n }\n if (this.#parent !== parent) {\n if (this.#mapping.size > 0) {\n for (const root of this.#mapping.values()) {\n root.remove();\n parent.append(root);\n }\n }\n this.#parent = parent;\n }\n }\n static get _svgFactory() {\n return shadow(this, \"_svgFactory\", new DOMSVGFactory());\n }\n static #setBox(element, {\n x = 0,\n y = 0,\n width = 1,\n height = 1\n } = {}) {\n const {\n style\n } = element;\n style.top = `${100 * y}%`;\n style.left = `${100 * x}%`;\n style.width = `${100 * width}%`;\n style.height = `${100 * height}%`;\n }\n #createSVG(box) {\n const svg = DrawLayer._svgFactory.create(1, 1, true);\n this.#parent.append(svg);\n svg.setAttribute(\"aria-hidden\", true);\n DrawLayer.#setBox(svg, box);\n return svg;\n }\n #createClipPath(defs, pathId) {\n const clipPath = DrawLayer._svgFactory.createElement(\"clipPath\");\n defs.append(clipPath);\n const clipPathId = `clip_${pathId}`;\n clipPath.setAttribute(\"id\", clipPathId);\n clipPath.setAttribute(\"clipPathUnits\", \"objectBoundingBox\");\n const clipPathUse = DrawLayer._svgFactory.createElement(\"use\");\n clipPath.append(clipPathUse);\n clipPathUse.setAttribute(\"href\", `#${pathId}`);\n clipPathUse.classList.add(\"clip\");\n return clipPathId;\n }\n draw(outlines, color, opacity, isPathUpdatable = false) {\n const id = this.#id++;\n const root = this.#createSVG(outlines.box);\n root.classList.add(...outlines.classNamesForDrawing);\n const defs = DrawLayer._svgFactory.createElement(\"defs\");\n root.append(defs);\n const path = DrawLayer._svgFactory.createElement(\"path\");\n defs.append(path);\n const pathId = `path_p${this.pageIndex}_${id}`;\n path.setAttribute(\"id\", pathId);\n path.setAttribute(\"d\", outlines.toSVGPath());\n if (isPathUpdatable) {\n this.#toUpdate.set(id, path);\n }\n const clipPathId = this.#createClipPath(defs, pathId);\n const use = DrawLayer._svgFactory.createElement(\"use\");\n root.append(use);\n root.setAttribute(\"fill\", color);\n root.setAttribute(\"fill-opacity\", opacity);\n use.setAttribute(\"href\", `#${pathId}`);\n this.#mapping.set(id, root);\n return {\n id,\n clipPathId: `url(#${clipPathId})`\n };\n }\n drawOutline(outlines) {\n const id = this.#id++;\n const root = this.#createSVG(outlines.box);\n root.classList.add(...outlines.classNamesForOutlining);\n const defs = DrawLayer._svgFactory.createElement(\"defs\");\n root.append(defs);\n const path = DrawLayer._svgFactory.createElement(\"path\");\n defs.append(path);\n const pathId = `path_p${this.pageIndex}_${id}`;\n path.setAttribute(\"id\", pathId);\n path.setAttribute(\"d\", outlines.toSVGPath());\n path.setAttribute(\"vector-effect\", \"non-scaling-stroke\");\n let maskId;\n if (outlines.mustRemoveSelfIntersections) {\n const mask = DrawLayer._svgFactory.createElement(\"mask\");\n defs.append(mask);\n maskId = `mask_p${this.pageIndex}_${id}`;\n mask.setAttribute(\"id\", maskId);\n mask.setAttribute(\"maskUnits\", \"objectBoundingBox\");\n const rect = DrawLayer._svgFactory.createElement(\"rect\");\n mask.append(rect);\n rect.setAttribute(\"width\", \"1\");\n rect.setAttribute(\"height\", \"1\");\n rect.setAttribute(\"fill\", \"white\");\n const use = DrawLayer._svgFactory.createElement(\"use\");\n mask.append(use);\n use.setAttribute(\"href\", `#${pathId}`);\n use.setAttribute(\"stroke\", \"none\");\n use.setAttribute(\"fill\", \"black\");\n use.setAttribute(\"fill-rule\", \"nonzero\");\n use.classList.add(\"mask\");\n }\n const use1 = DrawLayer._svgFactory.createElement(\"use\");\n root.append(use1);\n use1.setAttribute(\"href\", `#${pathId}`);\n if (maskId) {\n use1.setAttribute(\"mask\", `url(#${maskId})`);\n }\n const use2 = use1.cloneNode();\n root.append(use2);\n use1.classList.add(\"mainOutline\");\n use2.classList.add(\"secondaryOutline\");\n this.#mapping.set(id, root);\n return id;\n }\n finalizeLine(id, line) {\n const path = this.#toUpdate.get(id);\n this.#toUpdate.delete(id);\n this.updateBox(id, line.box);\n path.setAttribute(\"d\", line.toSVGPath());\n }\n updateLine(id, line) {\n const root = this.#mapping.get(id);\n const defs = root.firstChild;\n const path = defs.firstChild;\n path.setAttribute(\"d\", line.toSVGPath());\n }\n updatePath(id, line) {\n this.#toUpdate.get(id).setAttribute(\"d\", line.toSVGPath());\n }\n updateBox(id, box) {\n DrawLayer.#setBox(this.#mapping.get(id), box);\n }\n show(id, visible) {\n this.#mapping.get(id).classList.toggle(\"hidden\", !visible);\n }\n rotate(id, angle) {\n this.#mapping.get(id).setAttribute(\"data-main-rotation\", angle);\n }\n changeColor(id, color) {\n this.#mapping.get(id).setAttribute(\"fill\", color);\n }\n changeOpacity(id, opacity) {\n this.#mapping.get(id).setAttribute(\"fill-opacity\", opacity);\n }\n addClass(id, className) {\n this.#mapping.get(id).classList.add(className);\n }\n removeClass(id, className) {\n this.#mapping.get(id).classList.remove(className);\n }\n getSVGRoot(id) {\n return this.#mapping.get(id);\n }\n remove(id) {\n this.#toUpdate.delete(id);\n if (this.#parent === null) {\n return;\n }\n this.#mapping.get(id).remove();\n this.#mapping.delete(id);\n }\n destroy() {\n this.#parent = null;\n for (const root of this.#mapping.values()) {\n root.remove();\n }\n this.#mapping.clear();\n this.#toUpdate.clear();\n }\n}\n\n;// ./src/pdf.js\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst pdfjsVersion = \"4.8.69\";\nconst pdfjsBuild = \"3634dab10\";\n\nvar __webpack_exports__AbortException = __webpack_exports__.AbortException;\nvar __webpack_exports__AnnotationEditorLayer = __webpack_exports__.AnnotationEditorLayer;\nvar __webpack_exports__AnnotationEditorParamsType = __webpack_exports__.AnnotationEditorParamsType;\nvar __webpack_exports__AnnotationEditorType = __webpack_exports__.AnnotationEditorType;\nvar __webpack_exports__AnnotationEditorUIManager = __webpack_exports__.AnnotationEditorUIManager;\nvar __webpack_exports__AnnotationLayer = __webpack_exports__.AnnotationLayer;\nvar __webpack_exports__AnnotationMode = __webpack_exports__.AnnotationMode;\nvar __webpack_exports__ColorPicker = __webpack_exports__.ColorPicker;\nvar __webpack_exports__DOMSVGFactory = __webpack_exports__.DOMSVGFactory;\nvar __webpack_exports__DrawLayer = __webpack_exports__.DrawLayer;\nvar __webpack_exports__FeatureTest = __webpack_exports__.FeatureTest;\nvar __webpack_exports__GlobalWorkerOptions = __webpack_exports__.GlobalWorkerOptions;\nvar __webpack_exports__ImageKind = __webpack_exports__.ImageKind;\nvar __webpack_exports__InvalidPDFException = __webpack_exports__.InvalidPDFException;\nvar __webpack_exports__MissingPDFException = __webpack_exports__.MissingPDFException;\nvar __webpack_exports__OPS = __webpack_exports__.OPS;\nvar __webpack_exports__OutputScale = __webpack_exports__.OutputScale;\nvar __webpack_exports__PDFDataRangeTransport = __webpack_exports__.PDFDataRangeTransport;\nvar __webpack_exports__PDFDateString = __webpack_exports__.PDFDateString;\nvar __webpack_exports__PDFWorker = __webpack_exports__.PDFWorker;\nvar __webpack_exports__PasswordResponses = __webpack_exports__.PasswordResponses;\nvar __webpack_exports__PermissionFlag = __webpack_exports__.PermissionFlag;\nvar __webpack_exports__PixelsPerInch = __webpack_exports__.PixelsPerInch;\nvar __webpack_exports__RenderingCancelledException = __webpack_exports__.RenderingCancelledException;\nvar __webpack_exports__TextLayer = __webpack_exports__.TextLayer;\nvar __webpack_exports__UnexpectedResponseException = __webpack_exports__.UnexpectedResponseException;\nvar __webpack_exports__Util = __webpack_exports__.Util;\nvar __webpack_exports__VerbosityLevel = __webpack_exports__.VerbosityLevel;\nvar __webpack_exports__XfaLayer = __webpack_exports__.XfaLayer;\nvar __webpack_exports__build = __webpack_exports__.build;\nvar __webpack_exports__createValidAbsoluteUrl = __webpack_exports__.createValidAbsoluteUrl;\nvar __webpack_exports__fetchData = __webpack_exports__.fetchData;\nvar __webpack_exports__getDocument = __webpack_exports__.getDocument;\nvar __webpack_exports__getFilenameFromUrl = __webpack_exports__.getFilenameFromUrl;\nvar __webpack_exports__getPdfFilenameFromUrl = __webpack_exports__.getPdfFilenameFromUrl;\nvar __webpack_exports__getXfaPageViewport = __webpack_exports__.getXfaPageViewport;\nvar __webpack_exports__isDataScheme = __webpack_exports__.isDataScheme;\nvar __webpack_exports__isPdfFile = __webpack_exports__.isPdfFile;\nvar __webpack_exports__noContextMenu = __webpack_exports__.noContextMenu;\nvar __webpack_exports__normalizeUnicode = __webpack_exports__.normalizeUnicode;\nvar __webpack_exports__setLayerDimensions = __webpack_exports__.setLayerDimensions;\nvar __webpack_exports__shadow = __webpack_exports__.shadow;\nvar __webpack_exports__version = __webpack_exports__.version;\nexport { __webpack_exports__AbortException as AbortException, __webpack_exports__AnnotationEditorLayer as AnnotationEditorLayer, __webpack_exports__AnnotationEditorParamsType as AnnotationEditorParamsType, __webpack_exports__AnnotationEditorType as AnnotationEditorType, __webpack_exports__AnnotationEditorUIManager as AnnotationEditorUIManager, __webpack_exports__AnnotationLayer as AnnotationLayer, __webpack_exports__AnnotationMode as AnnotationMode, __webpack_exports__ColorPicker as ColorPicker, __webpack_exports__DOMSVGFactory as DOMSVGFactory, __webpack_exports__DrawLayer as DrawLayer, __webpack_exports__FeatureTest as FeatureTest, __webpack_exports__GlobalWorkerOptions as GlobalWorkerOptions, __webpack_exports__ImageKind as ImageKind, __webpack_exports__InvalidPDFException as InvalidPDFException, __webpack_exports__MissingPDFException as MissingPDFException, __webpack_exports__OPS as OPS, __webpack_exports__OutputScale as OutputScale, __webpack_exports__PDFDataRangeTransport as PDFDataRangeTransport, __webpack_exports__PDFDateString as PDFDateString, __webpack_exports__PDFWorker as PDFWorker, __webpack_exports__PasswordResponses as PasswordResponses, __webpack_exports__PermissionFlag as PermissionFlag, __webpack_exports__PixelsPerInch as PixelsPerInch, __webpack_exports__RenderingCancelledException as RenderingCancelledException, __webpack_exports__TextLayer as TextLayer, __webpack_exports__UnexpectedResponseException as UnexpectedResponseException, __webpack_exports__Util as Util, __webpack_exports__VerbosityLevel as VerbosityLevel, __webpack_exports__XfaLayer as XfaLayer, __webpack_exports__build as build, __webpack_exports__createValidAbsoluteUrl as createValidAbsoluteUrl, __webpack_exports__fetchData as fetchData, __webpack_exports__getDocument as getDocument, __webpack_exports__getFilenameFromUrl as getFilenameFromUrl, __webpack_exports__getPdfFilenameFromUrl as getPdfFilenameFromUrl, __webpack_exports__getXfaPageViewport as getXfaPageViewport, __webpack_exports__isDataScheme as isDataScheme, __webpack_exports__isPdfFile as isPdfFile, __webpack_exports__noContextMenu as noContextMenu, __webpack_exports__normalizeUnicode as normalizeUnicode, __webpack_exports__setLayerDimensions as setLayerDimensions, __webpack_exports__shadow as shadow, __webpack_exports__version as version };\n\n","export default function _OverloadYield(t, e) {\n this.v = t, this.k = e;\n}","import OverloadYield from \"./OverloadYield.js\";\nexport default function _awaitAsyncGenerator(e) {\n return new OverloadYield(e, 0);\n}","import OverloadYield from \"./OverloadYield.js\";\nexport default function AsyncGenerator(e) {\n var r, t;\n function resume(r, t) {\n try {\n var n = e[r](t),\n o = n.value,\n u = o instanceof OverloadYield;\n Promise.resolve(u ? o.v : o).then(function (t) {\n if (u) {\n var i = \"return\" === r ? \"return\" : \"next\";\n if (!o.k || t.done) return resume(i, t);\n t = e[i](t).value;\n }\n settle(n.done ? \"return\" : \"normal\", t);\n }, function (e) {\n resume(\"throw\", e);\n });\n } catch (e) {\n settle(\"throw\", e);\n }\n }\n function settle(e, n) {\n switch (e) {\n case \"return\":\n r.resolve({\n value: n,\n done: !0\n });\n break;\n case \"throw\":\n r.reject(n);\n break;\n default:\n r.resolve({\n value: n,\n done: !1\n });\n }\n (r = r.next) ? resume(r.key, r.arg) : t = null;\n }\n this._invoke = function (e, n) {\n return new Promise(function (o, u) {\n var i = {\n key: e,\n arg: n,\n resolve: o,\n reject: u,\n next: null\n };\n t ? t = t.next = i : (r = t = i, resume(e, n));\n });\n }, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, AsyncGenerator.prototype.next = function (e) {\n return this._invoke(\"next\", e);\n}, AsyncGenerator.prototype[\"throw\"] = function (e) {\n return this._invoke(\"throw\", e);\n}, AsyncGenerator.prototype[\"return\"] = function (e) {\n return this._invoke(\"return\", e);\n};","import AsyncGenerator from \"./AsyncGenerator.js\";\nexport default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n}","export default function _asyncIterator(r) {\n var n,\n t,\n o,\n e = 2;\n for (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n if (t && null != (n = r[t])) return n.call(r);\n if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n t = \"@@asyncIterator\", o = \"@@iterator\";\n }\n throw new TypeError(\"Object is not async iterable\");\n}\nfunction AsyncFromSyncIterator(r) {\n function AsyncFromSyncIteratorContinuation(r) {\n if (Object(r) !== r) return Promise.reject(new TypeError(r + \" is not an object.\"));\n var n = r.done;\n return Promise.resolve(r.value).then(function (r) {\n return {\n value: r,\n done: n\n };\n });\n }\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {\n this.s = r, this.n = r.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.resolve({\n value: r,\n done: !0\n }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n },\n \"throw\": function _throw(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(r);\n}","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2024 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n/******/ // The require scope\n/******/ var __webpack_require__ = {};\n/******/ \n/************************************************************************/\n/******/ /* webpack/runtime/define property getters */\n/******/ (() => {\n/******/ \t// define getter functions for harmony exports\n/******/ \t__webpack_require__.d = (exports, definition) => {\n/******/ \t\tfor(var key in definition) {\n/******/ \t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t};\n/******/ })();\n/******/ \n/******/ /* webpack/runtime/hasOwnProperty shorthand */\n/******/ (() => {\n/******/ \t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ })();\n/******/ \n/************************************************************************/\nvar __webpack_exports__ = globalThis.pdfjsViewer = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n AnnotationLayerBuilder: () => (/* reexport */ AnnotationLayerBuilder),\n DownloadManager: () => (/* reexport */ DownloadManager),\n EventBus: () => (/* reexport */ EventBus),\n FindState: () => (/* reexport */ FindState),\n GenericL10n: () => (/* reexport */ genericl10n_GenericL10n),\n LinkTarget: () => (/* reexport */ LinkTarget),\n PDFFindController: () => (/* reexport */ PDFFindController),\n PDFHistory: () => (/* reexport */ PDFHistory),\n PDFLinkService: () => (/* reexport */ PDFLinkService),\n PDFPageView: () => (/* reexport */ PDFPageView),\n PDFScriptingManager: () => (/* reexport */ PDFScriptingManagerComponents),\n PDFSinglePageViewer: () => (/* reexport */ PDFSinglePageViewer),\n PDFViewer: () => (/* reexport */ PDFViewer),\n ProgressBar: () => (/* reexport */ ProgressBar),\n RenderingStates: () => (/* reexport */ RenderingStates),\n ScrollMode: () => (/* reexport */ ScrollMode),\n SimpleLinkService: () => (/* reexport */ SimpleLinkService),\n SpreadMode: () => (/* reexport */ SpreadMode),\n StructTreeLayerBuilder: () => (/* reexport */ StructTreeLayerBuilder),\n TextLayerBuilder: () => (/* reexport */ TextLayerBuilder),\n XfaLayerBuilder: () => (/* reexport */ XfaLayerBuilder),\n parseQueryString: () => (/* reexport */ parseQueryString)\n});\n\n;// ./web/ui_utils.js\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 10.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_PERMISSIONS: 2\n};\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3\n};\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nconst CursorTool = {\n SELECT: 0,\n HAND: 1,\n ZOOM: 2\n};\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains(\"markedContent\") || getComputedStyle(parent).overflow === \"hidden\")) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n if (!parent) {\n return;\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\nfunction watchScroll(viewAreaElement, callback, abortSignal = undefined) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, {\n useCapture: true,\n signal: abortSignal\n });\n abortSignal?.addEventListener(\"abort\", () => window.cancelAnimationFrame(rAF), {\n once: true\n });\n return state;\n}\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\nconst InvisibleCharsRegExp = /[\\x00-\\x1F]/g;\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (!InvisibleCharsRegExp.test(str)) {\n return str;\n }\n if (replaceInvisible) {\n return str.replaceAll(InvisibleCharsRegExp, m => m === \"\\x00\" ? \"\" : \" \");\n }\n return str.replaceAll(\"\\x00\", \"\");\n}\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex;\n}\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n while (true) {\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\nfunction floorToDivide(x, div) {\n return x - x % div;\n}\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n index = i;\n }\n return index;\n}\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n let lastEdge = horizontal ? right : -1;\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: fractionWidth * 100 | 0\n });\n ids.add(view.id);\n }\n const first = visible[0],\n last = visible.at(-1);\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id;\n });\n }\n return {\n first,\n last,\n views: visible,\n ids\n };\n}\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n return delta;\n}\nfunction normalizeWheelEventDelta(evt) {\n const deltaMode = evt.deltaMode;\n let delta = normalizeWheelEventDirection(evt);\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n if (deltaMode === WheelEvent.DOM_DELTA_PIXEL) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (deltaMode === WheelEvent.DOM_DELTA_LINE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nconst docStyle = document.documentElement.style;\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\nclass ProgressBar {\n #classList = null;\n #disableAutoFetchTimeout = null;\n #percent = 0;\n #style = null;\n #visible = true;\n constructor(bar) {\n this.#classList = bar.classList;\n this.#style = bar.style;\n }\n get percent() {\n return this.#percent;\n }\n set percent(val) {\n this.#percent = clamp(val, 0, 100);\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n this.#style.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.#style.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n setDisableAutoFetch(delay = 5000) {\n if (this.#percent === 100 || isNaN(this.#percent)) {\n return;\n }\n if (this.#disableAutoFetchTimeout) {\n clearTimeout(this.#disableAutoFetchTimeout);\n }\n this.show();\n this.#disableAutoFetchTimeout = setTimeout(() => {\n this.#disableAutoFetchTimeout = null;\n this.hide();\n }, delay);\n }\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n return curActiveOrFocused;\n}\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return {\n scrollMode,\n spreadMode\n };\n}\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE;\n}\nfunction toggleCheckedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-checked\", toggle);\n view?.classList.toggle(\"hidden\", !toggle);\n}\nfunction toggleExpandedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-expanded\", toggle);\n view?.classList.toggle(\"hidden\", !toggle);\n}\nconst calcRound = function () {\n const e = document.createElement(\"div\");\n e.style.width = \"round(down, calc(1.6666666666666665 * 792px), 1px)\";\n return e.style.width === \"calc(1320px)\" ? Math.fround : x => x;\n}();\n\n;// ./web/pdf_find_utils.js\nconst CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n return CharacterType.ALPHA_LETTER;\n }\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n return CharacterType.ALPHA_LETTER;\n}\nlet NormalizeWithNFKC;\nfunction getNormalizeWithNFKC() {\n NormalizeWithNFKC ||= ` ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩`;\n return NormalizeWithNFKC;\n}\n\n;// ./web/pdf_find_controller.js\n\n\nconst FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nconst FIND_TIMEOUT = 250;\nconst MATCH_SCROLL_OFFSET_TOP = -50;\nconst MATCH_SCROLL_OFFSET_LEFT = -400;\nconst CHARACTERS_TO_NORMALIZE = {\n \"\\u2010\": \"-\",\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\u00BC\": \"1/4\",\n \"\\u00BD\": \"1/2\",\n \"\\u00BE\": \"3/4\"\n};\nconst DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);\nlet DIACRITICS_EXCEPTION_STR;\nconst DIACRITICS_REG_EXP = /\\p{M}+/gu;\nconst SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\\]\\\\])|(\\p{P})|(\\s+)|(\\p{M})|(\\p{L})/gu;\nconst NOT_DIACRITIC_FROM_END_REG_EXP = /([^\\p{M}])\\p{M}*$/u;\nconst NOT_DIACRITIC_FROM_START_REG_EXP = /^\\p{M}*([^\\p{M}])/u;\nconst SYLLABLES_REG_EXP = /[\\uAC00-\\uD7AF\\uFA6C\\uFACF-\\uFAD1\\uFAD5-\\uFAD7]+/g;\nconst SYLLABLES_LENGTHS = new Map();\nconst FIRST_CHAR_SYLLABLES_REG_EXP = \"[\\\\u1100-\\\\u1112\\\\ud7a4-\\\\ud7af\\\\ud84a\\\\ud84c\\\\ud850\\\\ud854\\\\ud857\\\\ud85f]\";\nconst NFKC_CHARS_TO_NORMALIZE = new Map();\nlet noSyllablesRegExp = null;\nlet withSyllablesRegExp = null;\nfunction normalize(text) {\n const syllablePositions = [];\n let m;\n while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) {\n let {\n index\n } = m;\n for (const char of m[0]) {\n let len = SYLLABLES_LENGTHS.get(char);\n if (!len) {\n len = char.normalize(\"NFD\").length;\n SYLLABLES_LENGTHS.set(char, len);\n }\n syllablePositions.push([len, index++]);\n }\n }\n let normalizationRegex;\n if (syllablePositions.length === 0 && noSyllablesRegExp) {\n normalizationRegex = noSyllablesRegExp;\n } else if (syllablePositions.length > 0 && withSyllablesRegExp) {\n normalizationRegex = withSyllablesRegExp;\n } else {\n const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n const toNormalizeWithNFKC = getNormalizeWithNFKC();\n const CJK = \"(?:\\\\p{Ideographic}|[\\u3040-\\u30FF])\";\n const HKDiacritics = \"(?:\\u3099|\\u309A)\";\n const CompoundWord = \"\\\\p{Ll}-\\\\n\\\\p{Lu}\";\n const regexp = `([${replace}])|([${toNormalizeWithNFKC}])|(${HKDiacritics}\\\\n)|(\\\\p{M}+(?:-\\\\n)?)|(${CompoundWord})|(\\\\S-\\\\n)|(${CJK}\\\\n)|(\\\\n)`;\n if (syllablePositions.length === 0) {\n normalizationRegex = noSyllablesRegExp = new RegExp(regexp + \"|(\\\\u0000)\", \"gum\");\n } else {\n normalizationRegex = withSyllablesRegExp = new RegExp(regexp + `|(${FIRST_CHAR_SYLLABLES_REG_EXP})`, \"gum\");\n }\n }\n const rawDiacriticsPositions = [];\n while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {\n rawDiacriticsPositions.push([m[0].length, m.index]);\n }\n let normalized = text.normalize(\"NFD\");\n const positions = [[0, 0]];\n let rawDiacriticsIndex = 0;\n let syllableIndex = 0;\n let shift = 0;\n let shiftOrigin = 0;\n let eol = 0;\n let hasDiacritics = false;\n normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, p5, p6, p7, p8, p9, i) => {\n i -= shiftOrigin;\n if (p1) {\n const replacement = CHARACTERS_TO_NORMALIZE[p1];\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p2) {\n let replacement = NFKC_CHARS_TO_NORMALIZE.get(p2);\n if (!replacement) {\n replacement = p2.normalize(\"NFKC\");\n NFKC_CHARS_TO_NORMALIZE.set(p2, replacement);\n }\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p3) {\n hasDiacritics = true;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n ++rawDiacriticsIndex;\n } else {\n positions.push([i - 1 - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n }\n positions.push([i - shift + 1, shift]);\n shiftOrigin += 1;\n eol += 1;\n return p3.charAt(0);\n }\n if (p4) {\n const hasTrailingDashEOL = p4.endsWith(\"\\n\");\n const len = hasTrailingDashEOL ? p4.length - 2 : p4.length;\n hasDiacritics = true;\n let jj = len;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n jj -= rawDiacriticsPositions[rawDiacriticsIndex][0];\n ++rawDiacriticsIndex;\n }\n for (let j = 1; j <= jj; j++) {\n positions.push([i - 1 - shift + j, shift - j]);\n }\n shift -= jj;\n shiftOrigin += jj;\n if (hasTrailingDashEOL) {\n i += len - 1;\n positions.push([i - shift + 1, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p4.slice(0, len);\n }\n return p4;\n }\n if (p5) {\n positions.push([i - shift + 3, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p5.replace(\"\\n\", \"\");\n }\n if (p6) {\n const len = p6.length - 2;\n positions.push([i - shift + len, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p6.slice(0, -2);\n }\n if (p7) {\n const len = p7.length - 1;\n positions.push([i - shift + len, shift]);\n shiftOrigin += 1;\n eol += 1;\n return p7.slice(0, -1);\n }\n if (p8) {\n positions.push([i - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n eol += 1;\n return \" \";\n }\n if (i + eol === syllablePositions[syllableIndex]?.[1]) {\n const newCharLen = syllablePositions[syllableIndex][0] - 1;\n ++syllableIndex;\n for (let j = 1; j <= newCharLen; j++) {\n positions.push([i - (shift - j), shift - j]);\n }\n shift -= newCharLen;\n shiftOrigin += newCharLen;\n }\n return p9;\n });\n positions.push([normalized.length, shift]);\n return [normalized, positions, hasDiacritics];\n}\nfunction getOriginalIndex(diffs, pos, len) {\n if (!diffs) {\n return [pos, len];\n }\n const start = pos;\n const end = pos + len - 1;\n let i = binarySearchFirstItem(diffs, x => x[0] >= start);\n if (diffs[i][0] > start) {\n --i;\n }\n let j = binarySearchFirstItem(diffs, x => x[0] >= end, i);\n if (diffs[j][0] > end) {\n --j;\n }\n const oldStart = start + diffs[i][1];\n const oldEnd = end + diffs[j][1];\n const oldLen = oldEnd + 1 - oldStart;\n return [oldStart, oldLen];\n}\nclass PDFFindController {\n #state = null;\n #updateMatchesCountOnProgress = true;\n #visitedPagesCount = 0;\n constructor({\n linkService,\n eventBus,\n updateMatchesCountOnProgress = true\n }) {\n this._linkService = linkService;\n this._eventBus = eventBus;\n this.#updateMatchesCountOnProgress = updateMatchesCountOnProgress;\n this.onIsPageVisible = null;\n this.#reset();\n eventBus._on(\"find\", this.#onFind.bind(this));\n eventBus._on(\"findbarclose\", this.#onFindBarClose.bind(this));\n }\n get highlightMatches() {\n return this._highlightMatches;\n }\n get pageMatches() {\n return this._pageMatches;\n }\n get pageMatchesLength() {\n return this._pageMatchesLength;\n }\n get selected() {\n return this._selected;\n }\n get state() {\n return this.#state;\n }\n setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this.#reset();\n }\n if (!pdfDocument) {\n return;\n }\n this._pdfDocument = pdfDocument;\n this._firstPageCapability.resolve();\n }\n #onFind(state) {\n if (!state) {\n return;\n }\n const pdfDocument = this._pdfDocument;\n const {\n type\n } = state;\n if (this.#state === null || this.#shouldDirtyMatch(state)) {\n this._dirtyMatch = true;\n }\n this.#state = state;\n if (type !== \"highlightallchange\") {\n this.#updateUIState(FindState.PENDING);\n }\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n this.#extractText();\n const findbarClosed = !this._highlightMatches;\n const pendingTimeout = !!this._findTimeout;\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (!type) {\n this._findTimeout = setTimeout(() => {\n this.#nextMatch();\n this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (this._dirtyMatch) {\n this.#nextMatch();\n } else if (type === \"again\") {\n this.#nextMatch();\n if (findbarClosed && this.#state.highlightAll) {\n this.#updateAllPages();\n }\n } else if (type === \"highlightallchange\") {\n if (pendingTimeout) {\n this.#nextMatch();\n } else {\n this._highlightMatches = true;\n }\n this.#updateAllPages();\n } else {\n this.#nextMatch();\n }\n });\n }\n scrollMatchIntoView({\n element = null,\n selectedLeft = 0,\n pageIndex = -1,\n matchIndex = -1\n }) {\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n this._scrollMatches = false;\n const spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT\n };\n scrollIntoView(element, spot, true);\n }\n #reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this.#visitedPagesCount = 0;\n this.#state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._pageDiffs = [];\n this._hasDiacritics = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = new Set();\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = Promise.withResolvers();\n }\n get #query() {\n const {\n query\n } = this.#state;\n if (typeof query === \"string\") {\n if (query !== this._rawQuery) {\n this._rawQuery = query;\n [this._normalizedQuery] = normalize(query);\n }\n return this._normalizedQuery;\n }\n return (query || []).filter(q => !!q).map(q => normalize(q)[0]);\n }\n #shouldDirtyMatch(state) {\n const newQuery = state.query,\n prevQuery = this.#state.query;\n const newType = typeof newQuery,\n prevType = typeof prevQuery;\n if (newType !== prevType) {\n return true;\n }\n if (newType === \"string\") {\n if (newQuery !== prevQuery) {\n return true;\n }\n } else if (JSON.stringify(newQuery) !== JSON.stringify(prevQuery)) {\n return true;\n }\n switch (state.type) {\n case \"again\":\n const pageNumber = this._selected.pageIdx + 1;\n const linkService = this._linkService;\n return pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !(this.onIsPageVisible?.(pageNumber) ?? true);\n case \"highlightallchange\":\n return false;\n }\n return true;\n }\n #isEntireWord(content, startIdx, length) {\n let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);\n if (match) {\n const first = content.charCodeAt(startIdx);\n const limit = match[1].charCodeAt(0);\n if (getCharacterType(first) === getCharacterType(limit)) {\n return false;\n }\n }\n match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);\n if (match) {\n const last = content.charCodeAt(startIdx + length - 1);\n const limit = match[1].charCodeAt(0);\n if (getCharacterType(last) === getCharacterType(limit)) {\n return false;\n }\n }\n return true;\n }\n #convertToRegExpString(query, hasDiacritics) {\n const {\n matchDiacritics\n } = this.#state;\n let isUnicode = false;\n query = query.replaceAll(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {\n if (p1) {\n return `[ ]*\\\\${p1}[ ]*`;\n }\n if (p2) {\n return `[ ]*${p2}[ ]*`;\n }\n if (p3) {\n return \"[ ]+\";\n }\n if (matchDiacritics) {\n return p4 || p5;\n }\n if (p4) {\n return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : \"\";\n }\n if (hasDiacritics) {\n isUnicode = true;\n return `${p5}\\\\p{M}*`;\n }\n return p5;\n });\n const trailingSpaces = \"[ ]*\";\n if (query.endsWith(trailingSpaces)) {\n query = query.slice(0, query.length - trailingSpaces.length);\n }\n if (matchDiacritics) {\n if (hasDiacritics) {\n DIACRITICS_EXCEPTION_STR ||= String.fromCharCode(...DIACRITICS_EXCEPTION);\n isUnicode = true;\n query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\\\p{M}]|$)`;\n }\n }\n return [isUnicode, query];\n }\n #calculateMatch(pageIndex) {\n const query = this.#query;\n if (query.length === 0) {\n return;\n }\n const pageContent = this._pageContents[pageIndex];\n const matcherResult = this.match(query, pageContent, pageIndex);\n const matches = this._pageMatches[pageIndex] = [];\n const matchesLength = this._pageMatchesLength[pageIndex] = [];\n const diffs = this._pageDiffs[pageIndex];\n matcherResult?.forEach(({\n index,\n length\n }) => {\n const [matchPos, matchLen] = getOriginalIndex(diffs, index, length);\n if (matchLen) {\n matches.push(matchPos);\n matchesLength.push(matchLen);\n }\n });\n if (this.#state.highlightAll) {\n this.#updatePage(pageIndex);\n }\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n this.#nextPageMatch();\n }\n const pageMatchesCount = matches.length;\n this._matchesCountTotal += pageMatchesCount;\n if (this.#updateMatchesCountOnProgress) {\n if (pageMatchesCount > 0) {\n this.#updateUIResultsCount();\n }\n } else if (++this.#visitedPagesCount === this._linkService.pagesCount) {\n this.#updateUIResultsCount();\n }\n }\n match(query, pageContent, pageIndex) {\n const hasDiacritics = this._hasDiacritics[pageIndex];\n let isUnicode = false;\n if (typeof query === \"string\") {\n [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);\n } else {\n query = query.sort().reverse().map(q => {\n const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);\n isUnicode ||= isUnicodePart;\n return `(${queryPart})`;\n }).join(\"|\");\n }\n if (!query) {\n return undefined;\n }\n const {\n caseSensitive,\n entireWord\n } = this.#state;\n const flags = `g${isUnicode ? \"u\" : \"\"}${caseSensitive ? \"\" : \"i\"}`;\n query = new RegExp(query, flags);\n const matches = [];\n let match;\n while ((match = query.exec(pageContent)) !== null) {\n if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) {\n continue;\n }\n matches.push({\n index: match.index,\n length: match[0].length\n });\n }\n return matches;\n }\n #extractText() {\n if (this._extractTextPromises.length > 0) {\n return;\n }\n let deferred = Promise.resolve();\n const textOptions = {\n disableNormalization: true\n };\n for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n const {\n promise,\n resolve\n } = Promise.withResolvers();\n this._extractTextPromises[i] = promise;\n deferred = deferred.then(() => {\n return this._pdfDocument.getPage(i + 1).then(pdfPage => pdfPage.getTextContent(textOptions)).then(textContent => {\n const strBuf = [];\n for (const textItem of textContent.items) {\n strBuf.push(textItem.str);\n if (textItem.hasEOL) {\n strBuf.push(\"\\n\");\n }\n }\n [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(\"\"));\n resolve();\n }, reason => {\n console.error(`Unable to get text content for page ${i + 1}`, reason);\n this._pageContents[i] = \"\";\n this._pageDiffs[i] = null;\n this._hasDiacritics[i] = false;\n resolve();\n });\n });\n }\n }\n #updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n #updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n #nextMatch() {\n const previous = this.#state.findPrevious;\n const currentPageIndex = this._linkService.page - 1;\n const numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this.#visitedPagesCount = 0;\n this._matchesCountTotal = 0;\n this.#updateAllPages();\n for (let i = 0; i < numPages; i++) {\n if (this._pendingFindMatches.has(i)) {\n continue;\n }\n this._pendingFindMatches.add(i);\n this._extractTextPromises[i].then(() => {\n this._pendingFindMatches.delete(i);\n this.#calculateMatch(i);\n });\n }\n }\n const query = this.#query;\n if (query.length === 0) {\n this.#updateUIState(FindState.FOUND);\n return;\n }\n if (this._resumePageIdx) {\n return;\n }\n const offset = this._offset;\n this._pagesToSearch = numPages;\n if (offset.matchIdx !== null) {\n const numPageMatches = this._pageMatches[offset.pageIdx].length;\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.#updateMatch(true);\n return;\n }\n this.#advanceOffsetPage(previous);\n }\n this.#nextPageMatch();\n }\n #matchesReady(matches) {\n const offset = this._offset;\n const numMatches = matches.length;\n const previous = this.#state.findPrevious;\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.#updateMatch(true);\n return true;\n }\n this.#advanceOffsetPage(previous);\n if (offset.wrapped) {\n offset.matchIdx = null;\n if (this._pagesToSearch < 0) {\n this.#updateMatch(false);\n return true;\n }\n }\n return false;\n }\n #nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n let matches = null;\n do {\n const pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this.#matchesReady(matches));\n }\n #advanceOffsetPage(previous) {\n const offset = this._offset;\n const numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n #updateMatch(found = false) {\n let state = FindState.NOT_FOUND;\n const wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n if (found) {\n const previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this.#updatePage(previousPage);\n }\n }\n this.#updateUIState(state, this.#state.findPrevious);\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n this.#updatePage(this._selected.pageIdx);\n }\n }\n #onFindBarClose(evt) {\n const pdfDocument = this._pdfDocument;\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (this._resumePageIdx) {\n this._resumePageIdx = null;\n this._dirtyMatch = true;\n }\n this.#updateUIState(FindState.FOUND);\n this._highlightMatches = false;\n this.#updateAllPages();\n });\n }\n #requestMatchesCount() {\n const {\n pageIdx,\n matchIdx\n } = this._selected;\n let current = 0,\n total = this._matchesCountTotal;\n if (matchIdx !== -1) {\n for (let i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i]?.length || 0;\n }\n current += matchIdx + 1;\n }\n if (current < 1 || current > total) {\n current = total = 0;\n }\n return {\n current,\n total\n };\n }\n #updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this.#requestMatchesCount()\n });\n }\n #updateUIState(state, previous = false) {\n if (!this.#updateMatchesCountOnProgress && (this.#visitedPagesCount !== this._linkService.pagesCount || state === FindState.PENDING)) {\n return;\n }\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state,\n previous,\n entireWord: this.#state?.entireWord ?? null,\n matchesCount: this.#requestMatchesCount(),\n rawQuery: this.#state?.query ?? null\n });\n }\n}\n\n;// ./web/pdf_link_service.js\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nclass PDFLinkService {\n externalLinkEnabled = true;\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n get page() {\n return this.pdfDocument ? this.pdfViewer.currentPageNumber : 1;\n }\n set page(value) {\n if (this.pdfDocument) {\n this.pdfViewer.currentPageNumber = value;\n }\n }\n get rotation() {\n return this.pdfDocument ? this.pdfViewer.pagesRotation : 0;\n }\n set rotation(value) {\n if (this.pdfDocument) {\n this.pdfViewer.pagesRotation = value;\n }\n }\n get isInPresentationMode() {\n return this.pdfDocument ? this.pdfViewer.isInPresentationMode : false;\n }\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest, pageNumber;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(`goToDestination: \"${explicitDest}\" is not a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n const [destRef] = explicitDest;\n if (destRef && typeof destRef === \"object\") {\n pageNumber = this.pdfDocument.cachedPageNumber(destRef);\n if (!pageNumber) {\n try {\n pageNumber = (await this.pdfDocument.getPageIndex(destRef)) + 1;\n } catch {\n console.error(`goToDestination: \"${destRef}\" is not a valid page reference, for dest=\"${dest}\".`);\n return;\n }\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`goToDestination: \"${pageNumber}\" is not a valid page number, for dest=\"${dest}\".`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n }\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber\n });\n }\n addLinkAttributes(link, url, newWindow = false) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n const target = newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel = this.externalLinkRel;\n if (this.externalLinkEnabled) {\n link.href = link.title = url;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${url}`;\n link.onclick = () => false;\n }\n let targetStr = \"\";\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n getAnchorUrl(anchor) {\n return this.baseUrl ? this.baseUrl + anchor : anchor;\n }\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = parseQueryString(hash);\n if (params.has(\"search\")) {\n const query = params.get(\"search\").replaceAll('\"', \"\"),\n phrase = params.get(\"phrase\") === \"true\";\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: phrase ? query : query.match(/\\S+/g)\n });\n }\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n const zoomArgs = params.get(\"zoom\").split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`);\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\")\n });\n }\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n return;\n }\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch {}\n if (typeof dest === \"string\" || PDFLinkService.#isValidExplicitDest(dest)) {\n this.goToDestination(dest);\n return;\n }\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`);\n }\n executeNamedAction(action) {\n if (!this.pdfDocument) {\n return;\n }\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n case \"FirstPage\":\n this.page = 1;\n break;\n default:\n break;\n }\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n async executeSetOCGState(action) {\n if (!this.pdfDocument) {\n return;\n }\n const pdfDocument = this.pdfDocument,\n optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise;\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n optionalContentConfig.setOCGState(action);\n this.pdfViewer.optionalContentConfigPromise = Promise.resolve(optionalContentConfig);\n }\n static #isValidExplicitDest(dest) {\n if (!Array.isArray(dest) || dest.length < 2) {\n return false;\n }\n const [page, zoom, ...args] = dest;\n if (!(typeof page === \"object\" && Number.isInteger(page?.num) && Number.isInteger(page?.gen)) && !Number.isInteger(page)) {\n return false;\n }\n if (!(typeof zoom === \"object\" && typeof zoom?.name === \"string\")) {\n return false;\n }\n const argsLen = args.length;\n let allowNull = true;\n switch (zoom.name) {\n case \"XYZ\":\n if (argsLen < 2 || argsLen > 3) {\n return false;\n }\n break;\n case \"Fit\":\n case \"FitB\":\n return argsLen === 0;\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (argsLen > 1) {\n return false;\n }\n break;\n case \"FitR\":\n if (argsLen !== 4) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (const arg of args) {\n if (!(typeof arg === \"number\" || allowNull && arg === null)) {\n return false;\n }\n }\n return true;\n }\n}\nclass SimpleLinkService extends PDFLinkService {\n setDocument(pdfDocument, baseUrl = null) {}\n}\n\n;// ./web/pdfjs.js\nconst {\n AbortException,\n AnnotationEditorLayer,\n AnnotationEditorParamsType,\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationLayer,\n AnnotationMode,\n build,\n ColorPicker,\n createValidAbsoluteUrl,\n DOMSVGFactory,\n DrawLayer,\n FeatureTest,\n fetchData,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n getXfaPageViewport,\n GlobalWorkerOptions,\n ImageKind,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n MissingPDFException,\n noContextMenu,\n normalizeUnicode,\n OPS,\n OutputScale,\n PasswordResponses,\n PDFDataRangeTransport,\n PDFDateString,\n PDFWorker,\n PermissionFlag,\n PixelsPerInch,\n RenderingCancelledException,\n setLayerDimensions,\n shadow,\n TextLayer,\n UnexpectedResponseException,\n Util,\n VerbosityLevel,\n version,\n XfaLayer\n} = globalThis.pdfjsLib;\n\n;// ./web/annotation_layer_builder.js\n\n\nclass AnnotationLayerBuilder {\n #onAppend = null;\n #eventAbortController = null;\n constructor({\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n annotationCanvasMap = null,\n accessibilityManager = null,\n annotationEditorUIManager = null,\n onAppend = null\n }) {\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise || Promise.resolve(false);\n this._fieldObjectsPromise = fieldObjectsPromise || Promise.resolve(null);\n this._annotationCanvasMap = annotationCanvasMap;\n this._accessibilityManager = accessibilityManager;\n this._annotationEditorUIManager = annotationEditorUIManager;\n this.#onAppend = onAppend;\n this.annotationLayer = null;\n this.div = null;\n this._cancelled = false;\n this._eventBus = linkService.eventBus;\n }\n async render(viewport, options, intent = \"display\") {\n if (this.div) {\n if (this._cancelled || !this.annotationLayer) {\n return;\n }\n this.annotationLayer.update({\n viewport: viewport.clone({\n dontFlip: true\n })\n });\n return;\n }\n const [annotations, hasJSActions, fieldObjects] = await Promise.all([this.pdfPage.getAnnotations({\n intent\n }), this._hasJSActionsPromise, this._fieldObjectsPromise]);\n if (this._cancelled) {\n return;\n }\n const div = this.div = document.createElement(\"div\");\n div.className = \"annotationLayer\";\n this.#onAppend?.(div);\n if (annotations.length === 0) {\n this.hide();\n return;\n }\n this.annotationLayer = new AnnotationLayer({\n div,\n accessibilityManager: this._accessibilityManager,\n annotationCanvasMap: this._annotationCanvasMap,\n annotationEditorUIManager: this._annotationEditorUIManager,\n page: this.pdfPage,\n viewport: viewport.clone({\n dontFlip: true\n }),\n structTreeLayer: options?.structTreeLayer || null\n });\n await this.annotationLayer.render({\n annotations,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects\n });\n if (this.linkService.isInPresentationMode) {\n this.#updatePresentationModeState(PresentationModeState.FULLSCREEN);\n }\n if (!this.#eventAbortController) {\n this.#eventAbortController = new AbortController();\n this._eventBus?._on(\"presentationmodechanged\", evt => {\n this.#updatePresentationModeState(evt.state);\n }, {\n signal: this.#eventAbortController.signal\n });\n }\n }\n cancel() {\n this._cancelled = true;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n hasEditableAnnotations() {\n return !!this.annotationLayer?.hasEditableAnnotations();\n }\n #updatePresentationModeState(state) {\n if (!this.div) {\n return;\n }\n let disableFormElements = false;\n switch (state) {\n case PresentationModeState.FULLSCREEN:\n disableFormElements = true;\n break;\n case PresentationModeState.NORMAL:\n break;\n default:\n return;\n }\n for (const section of this.div.childNodes) {\n if (section.hasAttribute(\"data-internal-link\")) {\n continue;\n }\n section.inert = disableFormElements;\n }\n }\n}\n\n;// ./web/download_manager.js\n\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n a.href = blobUrl;\n a.target = \"_parent\";\n if (\"download\" in a) {\n a.download = filename;\n }\n (document.body || document.documentElement).append(a);\n a.click();\n a.remove();\n}\nclass DownloadManager {\n #openBlobUrls = new WeakMap();\n downloadData(data, filename, contentType) {\n const blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n download(blobUrl, filename);\n }\n openOrDownloadData(data, filename, dest = null) {\n const isPdfData = isPdfFile(filename);\n const contentType = isPdfData ? \"application/pdf\" : \"\";\n this.downloadData(data, filename, contentType);\n return false;\n }\n download(data, url, filename) {\n let blobUrl;\n if (data) {\n blobUrl = URL.createObjectURL(new Blob([data], {\n type: \"application/pdf\"\n }));\n } else {\n if (!createValidAbsoluteUrl(url, \"http://example.com\")) {\n console.error(`download - not a valid URL: ${url}`);\n return;\n }\n blobUrl = url + \"#pdfjs.action=download\";\n }\n download(blobUrl, filename);\n }\n}\n\n;// ./web/event_utils.js\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nasync function waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n const {\n promise,\n resolve\n } = Promise.withResolvers();\n const ac = new AbortController();\n function handler(type) {\n ac.abort();\n clearTimeout(timeout);\n resolve(type);\n }\n const evtMethod = target instanceof EventBus ? \"_on\" : \"addEventListener\";\n target[evtMethod](name, handler.bind(null, WaitOnType.EVENT), {\n signal: ac.signal\n });\n const timeout = setTimeout(handler.bind(null, WaitOnType.TIMEOUT), delay);\n return promise;\n}\nclass EventBus {\n #listeners = Object.create(null);\n on(eventName, listener, options = null) {\n this._on(eventName, listener, {\n external: true,\n once: options?.once,\n signal: options?.signal\n });\n }\n off(eventName, listener, options = null) {\n this._off(eventName, listener);\n }\n dispatch(eventName, data) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n let externalListeners;\n for (const {\n listener,\n external,\n once\n } of eventListeners.slice(0)) {\n if (once) {\n this._off(eventName, listener);\n }\n if (external) {\n (externalListeners ||= []).push(listener);\n continue;\n }\n listener(data);\n }\n if (externalListeners) {\n for (const listener of externalListeners) {\n listener(data);\n }\n externalListeners = null;\n }\n }\n _on(eventName, listener, options = null) {\n let rmAbort = null;\n if (options?.signal instanceof AbortSignal) {\n const {\n signal\n } = options;\n if (signal.aborted) {\n console.error(\"Cannot use an `aborted` signal.\");\n return;\n }\n const onAbort = () => this._off(eventName, listener);\n rmAbort = () => signal.removeEventListener(\"abort\", onAbort);\n signal.addEventListener(\"abort\", onAbort);\n }\n const eventListeners = this.#listeners[eventName] ||= [];\n eventListeners.push({\n listener,\n external: options?.external === true,\n once: options?.once === true,\n rmAbort\n });\n }\n _off(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners) {\n return;\n }\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n const evt = eventListeners[i];\n if (evt.listener === listener) {\n evt.rmAbort?.();\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n}\nclass FirefoxEventBus extends EventBus {\n #externalServices;\n #globalEventNames;\n #isInAutomation;\n constructor(globalEventNames, externalServices, isInAutomation) {\n super();\n this.#globalEventNames = globalEventNames;\n this.#externalServices = externalServices;\n this.#isInAutomation = isInAutomation;\n }\n dispatch(eventName, data) {\n throw new Error(\"Not implemented: FirefoxEventBus.dispatch\");\n }\n}\n\n;// ./node_modules/@fluent/bundle/esm/types.js\nclass FluentType {\n constructor(value) {\n this.value = value;\n }\n valueOf() {\n return this.value;\n }\n}\nclass FluentNone extends FluentType {\n constructor(value = \"???\") {\n super(value);\n }\n toString(scope) {\n return `{${this.value}}`;\n }\n}\nclass FluentNumber extends FluentType {\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n toString(scope) {\n try {\n const nf = scope.memoizeIntlObject(Intl.NumberFormat, this.opts);\n return nf.format(this.value);\n } catch (err) {\n scope.reportError(err);\n return this.value.toString(10);\n }\n }\n}\nclass FluentDateTime extends FluentType {\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n toString(scope) {\n try {\n const dtf = scope.memoizeIntlObject(Intl.DateTimeFormat, this.opts);\n return dtf.format(this.value);\n } catch (err) {\n scope.reportError(err);\n return new Date(this.value).toISOString();\n }\n }\n}\n;// ./node_modules/@fluent/bundle/esm/resolver.js\n\nconst MAX_PLACEABLES = 100;\nconst FSI = \"\\u2068\";\nconst PDI = \"\\u2069\";\nfunction match(scope, selector, key) {\n if (key === selector) {\n return true;\n }\n if (key instanceof FluentNumber && selector instanceof FluentNumber && key.value === selector.value) {\n return true;\n }\n if (selector instanceof FluentNumber && typeof key === \"string\") {\n let category = scope.memoizeIntlObject(Intl.PluralRules, selector.opts).select(selector.value);\n if (key === category) {\n return true;\n }\n }\n return false;\n}\nfunction getDefault(scope, variants, star) {\n if (variants[star]) {\n return resolvePattern(scope, variants[star].value);\n }\n scope.reportError(new RangeError(\"No default\"));\n return new FluentNone();\n}\nfunction getArguments(scope, args) {\n const positional = [];\n const named = Object.create(null);\n for (const arg of args) {\n if (arg.type === \"narg\") {\n named[arg.name] = resolveExpression(scope, arg.value);\n } else {\n positional.push(resolveExpression(scope, arg));\n }\n }\n return {\n positional,\n named\n };\n}\nfunction resolveExpression(scope, expr) {\n switch (expr.type) {\n case \"str\":\n return expr.value;\n case \"num\":\n return new FluentNumber(expr.value, {\n minimumFractionDigits: expr.precision\n });\n case \"var\":\n return resolveVariableReference(scope, expr);\n case \"mesg\":\n return resolveMessageReference(scope, expr);\n case \"term\":\n return resolveTermReference(scope, expr);\n case \"func\":\n return resolveFunctionReference(scope, expr);\n case \"select\":\n return resolveSelectExpression(scope, expr);\n default:\n return new FluentNone();\n }\n}\nfunction resolveVariableReference(scope, {\n name\n}) {\n let arg;\n if (scope.params) {\n if (Object.prototype.hasOwnProperty.call(scope.params, name)) {\n arg = scope.params[name];\n } else {\n return new FluentNone(`$${name}`);\n }\n } else if (scope.args && Object.prototype.hasOwnProperty.call(scope.args, name)) {\n arg = scope.args[name];\n } else {\n scope.reportError(new ReferenceError(`Unknown variable: $${name}`));\n return new FluentNone(`$${name}`);\n }\n if (arg instanceof FluentType) {\n return arg;\n }\n switch (typeof arg) {\n case \"string\":\n return arg;\n case \"number\":\n return new FluentNumber(arg);\n case \"object\":\n if (arg instanceof Date) {\n return new FluentDateTime(arg.getTime());\n }\n default:\n scope.reportError(new TypeError(`Variable type not supported: $${name}, ${typeof arg}`));\n return new FluentNone(`$${name}`);\n }\n}\nfunction resolveMessageReference(scope, {\n name,\n attr\n}) {\n const message = scope.bundle._messages.get(name);\n if (!message) {\n scope.reportError(new ReferenceError(`Unknown message: ${name}`));\n return new FluentNone(name);\n }\n if (attr) {\n const attribute = message.attributes[attr];\n if (attribute) {\n return resolvePattern(scope, attribute);\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${name}.${attr}`);\n }\n if (message.value) {\n return resolvePattern(scope, message.value);\n }\n scope.reportError(new ReferenceError(`No value: ${name}`));\n return new FluentNone(name);\n}\nfunction resolveTermReference(scope, {\n name,\n attr,\n args\n}) {\n const id = `-${name}`;\n const term = scope.bundle._terms.get(id);\n if (!term) {\n scope.reportError(new ReferenceError(`Unknown term: ${id}`));\n return new FluentNone(id);\n }\n if (attr) {\n const attribute = term.attributes[attr];\n if (attribute) {\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, attribute);\n scope.params = null;\n return resolved;\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${id}.${attr}`);\n }\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, term.value);\n scope.params = null;\n return resolved;\n}\nfunction resolveFunctionReference(scope, {\n name,\n args\n}) {\n let func = scope.bundle._functions[name];\n if (!func) {\n scope.reportError(new ReferenceError(`Unknown function: ${name}()`));\n return new FluentNone(`${name}()`);\n }\n if (typeof func !== \"function\") {\n scope.reportError(new TypeError(`Function ${name}() is not callable`));\n return new FluentNone(`${name}()`);\n }\n try {\n let resolved = getArguments(scope, args);\n return func(resolved.positional, resolved.named);\n } catch (err) {\n scope.reportError(err);\n return new FluentNone(`${name}()`);\n }\n}\nfunction resolveSelectExpression(scope, {\n selector,\n variants,\n star\n}) {\n let sel = resolveExpression(scope, selector);\n if (sel instanceof FluentNone) {\n return getDefault(scope, variants, star);\n }\n for (const variant of variants) {\n const key = resolveExpression(scope, variant.key);\n if (match(scope, sel, key)) {\n return resolvePattern(scope, variant.value);\n }\n }\n return getDefault(scope, variants, star);\n}\nfunction resolveComplexPattern(scope, ptn) {\n if (scope.dirty.has(ptn)) {\n scope.reportError(new RangeError(\"Cyclic reference\"));\n return new FluentNone();\n }\n scope.dirty.add(ptn);\n const result = [];\n const useIsolating = scope.bundle._useIsolating && ptn.length > 1;\n for (const elem of ptn) {\n if (typeof elem === \"string\") {\n result.push(scope.bundle._transform(elem));\n continue;\n }\n scope.placeables++;\n if (scope.placeables > MAX_PLACEABLES) {\n scope.dirty.delete(ptn);\n throw new RangeError(`Too many placeables expanded: ${scope.placeables}, ` + `max allowed is ${MAX_PLACEABLES}`);\n }\n if (useIsolating) {\n result.push(FSI);\n }\n result.push(resolveExpression(scope, elem).toString(scope));\n if (useIsolating) {\n result.push(PDI);\n }\n }\n scope.dirty.delete(ptn);\n return result.join(\"\");\n}\nfunction resolvePattern(scope, value) {\n if (typeof value === \"string\") {\n return scope.bundle._transform(value);\n }\n return resolveComplexPattern(scope, value);\n}\n;// ./node_modules/@fluent/bundle/esm/scope.js\nclass Scope {\n constructor(bundle, errors, args) {\n this.dirty = new WeakSet();\n this.params = null;\n this.placeables = 0;\n this.bundle = bundle;\n this.errors = errors;\n this.args = args;\n }\n reportError(error) {\n if (!this.errors || !(error instanceof Error)) {\n throw error;\n }\n this.errors.push(error);\n }\n memoizeIntlObject(ctor, opts) {\n let cache = this.bundle._intls.get(ctor);\n if (!cache) {\n cache = {};\n this.bundle._intls.set(ctor, cache);\n }\n let id = JSON.stringify(opts);\n if (!cache[id]) {\n cache[id] = new ctor(this.bundle.locales, opts);\n }\n return cache[id];\n }\n}\n;// ./node_modules/@fluent/bundle/esm/builtins.js\n\nfunction values(opts, allowed) {\n const unwrapped = Object.create(null);\n for (const [name, opt] of Object.entries(opts)) {\n if (allowed.includes(name)) {\n unwrapped[name] = opt.valueOf();\n }\n }\n return unwrapped;\n}\nconst NUMBER_ALLOWED = [\"unitDisplay\", \"currencyDisplay\", \"useGrouping\", \"minimumIntegerDigits\", \"minimumFractionDigits\", \"maximumFractionDigits\", \"minimumSignificantDigits\", \"maximumSignificantDigits\"];\nfunction NUMBER(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`NUMBER(${arg.valueOf()})`);\n }\n if (arg instanceof FluentNumber) {\n return new FluentNumber(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, NUMBER_ALLOWED)\n });\n }\n if (arg instanceof FluentDateTime) {\n return new FluentNumber(arg.valueOf(), {\n ...values(opts, NUMBER_ALLOWED)\n });\n }\n throw new TypeError(\"Invalid argument to NUMBER\");\n}\nconst DATETIME_ALLOWED = [\"dateStyle\", \"timeStyle\", \"fractionalSecondDigits\", \"dayPeriod\", \"hour12\", \"weekday\", \"era\", \"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"timeZoneName\"];\nfunction DATETIME(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`DATETIME(${arg.valueOf()})`);\n }\n if (arg instanceof FluentDateTime) {\n return new FluentDateTime(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, DATETIME_ALLOWED)\n });\n }\n if (arg instanceof FluentNumber) {\n return new FluentDateTime(arg.valueOf(), {\n ...values(opts, DATETIME_ALLOWED)\n });\n }\n throw new TypeError(\"Invalid argument to DATETIME\");\n}\n;// ./node_modules/@fluent/bundle/esm/memoizer.js\nconst cache = new Map();\nfunction getMemoizerForLocale(locales) {\n const stringLocale = Array.isArray(locales) ? locales.join(\" \") : locales;\n let memoizer = cache.get(stringLocale);\n if (memoizer === undefined) {\n memoizer = new Map();\n cache.set(stringLocale, memoizer);\n }\n return memoizer;\n}\n;// ./node_modules/@fluent/bundle/esm/bundle.js\n\n\n\n\n\nclass FluentBundle {\n constructor(locales, {\n functions,\n useIsolating = true,\n transform = v => v\n } = {}) {\n this._terms = new Map();\n this._messages = new Map();\n this.locales = Array.isArray(locales) ? locales : [locales];\n this._functions = {\n NUMBER: NUMBER,\n DATETIME: DATETIME,\n ...functions\n };\n this._useIsolating = useIsolating;\n this._transform = transform;\n this._intls = getMemoizerForLocale(locales);\n }\n hasMessage(id) {\n return this._messages.has(id);\n }\n getMessage(id) {\n return this._messages.get(id);\n }\n addResource(res, {\n allowOverrides = false\n } = {}) {\n const errors = [];\n for (let i = 0; i < res.body.length; i++) {\n let entry = res.body[i];\n if (entry.id.startsWith(\"-\")) {\n if (allowOverrides === false && this._terms.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing term: \"${entry.id}\"`));\n continue;\n }\n this._terms.set(entry.id, entry);\n } else {\n if (allowOverrides === false && this._messages.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing message: \"${entry.id}\"`));\n continue;\n }\n this._messages.set(entry.id, entry);\n }\n }\n return errors;\n }\n formatPattern(pattern, args = null, errors = null) {\n if (typeof pattern === \"string\") {\n return this._transform(pattern);\n }\n let scope = new Scope(this, errors, args);\n try {\n let value = resolveComplexPattern(scope, pattern);\n return value.toString(scope);\n } catch (err) {\n if (scope.errors && err instanceof Error) {\n scope.errors.push(err);\n return new FluentNone().toString(scope);\n }\n throw err;\n }\n }\n}\n;// ./node_modules/@fluent/bundle/esm/resource.js\nconst RE_MESSAGE_START = /^(-?[a-zA-Z][\\w-]*) *= */gm;\nconst RE_ATTRIBUTE_START = /\\.([a-zA-Z][\\w-]*) *= */y;\nconst RE_VARIANT_START = /\\*?\\[/y;\nconst RE_NUMBER_LITERAL = /(-?[0-9]+(?:\\.([0-9]+))?)/y;\nconst RE_IDENTIFIER = /([a-zA-Z][\\w-]*)/y;\nconst RE_REFERENCE = /([$-])?([a-zA-Z][\\w-]*)(?:\\.([a-zA-Z][\\w-]*))?/y;\nconst RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/;\nconst RE_TEXT_RUN = /([^{}\\n\\r]+)/y;\nconst RE_STRING_RUN = /([^\\\\\"\\n\\r]*)/y;\nconst RE_STRING_ESCAPE = /\\\\([\\\\\"])/y;\nconst RE_UNICODE_ESCAPE = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{6})/y;\nconst RE_LEADING_NEWLINES = /^\\n+/;\nconst RE_TRAILING_SPACES = / +$/;\nconst RE_BLANK_LINES = / *\\r?\\n/g;\nconst RE_INDENT = /( *)$/;\nconst TOKEN_BRACE_OPEN = /{\\s*/y;\nconst TOKEN_BRACE_CLOSE = /\\s*}/y;\nconst TOKEN_BRACKET_OPEN = /\\[\\s*/y;\nconst TOKEN_BRACKET_CLOSE = /\\s*] */y;\nconst TOKEN_PAREN_OPEN = /\\s*\\(\\s*/y;\nconst TOKEN_ARROW = /\\s*->\\s*/y;\nconst TOKEN_COLON = /\\s*:\\s*/y;\nconst TOKEN_COMMA = /\\s*,?\\s*/y;\nconst TOKEN_BLANK = /\\s+/y;\nclass FluentResource {\n constructor(source) {\n this.body = [];\n RE_MESSAGE_START.lastIndex = 0;\n let cursor = 0;\n while (true) {\n let next = RE_MESSAGE_START.exec(source);\n if (next === null) {\n break;\n }\n cursor = RE_MESSAGE_START.lastIndex;\n try {\n this.body.push(parseMessage(next[1]));\n } catch (err) {\n if (err instanceof SyntaxError) {\n continue;\n }\n throw err;\n }\n }\n function test(re) {\n re.lastIndex = cursor;\n return re.test(source);\n }\n function consumeChar(char, errorClass) {\n if (source[cursor] === char) {\n cursor++;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${char}`);\n }\n return false;\n }\n function consumeToken(re, errorClass) {\n if (test(re)) {\n cursor = re.lastIndex;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${re.toString()}`);\n }\n return false;\n }\n function match(re) {\n re.lastIndex = cursor;\n let result = re.exec(source);\n if (result === null) {\n throw new SyntaxError(`Expected ${re.toString()}`);\n }\n cursor = re.lastIndex;\n return result;\n }\n function match1(re) {\n return match(re)[1];\n }\n function parseMessage(id) {\n let value = parsePattern();\n let attributes = parseAttributes();\n if (value === null && Object.keys(attributes).length === 0) {\n throw new SyntaxError(\"Expected message value or attributes\");\n }\n return {\n id,\n value,\n attributes\n };\n }\n function parseAttributes() {\n let attrs = Object.create(null);\n while (test(RE_ATTRIBUTE_START)) {\n let name = match1(RE_ATTRIBUTE_START);\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected attribute value\");\n }\n attrs[name] = value;\n }\n return attrs;\n }\n function parsePattern() {\n let first;\n if (test(RE_TEXT_RUN)) {\n first = match1(RE_TEXT_RUN);\n }\n if (source[cursor] === \"{\" || source[cursor] === \"}\") {\n return parsePatternElements(first ? [first] : [], Infinity);\n }\n let indent = parseIndent();\n if (indent) {\n if (first) {\n return parsePatternElements([first, indent], indent.length);\n }\n indent.value = trim(indent.value, RE_LEADING_NEWLINES);\n return parsePatternElements([indent], indent.length);\n }\n if (first) {\n return trim(first, RE_TRAILING_SPACES);\n }\n return null;\n }\n function parsePatternElements(elements = [], commonIndent) {\n while (true) {\n if (test(RE_TEXT_RUN)) {\n elements.push(match1(RE_TEXT_RUN));\n continue;\n }\n if (source[cursor] === \"{\") {\n elements.push(parsePlaceable());\n continue;\n }\n if (source[cursor] === \"}\") {\n throw new SyntaxError(\"Unbalanced closing brace\");\n }\n let indent = parseIndent();\n if (indent) {\n elements.push(indent);\n commonIndent = Math.min(commonIndent, indent.length);\n continue;\n }\n break;\n }\n let lastIndex = elements.length - 1;\n let lastElement = elements[lastIndex];\n if (typeof lastElement === \"string\") {\n elements[lastIndex] = trim(lastElement, RE_TRAILING_SPACES);\n }\n let baked = [];\n for (let element of elements) {\n if (element instanceof Indent) {\n element = element.value.slice(0, element.value.length - commonIndent);\n }\n if (element) {\n baked.push(element);\n }\n }\n return baked;\n }\n function parsePlaceable() {\n consumeToken(TOKEN_BRACE_OPEN, SyntaxError);\n let selector = parseInlineExpression();\n if (consumeToken(TOKEN_BRACE_CLOSE)) {\n return selector;\n }\n if (consumeToken(TOKEN_ARROW)) {\n let variants = parseVariants();\n consumeToken(TOKEN_BRACE_CLOSE, SyntaxError);\n return {\n type: \"select\",\n selector,\n ...variants\n };\n }\n throw new SyntaxError(\"Unclosed placeable\");\n }\n function parseInlineExpression() {\n if (source[cursor] === \"{\") {\n return parsePlaceable();\n }\n if (test(RE_REFERENCE)) {\n let [, sigil, name, attr = null] = match(RE_REFERENCE);\n if (sigil === \"$\") {\n return {\n type: \"var\",\n name\n };\n }\n if (consumeToken(TOKEN_PAREN_OPEN)) {\n let args = parseArguments();\n if (sigil === \"-\") {\n return {\n type: \"term\",\n name,\n attr,\n args\n };\n }\n if (RE_FUNCTION_NAME.test(name)) {\n return {\n type: \"func\",\n name,\n args\n };\n }\n throw new SyntaxError(\"Function names must be all upper-case\");\n }\n if (sigil === \"-\") {\n return {\n type: \"term\",\n name,\n attr,\n args: []\n };\n }\n return {\n type: \"mesg\",\n name,\n attr\n };\n }\n return parseLiteral();\n }\n function parseArguments() {\n let args = [];\n while (true) {\n switch (source[cursor]) {\n case \")\":\n cursor++;\n return args;\n case undefined:\n throw new SyntaxError(\"Unclosed argument list\");\n }\n args.push(parseArgument());\n consumeToken(TOKEN_COMMA);\n }\n }\n function parseArgument() {\n let expr = parseInlineExpression();\n if (expr.type !== \"mesg\") {\n return expr;\n }\n if (consumeToken(TOKEN_COLON)) {\n return {\n type: \"narg\",\n name: expr.name,\n value: parseLiteral()\n };\n }\n return expr;\n }\n function parseVariants() {\n let variants = [];\n let count = 0;\n let star;\n while (test(RE_VARIANT_START)) {\n if (consumeChar(\"*\")) {\n star = count;\n }\n let key = parseVariantKey();\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected variant value\");\n }\n variants[count++] = {\n key,\n value\n };\n }\n if (count === 0) {\n return null;\n }\n if (star === undefined) {\n throw new SyntaxError(\"Expected default variant\");\n }\n return {\n variants,\n star\n };\n }\n function parseVariantKey() {\n consumeToken(TOKEN_BRACKET_OPEN, SyntaxError);\n let key;\n if (test(RE_NUMBER_LITERAL)) {\n key = parseNumberLiteral();\n } else {\n key = {\n type: \"str\",\n value: match1(RE_IDENTIFIER)\n };\n }\n consumeToken(TOKEN_BRACKET_CLOSE, SyntaxError);\n return key;\n }\n function parseLiteral() {\n if (test(RE_NUMBER_LITERAL)) {\n return parseNumberLiteral();\n }\n if (source[cursor] === '\"') {\n return parseStringLiteral();\n }\n throw new SyntaxError(\"Invalid expression\");\n }\n function parseNumberLiteral() {\n let [, value, fraction = \"\"] = match(RE_NUMBER_LITERAL);\n let precision = fraction.length;\n return {\n type: \"num\",\n value: parseFloat(value),\n precision\n };\n }\n function parseStringLiteral() {\n consumeChar('\"', SyntaxError);\n let value = \"\";\n while (true) {\n value += match1(RE_STRING_RUN);\n if (source[cursor] === \"\\\\\") {\n value += parseEscapeSequence();\n continue;\n }\n if (consumeChar('\"')) {\n return {\n type: \"str\",\n value\n };\n }\n throw new SyntaxError(\"Unclosed string literal\");\n }\n }\n function parseEscapeSequence() {\n if (test(RE_STRING_ESCAPE)) {\n return match1(RE_STRING_ESCAPE);\n }\n if (test(RE_UNICODE_ESCAPE)) {\n let [, codepoint4, codepoint6] = match(RE_UNICODE_ESCAPE);\n let codepoint = parseInt(codepoint4 || codepoint6, 16);\n return codepoint <= 0xd7ff || 0xe000 <= codepoint ? String.fromCodePoint(codepoint) : \"�\";\n }\n throw new SyntaxError(\"Unknown escape sequence\");\n }\n function parseIndent() {\n let start = cursor;\n consumeToken(TOKEN_BLANK);\n switch (source[cursor]) {\n case \".\":\n case \"[\":\n case \"*\":\n case \"}\":\n case undefined:\n return false;\n case \"{\":\n return makeIndent(source.slice(start, cursor));\n }\n if (source[cursor - 1] === \" \") {\n return makeIndent(source.slice(start, cursor));\n }\n return false;\n }\n function trim(text, re) {\n return text.replace(re, \"\");\n }\n function makeIndent(blank) {\n let value = blank.replace(RE_BLANK_LINES, \"\\n\");\n let length = RE_INDENT.exec(blank)[1].length;\n return new Indent(value, length);\n }\n }\n}\nclass Indent {\n constructor(value, length) {\n this.value = value;\n this.length = length;\n }\n}\n;// ./node_modules/@fluent/bundle/esm/index.js\n\n\n\n;// ./node_modules/@fluent/dom/esm/overlay.js\nconst reOverlay = /<|&#?\\w+;/;\nconst TEXT_LEVEL_ELEMENTS = {\n \"http://www.w3.org/1999/xhtml\": [\"em\", \"strong\", \"small\", \"s\", \"cite\", \"q\", \"dfn\", \"abbr\", \"data\", \"time\", \"code\", \"var\", \"samp\", \"kbd\", \"sub\", \"sup\", \"i\", \"b\", \"u\", \"mark\", \"bdi\", \"bdo\", \"span\", \"br\", \"wbr\"]\n};\nconst LOCALIZABLE_ATTRIBUTES = {\n \"http://www.w3.org/1999/xhtml\": {\n global: [\"title\", \"aria-label\", \"aria-valuetext\"],\n a: [\"download\"],\n area: [\"download\", \"alt\"],\n input: [\"alt\", \"placeholder\"],\n menuitem: [\"label\"],\n menu: [\"label\"],\n optgroup: [\"label\"],\n option: [\"label\"],\n track: [\"label\"],\n img: [\"alt\"],\n textarea: [\"placeholder\"],\n th: [\"abbr\"]\n },\n \"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\": {\n global: [\"accesskey\", \"aria-label\", \"aria-valuetext\", \"label\", \"title\", \"tooltiptext\"],\n description: [\"value\"],\n key: [\"key\", \"keycode\"],\n label: [\"value\"],\n textbox: [\"placeholder\", \"value\"]\n }\n};\nfunction translateElement(element, translation) {\n const {\n value\n } = translation;\n if (typeof value === \"string\") {\n if (element.localName === \"title\" && element.namespaceURI === \"http://www.w3.org/1999/xhtml\") {\n element.textContent = value;\n } else if (!reOverlay.test(value)) {\n element.textContent = value;\n } else {\n const templateElement = element.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"template\");\n templateElement.innerHTML = value;\n overlayChildNodes(templateElement.content, element);\n }\n }\n overlayAttributes(translation, element);\n}\nfunction overlayChildNodes(fromFragment, toElement) {\n for (const childNode of fromFragment.childNodes) {\n if (childNode.nodeType === childNode.TEXT_NODE) {\n continue;\n }\n if (childNode.hasAttribute(\"data-l10n-name\")) {\n const sanitized = getNodeForNamedElement(toElement, childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n if (isElementAllowed(childNode)) {\n const sanitized = createSanitizedElement(childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n console.warn(`An element of forbidden type \"${childNode.localName}\" was found in ` + \"the translation. Only safe text-level elements and elements with \" + \"data-l10n-name are allowed.\");\n fromFragment.replaceChild(createTextNodeFromTextContent(childNode), childNode);\n }\n toElement.textContent = \"\";\n toElement.appendChild(fromFragment);\n}\nfunction hasAttribute(attributes, name) {\n if (!attributes) {\n return false;\n }\n for (let attr of attributes) {\n if (attr.name === name) {\n return true;\n }\n }\n return false;\n}\nfunction overlayAttributes(fromElement, toElement) {\n const explicitlyAllowed = toElement.hasAttribute(\"data-l10n-attrs\") ? toElement.getAttribute(\"data-l10n-attrs\").split(\",\").map(i => i.trim()) : null;\n for (const attr of Array.from(toElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) && !hasAttribute(fromElement.attributes, attr.name)) {\n toElement.removeAttribute(attr.name);\n }\n }\n if (!fromElement.attributes) {\n return;\n }\n for (const attr of Array.from(fromElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) && toElement.getAttribute(attr.name) !== attr.value) {\n toElement.setAttribute(attr.name, attr.value);\n }\n }\n}\nfunction getNodeForNamedElement(sourceElement, translatedChild) {\n const childName = translatedChild.getAttribute(\"data-l10n-name\");\n const sourceChild = sourceElement.querySelector(`[data-l10n-name=\"${childName}\"]`);\n if (!sourceChild) {\n console.warn(`An element named \"${childName}\" wasn't found in the source.`);\n return createTextNodeFromTextContent(translatedChild);\n }\n if (sourceChild.localName !== translatedChild.localName) {\n console.warn(`An element named \"${childName}\" was found in the translation ` + `but its type ${translatedChild.localName} didn't match the ` + `element found in the source (${sourceChild.localName}).`);\n return createTextNodeFromTextContent(translatedChild);\n }\n sourceElement.removeChild(sourceChild);\n const clone = sourceChild.cloneNode(false);\n return shallowPopulateUsing(translatedChild, clone);\n}\nfunction createSanitizedElement(element) {\n const clone = element.ownerDocument.createElement(element.localName);\n return shallowPopulateUsing(element, clone);\n}\nfunction createTextNodeFromTextContent(element) {\n return element.ownerDocument.createTextNode(element.textContent);\n}\nfunction isElementAllowed(element) {\n const allowed = TEXT_LEVEL_ELEMENTS[element.namespaceURI];\n return allowed && allowed.includes(element.localName);\n}\nfunction isAttrNameLocalizable(name, element, explicitlyAllowed = null) {\n if (explicitlyAllowed && explicitlyAllowed.includes(name)) {\n return true;\n }\n const allowed = LOCALIZABLE_ATTRIBUTES[element.namespaceURI];\n if (!allowed) {\n return false;\n }\n const attrName = name.toLowerCase();\n const elemName = element.localName;\n if (allowed.global.includes(attrName)) {\n return true;\n }\n if (!allowed[elemName]) {\n return false;\n }\n if (allowed[elemName].includes(attrName)) {\n return true;\n }\n if (element.namespaceURI === \"http://www.w3.org/1999/xhtml\" && elemName === \"input\" && attrName === \"value\") {\n const type = element.type.toLowerCase();\n if (type === \"submit\" || type === \"button\" || type === \"reset\") {\n return true;\n }\n }\n return false;\n}\nfunction shallowPopulateUsing(fromElement, toElement) {\n toElement.textContent = fromElement.textContent;\n overlayAttributes(fromElement, toElement);\n return toElement;\n}\n;// ./node_modules/cached-iterable/src/cached_iterable.mjs\nclass CachedIterable extends Array {\n static from(iterable) {\n if (iterable instanceof this) {\n return iterable;\n }\n return new this(iterable);\n }\n}\n;// ./node_modules/cached-iterable/src/cached_sync_iterable.mjs\n\nclass CachedSyncIterable extends CachedIterable {\n constructor(iterable) {\n super();\n if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n [Symbol.iterator]() {\n const cached = this;\n let cur = 0;\n return {\n next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && last.done) {\n break;\n }\n this.push(this.iterator.next());\n }\n return this[this.length - 1];\n }\n}\n;// ./node_modules/cached-iterable/src/cached_async_iterable.mjs\n\nclass CachedAsyncIterable extends CachedIterable {\n constructor(iterable) {\n super();\n if (Symbol.asyncIterator in Object(iterable)) {\n this.iterator = iterable[Symbol.asyncIterator]();\n } else if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n [Symbol.asyncIterator]() {\n const cached = this;\n let cur = 0;\n return {\n async next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n async touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && (await last).done) {\n break;\n }\n this.push(this.iterator.next());\n }\n return this[this.length - 1];\n }\n}\n;// ./node_modules/cached-iterable/src/index.mjs\n\n\n;// ./node_modules/@fluent/dom/esm/localization.js\n\nclass Localization {\n constructor(resourceIds = [], generateBundles) {\n this.resourceIds = resourceIds;\n this.generateBundles = generateBundles;\n this.onChange(true);\n }\n addResourceIds(resourceIds, eager = false) {\n this.resourceIds.push(...resourceIds);\n this.onChange(eager);\n return this.resourceIds.length;\n }\n removeResourceIds(resourceIds) {\n this.resourceIds = this.resourceIds.filter(r => !resourceIds.includes(r));\n this.onChange();\n return this.resourceIds.length;\n }\n async formatWithFallback(keys, method) {\n const translations = [];\n let hasAtLeastOneBundle = false;\n for await (const bundle of this.bundles) {\n hasAtLeastOneBundle = true;\n const missingIds = keysFromBundle(method, bundle, keys, translations);\n if (missingIds.size === 0) {\n break;\n }\n if (typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const ids = Array.from(missingIds).join(\", \");\n console.warn(`[fluent] Missing translations in ${locale}: ${ids}`);\n }\n }\n if (!hasAtLeastOneBundle && typeof console !== \"undefined\") {\n console.warn(`[fluent] Request for keys failed because no resource bundles got generated.\n keys: ${JSON.stringify(keys)}.\n resourceIds: ${JSON.stringify(this.resourceIds)}.`);\n }\n return translations;\n }\n formatMessages(keys) {\n return this.formatWithFallback(keys, messageFromBundle);\n }\n formatValues(keys) {\n return this.formatWithFallback(keys, valueFromBundle);\n }\n async formatValue(id, args) {\n const [val] = await this.formatValues([{\n id,\n args\n }]);\n return val;\n }\n handleEvent() {\n this.onChange();\n }\n onChange(eager = false) {\n this.bundles = CachedAsyncIterable.from(this.generateBundles(this.resourceIds));\n if (eager) {\n this.bundles.touchNext(2);\n }\n }\n}\nfunction valueFromBundle(bundle, errors, message, args) {\n if (message.value) {\n return bundle.formatPattern(message.value, args, errors);\n }\n return null;\n}\nfunction messageFromBundle(bundle, errors, message, args) {\n const formatted = {\n value: null,\n attributes: null\n };\n if (message.value) {\n formatted.value = bundle.formatPattern(message.value, args, errors);\n }\n let attrNames = Object.keys(message.attributes);\n if (attrNames.length > 0) {\n formatted.attributes = new Array(attrNames.length);\n for (let [i, name] of attrNames.entries()) {\n let value = bundle.formatPattern(message.attributes[name], args, errors);\n formatted.attributes[i] = {\n name,\n value\n };\n }\n }\n return formatted;\n}\nfunction keysFromBundle(method, bundle, keys, translations) {\n const messageErrors = [];\n const missingIds = new Set();\n keys.forEach(({\n id,\n args\n }, i) => {\n if (translations[i] !== undefined) {\n return;\n }\n let message = bundle.getMessage(id);\n if (message) {\n messageErrors.length = 0;\n translations[i] = method(bundle, messageErrors, message, args);\n if (messageErrors.length > 0 && typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const errors = messageErrors.join(\", \");\n console.warn(`[fluent][resolver] errors in ${locale}/${id}: ${errors}.`);\n }\n } else {\n missingIds.add(id);\n }\n });\n return missingIds;\n}\n;// ./node_modules/@fluent/dom/esm/dom_localization.js\n\n\nconst L10NID_ATTR_NAME = \"data-l10n-id\";\nconst L10NARGS_ATTR_NAME = \"data-l10n-args\";\nconst L10N_ELEMENT_QUERY = `[${L10NID_ATTR_NAME}]`;\nclass DOMLocalization extends Localization {\n constructor(resourceIds, generateBundles) {\n super(resourceIds, generateBundles);\n this.roots = new Set();\n this.pendingrAF = null;\n this.pendingElements = new Set();\n this.windowElement = null;\n this.mutationObserver = null;\n this.observerConfig = {\n attributes: true,\n characterData: false,\n childList: true,\n subtree: true,\n attributeFilter: [L10NID_ATTR_NAME, L10NARGS_ATTR_NAME]\n };\n }\n onChange(eager = false) {\n super.onChange(eager);\n if (this.roots) {\n this.translateRoots();\n }\n }\n setAttributes(element, id, args) {\n element.setAttribute(L10NID_ATTR_NAME, id);\n if (args) {\n element.setAttribute(L10NARGS_ATTR_NAME, JSON.stringify(args));\n } else {\n element.removeAttribute(L10NARGS_ATTR_NAME);\n }\n return element;\n }\n getAttributes(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null)\n };\n }\n connectRoot(newRoot) {\n for (const root of this.roots) {\n if (root === newRoot || root.contains(newRoot) || newRoot.contains(root)) {\n throw new Error(\"Cannot add a root that overlaps with existing root.\");\n }\n }\n if (this.windowElement) {\n if (this.windowElement !== newRoot.ownerDocument.defaultView) {\n throw new Error(`Cannot connect a root:\n DOMLocalization already has a root from a different window.`);\n }\n } else {\n this.windowElement = newRoot.ownerDocument.defaultView;\n this.mutationObserver = new this.windowElement.MutationObserver(mutations => this.translateMutations(mutations));\n }\n this.roots.add(newRoot);\n this.mutationObserver.observe(newRoot, this.observerConfig);\n }\n disconnectRoot(root) {\n this.roots.delete(root);\n this.pauseObserving();\n if (this.roots.size === 0) {\n this.mutationObserver = null;\n if (this.windowElement && this.pendingrAF) {\n this.windowElement.cancelAnimationFrame(this.pendingrAF);\n }\n this.windowElement = null;\n this.pendingrAF = null;\n this.pendingElements.clear();\n return true;\n }\n this.resumeObserving();\n return false;\n }\n translateRoots() {\n const roots = Array.from(this.roots);\n return Promise.all(roots.map(root => this.translateFragment(root)));\n }\n pauseObserving() {\n if (!this.mutationObserver) {\n return;\n }\n this.translateMutations(this.mutationObserver.takeRecords());\n this.mutationObserver.disconnect();\n }\n resumeObserving() {\n if (!this.mutationObserver) {\n return;\n }\n for (const root of this.roots) {\n this.mutationObserver.observe(root, this.observerConfig);\n }\n }\n translateMutations(mutations) {\n for (const mutation of mutations) {\n switch (mutation.type) {\n case \"attributes\":\n if (mutation.target.hasAttribute(\"data-l10n-id\")) {\n this.pendingElements.add(mutation.target);\n }\n break;\n case \"childList\":\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType === addedNode.ELEMENT_NODE) {\n if (addedNode.childElementCount) {\n for (const element of this.getTranslatables(addedNode)) {\n this.pendingElements.add(element);\n }\n } else if (addedNode.hasAttribute(L10NID_ATTR_NAME)) {\n this.pendingElements.add(addedNode);\n }\n }\n }\n break;\n }\n }\n if (this.pendingElements.size > 0) {\n if (this.pendingrAF === null) {\n this.pendingrAF = this.windowElement.requestAnimationFrame(() => {\n this.translateElements(Array.from(this.pendingElements));\n this.pendingElements.clear();\n this.pendingrAF = null;\n });\n }\n }\n }\n translateFragment(frag) {\n return this.translateElements(this.getTranslatables(frag));\n }\n async translateElements(elements) {\n if (!elements.length) {\n return undefined;\n }\n const keys = elements.map(this.getKeysForElement);\n const translations = await this.formatMessages(keys);\n return this.applyTranslations(elements, translations);\n }\n applyTranslations(elements, translations) {\n this.pauseObserving();\n for (let i = 0; i < elements.length; i++) {\n if (translations[i] !== undefined) {\n translateElement(elements[i], translations[i]);\n }\n }\n this.resumeObserving();\n }\n getTranslatables(element) {\n const nodes = Array.from(element.querySelectorAll(L10N_ELEMENT_QUERY));\n if (typeof element.hasAttribute === \"function\" && element.hasAttribute(L10NID_ATTR_NAME)) {\n nodes.push(element);\n }\n return nodes;\n }\n getKeysForElement(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null)\n };\n }\n}\n;// ./node_modules/@fluent/dom/esm/index.js\n\n\n;// ./web/l10n.js\nclass L10n {\n #dir;\n #elements;\n #lang;\n #l10n;\n constructor({\n lang,\n isRTL\n }, l10n = null) {\n this.#lang = L10n.#fixupLangCode(lang);\n this.#l10n = l10n;\n this.#dir = isRTL ?? L10n.#isRTL(this.#lang) ? \"rtl\" : \"ltr\";\n }\n _setL10n(l10n) {\n this.#l10n = l10n;\n }\n getLanguage() {\n return this.#lang;\n }\n getDirection() {\n return this.#dir;\n }\n async get(ids, args = null, fallback) {\n if (Array.isArray(ids)) {\n ids = ids.map(id => ({\n id\n }));\n const messages = await this.#l10n.formatMessages(ids);\n return messages.map(message => message.value);\n }\n const messages = await this.#l10n.formatMessages([{\n id: ids,\n args\n }]);\n return messages[0]?.value || fallback;\n }\n async translate(element) {\n (this.#elements ||= new Set()).add(element);\n try {\n this.#l10n.connectRoot(element);\n await this.#l10n.translateRoots();\n } catch {}\n }\n async translateOnce(element) {\n try {\n await this.#l10n.translateElements([element]);\n } catch (ex) {\n console.error(`translateOnce: \"${ex}\".`);\n }\n }\n async destroy() {\n if (this.#elements) {\n for (const element of this.#elements) {\n this.#l10n.disconnectRoot(element);\n }\n this.#elements.clear();\n this.#elements = null;\n }\n this.#l10n.pauseObserving();\n }\n pause() {\n this.#l10n.pauseObserving();\n }\n resume() {\n this.#l10n.resumeObserving();\n }\n static #fixupLangCode(langCode) {\n langCode = langCode?.toLowerCase() || \"en-us\";\n const PARTIAL_LANG_CODES = {\n en: \"en-us\",\n es: \"es-es\",\n fy: \"fy-nl\",\n ga: \"ga-ie\",\n gu: \"gu-in\",\n hi: \"hi-in\",\n hy: \"hy-am\",\n nb: \"nb-no\",\n ne: \"ne-np\",\n nn: \"nn-no\",\n pa: \"pa-in\",\n pt: \"pt-pt\",\n sv: \"sv-se\",\n zh: \"zh-cn\"\n };\n return PARTIAL_LANG_CODES[langCode] || langCode;\n }\n static #isRTL(lang) {\n const shortCode = lang.split(\"-\", 1)[0];\n return [\"ar\", \"he\", \"fa\", \"ps\", \"ur\"].includes(shortCode);\n }\n}\nconst GenericL10n = null;\n\n;// ./web/genericl10n.js\n\n\n\n\nfunction createBundle(lang, text) {\n const resource = new FluentResource(text);\n const bundle = new FluentBundle(lang);\n const errors = bundle.addResource(resource);\n if (errors.length) {\n console.error(\"L10n errors\", errors);\n }\n return bundle;\n}\nclass genericl10n_GenericL10n extends L10n {\n constructor(lang) {\n super({\n lang\n });\n const generateBundles = !lang ? genericl10n_GenericL10n.#generateBundlesFallback.bind(genericl10n_GenericL10n, this.getLanguage()) : genericl10n_GenericL10n.#generateBundles.bind(genericl10n_GenericL10n, \"en-us\", this.getLanguage());\n this._setL10n(new DOMLocalization([], generateBundles));\n }\n static async *#generateBundles(defaultLang, baseLang) {\n const {\n baseURL,\n paths\n } = await this.#getPaths();\n const langs = [baseLang];\n if (defaultLang !== baseLang) {\n const shortLang = baseLang.split(\"-\", 1)[0];\n if (shortLang !== baseLang) {\n langs.push(shortLang);\n }\n langs.push(defaultLang);\n }\n for (const lang of langs) {\n const bundle = await this.#createBundle(lang, baseURL, paths);\n if (bundle) {\n yield bundle;\n } else if (lang === \"en-us\") {\n yield this.#createBundleFallback(lang);\n }\n }\n }\n static async #createBundle(lang, baseURL, paths) {\n const path = paths[lang];\n if (!path) {\n return null;\n }\n const url = new URL(path, baseURL);\n const text = await fetchData(url, \"text\");\n return createBundle(lang, text);\n }\n static async #getPaths() {\n try {\n const {\n href\n } = document.querySelector(`link[type=\"application/l10n\"]`);\n const paths = await fetchData(href, \"json\");\n return {\n baseURL: href.replace(/[^/]*$/, \"\") || \"./\",\n paths\n };\n } catch {}\n return {\n baseURL: \"./\",\n paths: Object.create(null)\n };\n }\n static async *#generateBundlesFallback(lang) {\n yield this.#createBundleFallback(lang);\n }\n static async #createBundleFallback(lang) {\n const text = \"pdfjs-previous-button =\\n .title = Previous Page\\npdfjs-previous-button-label = Previous\\npdfjs-next-button =\\n .title = Next Page\\npdfjs-next-button-label = Next\\npdfjs-page-input =\\n .title = Page\\npdfjs-of-pages = of { $pagesCount }\\npdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })\\npdfjs-zoom-out-button =\\n .title = Zoom Out\\npdfjs-zoom-out-button-label = Zoom Out\\npdfjs-zoom-in-button =\\n .title = Zoom In\\npdfjs-zoom-in-button-label = Zoom In\\npdfjs-zoom-select =\\n .title = Zoom\\npdfjs-presentation-mode-button =\\n .title = Switch to Presentation Mode\\npdfjs-presentation-mode-button-label = Presentation Mode\\npdfjs-open-file-button =\\n .title = Open File\\npdfjs-open-file-button-label = Open\\npdfjs-print-button =\\n .title = Print\\npdfjs-print-button-label = Print\\npdfjs-save-button =\\n .title = Save\\npdfjs-save-button-label = Save\\npdfjs-download-button =\\n .title = Download\\npdfjs-download-button-label = Download\\npdfjs-bookmark-button =\\n .title = Current Page (View URL from Current Page)\\npdfjs-bookmark-button-label = Current Page\\npdfjs-tools-button =\\n .title = Tools\\npdfjs-tools-button-label = Tools\\npdfjs-first-page-button =\\n .title = Go to First Page\\npdfjs-first-page-button-label = Go to First Page\\npdfjs-last-page-button =\\n .title = Go to Last Page\\npdfjs-last-page-button-label = Go to Last Page\\npdfjs-page-rotate-cw-button =\\n .title = Rotate Clockwise\\npdfjs-page-rotate-cw-button-label = Rotate Clockwise\\npdfjs-page-rotate-ccw-button =\\n .title = Rotate Counterclockwise\\npdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise\\npdfjs-cursor-text-select-tool-button =\\n .title = Enable Text Selection Tool\\npdfjs-cursor-text-select-tool-button-label = Text Selection Tool\\npdfjs-cursor-hand-tool-button =\\n .title = Enable Hand Tool\\npdfjs-cursor-hand-tool-button-label = Hand Tool\\npdfjs-scroll-page-button =\\n .title = Use Page Scrolling\\npdfjs-scroll-page-button-label = Page Scrolling\\npdfjs-scroll-vertical-button =\\n .title = Use Vertical Scrolling\\npdfjs-scroll-vertical-button-label = Vertical Scrolling\\npdfjs-scroll-horizontal-button =\\n .title = Use Horizontal Scrolling\\npdfjs-scroll-horizontal-button-label = Horizontal Scrolling\\npdfjs-scroll-wrapped-button =\\n .title = Use Wrapped Scrolling\\npdfjs-scroll-wrapped-button-label = Wrapped Scrolling\\npdfjs-spread-none-button =\\n .title = Do not join page spreads\\npdfjs-spread-none-button-label = No Spreads\\npdfjs-spread-odd-button =\\n .title = Join page spreads starting with odd-numbered pages\\npdfjs-spread-odd-button-label = Odd Spreads\\npdfjs-spread-even-button =\\n .title = Join page spreads starting with even-numbered pages\\npdfjs-spread-even-button-label = Even Spreads\\npdfjs-document-properties-button =\\n .title = Document Properties\\u2026\\npdfjs-document-properties-button-label = Document Properties\\u2026\\npdfjs-document-properties-file-name = File name:\\npdfjs-document-properties-file-size = File size:\\npdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)\\npdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)\\npdfjs-document-properties-title = Title:\\npdfjs-document-properties-author = Author:\\npdfjs-document-properties-subject = Subject:\\npdfjs-document-properties-keywords = Keywords:\\npdfjs-document-properties-creation-date = Creation Date:\\npdfjs-document-properties-modification-date = Modification Date:\\npdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: \\\"short\\\", timeStyle: \\\"medium\\\") }\\npdfjs-document-properties-creator = Creator:\\npdfjs-document-properties-producer = PDF Producer:\\npdfjs-document-properties-version = PDF Version:\\npdfjs-document-properties-page-count = Page Count:\\npdfjs-document-properties-page-size = Page Size:\\npdfjs-document-properties-page-size-unit-inches = in\\npdfjs-document-properties-page-size-unit-millimeters = mm\\npdfjs-document-properties-page-size-orientation-portrait = portrait\\npdfjs-document-properties-page-size-orientation-landscape = landscape\\npdfjs-document-properties-page-size-name-a-three = A3\\npdfjs-document-properties-page-size-name-a-four = A4\\npdfjs-document-properties-page-size-name-letter = Letter\\npdfjs-document-properties-page-size-name-legal = Legal\\npdfjs-document-properties-page-size-dimension-string = { $width } \\xD7 { $height } { $unit } ({ $orientation })\\npdfjs-document-properties-page-size-dimension-name-string = { $width } \\xD7 { $height } { $unit } ({ $name }, { $orientation })\\npdfjs-document-properties-linearized = Fast Web View:\\npdfjs-document-properties-linearized-yes = Yes\\npdfjs-document-properties-linearized-no = No\\npdfjs-document-properties-close-button = Close\\npdfjs-print-progress-message = Preparing document for printing\\u2026\\npdfjs-print-progress-percent = { $progress }%\\npdfjs-print-progress-close-button = Cancel\\npdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.\\npdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.\\npdfjs-toggle-sidebar-button =\\n .title = Toggle Sidebar\\npdfjs-toggle-sidebar-notification-button =\\n .title = Toggle Sidebar (document contains outline/attachments/layers)\\npdfjs-toggle-sidebar-button-label = Toggle Sidebar\\npdfjs-document-outline-button =\\n .title = Show Document Outline (double-click to expand/collapse all items)\\npdfjs-document-outline-button-label = Document Outline\\npdfjs-attachments-button =\\n .title = Show Attachments\\npdfjs-attachments-button-label = Attachments\\npdfjs-layers-button =\\n .title = Show Layers (double-click to reset all layers to the default state)\\npdfjs-layers-button-label = Layers\\npdfjs-thumbs-button =\\n .title = Show Thumbnails\\npdfjs-thumbs-button-label = Thumbnails\\npdfjs-current-outline-item-button =\\n .title = Find Current Outline Item\\npdfjs-current-outline-item-button-label = Current Outline Item\\npdfjs-findbar-button =\\n .title = Find in Document\\npdfjs-findbar-button-label = Find\\npdfjs-additional-layers = Additional Layers\\npdfjs-thumb-page-title =\\n .title = Page { $page }\\npdfjs-thumb-page-canvas =\\n .aria-label = Thumbnail of Page { $page }\\npdfjs-find-input =\\n .title = Find\\n .placeholder = Find in document\\u2026\\npdfjs-find-previous-button =\\n .title = Find the previous occurrence of the phrase\\npdfjs-find-previous-button-label = Previous\\npdfjs-find-next-button =\\n .title = Find the next occurrence of the phrase\\npdfjs-find-next-button-label = Next\\npdfjs-find-highlight-checkbox = Highlight All\\npdfjs-find-match-case-checkbox-label = Match Case\\npdfjs-find-match-diacritics-checkbox-label = Match Diacritics\\npdfjs-find-entire-word-checkbox-label = Whole Words\\npdfjs-find-reached-top = Reached top of document, continued from bottom\\npdfjs-find-reached-bottom = Reached end of document, continued from top\\npdfjs-find-match-count =\\n { $total ->\\n [one] { $current } of { $total } match\\n *[other] { $current } of { $total } matches\\n }\\npdfjs-find-match-count-limit =\\n { $limit ->\\n [one] More than { $limit } match\\n *[other] More than { $limit } matches\\n }\\npdfjs-find-not-found = Phrase not found\\npdfjs-page-scale-width = Page Width\\npdfjs-page-scale-fit = Page Fit\\npdfjs-page-scale-auto = Automatic Zoom\\npdfjs-page-scale-actual = Actual Size\\npdfjs-page-scale-percent = { $scale }%\\npdfjs-page-landmark =\\n .aria-label = Page { $page }\\npdfjs-loading-error = An error occurred while loading the PDF.\\npdfjs-invalid-file-error = Invalid or corrupted PDF file.\\npdfjs-missing-file-error = Missing PDF file.\\npdfjs-unexpected-response-error = Unexpected server response.\\npdfjs-rendering-error = An error occurred while rendering the page.\\npdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: \\\"short\\\", timeStyle: \\\"medium\\\") }\\npdfjs-text-annotation-type =\\n .alt = [{ $type } Annotation]\\npdfjs-password-label = Enter the password to open this PDF file.\\npdfjs-password-invalid = Invalid password. Please try again.\\npdfjs-password-ok-button = OK\\npdfjs-password-cancel-button = Cancel\\npdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.\\npdfjs-editor-free-text-button =\\n .title = Text\\npdfjs-editor-free-text-button-label = Text\\npdfjs-editor-ink-button =\\n .title = Draw\\npdfjs-editor-ink-button-label = Draw\\npdfjs-editor-stamp-button =\\n .title = Add or edit images\\npdfjs-editor-stamp-button-label = Add or edit images\\npdfjs-editor-highlight-button =\\n .title = Highlight\\npdfjs-editor-highlight-button-label = Highlight\\npdfjs-highlight-floating-button1 =\\n .title = Highlight\\n .aria-label = Highlight\\npdfjs-highlight-floating-button-label = Highlight\\npdfjs-editor-remove-ink-button =\\n .title = Remove drawing\\npdfjs-editor-remove-freetext-button =\\n .title = Remove text\\npdfjs-editor-remove-stamp-button =\\n .title = Remove image\\npdfjs-editor-remove-highlight-button =\\n .title = Remove highlight\\npdfjs-editor-free-text-color-input = Color\\npdfjs-editor-free-text-size-input = Size\\npdfjs-editor-ink-color-input = Color\\npdfjs-editor-ink-thickness-input = Thickness\\npdfjs-editor-ink-opacity-input = Opacity\\npdfjs-editor-stamp-add-image-button =\\n .title = Add image\\npdfjs-editor-stamp-add-image-button-label = Add image\\npdfjs-editor-free-highlight-thickness-input = Thickness\\npdfjs-editor-free-highlight-thickness-title =\\n .title = Change thickness when highlighting items other than text\\npdfjs-free-text2 =\\n .aria-label = Text Editor\\n .default-content = Start typing\\u2026\\npdfjs-ink =\\n .aria-label = Draw Editor\\npdfjs-ink-canvas =\\n .aria-label = User-created image\\npdfjs-editor-alt-text-button =\\n .aria-label = Alt text\\npdfjs-editor-alt-text-button-label = Alt text\\npdfjs-editor-alt-text-edit-button =\\n .aria-label = Edit alt text\\npdfjs-editor-alt-text-dialog-label = Choose an option\\npdfjs-editor-alt-text-dialog-description = Alt text (alternative text) helps when people can\\u2019t see the image or when it doesn\\u2019t load.\\npdfjs-editor-alt-text-add-description-label = Add a description\\npdfjs-editor-alt-text-add-description-description = Aim for 1-2 sentences that describe the subject, setting, or actions.\\npdfjs-editor-alt-text-mark-decorative-label = Mark as decorative\\npdfjs-editor-alt-text-mark-decorative-description = This is used for ornamental images, like borders or watermarks.\\npdfjs-editor-alt-text-cancel-button = Cancel\\npdfjs-editor-alt-text-save-button = Save\\npdfjs-editor-alt-text-decorative-tooltip = Marked as decorative\\npdfjs-editor-alt-text-textarea =\\n .placeholder = For example, \\u201CA young man sits down at a table to eat a meal\\u201D\\npdfjs-editor-resizer-top-left =\\n .aria-label = Top left corner \\u2014 resize\\npdfjs-editor-resizer-top-middle =\\n .aria-label = Top middle \\u2014 resize\\npdfjs-editor-resizer-top-right =\\n .aria-label = Top right corner \\u2014 resize\\npdfjs-editor-resizer-middle-right =\\n .aria-label = Middle right \\u2014 resize\\npdfjs-editor-resizer-bottom-right =\\n .aria-label = Bottom right corner \\u2014 resize\\npdfjs-editor-resizer-bottom-middle =\\n .aria-label = Bottom middle \\u2014 resize\\npdfjs-editor-resizer-bottom-left =\\n .aria-label = Bottom left corner \\u2014 resize\\npdfjs-editor-resizer-middle-left =\\n .aria-label = Middle left \\u2014 resize\\npdfjs-editor-highlight-colorpicker-label = Highlight color\\npdfjs-editor-colorpicker-button =\\n .title = Change color\\npdfjs-editor-colorpicker-dropdown =\\n .aria-label = Color choices\\npdfjs-editor-colorpicker-yellow =\\n .title = Yellow\\npdfjs-editor-colorpicker-green =\\n .title = Green\\npdfjs-editor-colorpicker-blue =\\n .title = Blue\\npdfjs-editor-colorpicker-pink =\\n .title = Pink\\npdfjs-editor-colorpicker-red =\\n .title = Red\\npdfjs-editor-highlight-show-all-button-label = Show all\\npdfjs-editor-highlight-show-all-button =\\n .title = Show all\\npdfjs-editor-new-alt-text-dialog-edit-label = Edit alt text (image description)\\npdfjs-editor-new-alt-text-dialog-add-label = Add alt text (image description)\\npdfjs-editor-new-alt-text-textarea =\\n .placeholder = Write your description here\\u2026\\npdfjs-editor-new-alt-text-description = Short description for people who can\\u2019t see the image or when the image doesn\\u2019t load.\\npdfjs-editor-new-alt-text-disclaimer1 = This alt text was created automatically and may be inaccurate.\\npdfjs-editor-new-alt-text-disclaimer-learn-more-url = Learn more\\npdfjs-editor-new-alt-text-create-automatically-button-label = Create alt text automatically\\npdfjs-editor-new-alt-text-not-now-button = Not now\\npdfjs-editor-new-alt-text-error-title = Couldn\\u2019t create alt text automatically\\npdfjs-editor-new-alt-text-error-description = Please write your own alt text or try again later.\\npdfjs-editor-new-alt-text-error-close-button = Close\\npdfjs-editor-new-alt-text-ai-model-downloading-progress = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\\n .aria-valuetext = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\\npdfjs-editor-new-alt-text-added-button =\\n .aria-label = Alt text added\\npdfjs-editor-new-alt-text-added-button-label = Alt text added\\npdfjs-editor-new-alt-text-missing-button =\\n .aria-label = Missing alt text\\npdfjs-editor-new-alt-text-missing-button-label = Missing alt text\\npdfjs-editor-new-alt-text-to-review-button =\\n .aria-label = Review alt text\\npdfjs-editor-new-alt-text-to-review-button-label = Review alt text\\npdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Created automatically: { $generatedAltText }\\npdfjs-image-alt-text-settings-button =\\n .title = Image alt text settings\\npdfjs-image-alt-text-settings-button-label = Image alt text settings\\npdfjs-editor-alt-text-settings-dialog-label = Image alt text settings\\npdfjs-editor-alt-text-settings-automatic-title = Automatic alt text\\npdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically\\npdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can\\u2019t see the image or when the image doesn\\u2019t load.\\npdfjs-editor-alt-text-settings-download-model-label = Alt text AI model ({ $totalSize } MB)\\npdfjs-editor-alt-text-settings-ai-model-description = Runs locally on your device so your data stays private. Required for automatic alt text.\\npdfjs-editor-alt-text-settings-delete-model-button = Delete\\npdfjs-editor-alt-text-settings-download-model-button = Download\\npdfjs-editor-alt-text-settings-downloading-model-button = Downloading\\u2026\\npdfjs-editor-alt-text-settings-editor-title = Alt text editor\\npdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image\\npdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.\\npdfjs-editor-alt-text-settings-close-button = Close\";\n return createBundle(lang, text);\n }\n}\n\n;// ./web/pdf_history.js\n\n\nconst HASH_CHANGE_TIMEOUT = 1000;\nconst POSITION_UPDATED_THRESHOLD = 50;\nconst UPDATE_VIEWAREA_TIMEOUT = 1000;\nfunction getCurrentHash() {\n return document.location.hash;\n}\nclass PDFHistory {\n #eventAbortController = null;\n constructor({\n linkService,\n eventBus\n }) {\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this.eventBus._on(\"pagesinit\", () => {\n this._isPagesLoaded = false;\n this.eventBus._on(\"pagesloaded\", evt => {\n this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\n });\n }\n initialize({\n fingerprint,\n resetHistory = false,\n updateUrl = false\n }) {\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n if (this._initialized) {\n this.reset();\n }\n const reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n this.#bindEvents();\n const state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n if (!this.#isValidState(state, true) || resetHistory) {\n const {\n hash,\n page,\n rotation\n } = this.#parseCurrentHash(true);\n if (!hash || reInitialized || resetHistory) {\n this.#pushOrReplaceState(null, true);\n return;\n }\n this.#pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n const destination = state.destination;\n this.#updateInternalState(destination, state.uid, true);\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = `page=${destination.page}`;\n }\n }\n reset() {\n if (this._initialized) {\n this.#pageHide();\n this._initialized = false;\n this.#unbindEvents();\n }\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n push({\n namedDest = null,\n explicitDest,\n pageNumber\n }) {\n if (!this._initialized) {\n return;\n }\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + `\"${namedDest}\" is not a valid namedDest parameter.`);\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + `\"${explicitDest}\" is not a valid explicitDest parameter.`);\n return;\n } else if (!this.#isValidPage(pageNumber)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n }\n const hash = namedDest || JSON.stringify(explicitDest);\n if (!hash) {\n return;\n }\n let forceReplace = false;\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n forceReplace = true;\n }\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n this.#pushOrReplaceState({\n dest: explicitDest,\n hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushPage(pageNumber) {\n if (!this._initialized) {\n return;\n }\n if (!this.#isValidPage(pageNumber)) {\n console.error(`PDFHistory.pushPage: \"${pageNumber}\" is not a valid page number.`);\n return;\n }\n if (this._destination?.page === pageNumber) {\n return;\n }\n if (this._popStateInProgress) {\n return;\n }\n this.#pushOrReplaceState({\n dest: null,\n hash: `page=${pageNumber}`,\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n this.#tryPushCurrentPosition();\n }\n back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this.#isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this.#isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n get popStateInProgress() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n get initialBookmark() {\n return this._initialized ? this._initialBookmark : null;\n }\n get initialRotation() {\n return this._initialized ? this._initialRotation : null;\n }\n #pushOrReplaceState(destination, forceReplace = false) {\n const shouldReplace = forceReplace || !this._destination;\n const newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination\n };\n this.#updateInternalState(destination, newState.uid);\n let newUrl;\n if (this._updateUrl && destination?.hash) {\n const baseUrl = document.location.href.split(\"#\", 1)[0];\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = `${baseUrl}#${destination.hash}`;\n }\n }\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n #tryPushCurrentPosition(temporary = false) {\n if (!this._position) {\n return;\n }\n let position = this._position;\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n if (!this._destination) {\n this.#pushOrReplaceState(position);\n return;\n }\n if (this._destination.temporary) {\n this.#pushOrReplaceState(position, true);\n return;\n }\n if (this._destination.hash === position.hash) {\n return;\n }\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n let forceReplace = false;\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest !== undefined || !this._destination.first) {\n return;\n }\n forceReplace = true;\n }\n this.#pushOrReplaceState(position, forceReplace);\n }\n #isValidPage(val) {\n return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;\n }\n #isValidState(state, checkReload = false) {\n if (!state) {\n return false;\n }\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n const [perfEntry] = performance.getEntriesByType(\"navigation\");\n if (perfEntry?.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n if (state.destination === null || typeof state.destination !== \"object\") {\n return false;\n }\n return true;\n }\n #updateInternalState(destination, uid, removeTemporary = false) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n if (removeTemporary && destination?.temporary) {\n delete destination.temporary;\n }\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, uid);\n this._numPositionUpdates = 0;\n }\n #parseCurrentHash(checkNameddest = false) {\n const hash = unescape(getCurrentHash()).substring(1);\n const params = parseQueryString(hash);\n const nameddest = params.get(\"nameddest\") || \"\";\n let page = params.get(\"page\") | 0;\n if (!this.#isValidPage(page) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n return {\n hash,\n page,\n rotation: this.linkService.rotation\n };\n }\n #updateViewarea({\n location\n }) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._position = {\n hash: location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n if (this._popStateInProgress) {\n return;\n }\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(() => {\n if (!this._popStateInProgress) {\n this.#tryPushCurrentPosition(true);\n }\n this._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n #popState({\n state\n }) {\n const newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n if (!state) {\n this._uid++;\n const {\n hash,\n page,\n rotation\n } = this.#parseCurrentHash();\n this.#pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n if (!this.#isValidState(state)) {\n return;\n }\n this._popStateInProgress = true;\n if (hashChanged) {\n this._blockHashChange++;\n waitOnEventOrTimeout({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(() => {\n this._blockHashChange--;\n });\n }\n const destination = state.destination;\n this.#updateInternalState(destination, state.uid, true);\n if (isValidRotation(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n if (destination.dest) {\n this.linkService.goToDestination(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n #pageHide() {\n if (!this._destination || this._destination.temporary) {\n this.#tryPushCurrentPosition();\n }\n }\n #bindEvents() {\n if (this.#eventAbortController) {\n return;\n }\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n this.eventBus._on(\"updateviewarea\", this.#updateViewarea.bind(this), {\n signal\n });\n window.addEventListener(\"popstate\", this.#popState.bind(this), {\n signal\n });\n window.addEventListener(\"pagehide\", this.#pageHide.bind(this), {\n signal\n });\n }\n #unbindEvents() {\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n }\n}\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n if (destHash === pushHash) {\n return true;\n }\n const nameddest = parseQueryString(destHash).get(\"nameddest\");\n if (nameddest === pushHash) {\n return true;\n }\n return false;\n}\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (typeof first !== typeof second) {\n return false;\n }\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n if (first !== null && typeof first === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (const key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n }\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n for (let i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n return true;\n}\n\n;// ./web/annotation_editor_layer_builder.js\n\n\nclass AnnotationEditorLayerBuilder {\n #annotationLayer = null;\n #drawLayer = null;\n #onAppend = null;\n #structTreeLayer = null;\n #textLayer = null;\n #uiManager;\n constructor(options) {\n this.pdfPage = options.pdfPage;\n this.accessibilityManager = options.accessibilityManager;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this.annotationEditorLayer = null;\n this.div = null;\n this._cancelled = false;\n this.#uiManager = options.uiManager;\n this.#annotationLayer = options.annotationLayer || null;\n this.#textLayer = options.textLayer || null;\n this.#drawLayer = options.drawLayer || null;\n this.#onAppend = options.onAppend || null;\n this.#structTreeLayer = options.structTreeLayer || null;\n }\n async render(viewport, intent = \"display\") {\n if (intent !== \"display\") {\n return;\n }\n if (this._cancelled) {\n return;\n }\n const clonedViewport = viewport.clone({\n dontFlip: true\n });\n if (this.div) {\n this.annotationEditorLayer.update({\n viewport: clonedViewport\n });\n this.show();\n return;\n }\n const div = this.div = document.createElement(\"div\");\n div.className = \"annotationEditorLayer\";\n div.hidden = true;\n div.dir = this.#uiManager.direction;\n this.#onAppend?.(div);\n this.annotationEditorLayer = new AnnotationEditorLayer({\n uiManager: this.#uiManager,\n div,\n structTreeLayer: this.#structTreeLayer,\n accessibilityManager: this.accessibilityManager,\n pageIndex: this.pdfPage.pageNumber - 1,\n l10n: this.l10n,\n viewport: clonedViewport,\n annotationLayer: this.#annotationLayer,\n textLayer: this.#textLayer,\n drawLayer: this.#drawLayer\n });\n const parameters = {\n viewport: clonedViewport,\n div,\n annotations: null,\n intent\n };\n this.annotationEditorLayer.render(parameters);\n this.show();\n }\n cancel() {\n this._cancelled = true;\n if (!this.div) {\n return;\n }\n this.annotationEditorLayer.destroy();\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n show() {\n if (!this.div || this.annotationEditorLayer.isInvisible) {\n return;\n }\n this.div.hidden = false;\n }\n}\n\n;// ./web/app_options.js\n{\n var compatParams = new Map();\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n const isAndroid = /Android/.test(userAgent);\n const isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n (function () {\n if (isIOS || isAndroid) {\n compatParams.set(\"maxCanvasPixels\", 5242880);\n }\n })();\n (function () {\n if (isAndroid) {\n compatParams.set(\"useSystemFonts\", false);\n }\n })();\n}\nconst OptionKind = {\n BROWSER: 0x01,\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n EVENT_DISPATCH: 0x10,\n PREFERENCE: 0x80\n};\nconst Type = {\n BOOLEAN: 0x01,\n NUMBER: 0x02,\n OBJECT: 0x04,\n STRING: 0x08,\n UNDEFINED: 0x10\n};\nconst defaultOptions = {\n allowedGlobalEvents: {\n value: null,\n kind: OptionKind.BROWSER\n },\n canvasMaxAreaInBytes: {\n value: -1,\n kind: OptionKind.BROWSER + OptionKind.API\n },\n isInAutomation: {\n value: false,\n kind: OptionKind.BROWSER\n },\n localeProperties: {\n value: {\n lang: navigator.language || \"en-US\"\n },\n kind: OptionKind.BROWSER\n },\n nimbusDataStr: {\n value: \"\",\n kind: OptionKind.BROWSER\n },\n supportsCaretBrowsingMode: {\n value: false,\n kind: OptionKind.BROWSER\n },\n supportsDocumentFonts: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsIntegratedFind: {\n value: false,\n kind: OptionKind.BROWSER\n },\n supportsMouseWheelZoomCtrlKey: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsMouseWheelZoomMetaKey: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsPinchToZoom: {\n value: true,\n kind: OptionKind.BROWSER\n },\n toolbarDensity: {\n value: 0,\n kind: OptionKind.BROWSER + OptionKind.EVENT_DISPATCH\n },\n altTextLearnMoreUrl: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n annotationEditorMode: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n annotationMode: {\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cursorToolOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n debuggerSrc: {\n value: \"./debugger.mjs\",\n kind: OptionKind.VIEWER\n },\n defaultZoomDelay: {\n value: 400,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultZoomValue: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n disableHistory: {\n value: false,\n kind: OptionKind.VIEWER\n },\n disablePageLabels: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableAltText: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableAltTextModelDownload: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE + OptionKind.EVENT_DISPATCH\n },\n enableGuessAltText: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE + OptionKind.EVENT_DISPATCH\n },\n enableHighlightFloatingButton: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableNewAltTextWhenAddingImage: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePermissions: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePrintAutoRotate: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableScripting: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableUpdatedAddImage: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n externalLinkRel: {\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER\n },\n externalLinkTarget: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n highlightEditorColors: {\n value: \"yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n historyUpdateUrl: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n ignoreDestinationZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n imageResourcesPath: {\n value: \"./images/\",\n kind: OptionKind.VIEWER\n },\n maxCanvasPixels: {\n value: 2 ** 25,\n kind: OptionKind.VIEWER\n },\n forcePageColors: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsBackground: {\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsForeground: {\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pdfBugEnabled: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n printResolution: {\n value: 150,\n kind: OptionKind.VIEWER\n },\n sidebarViewOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n scrollModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n spreadModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n textLayerMode: {\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cMapPacked: {\n value: true,\n kind: OptionKind.API\n },\n cMapUrl: {\n value: \"../web/cmaps/\",\n kind: OptionKind.API\n },\n disableAutoFetch: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableFontFace: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableRange: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableStream: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n docBaseUrl: {\n value: \"\",\n kind: OptionKind.API\n },\n enableHWA: {\n value: true,\n kind: OptionKind.API + OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableXfa: {\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n fontExtraProperties: {\n value: false,\n kind: OptionKind.API\n },\n isEvalSupported: {\n value: true,\n kind: OptionKind.API\n },\n isOffscreenCanvasSupported: {\n value: true,\n kind: OptionKind.API\n },\n maxImageSize: {\n value: -1,\n kind: OptionKind.API\n },\n pdfBug: {\n value: false,\n kind: OptionKind.API\n },\n standardFontDataUrl: {\n value: \"../web/standard_fonts/\",\n kind: OptionKind.API\n },\n useSystemFonts: {\n value: undefined,\n kind: OptionKind.API,\n type: Type.BOOLEAN + Type.UNDEFINED\n },\n verbosity: {\n value: 1,\n kind: OptionKind.API\n },\n workerPort: {\n value: null,\n kind: OptionKind.WORKER\n },\n workerSrc: {\n value: \"../build/pdf.worker.mjs\",\n kind: OptionKind.WORKER\n }\n};\n{\n defaultOptions.defaultUrl = {\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.sandboxBundleSrc = {\n value: \"../build/pdf.sandbox.mjs\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.viewerCssTheme = {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n };\n defaultOptions.enableFakeMLManager = {\n value: true,\n kind: OptionKind.VIEWER\n };\n}\n{\n defaultOptions.disablePreferences = {\n value: false,\n kind: OptionKind.VIEWER\n };\n}\nclass AppOptions {\n static eventBus;\n static #opts = new Map();\n static {\n for (const name in defaultOptions) {\n this.#opts.set(name, defaultOptions[name].value);\n }\n for (const [name, value] of compatParams) {\n this.#opts.set(name, value);\n }\n this._hasInvokedSet = false;\n this._checkDisablePreferences = () => {\n if (this.get(\"disablePreferences\")) {\n return true;\n }\n if (this._hasInvokedSet) {\n console.warn(\"The Preferences may override manually set AppOptions; \" + 'please use the \"disablePreferences\"-option to prevent that.');\n }\n return false;\n };\n }\n static get(name) {\n return this.#opts.get(name);\n }\n static getAll(kind = null, defaultOnly = false) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOpt = defaultOptions[name];\n if (kind && !(kind & defaultOpt.kind)) {\n continue;\n }\n options[name] = !defaultOnly ? this.#opts.get(name) : defaultOpt.value;\n }\n return options;\n }\n static set(name, value) {\n this.setAll({\n [name]: value\n });\n }\n static setAll(options, prefs = false) {\n this._hasInvokedSet ||= true;\n let events;\n for (const name in options) {\n const defaultOpt = defaultOptions[name],\n userOpt = options[name];\n if (!defaultOpt || !(typeof userOpt === typeof defaultOpt.value || Type[(typeof userOpt).toUpperCase()] & defaultOpt.type)) {\n continue;\n }\n const {\n kind\n } = defaultOpt;\n if (prefs && !(kind & OptionKind.BROWSER || kind & OptionKind.PREFERENCE)) {\n continue;\n }\n if (this.eventBus && kind & OptionKind.EVENT_DISPATCH) {\n (events ||= new Map()).set(name, userOpt);\n }\n this.#opts.set(name, userOpt);\n }\n if (events) {\n for (const [name, value] of events) {\n this.eventBus.dispatch(name.toLowerCase(), {\n source: this,\n value\n });\n }\n }\n }\n}\n\n;// ./web/draw_layer_builder.js\n\nclass DrawLayerBuilder {\n #drawLayer = null;\n constructor(options) {\n this.pageIndex = options.pageIndex;\n }\n async render(intent = \"display\") {\n if (intent !== \"display\" || this.#drawLayer || this._cancelled) {\n return;\n }\n this.#drawLayer = new DrawLayer({\n pageIndex: this.pageIndex\n });\n }\n cancel() {\n this._cancelled = true;\n if (!this.#drawLayer) {\n return;\n }\n this.#drawLayer.destroy();\n this.#drawLayer = null;\n }\n setParent(parent) {\n this.#drawLayer?.setParent(parent);\n }\n getDrawLayer() {\n return this.#drawLayer;\n }\n}\n\n;// ./web/struct_tree_layer_builder.js\n\nconst PDF_ROLE_TO_HTML_ROLE = {\n Document: null,\n DocumentFragment: null,\n Part: \"group\",\n Sect: \"group\",\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n P: null,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n Sub: \"group\",\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n Caption: null,\n Figure: \"figure\",\n Formula: null,\n Artifact: null\n};\nconst HEADING_PATTERN = /^H(\\d+)$/;\nclass StructTreeLayerBuilder {\n #promise;\n #treeDom = null;\n #treePromise;\n #elementAttributes = new Map();\n #rawDims;\n #elementsToAddToTextLayer = null;\n constructor(pdfPage, rawDims) {\n this.#promise = pdfPage.getStructTree();\n this.#rawDims = rawDims;\n }\n async render() {\n if (this.#treePromise) {\n return this.#treePromise;\n }\n const {\n promise,\n resolve,\n reject\n } = Promise.withResolvers();\n this.#treePromise = promise;\n try {\n this.#treeDom = this.#walk(await this.#promise);\n } catch (ex) {\n reject(ex);\n }\n this.#promise = null;\n this.#treeDom?.classList.add(\"structTree\");\n resolve(this.#treeDom);\n return promise;\n }\n async getAriaAttributes(annotationId) {\n try {\n await this.render();\n return this.#elementAttributes.get(annotationId);\n } catch {}\n return null;\n }\n hide() {\n if (this.#treeDom && !this.#treeDom.hidden) {\n this.#treeDom.hidden = true;\n }\n }\n show() {\n if (this.#treeDom?.hidden) {\n this.#treeDom.hidden = false;\n }\n }\n #setAttributes(structElement, htmlElement) {\n const {\n alt,\n id,\n lang\n } = structElement;\n if (alt !== undefined) {\n let added = false;\n const label = removeNullCharacters(alt);\n for (const child of structElement.children) {\n if (child.type === \"annotation\") {\n let attrs = this.#elementAttributes.get(child.id);\n if (!attrs) {\n attrs = new Map();\n this.#elementAttributes.set(child.id, attrs);\n }\n attrs.set(\"aria-label\", label);\n added = true;\n }\n }\n if (!added) {\n htmlElement.setAttribute(\"aria-label\", label);\n }\n }\n if (id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", id);\n }\n if (lang !== undefined) {\n htmlElement.setAttribute(\"lang\", removeNullCharacters(lang, true));\n }\n }\n #addImageInTextLayer(node, element) {\n const {\n alt,\n bbox,\n children\n } = node;\n const child = children?.[0];\n if (!this.#rawDims || !alt || !bbox || child?.type !== \"content\") {\n return false;\n }\n const {\n id\n } = child;\n if (!id) {\n return false;\n }\n element.setAttribute(\"aria-owns\", id);\n const img = document.createElement(\"span\");\n (this.#elementsToAddToTextLayer ||= new Map()).set(id, img);\n img.setAttribute(\"role\", \"img\");\n img.setAttribute(\"aria-label\", removeNullCharacters(alt));\n const {\n pageHeight,\n pageX,\n pageY\n } = this.#rawDims;\n const calc = \"calc(var(--scale-factor)*\";\n const {\n style\n } = img;\n style.width = `${calc}${bbox[2] - bbox[0]}px)`;\n style.height = `${calc}${bbox[3] - bbox[1]}px)`;\n style.left = `${calc}${bbox[0] - pageX}px)`;\n style.top = `${calc}${pageHeight - bbox[3] + pageY}px)`;\n return true;\n }\n addElementsToTextLayer() {\n if (!this.#elementsToAddToTextLayer) {\n return;\n }\n for (const [id, img] of this.#elementsToAddToTextLayer) {\n document.getElementById(id)?.append(img);\n }\n this.#elementsToAddToTextLayer.clear();\n this.#elementsToAddToTextLayer = null;\n }\n #walk(node) {\n if (!node) {\n return null;\n }\n const element = document.createElement(\"span\");\n if (\"role\" in node) {\n const {\n role\n } = node;\n const match = role.match(HEADING_PATTERN);\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n if (role === \"Figure\" && this.#addImageInTextLayer(node, element)) {\n return element;\n }\n }\n this.#setAttributes(node, element);\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n this.#setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.append(this.#walk(kid));\n }\n }\n }\n return element;\n }\n}\n\n;// ./web/text_accessibility.js\n\nclass TextAccessibilityManager {\n #enabled = false;\n #textChildren = null;\n #textNodes = new Map();\n #waitingElements = new Map();\n setTextMapping(textDivs) {\n this.#textChildren = textDivs;\n }\n static #compareElementPositions(e1, e2) {\n const rect1 = e1.getBoundingClientRect();\n const rect2 = e2.getBoundingClientRect();\n if (rect1.width === 0 && rect1.height === 0) {\n return +1;\n }\n if (rect2.width === 0 && rect2.height === 0) {\n return -1;\n }\n const top1 = rect1.y;\n const bot1 = rect1.y + rect1.height;\n const mid1 = rect1.y + rect1.height / 2;\n const top2 = rect2.y;\n const bot2 = rect2.y + rect2.height;\n const mid2 = rect2.y + rect2.height / 2;\n if (mid1 <= top2 && mid2 >= bot1) {\n return -1;\n }\n if (mid2 <= top1 && mid1 >= bot2) {\n return +1;\n }\n const centerX1 = rect1.x + rect1.width / 2;\n const centerX2 = rect2.x + rect2.width / 2;\n return centerX1 - centerX2;\n }\n enable() {\n if (this.#enabled) {\n throw new Error(\"TextAccessibilityManager is already enabled.\");\n }\n if (!this.#textChildren) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n this.#enabled = true;\n this.#textChildren = this.#textChildren.slice();\n this.#textChildren.sort(TextAccessibilityManager.#compareElementPositions);\n if (this.#textNodes.size > 0) {\n const textChildren = this.#textChildren;\n for (const [id, nodeIndex] of this.#textNodes) {\n const element = document.getElementById(id);\n if (!element) {\n this.#textNodes.delete(id);\n continue;\n }\n this.#addIdToAriaOwns(id, textChildren[nodeIndex]);\n }\n }\n for (const [element, isRemovable] of this.#waitingElements) {\n this.addPointerInTextLayer(element, isRemovable);\n }\n this.#waitingElements.clear();\n }\n disable() {\n if (!this.#enabled) {\n return;\n }\n this.#waitingElements.clear();\n this.#textChildren = null;\n this.#enabled = false;\n }\n removePointerInTextLayer(element) {\n if (!this.#enabled) {\n this.#waitingElements.delete(element);\n return;\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return;\n }\n const {\n id\n } = element;\n const nodeIndex = this.#textNodes.get(id);\n if (nodeIndex === undefined) {\n return;\n }\n const node = children[nodeIndex];\n this.#textNodes.delete(id);\n let owns = node.getAttribute(\"aria-owns\");\n if (owns?.includes(id)) {\n owns = owns.split(\" \").filter(x => x !== id).join(\" \");\n if (owns) {\n node.setAttribute(\"aria-owns\", owns);\n } else {\n node.removeAttribute(\"aria-owns\");\n node.setAttribute(\"role\", \"presentation\");\n }\n }\n }\n #addIdToAriaOwns(id, node) {\n const owns = node.getAttribute(\"aria-owns\");\n if (!owns?.includes(id)) {\n node.setAttribute(\"aria-owns\", owns ? `${owns} ${id}` : id);\n }\n node.removeAttribute(\"role\");\n }\n addPointerInTextLayer(element, isRemovable) {\n const {\n id\n } = element;\n if (!id) {\n return null;\n }\n if (!this.#enabled) {\n this.#waitingElements.set(element, isRemovable);\n return null;\n }\n if (isRemovable) {\n this.removePointerInTextLayer(element);\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return null;\n }\n const index = binarySearchFirstItem(children, node => TextAccessibilityManager.#compareElementPositions(element, node) < 0);\n const nodeIndex = Math.max(0, index - 1);\n const child = children[nodeIndex];\n this.#addIdToAriaOwns(id, child);\n this.#textNodes.set(id, nodeIndex);\n const parent = child.parentNode;\n return parent?.classList.contains(\"markedContent\") ? parent.id : null;\n }\n moveElementInDOM(container, element, contentElement, isRemovable) {\n const id = this.addPointerInTextLayer(contentElement, isRemovable);\n if (!container.hasChildNodes()) {\n container.append(element);\n return id;\n }\n const children = Array.from(container.childNodes).filter(node => node !== element);\n if (children.length === 0) {\n return id;\n }\n const elementToCompare = contentElement || element;\n const index = binarySearchFirstItem(children, node => TextAccessibilityManager.#compareElementPositions(elementToCompare, node) < 0);\n if (index === 0) {\n children[0].before(element);\n } else {\n children[index - 1].after(element);\n }\n return id;\n }\n}\n\n;// ./web/text_highlighter.js\nclass TextHighlighter {\n #eventAbortController = null;\n constructor({\n findController,\n eventBus,\n pageIndex\n }) {\n this.findController = findController;\n this.matches = [];\n this.eventBus = eventBus;\n this.pageIdx = pageIndex;\n this.textDivs = null;\n this.textContentItemsStr = null;\n this.enabled = false;\n }\n setTextMapping(divs, texts) {\n this.textDivs = divs;\n this.textContentItemsStr = texts;\n }\n enable() {\n if (!this.textDivs || !this.textContentItemsStr) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n if (this.enabled) {\n throw new Error(\"TextHighlighter is already enabled.\");\n }\n this.enabled = true;\n if (!this.#eventAbortController) {\n this.#eventAbortController = new AbortController();\n this.eventBus._on(\"updatetextlayermatches\", evt => {\n if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n this._updateMatches();\n }\n }, {\n signal: this.#eventAbortController.signal\n });\n }\n this._updateMatches();\n }\n disable() {\n if (!this.enabled) {\n return;\n }\n this.enabled = false;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this._updateMatches(true);\n }\n _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n const {\n textContentItemsStr\n } = this;\n let i = 0,\n iIndex = 0;\n const end = textContentItemsStr.length - 1;\n const result = [];\n for (let m = 0, mm = matches.length; m < mm; m++) {\n let matchIdx = matches[m];\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n const match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n matchIdx += matchesLength[m];\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n return result;\n }\n _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n const {\n findController,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n const isSelectedPage = pageIdx === findController.selected.pageIdx;\n const selectedMatchIdx = findController.selected.matchIdx;\n const highlightAll = findController.state.highlightAll;\n let prevEnd = null;\n const infinity = {\n divIdx: -1,\n offset: undefined\n };\n function beginText(begin, className) {\n const divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n return appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n let div = textDivs[divIdx];\n if (div.nodeType === Node.TEXT_NODE) {\n const span = document.createElement(\"span\");\n div.before(span);\n span.append(div);\n textDivs[divIdx] = span;\n div = span;\n }\n const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n const node = document.createTextNode(content);\n if (className) {\n const span = document.createElement(\"span\");\n span.className = `${className} appended`;\n span.append(node);\n div.append(span);\n return className.includes(\"selected\") ? span.offsetLeft : 0;\n }\n div.append(node);\n return 0;\n }\n let i0 = selectedMatchIdx,\n i1 = i0 + 1;\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n let lastDivIdx = -1;\n let lastOffset = -1;\n for (let i = i0; i < i1; i++) {\n const match = matches[i];\n const begin = match.begin;\n if (begin.divIdx === lastDivIdx && begin.offset === lastOffset) {\n continue;\n }\n lastDivIdx = begin.divIdx;\n lastOffset = begin.offset;\n const end = match.end;\n const isSelected = isSelectedPage && i === selectedMatchIdx;\n const highlightSuffix = isSelected ? \" selected\" : \"\";\n let selectedLeft = 0;\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n if (begin.divIdx === end.divIdx) {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n prevEnd = end;\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n selectedLeft,\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n }\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n _updateMatches(reset = false) {\n if (!this.enabled && !reset) {\n return;\n }\n const {\n findController,\n matches,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n let clearedUntilDivIdx = -1;\n for (const match of matches) {\n const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n const div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n if (!findController?.highlightMatches || reset) {\n return;\n }\n const pageMatches = findController.pageMatches[pageIdx] || null;\n const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n this._renderMatches(this.matches);\n }\n}\n\n;// ./web/text_layer_builder.js\n\n\nclass TextLayerBuilder {\n #enablePermissions = false;\n #onAppend = null;\n #renderingDone = false;\n #textLayer = null;\n static #textLayers = new Map();\n static #selectionChangeAbortController = null;\n constructor({\n pdfPage,\n highlighter = null,\n accessibilityManager = null,\n enablePermissions = false,\n onAppend = null\n }) {\n this.pdfPage = pdfPage;\n this.highlighter = highlighter;\n this.accessibilityManager = accessibilityManager;\n this.#enablePermissions = enablePermissions === true;\n this.#onAppend = onAppend;\n this.div = document.createElement(\"div\");\n this.div.tabIndex = 0;\n this.div.className = \"textLayer\";\n }\n async render(viewport, textContentParams = null) {\n if (this.#renderingDone && this.#textLayer) {\n this.#textLayer.update({\n viewport,\n onBefore: this.hide.bind(this)\n });\n this.show();\n return;\n }\n this.cancel();\n this.#textLayer = new TextLayer({\n textContentSource: this.pdfPage.streamTextContent(textContentParams || {\n includeMarkedContent: true,\n disableNormalization: true\n }),\n container: this.div,\n viewport\n });\n const {\n textDivs,\n textContentItemsStr\n } = this.#textLayer;\n this.highlighter?.setTextMapping(textDivs, textContentItemsStr);\n this.accessibilityManager?.setTextMapping(textDivs);\n await this.#textLayer.render();\n this.#renderingDone = true;\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.div.append(endOfContent);\n this.#bindMouse(endOfContent);\n this.#onAppend?.(this.div);\n this.highlighter?.enable();\n this.accessibilityManager?.enable();\n }\n hide() {\n if (!this.div.hidden && this.#renderingDone) {\n this.highlighter?.disable();\n this.div.hidden = true;\n }\n }\n show() {\n if (this.div.hidden && this.#renderingDone) {\n this.div.hidden = false;\n this.highlighter?.enable();\n }\n }\n cancel() {\n this.#textLayer?.cancel();\n this.#textLayer = null;\n this.highlighter?.disable();\n this.accessibilityManager?.disable();\n TextLayerBuilder.#removeGlobalSelectionListener(this.div);\n }\n #bindMouse(end) {\n const {\n div\n } = this;\n div.addEventListener(\"mousedown\", () => {\n div.classList.add(\"selecting\");\n });\n div.addEventListener(\"copy\", event => {\n if (!this.#enablePermissions) {\n const selection = document.getSelection();\n event.clipboardData.setData(\"text/plain\", removeNullCharacters(normalizeUnicode(selection.toString())));\n }\n event.preventDefault();\n event.stopPropagation();\n });\n TextLayerBuilder.#textLayers.set(div, end);\n TextLayerBuilder.#enableGlobalSelectionListener();\n }\n static #removeGlobalSelectionListener(textLayerDiv) {\n this.#textLayers.delete(textLayerDiv);\n if (this.#textLayers.size === 0) {\n this.#selectionChangeAbortController?.abort();\n this.#selectionChangeAbortController = null;\n }\n }\n static #enableGlobalSelectionListener() {\n if (this.#selectionChangeAbortController) {\n return;\n }\n this.#selectionChangeAbortController = new AbortController();\n const {\n signal\n } = this.#selectionChangeAbortController;\n const reset = (end, textLayer) => {\n textLayer.append(end);\n end.style.width = \"\";\n end.style.height = \"\";\n textLayer.classList.remove(\"selecting\");\n };\n let isPointerDown = false;\n document.addEventListener(\"pointerdown\", () => {\n isPointerDown = true;\n }, {\n signal\n });\n document.addEventListener(\"pointerup\", () => {\n isPointerDown = false;\n this.#textLayers.forEach(reset);\n }, {\n signal\n });\n window.addEventListener(\"blur\", () => {\n isPointerDown = false;\n this.#textLayers.forEach(reset);\n }, {\n signal\n });\n document.addEventListener(\"keyup\", () => {\n if (!isPointerDown) {\n this.#textLayers.forEach(reset);\n }\n }, {\n signal\n });\n var isFirefox, prevRange;\n document.addEventListener(\"selectionchange\", () => {\n const selection = document.getSelection();\n if (selection.rangeCount === 0) {\n this.#textLayers.forEach(reset);\n return;\n }\n const activeTextLayers = new Set();\n for (let i = 0; i < selection.rangeCount; i++) {\n const range = selection.getRangeAt(i);\n for (const textLayerDiv of this.#textLayers.keys()) {\n if (!activeTextLayers.has(textLayerDiv) && range.intersectsNode(textLayerDiv)) {\n activeTextLayers.add(textLayerDiv);\n }\n }\n }\n for (const [textLayerDiv, endDiv] of this.#textLayers) {\n if (activeTextLayers.has(textLayerDiv)) {\n textLayerDiv.classList.add(\"selecting\");\n } else {\n reset(endDiv, textLayerDiv);\n }\n }\n isFirefox ??= getComputedStyle(this.#textLayers.values().next().value).getPropertyValue(\"-moz-user-select\") === \"none\";\n if (isFirefox) {\n return;\n }\n const range = selection.getRangeAt(0);\n const modifyStart = prevRange && (range.compareBoundaryPoints(Range.END_TO_END, prevRange) === 0 || range.compareBoundaryPoints(Range.START_TO_END, prevRange) === 0);\n let anchor = modifyStart ? range.startContainer : range.endContainer;\n if (anchor.nodeType === Node.TEXT_NODE) {\n anchor = anchor.parentNode;\n }\n const parentTextLayer = anchor.parentElement?.closest(\".textLayer\");\n const endDiv = this.#textLayers.get(parentTextLayer);\n if (endDiv) {\n endDiv.style.width = parentTextLayer.style.width;\n endDiv.style.height = parentTextLayer.style.height;\n anchor.parentElement.insertBefore(endDiv, modifyStart ? anchor : anchor.nextSibling);\n }\n prevRange = range.cloneRange();\n }, {\n signal\n });\n }\n}\n\n;// ./web/xfa_layer_builder.js\n\nclass XfaLayerBuilder {\n constructor({\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null\n }) {\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n this.div = null;\n this._cancelled = false;\n }\n async render(viewport, intent = \"display\") {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n this.div = document.createElement(\"div\");\n parameters.div = this.div;\n return XfaLayer.render(parameters);\n }\n const xfaHtml = await this.pdfPage.getXfa();\n if (this._cancelled || !xfaHtml) {\n return {\n textDivs: []\n };\n }\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n if (this.div) {\n return XfaLayer.update(parameters);\n }\n this.div = document.createElement(\"div\");\n parameters.div = this.div;\n return XfaLayer.render(parameters);\n }\n cancel() {\n this._cancelled = true;\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\n\n;// ./web/pdf_page_view.js\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst DEFAULT_LAYER_PROPERTIES = {\n annotationEditorUIManager: null,\n annotationStorage: null,\n downloadManager: null,\n enableScripting: false,\n fieldObjectsPromise: null,\n findController: null,\n hasJSActionsPromise: null,\n get linkService() {\n return new SimpleLinkService();\n }\n};\nconst LAYERS_ORDER = new Map([[\"canvasWrapper\", 0], [\"textLayer\", 1], [\"annotationLayer\", 2], [\"annotationEditorLayer\", 3], [\"xfaLayer\", 3]]);\nclass PDFPageView {\n #annotationMode = AnnotationMode.ENABLE_FORMS;\n #enableHWA = false;\n #hasRestrictedScaling = false;\n #isEditing = false;\n #layerProperties = null;\n #loadingId = null;\n #previousRotation = null;\n #scaleRoundX = 1;\n #scaleRoundY = 1;\n #renderError = null;\n #renderingState = RenderingStates.INITIAL;\n #textLayerMode = TextLayerMode.ENABLE;\n #useThumbnailCanvas = {\n directDrawing: true,\n initialOptionalContent: true,\n regularAnnotations: true\n };\n #viewportMap = new WeakMap();\n #layers = [null, null, null, null];\n constructor(options) {\n const container = options.container;\n const defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.#layerProperties = options.layerProperties || DEFAULT_LAYER_PROPERTIES;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.#textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.maxCanvasPixels = options.maxCanvasPixels ?? AppOptions.get(\"maxCanvasPixels\");\n this.pageColors = options.pageColors || null;\n this.#enableHWA = options.enableHWA || false;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this.renderTask = null;\n this.resume = null;\n this._isStandalone = !this.renderingQueue?.hasViewer();\n this._container = container;\n this._annotationCanvasMap = null;\n this.annotationLayer = null;\n this.annotationEditorLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n this.xfaLayer = null;\n this.structTreeLayer = null;\n this.drawLayer = null;\n const div = document.createElement(\"div\");\n div.className = \"page\";\n div.setAttribute(\"data-page-number\", this.id);\n div.setAttribute(\"role\", \"region\");\n div.setAttribute(\"data-l10n-id\", \"pdfjs-page-landmark\");\n div.setAttribute(\"data-l10n-args\", JSON.stringify({\n page: this.id\n }));\n this.div = div;\n this.#setDimensions();\n container?.append(div);\n if (this._isStandalone) {\n container?.style.setProperty(\"--scale-factor\", this.scale * PixelsPerInch.PDF_TO_CSS_UNITS);\n if (this.pageColors?.background) {\n container?.style.setProperty(\"--page-bg-color\", this.pageColors.background);\n }\n const {\n optionalContentConfigPromise\n } = options;\n if (optionalContentConfigPromise) {\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n if (!options.l10n) {\n this.l10n.translate(this.div);\n }\n }\n }\n #addLayer(div, name) {\n const pos = LAYERS_ORDER.get(name);\n const oldDiv = this.#layers[pos];\n this.#layers[pos] = div;\n if (oldDiv) {\n oldDiv.replaceWith(div);\n return;\n }\n for (let i = pos - 1; i >= 0; i--) {\n const layer = this.#layers[i];\n if (layer) {\n layer.after(div);\n return;\n }\n }\n this.div.prepend(div);\n }\n get renderingState() {\n return this.#renderingState;\n }\n set renderingState(state) {\n if (state === this.#renderingState) {\n return;\n }\n this.#renderingState = state;\n if (this.#loadingId) {\n clearTimeout(this.#loadingId);\n this.#loadingId = null;\n }\n switch (state) {\n case RenderingStates.PAUSED:\n this.div.classList.remove(\"loading\");\n break;\n case RenderingStates.RUNNING:\n this.div.classList.add(\"loadingIcon\");\n this.#loadingId = setTimeout(() => {\n this.div.classList.add(\"loading\");\n this.#loadingId = null;\n }, 0);\n break;\n case RenderingStates.INITIAL:\n case RenderingStates.FINISHED:\n this.div.classList.remove(\"loadingIcon\", \"loading\");\n break;\n }\n }\n #setDimensions() {\n const {\n viewport\n } = this;\n if (this.pdfPage) {\n if (this.#previousRotation === viewport.rotation) {\n return;\n }\n this.#previousRotation = viewport.rotation;\n }\n setLayerDimensions(this.div, viewport, true, false);\n }\n setPdfPage(pdfPage) {\n if (this._isStandalone && (this.pageColors?.foreground === \"CanvasText\" || this.pageColors?.background === \"Canvas\")) {\n this._container?.style.setProperty(\"--hcm-highlight-filter\", pdfPage.filterFactory.addHighlightHCMFilter(\"highlight\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n this._container?.style.setProperty(\"--hcm-highlight-selected-filter\", pdfPage.filterFactory.addHighlightHCMFilter(\"highlight_selected\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n }\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n this.reset();\n }\n destroy() {\n this.reset();\n this.pdfPage?.cleanup();\n }\n hasEditableAnnotations() {\n return !!this.annotationLayer?.hasEditableAnnotations();\n }\n get _textHighlighter() {\n return shadow(this, \"_textHighlighter\", new TextHighlighter({\n pageIndex: this.id - 1,\n eventBus: this.eventBus,\n findController: this.#layerProperties.findController\n }));\n }\n #dispatchLayerRendered(name, error) {\n this.eventBus.dispatch(name, {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n async #renderAnnotationLayer() {\n let error = null;\n try {\n await this.annotationLayer.render(this.viewport, {\n structTreeLayer: this.structTreeLayer\n }, \"display\");\n } catch (ex) {\n console.error(`#renderAnnotationLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.#dispatchLayerRendered(\"annotationlayerrendered\", error);\n }\n }\n async #renderAnnotationEditorLayer() {\n let error = null;\n try {\n await this.annotationEditorLayer.render(this.viewport, \"display\");\n } catch (ex) {\n console.error(`#renderAnnotationEditorLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.#dispatchLayerRendered(\"annotationeditorlayerrendered\", error);\n }\n }\n async #renderDrawLayer() {\n try {\n await this.drawLayer.render(\"display\");\n } catch (ex) {\n console.error(`#renderDrawLayer: \"${ex}\".`);\n }\n }\n async #renderXfaLayer() {\n let error = null;\n try {\n const result = await this.xfaLayer.render(this.viewport, \"display\");\n if (result?.textDivs && this._textHighlighter) {\n this.#buildXfaTextContentItems(result.textDivs);\n }\n } catch (ex) {\n console.error(`#renderXfaLayer: \"${ex}\".`);\n error = ex;\n } finally {\n if (this.xfaLayer?.div) {\n this.l10n.pause();\n this.#addLayer(this.xfaLayer.div, \"xfaLayer\");\n this.l10n.resume();\n }\n this.#dispatchLayerRendered(\"xfalayerrendered\", error);\n }\n }\n async #renderTextLayer() {\n if (!this.textLayer) {\n return;\n }\n let error = null;\n try {\n await this.textLayer.render(this.viewport);\n } catch (ex) {\n if (ex instanceof AbortException) {\n return;\n }\n console.error(`#renderTextLayer: \"${ex}\".`);\n error = ex;\n }\n this.#dispatchLayerRendered(\"textlayerrendered\", error);\n this.#renderStructTreeLayer();\n }\n async #renderStructTreeLayer() {\n if (!this.textLayer) {\n return;\n }\n const treeDom = await this.structTreeLayer?.render();\n if (treeDom) {\n this.l10n.pause();\n this.structTreeLayer?.addElementsToTextLayer();\n if (this.canvas && treeDom.parentNode !== this.canvas) {\n this.canvas.append(treeDom);\n }\n this.l10n.resume();\n }\n this.structTreeLayer?.show();\n }\n async #buildXfaTextContentItems(textDivs) {\n const text = await this.pdfPage.getTextContent();\n const items = [];\n for (const item of text.items) {\n items.push(item.str);\n }\n this._textHighlighter.setTextMapping(textDivs, items);\n this._textHighlighter.enable();\n }\n _resetZoomLayer(removeFromDOM = false) {\n if (!this.zoomLayer) {\n return;\n }\n const zoomLayerCanvas = this.zoomLayer.firstChild;\n this.#viewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n this.zoomLayer = null;\n }\n reset({\n keepZoomLayer = false,\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false\n } = {}) {\n this.cancelRendering({\n keepAnnotationLayer,\n keepAnnotationEditorLayer,\n keepXfaLayer,\n keepTextLayer\n });\n this.renderingState = RenderingStates.INITIAL;\n const div = this.div;\n const childNodes = div.childNodes,\n zoomLayerNode = keepZoomLayer && this.zoomLayer || null,\n annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null,\n annotationEditorLayerNode = keepAnnotationEditorLayer && this.annotationEditorLayer?.div || null,\n xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null,\n textLayerNode = keepTextLayer && this.textLayer?.div || null;\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const node = childNodes[i];\n switch (node) {\n case zoomLayerNode:\n case annotationLayerNode:\n case annotationEditorLayerNode:\n case xfaLayerNode:\n case textLayerNode:\n continue;\n }\n node.remove();\n const layerIndex = this.#layers.indexOf(node);\n if (layerIndex >= 0) {\n this.#layers[layerIndex] = null;\n }\n }\n div.removeAttribute(\"data-loaded\");\n if (annotationLayerNode) {\n this.annotationLayer.hide();\n }\n if (annotationEditorLayerNode) {\n this.annotationEditorLayer.hide();\n }\n if (xfaLayerNode) {\n this.xfaLayer.hide();\n }\n if (textLayerNode) {\n this.textLayer.hide();\n }\n this.structTreeLayer?.hide();\n if (!zoomLayerNode) {\n if (this.canvas) {\n this.#viewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n this._resetZoomLayer();\n }\n }\n toggleEditingMode(isEditing) {\n if (!this.hasEditableAnnotations()) {\n return;\n }\n this.#isEditing = isEditing;\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true\n });\n }\n update({\n scale = 0,\n rotation = null,\n optionalContentConfigPromise = null,\n drawingDelay = -1\n }) {\n this.scale = scale || this.scale;\n if (typeof rotation === \"number\") {\n this.rotation = rotation;\n }\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n this.#useThumbnailCanvas.directDrawing = true;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n if (this._isStandalone) {\n this._container?.style.setProperty(\"--scale-factor\", this.viewport.scale);\n }\n if (this.canvas) {\n let onlyCssZoom = false;\n if (this.#hasRestrictedScaling) {\n if (this.maxCanvasPixels === 0) {\n onlyCssZoom = true;\n } else if (this.maxCanvasPixels > 0) {\n const {\n width,\n height\n } = this.viewport;\n const {\n sx,\n sy\n } = this.outputScale;\n onlyCssZoom = (Math.floor(width) * sx | 0) * (Math.floor(height) * sy | 0) > this.maxCanvasPixels;\n }\n }\n const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;\n if (postponeDrawing || onlyCssZoom) {\n if (postponeDrawing && !onlyCssZoom && this.renderingState !== RenderingStates.FINISHED) {\n this.cancelRendering({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true,\n cancelExtraDelay: drawingDelay\n });\n this.renderingState = RenderingStates.FINISHED;\n this.#useThumbnailCanvas.directDrawing = false;\n }\n this.cssTransform({\n target: this.canvas,\n redrawAnnotationLayer: true,\n redrawAnnotationEditorLayer: true,\n redrawXfaLayer: true,\n redrawTextLayer: !postponeDrawing,\n hideTextLayer: postponeDrawing\n });\n if (postponeDrawing) {\n return;\n }\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this.#renderError\n });\n return;\n }\n if (!this.zoomLayer && !this.canvas.hidden) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n if (this.zoomLayer) {\n this.cssTransform({\n target: this.zoomLayer.firstChild\n });\n }\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true\n });\n }\n cancelRendering({\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false,\n cancelExtraDelay = 0\n } = {}) {\n if (this.renderTask) {\n this.renderTask.cancel(cancelExtraDelay);\n this.renderTask = null;\n }\n this.resume = null;\n if (this.textLayer && (!keepTextLayer || !this.textLayer.div)) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n this._annotationCanvasMap = null;\n }\n if (this.structTreeLayer && !this.textLayer) {\n this.structTreeLayer = null;\n }\n if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div)) {\n if (this.drawLayer) {\n this.drawLayer.cancel();\n this.drawLayer = null;\n }\n this.annotationEditorLayer.cancel();\n this.annotationEditorLayer = null;\n }\n if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {\n this.xfaLayer.cancel();\n this.xfaLayer = null;\n this._textHighlighter?.disable();\n }\n }\n cssTransform({\n target,\n redrawAnnotationLayer = false,\n redrawAnnotationEditorLayer = false,\n redrawXfaLayer = false,\n redrawTextLayer = false,\n hideTextLayer = false\n }) {\n if (!target.hasAttribute(\"zooming\")) {\n target.setAttribute(\"zooming\", true);\n const {\n style\n } = target;\n style.width = style.height = \"\";\n }\n const originalViewport = this.#viewportMap.get(target);\n if (this.viewport !== originalViewport) {\n const relativeRotation = this.viewport.rotation - originalViewport.rotation;\n const absRotation = Math.abs(relativeRotation);\n let scaleX = 1,\n scaleY = 1;\n if (absRotation === 90 || absRotation === 270) {\n const {\n width,\n height\n } = this.viewport;\n scaleX = height / width;\n scaleY = width / height;\n }\n target.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX}, ${scaleY})`;\n }\n if (redrawAnnotationLayer && this.annotationLayer) {\n this.#renderAnnotationLayer();\n }\n if (redrawAnnotationEditorLayer && this.annotationEditorLayer) {\n if (this.drawLayer) {\n this.#renderDrawLayer();\n }\n this.#renderAnnotationEditorLayer();\n }\n if (redrawXfaLayer && this.xfaLayer) {\n this.#renderXfaLayer();\n }\n if (this.textLayer) {\n if (hideTextLayer) {\n this.textLayer.hide();\n this.structTreeLayer?.hide();\n } else if (redrawTextLayer) {\n this.#renderTextLayer();\n }\n }\n }\n get width() {\n return this.viewport.width;\n }\n get height() {\n return this.viewport.height;\n }\n getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n async #finishRenderTask(renderTask, error = null) {\n if (renderTask === this.renderTask) {\n this.renderTask = null;\n }\n if (error instanceof RenderingCancelledException) {\n this.#renderError = null;\n return;\n }\n this.#renderError = error;\n this.renderingState = RenderingStates.FINISHED;\n this._resetZoomLayer(true);\n this.#useThumbnailCanvas.regularAnnotations = !renderTask.separateAnnots;\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: false,\n timestamp: performance.now(),\n error: this.#renderError\n });\n if (error) {\n throw error;\n }\n }\n async draw() {\n if (this.renderingState !== RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n const {\n div,\n l10n,\n pageColors,\n pdfPage,\n viewport\n } = this;\n if (!pdfPage) {\n this.renderingState = RenderingStates.FINISHED;\n throw new Error(\"pdfPage is not loaded\");\n }\n this.renderingState = RenderingStates.RUNNING;\n const canvasWrapper = document.createElement(\"div\");\n canvasWrapper.classList.add(\"canvasWrapper\");\n this.#addLayer(canvasWrapper, \"canvasWrapper\");\n if (!this.textLayer && this.#textLayerMode !== TextLayerMode.DISABLE && !pdfPage.isPureXfa) {\n this._accessibilityManager ||= new TextAccessibilityManager();\n this.textLayer = new TextLayerBuilder({\n pdfPage,\n highlighter: this._textHighlighter,\n accessibilityManager: this._accessibilityManager,\n enablePermissions: this.#textLayerMode === TextLayerMode.ENABLE_PERMISSIONS,\n onAppend: textLayerDiv => {\n this.l10n.pause();\n this.#addLayer(textLayerDiv, \"textLayer\");\n this.l10n.resume();\n }\n });\n }\n if (!this.annotationLayer && this.#annotationMode !== AnnotationMode.DISABLE) {\n const {\n annotationStorage,\n annotationEditorUIManager,\n downloadManager,\n enableScripting,\n fieldObjectsPromise,\n hasJSActionsPromise,\n linkService\n } = this.#layerProperties;\n this._annotationCanvasMap ||= new Map();\n this.annotationLayer = new AnnotationLayerBuilder({\n pdfPage,\n annotationStorage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.#annotationMode === AnnotationMode.ENABLE_FORMS,\n linkService,\n downloadManager,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager,\n annotationEditorUIManager,\n onAppend: annotationLayerDiv => {\n this.#addLayer(annotationLayerDiv, \"annotationLayer\");\n }\n });\n }\n const renderContinueCallback = cont => {\n showCanvas?.(false);\n if (this.renderingQueue && !this.renderingQueue.isHighestPriority(this)) {\n this.renderingState = RenderingStates.PAUSED;\n this.resume = () => {\n this.renderingState = RenderingStates.RUNNING;\n cont();\n };\n return;\n }\n cont();\n };\n const {\n width,\n height\n } = viewport;\n const canvas = document.createElement(\"canvas\");\n canvas.setAttribute(\"role\", \"presentation\");\n canvas.hidden = true;\n const hasHCM = !!(pageColors?.background && pageColors?.foreground);\n let showCanvas = isLastShow => {\n if (!hasHCM || isLastShow) {\n canvas.hidden = false;\n showCanvas = null;\n }\n };\n canvasWrapper.append(canvas);\n this.canvas = canvas;\n const ctx = canvas.getContext(\"2d\", {\n alpha: false,\n willReadFrequently: !this.#enableHWA\n });\n const outputScale = this.outputScale = new OutputScale();\n if (this.maxCanvasPixels === 0) {\n const invScale = 1 / this.scale;\n outputScale.sx *= invScale;\n outputScale.sy *= invScale;\n this.#hasRestrictedScaling = true;\n } else if (this.maxCanvasPixels > 0) {\n const pixelsInViewport = width * height;\n const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n this.#hasRestrictedScaling = true;\n } else {\n this.#hasRestrictedScaling = false;\n }\n }\n const sfx = approximateFraction(outputScale.sx);\n const sfy = approximateFraction(outputScale.sy);\n const canvasWidth = canvas.width = floorToDivide(calcRound(width * outputScale.sx), sfx[0]);\n const canvasHeight = canvas.height = floorToDivide(calcRound(height * outputScale.sy), sfy[0]);\n const pageWidth = floorToDivide(calcRound(width), sfx[1]);\n const pageHeight = floorToDivide(calcRound(height), sfy[1]);\n outputScale.sx = canvasWidth / pageWidth;\n outputScale.sy = canvasHeight / pageHeight;\n if (this.#scaleRoundX !== sfx[1]) {\n div.style.setProperty(\"--scale-round-x\", `${sfx[1]}px`);\n this.#scaleRoundX = sfx[1];\n }\n if (this.#scaleRoundY !== sfy[1]) {\n div.style.setProperty(\"--scale-round-y\", `${sfy[1]}px`);\n this.#scaleRoundY = sfy[1];\n }\n this.#viewportMap.set(canvas, viewport);\n const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;\n const renderContext = {\n canvasContext: ctx,\n transform,\n viewport,\n annotationMode: this.#annotationMode,\n optionalContentConfigPromise: this._optionalContentConfigPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n pageColors,\n isEditing: this.#isEditing\n };\n const renderTask = this.renderTask = pdfPage.render(renderContext);\n renderTask.onContinue = renderContinueCallback;\n const resultPromise = renderTask.promise.then(async () => {\n showCanvas?.(true);\n await this.#finishRenderTask(renderTask);\n this.structTreeLayer ||= new StructTreeLayerBuilder(pdfPage, viewport.rawDims);\n this.#renderTextLayer();\n if (this.annotationLayer) {\n await this.#renderAnnotationLayer();\n }\n const {\n annotationEditorUIManager\n } = this.#layerProperties;\n if (!annotationEditorUIManager) {\n return;\n }\n this.drawLayer ||= new DrawLayerBuilder({\n pageIndex: this.id\n });\n await this.#renderDrawLayer();\n this.drawLayer.setParent(canvasWrapper);\n this.annotationEditorLayer ||= new AnnotationEditorLayerBuilder({\n uiManager: annotationEditorUIManager,\n pdfPage,\n l10n,\n structTreeLayer: this.structTreeLayer,\n accessibilityManager: this._accessibilityManager,\n annotationLayer: this.annotationLayer?.annotationLayer,\n textLayer: this.textLayer,\n drawLayer: this.drawLayer.getDrawLayer(),\n onAppend: annotationEditorLayerDiv => {\n this.#addLayer(annotationEditorLayerDiv, \"annotationEditorLayer\");\n }\n });\n this.#renderAnnotationEditorLayer();\n }, error => {\n if (!(error instanceof RenderingCancelledException)) {\n showCanvas?.(true);\n }\n return this.#finishRenderTask(renderTask, error);\n });\n if (pdfPage.isPureXfa) {\n if (!this.xfaLayer) {\n const {\n annotationStorage,\n linkService\n } = this.#layerProperties;\n this.xfaLayer = new XfaLayerBuilder({\n pdfPage,\n annotationStorage,\n linkService\n });\n }\n this.#renderXfaLayer();\n }\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n this.div.setAttribute(\"data-l10n-args\", JSON.stringify({\n page: this.pageLabel ?? this.id\n }));\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n get thumbnailCanvas() {\n const {\n directDrawing,\n initialOptionalContent,\n regularAnnotations\n } = this.#useThumbnailCanvas;\n return directDrawing && initialOptionalContent && regularAnnotations ? this.canvas : null;\n }\n}\n\n;// ./web/generic_scripting.js\n\nasync function docProperties(pdfDocument) {\n const url = \"\",\n baseUrl = url.split(\"#\", 1)[0];\n let {\n info,\n metadata,\n contentDispositionFilename,\n contentLength\n } = await pdfDocument.getMetadata();\n if (!contentLength) {\n const {\n length\n } = await pdfDocument.getDownloadInfo();\n contentLength = length;\n }\n return {\n ...info,\n baseURL: baseUrl,\n filesize: contentLength,\n filename: contentDispositionFilename || getPdfFilenameFromUrl(url),\n metadata: metadata?.getRaw(),\n authors: metadata?.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url\n };\n}\nclass GenericScripting {\n constructor(sandboxBundleSrc) {\n this._ready = new Promise((resolve, reject) => {\n const sandbox = import(/*webpackIgnore: true*/sandboxBundleSrc);\n sandbox.then(pdfjsSandbox => {\n resolve(pdfjsSandbox.QuickJSSandbox());\n }).catch(reject);\n });\n }\n async createSandbox(data) {\n const sandbox = await this._ready;\n sandbox.create(data);\n }\n async dispatchEventInSandbox(event) {\n const sandbox = await this._ready;\n setTimeout(() => sandbox.dispatchEvent(event), 0);\n }\n async destroySandbox() {\n const sandbox = await this._ready;\n sandbox.nukeSandbox();\n }\n}\n\n;// ./web/pdf_scripting_manager.js\n\n\nclass PDFScriptingManager {\n #closeCapability = null;\n #destroyCapability = null;\n #docProperties = null;\n #eventAbortController = null;\n #eventBus = null;\n #externalServices = null;\n #pdfDocument = null;\n #pdfViewer = null;\n #ready = false;\n #scripting = null;\n #willPrintCapability = null;\n constructor({\n eventBus,\n externalServices = null,\n docProperties = null\n }) {\n this.#eventBus = eventBus;\n this.#externalServices = externalServices;\n this.#docProperties = docProperties;\n }\n setViewer(pdfViewer) {\n this.#pdfViewer = pdfViewer;\n }\n async setDocument(pdfDocument) {\n if (this.#pdfDocument) {\n await this.#destroyScripting();\n }\n this.#pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);\n if (!objects && !docActions) {\n await this.#destroyScripting();\n return;\n }\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n try {\n this.#scripting = this.#initScripting();\n } catch (error) {\n console.error(`setDocument: \"${error.message}\".`);\n await this.#destroyScripting();\n return;\n }\n const eventBus = this.#eventBus;\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n eventBus._on(\"updatefromsandbox\", event => {\n if (event?.source === window) {\n this.#updateFromSandbox(event.detail);\n }\n }, {\n signal\n });\n eventBus._on(\"dispatcheventinsandbox\", event => {\n this.#scripting?.dispatchEventInSandbox(event.detail);\n }, {\n signal\n });\n eventBus._on(\"pagechanging\", ({\n pageNumber,\n previous\n }) => {\n if (pageNumber === previous) {\n return;\n }\n this.#dispatchPageClose(previous);\n this.#dispatchPageOpen(pageNumber);\n }, {\n signal\n });\n eventBus._on(\"pagerendered\", ({\n pageNumber\n }) => {\n if (!this._pageOpenPending.has(pageNumber)) {\n return;\n }\n if (pageNumber !== this.#pdfViewer.currentPageNumber) {\n return;\n }\n this.#dispatchPageOpen(pageNumber);\n }, {\n signal\n });\n eventBus._on(\"pagesdestroy\", async () => {\n await this.#dispatchPageClose(this.#pdfViewer.currentPageNumber);\n await this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillClose\"\n });\n this.#closeCapability?.resolve();\n }, {\n signal\n });\n try {\n const docProperties = await this.#docProperties(pdfDocument);\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting.createSandbox({\n objects,\n calculationOrder,\n appInfo: {\n platform: navigator.platform,\n language: navigator.language\n },\n docInfo: {\n ...docProperties,\n actions: docActions\n }\n });\n eventBus.dispatch(\"sandboxcreated\", {\n source: this\n });\n } catch (error) {\n console.error(`setDocument: \"${error.message}\".`);\n await this.#destroyScripting();\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"Open\"\n });\n await this.#dispatchPageOpen(this.#pdfViewer.currentPageNumber, true);\n Promise.resolve().then(() => {\n if (pdfDocument === this.#pdfDocument) {\n this.#ready = true;\n }\n });\n }\n async dispatchWillSave() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillSave\"\n });\n }\n async dispatchDidSave() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidSave\"\n });\n }\n async dispatchWillPrint() {\n if (!this.#scripting) {\n return;\n }\n await this.#willPrintCapability?.promise;\n this.#willPrintCapability = Promise.withResolvers();\n try {\n await this.#scripting.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillPrint\"\n });\n } catch (ex) {\n this.#willPrintCapability.resolve();\n this.#willPrintCapability = null;\n throw ex;\n }\n await this.#willPrintCapability.promise;\n }\n async dispatchDidPrint() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidPrint\"\n });\n }\n get destroyPromise() {\n return this.#destroyCapability?.promise || null;\n }\n get ready() {\n return this.#ready;\n }\n get _pageOpenPending() {\n return shadow(this, \"_pageOpenPending\", new Set());\n }\n get _visitedPages() {\n return shadow(this, \"_visitedPages\", new Map());\n }\n async #updateFromSandbox(detail) {\n const pdfViewer = this.#pdfViewer;\n const isInPresentationMode = pdfViewer.isInPresentationMode || pdfViewer.isChangingPresentationMode;\n const {\n id,\n siblings,\n command,\n value\n } = detail;\n if (!id) {\n switch (command) {\n case \"clear\":\n console.clear();\n break;\n case \"error\":\n console.error(value);\n break;\n case \"layout\":\n if (!isInPresentationMode) {\n const modes = apiPageLayoutToViewerModes(value);\n pdfViewer.spreadMode = modes.spreadMode;\n }\n break;\n case \"page-num\":\n pdfViewer.currentPageNumber = value + 1;\n break;\n case \"print\":\n await pdfViewer.pagesPromise;\n this.#eventBus.dispatch(\"print\", {\n source: this\n });\n break;\n case \"println\":\n console.log(value);\n break;\n case \"zoom\":\n if (!isInPresentationMode) {\n pdfViewer.currentScaleValue = value;\n }\n break;\n case \"SaveAs\":\n this.#eventBus.dispatch(\"download\", {\n source: this\n });\n break;\n case \"FirstPage\":\n pdfViewer.currentPageNumber = 1;\n break;\n case \"LastPage\":\n pdfViewer.currentPageNumber = pdfViewer.pagesCount;\n break;\n case \"NextPage\":\n pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n pdfViewer.previousPage();\n break;\n case \"ZoomViewIn\":\n if (!isInPresentationMode) {\n pdfViewer.increaseScale();\n }\n break;\n case \"ZoomViewOut\":\n if (!isInPresentationMode) {\n pdfViewer.decreaseScale();\n }\n break;\n case \"WillPrintFinished\":\n this.#willPrintCapability?.resolve();\n this.#willPrintCapability = null;\n break;\n }\n return;\n }\n if (isInPresentationMode && detail.focus) {\n return;\n }\n delete detail.id;\n delete detail.siblings;\n const ids = siblings ? [id, ...siblings] : [id];\n for (const elementId of ids) {\n const element = document.querySelector(`[data-element-id=\"${elementId}\"]`);\n if (element) {\n element.dispatchEvent(new CustomEvent(\"updatefromsandbox\", {\n detail\n }));\n } else {\n this.#pdfDocument?.annotationStorage.setValue(elementId, detail);\n }\n }\n }\n async #dispatchPageOpen(pageNumber, initialize = false) {\n const pdfDocument = this.#pdfDocument,\n visitedPages = this._visitedPages;\n if (initialize) {\n this.#closeCapability = Promise.withResolvers();\n }\n if (!this.#closeCapability) {\n return;\n }\n const pageView = this.#pdfViewer.getPageView(pageNumber - 1);\n if (pageView?.renderingState !== RenderingStates.FINISHED) {\n this._pageOpenPending.add(pageNumber);\n return;\n }\n this._pageOpenPending.delete(pageNumber);\n const actionsPromise = (async () => {\n const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null);\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageOpen\",\n pageNumber,\n actions\n });\n })();\n visitedPages.set(pageNumber, actionsPromise);\n }\n async #dispatchPageClose(pageNumber) {\n const pdfDocument = this.#pdfDocument,\n visitedPages = this._visitedPages;\n if (!this.#closeCapability) {\n return;\n }\n if (this._pageOpenPending.has(pageNumber)) {\n return;\n }\n const actionsPromise = visitedPages.get(pageNumber);\n if (!actionsPromise) {\n return;\n }\n visitedPages.set(pageNumber, null);\n await actionsPromise;\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageClose\",\n pageNumber\n });\n }\n #initScripting() {\n this.#destroyCapability = Promise.withResolvers();\n if (this.#scripting) {\n throw new Error(\"#initScripting: Scripting already exists.\");\n }\n return this.#externalServices.createScripting();\n }\n async #destroyScripting() {\n if (!this.#scripting) {\n this.#pdfDocument = null;\n this.#destroyCapability?.resolve();\n return;\n }\n if (this.#closeCapability) {\n await Promise.race([this.#closeCapability.promise, new Promise(resolve => {\n setTimeout(resolve, 1000);\n })]).catch(() => {});\n this.#closeCapability = null;\n }\n this.#pdfDocument = null;\n try {\n await this.#scripting.destroySandbox();\n } catch {}\n this.#willPrintCapability?.reject(new Error(\"Scripting destroyed.\"));\n this.#willPrintCapability = null;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this._pageOpenPending.clear();\n this._visitedPages.clear();\n this.#scripting = null;\n this.#ready = false;\n this.#destroyCapability?.resolve();\n }\n}\n\n;// ./web/pdf_scripting_manager.component.js\n\n\nclass PDFScriptingManagerComponents extends PDFScriptingManager {\n constructor(options) {\n if (!options.externalServices) {\n window.addEventListener(\"updatefromsandbox\", event => {\n options.eventBus.dispatch(\"updatefromsandbox\", {\n source: window,\n detail: event.detail\n });\n });\n }\n options.externalServices ||= {\n createScripting: () => new GenericScripting(options.sandboxBundleSrc)\n };\n options.docProperties ||= pdfDocument => docProperties(pdfDocument);\n super(options);\n }\n}\n\n;// ./web/pdf_rendering_queue.js\n\n\nconst CLEANUP_TIMEOUT = 30000;\nclass PDFRenderingQueue {\n constructor() {\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n Object.defineProperty(this, \"hasViewer\", {\n value: () => !!this.pdfViewer\n });\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) {\n return;\n }\n if (this.printing) {\n return;\n }\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n getHighestPriority(visible, views, scrolledDown, preRenderExtra = false) {\n const visibleViews = visible.views,\n numVisible = visibleViews.length;\n if (numVisible === 0) {\n return null;\n }\n for (let i = 0; i < numVisible; i++) {\n const view = visibleViews[i].view;\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n const firstId = visible.first.id,\n lastId = visible.last.id;\n if (lastId - firstId + 1 > numVisible) {\n const visibleIds = visible.ids;\n for (let i = 1, ii = lastId - firstId; i < ii; i++) {\n const holeId = scrolledDown ? firstId + i : lastId - i;\n if (visibleIds.has(holeId)) {\n continue;\n }\n const holeView = views[holeId - 1];\n if (!this.isViewFinished(holeView)) {\n return holeView;\n }\n }\n }\n let preRenderIndex = scrolledDown ? lastId : firstId - 2;\n let preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n if (preRenderExtra) {\n preRenderIndex += scrolledDown ? 1 : -1;\n preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n }\n return null;\n }\n isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n renderView(view) {\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw().finally(() => {\n this.renderHighestPriority();\n }).catch(reason => {\n if (reason instanceof RenderingCancelledException) {\n return;\n }\n console.error(`renderView: \"${reason}\"`);\n });\n break;\n }\n return true;\n }\n}\n\n;// ./web/pdf_viewer.js\n\n\n\n\n\n\nconst DEFAULT_CACHE_SIZE = 10;\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 10000,\n FORCE_LAZY_PAGE_INIT: 5000,\n PAUSE_EAGER_PAGE_INIT: 250\n};\nfunction isValidAnnotationEditorMode(mode) {\n return Object.values(AnnotationEditorType).includes(mode) && mode !== AnnotationEditorType.DISABLE;\n}\nclass PDFPageViewBuffer {\n #buf = new Set();\n #size = 0;\n constructor(size) {\n this.#size = size;\n }\n push(view) {\n const buf = this.#buf;\n if (buf.has(view)) {\n buf.delete(view);\n }\n buf.add(view);\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n const buf = this.#buf;\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view);\n buf.add(view);\n }\n if (++i > ii) {\n break;\n }\n }\n }\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n has(view) {\n return this.#buf.has(view);\n }\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n}\nclass PDFViewer {\n #buffer = null;\n #altTextManager = null;\n #annotationEditorHighlightColors = null;\n #annotationEditorMode = AnnotationEditorType.NONE;\n #annotationEditorUIManager = null;\n #annotationMode = AnnotationMode.ENABLE_FORMS;\n #containerTopLeft = null;\n #enableHWA = false;\n #enableHighlightFloatingButton = false;\n #enablePermissions = false;\n #enableUpdatedAddImage = false;\n #enableNewAltTextWhenAddingImage = false;\n #eventAbortController = null;\n #mlManager = null;\n #switchAnnotationEditorModeAC = null;\n #switchAnnotationEditorModeTimeoutId = null;\n #getAllTextInProgress = false;\n #hiddenCopyElement = null;\n #interruptCopyCondition = false;\n #previousContainerHeight = 0;\n #resizeObserver = new ResizeObserver(this.#resizeObserverCallback.bind(this));\n #scrollModePageState = null;\n #scaleTimeoutId = null;\n #textLayerMode = TextLayerMode.ENABLE;\n constructor(options) {\n const viewerVersion = \"4.8.69\";\n if (version !== viewerVersion) {\n throw new Error(`The API version \"${version}\" does not match the Viewer version \"${viewerVersion}\".`);\n }\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n if (this.container?.tagName !== \"DIV\" || this.viewer?.tagName !== \"DIV\") {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n if (this.container.offsetParent && getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n this.#resizeObserver.observe(this.container);\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.#altTextManager = options.altTextManager || null;\n if (this.findController) {\n this.findController.onIsPageVisible = pageNumber => this._getVisiblePages().ids.has(pageNumber);\n }\n this._scriptingManager = options.scriptingManager || null;\n this.#textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? AnnotationMode.ENABLE_FORMS;\n this.#annotationEditorMode = options.annotationEditorMode ?? AnnotationEditorType.NONE;\n this.#annotationEditorHighlightColors = options.annotationEditorHighlightColors || null;\n this.#enableHighlightFloatingButton = options.enableHighlightFloatingButton === true;\n this.#enableUpdatedAddImage = options.enableUpdatedAddImage === true;\n this.#enableNewAltTextWhenAddingImage = options.enableNewAltTextWhenAddingImage === true;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.removePageBorders = options.removePageBorders || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n this.#mlManager = options.mlManager || null;\n this.#enableHWA = options.enableHWA || false;\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n const {\n abortSignal\n } = options;\n abortSignal?.addEventListener(\"abort\", () => {\n this.#resizeObserver.disconnect();\n this.#resizeObserver = null;\n }, {\n once: true\n });\n this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this), abortSignal);\n this.presentationModeState = PresentationModeState.UNKNOWN;\n this._resetView();\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n this.#updateContainerHeightCss();\n this.eventBus._on(\"thumbnailrendered\", ({\n pageNumber,\n pdfPage\n }) => {\n const pageView = this._pages[pageNumber - 1];\n if (!this.#buffer.has(pageView)) {\n pdfPage?.cleanup();\n }\n });\n if (!options.l10n) {\n this.l10n.translate(this.container);\n }\n }\n get pagesCount() {\n return this._pages.length;\n }\n getPageView(index) {\n return this._pages[index];\n }\n getCachedPageViews() {\n return new Set(this.#buffer);\n }\n get pageViewsReady() {\n return this._pages.every(pageView => pageView?.pdfPage);\n }\n get renderForms() {\n return this.#annotationMode === AnnotationMode.ENABLE_FORMS;\n }\n get enableScripting() {\n return !!this._scriptingManager;\n }\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous\n });\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n let page = val | 0;\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n page = i + 1;\n }\n }\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n get currentScale() {\n return this._currentScale !== UNKNOWN_SCALE ? this._currentScale : DEFAULT_SCALE;\n }\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get pagesRotation() {\n return this._pagesRotation;\n }\n set pagesRotation(rotation) {\n if (!isValidRotation(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n if (this._pagesRotation === rotation) {\n return;\n }\n this._pagesRotation = rotation;\n const pageNumber = this._currentPageNumber;\n this.refresh(true, {\n rotation\n });\n if (this._currentScaleValue) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n get _layerProperties() {\n const self = this;\n return shadow(this, \"_layerProperties\", {\n get annotationEditorUIManager() {\n return self.#annotationEditorUIManager;\n },\n get annotationStorage() {\n return self.pdfDocument?.annotationStorage;\n },\n get downloadManager() {\n return self.downloadManager;\n },\n get enableScripting() {\n return !!self._scriptingManager;\n },\n get fieldObjectsPromise() {\n return self.pdfDocument?.getFieldObjects();\n },\n get findController() {\n return self.findController;\n },\n get hasJSActionsPromise() {\n return self.pdfDocument?.hasJSActions();\n },\n get linkService() {\n return self.linkService;\n }\n });\n }\n #initializePermissions(permissions) {\n const params = {\n annotationEditorMode: this.#annotationEditorMode,\n annotationMode: this.#annotationMode,\n textLayerMode: this.#textLayerMode\n };\n if (!permissions) {\n return params;\n }\n if (!permissions.includes(PermissionFlag.COPY) && this.#textLayerMode === TextLayerMode.ENABLE) {\n params.textLayerMode = TextLayerMode.ENABLE_PERMISSIONS;\n }\n if (!permissions.includes(PermissionFlag.MODIFY_CONTENTS)) {\n params.annotationEditorMode = AnnotationEditorType.DISABLE;\n }\n if (!permissions.includes(PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === AnnotationMode.ENABLE_FORMS) {\n params.annotationMode = AnnotationMode.ENABLE;\n }\n return params;\n }\n async #onePageRenderedOrForceFetch(signal) {\n if (document.visibilityState === \"hidden\" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return;\n }\n const hiddenCapability = Promise.withResolvers(),\n ac = new AbortController();\n document.addEventListener(\"visibilitychange\", () => {\n if (document.visibilityState === \"hidden\") {\n hiddenCapability.resolve();\n }\n }, {\n signal: typeof AbortSignal.any === \"function\" ? AbortSignal.any([signal, ac.signal]) : signal\n });\n await Promise.race([this._onePageRenderedCapability.promise, hiddenCapability.promise]);\n ac.abort();\n }\n async getAllText() {\n const texts = [];\n const buffer = [];\n for (let pageNum = 1, pagesCount = this.pdfDocument.numPages; pageNum <= pagesCount; ++pageNum) {\n if (this.#interruptCopyCondition) {\n return null;\n }\n buffer.length = 0;\n const page = await this.pdfDocument.getPage(pageNum);\n const {\n items\n } = await page.getTextContent();\n for (const item of items) {\n if (item.str) {\n buffer.push(item.str);\n }\n if (item.hasEOL) {\n buffer.push(\"\\n\");\n }\n }\n texts.push(removeNullCharacters(buffer.join(\"\")));\n }\n return texts.join(\"\\n\");\n }\n #copyCallback(textLayerMode, event) {\n const selection = document.getSelection();\n const {\n focusNode,\n anchorNode\n } = selection;\n if (anchorNode && focusNode && selection.containsNode(this.#hiddenCopyElement)) {\n if (this.#getAllTextInProgress || textLayerMode === TextLayerMode.ENABLE_PERMISSIONS) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.#getAllTextInProgress = true;\n const {\n classList\n } = this.viewer;\n classList.add(\"copyAll\");\n const ac = new AbortController();\n window.addEventListener(\"keydown\", ev => this.#interruptCopyCondition = ev.key === \"Escape\", {\n signal: ac.signal\n });\n this.getAllText().then(async text => {\n if (text !== null) {\n await navigator.clipboard.writeText(text);\n }\n }).catch(reason => {\n console.warn(`Something goes wrong when extracting the text: ${reason.message}`);\n }).finally(() => {\n this.#getAllTextInProgress = false;\n this.#interruptCopyCondition = false;\n ac.abort();\n classList.remove(\"copyAll\");\n });\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setDocument(pdfDocument) {\n if (this.pdfDocument) {\n this.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n this._cancelRendering();\n this._resetView();\n this.findController?.setDocument(null);\n this._scriptingManager?.setDocument(null);\n this.#annotationEditorUIManager?.destroy();\n this.#annotationEditorUIManager = null;\n }\n this.pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const pagesCount = pdfDocument.numPages;\n const firstPagePromise = pdfDocument.getPage(1);\n const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig({\n intent: \"display\"\n });\n const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();\n const {\n eventBus,\n pageColors,\n viewer\n } = this;\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n console.warn(\"Forcing PAGE-scrolling for performance reasons, given the length of the document.\");\n const mode = this._scrollMode = ScrollMode.PAGE;\n eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n }\n this._pagesCapability.promise.then(() => {\n eventBus.dispatch(\"pagesloaded\", {\n source: this,\n pagesCount\n });\n }, () => {});\n const onBeforeDraw = evt => {\n const pageView = this._pages[evt.pageNumber - 1];\n if (!pageView) {\n return;\n }\n this.#buffer.push(pageView);\n };\n eventBus._on(\"pagerender\", onBeforeDraw, {\n signal\n });\n const onAfterDraw = evt => {\n if (evt.cssTransform) {\n return;\n }\n this._onePageRenderedCapability.resolve({\n timestamp: evt.timestamp\n });\n eventBus._off(\"pagerendered\", onAfterDraw);\n };\n eventBus._on(\"pagerendered\", onAfterDraw, {\n signal\n });\n Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n this._firstPageCapability.resolve(firstPdfPage);\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n const {\n annotationEditorMode,\n annotationMode,\n textLayerMode\n } = this.#initializePermissions(permissions);\n if (textLayerMode !== TextLayerMode.DISABLE) {\n const element = this.#hiddenCopyElement = document.createElement(\"div\");\n element.id = \"hiddenCopyElement\";\n viewer.before(element);\n }\n if (typeof AbortSignal.any === \"function\" && annotationEditorMode !== AnnotationEditorType.DISABLE) {\n const mode = annotationEditorMode;\n if (pdfDocument.isPureXfa) {\n console.warn(\"Warning: XFA-editing is not implemented.\");\n } else if (isValidAnnotationEditorMode(mode)) {\n this.#annotationEditorUIManager = new AnnotationEditorUIManager(this.container, viewer, this.#altTextManager, eventBus, pdfDocument, pageColors, this.#annotationEditorHighlightColors, this.#enableHighlightFloatingButton, this.#enableUpdatedAddImage, this.#enableNewAltTextWhenAddingImage, this.#mlManager);\n eventBus.dispatch(\"annotationeditoruimanager\", {\n source: this,\n uiManager: this.#annotationEditorUIManager\n });\n if (mode !== AnnotationEditorType.NONE) {\n if (mode === AnnotationEditorType.STAMP) {\n this.#mlManager?.loadModel(\"altText\");\n }\n this.#annotationEditorUIManager.updateMode(mode);\n }\n } else {\n console.error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n }\n const viewerElement = this._scrollMode === ScrollMode.PAGE ? null : viewer;\n const scale = this.currentScale;\n const viewport = firstPdfPage.getViewport({\n scale: scale * PixelsPerInch.PDF_TO_CSS_UNITS\n });\n viewer.style.setProperty(\"--scale-factor\", viewport.scale);\n if (pageColors?.background) {\n viewer.style.setProperty(\"--page-bg-color\", pageColors.background);\n }\n if (pageColors?.foreground === \"CanvasText\" || pageColors?.background === \"Canvas\") {\n viewer.style.setProperty(\"--hcm-highlight-filter\", pdfDocument.filterFactory.addHighlightHCMFilter(\"highlight\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n viewer.style.setProperty(\"--hcm-highlight-selected-filter\", pdfDocument.filterFactory.addHighlightHCMFilter(\"highlight_selected\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"ButtonText\"));\n }\n for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n const pageView = new PDFPageView({\n container: viewerElement,\n eventBus,\n id: pageNum,\n scale,\n defaultViewport: viewport.clone(),\n optionalContentConfigPromise,\n renderingQueue: this.renderingQueue,\n textLayerMode,\n annotationMode,\n imageResourcesPath: this.imageResourcesPath,\n maxCanvasPixels: this.maxCanvasPixels,\n pageColors,\n l10n: this.l10n,\n layerProperties: this._layerProperties,\n enableHWA: this.#enableHWA\n });\n this._pages.push(pageView);\n }\n this._pages[0]?.setPdfPage(firstPdfPage);\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._spreadMode !== SpreadMode.NONE) {\n this._updateSpreadMode();\n }\n this.#onePageRenderedOrForceFetch(signal).then(async () => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n this.findController?.setDocument(pdfDocument);\n this._scriptingManager?.setDocument(pdfDocument);\n if (this.#hiddenCopyElement) {\n document.addEventListener(\"copy\", this.#copyCallback.bind(this, textLayerMode), {\n signal\n });\n }\n if (this.#annotationEditorUIManager) {\n eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode: this.#annotationEditorMode\n });\n }\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) {\n this._pagesCapability.resolve();\n return;\n }\n let getPagesLeft = pagesCount - 1;\n if (getPagesLeft <= 0) {\n this._pagesCapability.resolve();\n return;\n }\n for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n const promise = pdfDocument.getPage(pageNum).then(pdfPage => {\n const pageView = this._pages[pageNum - 1];\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n }, reason => {\n console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n });\n if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) {\n await promise;\n }\n }\n });\n eventBus.dispatch(\"pagesinit\", {\n source: this\n });\n pdfDocument.getMetadata().then(({\n info\n }) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n if (info.Language) {\n viewer.lang = info.Language;\n }\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }).catch(reason => {\n console.error(\"Unable to initialize viewer\", reason);\n this._pagesCapability.reject(reason);\n });\n }\n setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(`setPageLabels: Invalid page labels.`);\n } else {\n this._pageLabels = labels;\n }\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null);\n }\n }\n _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._firstPageCapability = Promise.withResolvers();\n this._onePageRenderedCapability = Promise.withResolvers();\n this._pagesCapability = Promise.withResolvers();\n this._scrollMode = ScrollMode.VERTICAL;\n this._previousScrollMode = ScrollMode.UNKNOWN;\n this._spreadMode = SpreadMode.NONE;\n this.#scrollModePageState = {\n previousPageNumber: 1,\n scrollDown: true,\n pages: []\n };\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this.viewer.textContent = \"\";\n this._updateScrollMode();\n this.viewer.removeAttribute(\"lang\");\n this.#hiddenCopyElement?.remove();\n this.#hiddenCopyElement = null;\n this.#cleanupSwitchAnnotationEditorMode();\n }\n #ensurePageViewVisible() {\n if (this._scrollMode !== ScrollMode.PAGE) {\n throw new Error(\"#ensurePageViewVisible: Invalid scrollMode value.\");\n }\n const pageNumber = this._currentPageNumber,\n state = this.#scrollModePageState,\n viewer = this.viewer;\n viewer.textContent = \"\";\n state.pages.length = 0;\n if (this._spreadMode === SpreadMode.NONE && !this.isInPresentationMode) {\n const pageView = this._pages[pageNumber - 1];\n viewer.append(pageView.div);\n state.pages.push(pageView);\n } else {\n const pageIndexSet = new Set(),\n parity = this._spreadMode - 1;\n if (parity === -1) {\n pageIndexSet.add(pageNumber - 1);\n } else if (pageNumber % 2 !== parity) {\n pageIndexSet.add(pageNumber - 1);\n pageIndexSet.add(pageNumber);\n } else {\n pageIndexSet.add(pageNumber - 2);\n pageIndexSet.add(pageNumber - 1);\n }\n const spread = document.createElement(\"div\");\n spread.className = \"spread\";\n if (this.isInPresentationMode) {\n const dummyPage = document.createElement(\"div\");\n dummyPage.className = \"dummyPage\";\n spread.append(dummyPage);\n }\n for (const i of pageIndexSet) {\n const pageView = this._pages[i];\n if (!pageView) {\n continue;\n }\n spread.append(pageView.div);\n state.pages.push(pageView);\n }\n viewer.append(spread);\n }\n state.scrollDown = pageNumber >= state.previousPageNumber;\n state.previousPageNumber = pageNumber;\n }\n _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n this.update();\n }\n #scrollIntoView(pageView, pageSpot = null) {\n const {\n div,\n id\n } = pageView;\n if (this._currentPageNumber !== id) {\n this._setCurrentPageNumber(id);\n }\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n this.update();\n }\n if (!pageSpot && !this.isInPresentationMode) {\n const left = div.offsetLeft + div.clientLeft,\n right = left + div.clientWidth;\n const {\n scrollLeft,\n clientWidth\n } = this.container;\n if (this._scrollMode === ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n scrollIntoView(div, pageSpot);\n if (!this._currentScaleValue && this._location) {\n this._location = null;\n }\n }\n #isSameScale(newScale) {\n return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;\n }\n #setScaleUpdatePages(newScale, newValue, {\n noScroll = false,\n preset = false,\n drawingDelay = -1,\n origin = null\n }) {\n this._currentScaleValue = newValue.toString();\n if (this.#isSameScale(newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n return;\n }\n this.viewer.style.setProperty(\"--scale-factor\", newScale * PixelsPerInch.PDF_TO_CSS_UNITS);\n const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;\n this.refresh(true, {\n scale: newScale,\n drawingDelay: postponeDrawing ? drawingDelay : -1\n });\n if (postponeDrawing) {\n this.#scaleTimeoutId = setTimeout(() => {\n this.#scaleTimeoutId = null;\n this.refresh();\n }, drawingDelay);\n }\n const previousScale = this._currentScale;\n this._currentScale = newScale;\n if (!noScroll) {\n let page = this._currentPageNumber,\n dest;\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n if (Array.isArray(origin)) {\n const scaleDiff = newScale / previousScale - 1;\n const [top, left] = this.containerTopLeft;\n this.container.scrollLeft += (origin[0] - left) * scaleDiff;\n this.container.scrollTop += (origin[1] - top) * scaleDiff;\n }\n }\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get #pageWidthScaleFactor() {\n if (this._spreadMode !== SpreadMode.NONE && this._scrollMode !== ScrollMode.HORIZONTAL) {\n return 2;\n }\n return 1;\n }\n #setScale(value, options) {\n let scale = parseFloat(value);\n if (scale > 0) {\n options.preset = false;\n this.#setScaleUpdatePages(scale, value, options);\n } else {\n const currentPage = this._pages[this._currentPageNumber - 1];\n if (!currentPage) {\n return;\n }\n let hPadding = SCROLLBAR_PADDING,\n vPadding = VERTICAL_PADDING;\n if (this.isInPresentationMode) {\n hPadding = vPadding = 4;\n if (this._spreadMode !== SpreadMode.NONE) {\n hPadding *= 2;\n }\n } else if (this.removePageBorders) {\n hPadding = vPadding = 0;\n } else if (this._scrollMode === ScrollMode.HORIZONTAL) {\n [hPadding, vPadding] = [vPadding, hPadding];\n }\n const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this.#pageWidthScaleFactor;\n const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n case \"page-width\":\n scale = pageWidthScale;\n break;\n case \"page-height\":\n scale = pageHeightScale;\n break;\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n case \"auto\":\n const horizontalScale = isPortraitOrientation(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(MAX_AUTO_SCALE, horizontalScale);\n break;\n default:\n console.error(`#setScale: \"${value}\" is an unknown zoom value.`);\n return;\n }\n options.preset = true;\n this.#setScaleUpdatePages(scale, value, options);\n }\n }\n #resetCurrentPageView() {\n const pageView = this._pages[this._currentPageNumber - 1];\n if (this.isInPresentationMode) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.#scrollIntoView(pageView);\n }\n pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n const i = this._pageLabels.indexOf(label);\n if (i < 0) {\n return null;\n }\n return i + 1;\n }\n scrollPageIntoView({\n pageNumber,\n destArray = null,\n allowNegativeOffset = false,\n ignoreDestinationZoom = false\n }) {\n if (!this.pdfDocument) {\n return;\n }\n const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n if (!pageView) {\n console.error(`scrollPageIntoView: \"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n return;\n }\n let x = 0,\n y = 0;\n let width = 0,\n height = 0,\n widthScale,\n heightScale;\n const changeOrientation = pageView.rotation % 180 !== 0;\n const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / PixelsPerInch.PDF_TO_CSS_UNITS;\n const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / PixelsPerInch.PDF_TO_CSS_UNITS;\n let scale = 0;\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n } else if (typeof y !== \"number\" || y < 0) {\n y = pageHeight;\n }\n break;\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n let hPadding = SCROLLBAR_PADDING,\n vPadding = VERTICAL_PADDING;\n if (this.removePageBorders) {\n hPadding = vPadding = 0;\n }\n widthScale = (this.container.clientWidth - hPadding) / width / PixelsPerInch.PDF_TO_CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / PixelsPerInch.PDF_TO_CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n default:\n console.error(`scrollPageIntoView: \"${destArray[1].name}\" is not a valid destination type.`);\n return;\n }\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === UNKNOWN_SCALE) {\n this.currentScaleValue = DEFAULT_SCALE_VALUE;\n }\n }\n if (scale === \"page-fit\" && !destArray[4]) {\n this.#scrollIntoView(pageView);\n return;\n }\n const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n this.#scrollIntoView(pageView, {\n left,\n top\n });\n }\n _updateLocation(firstPage) {\n const currentScale = this._currentScale;\n const currentScaleValue = this._currentScaleValue;\n const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n const pageNumber = firstPage.id;\n const currentPageView = this._pages[pageNumber - 1];\n const container = this.container;\n const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n const intLeft = Math.round(topLeft[0]);\n const intTop = Math.round(topLeft[1]);\n let pdfOpenParams = `#page=${pageNumber}`;\n if (!this.isInPresentationMode) {\n pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;\n }\n this._location = {\n pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams\n };\n }\n update() {\n const visible = this._getVisiblePages();\n const visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n if (numVisiblePages === 0) {\n return;\n }\n const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n this.#buffer.resize(newCacheSize, visible.ids);\n this.renderingQueue.renderHighestPriority(visible);\n const isSimpleLayout = this._spreadMode === SpreadMode.NONE && (this._scrollMode === ScrollMode.PAGE || this._scrollMode === ScrollMode.VERTICAL);\n const currentId = this._currentPageNumber;\n let stillFullyVisible = false;\n for (const page of visiblePages) {\n if (page.percent < 100) {\n break;\n }\n if (page.id === currentId && isSimpleLayout) {\n stillFullyVisible = true;\n break;\n }\n }\n this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id);\n this._updateLocation(visible.first);\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n #switchToEditAnnotationMode() {\n const visible = this._getVisiblePages();\n const pagesToRefresh = [];\n const {\n ids,\n views\n } = visible;\n for (const page of views) {\n const {\n view\n } = page;\n if (!view.hasEditableAnnotations()) {\n ids.delete(view.id);\n continue;\n }\n pagesToRefresh.push(page);\n }\n if (pagesToRefresh.length === 0) {\n return null;\n }\n this.renderingQueue.renderHighestPriority({\n first: pagesToRefresh[0],\n last: pagesToRefresh.at(-1),\n views: pagesToRefresh,\n ids\n });\n return ids;\n }\n containsElement(element) {\n return this.container.contains(element);\n }\n focus() {\n this.container.focus();\n }\n get _isContainerRtl() {\n return getComputedStyle(this.container).direction === \"rtl\";\n }\n get isInPresentationMode() {\n return this.presentationModeState === PresentationModeState.FULLSCREEN;\n }\n get isChangingPresentationMode() {\n return this.presentationModeState === PresentationModeState.CHANGING;\n }\n get isHorizontalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n get isVerticalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n _getVisiblePages() {\n const views = this._scrollMode === ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,\n horizontal = this._scrollMode === ScrollMode.HORIZONTAL,\n rtl = horizontal && this._isContainerRtl;\n return getVisibleElements({\n scrollEl: this.container,\n views,\n sortByVisibility: true,\n horizontal,\n rtl\n });\n }\n cleanup() {\n for (const pageView of this._pages) {\n if (pageView.renderingState !== RenderingStates.FINISHED) {\n pageView.reset();\n }\n }\n }\n _cancelRendering() {\n for (const pageView of this._pages) {\n pageView.cancelRendering();\n }\n }\n async #ensurePdfPageLoaded(pageView) {\n if (pageView.pdfPage) {\n return pageView.pdfPage;\n }\n try {\n const pdfPage = await this.pdfDocument.getPage(pageView.id);\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n return pdfPage;\n } catch (reason) {\n console.error(\"Unable to get page for page view\", reason);\n return null;\n }\n }\n #getScrollAhead(visible) {\n if (visible.first?.id === 1) {\n return true;\n } else if (visible.last?.id === this.pagesCount) {\n return false;\n }\n switch (this._scrollMode) {\n case ScrollMode.PAGE:\n return this.#scrollModePageState.scrollDown;\n case ScrollMode.HORIZONTAL:\n return this.scroll.right;\n }\n return this.scroll.down;\n }\n forceRendering(currentlyVisiblePages) {\n const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n const scrollAhead = this.#getScrollAhead(visiblePages);\n const preRenderExtra = this._spreadMode !== SpreadMode.NONE && this._scrollMode !== ScrollMode.HORIZONTAL;\n const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);\n if (pageView) {\n this.#ensurePdfPageLoaded(pageView).then(() => {\n this.renderingQueue.renderView(pageView);\n });\n return true;\n }\n return false;\n }\n get hasEqualPageSizes() {\n const firstPageView = this._pages[0];\n for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n const pageView = this._pages[i];\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n return true;\n }\n getPagesOverview() {\n let initialOrientation;\n return this._pages.map(pageView => {\n const viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n const orientation = isPortraitOrientation(viewport);\n if (initialOrientation === undefined) {\n initialOrientation = orientation;\n } else if (this.enablePrintAutoRotate && orientation !== initialOrientation) {\n return {\n width: viewport.height,\n height: viewport.width,\n rotation: (viewport.rotation - 90) % 360\n };\n }\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n }\n get optionalContentConfigPromise() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n if (!this._optionalContentConfigPromise) {\n console.error(\"optionalContentConfigPromise: Not initialized yet.\");\n return this.pdfDocument.getOptionalContentConfig({\n intent: \"display\"\n });\n }\n return this._optionalContentConfigPromise;\n }\n set optionalContentConfigPromise(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(`Invalid optionalContentConfigPromise: ${promise}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._optionalContentConfigPromise) {\n return;\n }\n this._optionalContentConfigPromise = promise;\n this.refresh(false, {\n optionalContentConfigPromise: promise\n });\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise\n });\n }\n get scrollMode() {\n return this._scrollMode;\n }\n set scrollMode(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n if (!isValidScrollMode(mode)) {\n throw new Error(`Invalid scroll mode: ${mode}`);\n }\n if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n return;\n }\n this._previousScrollMode = this._scrollMode;\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n this._updateScrollMode(this._currentPageNumber);\n }\n _updateScrollMode(pageNumber = null) {\n const scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === ScrollMode.WRAPPED);\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n if (scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._previousScrollMode === ScrollMode.PAGE) {\n this._updateSpreadMode();\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n get spreadMode() {\n return this._spreadMode;\n }\n set spreadMode(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n if (!isValidSpreadMode(mode)) {\n throw new Error(`Invalid spread mode: ${mode}`);\n }\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode\n });\n this._updateSpreadMode(this._currentPageNumber);\n }\n _updateSpreadMode(pageNumber = null) {\n if (!this.pdfDocument) {\n return;\n }\n const viewer = this.viewer,\n pages = this._pages;\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else {\n viewer.textContent = \"\";\n if (this._spreadMode === SpreadMode.NONE) {\n for (const pageView of this._pages) {\n viewer.append(pageView.div);\n }\n } else {\n const parity = this._spreadMode - 1;\n let spread = null;\n for (let i = 0, ii = pages.length; i < ii; ++i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.append(spread);\n } else if (i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.append(spread);\n }\n spread.append(pages[i].div);\n }\n }\n }\n if (!pageNumber) {\n return;\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n _getPageAdvance(currentPageNumber, previous = false) {\n switch (this._scrollMode) {\n case ScrollMode.WRAPPED:\n {\n const {\n views\n } = this._getVisiblePages(),\n pageLayout = new Map();\n for (const {\n id,\n y,\n percent,\n widthPercent\n } of views) {\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n let yArray = pageLayout.get(y);\n if (!yArray) {\n pageLayout.set(y, yArray ||= []);\n }\n yArray.push(id);\n }\n for (const yArray of pageLayout.values()) {\n const currentIndex = yArray.indexOf(currentPageNumber);\n if (currentIndex === -1) {\n continue;\n }\n const numPages = yArray.length;\n if (numPages === 1) {\n break;\n }\n if (previous) {\n for (let i = currentIndex - 1, ii = 0; i >= ii; i--) {\n const currentId = yArray[i],\n expectedId = yArray[i + 1] - 1;\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {\n const currentId = yArray[i],\n expectedId = yArray[i - 1] + 1;\n if (currentId > expectedId) {\n return expectedId - currentPageNumber;\n }\n }\n }\n if (previous) {\n const firstId = yArray[0];\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n const lastId = yArray[numPages - 1];\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n break;\n }\n break;\n }\n case ScrollMode.HORIZONTAL:\n {\n break;\n }\n case ScrollMode.PAGE:\n case ScrollMode.VERTICAL:\n {\n if (this._spreadMode === SpreadMode.NONE) {\n break;\n }\n const parity = this._spreadMode - 1;\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n const {\n views\n } = this._getVisiblePages(),\n expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n for (const {\n id,\n percent,\n widthPercent\n } of views) {\n if (id !== expectedId) {\n continue;\n }\n if (percent > 0 && widthPercent === 100) {\n return 2;\n }\n break;\n }\n break;\n }\n }\n return 1;\n }\n nextPage() {\n const currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n previousPage() {\n const currentPageNumber = this._currentPageNumber;\n if (currentPageNumber <= 1) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n updateScale({\n drawingDelay,\n scaleFactor = null,\n steps = null,\n origin\n }) {\n if (steps === null && scaleFactor === null) {\n throw new Error(\"Invalid updateScale options: either `steps` or `scaleFactor` must be provided.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n let newScale = this._currentScale;\n if (scaleFactor > 0 && scaleFactor !== 1) {\n newScale = Math.round(newScale * scaleFactor * 100) / 100;\n } else if (steps) {\n const delta = steps > 0 ? DEFAULT_SCALE_DELTA : 1 / DEFAULT_SCALE_DELTA;\n const round = steps > 0 ? Math.ceil : Math.floor;\n steps = Math.abs(steps);\n do {\n newScale = round((newScale * delta).toFixed(2) * 10) / 10;\n } while (--steps > 0);\n }\n newScale = Math.max(MIN_SCALE, Math.min(MAX_SCALE, newScale));\n this.#setScale(newScale, {\n noScroll: false,\n drawingDelay,\n origin\n });\n }\n increaseScale(options = {}) {\n this.updateScale({\n ...options,\n steps: options.steps ?? 1\n });\n }\n decreaseScale(options = {}) {\n this.updateScale({\n ...options,\n steps: -(options.steps ?? 1)\n });\n }\n #updateContainerHeightCss(height = this.container.clientHeight) {\n if (height !== this.#previousContainerHeight) {\n this.#previousContainerHeight = height;\n docStyle.setProperty(\"--viewer-container-height\", `${height}px`);\n }\n }\n #resizeObserverCallback(entries) {\n for (const entry of entries) {\n if (entry.target === this.container) {\n this.#updateContainerHeightCss(Math.floor(entry.borderBoxSize[0].blockSize));\n this.#containerTopLeft = null;\n break;\n }\n }\n }\n get containerTopLeft() {\n return this.#containerTopLeft ||= [this.container.offsetTop, this.container.offsetLeft];\n }\n #cleanupSwitchAnnotationEditorMode() {\n this.#switchAnnotationEditorModeAC?.abort();\n this.#switchAnnotationEditorModeAC = null;\n if (this.#switchAnnotationEditorModeTimeoutId !== null) {\n clearTimeout(this.#switchAnnotationEditorModeTimeoutId);\n this.#switchAnnotationEditorModeTimeoutId = null;\n }\n }\n get annotationEditorMode() {\n return this.#annotationEditorUIManager ? this.#annotationEditorMode : AnnotationEditorType.DISABLE;\n }\n set annotationEditorMode({\n mode,\n editId = null,\n isFromKeyboard = false\n }) {\n if (!this.#annotationEditorUIManager) {\n throw new Error(`The AnnotationEditor is not enabled.`);\n }\n if (this.#annotationEditorMode === mode) {\n return;\n }\n if (!isValidAnnotationEditorMode(mode)) {\n throw new Error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n if (mode === AnnotationEditorType.STAMP) {\n this.#mlManager?.loadModel(\"altText\");\n }\n const {\n eventBus\n } = this;\n const updater = () => {\n this.#cleanupSwitchAnnotationEditorMode();\n this.#annotationEditorMode = mode;\n this.#annotationEditorUIManager.updateMode(mode, editId, isFromKeyboard);\n eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode\n });\n };\n if (mode === AnnotationEditorType.NONE || this.#annotationEditorMode === AnnotationEditorType.NONE) {\n const isEditing = mode !== AnnotationEditorType.NONE;\n if (!isEditing) {\n this.pdfDocument.annotationStorage.resetModifiedIds();\n }\n for (const pageView of this._pages) {\n pageView.toggleEditingMode(isEditing);\n }\n const idsToRefresh = this.#switchToEditAnnotationMode();\n if (isEditing && idsToRefresh) {\n this.#cleanupSwitchAnnotationEditorMode();\n this.#switchAnnotationEditorModeAC = new AbortController();\n const signal = AbortSignal.any([this.#eventAbortController.signal, this.#switchAnnotationEditorModeAC.signal]);\n eventBus._on(\"pagerendered\", ({\n pageNumber\n }) => {\n idsToRefresh.delete(pageNumber);\n if (idsToRefresh.size === 0) {\n this.#switchAnnotationEditorModeTimeoutId = setTimeout(updater, 0);\n }\n }, {\n signal\n });\n return;\n }\n }\n updater();\n }\n refresh(noUpdate = false, updateArgs = Object.create(null)) {\n if (!this.pdfDocument) {\n return;\n }\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n if (this.#scaleTimeoutId !== null) {\n clearTimeout(this.#scaleTimeoutId);\n this.#scaleTimeoutId = null;\n }\n if (!noUpdate) {\n this.update();\n }\n }\n}\n\n;// ./web/pdf_single_page_viewer.js\n\n\nclass PDFSinglePageViewer extends PDFViewer {\n _resetView() {\n super._resetView();\n this._scrollMode = ScrollMode.PAGE;\n this._spreadMode = SpreadMode.NONE;\n }\n set scrollMode(mode) {}\n _updateScrollMode() {}\n set spreadMode(mode) {}\n _updateSpreadMode() {}\n}\n\n;// ./web/pdf_viewer.component.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst pdfjsVersion = \"4.8.69\";\nconst pdfjsBuild = \"3634dab10\";\n\nvar __webpack_exports__AnnotationLayerBuilder = __webpack_exports__.AnnotationLayerBuilder;\nvar __webpack_exports__DownloadManager = __webpack_exports__.DownloadManager;\nvar __webpack_exports__EventBus = __webpack_exports__.EventBus;\nvar __webpack_exports__FindState = __webpack_exports__.FindState;\nvar __webpack_exports__GenericL10n = __webpack_exports__.GenericL10n;\nvar __webpack_exports__LinkTarget = __webpack_exports__.LinkTarget;\nvar __webpack_exports__PDFFindController = __webpack_exports__.PDFFindController;\nvar __webpack_exports__PDFHistory = __webpack_exports__.PDFHistory;\nvar __webpack_exports__PDFLinkService = __webpack_exports__.PDFLinkService;\nvar __webpack_exports__PDFPageView = __webpack_exports__.PDFPageView;\nvar __webpack_exports__PDFScriptingManager = __webpack_exports__.PDFScriptingManager;\nvar __webpack_exports__PDFSinglePageViewer = __webpack_exports__.PDFSinglePageViewer;\nvar __webpack_exports__PDFViewer = __webpack_exports__.PDFViewer;\nvar __webpack_exports__ProgressBar = __webpack_exports__.ProgressBar;\nvar __webpack_exports__RenderingStates = __webpack_exports__.RenderingStates;\nvar __webpack_exports__ScrollMode = __webpack_exports__.ScrollMode;\nvar __webpack_exports__SimpleLinkService = __webpack_exports__.SimpleLinkService;\nvar __webpack_exports__SpreadMode = __webpack_exports__.SpreadMode;\nvar __webpack_exports__StructTreeLayerBuilder = __webpack_exports__.StructTreeLayerBuilder;\nvar __webpack_exports__TextLayerBuilder = __webpack_exports__.TextLayerBuilder;\nvar __webpack_exports__XfaLayerBuilder = __webpack_exports__.XfaLayerBuilder;\nvar __webpack_exports__parseQueryString = __webpack_exports__.parseQueryString;\nexport { __webpack_exports__AnnotationLayerBuilder as AnnotationLayerBuilder, __webpack_exports__DownloadManager as DownloadManager, __webpack_exports__EventBus as EventBus, __webpack_exports__FindState as FindState, __webpack_exports__GenericL10n as GenericL10n, __webpack_exports__LinkTarget as LinkTarget, __webpack_exports__PDFFindController as PDFFindController, __webpack_exports__PDFHistory as PDFHistory, __webpack_exports__PDFLinkService as PDFLinkService, __webpack_exports__PDFPageView as PDFPageView, __webpack_exports__PDFScriptingManager as PDFScriptingManager, __webpack_exports__PDFSinglePageViewer as PDFSinglePageViewer, __webpack_exports__PDFViewer as PDFViewer, __webpack_exports__ProgressBar as ProgressBar, __webpack_exports__RenderingStates as RenderingStates, __webpack_exports__ScrollMode as ScrollMode, __webpack_exports__SimpleLinkService as SimpleLinkService, __webpack_exports__SpreadMode as SpreadMode, __webpack_exports__StructTreeLayerBuilder as StructTreeLayerBuilder, __webpack_exports__TextLayerBuilder as TextLayerBuilder, __webpack_exports__XfaLayerBuilder as XfaLayerBuilder, __webpack_exports__parseQueryString as parseQueryString };\n\n","import * as i0 from '@angular/core';\nimport { EventEmitter, Component, ViewChild, Output, Input, NgModule } from '@angular/core';\nimport { fromEvent, Subject, from } from 'rxjs';\nimport { takeUntil, debounceTime, filter } from 'rxjs/operators';\nimport * as PDFJS from 'pdfjs-dist';\nimport { VerbosityLevel, GlobalWorkerOptions, getDocument } from 'pdfjs-dist';\nimport * as PDFJSViewer from 'pdfjs-dist/web/pdf_viewer.mjs';\n\n// interface EventBus {\n// on(eventName: string, listener: Function): void;\n// off(eventName: string, listener: Function): void;\n// _listeners: any;\n// dispatch(eventName: string, data: Object): void;\n// _on(eventName: any, listener: any, options?: null): void;\n// _off(eventName: any, listener: any, options?: null): void;\n// }\nfunction createEventBus(pdfJsViewer, destroy$) {\n const globalEventBus = new pdfJsViewer.EventBus();\n attachDOMEventsToEventBus(globalEventBus, destroy$);\n return globalEventBus;\n}\nfunction attachDOMEventsToEventBus(eventBus, destroy$) {\n fromEvent(eventBus, 'documentload')\n .pipe(takeUntil(destroy$))\n .subscribe(() => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('documentload', true, true, {});\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagerendered')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, cssTransform, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagerendered', true, true, {\n pageNumber,\n cssTransform,\n });\n source.div.dispatchEvent(event);\n });\n fromEvent(eventBus, 'textlayerrendered')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('textlayerrendered', true, true, { pageNumber });\n source.textLayerDiv?.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagechanging')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pageNumber, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('pagechanging', true, true);\n /* tslint:disable:no-string-literal */\n event['pageNumber'] = pageNumber;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagesinit')\n .pipe(takeUntil(destroy$))\n .subscribe(({ source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesinit', true, true, null);\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagesloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ pagesCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagesloaded', true, true, { pagesCount });\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'scalechange')\n .pipe(takeUntil(destroy$))\n .subscribe(({ scale, presetValue, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('scalechange', true, true);\n /* tslint:disable:no-string-literal */\n event['scale'] = scale;\n /* tslint:disable:no-string-literal */\n event['presetValue'] = presetValue;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'updateviewarea')\n .pipe(takeUntil(destroy$))\n .subscribe(({ location, source }) => {\n const event = document.createEvent('UIEvents');\n event.initEvent('updateviewarea', true, true);\n event['location'] = location;\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'find')\n .pipe(takeUntil(destroy$))\n .subscribe(({ source, type, query, phraseSearch, caseSensitive, highlightAll, findPrevious, }) => {\n if (source === window) {\n return; // event comes from FirefoxCom, no need to replicate\n }\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('find' + type, true, true, {\n query,\n phraseSearch,\n caseSensitive,\n highlightAll,\n findPrevious,\n });\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'attachmentsloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ attachmentsCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('attachmentsloaded', true, true, {\n attachmentsCount,\n });\n source.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'sidebarviewchanged')\n .pipe(takeUntil(destroy$))\n .subscribe(({ view, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('sidebarviewchanged', true, true, { view });\n source.outerContainer.dispatchEvent(event);\n });\n fromEvent(eventBus, 'pagemode')\n .pipe(takeUntil(destroy$))\n .subscribe(({ mode, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('pagemode', true, true, { mode });\n source.pdfViewer.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'namedaction')\n .pipe(takeUntil(destroy$))\n .subscribe(({ action, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('namedaction', true, true, { action });\n source.pdfViewer.container.dispatchEvent(event);\n });\n fromEvent(eventBus, 'presentationmodechanged')\n .pipe(takeUntil(destroy$))\n .subscribe(({ active, switchInProgress }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('presentationmodechanged', true, true, {\n active,\n switchInProgress,\n });\n window.dispatchEvent(event);\n });\n fromEvent(eventBus, 'outlineloaded')\n .pipe(takeUntil(destroy$))\n .subscribe(({ outlineCount, source }) => {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent('outlineloaded', true, true, { outlineCount });\n source.container.dispatchEvent(event);\n });\n}\n\nfunction assign(obj, prop, value) {\n obj[prop] = value;\n}\nfunction isSSR() {\n return typeof window === 'undefined';\n}\n\n/**\n * Created by vadimdez on 21/06/16.\n */\nif (!isSSR()) {\n assign(PDFJS, 'verbosity', VerbosityLevel.INFOS);\n}\n// @ts-expect-error This does not exist outside of polyfill which this is doing\nif (typeof Promise.withResolvers === 'undefined' && window) {\n // @ts-expect-error This does not exist outside of polyfill which this is doing\n window.Promise.withResolvers = () => {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n };\n}\nvar RenderTextMode;\n(function (RenderTextMode) {\n RenderTextMode[RenderTextMode[\"DISABLED\"] = 0] = \"DISABLED\";\n RenderTextMode[RenderTextMode[\"ENABLED\"] = 1] = \"ENABLED\";\n RenderTextMode[RenderTextMode[\"ENHANCED\"] = 2] = \"ENHANCED\";\n})(RenderTextMode || (RenderTextMode = {}));\nclass PdfViewerComponent {\n element;\n ngZone;\n static CSS_UNITS = 96.0 / 72.0;\n static BORDER_WIDTH = 9;\n pdfViewerContainer;\n eventBus;\n pdfLinkService;\n pdfFindController;\n pdfViewer;\n isVisible = false;\n _cMapsUrl = typeof PDFJS !== 'undefined'\n ? `https://unpkg.com/pdfjs-dist@${PDFJS.version}/cmaps/`\n : null;\n _imageResourcesPath = typeof PDFJS !== 'undefined'\n ? `https://unpkg.com/pdfjs-dist@${PDFJS.version}/web/images/`\n : undefined;\n _renderText = true;\n _renderTextMode = RenderTextMode.ENABLED;\n _stickToPage = false;\n _originalSize = true;\n _pdf;\n _page = 1;\n _zoom = 1;\n _zoomScale = 'page-width';\n _rotation = 0;\n _showAll = true;\n _canAutoResize = true;\n _fitToPage = false;\n _externalLinkTarget = 'blank';\n _showBorders = false;\n lastLoaded;\n _latestScrolledPage;\n pageScrollTimeout = null;\n isInitialized = false;\n loadingTask;\n destroy$ = new Subject();\n afterLoadComplete = new EventEmitter();\n pageRendered = new EventEmitter();\n pageInitialized = new EventEmitter();\n textLayerRendered = new EventEmitter();\n onError = new EventEmitter();\n onProgress = new EventEmitter();\n pageChange = new EventEmitter(true);\n src;\n set cMapsUrl(cMapsUrl) {\n this._cMapsUrl = cMapsUrl;\n }\n set page(_page) {\n _page = parseInt(_page, 10) || 1;\n const originalPage = _page;\n if (this._pdf) {\n _page = this.getValidPageNumber(_page);\n }\n this._page = _page;\n if (originalPage !== _page) {\n this.pageChange.emit(_page);\n }\n }\n set renderText(renderText) {\n this._renderText = renderText;\n }\n set renderTextMode(renderTextMode) {\n this._renderTextMode = renderTextMode;\n }\n set originalSize(originalSize) {\n this._originalSize = originalSize;\n }\n set showAll(value) {\n this._showAll = value;\n }\n set stickToPage(value) {\n this._stickToPage = value;\n }\n set zoom(value) {\n if (value <= 0) {\n return;\n }\n this._zoom = value;\n }\n get zoom() {\n return this._zoom;\n }\n set zoomScale(value) {\n this._zoomScale = value;\n }\n get zoomScale() {\n return this._zoomScale;\n }\n set rotation(value) {\n if (!(typeof value === 'number' && value % 90 === 0)) {\n console.warn('Invalid pages rotation angle.');\n return;\n }\n this._rotation = value;\n }\n set externalLinkTarget(value) {\n this._externalLinkTarget = value;\n }\n set autoresize(value) {\n this._canAutoResize = Boolean(value);\n }\n set fitToPage(value) {\n this._fitToPage = Boolean(value);\n }\n set showBorders(value) {\n this._showBorders = Boolean(value);\n }\n static getLinkTarget(type) {\n switch (type) {\n case 'blank':\n return PDFJSViewer.LinkTarget.BLANK;\n case 'none':\n return PDFJSViewer.LinkTarget.NONE;\n case 'self':\n return PDFJSViewer.LinkTarget.SELF;\n case 'parent':\n return PDFJSViewer.LinkTarget.PARENT;\n case 'top':\n return PDFJSViewer.LinkTarget.TOP;\n }\n return null;\n }\n constructor(element, ngZone) {\n this.element = element;\n this.ngZone = ngZone;\n if (isSSR()) {\n return;\n }\n let pdfWorkerSrc;\n const pdfJsVersion = PDFJS.version;\n const versionSpecificPdfWorkerUrl = window[`pdfWorkerSrc${pdfJsVersion}`];\n if (versionSpecificPdfWorkerUrl) {\n pdfWorkerSrc = versionSpecificPdfWorkerUrl;\n }\n else if (window.hasOwnProperty('pdfWorkerSrc') &&\n typeof window.pdfWorkerSrc === 'string' &&\n window.pdfWorkerSrc) {\n pdfWorkerSrc = window.pdfWorkerSrc;\n }\n else {\n pdfWorkerSrc = `https://cdn.jsdelivr.net/npm/pdfjs-dist@${pdfJsVersion}/legacy/build/pdf.worker.min.mjs`;\n }\n assign(GlobalWorkerOptions, 'workerSrc', pdfWorkerSrc);\n }\n ngAfterViewChecked() {\n if (this.isInitialized) {\n return;\n }\n const offset = this.pdfViewerContainer.nativeElement.offsetParent;\n if (this.isVisible === true && offset == null) {\n this.isVisible = false;\n return;\n }\n if (this.isVisible === false && offset != null) {\n this.isVisible = true;\n setTimeout(() => {\n this.initialize();\n this.ngOnChanges({ src: this.src });\n });\n }\n }\n ngOnInit() {\n this.initialize();\n this.setupResizeListener();\n }\n ngOnDestroy() {\n this.clear();\n this.destroy$.next();\n this.loadingTask = null;\n }\n ngOnChanges(changes) {\n if (isSSR() || !this.isVisible) {\n return;\n }\n if ('src' in changes) {\n this.loadPDF();\n }\n else if (this._pdf) {\n if ('renderText' in changes || 'showAll' in changes) {\n this.setupViewer();\n this.resetPdfDocument();\n }\n if ('page' in changes) {\n const { page } = changes;\n if (page.currentValue === this._latestScrolledPage) {\n return;\n }\n // New form of page changing: The viewer will now jump to the specified page when it is changed.\n // This behavior is introduced by using the PDFSinglePageViewer\n this.pdfViewer.scrollPageIntoView({ pageNumber: this._page });\n }\n this.update();\n }\n }\n updateSize() {\n from(this._pdf.getPage(this.pdfViewer.currentPageNumber))\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: (page) => {\n const rotation = this._rotation + page.rotate;\n const viewportWidth = page.getViewport({\n scale: this._zoom,\n rotation\n }).width * PdfViewerComponent.CSS_UNITS;\n let scale = this._zoom;\n let stickToPage = true;\n // Scale the document when it shouldn't be in original size or doesn't fit into the viewport\n if (!this._originalSize ||\n (this._fitToPage &&\n viewportWidth > this.pdfViewerContainer.nativeElement.clientWidth)) {\n const viewPort = page.getViewport({ scale: 1, rotation });\n scale = this.getScale(viewPort.width, viewPort.height);\n stickToPage = !this._stickToPage;\n }\n this.pdfViewer.currentScale = scale;\n if (stickToPage)\n this.pdfViewer.scrollPageIntoView({ pageNumber: page.pageNumber, ignoreDestinationZoom: true });\n }\n });\n }\n clear() {\n if (this.loadingTask && !this.loadingTask.destroyed) {\n this.loadingTask.destroy();\n }\n if (this._pdf) {\n this._latestScrolledPage = 0;\n this._pdf.destroy();\n this._pdf = undefined;\n }\n this.pdfViewer && this.pdfViewer.setDocument(null);\n this.pdfLinkService && this.pdfLinkService.setDocument(null, null);\n this.pdfFindController && this.pdfFindController.setDocument(null);\n }\n getPDFLinkServiceConfig() {\n const linkTarget = PdfViewerComponent.getLinkTarget(this._externalLinkTarget);\n if (linkTarget) {\n return { externalLinkTarget: linkTarget };\n }\n return {};\n }\n initEventBus() {\n this.eventBus = createEventBus(PDFJSViewer, this.destroy$);\n fromEvent(this.eventBus, 'pagerendered')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.pageRendered.emit(event);\n });\n fromEvent(this.eventBus, 'pagesinit')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.pageInitialized.emit(event);\n });\n fromEvent(this.eventBus, 'pagechanging')\n .pipe(takeUntil(this.destroy$))\n .subscribe(({ pageNumber }) => {\n if (this.pageScrollTimeout) {\n clearTimeout(this.pageScrollTimeout);\n }\n this.pageScrollTimeout = window.setTimeout(() => {\n this._latestScrolledPage = pageNumber;\n this.pageChange.emit(pageNumber);\n }, 100);\n });\n fromEvent(this.eventBus, 'textlayerrendered')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.textLayerRendered.emit(event);\n });\n }\n initPDFServices() {\n this.pdfLinkService = new PDFJSViewer.PDFLinkService({\n eventBus: this.eventBus,\n ...this.getPDFLinkServiceConfig()\n });\n this.pdfFindController = new PDFJSViewer.PDFFindController({\n eventBus: this.eventBus,\n linkService: this.pdfLinkService,\n });\n }\n getPDFOptions() {\n return {\n eventBus: this.eventBus,\n container: this.element.nativeElement.querySelector('div'),\n removePageBorders: !this._showBorders,\n linkService: this.pdfLinkService,\n textLayerMode: this._renderText\n ? this._renderTextMode\n : RenderTextMode.DISABLED,\n findController: this.pdfFindController,\n l10n: new PDFJSViewer.GenericL10n('en'),\n imageResourcesPath: this._imageResourcesPath,\n annotationEditorMode: PDFJS.AnnotationEditorType.DISABLE,\n };\n }\n setupViewer() {\n if (this.pdfViewer) {\n this.pdfViewer.setDocument(null);\n }\n assign(PDFJS, 'disableTextLayer', !this._renderText);\n this.initPDFServices();\n if (this._showAll) {\n this.pdfViewer = new PDFJSViewer.PDFViewer(this.getPDFOptions());\n }\n else {\n this.pdfViewer = new PDFJSViewer.PDFSinglePageViewer(this.getPDFOptions());\n }\n this.pdfLinkService.setViewer(this.pdfViewer);\n this.pdfViewer._currentPageNumber = this._page;\n }\n getValidPageNumber(page) {\n if (page < 1) {\n return 1;\n }\n if (page > this._pdf.numPages) {\n return this._pdf.numPages;\n }\n return page;\n }\n getDocumentParams() {\n const srcType = typeof this.src;\n if (!this._cMapsUrl) {\n return this.src;\n }\n const params = {\n cMapUrl: this._cMapsUrl,\n cMapPacked: true,\n enableXfa: true,\n };\n params.isEvalSupported = false; // http://cve.org/CVERecord?id=CVE-2024-4367\n if (srcType === 'string') {\n params.url = this.src;\n }\n else if (srcType === 'object') {\n if (this.src.byteLength !== undefined) {\n params.data = this.src;\n }\n else {\n Object.assign(params, this.src);\n }\n }\n return params;\n }\n loadPDF() {\n if (!this.src) {\n return;\n }\n if (this.lastLoaded === this.src) {\n this.update();\n return;\n }\n this.clear();\n this.setupViewer();\n this.loadingTask = getDocument(this.getDocumentParams());\n this.loadingTask.onProgress = (progressData) => {\n this.onProgress.emit(progressData);\n };\n const src = this.src;\n from(this.loadingTask.promise)\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: (pdf) => {\n this._pdf = pdf;\n this.lastLoaded = src;\n this.afterLoadComplete.emit(pdf);\n this.resetPdfDocument();\n this.update();\n },\n error: (error) => {\n this.lastLoaded = null;\n this.onError.emit(error);\n }\n });\n }\n update() {\n this.page = this._page;\n this.render();\n }\n render() {\n this._page = this.getValidPageNumber(this._page);\n if (this._rotation !== 0 ||\n this.pdfViewer.pagesRotation !== this._rotation) {\n // wait until at least the first page is available.\n this.pdfViewer.firstPagePromise?.then(() => (this.pdfViewer.pagesRotation = this._rotation));\n }\n if (this._stickToPage) {\n setTimeout(() => {\n this.pdfViewer.currentPageNumber = this._page;\n });\n }\n if (!this.pdfViewer._pages?.length) {\n // the first time we wait until pages init\n const sub = this.pageInitialized.subscribe(() => {\n this.updateSize();\n sub.unsubscribe();\n });\n }\n else {\n this.updateSize();\n }\n }\n getScale(viewportWidth, viewportHeight) {\n const borderSize = this._showBorders ? 2 * PdfViewerComponent.BORDER_WIDTH : 0;\n const pdfContainerWidth = this.pdfViewerContainer.nativeElement.clientWidth - borderSize;\n const pdfContainerHeight = this.pdfViewerContainer.nativeElement.clientHeight - borderSize;\n if (pdfContainerHeight === 0 ||\n viewportHeight === 0 ||\n pdfContainerWidth === 0 ||\n viewportWidth === 0) {\n return 1;\n }\n let ratio = 1;\n switch (this._zoomScale) {\n case 'page-fit':\n ratio = Math.min(pdfContainerHeight / viewportHeight, pdfContainerWidth / viewportWidth);\n break;\n case 'page-height':\n ratio = pdfContainerHeight / viewportHeight;\n break;\n case 'page-width':\n default:\n ratio = pdfContainerWidth / viewportWidth;\n break;\n }\n return (this._zoom * ratio) / PdfViewerComponent.CSS_UNITS;\n }\n resetPdfDocument() {\n this.pdfLinkService.setDocument(this._pdf, null);\n this.pdfFindController.setDocument(this._pdf);\n this.pdfViewer.setDocument(this._pdf);\n }\n initialize() {\n if (isSSR() || !this.isVisible) {\n return;\n }\n this.isInitialized = true;\n this.initEventBus();\n this.setupViewer();\n }\n setupResizeListener() {\n if (isSSR()) {\n return;\n }\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'resize')\n .pipe(debounceTime(100), filter(() => this._canAutoResize && !!this._pdf), takeUntil(this.destroy$))\n .subscribe(() => {\n this.updateSize();\n });\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"16.1.0\", type: PdfViewerComponent, selector: \"pdf-viewer\", inputs: { src: \"src\", cMapsUrl: [\"c-maps-url\", \"cMapsUrl\"], page: \"page\", renderText: [\"render-text\", \"renderText\"], renderTextMode: [\"render-text-mode\", \"renderTextMode\"], originalSize: [\"original-size\", \"originalSize\"], showAll: [\"show-all\", \"showAll\"], stickToPage: [\"stick-to-page\", \"stickToPage\"], zoom: \"zoom\", zoomScale: [\"zoom-scale\", \"zoomScale\"], rotation: \"rotation\", externalLinkTarget: [\"external-link-target\", \"externalLinkTarget\"], autoresize: \"autoresize\", fitToPage: [\"fit-to-page\", \"fitToPage\"], showBorders: [\"show-borders\", \"showBorders\"] }, outputs: { afterLoadComplete: \"after-load-complete\", pageRendered: \"page-rendered\", pageInitialized: \"pages-initialized\", textLayerRendered: \"text-layer-rendered\", onError: \"error\", onProgress: \"on-progress\", pageChange: \"pageChange\" }, viewQueries: [{ propertyName: \"pdfViewerContainer\", first: true, predicate: [\"pdfViewerContainer\"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `\n
\n
\n
\n `, isInline: true, styles: [\".ng2-pdf-viewer-container{overflow-x:auto;position:absolute;height:100%;width:100%;-webkit-overflow-scrolling:touch}:host{display:block;position:relative}:host ::ng-deep{--pdfViewer-padding-bottom: 0;--page-margin: 1px auto -8px;--page-border: 9px solid transparent;--spreadHorizontalWrapped-margin-LR: -3.5px;--viewer-container-height: 0;--annotation-unfocused-field-background: url(\\\"data:image/svg+xml;charset=UTF-8,\\\");--xfa-unfocused-field-background: var( --annotation-unfocused-field-background );--page-border-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAA1ElEQVQ4jbWUWw6EIAxFy2NFs/8NzR4UJhpqLsdi5mOmSSMUOfYWqv3S0gMr4XlYH/64gZa/gN3ANYA7KAXALt4ktoQ5MI9YxqaG8bWmsIysMuT6piSQCa4whZThCu8CM4zP9YJaKci9jicPq3NcBWYoPMGUlhG7ivtkB+gVyFY75wXghOvh8t5mto1Mdim6e+MBqH6XsY+YAwjpq3vGF7weTWQptLEDVCZvPTMl5JZZsdh47FHW6qFMyvLYqjcnmdFfY9Xk/KDOlzCusX2mi/ofM7MPkzBcSp4Q1/wAAAAASUVORK5CYII=) 9 9 repeat;--scale-factor: 1;--focus-outline: solid 2px blue;--hover-outline: dashed 2px blue;--freetext-line-height: 1.35;--freetext-padding: 2px;--editorInk-editing-cursor: pointer}@media screen and (forced-colors: active){:host ::ng-deep{--pdfViewer-padding-bottom: 9px;--page-margin: 8px auto -1px;--page-border: 1px solid CanvasText;--page-border-image: none;--spreadHorizontalWrapped-margin-LR: 3.5px}}@media (forced-colors: active){:host ::ng-deep{--focus-outline: solid 3px ButtonText;--hover-outline: dashed 3px ButtonText}}:host ::ng-deep .textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;opacity:.2;line-height:1;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0}:host ::ng-deep .textLayer span,:host ::ng-deep .textLayer br{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}:host ::ng-deep .textLayer span.markedContent{top:0;height:0}:host ::ng-deep .textLayer .highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}:host ::ng-deep .textLayer .highlight.appended{position:initial}:host ::ng-deep .textLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .textLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .textLayer .highlight.middle{border-radius:0}:host ::ng-deep .textLayer .highlight.selected{background-color:#006400}:host ::ng-deep .textLayer ::selection{background:rgb(0,0,255)}:host ::ng-deep .textLayer br::selection{background:transparent}:host ::ng-deep .textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}:host ::ng-deep .textLayer .endOfContent.active{top:0}@media (forced-colors: active){:host ::ng-deep .annotationLayer .textWidgetAnnotation input:required,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:required,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid selectedItem}}:host ::ng-deep .annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0}:host ::ng-deep .annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0}:host ::ng-deep .annotationLayer .linkAnnotation>a,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>canvas{width:100%;height:100%}:host ::ng-deep .annotationLayer .linkAnnotation>a:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a:hover{opacity:.2;background:rgb(255,255,0);box-shadow:0 2px 10px #ff0}:host ::ng-deep .annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:required,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:required,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid red}:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select option{padding:0}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea{resize:none}:host ::ng-deep .annotationLayer .textWidgetAnnotation input[disabled],:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea[disabled],:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:hover,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:hover,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:hover{border:1px solid rgb(0,0,0)}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:1px solid transparent}:host ::ng-deep .annotationLayer .textWidgetAnnotation input :focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea :focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton :focus{background-image:none;background-color:transparent;outline:auto}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:\\\"\\\";display:block;position:absolute}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;appearance:none}:host ::ng-deep .annotationLayer .popupTriggerArea{height:100%;width:100%}:host ::ng-deep .annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}:host ::ng-deep .annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}:host ::ng-deep .annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}:host ::ng-deep .annotationLayer .popup h1{display:inline-block}:host ::ng-deep .annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}:host ::ng-deep .annotationLayer .popupContent{border-top:1px solid rgb(51,51,51);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}:host ::ng-deep .annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}:host ::ng-deep .annotationLayer .highlightAnnotation,:host ::ng-deep .annotationLayer .underlineAnnotation,:host ::ng-deep .annotationLayer .squigglyAnnotation,:host ::ng-deep .annotationLayer .strikeoutAnnotation,:host ::ng-deep .annotationLayer .freeTextAnnotation,:host ::ng-deep .annotationLayer .lineAnnotation svg line,:host ::ng-deep .annotationLayer .squareAnnotation svg rect,:host ::ng-deep .annotationLayer .circleAnnotation svg ellipse,:host ::ng-deep .annotationLayer .polylineAnnotation svg polyline,:host ::ng-deep .annotationLayer .polygonAnnotation svg polygon,:host ::ng-deep .annotationLayer .caretAnnotation,:host ::ng-deep .annotationLayer .inkAnnotation svg polyline,:host ::ng-deep .annotationLayer .stampAnnotation,:host ::ng-deep .annotationLayer .fileAttachmentAnnotation{cursor:pointer}:host ::ng-deep .annotationLayer section svg{position:absolute;width:100%;height:100%}:host ::ng-deep .annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}:host ::ng-deep .annotationLayer .annotationTextContent span{width:100%;display:inline-block}@media (forced-colors: active){:host ::ng-deep .xfaLayer *:required{outline:1.5px solid selectedItem}}:host ::ng-deep .xfaLayer .highlight{margin:-1px;padding:1px;background-color:#efcbed;border-radius:4px}:host ::ng-deep .xfaLayer .highlight.appended{position:initial}:host ::ng-deep .xfaLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .xfaLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .xfaLayer .highlight.middle{border-radius:0}:host ::ng-deep .xfaLayer .highlight.selected{background-color:#cbdfcb}:host ::ng-deep .xfaLayer ::selection{background:rgb(0,0,255)}:host ::ng-deep .xfaPage{overflow:hidden;position:relative}:host ::ng-deep .xfaContentarea{position:absolute}:host ::ng-deep .xfaPrintOnly{display:none}:host ::ng-deep .xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}:host ::ng-deep .xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;font-kerning:inherit;letter-spacing:-.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:transparent;padding:0;margin:0;pointer-events:auto;line-height:inherit}:host ::ng-deep .xfaLayer *:required{outline:1.5px solid red}:host ::ng-deep .xfaLayer div{pointer-events:none}:host ::ng-deep .xfaLayer svg{pointer-events:none}:host ::ng-deep .xfaLayer svg *{pointer-events:none}:host ::ng-deep .xfaLayer a{color:#00f}:host ::ng-deep .xfaRich li{margin-left:3em}:host ::ng-deep .xfaFont{color:#000;font-weight:400;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}:host ::ng-deep .xfaCaption{overflow:hidden;flex:0 0 auto}:host ::ng-deep .xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}:host ::ng-deep .xfaLabel{height:100%;width:100%}:host ::ng-deep .xfaLeft{display:flex;flex-direction:row;align-items:center}:host ::ng-deep .xfaRight{display:flex;flex-direction:row-reverse;align-items:center}:host ::ng-deep .xfaLeft>.xfaCaption,:host ::ng-deep .xfaLeft>.xfaCaptionForCheckButton,:host ::ng-deep .xfaRight>.xfaCaption,:host ::ng-deep .xfaRight>.xfaCaptionForCheckButton{max-height:100%}:host ::ng-deep .xfaTop{display:flex;flex-direction:column;align-items:flex-start}:host ::ng-deep .xfaBottom{display:flex;flex-direction:column-reverse;align-items:flex-start}:host ::ng-deep .xfaTop>.xfaCaption,:host ::ng-deep .xfaTop>.xfaCaptionForCheckButton,:host ::ng-deep .xfaBottom>.xfaCaption,:host ::ng-deep .xfaBottom>.xfaCaptionForCheckButton{width:100%}:host ::ng-deep .xfaBorder{background-color:transparent;position:absolute;pointer-events:none}:host ::ng-deep .xfaWrapped{width:100%;height:100%}:host ::ng-deep .xfaTextfield:focus,:host ::ng-deep .xfaSelect:focus{background-image:none;background-color:transparent;outline:auto;outline-offset:-1px}:host ::ng-deep .xfaCheckbox:focus,:host ::ng-deep .xfaRadio:focus{outline:auto}:host ::ng-deep .xfaTextfield,:host ::ng-deep .xfaSelect{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}:host ::ng-deep .xfaTop>.xfaTextfield,:host ::ng-deep .xfaTop>.xfaSelect,:host ::ng-deep .xfaBottom>.xfaTextfield,:host ::ng-deep .xfaBottom>.xfaSelect{flex:0 1 auto}:host ::ng-deep .xfaButton{cursor:pointer;width:100%;height:100%;border:none;text-align:center}:host ::ng-deep .xfaLink{width:100%;height:100%;position:absolute;top:0;left:0}:host ::ng-deep .xfaCheckbox,:host ::ng-deep .xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}:host ::ng-deep .xfaRich{white-space:pre-wrap;width:100%;height:100%}:host ::ng-deep .xfaImage{object-position:left top;object-fit:contain;width:100%;height:100%}:host ::ng-deep .xfaLrTb,:host ::ng-deep .xfaRlTb,:host ::ng-deep .xfaTb{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaLr{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}:host ::ng-deep .xfaTb>div{justify-content:left}:host ::ng-deep .xfaPosition{position:relative}:host ::ng-deep .xfaArea{position:relative}:host ::ng-deep .xfaValignMiddle{display:flex;align-items:center}:host ::ng-deep .xfaTable{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaTable .xfaRow{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}:host ::ng-deep .xfaTable .xfaRlRow>div{flex:1}:host ::ng-deep .xfaNonInteractive input,:host ::ng-deep .xfaNonInteractive textarea,:host ::ng-deep .xfaDisabled input,:host ::ng-deep .xfaDisabled textarea,:host ::ng-deep .xfaReadOnly input,:host ::ng-deep .xfaReadOnly textarea{background:initial}@media print{:host ::ng-deep .xfaTextfield,:host ::ng-deep .xfaSelect{background:transparent}:host ::ng-deep .xfaSelect{-webkit-appearance:none;appearance:none;text-indent:1px;text-overflow:\\\"\\\"}}:host ::ng-deep [data-editor-rotation=\\\"90\\\"]{transform:rotate(90deg)}:host ::ng-deep [data-editor-rotation=\\\"180\\\"]{transform:rotate(180deg)}:host ::ng-deep [data-editor-rotation=\\\"270\\\"]{transform:rotate(270deg)}:host ::ng-deep .annotationEditorLayer{background:transparent;position:absolute;top:0;left:0;font-size:calc(100px * var(--scale-factor));transform-origin:0 0}:host ::ng-deep .annotationEditorLayer .selectedEditor{outline:var(--focus-outline);resize:none}:host ::ng-deep .annotationEditorLayer .freeTextEditor{position:absolute;background:transparent;border-radius:3px;padding:calc(var(--freetext-padding) * var(--scale-factor));resize:none;width:auto;height:auto;z-index:1;transform-origin:0 0;touch-action:none}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal{background:transparent;border:none;top:0;left:0;overflow:visible;white-space:nowrap;resize:none;font:10px sans-serif;line-height:var(--freetext-line-height)}:host ::ng-deep .annotationEditorLayer .freeTextEditor .overlay{position:absolute;display:none;background:transparent;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationEditorLayer .freeTextEditor .overlay.enabled{display:block}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal:empty:before{content:attr(default-content);color:gray}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal:focus{outline:none}:host ::ng-deep .annotationEditorLayer .inkEditor.disabled{resize:none}:host ::ng-deep .annotationEditorLayer .inkEditor.disabled.selectedEditor{resize:horizontal}:host ::ng-deep .annotationEditorLayer .freeTextEditor:hover:not(.selectedEditor),:host ::ng-deep .annotationEditorLayer .inkEditor:hover:not(.selectedEditor){outline:var(--hover-outline)}:host ::ng-deep .annotationEditorLayer .inkEditor{position:absolute;background:transparent;border-radius:3px;overflow:auto;width:100%;height:100%;z-index:1;transform-origin:0 0;cursor:auto}:host ::ng-deep .annotationEditorLayer .inkEditor.editing{resize:none;cursor:var(--editorInk-editing-cursor),pointer}:host ::ng-deep .annotationEditorLayer .inkEditor .inkEditorCanvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none}:host ::ng-deep [data-main-rotation=\\\"90\\\"]{transform:rotate(90deg) translateY(-100%)}:host ::ng-deep [data-main-rotation=\\\"180\\\"]{transform:rotate(180deg) translate(-100%,-100%)}:host ::ng-deep [data-main-rotation=\\\"270\\\"]{transform:rotate(270deg) translate(-100%)}:host ::ng-deep .pdfViewer{padding-bottom:var(--pdfViewer-padding-bottom)}:host ::ng-deep .pdfViewer .canvasWrapper{overflow:hidden}:host ::ng-deep .pdfViewer .canvasWrapper canvas{width:100%}:host ::ng-deep .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:var(--page-margin);position:relative;overflow:visible;border:var(--page-border);border-image:var(--page-border-image);background-clip:content-box;background-color:#fff}:host ::ng-deep .pdfViewer .dummyPage{position:relative;width:0;height:var(--viewer-container-height)}:host ::ng-deep .pdfViewer.removePageBorders .page{margin:0 auto 10px;border:none}:host ::ng-deep .pdfViewer.singlePageView{display:inline-block}:host ::ng-deep .pdfViewer.singlePageView .page{margin:0;border:none}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .pdfViewer.scrollWrapped,:host ::ng-deep .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .spread{white-space:nowrap}:host ::ng-deep .pdfViewer.removePageBorders,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}:host ::ng-deep .spread .page,:host ::ng-deep .spread .dummyPage,:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{display:inline-block;vertical-align:middle}:host ::ng-deep .spread .page,:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page{margin-left:var(--spreadHorizontalWrapped-margin-LR);margin-right:var(--spreadHorizontalWrapped-margin-LR)}:host ::ng-deep .pdfViewer.removePageBorders .spread .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollHorizontal .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollWrapped .page{margin-left:5px;margin-right:5px}:host ::ng-deep .pdfViewer .page canvas{margin:0;display:block}:host ::ng-deep .pdfViewer .page canvas[hidden]{display:none}:host ::ng-deep .pdfViewer .page .loadingIcon{position:absolute;display:block;inset:0;background:url(data:image/gif;base64,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) center no-repeat}:host ::ng-deep .pdfViewer .page .loadingIcon.notVisible{background:none}:host ::ng-deep .pdfViewer.enablePermissions .textLayer span{-webkit-user-select:none!important;user-select:none!important;cursor:not-allowed}:host ::ng-deep .pdfPresentationMode .pdfViewer{padding-bottom:0}:host ::ng-deep .pdfPresentationMode .spread{margin:0}:host ::ng-deep .pdfPresentationMode .pdfViewer .page{margin:0 auto;border:2px solid transparent}\\n\"] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'pdf-viewer', template: `\n
\n
\n
\n `, styles: [\".ng2-pdf-viewer-container{overflow-x:auto;position:absolute;height:100%;width:100%;-webkit-overflow-scrolling:touch}:host{display:block;position:relative}:host ::ng-deep{--pdfViewer-padding-bottom: 0;--page-margin: 1px auto -8px;--page-border: 9px solid transparent;--spreadHorizontalWrapped-margin-LR: -3.5px;--viewer-container-height: 0;--annotation-unfocused-field-background: url(\\\"data:image/svg+xml;charset=UTF-8,\\\");--xfa-unfocused-field-background: var( --annotation-unfocused-field-background );--page-border-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAA1ElEQVQ4jbWUWw6EIAxFy2NFs/8NzR4UJhpqLsdi5mOmSSMUOfYWqv3S0gMr4XlYH/64gZa/gN3ANYA7KAXALt4ktoQ5MI9YxqaG8bWmsIysMuT6piSQCa4whZThCu8CM4zP9YJaKci9jicPq3NcBWYoPMGUlhG7ivtkB+gVyFY75wXghOvh8t5mto1Mdim6e+MBqH6XsY+YAwjpq3vGF7weTWQptLEDVCZvPTMl5JZZsdh47FHW6qFMyvLYqjcnmdFfY9Xk/KDOlzCusX2mi/ofM7MPkzBcSp4Q1/wAAAAASUVORK5CYII=) 9 9 repeat;--scale-factor: 1;--focus-outline: solid 2px blue;--hover-outline: dashed 2px blue;--freetext-line-height: 1.35;--freetext-padding: 2px;--editorInk-editing-cursor: pointer}@media screen and (forced-colors: active){:host ::ng-deep{--pdfViewer-padding-bottom: 9px;--page-margin: 8px auto -1px;--page-border: 1px solid CanvasText;--page-border-image: none;--spreadHorizontalWrapped-margin-LR: 3.5px}}@media (forced-colors: active){:host ::ng-deep{--focus-outline: solid 3px ButtonText;--hover-outline: dashed 3px ButtonText}}:host ::ng-deep .textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;opacity:.2;line-height:1;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0}:host ::ng-deep .textLayer span,:host ::ng-deep .textLayer br{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}:host ::ng-deep .textLayer span.markedContent{top:0;height:0}:host ::ng-deep .textLayer .highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}:host ::ng-deep .textLayer .highlight.appended{position:initial}:host ::ng-deep .textLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .textLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .textLayer .highlight.middle{border-radius:0}:host ::ng-deep .textLayer .highlight.selected{background-color:#006400}:host ::ng-deep .textLayer ::selection{background:rgb(0,0,255)}:host ::ng-deep .textLayer br::selection{background:transparent}:host ::ng-deep .textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}:host ::ng-deep .textLayer .endOfContent.active{top:0}@media (forced-colors: active){:host ::ng-deep .annotationLayer .textWidgetAnnotation input:required,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:required,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid selectedItem}}:host ::ng-deep .annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0}:host ::ng-deep .annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0}:host ::ng-deep .annotationLayer .linkAnnotation>a,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>canvas{width:100%;height:100%}:host ::ng-deep .annotationLayer .linkAnnotation>a:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.pushButton>a:hover{opacity:.2;background:rgb(255,255,0);box-shadow:0 2px 10px #ff0}:host ::ng-deep .annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:required,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:required,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:required,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid red}:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select option{padding:0}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea{resize:none}:host ::ng-deep .annotationLayer .textWidgetAnnotation input[disabled],:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea[disabled],:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:hover,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:hover,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:hover,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:hover{border:1px solid rgb(0,0,0)}:host ::ng-deep .annotationLayer .textWidgetAnnotation input:focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea:focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:1px solid transparent}:host ::ng-deep .annotationLayer .textWidgetAnnotation input :focus,:host ::ng-deep .annotationLayer .textWidgetAnnotation textarea :focus,:host ::ng-deep .annotationLayer .choiceWidgetAnnotation select :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox :focus,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton :focus{background-image:none;background-color:transparent;outline:auto}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:\\\"\\\";display:block;position:absolute}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}:host ::ng-deep .annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.checkBox input,:host ::ng-deep .annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;appearance:none}:host ::ng-deep .annotationLayer .popupTriggerArea{height:100%;width:100%}:host ::ng-deep .annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}:host ::ng-deep .annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}:host ::ng-deep .annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}:host ::ng-deep .annotationLayer .popup h1{display:inline-block}:host ::ng-deep .annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}:host ::ng-deep .annotationLayer .popupContent{border-top:1px solid rgb(51,51,51);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}:host ::ng-deep .annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}:host ::ng-deep .annotationLayer .highlightAnnotation,:host ::ng-deep .annotationLayer .underlineAnnotation,:host ::ng-deep .annotationLayer .squigglyAnnotation,:host ::ng-deep .annotationLayer .strikeoutAnnotation,:host ::ng-deep .annotationLayer .freeTextAnnotation,:host ::ng-deep .annotationLayer .lineAnnotation svg line,:host ::ng-deep .annotationLayer .squareAnnotation svg rect,:host ::ng-deep .annotationLayer .circleAnnotation svg ellipse,:host ::ng-deep .annotationLayer .polylineAnnotation svg polyline,:host ::ng-deep .annotationLayer .polygonAnnotation svg polygon,:host ::ng-deep .annotationLayer .caretAnnotation,:host ::ng-deep .annotationLayer .inkAnnotation svg polyline,:host ::ng-deep .annotationLayer .stampAnnotation,:host ::ng-deep .annotationLayer .fileAttachmentAnnotation{cursor:pointer}:host ::ng-deep .annotationLayer section svg{position:absolute;width:100%;height:100%}:host ::ng-deep .annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}:host ::ng-deep .annotationLayer .annotationTextContent span{width:100%;display:inline-block}@media (forced-colors: active){:host ::ng-deep .xfaLayer *:required{outline:1.5px solid selectedItem}}:host ::ng-deep .xfaLayer .highlight{margin:-1px;padding:1px;background-color:#efcbed;border-radius:4px}:host ::ng-deep .xfaLayer .highlight.appended{position:initial}:host ::ng-deep .xfaLayer .highlight.begin{border-radius:4px 0 0 4px}:host ::ng-deep .xfaLayer .highlight.end{border-radius:0 4px 4px 0}:host ::ng-deep .xfaLayer .highlight.middle{border-radius:0}:host ::ng-deep .xfaLayer .highlight.selected{background-color:#cbdfcb}:host ::ng-deep .xfaLayer ::selection{background:rgb(0,0,255)}:host ::ng-deep .xfaPage{overflow:hidden;position:relative}:host ::ng-deep .xfaContentarea{position:absolute}:host ::ng-deep .xfaPrintOnly{display:none}:host ::ng-deep .xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}:host ::ng-deep .xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;font-kerning:inherit;letter-spacing:-.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:transparent;padding:0;margin:0;pointer-events:auto;line-height:inherit}:host ::ng-deep .xfaLayer *:required{outline:1.5px solid red}:host ::ng-deep .xfaLayer div{pointer-events:none}:host ::ng-deep .xfaLayer svg{pointer-events:none}:host ::ng-deep .xfaLayer svg *{pointer-events:none}:host ::ng-deep .xfaLayer a{color:#00f}:host ::ng-deep .xfaRich li{margin-left:3em}:host ::ng-deep .xfaFont{color:#000;font-weight:400;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}:host ::ng-deep .xfaCaption{overflow:hidden;flex:0 0 auto}:host ::ng-deep .xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}:host ::ng-deep .xfaLabel{height:100%;width:100%}:host ::ng-deep .xfaLeft{display:flex;flex-direction:row;align-items:center}:host ::ng-deep .xfaRight{display:flex;flex-direction:row-reverse;align-items:center}:host ::ng-deep .xfaLeft>.xfaCaption,:host ::ng-deep .xfaLeft>.xfaCaptionForCheckButton,:host ::ng-deep .xfaRight>.xfaCaption,:host ::ng-deep .xfaRight>.xfaCaptionForCheckButton{max-height:100%}:host ::ng-deep .xfaTop{display:flex;flex-direction:column;align-items:flex-start}:host ::ng-deep .xfaBottom{display:flex;flex-direction:column-reverse;align-items:flex-start}:host ::ng-deep .xfaTop>.xfaCaption,:host ::ng-deep .xfaTop>.xfaCaptionForCheckButton,:host ::ng-deep .xfaBottom>.xfaCaption,:host ::ng-deep .xfaBottom>.xfaCaptionForCheckButton{width:100%}:host ::ng-deep .xfaBorder{background-color:transparent;position:absolute;pointer-events:none}:host ::ng-deep .xfaWrapped{width:100%;height:100%}:host ::ng-deep .xfaTextfield:focus,:host ::ng-deep .xfaSelect:focus{background-image:none;background-color:transparent;outline:auto;outline-offset:-1px}:host ::ng-deep .xfaCheckbox:focus,:host ::ng-deep .xfaRadio:focus{outline:auto}:host ::ng-deep .xfaTextfield,:host ::ng-deep .xfaSelect{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}:host ::ng-deep .xfaTop>.xfaTextfield,:host ::ng-deep .xfaTop>.xfaSelect,:host ::ng-deep .xfaBottom>.xfaTextfield,:host ::ng-deep .xfaBottom>.xfaSelect{flex:0 1 auto}:host ::ng-deep .xfaButton{cursor:pointer;width:100%;height:100%;border:none;text-align:center}:host ::ng-deep .xfaLink{width:100%;height:100%;position:absolute;top:0;left:0}:host ::ng-deep .xfaCheckbox,:host ::ng-deep .xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}:host ::ng-deep .xfaRich{white-space:pre-wrap;width:100%;height:100%}:host ::ng-deep .xfaImage{object-position:left top;object-fit:contain;width:100%;height:100%}:host ::ng-deep .xfaLrTb,:host ::ng-deep .xfaRlTb,:host ::ng-deep .xfaTb{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaLr{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}:host ::ng-deep .xfaTb>div{justify-content:left}:host ::ng-deep .xfaPosition{position:relative}:host ::ng-deep .xfaArea{position:relative}:host ::ng-deep .xfaValignMiddle{display:flex;align-items:center}:host ::ng-deep .xfaTable{display:flex;flex-direction:column;align-items:stretch}:host ::ng-deep .xfaTable .xfaRow{display:flex;flex-direction:row;align-items:stretch}:host ::ng-deep .xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}:host ::ng-deep .xfaTable .xfaRlRow>div{flex:1}:host ::ng-deep .xfaNonInteractive input,:host ::ng-deep .xfaNonInteractive textarea,:host ::ng-deep .xfaDisabled input,:host ::ng-deep .xfaDisabled textarea,:host ::ng-deep .xfaReadOnly input,:host ::ng-deep .xfaReadOnly textarea{background:initial}@media print{:host ::ng-deep .xfaTextfield,:host ::ng-deep .xfaSelect{background:transparent}:host ::ng-deep .xfaSelect{-webkit-appearance:none;appearance:none;text-indent:1px;text-overflow:\\\"\\\"}}:host ::ng-deep [data-editor-rotation=\\\"90\\\"]{transform:rotate(90deg)}:host ::ng-deep [data-editor-rotation=\\\"180\\\"]{transform:rotate(180deg)}:host ::ng-deep [data-editor-rotation=\\\"270\\\"]{transform:rotate(270deg)}:host ::ng-deep .annotationEditorLayer{background:transparent;position:absolute;top:0;left:0;font-size:calc(100px * var(--scale-factor));transform-origin:0 0}:host ::ng-deep .annotationEditorLayer .selectedEditor{outline:var(--focus-outline);resize:none}:host ::ng-deep .annotationEditorLayer .freeTextEditor{position:absolute;background:transparent;border-radius:3px;padding:calc(var(--freetext-padding) * var(--scale-factor));resize:none;width:auto;height:auto;z-index:1;transform-origin:0 0;touch-action:none}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal{background:transparent;border:none;top:0;left:0;overflow:visible;white-space:nowrap;resize:none;font:10px sans-serif;line-height:var(--freetext-line-height)}:host ::ng-deep .annotationEditorLayer .freeTextEditor .overlay{position:absolute;display:none;background:transparent;top:0;left:0;width:100%;height:100%}:host ::ng-deep .annotationEditorLayer .freeTextEditor .overlay.enabled{display:block}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal:empty:before{content:attr(default-content);color:gray}:host ::ng-deep .annotationEditorLayer .freeTextEditor .internal:focus{outline:none}:host ::ng-deep .annotationEditorLayer .inkEditor.disabled{resize:none}:host ::ng-deep .annotationEditorLayer .inkEditor.disabled.selectedEditor{resize:horizontal}:host ::ng-deep .annotationEditorLayer .freeTextEditor:hover:not(.selectedEditor),:host ::ng-deep .annotationEditorLayer .inkEditor:hover:not(.selectedEditor){outline:var(--hover-outline)}:host ::ng-deep .annotationEditorLayer .inkEditor{position:absolute;background:transparent;border-radius:3px;overflow:auto;width:100%;height:100%;z-index:1;transform-origin:0 0;cursor:auto}:host ::ng-deep .annotationEditorLayer .inkEditor.editing{resize:none;cursor:var(--editorInk-editing-cursor),pointer}:host ::ng-deep .annotationEditorLayer .inkEditor .inkEditorCanvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none}:host ::ng-deep [data-main-rotation=\\\"90\\\"]{transform:rotate(90deg) translateY(-100%)}:host ::ng-deep [data-main-rotation=\\\"180\\\"]{transform:rotate(180deg) translate(-100%,-100%)}:host ::ng-deep [data-main-rotation=\\\"270\\\"]{transform:rotate(270deg) translate(-100%)}:host ::ng-deep .pdfViewer{padding-bottom:var(--pdfViewer-padding-bottom)}:host ::ng-deep .pdfViewer .canvasWrapper{overflow:hidden}:host ::ng-deep .pdfViewer .canvasWrapper canvas{width:100%}:host ::ng-deep .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:var(--page-margin);position:relative;overflow:visible;border:var(--page-border);border-image:var(--page-border-image);background-clip:content-box;background-color:#fff}:host ::ng-deep .pdfViewer .dummyPage{position:relative;width:0;height:var(--viewer-container-height)}:host ::ng-deep .pdfViewer.removePageBorders .page{margin:0 auto 10px;border:none}:host ::ng-deep .pdfViewer.singlePageView{display:inline-block}:host ::ng-deep .pdfViewer.singlePageView .page{margin:0;border:none}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .pdfViewer.scrollWrapped,:host ::ng-deep .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}:host ::ng-deep .pdfViewer.scrollHorizontal,:host ::ng-deep .spread{white-space:nowrap}:host ::ng-deep .pdfViewer.removePageBorders,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}:host ::ng-deep .spread .page,:host ::ng-deep .spread .dummyPage,:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page,:host ::ng-deep .pdfViewer.scrollHorizontal .spread,:host ::ng-deep .pdfViewer.scrollWrapped .spread{display:inline-block;vertical-align:middle}:host ::ng-deep .spread .page,:host ::ng-deep .pdfViewer.scrollHorizontal .page,:host ::ng-deep .pdfViewer.scrollWrapped .page{margin-left:var(--spreadHorizontalWrapped-margin-LR);margin-right:var(--spreadHorizontalWrapped-margin-LR)}:host ::ng-deep .pdfViewer.removePageBorders .spread .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollHorizontal .page,:host ::ng-deep .pdfViewer.removePageBorders.scrollWrapped .page{margin-left:5px;margin-right:5px}:host ::ng-deep .pdfViewer .page canvas{margin:0;display:block}:host ::ng-deep .pdfViewer .page canvas[hidden]{display:none}:host ::ng-deep .pdfViewer .page .loadingIcon{position:absolute;display:block;inset:0;background:url(data:image/gif;base64,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) center no-repeat}:host ::ng-deep .pdfViewer .page .loadingIcon.notVisible{background:none}:host ::ng-deep .pdfViewer.enablePermissions .textLayer span{-webkit-user-select:none!important;user-select:none!important;cursor:not-allowed}:host ::ng-deep .pdfPresentationMode .pdfViewer{padding-bottom:0}:host ::ng-deep .pdfPresentationMode .spread{margin:0}:host ::ng-deep .pdfPresentationMode .pdfViewer .page{margin:0 auto;border:2px solid transparent}\\n\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { pdfViewerContainer: [{\n type: ViewChild,\n args: ['pdfViewerContainer']\n }], afterLoadComplete: [{\n type: Output,\n args: ['after-load-complete']\n }], pageRendered: [{\n type: Output,\n args: ['page-rendered']\n }], pageInitialized: [{\n type: Output,\n args: ['pages-initialized']\n }], textLayerRendered: [{\n type: Output,\n args: ['text-layer-rendered']\n }], onError: [{\n type: Output,\n args: ['error']\n }], onProgress: [{\n type: Output,\n args: ['on-progress']\n }], pageChange: [{\n type: Output\n }], src: [{\n type: Input\n }], cMapsUrl: [{\n type: Input,\n args: ['c-maps-url']\n }], page: [{\n type: Input,\n args: ['page']\n }], renderText: [{\n type: Input,\n args: ['render-text']\n }], renderTextMode: [{\n type: Input,\n args: ['render-text-mode']\n }], originalSize: [{\n type: Input,\n args: ['original-size']\n }], showAll: [{\n type: Input,\n args: ['show-all']\n }], stickToPage: [{\n type: Input,\n args: ['stick-to-page']\n }], zoom: [{\n type: Input,\n args: ['zoom']\n }], zoomScale: [{\n type: Input,\n args: ['zoom-scale']\n }], rotation: [{\n type: Input,\n args: ['rotation']\n }], externalLinkTarget: [{\n type: Input,\n args: ['external-link-target']\n }], autoresize: [{\n type: Input,\n args: ['autoresize']\n }], fitToPage: [{\n type: Input,\n args: ['fit-to-page']\n }], showBorders: [{\n type: Input,\n args: ['show-borders']\n }] } });\n\n/**\n * Created by vadimdez on 01/11/2016.\n */\nclass PdfViewerModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerModule, declarations: [PdfViewerComponent], exports: [PdfViewerComponent] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"16.1.0\", ngImport: i0, type: PdfViewerModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [PdfViewerComponent],\n exports: [PdfViewerComponent]\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { PdfViewerComponent, PdfViewerModule, RenderTextMode };\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SelfSamplingInstructionComponent } from \"./self-sampling-instruction.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n declarations: [SelfSamplingInstructionComponent],\n exports: [SelfSamplingInstructionComponent],\n})\nexport class SelfSamplingInstructionModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ParentSelfSamplingInstructionComponent } from \"./parent-self-sampling-instruction.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n declarations: [ParentSelfSamplingInstructionComponent],\n exports: [ParentSelfSamplingInstructionComponent],\n})\nexport class ParentSelfSamplingInstructionModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { GeneralTermsComponent } from \"./general-terms.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n declarations: [GeneralTermsComponent],\n imports: [CommonModule, SharedModule],\n exports: [GeneralTermsComponent],\n})\nexport class GeneralTermsModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { InitSessionComponent } from \"./init-session.component\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n declarations: [InitSessionComponent],\n})\nexport class InitSessionModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SendForgotPasswordComponent } from \"./send-forgot-password.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { DxpBackgroundModule } from \"src/app/modules/shared/dxp-background/dxp-background.module\";\nimport { DxpSendForgotPasswordComponent } from \"../dxp-send-forgot-password/dxp-send-forgot-password.component\";\n\n@NgModule({\n declarations: [SendForgotPasswordComponent, DxpSendForgotPasswordComponent],\n imports: [CommonModule, ReactiveFormsModule, SharedModule, DxpBackgroundModule],\n})\nexport class SendForgotPasswordModule {}\n","import { CommonModule, DOCUMENT } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, Inject, NgModule } from \"@angular/core\";\nimport { ActivatedRoute, RouterModule } from \"@angular/router\";\nimport { ConfigService } from \"src/app/services/config/config.service\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { TranslocoService } from \"@ngneat/transloco\";\n\nexport type BrowserRedirectData = {\n app: string,\n path?: string,\n url?: string\n}\n@Component({\n selector: 'lib-redirect',\n templateUrl: './browser-redirect.component.html',\n styleUrls: ['./browser-redirect.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BrowserRedirectComponent {\n target:string;\n\n constructor(\n @Inject(DOCUMENT) private _doc: Document,\n private _r:ActivatedRoute,\n private _cfg:ConfigService,\n private _t:TranslocoService,\n ) {\n const dest:BrowserRedirectData = {\n url: this._r.snapshot.data[\"url\"],\n path: this._r.snapshot.data[\"path\"],\n app: this._r.snapshot.data[\"app\"]\n };\n if (dest.url) {\n this.target = dest.url;\n } else {\n this.target = this._cfg._envConfig[dest.app] + dest.path;\n }\n this._doc.location.href = this.target + '/?langCode=' + this._t.getActiveLang() ;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, MatProgressSpinnerModule],\n declarations: [BrowserRedirectComponent],\n exports: [BrowserRedirectComponent]\n})\nexport class BrowserRedirectModule {}\n","import { createSelector } from \"@ngrx/store\";\nimport { AppState } from \"../reducers\";\nimport * as HeaderReducer from \"../reducers/header.reducer\";\n\nconst State = (state: AppState) => state[HeaderReducer.headerFeatureKey];\n\nconst getVisibility = createSelector(State, (state) => state.visible);\n\nexport const HeaderSelectors = {\n getVisibility,\n};\n","import { Injectable } from \"@angular/core\";\nimport { select, Store } from \"@ngrx/store\";\nimport { Observable } from \"rxjs\";\nimport { AppState } from \"src/app/@store/reducers\";\nimport { HeaderSelectors } from \"src/app/@store/selectors/header.selectors\";\nimport { HeaderVisibilityService as LibHeaderVisibilityService } from \"src/app/plasma-ui-common/synlab-access-ui-components/core/header-visibility/header-visibility.service\";\n\n@Injectable({ providedIn: \"root\" })\nexport class HeaderVisibilityService implements LibHeaderVisibilityService {\n visible$: Observable = this._store.pipe(select(HeaderSelectors.getVisibility));\n constructor(private _store: Store) {}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"src/app/modules/shared/shared.module\";\nimport { ActivateAccountComponent } from \"./activate-account.component\";\nimport { TranslocoModule } from \"@ngneat/transloco\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\n\n@NgModule({\n declarations: [ActivateAccountComponent],\n imports: [CommonModule, SharedModule, MatProgressSpinnerModule, TranslocoModule],\n})\nexport class ActivateAccountModule {}\n","import { BrowserModule } from \"@angular/platform-browser\";\nimport { NgModule, APP_INITIALIZER, CSP_NONCE } from \"@angular/core\";\nimport { AppRoutingModule } from \"./app-routing.module\";\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\n\n/*Main*/\nimport { AppComponent } from \"./app.component\";\n\n/*Module*/\nimport { InitComponent } from \"./pages/init/init.component\";\n\n/*Services*/\nimport { AuthGuard } from \"./services/authGuard/auth.guard\";\nimport { ConfigService } from \"./services/config/config.service\";\nimport { AuthService } from \"./services/auth/auth.service\";\nimport { SiginCallbackComponent } from \"./pages/signin-callback/signin-callback.component\";\nimport { TokenInterceptor } from \"./services/auth/token-interceptor/token-interceptor.service\";\nimport { ToastrModule } from \"ngx-toastr\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { ForgotPasswordModule } from \"./pages/forgot-password/forgot-password.module\";\nimport { DeleteAccountModule } from \"./pages/delete-account/delete-account.module\";\nimport { RenewtokenComponent } from \"./pages/renewtoken/renewtoken.component\";\nimport { TranslocoRootModule } from \"./transloco-root.module\";\nimport { SharedModule } from \"./modules/shared/shared.module\";\nimport { TermsOfUseModule } from \"./pages/terms-of-use/terms-of-use.module\";\nimport { TermsOfUseMobileModule } from \"./pages/terms-of-use-mobile/terms-of-use-mobile.module\";\nimport { PrivacyPolicyModule } from \"./pages/privacy-policy/privacy-policy.module\";\nimport { StoreModule } from \"@ngrx/store\";\nimport { REDUCER_TOKEN, getReducers } from \"./@store/reducers\";\nimport { effects } from \"./@store/effects\";\nimport { EffectsModule } from \"@ngrx/effects\";\nimport { StoreDevtoolsModule } from \"@ngrx/store-devtools\";\nimport { environment } from \"src/environments/environment\";\nimport { StoreService } from \"./services/store.service\";\nimport { TermsComponent } from \"./modules/shared/terms/terms.component\";\nimport { PrivacyPolicyFrameComponent } from \"./modules/shared/privacy-policy-frame/privacy-policy-frame.component\";\nimport { PdfViewerModule } from \"ng2-pdf-viewer\";\nimport { SelfSamplingInstructionModule } from \"./pages/self-sampling-instruction/self-sampling-instruction.module\";\nimport { ParentSelfSamplingInstructionModule } from \"./pages/parent-self-sampling-instruction/parent-self-sampling-instruction.module\";\nimport { GeneralTermsModule } from \"./pages/general-terms/general-terms.module\";\nimport { InitSessionModule } from \"./pages/init-session/init-session.module\";\nimport { SendForgotPasswordModule } from \"./pages/send-forgot-password/send-forgot-password.module\";\nimport { CheckLogin } from \"./services/authGuard/check.login.guard\";\nimport { EePrivacyTermsComponent } from \"./pages/ee-privacy-terms/ee-privacy-terms.component\";\nimport { BrowserRedirectModule } from \"./plasma-ui-common/synlab-access-ui-components/browser-redirect/browser-redirect.component\";\nimport { SynlabHeaderModule } from \"./plasma-ui-common/synlab-access-ui-components/synlab-header/synlab-header.component\";\nimport { UsertypeService } from \"./plasma-ui-common/synlab-access-ui-components/core/usertype/usertype.service\";\nimport { HeaderUsertypeService } from \"src/app/pages/index/services/header-usertype.service\";\nimport { HeaderConfigService } from \"src/app/pages/index/services/header-config.service\";\nimport { ProfileService } from \"./plasma-ui-common/synlab-access-ui-components/core/profile/profile.service\";\nimport { ConfigService as LibConfigService } from \"./plasma-ui-common/synlab-access-ui-components/core\";\nimport { LoggerService as LibLoggerService } from \"./plasma-ui-common/synlab-access-ui-components/core\";\nimport { LoggerService } from \"./services/logger.service\";\nimport { SpinnerModule } from \"./plasma-ui-common/synlab-access-ui-components/spinner/spinner.component\";\nimport { NgIdleKeepaliveModule } from \"@ng-idle/keepalive\";\nimport { GoogleTagManagerModule, GoogleTagManagerService } from \"angular-google-tag-manager\";\nimport { claimValues, GTM_PLACEHOLDER_VALUE } from \"./appsettings\";\nimport { HeaderVisibilityService as LibHeaderVisibilityService } from \"./plasma-ui-common/synlab-access-ui-components/core/header-visibility/header-visibility.service\";\nimport { HeaderVisibilityService } from \"./pages/index/services/header-visibility.service\";\nimport { ActivateAccountModule } from \"./pages/activate-account/activate-account.module\";\nimport { UserTypeGuard } from \"./services/guards/user-type.guard\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { RANDOM_NONCE } from \"./plasma-ui-common/synlab-access-ui-components/core/constants\";\n\nconst logr = new LoggerService(null);\n\n@NgModule({\n declarations: [\n AppComponent,\n SiginCallbackComponent,\n InitComponent,\n RenewtokenComponent,\n TermsComponent,\n PrivacyPolicyFrameComponent,\n EePrivacyTermsComponent,\n ],\n imports: [\n BrowserModule,\n HttpClientModule,\n BrowserAnimationsModule,\n ForgotPasswordModule,\n SendForgotPasswordModule,\n ToastrModule.forRoot(),\n GeneralTermsModule,\n TermsOfUseModule,\n TermsOfUseMobileModule,\n SelfSamplingInstructionModule,\n ParentSelfSamplingInstructionModule,\n PrivacyPolicyModule,\n TranslocoRootModule,\n SharedModule,\n AppRoutingModule,\n MatDialogModule,\n MatProgressSpinnerModule,\n PdfViewerModule,\n DeleteAccountModule,\n ActivateAccountModule,\n InitSessionModule,\n StoreModule.forRoot(REDUCER_TOKEN),\n EffectsModule.forRoot(effects),\n StoreDevtoolsModule.instrument({\n maxAge: 25,\n logOnly: environment.production,\n connectInZone: true,\n }),\n BrowserRedirectModule,\n SynlabHeaderModule,\n SpinnerModule,\n NgIdleKeepaliveModule.forRoot(),\n GoogleTagManagerModule,\n ],\n providers: [\n {\n provide: \"googleTagManagerId\",\n useValue: GTM_PLACEHOLDER_VALUE,\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [ConfigService, GoogleTagManagerService],\n useFactory: (cfg: ConfigService, gtms: GoogleTagManagerService) => () => {\n cfg.load().then((c) => {\n const enableGtms = cfg._envConfig?.EnableGoogleTag?.toLowerCase() == claimValues.TRUE;\n const tagId = cfg._envConfig?.GoogleTagId;\n logr.log({ enableGtms, tagId });\n if (enableGtms && tagId) {\n gtms.googleTagManagerId = tagId;\n gtms[\"config\"].id = tagId;\n }\n });\n },\n },\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [ConfigService],\n useFactory: (configService: ConfigService) => {\n return () => configService.loadEnvJson();\n },\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true,\n },\n ConfigService,\n AuthGuard,\n UserTypeGuard,\n CheckLogin,\n AuthService,\n LoggerService,\n {\n provide: REDUCER_TOKEN,\n deps: [StoreService],\n useFactory: getReducers,\n },\n {\n provide: UsertypeService,\n useClass: HeaderUsertypeService,\n },\n {\n provide: LibConfigService,\n useClass: HeaderConfigService,\n },\n {\n provide: LibLoggerService,\n useClass: LoggerService,\n },\n {\n provide: ProfileService,\n useClass: HeaderUsertypeService,\n },\n {\n provide: LibHeaderVisibilityService,\n useClass: HeaderVisibilityService,\n },\n {\n provide: CSP_NONCE,\n useValue: RANDOM_NONCE,\n },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { enableProdMode } from \"@angular/core\";\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\n\nimport { AppModule } from \"./app/app.module\";\nimport { environment } from \"./environments/environment\";\n\nexport function getBaseUrl() {\n return document.getElementsByTagName(\"base\")[0].href;\n}\n\nconst providers = [{ provide: \"BASE_URL\", useFactory: getBaseUrl, deps: [] }];\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers)\n .bootstrapModule(AppModule)\n .catch((err) => console.log(err));\n","/*! MIT License. Copyright 2015-2018 Richard Moore . See LICENSE.txt. */\n(function(root) {\n \"use strict\";\n\n function checkInt(value) {\n return (parseInt(value) === value);\n }\n\n function checkInts(arrayish) {\n if (!checkInt(arrayish.length)) { return false; }\n\n for (var i = 0; i < arrayish.length; i++) {\n if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) {\n return false;\n }\n }\n\n return true;\n }\n\n function coerceArray(arg, copy) {\n\n // ArrayBuffer view\n if (arg.buffer && arg.name === 'Uint8Array') {\n\n if (copy) {\n if (arg.slice) {\n arg = arg.slice();\n } else {\n arg = Array.prototype.slice.call(arg);\n }\n }\n\n return arg;\n }\n\n // It's an array; check it is a valid representation of a byte\n if (Array.isArray(arg)) {\n if (!checkInts(arg)) {\n throw new Error('Array contains invalid value: ' + arg);\n }\n\n return new Uint8Array(arg);\n }\n\n // Something else, but behaves like an array (maybe a Buffer? Arguments?)\n if (checkInt(arg.length) && checkInts(arg)) {\n return new Uint8Array(arg);\n }\n\n throw new Error('unsupported array-like object');\n }\n\n function createArray(length) {\n return new Uint8Array(length);\n }\n\n function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) {\n if (sourceStart != null || sourceEnd != null) {\n if (sourceArray.slice) {\n sourceArray = sourceArray.slice(sourceStart, sourceEnd);\n } else {\n sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd);\n }\n }\n targetArray.set(sourceArray, targetStart);\n }\n\n\n\n var convertUtf8 = (function() {\n function toBytes(text) {\n var result = [], i = 0;\n text = encodeURI(text);\n while (i < text.length) {\n var c = text.charCodeAt(i++);\n\n // if it is a % sign, encode the following 2 bytes as a hex value\n if (c === 37) {\n result.push(parseInt(text.substr(i, 2), 16))\n i += 2;\n\n // otherwise, just the actual byte\n } else {\n result.push(c)\n }\n }\n\n return coerceArray(result);\n }\n\n function fromBytes(bytes) {\n var result = [], i = 0;\n\n while (i < bytes.length) {\n var c = bytes[i];\n\n if (c < 128) {\n result.push(String.fromCharCode(c));\n i++;\n } else if (c > 191 && c < 224) {\n result.push(String.fromCharCode(((c & 0x1f) << 6) | (bytes[i + 1] & 0x3f)));\n i += 2;\n } else {\n result.push(String.fromCharCode(((c & 0x0f) << 12) | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f)));\n i += 3;\n }\n }\n\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n var convertHex = (function() {\n function toBytes(text) {\n var result = [];\n for (var i = 0; i < text.length; i += 2) {\n result.push(parseInt(text.substr(i, 2), 16));\n }\n\n return result;\n }\n\n // http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html\n var Hex = '0123456789abcdef';\n\n function fromBytes(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i++) {\n var v = bytes[i];\n result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]);\n }\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n\n // Number of rounds by keysize\n var numberOfRounds = {16: 10, 24: 12, 32: 14}\n\n // Round constant words\n var rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91];\n\n // S-box and Inverse S-box (S is for Substitution)\n var S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16];\n var Si =[0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d];\n\n // Transformations for encryption\n var T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a];\n var T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616];\n var T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16];\n var T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c];\n\n // Transformations for decryption\n var T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742];\n var T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857];\n var T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8];\n var T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0];\n\n // Transformations for decryption key expansion\n var U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3];\n var U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697];\n var U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46];\n var U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d];\n\n function convertToInt32(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i += 4) {\n result.push(\n (bytes[i ] << 24) |\n (bytes[i + 1] << 16) |\n (bytes[i + 2] << 8) |\n bytes[i + 3]\n );\n }\n return result;\n }\n\n var AES = function(key) {\n if (!(this instanceof AES)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n Object.defineProperty(this, 'key', {\n value: coerceArray(key, true)\n });\n\n this._prepare();\n }\n\n\n AES.prototype._prepare = function() {\n\n var rounds = numberOfRounds[this.key.length];\n if (rounds == null) {\n throw new Error('invalid key size (must be 16, 24 or 32 bytes)');\n }\n\n // encryption round keys\n this._Ke = [];\n\n // decryption round keys\n this._Kd = [];\n\n for (var i = 0; i <= rounds; i++) {\n this._Ke.push([0, 0, 0, 0]);\n this._Kd.push([0, 0, 0, 0]);\n }\n\n var roundKeyCount = (rounds + 1) * 4;\n var KC = this.key.length / 4;\n\n // convert the key into ints\n var tk = convertToInt32(this.key);\n\n // copy values into round key arrays\n var index;\n for (var i = 0; i < KC; i++) {\n index = i >> 2;\n this._Ke[index][i % 4] = tk[i];\n this._Kd[rounds - index][i % 4] = tk[i];\n }\n\n // key expansion (fips-197 section 5.2)\n var rconpointer = 0;\n var t = KC, tt;\n while (t < roundKeyCount) {\n tt = tk[KC - 1];\n tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^\n (S[(tt >> 8) & 0xFF] << 16) ^\n (S[ tt & 0xFF] << 8) ^\n S[(tt >> 24) & 0xFF] ^\n (rcon[rconpointer] << 24));\n rconpointer += 1;\n\n // key expansion (for non-256 bit)\n if (KC != 8) {\n for (var i = 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n\n // key expansion for 256-bit keys is \"slightly different\" (fips-197)\n } else {\n for (var i = 1; i < (KC / 2); i++) {\n tk[i] ^= tk[i - 1];\n }\n tt = tk[(KC / 2) - 1];\n\n tk[KC / 2] ^= (S[ tt & 0xFF] ^\n (S[(tt >> 8) & 0xFF] << 8) ^\n (S[(tt >> 16) & 0xFF] << 16) ^\n (S[(tt >> 24) & 0xFF] << 24));\n\n for (var i = (KC / 2) + 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n }\n\n // copy values into round key arrays\n var i = 0, r, c;\n while (i < KC && t < roundKeyCount) {\n r = t >> 2;\n c = t % 4;\n this._Ke[r][c] = tk[i];\n this._Kd[rounds - r][c] = tk[i++];\n t++;\n }\n }\n\n // inverse-cipher-ify the decryption round key (fips-197 section 5.3)\n for (var r = 1; r < rounds; r++) {\n for (var c = 0; c < 4; c++) {\n tt = this._Kd[r][c];\n this._Kd[r][c] = (U1[(tt >> 24) & 0xFF] ^\n U2[(tt >> 16) & 0xFF] ^\n U3[(tt >> 8) & 0xFF] ^\n U4[ tt & 0xFF]);\n }\n }\n }\n\n AES.prototype.encrypt = function(plaintext) {\n if (plaintext.length != 16) {\n throw new Error('invalid plaintext size (must be 16 bytes)');\n }\n\n var rounds = this._Ke.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(plaintext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Ke[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T1[(t[ i ] >> 24) & 0xff] ^\n T2[(t[(i + 1) % 4] >> 16) & 0xff] ^\n T3[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T4[ t[(i + 3) % 4] & 0xff] ^\n this._Ke[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Ke[rounds][i];\n result[4 * i ] = (S[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (S[ t[(i + 3) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n AES.prototype.decrypt = function(ciphertext) {\n if (ciphertext.length != 16) {\n throw new Error('invalid ciphertext size (must be 16 bytes)');\n }\n\n var rounds = this._Kd.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(ciphertext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Kd[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T5[(t[ i ] >> 24) & 0xff] ^\n T6[(t[(i + 3) % 4] >> 16) & 0xff] ^\n T7[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T8[ t[(i + 1) % 4] & 0xff] ^\n this._Kd[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Kd[rounds][i];\n result[4 * i ] = (Si[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (Si[ t[(i + 1) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n\n /**\n * Mode Of Operation - Electonic Codebook (ECB)\n */\n var ModeOfOperationECB = function(key) {\n if (!(this instanceof ModeOfOperationECB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Electronic Code Block\";\n this.name = \"ecb\";\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationECB.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n block = this._aes.encrypt(block);\n copyArray(block, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationECB.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n copyArray(block, plaintext, i);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Block Chaining (CBC)\n */\n var ModeOfOperationCBC = function(key, iv) {\n if (!(this instanceof ModeOfOperationCBC)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Block Chaining\";\n this.name = \"cbc\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastCipherblock = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCBC.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n\n for (var j = 0; j < 16; j++) {\n block[j] ^= this._lastCipherblock[j];\n }\n\n this._lastCipherblock = this._aes.encrypt(block);\n copyArray(this._lastCipherblock, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationCBC.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n\n for (var j = 0; j < 16; j++) {\n plaintext[i + j] = block[j] ^ this._lastCipherblock[j];\n }\n\n copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Feedback (CFB)\n */\n var ModeOfOperationCFB = function(key, iv, segmentSize) {\n if (!(this instanceof ModeOfOperationCFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Feedback\";\n this.name = \"cfb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 size)');\n }\n\n if (!segmentSize) { segmentSize = 1; }\n\n this.segmentSize = segmentSize;\n\n this._shiftRegister = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCFB.prototype.encrypt = function(plaintext) {\n if ((plaintext.length % this.segmentSize) != 0) {\n throw new Error('invalid plaintext size (must be segmentSize bytes)');\n }\n\n var encrypted = coerceArray(plaintext, true);\n\n var xorSegment;\n for (var i = 0; i < encrypted.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n for (var j = 0; j < this.segmentSize; j++) {\n encrypted[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return encrypted;\n }\n\n ModeOfOperationCFB.prototype.decrypt = function(ciphertext) {\n if ((ciphertext.length % this.segmentSize) != 0) {\n throw new Error('invalid ciphertext size (must be segmentSize bytes)');\n }\n\n var plaintext = coerceArray(ciphertext, true);\n\n var xorSegment;\n for (var i = 0; i < plaintext.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n\n for (var j = 0; j < this.segmentSize; j++) {\n plaintext[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return plaintext;\n }\n\n /**\n * Mode Of Operation - Output Feedback (OFB)\n */\n var ModeOfOperationOFB = function(key, iv) {\n if (!(this instanceof ModeOfOperationOFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Output Feedback\";\n this.name = \"ofb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastPrecipher = coerceArray(iv, true);\n this._lastPrecipherIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationOFB.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._lastPrecipherIndex === 16) {\n this._lastPrecipher = this._aes.encrypt(this._lastPrecipher);\n this._lastPrecipherIndex = 0;\n }\n encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt;\n\n\n /**\n * Counter object for CTR common mode of operation\n */\n var Counter = function(initialValue) {\n if (!(this instanceof Counter)) {\n throw Error('Counter must be instanitated with `new`');\n }\n\n // We allow 0, but anything false-ish uses the default 1\n if (initialValue !== 0 && !initialValue) { initialValue = 1; }\n\n if (typeof(initialValue) === 'number') {\n this._counter = createArray(16);\n this.setValue(initialValue);\n\n } else {\n this.setBytes(initialValue);\n }\n }\n\n Counter.prototype.setValue = function(value) {\n if (typeof(value) !== 'number' || parseInt(value) != value) {\n throw new Error('invalid counter value (must be an integer)');\n }\n\n // We cannot safely handle numbers beyond the safe range for integers\n if (value > Number.MAX_SAFE_INTEGER) {\n throw new Error('integer value out of safe range');\n }\n\n for (var index = 15; index >= 0; --index) {\n this._counter[index] = value % 256;\n value = parseInt(value / 256);\n }\n }\n\n Counter.prototype.setBytes = function(bytes) {\n bytes = coerceArray(bytes, true);\n\n if (bytes.length != 16) {\n throw new Error('invalid counter bytes size (must be 16 bytes)');\n }\n\n this._counter = bytes;\n };\n\n Counter.prototype.increment = function() {\n for (var i = 15; i >= 0; i--) {\n if (this._counter[i] === 255) {\n this._counter[i] = 0;\n } else {\n this._counter[i]++;\n break;\n }\n }\n }\n\n\n /**\n * Mode Of Operation - Counter (CTR)\n */\n var ModeOfOperationCTR = function(key, counter) {\n if (!(this instanceof ModeOfOperationCTR)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Counter\";\n this.name = \"ctr\";\n\n if (!(counter instanceof Counter)) {\n counter = new Counter(counter)\n }\n\n this._counter = counter;\n\n this._remainingCounter = null;\n this._remainingCounterIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCTR.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._remainingCounterIndex === 16) {\n this._remainingCounter = this._aes.encrypt(this._counter._counter);\n this._remainingCounterIndex = 0;\n this._counter.increment();\n }\n encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt;\n\n\n ///////////////////////\n // Padding\n\n // See:https://tools.ietf.org/html/rfc2315\n function pkcs7pad(data) {\n data = coerceArray(data, true);\n var padder = 16 - (data.length % 16);\n var result = createArray(data.length + padder);\n copyArray(data, result);\n for (var i = data.length; i < result.length; i++) {\n result[i] = padder;\n }\n return result;\n }\n\n function pkcs7strip(data) {\n data = coerceArray(data, true);\n if (data.length < 16) { throw new Error('PKCS#7 invalid length'); }\n\n var padder = data[data.length - 1];\n if (padder > 16) { throw new Error('PKCS#7 padding byte out of range'); }\n\n var length = data.length - padder;\n for (var i = 0; i < padder; i++) {\n if (data[length + i] !== padder) {\n throw new Error('PKCS#7 invalid padding byte');\n }\n }\n\n var result = createArray(length);\n copyArray(data, result, 0, 0, length);\n return result;\n }\n\n ///////////////////////\n // Exporting\n\n\n // The block cipher\n var aesjs = {\n AES: AES,\n Counter: Counter,\n\n ModeOfOperation: {\n ecb: ModeOfOperationECB,\n cbc: ModeOfOperationCBC,\n cfb: ModeOfOperationCFB,\n ofb: ModeOfOperationOFB,\n ctr: ModeOfOperationCTR\n },\n\n utils: {\n hex: convertHex,\n utf8: convertUtf8\n },\n\n padding: {\n pkcs7: {\n pad: pkcs7pad,\n strip: pkcs7strip\n }\n },\n\n _arrayTest: {\n coerceArray: coerceArray,\n createArray: createArray,\n copyArray: copyArray,\n }\n };\n\n\n // node.js\n if (typeof exports !== 'undefined') {\n module.exports = aesjs\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else if (typeof(define) === 'function' && define.amd) {\n define([], function() { return aesjs; });\n\n // Web Browsers\n } else {\n\n // If there was an existing library at \"aesjs\" make sure it's still available\n if (root.aesjs) {\n aesjs._aesjs = root.aesjs;\n }\n\n root.aesjs = aesjs;\n }\n\n\n})(this);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bytesToBase64 = bytesToBase64;\nexports.base64ToBytes = base64ToBytes;\nexports.base64encode = base64encode;\nexports.base64decode = base64decode;\n\n/*\r\nMIT License\r\n\r\nCopyright (c) 2020 Egor Nepomnyaschih\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n*/\n\n/*\r\n// This constant can also be computed with the following algorithm:\r\nconst base64abc = [],\r\n A = \"A\".charCodeAt(0),\r\n a = \"a\".charCodeAt(0),\r\n n = \"0\".charCodeAt(0);\r\nfor (let i = 0; i < 26; ++i) {\r\n base64abc.push(String.fromCharCode(A + i));\r\n}\r\nfor (let i = 0; i < 26; ++i) {\r\n base64abc.push(String.fromCharCode(a + i));\r\n}\r\nfor (let i = 0; i < 10; ++i) {\r\n base64abc.push(String.fromCharCode(n + i));\r\n}\r\nbase64abc.push(\"+\");\r\nbase64abc.push(\"/\");\r\n*/\nvar base64abc = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"+\", \"/\"];\n/*\r\n// This constant can also be computed with the following algorithm:\r\nconst l = 256, base64codes = new Uint8Array(l);\r\nfor (let i = 0; i < l; ++i) {\r\n base64codes[i] = 255; // invalid character\r\n}\r\nbase64abc.forEach((char, index) => {\r\n base64codes[char.charCodeAt(0)] = index;\r\n});\r\nbase64codes[\"=\".charCodeAt(0)] = 0; // ignored anyway, so we just need to prevent an error\r\n*/\n\nvar base64codes = [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 0, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51];\n\nfunction getBase64Code(charCode) {\n if (charCode >= base64codes.length) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n\n var code = base64codes[charCode];\n\n if (code === 255) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n\n return code;\n}\n\nfunction bytesToBase64(bytes) {\n var result = '',\n i,\n l = bytes.length;\n\n for (i = 2; i < l; i += 3) {\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[(bytes[i - 2] & 0x03) << 4 | bytes[i - 1] >> 4];\n result += base64abc[(bytes[i - 1] & 0x0F) << 2 | bytes[i] >> 6];\n result += base64abc[bytes[i] & 0x3F];\n }\n\n if (i === l + 1) {\n // 1 octet yet to write\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[(bytes[i - 2] & 0x03) << 4];\n result += \"==\";\n }\n\n if (i === l) {\n // 2 octets yet to write\n result += base64abc[bytes[i - 2] >> 2];\n result += base64abc[(bytes[i - 2] & 0x03) << 4 | bytes[i - 1] >> 4];\n result += base64abc[(bytes[i - 1] & 0x0F) << 2];\n result += \"=\";\n }\n\n return result;\n}\n\nfunction base64ToBytes(str) {\n if (str.length % 4 !== 0) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n\n var index = str.indexOf(\"=\");\n\n if (index !== -1 && index < str.length - 2) {\n throw new Error(\"Unable to parse base64 string.\");\n }\n\n var missingOctets = str.endsWith(\"==\") ? 2 : str.endsWith(\"=\") ? 1 : 0,\n n = str.length,\n result = new Uint8Array(3 * (n / 4)),\n buffer;\n\n for (var i = 0, j = 0; i < n; i += 4, j += 3) {\n buffer = getBase64Code(str.charCodeAt(i)) << 18 | getBase64Code(str.charCodeAt(i + 1)) << 12 | getBase64Code(str.charCodeAt(i + 2)) << 6 | getBase64Code(str.charCodeAt(i + 3));\n result[j] = buffer >> 16;\n result[j + 1] = buffer >> 8 & 0xFF;\n result[j + 2] = buffer & 0xFF;\n }\n\n return result.subarray(0, result.length - missingOctets);\n}\n\nfunction base64encode(str) {\n var encoder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new TextEncoder();\n return bytesToBase64(encoder.encode(str));\n}\n\nfunction base64decode(str) {\n var decoder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new TextDecoder();\n return decoder.decode(base64ToBytes(str));\n}\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n}(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n\n // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine\n // because this line doesn't have function name\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n\n return result;\n },\n\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n\n return result;\n },\n\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n}));\n","\"use strict\";\n\nvar numberIsNaN = require(\"../../number/is-nan\")\n , toPosInt = require(\"../../number/to-pos-integer\")\n , value = require(\"../../object/valid-value\")\n , indexOf = Array.prototype.indexOf\n , objHasOwnProperty = Object.prototype.hasOwnProperty\n , abs = Math.abs\n , floor = Math.floor;\n\nmodule.exports = function (searchElement /*, fromIndex*/) {\n\tvar i, length, fromIndex, val;\n\tif (!numberIsNaN(searchElement)) return indexOf.apply(this, arguments);\n\n\tlength = toPosInt(value(this).length);\n\tfromIndex = arguments[1];\n\tif (isNaN(fromIndex)) fromIndex = 0;\n\telse if (fromIndex >= 0) fromIndex = floor(fromIndex);\n\telse fromIndex = toPosInt(this.length) - floor(abs(fromIndex));\n\n\tfor (i = fromIndex; i < length; ++i) {\n\t\tif (objHasOwnProperty.call(this, i)) {\n\t\t\tval = this[i];\n\t\t\tif (numberIsNaN(val)) return i; // Jslint: ignore\n\t\t}\n\t}\n\treturn -1;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Array.from : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar from = Array.from, arr, result;\n\tif (typeof from !== \"function\") return false;\n\tarr = [\"raz\", \"dwa\"];\n\tresult = from(arr);\n\treturn Boolean(result && result !== arr && result[1] === \"dwa\");\n};\n","\"use strict\";\n\nvar iteratorSymbol = require(\"es6-symbol\").iterator\n , isArguments = require(\"../../function/is-arguments\")\n , isFunction = require(\"../../function/is-function\")\n , toPosInt = require(\"../../number/to-pos-integer\")\n , callable = require(\"../../object/valid-callable\")\n , validValue = require(\"../../object/valid-value\")\n , isValue = require(\"../../object/is-value\")\n , isString = require(\"../../string/is-string\")\n , isArray = Array.isArray\n , call = Function.prototype.call\n , desc = { configurable: true, enumerable: true, writable: true, value: null }\n , defineProperty = Object.defineProperty;\n\n// eslint-disable-next-line complexity, max-lines-per-function\nmodule.exports = function (arrayLike /*, mapFn, thisArg*/) {\n\tvar mapFn = arguments[1]\n\t , thisArg = arguments[2]\n\t , Context\n\t , i\n\t , j\n\t , arr\n\t , length\n\t , code\n\t , iterator\n\t , result\n\t , getIterator\n\t , value;\n\n\tarrayLike = Object(validValue(arrayLike));\n\n\tif (isValue(mapFn)) callable(mapFn);\n\tif (!this || this === Array || !isFunction(this)) {\n\t\t// Result: Plain array\n\t\tif (!mapFn) {\n\t\t\tif (isArguments(arrayLike)) {\n\t\t\t\t// Source: Arguments\n\t\t\t\tlength = arrayLike.length;\n\t\t\t\tif (length !== 1) return Array.apply(null, arrayLike);\n\t\t\t\tarr = new Array(1);\n\t\t\t\tarr[0] = arrayLike[0];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tif (isArray(arrayLike)) {\n\t\t\t\t// Source: Array\n\t\t\t\tarr = new Array((length = arrayLike.length));\n\t\t\t\tfor (i = 0; i < length; ++i) arr[i] = arrayLike[i];\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t}\n\t\tarr = [];\n\t} else {\n\t\t// Result: Non plain array\n\t\tContext = this;\n\t}\n\n\tif (!isArray(arrayLike)) {\n\t\tif ((getIterator = arrayLike[iteratorSymbol]) !== undefined) {\n\t\t\t// Source: Iterator\n\t\t\titerator = callable(getIterator).call(arrayLike);\n\t\t\tif (Context) arr = new Context();\n\t\t\tresult = iterator.next();\n\t\t\ti = 0;\n\t\t\twhile (!result.done) {\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[i] = value;\n\t\t\t\t}\n\t\t\t\tresult = iterator.next();\n\t\t\t\t++i;\n\t\t\t}\n\t\t\tlength = i;\n\t\t} else if (isString(arrayLike)) {\n\t\t\t// Source: String\n\t\t\tlength = arrayLike.length;\n\t\t\tif (Context) arr = new Context();\n\t\t\tfor (i = 0, j = 0; i < length; ++i) {\n\t\t\t\tvalue = arrayLike[i];\n\t\t\t\tif (i + 1 < length) {\n\t\t\t\t\tcode = value.charCodeAt(0);\n\t\t\t\t\t// eslint-disable-next-line max-depth\n\t\t\t\t\tif (code >= 0xd800 && code <= 0xdbff) value += arrayLike[++i];\n\t\t\t\t}\n\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n\t\t\t\tif (Context) {\n\t\t\t\t\tdesc.value = value;\n\t\t\t\t\tdefineProperty(arr, j, desc);\n\t\t\t\t} else {\n\t\t\t\t\tarr[j] = value;\n\t\t\t\t}\n\t\t\t\t++j;\n\t\t\t}\n\t\t\tlength = j;\n\t\t}\n\t}\n\tif (length === undefined) {\n\t\t// Source: array or array-like\n\t\tlength = toPosInt(arrayLike.length);\n\t\tif (Context) arr = new Context(length);\n\t\tfor (i = 0; i < length; ++i) {\n\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n\t\t\tif (Context) {\n\t\t\t\tdesc.value = value;\n\t\t\t\tdefineProperty(arr, i, desc);\n\t\t\t} else {\n\t\t\t\tarr[i] = value;\n\t\t\t}\n\t\t}\n\t}\n\tif (Context) {\n\t\tdesc.value = null;\n\t\tarr.length = length;\n\t}\n\treturn arr;\n};\n","\"use strict\";\n\nvar from = require(\"./from\")\n , isArray = Array.isArray;\n\nmodule.exports = function (arrayLike) { return isArray(arrayLike) ? arrayLike : from(arrayLike); };\n","\"use strict\";\n\nvar assign = require(\"../object/assign\")\n , isObject = require(\"../object/is-object\")\n , isValue = require(\"../object/is-value\")\n , captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (message /*, code, ext*/) {\n\tvar err = new Error(message), code = arguments[1], ext = arguments[2];\n\tif (!isValue(ext)) {\n\t\tif (isObject(code)) {\n\t\t\text = code;\n\t\t\tcode = null;\n\t\t}\n\t}\n\tif (isValue(ext)) assign(err, ext);\n\tif (isValue(code)) err.code = code;\n\tif (captureStackTrace) captureStackTrace(err, module.exports);\n\treturn err;\n};\n","\"use strict\";\n\nvar toPosInt = require(\"../number/to-pos-integer\");\n\nvar test = function (arg1, arg2) { return arg2; };\n\nvar desc, defineProperty, generate, mixin;\n\ntry {\n\tObject.defineProperty(test, \"length\", {\n\t\tconfigurable: true,\n\t\twritable: false,\n\t\tenumerable: false,\n\t\tvalue: 1\n\t});\n}\ncatch (ignore) {}\n\nif (test.length === 1) {\n\t// ES6\n\tdesc = { configurable: true, writable: false, enumerable: false };\n\tdefineProperty = Object.defineProperty;\n\tmodule.exports = function (fn, length) {\n\t\tlength = toPosInt(length);\n\t\tif (fn.length === length) return fn;\n\t\tdesc.value = length;\n\t\treturn defineProperty(fn, \"length\", desc);\n\t};\n} else {\n\tmixin = require(\"../object/mixin\");\n\tgenerate = (function () {\n\t\tvar cache = [];\n\t\treturn function (length) {\n\t\t\tvar args, i = 0;\n\t\t\tif (cache[length]) return cache[length];\n\t\t\targs = [];\n\t\t\twhile (length--) args.push(\"a\" + (++i).toString(36));\n\t\t\t// eslint-disable-next-line no-new-func\n\t\t\treturn new Function(\n\t\t\t\t\"fn\",\n\t\t\t\t\"return function (\" + args.join(\", \") + \") { return fn.apply(this, arguments); };\"\n\t\t\t);\n\t\t};\n\t})();\n\tmodule.exports = function (src, length) {\n\t\tvar target;\n\t\tlength = toPosInt(length);\n\t\tif (src.length === length) return src;\n\t\ttarget = generate(length)(src);\n\t\ttry { mixin(target, src); }\n\t\tcatch (ignore) {}\n\t\treturn target;\n\t};\n}\n","\"use strict\";\n\nvar objToString = Object.prototype.toString\n , id = objToString.call((function () { return arguments; })());\n\nmodule.exports = function (value) { return objToString.call(value) === id; };\n","\"use strict\";\n\nvar objToString = Object.prototype.toString\n , isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n\nmodule.exports = function (value) {\n\treturn typeof value === \"function\" && isFunctionStringTag(objToString.call(value));\n};\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Math.sign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar sign = Math.sign;\n\tif (typeof sign !== \"function\") return false;\n\treturn sign(10) === 1 && sign(-20) === -1;\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\tvalue = Number(value);\n\tif (isNaN(value) || value === 0) return value;\n\treturn value > 0 ? 1 : -1;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Number.isNaN : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar numberIsNaN = Number.isNaN;\n\tif (typeof numberIsNaN !== \"function\") return false;\n\treturn !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\t// eslint-disable-next-line no-self-compare\n\treturn value !== value;\n};\n","\"use strict\";\n\nvar sign = require(\"../math/sign\")\n , abs = Math.abs\n , floor = Math.floor;\n\nmodule.exports = function (value) {\n\tif (isNaN(value)) return 0;\n\tvalue = Number(value);\n\tif (value === 0 || !isFinite(value)) return value;\n\treturn sign(value) * floor(abs(value));\n};\n","\"use strict\";\n\nvar toInteger = require(\"./to-integer\")\n , max = Math.max;\n\nmodule.exports = function (value) { return max(0, toInteger(value)); };\n","// Internal method, used by iteration functions.\n// Calls a function for each key-value pair found in object\n// Optionally takes compareFn to iterate object in specific order\n\n\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , value = require(\"./valid-value\")\n , bind = Function.prototype.bind\n , call = Function.prototype.call\n , keys = Object.keys\n , objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nmodule.exports = function (method, defVal) {\n\treturn function (obj, cb /*, thisArg, compareFn*/) {\n\t\tvar list, thisArg = arguments[2], compareFn = arguments[3];\n\t\tobj = Object(value(obj));\n\t\tcallable(cb);\n\n\t\tlist = keys(obj);\n\t\tif (compareFn) {\n\t\t\tlist.sort(typeof compareFn === \"function\" ? bind.call(compareFn, obj) : undefined);\n\t\t}\n\t\tif (typeof method !== \"function\") method = list[method];\n\t\treturn call.call(method, list, function (key, index) {\n\t\t\tif (!objPropertyIsEnumerable.call(obj, key)) return defVal;\n\t\t\treturn call.call(cb, thisArg, obj[key], key, obj, index);\n\t\t});\n\t};\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src /*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./_iterate\")(\"forEach\");\n","// Deprecated\n\n\"use strict\";\n\nmodule.exports = function (obj) { return typeof obj === \"function\"; };\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\nvar callable = require(\"./valid-callable\")\n , forEach = require(\"./for-each\")\n , call = Function.prototype.call;\n\nmodule.exports = function (obj, cb /*, thisArg*/) {\n\tvar result = {}, thisArg = arguments[2];\n\tcallable(cb);\n\tforEach(obj, function (value, key, targetObj, index) {\n\t\tresult[key] = call.call(cb, thisArg, value, key, targetObj, index);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nvar value = require(\"./valid-value\")\n , defineProperty = Object.defineProperty\n , getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor\n , getOwnPropertyNames = Object.getOwnPropertyNames\n , getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\nmodule.exports = function (target, source) {\n\tvar error, sourceObject = Object(value(source));\n\ttarget = Object(value(target));\n\tgetOwnPropertyNames(sourceObject).forEach(function (name) {\n\t\ttry {\n\t\t\tdefineProperty(target, name, getOwnPropertyDescriptor(source, name));\n\t\t} catch (e) { error = e; }\n\t});\n\tif (typeof getOwnPropertySymbols === \"function\") {\n\t\tgetOwnPropertySymbols(sourceObject).forEach(function (symbol) {\n\t\t\ttry {\n\t\t\t\tdefineProperty(target, symbol, getOwnPropertyDescriptor(source, symbol));\n\t\t\t} catch (e) { error = e; }\n\t\t});\n\t}\n\tif (error !== undefined) throw error;\n\treturn target;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (arg /*, …args*/) {\n\tvar set = create(null);\n\tforEach.call(arguments, function (name) { set[name] = true; });\n\treturn set;\n};\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nvar ensureValue = require(\"./valid-value\")\n , stringifiable = require(\"./validate-stringifiable\");\n\nmodule.exports = function (value) { return stringifiable(ensureValue(value)); };\n","\"use strict\";\n\nvar isCallable = require(\"./is-callable\");\n\nmodule.exports = function (stringifiable) {\n\ttry {\n\t\tif (stringifiable && isCallable(stringifiable.toString)) return stringifiable.toString();\n\t\treturn String(stringifiable);\n\t} catch (e) {\n\t\tthrow new TypeError(\"Passed argument cannot be stringifed\");\n\t}\n};\n","\"use strict\";\n\nvar isCallable = require(\"./object/is-callable\");\n\nmodule.exports = function (value) {\n\ttry {\n\t\tif (value && isCallable(value.toString)) return value.toString();\n\t\treturn String(value);\n\t} catch (e) {\n\t\treturn \"\";\n\t}\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","\"use strict\";\n\nvar objToString = Object.prototype.toString, id = objToString.call(\"\");\n\nmodule.exports = function (value) {\n\treturn (\n\t\ttypeof value === \"string\" ||\n\t\t(value &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\t(value instanceof String || objToString.call(value) === id)) ||\n\t\tfalse\n\t);\n};\n","\"use strict\";\n\nvar safeToString = require(\"./safe-to-string\");\n\nvar reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n\nmodule.exports = function (value) {\n\tvar string = safeToString(value);\n\t// Trim if too long\n\tif (string.length > 100) string = string.slice(0, 99) + \"…\";\n\t// Replace eventual new lines\n\tstring = string.replace(reNewLine, function (char) {\n\t\treturn JSON.stringify(char).slice(1, -1);\n\t});\n\treturn string;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")()\n\t? require(\"ext/global-this\").Symbol\n\t: require(\"./polyfill\");\n","\"use strict\";\n\nvar global = require(\"ext/global-this\")\n , validTypes = { object: true, symbol: true };\n\nmodule.exports = function () {\n\tvar Symbol = global.Symbol;\n\tvar symbol;\n\tif (typeof Symbol !== \"function\") return false;\n\tsymbol = Symbol(\"test symbol\");\n\ttry { String(symbol); }\n\tcatch (e) { return false; }\n\n\t// Return 'true' also for polyfills\n\tif (!validTypes[typeof Symbol.iterator]) return false;\n\tif (!validTypes[typeof Symbol.toPrimitive]) return false;\n\tif (!validTypes[typeof Symbol.toStringTag]) return false;\n\n\treturn true;\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\tif (!value) return false;\n\tif (typeof value === \"symbol\") return true;\n\tif (!value.constructor) return false;\n\tif (value.constructor.name !== \"Symbol\") return false;\n\treturn value[value.constructor.toStringTag] === \"Symbol\";\n};\n","\"use strict\";\n\nvar d = require(\"d\");\n\nvar create = Object.create, defineProperty = Object.defineProperty, objPrototype = Object.prototype;\n\nvar created = create(null);\nmodule.exports = function (desc) {\n\tvar postfix = 0, name, ie11BugWorkaround;\n\twhile (created[desc + (postfix || \"\")]) ++postfix;\n\tdesc += postfix || \"\";\n\tcreated[desc] = true;\n\tname = \"@@\" + desc;\n\tdefineProperty(\n\t\tobjPrototype, name,\n\t\td.gs(null, function (value) {\n\t\t\t// For IE11 issue see:\n\t\t\t// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/\n\t\t\t// ie11-broken-getters-on-dom-objects\n\t\t\t// https://github.com/medikoo/es6-symbol/issues/12\n\t\t\tif (ie11BugWorkaround) return;\n\t\t\tie11BugWorkaround = true;\n\t\t\tdefineProperty(this, name, d(value));\n\t\t\tie11BugWorkaround = false;\n\t\t})\n\t);\n\treturn name;\n};\n","\"use strict\";\n\nvar d = require(\"d\")\n , NativeSymbol = require(\"ext/global-this\").Symbol;\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\t// To ensure proper interoperability with other native functions (e.g. Array.from)\n\t\t// fallback to eventual native implementation of given symbol\n\t\thasInstance: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill(\"hasInstance\")\n\t\t),\n\t\tisConcatSpreadable: d(\n\t\t\t\"\",\n\t\t\t(NativeSymbol && NativeSymbol.isConcatSpreadable) ||\n\t\t\t\tSymbolPolyfill(\"isConcatSpreadable\")\n\t\t),\n\t\titerator: d(\"\", (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill(\"iterator\")),\n\t\tmatch: d(\"\", (NativeSymbol && NativeSymbol.match) || SymbolPolyfill(\"match\")),\n\t\treplace: d(\"\", (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill(\"replace\")),\n\t\tsearch: d(\"\", (NativeSymbol && NativeSymbol.search) || SymbolPolyfill(\"search\")),\n\t\tspecies: d(\"\", (NativeSymbol && NativeSymbol.species) || SymbolPolyfill(\"species\")),\n\t\tsplit: d(\"\", (NativeSymbol && NativeSymbol.split) || SymbolPolyfill(\"split\")),\n\t\ttoPrimitive: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill(\"toPrimitive\")\n\t\t),\n\t\ttoStringTag: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill(\"toStringTag\")\n\t\t),\n\t\tunscopables: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill(\"unscopables\")\n\t\t)\n\t});\n};\n","\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"../../../validate-symbol\");\n\nvar registry = Object.create(null);\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\tfor: d(function (key) {\n\t\t\tif (registry[key]) return registry[key];\n\t\t\treturn (registry[key] = SymbolPolyfill(String(key)));\n\t\t}),\n\t\tkeyFor: d(function (symbol) {\n\t\t\tvar key;\n\t\t\tvalidateSymbol(symbol);\n\t\t\tfor (key in registry) {\n\t\t\t\tif (registry[key] === symbol) return key;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t})\n\t});\n};\n","// ES2015 Symbol polyfill for environments that do not (or partially) support it\n\n\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"./validate-symbol\")\n , NativeSymbol = require(\"ext/global-this\").Symbol\n , generateName = require(\"./lib/private/generate-name\")\n , setupStandardSymbols = require(\"./lib/private/setup/standard-symbols\")\n , setupSymbolRegistry = require(\"./lib/private/setup/symbol-registry\");\n\nvar create = Object.create\n , defineProperties = Object.defineProperties\n , defineProperty = Object.defineProperty;\n\nvar SymbolPolyfill, HiddenSymbol, isNativeSafe;\n\nif (typeof NativeSymbol === \"function\") {\n\ttry {\n\t\tString(NativeSymbol());\n\t\tisNativeSafe = true;\n\t} catch (ignore) {}\n} else {\n\tNativeSymbol = null;\n}\n\n// Internal constructor (not one exposed) for creating Symbol instances.\n// This one is used to ensure that `someSymbol instanceof Symbol` always return false\nHiddenSymbol = function Symbol(description) {\n\tif (this instanceof HiddenSymbol) throw new TypeError(\"Symbol is not a constructor\");\n\treturn SymbolPolyfill(description);\n};\n\n// Exposed `Symbol` constructor\n// (returns instances of HiddenSymbol)\nmodule.exports = SymbolPolyfill = function Symbol(description) {\n\tvar symbol;\n\tif (this instanceof Symbol) throw new TypeError(\"Symbol is not a constructor\");\n\tif (isNativeSafe) return NativeSymbol(description);\n\tsymbol = create(HiddenSymbol.prototype);\n\tdescription = description === undefined ? \"\" : String(description);\n\treturn defineProperties(symbol, {\n\t\t__description__: d(\"\", description),\n\t\t__name__: d(\"\", generateName(description))\n\t});\n};\n\nsetupStandardSymbols(SymbolPolyfill);\nsetupSymbolRegistry(SymbolPolyfill);\n\n// Internal tweaks for real symbol producer\ndefineProperties(HiddenSymbol.prototype, {\n\tconstructor: d(SymbolPolyfill),\n\ttoString: d(\"\", function () { return this.__name__; })\n});\n\n// Proper implementation of methods exposed on Symbol.prototype\n// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype\ndefineProperties(SymbolPolyfill.prototype, {\n\ttoString: d(function () { return \"Symbol (\" + validateSymbol(this).__description__ + \")\"; }),\n\tvalueOf: d(function () { return validateSymbol(this); })\n});\ndefineProperty(\n\tSymbolPolyfill.prototype, SymbolPolyfill.toPrimitive,\n\td(\"\", function () {\n\t\tvar symbol = validateSymbol(this);\n\t\tif (typeof symbol === \"symbol\") return symbol;\n\t\treturn symbol.toString();\n\t})\n);\ndefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d(\"c\", \"Symbol\"));\n\n// Proper implementaton of toPrimitive and toStringTag for returned symbol instances\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toStringTag,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toStringTag])\n);\n\n// Note: It's important to define `toPrimitive` as last one, as some implementations\n// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)\n// And that may invoke error in definition flow:\n// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toPrimitive,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive])\n);\n","\"use strict\";\n\nvar isSymbol = require(\"./is-symbol\");\n\nmodule.exports = function (value) {\n\tif (!isSymbol(value)) throw new TypeError(value + \" is not a symbol\");\n\treturn value;\n};\n","'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of Object.prototype being sealed (via preventExtensions, seal or freeze)\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ is resolved with global context, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? globalThis : require(\"./implementation\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tif (typeof globalThis !== \"object\") return false;\n\tif (!globalThis) return false;\n\treturn globalThis.Array === Array;\n};\n","module.exports = flatten\nflatten.flatten = flatten\nflatten.unflatten = unflatten\n\nfunction isBuffer (obj) {\n return obj &&\n obj.constructor &&\n (typeof obj.constructor.isBuffer === 'function') &&\n obj.constructor.isBuffer(obj)\n}\n\nfunction keyIdentity (key) {\n return key\n}\n\nfunction flatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const maxDepth = opts.maxDepth\n const transformKey = opts.transformKey || keyIdentity\n const output = {}\n\n function step (object, prev, currentDepth) {\n currentDepth = currentDepth || 1\n Object.keys(object).forEach(function (key) {\n const value = object[key]\n const isarray = opts.safe && Array.isArray(value)\n const type = Object.prototype.toString.call(value)\n const isbuffer = isBuffer(value)\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n const newKey = prev\n ? prev + delimiter + transformKey(key)\n : transformKey(key)\n\n if (!isarray && !isbuffer && isobject && Object.keys(value).length &&\n (!opts.maxDepth || currentDepth < maxDepth)) {\n return step(value, newKey, currentDepth + 1)\n }\n\n output[newKey] = value\n })\n }\n\n step(target)\n\n return output\n}\n\nfunction unflatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const overwrite = opts.overwrite || false\n const transformKey = opts.transformKey || keyIdentity\n const result = {}\n\n const isbuffer = isBuffer(target)\n if (isbuffer || Object.prototype.toString.call(target) !== '[object Object]') {\n return target\n }\n\n // safely ensure that the key is\n // an integer.\n function getkey (key) {\n const parsedKey = Number(key)\n\n return (\n isNaN(parsedKey) ||\n key.indexOf('.') !== -1 ||\n opts.object\n ) ? key\n : parsedKey\n }\n\n function addKeys (keyPrefix, recipient, target) {\n return Object.keys(target).reduce(function (result, key) {\n result[keyPrefix + delimiter + key] = target[key]\n\n return result\n }, recipient)\n }\n\n function isEmpty (val) {\n const type = Object.prototype.toString.call(val)\n const isArray = type === '[object Array]'\n const isObject = type === '[object Object]'\n\n if (!val) {\n return true\n } else if (isArray) {\n return !val.length\n } else if (isObject) {\n return !Object.keys(val).length\n }\n }\n\n target = Object.keys(target).reduce(function (result, key) {\n const type = Object.prototype.toString.call(target[key])\n const isObject = (type === '[object Object]' || type === '[object Array]')\n if (!isObject || isEmpty(target[key])) {\n result[key] = target[key]\n return result\n } else {\n return addKeys(\n key,\n result,\n flatten(target[key], opts)\n )\n }\n }, {})\n\n Object.keys(target).forEach(function (key) {\n const split = key.split(delimiter).map(transformKey)\n let key1 = getkey(split.shift())\n let key2 = getkey(split[0])\n let recipient = result\n\n while (key2 !== undefined) {\n if (key1 === '__proto__') {\n return\n }\n\n const type = Object.prototype.toString.call(recipient[key1])\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n // do not write over falsey, non-undefined values if overwrite is false\n if (!overwrite && !isobject && typeof recipient[key1] !== 'undefined') {\n return\n }\n\n if ((overwrite && !isobject) || (!overwrite && recipient[key1] == null)) {\n recipient[key1] = (\n typeof key2 === 'number' &&\n !opts.object ? [] : {}\n )\n }\n\n recipient = recipient[key1]\n if (split.length > 0) {\n key1 = getkey(split.shift())\n key2 = getkey(split[0])\n }\n }\n\n // unflatten again for 'messy objects'\n recipient[key1] = unflatten(target[key], opts)\n })\n\n return result\n}\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.libphonenumber = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i=e}},\"es6\",\"es3\");\n$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e=f}},\"es6\",\"es3\");\n$jscomp.polyfill(\"String.prototype.repeat\",function(a){return a?a:function(b){var c=$jscomp.checkStringArgs(this,null,\"repeat\");if(0>b||1342177279>>=1)c+=c;return d}},\"es6\",\"es3\");$jscomp.initSymbol=function(){};\n$jscomp.polyfill(\"Symbol\",function(a){if(a)return a;var b=function(e,f){this.$jscomp$symbol$id_=e;$jscomp.defineProperty(this,\"description\",{configurable:!0,writable:!0,value:f})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var c=0,d=function(e){if(this instanceof d)throw new TypeError(\"Symbol is not a constructor\");return new b(\"jscomp_symbol_\"+(e||\"\")+\"_\"+c++,e)};return d},\"es6\",\"es3\");\n$jscomp.polyfill(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;cc&&(c=Math.max(c+e,0));c>>0);\ngoog.uidCounter_=0;goog.cloneObject=function(a){var b=goog.typeOf(a);if(\"object\"==b||\"array\"==b){if(\"function\"===typeof a.clone)return a.clone();b=\"array\"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};\ngoog.bindJs_=function(a,b,c){if(!a)throw Error();if(2\").replace(/'/g,\"'\").replace(/"/g,'\"').replace(/&/g,\"&\"));b&&(a=a.replace(/\\{\\$([^}]+)}/g,function(d,e){return null!=b&&e in b?b[e]:d}));return a};\ngoog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,!0,c)};goog.exportProperty=function(a,b,c){a[b]=c};goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h{\"use strict\";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});\na(\"es7\",function(){return b(\"2 ** 2 == 4\")});a(\"es8\",function(){return b(\"async () => 1, true\")});a(\"es9\",function(){return b(\"({...rest} = {}), true\")});a(\"es_next\",function(){return!1});return{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(a,b){if(\"always\"==goog.TRANSPILE)return!0;if(\"never\"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var c=this.createRequiresTranspilation_();this.requiresTranspilation_=c.map;this.transpilationTarget_=this.transpilationTarget_||\nc.target}if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||\"es6\"!=b||\"noModule\"in goog.global.document.createElement(\"script\")?!1:!0;throw Error(\"Unknown language mode: \"+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\\/(SCRIPT)/ig,\"\\\\x3c/$1\")},goog.DebugLoader_=function(){this.dependencies_={};\nthis.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){b=[];for(var e=0;e\\x3c/script>';f+=\"\";f=goog.Dependency.defer_?f+(\"document.getElementById('script-\"+e+\"').onload = function() {\\n goog.Dependency.callback_('\"+e+\"', this);\\n};\\n\"):f+(\"goog.Dependency.callback_('\"+e+\"', document.getElementById('script-\"+e+\"'));\");f+=\"\\x3c/script>\";b.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(f):f)}else{var g=b.createElement(\"script\");g.defer=goog.Dependency.defer_;\ng.async=!1;c&&(g.nonce=c);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),g.onreadystatechange=function(){if(\"loaded\"==g.readyState||\"complete\"==g.readyState)a.loaded(),a.resume()}):g.onload=function(){g.onload=null;a.loaded()};g.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path;b.head.appendChild(g)}}else goog.logToConsole_(\"Cannot use default debug loader outside of HTML documents.\"),\"deps.js\"==this.relativePath?(goog.logToConsole_(\"Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true.\"),\na.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(a){function b(l,p){var m=\"\",n=goog.getScriptNonce();n&&(m=' nonce=\"'+n+'\"');l=p?'