{"version":3,"file":"234.js","mappings":"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,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,EAAG,IAAK,GAAI,KAAM,CAAC,EAAG,IAAK,GAAI,KAAM,CAAC,EAAG,GAAI,GAAI,KAAM,CAAC,EAAG,GAAI,EAAG,KAAM,CAAC,GAAI,IAAK,EAAG,KAAM,CAAC,GAAI,IAAK,EAAG,KAAM,CAAC,GAAI,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,EAAG,IAAK,MAE9yFC,GAAe,CAAC,CAAC,IAAK,IAAK,GAAI,IAAK,CAAC,IAAK,IAAK,GAAI,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,EAAG,IAAK,GAAI,KAAM,CAAC,EAAG,IAAK,GAAI,KAAM,CAAC,EAAG,IAAK,GAAI,KAAM,CAAC,EAAG,GAAI,EAAG,KAAM,CAAC,GAAI,IAAK,EAAG,KAAM,CAAC,GAAI,IAAK,EAAG,KAAM,CAAC,GAAI,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,EAAG,IAAK,MAEhmFC,GAAe,CAAC,CAAC,GAAI,IAAK,IAAK,GAAI,CAAC,GAAI,IAAK,IAAK,GAAI,CAAC,GAAI,IAAK,IAAK,GAAI,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,GAAI,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,MAEjjHC,GAAqB,CAAC,CAAC,IAAK,GAAI,GAAI,GAAI,CAAC,IAAK,GAAI,GAAI,GAAI,CAAC,IAAK,GAAI,GAAI,GAAI,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,GAAI,GAAI,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,GAAI,GAAI,KAAM,CAAC,IAAK,GAAI,GAAI,KAAM,CAAC,IAAK,GAAI,GAAI,KAAM,CAAC,IAAK,GAAI,GAAI,KAAM,CAAC,IAAK,GAAI,GAAI,KAAM,CAAC,IAAK,GAAI,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,GAAI,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,MAEzxHC,GAAe,CAAC,CAAC,EAAG,IAAK,IAAK,GAAI,CAAC,EAAG,IAAK,IAAK,GAAI,CAAC,EAAG,IAAK,IAAK,GAAI,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,EAAG,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,IAAK,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,KAAM,CAAC,IAAK,EAAG,EAAG,MAEzmHC,GAAY,CAAC,CAAC,IAAK,IAAK,IAAK,GAAI,CAAC,IAAK,IAAK,IAAK,GAAI,CAAC,IAAK,IAAK,IAAK,GAAI,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,IAAK,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,GAAI,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,IAAK,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,GAAI,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,IAAK,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,KAAM,CAAC,IAAK,GAAI,EAAG,MAGruHC,GAAkB,CAC7B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAGWC,GAAkB,CAC7BC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,KAAM,SACNC,KAAM,SACNC,QAAS,SACT,MAAO,UC/vBF,SAASC,GAAeC,GAC7B,OAAQA,GACN,IAAK,MACH,MAAO,CAACf,GD6mBkB,GC7mBU9D,IACtC,IAAK,UACH,MAAO,CAACgE,GD+mBsB,GC/mBcN,IAC9C,IAAK,gBACH,MAAO,CAACO,GD+mB4B,GC/mBoBN,IAC1D,IAAK,UACH,MAAO,CAACO,GD+mBsB,GC/mBcN,IAC9C,IAAK,OACH,MAAO,CAACO,GD+mBmB,GC/mBWN,IAGxC,QACE,MAAO,CAACE,GDmmBsB,GCnmBc,KAQ3C,SAASe,GAAWD,GACzB,OA/BF,SAAuBE,EAAMC,GAC3B,OAAOD,EAAK1M,KAAI,CAAC4M,EAAOxF,KACtB,MAAOyF,EAAGC,EAAGC,EAAGC,GAAKJ,EACrB,MAAQ,GAAED,EAASvF,KAASyF,EAAE5O,SAAS,IAAIgP,SAAS,EAAG,OAAOH,EAAE7O,SAAS,IAAIgP,SAAS,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","sources":["webpack://meteocool/./src/lib/DeviceDetect.js","webpack://meteocool/./src/lib/sentry.js","webpack://meteocool/./src/components/MiniMap.svelte","webpack://meteocool/./src/layers/attributions.js","webpack://meteocool/./src/components/McLayerSwitcher.svelte","webpack://meteocool/./src/stores.js","webpack://meteocool/./src/components/Map.svelte","webpack://meteocool/./src/components/About.svelte","webpack://meteocool/./src/components/Logo.svelte","webpack://meteocool/./public/assets/logo.svg","webpack://meteocool/./src/layers/ui.js","webpack://meteocool/./src/components/TimeIndicator.svelte","webpack://meteocool/./src/components/LastUpdated.svelte","webpack://meteocool/./src/locale/locale.js","webpack://meteocool/./src/components/Appendix.svelte","webpack://meteocool/./src/components/scales/ScaleLine.svelte","webpack://meteocool/./src/colormaps.js","webpack://meteocool/./src/lib/cmap_utils.js","webpack://meteocool/./src/components/scales/RadarScaleLine.svelte","webpack://meteocool/./src/components/LiveIndicator.svelte","webpack://meteocool/./src/components/DevStatus.svelte","webpack://meteocool/./src/components/NowcastPlayback.svelte","webpack://meteocool/./src/components/scales/StepScaleLine.svelte","webpack://meteocool/./src/components/scales/LightningScaleLine.svelte","webpack://meteocool/./src/components/scales/AerosolScaleLine.svelte","webpack://meteocool/./src/urls.js","webpack://meteocool/./src/components/BottomToolbar.svelte","webpack://meteocool/./src/layers/extents.js","webpack://meteocool/./src/lib/TileCache.js","webpack://meteocool/./src/layers/dwd.js","webpack://meteocool/./src/lib/Toast.js","webpack://meteocool/./src/caps/Capability.ts","webpack://meteocool/./src/lib/util.js","webpack://meteocool/./src/caps/RadarCapability.js","webpack://meteocool/./public/assets/snow.png","webpack://meteocool/./src/layers/satellite.js","webpack://meteocool/./src/caps/SatelliteCapability.js","webpack://meteocool/./src/layers/base.js","webpack://meteocool/./src/lib/LayerManager.ts","webpack://meteocool/./src/lib/NanobarWrapper.js","webpack://meteocool/./src/lib/Router.js","webpack://meteocool/./src/lib/Settings.js","webpack://meteocool/./public/assets/lightning.png","webpack://meteocool/./src/lib/StrikeManagerV2.ts","webpack://meteocool/./src/layers/lightning.js","webpack://meteocool/./src/lib/StrikeManager.js","webpack://meteocool/./src/lib/MesoCycloneManager.js","webpack://meteocool/./public/assets/mesocyclone.png","webpack://meteocool/./src/layers/mesocyclones.js","webpack://meteocool/./src/layers/vector.js","webpack://meteocool/./src/caps/PrecipitationTypesCapability.js","webpack://meteocool/./src/caps/AerosolsCapability.js","webpack://meteocool/./src/caps/LightningCapability.js","webpack://meteocool/./src/layers/noaa.js","webpack://meteocool/./src/App.svelte"],"sourcesContent":["let device = \"web\";\n\n// eslint-disable-next-line import/prefer-default-export\nexport class DeviceDetect {\n static set(nDevice) {\n device = nDevice;\n }\n\n static isIos() {\n return device === \"ios\";\n }\n\n static isAndroid() {\n return device === \"android\";\n }\n\n static isApp() {\n return this.isIos() || this.isAndroid();\n }\n\n static breakpoint() {\n if (window.innerWidth > 1620) {\n return \"wide\";\n }\n if (window.innerWidth > 1200) {\n return \"reduced\";\n }\n return \"small\";\n }\n}\n","import { Integrations } from \"@sentry/tracing\";\nimport { CaptureConsole } from \"@sentry/integrations\";\n\nexport const SENTRY_ARGS = {\n dsn: \"https://ee86f8a6a22f4b7fb267b01e22c07d1e@o347743.ingest.sentry.io/5481137\",\n integrations: [new Integrations.BrowserTracing(), new CaptureConsole({ levels: [\"error\"] })],\n tracesSampleRate: 1.0,\n environment: process.env.NODE_ENV,\n autoSessionTracking: true,\n release: GIT_COMMIT_HASH,\n autoBreadcrumbs: {\n xhr: true,\n console: true,\n dom: true,\n location: false,\n sentry: true,\n },\n};\n\nexport { SENTRY_ARGS as default };\n","\n\n\n\n\n
{label}
\n","export const copernicusAttribution = \"© Contains Modified Copernicus Sentinel Data\";\nexport const ororatechAttribution = \"© OroraTech\";\nexport const osmAttribution = \"© OpenStreetMap Contributors\";\nexport const wofAttribution = \"© Who's On First, Natural Earth\";\nexport const dwdAttribution = \"© DWD\";\nexport const cartoAttribution = \"© CARTO\";\nexport const blitzortungAttribution = \"© Blitzortung.org\";\nexport const cyclosmAttribution = \"© CyclOSM\";\nexport const imprintAttribution = \"| Imprint\";\n","\n\n\n\n{#if !dd.isApp()}\n
\n \n
\n{/if}\n\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n","import { writable } from \"svelte/store\";\n\n// XXX basically a list of places where global state was chosen instead of an actual, working\n// abstraction.\n\nexport const bottomToolbarMode = writable(\"collapsed\");\nexport const capDescription = writable(\"Meteorology for everyone\");\nexport const capLastUpdated = writable(null);\nexport const capTimeIndicator = writable(0);\nexport const colorSchemeDark = writable(false);\nexport const radarColormap = writable(\"classic\");\n\nexport const latLon = writable(null);\nexport const zoomlevel = writable(3);\n\nexport const lightningLayerVisible = writable(true);\nexport const layerswitcherVisible = writable(\"yes\");\nexport const toolbarVisible = writable(\"yes\");\nexport const cycloneLayerVisible = writable(true);\nexport const snowLayerVisible = writable(true);\nexport const logoStyle = writable(\"full\");\n\nexport const mapBaseLayer = writable(\"light\");\nexport const radarColorScheme = writable(\"classic\");\n\nexport const showForecastPlaybutton = writable(true);\nexport const satelliteLayer = writable(\"sentinel2\");\nexport const satelliteLayerCloudy = writable(false);\nexport const satelliteLayerLabels = writable(true);\n\nexport const live = writable(false);\nexport const unit = writable(\"pictogram\");\nexport const precacheForecast = writable(true);\n\nexport const sharedActiveCap = writable(\"\");\nexport const sharedCmap = writable(\"\");\n\nexport const lastFocus = writable(new Date());\n","\n\n\n\n
\n{#if visible === \"yes\"}\n \n{/if}\n","\n\n\n\n\n {$_(\"text1\")}\n
\n \n \n
\n

{$_(\"features.header\")}

\n
    \n
  • \n {$_(\"features.list_title1\")}\n {$_(\"features.list1\")}\n
  • \n
  • \n {$_(\"features.list_title2\")}\n {$_(\"features.list2\")}\n
  • \n
  • \n {$_(\"features.list_title3\")}\n {$_(\"features.list3\")}\n
  • \n
  • \n {$_(\"features.list_title4\")}\n {$_(\"features.list4\")}\n
  • \n
\n

{$_(\"credits_help.header\")}

\n

\n \n

\n

\n {@html $_(\"credits_help.text1\")}\n

\n

\n {@html $_(\"credits_help.text3\")}\n

\n

\n {@html $_(\"credits_help.list4.text1\")}\n {@html $_(\"credits_help.list4.text2\")}\n {@html $_(\"credits_help.list4.text3\")}\n

\n

\n {@html $_(\"credits_help.text4\")}\n {@html $_(\"credits_help.text5\")}\n

\n

{$_(\"other_things.header\")}

\n
    \n
  • {@html $_(\"other_things.list1\")}
  • \n
  • {@html $_(\"other_things.list2\")}
  • \n
\n {$_(\"close\")}\n
\n","\n\n\n\n{#if $logoStyle === \"full\"}\n
\n \n
{$_(\"url\")}
\n \n
\n toggleAbout()} class=\"link\">{$_(\"about\")} |\n {$_(\"join_community\")}\n
\n {#if showAbout}\n toggleAbout()} />\n {/if}\n
\n{/if}\n","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSItMzAgLTEwIDU3MCA1NDIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDU3MCA1NDI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgo8cGF0aCBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiB3aGl0ZTsgc3Ryb2tlLXdpZHRoOiA0MDsiIGQ9Ik0xNjAuOTQsNDUxLjY5M2MtMy44OTEtMS40MTYtOC4xOTYsMC41OS05LjYxMyw0LjQ4M2wtMTMuNDM2LDM2LjkxN2MtMS40MTcsMy44OTIsMC41OSw4LjE5Niw0LjQ4Myw5LjYxMw0KCWMwLjg0NywwLjMwOCwxLjcxMiwwLjQ1NCwyLjU2NCwwLjQ1NGMzLjA2MywwLDUuOTQtMS44OTIsNy4wNDgtNC45MzdsMTMuNDM3LTM2LjkxN0MxNjYuODQsNDU3LjQxNCwxNjQuODMzLDQ1My4xMSwxNjAuOTQsNDUxLjY5M3oNCgkgTTIxMy40ODgsMzg0Ljg0NWMtMy44OTEtMS40MTYtOC4xOTYsMC41OS05LjYxMyw0LjQ4M2wtMTMuNDM3LDM2LjkxN2MtMS40MTYsMy44OTIsMC41OSw4LjE5Niw0LjQ4Myw5LjYxMw0KCWMwLjg0NywwLjMwOCwxLjcxMiwwLjQ1NCwyLjU2NCwwLjQ1NGMzLjA2MywwLDUuOTQtMS44OTIsNy4wNDgtNC45MzdsMTMuNDM2LTM2LjkxNw0KCUMyMTkuMzg3LDM5MC41NjUsMjE3LjM4LDM4Ni4yNjIsMjEzLjQ4OCwzODQuODQ1eiBNMTkyLjg0NSwzMTguMjU3Yy0zLjg5LTEuNDE2LTguMTk2LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNiwzNi45MTcNCgljLTEuNDE3LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTNjMC44NDcsMC4zMDgsMS43MTIsMC40NTQsMi41NjQsMC40NTRjMy4wNjMsMCw1Ljk0LTEuODkyLDcuMDQ4LTQuOTM3bDEzLjQzNy0zNi45MTcNCglDMTk4Ljc0NSwzMjMuOTc4LDE5Ni43MzgsMzE5LjY3NCwxOTIuODQ1LDMxOC4yNTd6IE0xMTIuNTQ5LDMxOC41NDRjLTMuODkxLTEuNDE1LTguMTk2LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNywzNi45MTcNCgljLTEuNDE2LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTNjMC44NDcsMC4zMDgsMS43MTIsMC40NTQsMi41NjQsMC40NTRjMy4wNjMsMCw1Ljk0LTEuODkyLDcuMDQ4LTQuOTM3bDEzLjQzNy0zNi45MTcNCglDMTE4LjQ0OCwzMjQuMjY0LDExNi40NDEsMzE5Ljk2MSwxMTIuNTQ5LDMxOC41NDR6IE0xMzMuMTkxLDM4NS4xMzFjLTMuODk0LTEuNDE2LTguMTk1LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNywzNi45MTcNCgljLTEuNDE2LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTNjMC44NDcsMC4zMDgsMS43MTMsMC40NTQsMi41NjQsMC40NTRjMy4wNjMsMCw1LjkzOS0xLjg5MSw3LjA0OC00LjkzN2wxMy40MzYtMzYuOTE3DQoJQzEzOS4wOTEsMzkwLjg1MSwxMzcuMDg0LDM4Ni41NDgsMTMzLjE5MSwzODUuMTMxeiBNMTI2LjI5OCwxNTEuMjFjMy4xNjgtMjAuODcyLDEzLjc0Ni00MC4wMjksMjkuNzg3LTUzLjk0DQoJYzE2LjItMTQuMDQ5LDM2Ljk0Ny0yMS43ODcsNTguNDIxLTIxLjc4N2MxNy4xMTcsMCwzMy43NTMsNC44NzQsNDguMTEyLDE0LjA5NmM2LjYzOCw0LjI2MywxNS4wMDYsNC45MDQsMjIuMzgyLDEuNzEyDQoJYzEwLjY0LTQuNjAzLDIxLjc1Mi03LjYzNCwzMy4xODUtOS4wNjdjMC4xNi0wLjAxMiwwLjMyLTAuMDMyLDAuNDgxLTAuMDU1YzQuOTM3LTAuNTk5LDkuOTMyLTAuOTA2LDE0Ljk3NS0wLjkwNg0KCWMzNS4wMjIsMCw2OC40NTcsMTUuMDMyLDkxLjczLDQxLjI0MWMyLjc1LDMuMDk3LDcuNDkxLDMuMzgsMTAuNTg4LDAuNjI4YzMuMDk3LTIuNzUsMy4zNzgtNy40OSwwLjYyOC0xMC41ODgNCgljLTI2LjExNy0yOS40MTMtNjMuNjQtNDYuMjgxLTEwMi45NDYtNDYuMjgxYy0zLjg0MywwLTcuNjU5LDAuMTY0LTExLjQ1LDAuNDc0Yy0xNi4xNzYtMzIuOTQ0LTQ5LjU2Ni01My45NDUtODYuNTg3LTUzLjk0NQ0KCWMtMTMuMjg5LDAtMjYuMTY3LDIuNjU2LTM4LjI3Nyw3Ljg5NmMtMS4xNzYsMC41MDktMi40NzIsMC40MzMtMy40NjYtMC4yMDZjLTExLjg1OC03LjYxNy0yNS41OTQtMTEuNjQyLTM5LjcyNC0xMS42NDINCgljLTE3LjcyNCwwLTM0Ljg1LDYuMzg4LTQ4LjIyMywxNy45ODZDOTIuNjc5LDM4LjMwMiw4My45NSw1NC4xMTcsODEuMzMzLDcxLjM1NmMtMC4xMDIsMC42NzItMC42MDksMS4xNzUtMS4yNjIsMS4yNTINCglDMzcuMzIsNzcuNjI1LDUuMDgyLDExMy45MDEsNS4wODIsMTU2Ljk5YzAsMTMuMTc5LDEwLjcyMiwyMy45MDEsMjMuOTAxLDIzLjkwMUg0My40MUMxNi43NDYsMjAzLjE2NCwwLDIzNi42NDUsMCwyNzMuNjY3DQoJYzAsMTcuMzYxLDE0LjEyNCwzMS40ODUsMzEuNDg1LDMxLjQ4NWgyOC4wNTljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVIMzEuNDg1DQoJYy05LjA5LDAtMTYuNDg1LTcuMzk1LTE2LjQ4NS0xNi40ODVjMC00MC4xLDIyLjQyNC03NS40NTcsNTUuOTcyLTkzLjM2N2MwLjM0NS0wLjE0NiwwLjY3My0wLjMyNSwwLjk5LTAuNTE5DQoJYzExLjA3Ny01Ljc2MywyMy4zMzYtOS42MzksMzYuMzg1LTExLjE3QzExNy41MjUsMTY3LjUzNSwxMjQuOTA3LDE2MC4zNzgsMTI2LjI5OCwxNTEuMjF6IE02Ni4xNjgsMTY1Ljg5MUgyOC45ODQNCgljLTQuOTA4LDAtOC45MDEtMy45OTMtOC45MDEtOC45MDFjMC0zNS40ODIsMjYuNTQxLTY1LjM1NCw2MS43MzctNjkuNDg0YzcuMzM1LTAuODYxLDEzLjIzMy02LjU3NywxNC4zNDQtMTMuODk5DQoJYzIuMDgyLTEzLjcxNiw5LjAzNS0yNi4zMDYsMTkuNTc4LTM1LjQ1YzEwLjY0Ni05LjIzMywyNC4yODItMTQuMzE4LDM4LjM5Ni0xNC4zMThjMTEuMjUsMCwyMi4xODMsMy4yMDMsMzEuNjE4LDkuMjYzDQoJYzUuMjA1LDMuMzQzLDExLjc1OCwzLjg0OSwxNy41MjksMS4zNTJjMTAuMjE4LTQuNDIsMjEuMDkyLTYuNjYyLDMyLjMyLTYuNjYyYzI5LjU4NSwwLDU2LjQzLDE1Ljg4MSw3MC44MDcsNDEuMTY0DQoJYy05LjM2NSwxLjg4MS0xOC41MTEsNC43MzctMjcuMzY4LDguNTY4Yy0yLjc4MywxLjIwNS01Ljg5MywwLjk5Mi04LjMyMS0wLjU2NmMtMTYuNzgxLTEwLjc3OC0zNi4yMjEtMTYuNDc1LTU2LjIxNy0xNi40NzUNCgljLTI1LjA4NCwwLTQ5LjMyMiw5LjA0LTY4LjI0OSwyNS40NTVjLTE4LjczMiwxNi4yNDUtMzEuMDg3LDM4LjYyNi0zNC43ODksNjMuMDIxYy0wLjM4NywyLjU0OC0yLjM0NCw0LjQ1OC00Ljg3LDQuNzU1DQoJQzkyLjEzNSwxNTUuNDEsNzguNTIyLDE1OS42Myw2Ni4xNjgsMTY1Ljg5MXogTTI5My43ODQsMzg0LjU1OGMtMy44OS0xLjQxNS04LjE5NiwwLjU5LTkuNjEzLDQuNDgzbC0xMy40MzcsMzYuOTE3DQoJYy0xLjQxNiwzLjg5MiwwLjU5LDguMTk2LDQuNDgzLDkuNjEzYzAuODQ3LDAuMzA4LDEuNzEyLDAuNDU0LDIuNTY0LDAuNDU0YzMuMDYzLDAsNS45NC0xLjg5Miw3LjA0OC00LjkzN2wxMy40MzctMzYuOTE3DQoJQzI5OS42ODMsMzkwLjI3OSwyOTcuNjc2LDM4NS45NzUsMjkzLjc4NCwzODQuNTU4eiBNMjQxLjIzNyw0NTEuNDA3Yy0zLjg4OS0xLjQxNi04LjE5NiwwLjU5LTkuNjEzLDQuNDgzbC0xMy40MzcsMzYuOTE3DQoJYy0xLjQxNiwzLjg5MiwwLjU5LDguMTk2LDQuNDgzLDkuNjEzYzAuODQ3LDAuMzA4LDEuNzEyLDAuNDU0LDIuNTY0LDAuNDU0YzMuMDYzLDAsNS45NC0xLjg5Miw3LjA0OC00LjkzN2wxMy40MzctMzYuOTE3DQoJQzI0Ny4xMzYsNDU3LjEyNywyNDUuMTI5LDQ1Mi44MjMsMjQxLjIzNyw0NTEuNDA3eiBNMzc0LjA4LDM4NC4yNzJjLTMuODkxLTEuNDE1LTguMTk2LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNiwzNi45MTcNCgljLTEuNDE3LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTNjMC44NDcsMC4zMDgsMS43MTIsMC40NTQsMi41NjQsMC40NTRjMy4wNjMsMCw1Ljk0LTEuODkyLDcuMDQ4LTQuOTM3bDEzLjQzNi0zNi45MTcNCglDMzc5Ljk3OSwzODkuOTkyLDM3Ny45NzMsMzg1LjY4OSwzNzQuMDgsMzg0LjI3MnogTTQ3My43MzIsMTg1LjQ3M2MtMi43MDgtMi41MzYtNC41MjQtNS43NTMtNS4yNTEtOS4zMDQNCgljLTIuMTQyLTEwLjQ2Ny01LjUxOS0yMC42ODYtMTAuMDM2LTMwLjM3MmMtMS43NS0zLjc1NC02LjIxNS01LjM3OS05Ljk2Ny0zLjYyOGMtMy43NTQsMS43NTEtNS4zNzgsNi4yMTMtMy42MjgsOS45NjcNCgljNC4wMjIsOC42MjUsNy4wMjgsMTcuNzIzLDguOTM1LDI3LjA0MmMxLjM1NCw2LjYxMSw0LjcwNiwxMi41NzQsOS42OTQsMTcuMjQ1QzQ4NS4wOTYsMjE2LjY2LDQ5NywyNDQuMDkyLDQ5NywyNzMuNjY3DQoJYzAsOS4wOS03LjM5NSwxNi40ODUtMTYuNDg1LDE2LjQ4NUgxMDEuOTY4Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41czMuMzU4LDcuNSw3LjUsNy41aDM3OC41NDcNCgljMTcuMzYxLDAsMzEuNDg1LTE0LjEyNCwzMS40ODUtMzEuNDg1QzUxMiwyNDAuMzg3LDQ5OC4wNTIsMjA4LjI0Miw0NzMuNzMyLDE4NS40NzN6IE00MzMuNzM0LDMxNy4zOTgNCgljLTMuODktMS40MTctOC4xOTYsMC41OS05LjYxMyw0LjQ4M2wtMTMuNDM3LDM2LjkxN2MtMS40MTYsMy44OTIsMC41OSw4LjE5Niw0LjQ4Myw5LjYxM2MwLjg0NywwLjMwOCwxLjcxMiwwLjQ1NCwyLjU2NCwwLjQ1NA0KCWMzLjA2MywwLDUuOTQtMS44OTIsNy4wNDgtNC45MzdsMTMuNDM3LTM2LjkxN0M0MzkuNjMzLDMyMy4xMTksNDM3LjYyNiwzMTguODE1LDQzMy43MzQsMzE3LjM5OHogTTM1My40MzgsMzE3LjY4NA0KCWMtMy44OTEtMS40MTUtOC4xOTYsMC41OS05LjYxMyw0LjQ4M2wtMTMuNDM2LDM2LjkxN2MtMS40MTcsMy44OTIsMC41OSw4LjE5Niw0LjQ4Myw5LjYxM2MwLjg0NywwLjMwOCwxLjcxMiwwLjQ1NCwyLjU2NCwwLjQ1NA0KCWMzLjA2MywwLDUuOTQtMS44OTIsNy4wNDgtNC45MzdsMTMuNDM2LTM2LjkxNkMzNTkuMzM3LDMyMy40MDUsMzU3LjMzLDMxOS4xMDEsMzUzLjQzOCwzMTcuNjg0eiBNMjczLjE0MiwzMTcuOTcxDQoJYy0zLjg5MS0xLjQxNS04LjE5NiwwLjU5LTkuNjEzLDQuNDgzbC0xMy40MzYsMzYuOTE2Yy0xLjQxNiwzLjg5MiwwLjU5LDguMTk2LDQuNDgzLDkuNjEzYzAuODQ3LDAuMzA4LDEuNzEyLDAuNDU0LDIuNTY0LDAuNDU0DQoJYzMuMDYzLDAsNS45NC0xLjg5Miw3LjA0OC00LjkzN2wxMy40MzYtMzYuOTE3QzI3OS4wNDEsMzIzLjY5MiwyNzcuMDM0LDMxOS4zODgsMjczLjE0MiwzMTcuOTcxeiBNMzIxLjUzMyw0NTEuMTINCgljLTMuODktMS40MTUtOC4xOTYsMC41OS05LjYxMyw0LjQ4M2wtMTMuNDM2LDM2LjkxN2MtMS40MTcsMy44OTIsMC41OSw4LjE5Niw0LjQ4Myw5LjYxM2MwLjg0NywwLjMwOCwxLjcxMiwwLjQ1NCwyLjU2NSwwLjQ1NA0KCWMzLjA2MywwLDUuOTQtMS44OTIsNy4wNDgtNC45MzdsMTMuNDM2LTM2LjkxNkMzMjcuNDMyLDQ1Ni44NDEsMzI1LjQyNSw0NTIuNTM3LDMyMS41MzMsNDUxLjEyeiIvPg0KCgo8cGF0aCBzdHlsZT0iZmlsbDojOEJDREQ4OyIgZD0iTTMyNy44OTYsMTAwLjQyNWMtMi41OTktMi40MzQtNC4zOTYtNS41ODktNS4xMS05LjA3N2MtOC4zMDEtNDAuNTUyLTQ0LjE3Ni03MS4wNTctODcuMTgyLTcxLjA1Nw0KCWMtMTIuNTQyLDAtMjQuNDc2LDIuNTk3LTM1LjI5OCw3LjI3OWMtMy40MjYsMS40ODItNy4zNTcsMS4yMzgtMTAuNDk4LTAuNzc5Yy0xMC4yOTItNi42MS0yMi41My0xMC40NTItMzUuNjcxLTEwLjQ1Mg0KCWMtMzMuMTMxLDAtNjAuNTY1LDI0LjM1OC02NS4zODgsNTYuMTQzYy0wLjYwOCw0LjAwNC0zLjc4MSw3LjEwNC03LjgwMyw3LjU3NmMtMzguNDkzLDQuNTE3LTY4LjM2MywzNy4yMjctNjguMzYzLDc2LjkzM2wwLDANCgljMCw5LjA1OCw3LjM0MywxNi40MDEsMTYuNDAxLDE2LjQwMUgzMzYuMDRjOS4wNTgsMCwxNi40MDEtNy4zNDMsMTYuNDAxLTE2LjQwMWwwLDANCglDMzUyLjQ0MSwxMzQuNjcxLDM0Mi45OTgsMTE0LjU2MywzMjcuODk2LDEwMC40MjV6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojQjlFOEVGOyIgZD0iTTQ2OC42MDYsMTkwLjk0N2MtMy44MDEtMy41NTktNi40MjgtOC4xNzMtNy40NzItMTMuMjc0DQoJYy0xMi4xMzktNTkuMzAxLTY0LjYwMi0xMDMuOTExLTEyNy40OTItMTAzLjkxMWMtMTguMzQxLDAtMzUuNzkzLDMuNzk4LTUxLjYxOSwxMC42NDVjLTUuMDEsMi4xNjctMTAuNzU5LDEuODExLTE1LjM1Mi0xLjEzOQ0KCWMtMTUuMDUxLTkuNjY3LTMyLjk0OC0xNS4yODUtNTIuMTY1LTE1LjI4NWMtNDguNDUsMC04OC41NjgsMzUuNjIxLTk1LjYyMiw4Mi4xMDFjLTAuODg5LDUuODU1LTUuNTMsMTAuMzg4LTExLjQxMSwxMS4wNzkNCglDNTEuMTgxLDE2Ny43NjgsNy41LDIxNS42MDIsNy41LDI3My42NjdsMCwwYzAsMTMuMjQ2LDEwLjczOCwyMy45ODUsMjMuOTg1LDIzLjk4NWg0NDkuMDNjMTMuMjQ2LDAsMjMuOTg1LTEwLjczOCwyMy45ODUtMjMuOTg1DQoJbDAsMEM1MDQuNSwyNDEuMDI3LDQ5MC42OTEsMjExLjYyMyw0NjguNjA2LDE5MC45NDd6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojQUJERkVCOyIgZD0iTTIwOS4xOTIsNjguMTQxYy00Ni4wNDIsMi40OTUtODMuNTE0LDM3LjE3NC05MC4zMDksODEuOTQyYy0wLjg4OCw1Ljg1NS01LjUzLDEwLjM4OC0xMS40MTEsMTEuMDc5DQoJQzUxLjE4MSwxNjcuNzY4LDcuNSwyMTUuNjAyLDcuNSwyNzMuNjY3bDAsMGMwLDEzLjI0NiwxMC43MzgsMjMuOTg1LDIzLjk4NSwyMy45ODVoMjI5LjAyNg0KCUMxNTYuNDI0LDI1OS45MTksMTY0LjY5LDEwNy41NTksMjA5LjE5Miw2OC4xNDF6Ii8+DQo8Zz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojOEJDREQ4OyIgZD0iTTE1MS42NzcsMjQwLjkxOWMtNC4wMzYsMC03LjM2OC0zLjIwOS03LjQ5Mi03LjI3MWMtMC41NzctMTguODcyLDEwLjk2NC0zNS44OTMsMjguNzE3LTQyLjM1NQ0KCQljMTQuMzYzLTUuMjI3LDMwLjY1OC0yLjQ3NSw0Mi41MjQsNy4xODRjMy4yMTMsMi42MTUsMy42OTcsNy4zMzksMS4wODMsMTAuNTUxYy0yLjYxNSwzLjIxMy03LjM0LDMuNjk2LTEwLjU1MSwxLjA4Mg0KCQljLTcuOTEzLTYuNDQxLTE4LjM1Mi04LjIwNi0yNy45MjUtNC43MjJjLTExLjY1Niw0LjI0Mi0xOS4yMzMsMTUuNDE1LTE4Ljg1NCwyNy44MDJjMC4xMjYsNC4xNC0zLjEyNyw3LjU5OS03LjI2OCw3LjcyNg0KCQlDMTUxLjgzMywyNDAuOTE3LDE1MS43NTUsMjQwLjkxOSwxNTEuNjc3LDI0MC45MTl6Ii8+DQoJPHBhdGggc3R5bGU9ImZpbGw6IzhCQ0REODsiIGQ9Ik00MDMuMzk1LDIyNi43NzljLTAuODA0LDAtMS42MjItMC4xMy0yLjQyNi0wLjQwNWMtMy45MTktMS4zMzktNi4wMTEtNS42MDMtNC42NzItOS41MjMNCgkJYzQuMzg3LTEyLjgzNywxLjE1Ny0yNi43NjgtOC40MjktMzYuMzU0Yy0xMC4yNTktMTAuMjU5LTI1LjUtMTMuMTkxLTM4LjgzMi03LjQ3NmMtMy44MDYsMS42MzMtOC4yMTUtMC4xMjktOS44NDktMy45MzcNCgkJYy0xLjYzMi0zLjgwNywwLjEzLTguMjE2LDMuOTM3LTkuODQ5YzE5LjAwMi04LjE0OCw0MC43MjktMy45NjcsNTUuMzUxLDEwLjY1NWMxMy42NjQsMTMuNjY0LDE4LjI2OCwzMy41MTcsMTIuMDE3LDUxLjgxMQ0KCQlDNDA5LjQyNywyMjQuODE4LDQwNi41MTUsMjI2Ljc3OSw0MDMuMzk1LDIyNi43Nzl6Ii8+DQoJPHBhdGggc3R5bGU9ImZpbGw6IzhCQ0REODsiIGQ9Ik0yMTEuNTM3LDEzOC4zMDljLTAuNzM1LDAtMS40ODEtMC4xMDktMi4yMi0wLjMzN2MtMy45NTYtMS4yMjUtNi4xNzEtNS40MjUtNC45NDctOS4zODINCgkJYzMuNDQxLTExLjExOSwxMy41NzktMTguNTksMjUuMjI3LTE4LjU5YzEwLjYzNSwwLDIwLjE4NCw2LjMyOSwyNC4zMjYsMTYuMTI1YzEuNjEzLDMuODE1LTAuMTcxLDguMjE1LTMuOTg2LDkuODI5DQoJCWMtMy44MTYsMS42MTUtOC4yMTUtMC4xNzEtOS44MjktMy45ODZjLTEuNzktNC4yMzItNS45MTUtNi45NjctMTAuNTExLTYuOTY3Yy01LjAzMiwwLTkuNDEyLDMuMjI1LTEwLjg5OCw4LjAyNQ0KCQlDMjE3LjcwMywxMzYuMjQyLDIxNC43MzgsMTM4LjMwOSwyMTEuNTM3LDEzOC4zMDl6Ii8+DQo8L2c+DQo8cGF0aCBkPSJNMTYwLjk0LDQ1MS42OTNjLTMuODkxLTEuNDE2LTguMTk2LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNiwzNi45MTdjLTEuNDE3LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTMNCgljMC44NDcsMC4zMDgsMS43MTIsMC40NTQsMi41NjQsMC40NTRjMy4wNjMsMCw1Ljk0LTEuODkyLDcuMDQ4LTQuOTM3bDEzLjQzNy0zNi45MTdDMTY2Ljg0LDQ1Ny40MTQsMTY0LjgzMyw0NTMuMTEsMTYwLjk0LDQ1MS42OTN6DQoJIE0yMTMuNDg4LDM4NC44NDVjLTMuODkxLTEuNDE2LTguMTk2LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNywzNi45MTdjLTEuNDE2LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTMNCgljMC44NDcsMC4zMDgsMS43MTIsMC40NTQsMi41NjQsMC40NTRjMy4wNjMsMCw1Ljk0LTEuODkyLDcuMDQ4LTQuOTM3bDEzLjQzNi0zNi45MTcNCglDMjE5LjM4NywzOTAuNTY1LDIxNy4zOCwzODYuMjYyLDIxMy40ODgsMzg0Ljg0NXogTTE5Mi44NDUsMzE4LjI1N2MtMy44OS0xLjQxNi04LjE5NiwwLjU5LTkuNjEzLDQuNDgzbC0xMy40MzYsMzYuOTE3DQoJYy0xLjQxNywzLjg5MiwwLjU5LDguMTk2LDQuNDgzLDkuNjEzYzAuODQ3LDAuMzA4LDEuNzEyLDAuNDU0LDIuNTY0LDAuNDU0YzMuMDYzLDAsNS45NC0xLjg5Miw3LjA0OC00LjkzN2wxMy40MzctMzYuOTE3DQoJQzE5OC43NDUsMzIzLjk3OCwxOTYuNzM4LDMxOS42NzQsMTkyLjg0NSwzMTguMjU3eiBNMTEyLjU0OSwzMTguNTQ0Yy0zLjg5MS0xLjQxNS04LjE5NiwwLjU5LTkuNjEzLDQuNDgzbC0xMy40MzcsMzYuOTE3DQoJYy0xLjQxNiwzLjg5MiwwLjU5LDguMTk2LDQuNDgzLDkuNjEzYzAuODQ3LDAuMzA4LDEuNzEyLDAuNDU0LDIuNTY0LDAuNDU0YzMuMDYzLDAsNS45NC0xLjg5Miw3LjA0OC00LjkzN2wxMy40MzctMzYuOTE3DQoJQzExOC40NDgsMzI0LjI2NCwxMTYuNDQxLDMxOS45NjEsMTEyLjU0OSwzMTguNTQ0eiBNMTMzLjE5MSwzODUuMTMxYy0zLjg5NC0xLjQxNi04LjE5NSwwLjU5LTkuNjEzLDQuNDgzbC0xMy40MzcsMzYuOTE3DQoJYy0xLjQxNiwzLjg5MiwwLjU5LDguMTk2LDQuNDgzLDkuNjEzYzAuODQ3LDAuMzA4LDEuNzEzLDAuNDU0LDIuNTY0LDAuNDU0YzMuMDYzLDAsNS45MzktMS44OTEsNy4wNDgtNC45MzdsMTMuNDM2LTM2LjkxNw0KCUMxMzkuMDkxLDM5MC44NTEsMTM3LjA4NCwzODYuNTQ4LDEzMy4xOTEsMzg1LjEzMXogTTEyNi4yOTgsMTUxLjIxYzMuMTY4LTIwLjg3MiwxMy43NDYtNDAuMDI5LDI5Ljc4Ny01My45NA0KCWMxNi4yLTE0LjA0OSwzNi45NDctMjEuNzg3LDU4LjQyMS0yMS43ODdjMTcuMTE3LDAsMzMuNzUzLDQuODc0LDQ4LjExMiwxNC4wOTZjNi42MzgsNC4yNjMsMTUuMDA2LDQuOTA0LDIyLjM4MiwxLjcxMg0KCWMxMC42NC00LjYwMywyMS43NTItNy42MzQsMzMuMTg1LTkuMDY3YzAuMTYtMC4wMTIsMC4zMi0wLjAzMiwwLjQ4MS0wLjA1NWM0LjkzNy0wLjU5OSw5LjkzMi0wLjkwNiwxNC45NzUtMC45MDYNCgljMzUuMDIyLDAsNjguNDU3LDE1LjAzMiw5MS43Myw0MS4yNDFjMi43NSwzLjA5Nyw3LjQ5MSwzLjM4LDEwLjU4OCwwLjYyOGMzLjA5Ny0yLjc1LDMuMzc4LTcuNDksMC42MjgtMTAuNTg4DQoJYy0yNi4xMTctMjkuNDEzLTYzLjY0LTQ2LjI4MS0xMDIuOTQ2LTQ2LjI4MWMtMy44NDMsMC03LjY1OSwwLjE2NC0xMS40NSwwLjQ3NGMtMTYuMTc2LTMyLjk0NC00OS41NjYtNTMuOTQ1LTg2LjU4Ny01My45NDUNCgljLTEzLjI4OSwwLTI2LjE2NywyLjY1Ni0zOC4yNzcsNy44OTZjLTEuMTc2LDAuNTA5LTIuNDcyLDAuNDMzLTMuNDY2LTAuMjA2Yy0xMS44NTgtNy42MTctMjUuNTk0LTExLjY0Mi0zOS43MjQtMTEuNjQyDQoJYy0xNy43MjQsMC0zNC44NSw2LjM4OC00OC4yMjMsMTcuOTg2QzkyLjY3OSwzOC4zMDIsODMuOTUsNTQuMTE3LDgxLjMzMyw3MS4zNTZjLTAuMTAyLDAuNjcyLTAuNjA5LDEuMTc1LTEuMjYyLDEuMjUyDQoJQzM3LjMyLDc3LjYyNSw1LjA4MiwxMTMuOTAxLDUuMDgyLDE1Ni45OWMwLDEzLjE3OSwxMC43MjIsMjMuOTAxLDIzLjkwMSwyMy45MDFINDMuNDFDMTYuNzQ2LDIwMy4xNjQsMCwyMzYuNjQ1LDAsMjczLjY2Nw0KCWMwLDE3LjM2MSwxNC4xMjQsMzEuNDg1LDMxLjQ4NSwzMS40ODVoMjguMDU5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41SDMxLjQ4NQ0KCWMtOS4wOSwwLTE2LjQ4NS03LjM5NS0xNi40ODUtMTYuNDg1YzAtNDAuMSwyMi40MjQtNzUuNDU3LDU1Ljk3Mi05My4zNjdjMC4zNDUtMC4xNDYsMC42NzMtMC4zMjUsMC45OS0wLjUxOQ0KCWMxMS4wNzctNS43NjMsMjMuMzM2LTkuNjM5LDM2LjM4NS0xMS4xN0MxMTcuNTI1LDE2Ny41MzUsMTI0LjkwNywxNjAuMzc4LDEyNi4yOTgsMTUxLjIxeiBNNjYuMTY4LDE2NS44OTFIMjguOTg0DQoJYy00LjkwOCwwLTguOTAxLTMuOTkzLTguOTAxLTguOTAxYzAtMzUuNDgyLDI2LjU0MS02NS4zNTQsNjEuNzM3LTY5LjQ4NGM3LjMzNS0wLjg2MSwxMy4yMzMtNi41NzcsMTQuMzQ0LTEzLjg5OQ0KCWMyLjA4Mi0xMy43MTYsOS4wMzUtMjYuMzA2LDE5LjU3OC0zNS40NWMxMC42NDYtOS4yMzMsMjQuMjgyLTE0LjMxOCwzOC4zOTYtMTQuMzE4YzExLjI1LDAsMjIuMTgzLDMuMjAzLDMxLjYxOCw5LjI2Mw0KCWM1LjIwNSwzLjM0MywxMS43NTgsMy44NDksMTcuNTI5LDEuMzUyYzEwLjIxOC00LjQyLDIxLjA5Mi02LjY2MiwzMi4zMi02LjY2MmMyOS41ODUsMCw1Ni40MywxNS44ODEsNzAuODA3LDQxLjE2NA0KCWMtOS4zNjUsMS44ODEtMTguNTExLDQuNzM3LTI3LjM2OCw4LjU2OGMtMi43ODMsMS4yMDUtNS44OTMsMC45OTItOC4zMjEtMC41NjZjLTE2Ljc4MS0xMC43NzgtMzYuMjIxLTE2LjQ3NS01Ni4yMTctMTYuNDc1DQoJYy0yNS4wODQsMC00OS4zMjIsOS4wNC02OC4yNDksMjUuNDU1Yy0xOC43MzIsMTYuMjQ1LTMxLjA4NywzOC42MjYtMzQuNzg5LDYzLjAyMWMtMC4zODcsMi41NDgtMi4zNDQsNC40NTgtNC44Nyw0Ljc1NQ0KCUM5Mi4xMzUsMTU1LjQxLDc4LjUyMiwxNTkuNjMsNjYuMTY4LDE2NS44OTF6IE0yOTMuNzg0LDM4NC41NThjLTMuODktMS40MTUtOC4xOTYsMC41OS05LjYxMyw0LjQ4M2wtMTMuNDM3LDM2LjkxNw0KCWMtMS40MTYsMy44OTIsMC41OSw4LjE5Niw0LjQ4Myw5LjYxM2MwLjg0NywwLjMwOCwxLjcxMiwwLjQ1NCwyLjU2NCwwLjQ1NGMzLjA2MywwLDUuOTQtMS44OTIsNy4wNDgtNC45MzdsMTMuNDM3LTM2LjkxNw0KCUMyOTkuNjgzLDM5MC4yNzksMjk3LjY3NiwzODUuOTc1LDI5My43ODQsMzg0LjU1OHogTTI0MS4yMzcsNDUxLjQwN2MtMy44ODktMS40MTYtOC4xOTYsMC41OS05LjYxMyw0LjQ4M2wtMTMuNDM3LDM2LjkxNw0KCWMtMS40MTYsMy44OTIsMC41OSw4LjE5Niw0LjQ4Myw5LjYxM2MwLjg0NywwLjMwOCwxLjcxMiwwLjQ1NCwyLjU2NCwwLjQ1NGMzLjA2MywwLDUuOTQtMS44OTIsNy4wNDgtNC45MzdsMTMuNDM3LTM2LjkxNw0KCUMyNDcuMTM2LDQ1Ny4xMjcsMjQ1LjEyOSw0NTIuODIzLDI0MS4yMzcsNDUxLjQwN3ogTTM3NC4wOCwzODQuMjcyYy0zLjg5MS0xLjQxNS04LjE5NiwwLjU5LTkuNjEzLDQuNDgzbC0xMy40MzYsMzYuOTE3DQoJYy0xLjQxNywzLjg5MiwwLjU5LDguMTk2LDQuNDgzLDkuNjEzYzAuODQ3LDAuMzA4LDEuNzEyLDAuNDU0LDIuNTY0LDAuNDU0YzMuMDYzLDAsNS45NC0xLjg5Miw3LjA0OC00LjkzN2wxMy40MzYtMzYuOTE3DQoJQzM3OS45NzksMzg5Ljk5MiwzNzcuOTczLDM4NS42ODksMzc0LjA4LDM4NC4yNzJ6IE00NzMuNzMyLDE4NS40NzNjLTIuNzA4LTIuNTM2LTQuNTI0LTUuNzUzLTUuMjUxLTkuMzA0DQoJYy0yLjE0Mi0xMC40NjctNS41MTktMjAuNjg2LTEwLjAzNi0zMC4zNzJjLTEuNzUtMy43NTQtNi4yMTUtNS4zNzktOS45NjctMy42MjhjLTMuNzU0LDEuNzUxLTUuMzc4LDYuMjEzLTMuNjI4LDkuOTY3DQoJYzQuMDIyLDguNjI1LDcuMDI4LDE3LjcyMyw4LjkzNSwyNy4wNDJjMS4zNTQsNi42MTEsNC43MDYsMTIuNTc0LDkuNjk0LDE3LjI0NUM0ODUuMDk2LDIxNi42Niw0OTcsMjQ0LjA5Miw0OTcsMjczLjY2Nw0KCWMwLDkuMDktNy4zOTUsMTYuNDg1LTE2LjQ4NSwxNi40ODVIMTAxLjk2OGMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXMzLjM1OCw3LjUsNy41LDcuNWgzNzguNTQ3DQoJYzE3LjM2MSwwLDMxLjQ4NS0xNC4xMjQsMzEuNDg1LTMxLjQ4NUM1MTIsMjQwLjM4Nyw0OTguMDUyLDIwOC4yNDIsNDczLjczMiwxODUuNDczeiBNNDMzLjczNCwzMTcuMzk4DQoJYy0zLjg5LTEuNDE3LTguMTk2LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNywzNi45MTdjLTEuNDE2LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTNjMC44NDcsMC4zMDgsMS43MTIsMC40NTQsMi41NjQsMC40NTQNCgljMy4wNjMsMCw1Ljk0LTEuODkyLDcuMDQ4LTQuOTM3bDEzLjQzNy0zNi45MTdDNDM5LjYzMywzMjMuMTE5LDQzNy42MjYsMzE4LjgxNSw0MzMuNzM0LDMxNy4zOTh6IE0zNTMuNDM4LDMxNy42ODQNCgljLTMuODkxLTEuNDE1LTguMTk2LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNiwzNi45MTdjLTEuNDE3LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTNjMC44NDcsMC4zMDgsMS43MTIsMC40NTQsMi41NjQsMC40NTQNCgljMy4wNjMsMCw1Ljk0LTEuODkyLDcuMDQ4LTQuOTM3bDEzLjQzNi0zNi45MTZDMzU5LjMzNywzMjMuNDA1LDM1Ny4zMywzMTkuMTAxLDM1My40MzgsMzE3LjY4NHogTTI3My4xNDIsMzE3Ljk3MQ0KCWMtMy44OTEtMS40MTUtOC4xOTYsMC41OS05LjYxMyw0LjQ4M2wtMTMuNDM2LDM2LjkxNmMtMS40MTYsMy44OTIsMC41OSw4LjE5Niw0LjQ4Myw5LjYxM2MwLjg0NywwLjMwOCwxLjcxMiwwLjQ1NCwyLjU2NCwwLjQ1NA0KCWMzLjA2MywwLDUuOTQtMS44OTIsNy4wNDgtNC45MzdsMTMuNDM2LTM2LjkxN0MyNzkuMDQxLDMyMy42OTIsMjc3LjAzNCwzMTkuMzg4LDI3My4xNDIsMzE3Ljk3MXogTTMyMS41MzMsNDUxLjEyDQoJYy0zLjg5LTEuNDE1LTguMTk2LDAuNTktOS42MTMsNC40ODNsLTEzLjQzNiwzNi45MTdjLTEuNDE3LDMuODkyLDAuNTksOC4xOTYsNC40ODMsOS42MTNjMC44NDcsMC4zMDgsMS43MTIsMC40NTQsMi41NjUsMC40NTQNCgljMy4wNjMsMCw1Ljk0LTEuODkyLDcuMDQ4LTQuOTM3bDEzLjQzNi0zNi45MTZDMzI3LjQzMiw0NTYuODQxLDMyNS40MjUsNDUyLjUzNywzMjEuNTMzLDQ1MS4xMnoiLz4NCjwvc3ZnPg0K\"","/* Imported for side effects (registering the pseudo elements) */\n/* eslint-disable no-unused-vars */\nimport SlAlert from \"@shoelace-style/shoelace/dist/components/alert/alert\";\nimport SlButton from \"@shoelace-style/shoelace/dist/components/button/button\";\nimport SlButtonGroup from \"@shoelace-style/shoelace/dist/components/button-group/button-group\";\nimport SlCheckbox from \"@shoelace-style/shoelace/dist/components/checkbox/checkbox\";\nimport SlDialog from \"@shoelace-style/shoelace/dist/components/dialog/dialog\";\nimport SlDrodown from \"@shoelace-style/shoelace/dist/components/dropdown/dropdown\";\nimport SlIcon from \"@shoelace-style/shoelace/dist/components/icon/icon\";\nimport SlIconButton from \"@shoelace-style/shoelace/dist/components/icon-button/icon-button\";\nimport SlMenu from \"@shoelace-style/shoelace/dist/components/menu/menu\";\nimport SlMenuItem from \"@shoelace-style/shoelace/dist/components/menu-item/menu-item\";\nimport SlMenuLabel from \"@shoelace-style/shoelace/dist/components/menu-label/menu-label\";\nimport SlProgressRing from \"@shoelace-style/shoelace/dist/components/progress-ring/progress-ring\";\nimport SlRange from \"@shoelace-style/shoelace/dist/components/range/range\";\nimport SlSelect from \"@shoelace-style/shoelace/dist/components/select/select\";\nimport SlSpinner from \"@shoelace-style/shoelace/dist/components/spinner/spinner\";\nimport SlSwitch from \"@shoelace-style/shoelace/dist/components/switch/switch\";\nimport SlTag from \"@shoelace-style/shoelace/dist/components/tag/tag\";\nimport SlTooltip from \"@shoelace-style/shoelace/dist/components/tooltip/tooltip\";\nimport SlResizeObserver from \"@shoelace-style/shoelace/dist/components/resize-observer/resize-observer\";\nimport { setBasePath } from \"@shoelace-style/shoelace/dist/utilities/base-path\";\n\nimport { colorSchemeDark } from \"../stores\";\n\nexport const uiConstantsDefault = {\n \"toast-stack-offset\": \"49px\",\n};\n\nconst darkmodeConstants = {\n \"sl-color-white\": \"#3F3F3F\",\n \"sl-color-black\": \"#FFFFFF\",\n \"sl-color-gray-50\": \"#3F3F3F\",\n \"sl-color-gray-700\": \"#FFFFFF\",\n \"sl-color-gray-300\": \"#717171\",\n \"sl-color-gray-200\": \"#8b8b8b\",\n \"sl-color-info-100\": \"#3F3F3F\",\n \"sl-color-primary-text\": \"#ffffff\",\n \"sl-color-gray-600\": \"#d6d6d6\",\n \"sl-color-info-700\": \"#c2c2c2\",\n \"sl-color-primary-600\": \"#38BDF8\",\n // CSS people be like https://codepen.io/sosuke/pen/Pjoqqp\n \"svg-dark-to-light\": \"invert(99%) sepia(0%) saturate(469%) hue-rotate(31deg) brightness(119%) contrast(100%)\",\n};\n\nexport const NOWCAST_OPACITY = 0.75;\n\nexport function setUIConstant(name, suite = uiConstantsDefault) {\n document.documentElement.style.setProperty(`--${name}`, suite[name]);\n}\n\nexport function unsetUIConstant(name) {\n document.documentElement.style.removeProperty(`--${name}`);\n}\n\nexport function resetUIConstantByPrefix(prefix) {\n Object.keys(uiConstantsDefault).map((key) => key.startsWith(prefix)).forEach((key) => setUIConstant(key));\n}\n\nexport function initUIConstants() {\n Object.keys(uiConstantsDefault).forEach((key) => setUIConstant(key));\n\n if (window.matchMedia) {\n colorSchemeDark.set(window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark )\").matches);\n }\n\n if (window.matchMedia) {\n window.matchMedia(\"(prefers-color-scheme: dark)\")\n .addListener((e) => {\n console.log(`changed to ${e.matches ? \"dark\" : \"light\"} mode`);\n colorSchemeDark.set(e.matches);\n });\n }\n\n setBasePath(\"/dist/shoelace/assets/\");\n}\n\n// Dark and Light mode\ncolorSchemeDark.subscribe((isDark) => {\n if (isDark) Object.keys(darkmodeConstants).forEach((key) => setUIConstant(key, darkmodeConstants));\n else Object.keys(darkmodeConstants).forEach((key) => unsetUIConstant(key));\n});\n","\n\n\n\n{#if timeString}\n
{timeString}
\n{/if}\n","\n\n\n\n
\n {#if lastUpdatedStr}\n {#if loading}\n \n {:else}\n \n {/if}\n {lastUpdatedStr}\n {:else}\n {$_(\"loading\")}...\n {/if}\n
\n\n","import { getLocaleFromNavigator } from \"svelte-i18n\";\nimport { de, enUS } from \"date-fns/locale\";\n\nexport default function getDfnLocale() {\n const loc = getLocaleFromNavigator().split(\"-\")[0];\n if (loc === \"de\") {\n return de;\n }\n return enUS;\n}\n","\n\n\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n","\n\n\n\n
\n
{@html title}
\n
\n
\n
\n {#each vs as value}\n
\n {@html value}\n
\n {/each}\n
\n
\n
\n
\n\n","/* eslint-disable max-len */\n// Color translation maps\nexport const DIFF_NWS = {\n 959052: [149, 144, 82, 0],\n 979356: [151, 147, 86, 10],\n \"9c9a60\": [156, 154, 96, 20],\n a3a067: [163, 160, 103, 40],\n a8a570: [168, 165, 112, 50],\n acac79: [172, 172, 121, 70],\n b1b182: [28, 33, 48, -175],\n b6b88c: [31, 37, 54, -155],\n bcbd93: [28, 33, 47, -145],\n c1c39c: [23, 27, 39, -115],\n cacdaa: [30, 33, 49, -95],\n cccfaf: [27, 30, 45, -85],\n cccfb3: [22, 23, 39, -65],\n c8ccb3: [12, 15, 32, -55],\n bfc3b3: [-2, 0, 23, -25],\n b8bdb3: [-14, -13, 14, -5],\n b5bab3: [-23, -21, 4, 0],\n acb3b3: [-35, -30, 0, 0],\n aaafb3: [-30, -29, 0, 0],\n a3aab3: [-35, -30, 0, 0],\n a0a8b3: [-31, -27, 0, 0],\n \"9aa1b3\": [-34, -32, 0, 0],\n \"97a0b3\": [-33, -29, 0, 0],\n \"909ab3\": [-31, -27, 0, 0],\n \"939ab5\": [-25, -25, 2, 0],\n \"8791b1\": [-35, -30, -2, 0],\n \"838eb1\": [-32, -28, -2, 0],\n \"7c89af\": [-36, -31, -4, 0],\n \"7785ae\": [-35, -28, -5, 0],\n \"7080aa\": [-39, -32, -9, 0],\n \"6b7caa\": [-40, -32, -9, 0],\n \"5e72a7\": [-46, -35, -12, 0],\n \"566da3\": [-45, -33, -14, 0],\n \"5269a3\": [-46, -35, -12, 0],\n \"4b64a1\": [-49, -37, -14, 0],\n \"4660a0\": [-46, -34, -12, 0],\n \"4260a1\": [-46, -32, -9, 0],\n \"4467a5\": [-30, -14, -3, 0],\n \"4975ae\": [-21, 3, 7, 0],\n \"4d7cb1\": [-17, 10, 10, 0],\n \"508aba\": [-6, 29, 23, 0],\n \"5491bf\": [2, 40, 28, 0],\n \"599ec6\": [14, 58, 37, 0],\n \"5ba5ca\": [21, 69, 42, 0],\n \"60b3d4\": [30, 86, 54, 0],\n \"62bad8\": [30, 83, 51, 0],\n \"67c8df\": [31, 90, 53, 0],\n \"69cfe4\": [28, 83, 51, 0],\n \"67d6d6\": [24, 83, 33, 0],\n \"60d6c4\": [16, 76, 10, 0],\n \"52d6a1\": [-4, 61, -34, 0],\n \"4bd690\": [-14, 56, -54, 0],\n \"3bd66d\": [-34, 42, -98, 0],\n \"34d65b\": [-44, 35, -121, 0],\n \"11d116\": [-81, 23, -194, 0],\n \"0fcd16\": [-88, 5, -201, 0],\n \"0fc316\": [-90, -12, -206, 0],\n \"0fbf15\": [-88, -23, -193, 0],\n \"0fb613\": [-81, -32, -177, 0],\n \"0eb313\": [-75, -35, -160, 0],\n \"0eaa13\": [-61, -44, -125, 0],\n \"0ca511\": [-54, -49, -109, 0],\n \"0c9e11\": [-40, -56, -74, 0],\n \"0c9911\": [-5, -59, -7, 0],\n \"0c900f\": [-5, -65, -7, 0],\n \"0a8c0f\": [-5, -60, -7, 0],\n \"0a830e\": [-5, -64, -8, 0],\n \"0a800e\": [-5, -60, -7, 0],\n \"0a770c\": [-5, -63, -7, 0],\n \"08720c\": [-6, -65, -7, 0],\n \"086b0a\": [-6, -63, -9, 0],\n \"08660a\": [-4, -63, -7, 0],\n \"085d08\": [-4, -65, -9, 0],\n \"1c6708\": [16, -50, -9, 0],\n \"467c08\": [58, -25, -7, 0],\n \"5b8707\": [81, -5, -8, 0],\n \"839c05\": [121, 21, -10, 0],\n \"97a805\": [141, 40, -9, 0],\n c1bc05: [183, 64, -7, 0],\n d6c603: [204, 79, -9, 0],\n ffe200: [247, 116, -12, 0],\n ffd800: [247, 109, -10, 0],\n ffc800: [247, 102, -10, 0],\n ffc300: [247, 102, -8, 0],\n ffb500: [227, 78, -8, 0],\n ffb000: [185, 52, -8, 0],\n ffa700: [164, 32, -7, 0],\n ff9e00: [124, 2, -5, 0],\n ff9300: [104, -21, -5, 0],\n ff8900: [83, -40, -5, 0],\n ff7f00: [41, -71, -3, 0],\n ff0000: [22, -209, -3, 0],\n f00000: [-15, -216, 0, 0],\n e90000: [-22, -211, 0, 0],\n db0000: [-36, -200, 0, 0],\n d40000: [-43, -186, 0, 0],\n c60000: [-57, -181, 0, 0],\n bf0000: [-64, -172, 0, 0],\n b10000: [-78, -167, 0, 0],\n aa0000: [-85, -158, 0, 0],\n \"9a0000\": [-101, -147, 0, 0],\n 930000: [-108, -137, 0, 0],\n 850000: [-122, -127, 0, 0],\n \"7e0000\": [-129, 0, 0, 0],\n 700000: [-135, 0, 0, 0],\n ffffff: [22, 255, 255, 0],\n ffe9ff: [29, 233, 255, 0],\n ffdfff: [43, 223, 255, 0],\n ffc8ff: [50, 200, 255, 0],\n ffbdff: [57, 189, 255, 0],\n ffa8ff: [71, 168, 255, 0],\n ff9cff: [78, 156, 255, 0],\n ff75ff: [92, 117, 255, 0],\n fb6bfd: [97, 107, 253, 0],\n f656f6: [99, 86, 246, 0],\n f24bf4: [109, 75, 244, 0],\n ed36ef: [111, 54, 239, 0],\n e92aeb: [121, 42, 235, 0],\n e416e6: [-27, -233, -25, 0],\n e10ae2: [-30, -234, -29, 0],\n ac00fb: [-83, -223, -4, 0],\n a300f6: [-92, -212, -9, 0],\n \"9300ef\": [-108, -189, -16, 0],\n \"8700e9\": [-120, -179, -22, 0],\n \"7900e2\": [-134, -168, -29, 0],\n \"7200dd\": [-141, -145, -34, 0],\n \"6200d6\": [0, 0, 0, 0],\n};\nexport const DIFF_VIRIDIS = {\n 959052: [109, 21, -60, -102],\n 979356: [112, 23, -56, -96],\n \"9c9a60\": [117, 29, -46, -90],\n a3a067: [124, 34, -39, -74],\n a8a570: [130, 38, -30, -69],\n acac79: [134, 44, -21, -53],\n b1b182: [139, 48, -12, -47],\n b6b88c: [145, 54, -2, -31],\n bcbd93: [151, 58, 6, -26],\n c1c39c: [157, 62, 15, -4],\n cacdaa: [166, 71, 29, 12],\n cccfaf: [169, 72, 34, 17],\n cccfb3: [169, 71, 38, 33],\n c8ccb3: [165, 67, 38, 39],\n bfc3b3: [157, 57, 38, 60],\n b8bdb3: [150, 50, 38, 76],\n b5bab3: [148, 46, 38, 77],\n acb3b3: [139, 38, 39, 73],\n aaafb3: [137, 33, 39, 68],\n a3aab3: [131, 27, 39, 64],\n a0a8b3: [128, 24, 39, 60],\n \"9aa1b3\": [122, 16, 39, 56],\n \"97a0b3\": [120, 14, 39, 51],\n \"909ab3\": [113, 7, 40, 47],\n \"939ab5\": [116, 6, 42, 43],\n \"8791b1\": [104, -4, 38, 39],\n \"838eb1\": [100, -8, 38, 34],\n \"7c89af\": [94, -14, 37, 30],\n \"7785ae\": [89, -19, 36, 26],\n \"7080aa\": [82, -25, 32, 22],\n \"6b7caa\": [77, -29, 32, 17],\n \"5e72a7\": [64, -41, 30, 9],\n \"566da3\": [56, -47, 26, 5],\n \"5269a3\": [52, -52, 27, 0],\n \"4b64a1\": [45, -58, 25, 0],\n \"4660a0\": [40, -63, 24, 0],\n \"4260a1\": [36, -64, 26, 0],\n \"4467a5\": [37, -58, 30, 0],\n \"4975ae\": [42, -45, 40, 0],\n \"4d7cb1\": [46, -39, 43, 0],\n \"508aba\": [48, -26, 53, 0],\n \"5491bf\": [52, -20, 58, 0],\n \"599ec6\": [56, -8, 65, 0],\n \"5ba5ca\": [58, -2, 70, 0],\n \"60b3d4\": [62, 12, 80, 0],\n \"62bad8\": [63, 18, 85, 0],\n \"67c8df\": [68, 31, 93, 0],\n \"69cfe4\": [69, 37, 98, 0],\n \"67d6d6\": [66, 43, 85, 0],\n \"60d6c4\": [58, 42, 67, 0],\n \"52d6a1\": [43, 41, 33, 0],\n \"4bd690\": [35, 40, 17, 0],\n \"3bd66d\": [18, 39, -18, 0],\n \"34d65b\": [10, 38, -35, 0],\n \"11d116\": [-26, 32, -103, 0],\n \"0fcd16\": [-29, 28, -103, 0],\n \"0fc316\": [-31, 17, -102, 0],\n \"0fbf15\": [-32, 12, -102, 0],\n \"0fb613\": [-33, 2, -103, 0],\n \"0eb313\": [-36, -2, -103, 0],\n \"0eaa13\": [-37, -12, -102, 0],\n \"0ca511\": [-41, -18, -103, 0],\n \"0c9e11\": [-42, -26, -102, 0],\n \"0c9911\": [-44, -32, -101, 0],\n \"0c900f\": [-45, -41, -103, 0],\n \"0a8c0f\": [-49, -46, -102, 0],\n \"0a830e\": [-51, -56, -102, 0],\n \"0a800e\": [-52, -60, -101, 0],\n \"0a770c\": [-54, -70, -102, 0],\n \"08720c\": [-58, -76, -101, 0],\n \"086b0a\": [-60, -83, -102, 0],\n \"08660a\": [-61, -89, -101, 0],\n \"085d08\": [-63, -99, -102, 0],\n \"1c6708\": [-45, -90, -101, 0],\n \"467c08\": [-5, -70, -100, 0],\n \"5b8707\": [14, -59, -100, 0],\n \"839c05\": [52, -39, -100, 0],\n \"97a805\": [70, -28, -99, 0],\n c1bc05: [110, -9, -98, 0],\n d6c603: [129, 0, -99, 0],\n ffe200: [168, 28, -101, 0],\n ffd800: [166, 17, -100, 0],\n ffc800: [164, 0, -98, 0],\n ffc300: [161, -6, -97, 0],\n ffb500: [159, -20, -96, 0],\n ffb000: [157, -26, -95, 0],\n ffa700: [155, -36, -93, 0],\n ff9e00: [152, -46, -92, 0],\n ff9300: [150, -57, -91, 0],\n ff8900: [148, -68, -89, 0],\n ff7f00: [146, -79, -88, 0],\n ff0000: [143, -206, -86, 0],\n f00000: [126, -207, -85, 0],\n e90000: [117, -208, -84, 0],\n db0000: [100, -208, -82, 0],\n d40000: [91, -209, -81, 0],\n c60000: [74, -210, -79, 0],\n bf0000: [65, -210, -78, 0],\n b10000: [48, -211, -76, 0],\n aa0000: [39, -211, -75, 0],\n \"9a0000\": [20, -212, -73, 0],\n 930000: [11, -213, -71, 0],\n 850000: [-6, -213, -70, 0],\n \"7e0000\": [-15, -214, -68, 0],\n 700000: [-32, -214, -67, 0],\n ffffff: [109, 40, 190, 0],\n ffe9ff: [106, 18, 192, 0],\n ffdfff: [104, 7, 193, 0],\n ffc8ff: [101, -16, 195, 0],\n ffbdff: [98, -28, 197, 0],\n ffa8ff: [96, -49, 199, 0],\n ff9cff: [93, -62, 200, 0],\n ff75ff: [90, -101, 202, 0],\n fb6bfd: [84, -112, 202, 0],\n f656f6: [76, -133, 196, 0],\n f24bf4: [69, -145, 196, 0],\n ed36ef: [62, -166, 193, 0],\n e92aeb: [55, -179, 191, 0],\n e416e6: [47, -199, 187, 0],\n e10ae2: [42, -211, 185, 0],\n ac00fb: [-14, -222, 212, 0],\n a300f6: [-26, -222, 208, 0],\n \"9300ef\": [-44, -223, 203, 0],\n \"8700e9\": [-59, -223, 199, 0],\n \"7900e2\": [-76, -223, 193, 0],\n \"7200dd\": [-85, -224, 190, 0],\n \"6200d6\": [-155, -231, 178, 0],\n};\nexport const DIFF_PYART_STEPSEQ = {\n 959052: [-90, -2, -64, -110],\n 979356: [-93, -9, -70, -104],\n \"9c9a60\": [-90, -7, -65, -99],\n a3a067: [-88, -11, -68, -83],\n a8a570: [-85, -11, -64, -77],\n acac79: [-78, -2, -49, -61],\n b1b182: [-54, 21, -10, -56],\n b6b88c: [-39, 37, 16, -40],\n bcbd93: [-14, 60, 53, -34],\n c1c39c: [11, 84, 93, -13],\n cacdaa: [39, 111, 138, 3],\n cccfaf: [50, 122, 158, 9],\n cccfb3: [47, 118, 159, 25],\n c8ccb3: [41, 113, 156, 30],\n bfc3b3: [24, 96, 148, 52],\n b8bdb3: [15, 88, 145, 68],\n b5bab3: [7, 79, 140, 68],\n acb3b3: [-4, 70, 137, 64],\n aaafb3: [-9, 63, 134, 60],\n a3aab3: [-20, 52, 127, 56],\n a0a8b3: [-26, 47, 124, 51],\n \"9aa1b3\": [-37, 34, 117, 47],\n \"97a0b3\": [-42, 31, 113, 43],\n \"909ab3\": [-51, 22, 110, 39],\n \"939ab5\": [-53, 16, 105, 34],\n \"8791b1\": [-68, 4, 97, 30],\n \"838eb1\": [-76, -6, 89, 26],\n \"7c89af\": [-86, -14, 83, 22],\n \"7785ae\": [-93, -21, 78, 17],\n \"7080aa\": [-105, -33, 65, 13],\n \"6b7caa\": [-112, -40, 61, 9],\n \"5e72a7\": [-133, -60, 45, 0],\n \"566da3\": [-143, -68, 37, 0],\n \"5269a3\": [-152, -80, 27, 0],\n \"4b64a1\": [-161, -88, 21, 0],\n \"4660a0\": [-171, -100, 10, 0],\n \"4260a1\": [-177, -103, 6, 0],\n \"4467a5\": [-178, -100, 5, 0],\n \"4975ae\": [-178, -93, 4, 0],\n \"4d7cb1\": [-176, -90, 2, 0],\n \"508aba\": [-155, -70, 29, 0],\n \"5491bf\": [-137, -57, 49, 0],\n \"599ec6\": [-119, -38, 72, 0],\n \"5ba5ca\": [-89, -19, 107, 0],\n \"60b3d4\": [-70, 1, 132, 0],\n \"62bad8\": [-40, 20, 167, 0],\n \"67c8df\": [-21, 40, 189, 0],\n \"69cfe4\": [-5, 53, 209, 0],\n \"67d6d6\": [-8, 57, 194, 0],\n \"60d6c4\": [-18, 55, 174, 0],\n \"52d6a1\": [-37, 50, 133, 0],\n \"4bd690\": [-46, 48, 113, 0],\n \"3bd66d\": [-65, 45, 76, 0],\n \"34d65b\": [-77, 40, 52, 0],\n \"11d116\": [-114, 33, -20, 0],\n \"0fcd16\": [-121, 24, -26, 0],\n \"0fc316\": [-124, 12, -30, 0],\n \"0fbf15\": [-127, 5, -34, 0],\n \"0fb613\": [-133, -8, -43, 0],\n \"0eb313\": [-136, -14, -46, 0],\n \"0eaa13\": [-142, -28, -53, 0],\n \"0ca511\": [-147, -35, -59, 0],\n \"0c9e11\": [-149, -44, -62, 0],\n \"0c9911\": [-155, -54, -70, 0],\n \"0c900f\": [-158, -66, -77, 0],\n \"0a8c0f\": [-166, -74, -85, 0],\n \"0a830e\": [-169, -86, -90, 0],\n \"0a800e\": [-172, -91, -94, 0],\n \"0a770c\": [-178, -105, -105, 0],\n \"08720c\": [-183, -112, -109, 0],\n \"086b0a\": [-189, -124, -120, 0],\n \"08660a\": [-193, -132, -125, 0],\n \"085d08\": [-196, -143, -132, 0],\n \"1c6708\": [-182, -138, -142, 0],\n \"467c08\": [-144, -119, -147, 0],\n \"5b8707\": [-129, -113, -157, 0],\n \"839c05\": [-92, -94, -164, 0],\n \"97a805\": [-76, -85, -169, 0],\n c1bc05: [-11, -49, -170, 0],\n d6c603: [30, -25, -170, 0],\n ffe200: [112, 31, -168, 0],\n ffd800: [132, 35, -165, 0],\n ffc800: [152, 33, -163, 0],\n ffc300: [192, 55, -158, 0],\n ffb500: [212, 55, -156, 0],\n ffb000: [238, 68, -154, 0],\n ffa700: [236, 56, -156, 0],\n ff9e00: [233, 45, -159, 0],\n ff9300: [227, 29, -164, 0],\n ff8900: [225, 16, -166, 0],\n ff7f00: [219, 1, -171, 0],\n ff0000: [216, -128, -173, 0],\n f00000: [199, -131, -176, 0],\n e90000: [185, -136, -180, 0],\n db0000: [168, -139, -183, 0],\n d40000: [154, -144, -188, 0],\n c60000: [136, -147, -190, 0],\n bf0000: [126, -150, -192, 0],\n b10000: [105, -155, -197, 0],\n aa0000: [95, -158, -200, 0],\n \"9a0000\": [71, -164, -204, 0],\n 930000: [60, -167, -207, 0],\n 850000: [42, -170, -209, 0],\n \"7e0000\": [27, -176, -214, 0],\n 700000: [8, -179, -216, 0],\n ffffff: [143, 70, 34, 0],\n ffe9ff: [139, 45, 31, 0],\n ffdfff: [135, 32, 29, 0],\n ffc8ff: [126, 3, 24, 0],\n ffbdff: [121, -11, 22, 0],\n ffa8ff: [111, -39, 17, 0],\n ff9cff: [106, -54, 15, 0],\n ff75ff: [101, -96, 12, 0],\n fb6bfd: [87, -113, 5, 0],\n f656f6: [77, -137, -4, 0],\n f24bf4: [66, -151, -9, 0],\n ed36ef: [74, -152, -5, 0],\n e92aeb: [83, -144, 1, 0],\n e416e6: [104, -124, 15, 0],\n e10ae2: [115, -116, 21, 0],\n ac00fb: [88, -85, 65, 0],\n a300f6: [92, -65, 70, 0],\n \"9300ef\": [89, -45, 72, 0],\n \"8700e9\": [96, -16, 79, 0],\n \"7900e2\": [79, -19, 70, 0],\n \"7200dd\": [67, -24, 60, 0],\n \"6200d6\": [-93, -178, -41, 0],\n};\nexport const DIFF_HOMEYER = {\n 959052: [97, -20, -87, -110],\n 979356: [94, -20, -82, -104],\n \"9c9a60\": [96, -15, -71, -99],\n a3a067: [98, -12, -62, -83],\n a8a570: [100, -8, -52, -77],\n acac79: [102, -3, -42, -61],\n b1b182: [102, -1, -31, -56],\n b6b88c: [104, 4, -20, -40],\n bcbd93: [105, 6, -11, -34],\n c1c39c: [105, 9, 0, -13],\n cacdaa: [109, 16, 16, 3],\n cccfaf: [108, 17, 23, 9],\n cccfb3: [103, 14, 28, 25],\n c8ccb3: [96, 9, 29, 30],\n bfc3b3: [79, -4, 32, 52],\n b8bdb3: [70, -11, 33, 68],\n b5bab3: [61, -17, 35, 68],\n acb3b3: [50, -26, 36, 64],\n aaafb3: [45, -31, 37, 60],\n a3aab3: [33, -39, 39, 56],\n a0a8b3: [27, -43, 40, 51],\n \"9aa1b3\": [16, -52, 42, 47],\n \"97a0b3\": [10, -55, 43, 43],\n \"909ab3\": [0, -62, 44, 39],\n \"939ab5\": [-2, -65, 48, 34],\n \"8791b1\": [-17, -76, 45, 30],\n \"838eb1\": [-26, -81, 47, 26],\n \"7c89af\": [-36, -88, 45, 22],\n \"7785ae\": [-44, -93, 45, 17],\n \"7080aa\": [-56, -101, 43, 13],\n \"6b7caa\": [-64, -106, 44, 9],\n \"5e72a7\": [-85, -121, 43, 0],\n \"566da3\": [-96, -127, 40, 0],\n \"5269a3\": [-105, -134, 42, 0],\n \"4b64a1\": [-115, -140, 40, 0],\n \"4660a0\": [-126, -147, 41, 0],\n \"4260a1\": [-132, -148, 43, 0],\n \"4467a5\": [-132, -142, 48, 0],\n \"4975ae\": [-131, -129, 60, 0],\n \"4d7cb1\": [-129, -122, 64, 0],\n \"508aba\": [-130, -109, 76, 0],\n \"5491bf\": [-128, -102, 83, 0],\n \"599ec6\": [-125, -90, 91, 0],\n \"5ba5ca\": [-127, -84, 98, 0],\n \"60b3d4\": [-124, -70, 109, 0],\n \"62bad8\": [-126, -64, 116, 0],\n \"67c8df\": [-123, -51, 124, 0],\n \"69cfe4\": [-123, -44, 131, 0],\n \"67d6d6\": [-129, -38, 120, 0],\n \"60d6c4\": [-138, -39, 103, 0],\n \"52d6a1\": [-152, -35, 74, 0],\n \"4bd690\": [-159, -34, 60, 0],\n \"3bd66d\": [-174, -32, 29, 0],\n \"34d65b\": [-181, -28, 17, 0],\n \"11d116\": [-216, -31, -49, 0],\n \"0fcd16\": [-217, -31, -42, 0],\n \"0fc316\": [-217, -39, -39, 0],\n \"0fbf15\": [-216, -41, -36, 0],\n \"0fb613\": [-216, -47, -32, 0],\n \"0eb313\": [-217, -48, -28, 0],\n \"0eaa13\": [-216, -53, -22, 0],\n \"0ca511\": [-218, -56, -21, 0],\n \"0c9e11\": [-218, -61, -17, 0],\n \"0c9911\": [-217, -62, -11, 0],\n \"0c900f\": [-217, -69, -11, 0],\n \"0a8c0f\": [-218, -69, -5, 0],\n \"0a830e\": [-218, -76, -3, 0],\n \"0a800e\": [-218, -77, 0, 0],\n \"0a770c\": [-217, -82, 3, 0],\n \"08720c\": [-219, -85, 6, 0],\n \"086b0a\": [-218, -88, 10, 0],\n \"08660a\": [-218, -91, 10, 0],\n \"085d08\": [-218, -98, 8, 0],\n \"1c6708\": [-197, -84, 8, 0],\n \"467c08\": [-155, -61, 8, 0],\n \"5b8707\": [-133, -46, 7, 0],\n \"839c05\": [-93, -23, 5, 0],\n \"97a805\": [-73, -9, 5, 0],\n c1bc05: [-30, 15, 5, 0],\n d6c603: [-9, 27, 3, 0],\n ffe200: [33, 59, 0, 0],\n ffd800: [33, 51, 0, 0],\n ffc800: [34, 37, 0, 0],\n ffc300: [34, 37, 0, 0],\n ffb500: [35, 25, 0, 0],\n ffb000: [35, 24, 0, 0],\n ffa700: [35, 17, 0, 0],\n ff9e00: [36, 10, 0, 0],\n ff9300: [36, 3, 0, 0],\n ff8900: [37, -5, 0, 0],\n ff7f00: [37, -10, 0, 0],\n ff0000: [38, -135, 0, 0],\n f00000: [23, -133, 0, 0],\n e90000: [17, -129, 0, 0],\n db0000: [3, -127, 0, 0],\n d40000: [-3, -122, 0, 0],\n c60000: [-17, -120, 0, 0],\n bf0000: [-23, -118, 0, 0],\n b10000: [-37, -114, 0, 0],\n aa0000: [-43, -111, 0, 0],\n \"9a0000\": [-58, -107, 0, 0],\n 930000: [-65, -105, 0, 0],\n 850000: [-79, -103, 0, 0],\n \"7e0000\": [-85, -98, 0, 0],\n 700000: [-98, -96, 0, 0],\n ffffff: [46, 163, 255, 0],\n ffe9ff: [46, 144, 255, 0],\n ffdfff: [46, 136, 255, 0],\n ffc8ff: [47, 117, 255, 0],\n ffbdff: [48, 109, 255, 0],\n ffa8ff: [49, 92, 255, 0],\n ff9cff: [49, 82, 255, 0],\n ff75ff: [50, 45, 255, 0],\n fb6bfd: [47, 40, 253, 0],\n f656f6: [42, 21, 246, 0],\n f24bf4: [39, 15, 244, 0],\n ed36ef: [35, -4, 239, 0],\n e92aeb: [31, -14, 235, 0],\n e416e6: [27, -29, 230, 0],\n e10ae2: [25, -39, 226, 0],\n ac00fb: [-27, -44, 251, 0],\n a300f6: [-36, -42, 246, 0],\n \"9300ef\": [-51, -40, 239, 0],\n \"8700e9\": [-62, -35, 233, 0],\n \"7900e2\": [-75, -33, 226, 0],\n \"7200dd\": [-81, -28, 221, 0],\n \"6200d6\": [-68, 0, 214, 0],\n};\nexport const DIFF_LANG = {\n 959052: [-25, -29, -160, -110],\n 979356: [-20, -25, -155, -104],\n \"9c9a60\": [-13, -17, -145, -99],\n a3a067: [-2, -9, -138, -83],\n a8a570: [4, -3, -129, -77],\n acac79: [10, 4, -120, -61],\n b1b182: [18, 11, -111, -56],\n b6b88c: [25, 19, -101, -40],\n bcbd93: [34, 24, -93, -34],\n c1c39c: [41, 29, -84, -13],\n cacdaa: [53, 38, -70, 3],\n cccfaf: [56, 40, -65, 9],\n cccfb3: [58, 40, -61, 25],\n c8ccb3: [56, 36, -61, 30],\n bfc3b3: [50, 26, -60, 52],\n b8bdb3: [44, 20, -60, 68],\n b5bab3: [44, 16, -60, 68],\n acb3b3: [36, 9, -60, 64],\n aaafb3: [35, 5, -60, 60],\n a3aab3: [31, -1, -60, 56],\n a0a8b3: [29, -3, -60, 51],\n \"9aa1b3\": [26, -11, -59, 47],\n \"97a0b3\": [24, -12, -59, 43],\n \"909ab3\": [18, -20, -59, 39],\n \"939ab5\": [24, -22, -57, 34],\n \"8791b1\": [13, -32, -61, 30],\n \"838eb1\": [11, -37, -61, 26],\n \"7c89af\": [6, -43, -63, 22],\n \"7785ae\": [2, -48, -64, 17],\n \"7080aa\": [-3, -55, -68, 13],\n \"6b7caa\": [-6, -60, -68, 9],\n \"5e72a7\": [-15, -73, -71, 0],\n \"566da3\": [-22, -79, -75, 0],\n \"5269a3\": [-24, -85, -74, 0],\n \"4b64a1\": [-29, -91, -76, 0],\n \"4660a0\": [-32, -97, -77, 0],\n \"4260a1\": [-35, -98, -76, 0],\n \"4467a5\": [-31, -92, -72, 0],\n \"4975ae\": [-24, -81, -63, 0],\n \"4d7cb1\": [-18, -76, -60, 0],\n \"508aba\": [-13, -65, -51, 0],\n \"5491bf\": [-8, -60, -46, 0],\n \"599ec6\": [-1, -49, -39, 0],\n \"5ba5ca\": [3, -45, -35, 0],\n \"60b3d4\": [10, -33, -25, 0],\n \"62bad8\": [14, -30, -21, 0],\n \"67c8df\": [20, -17, -14, 0],\n \"69cfe4\": [24, -12, -9, 0],\n \"67d6d6\": [24, -9, -23, 0],\n \"60d6c4\": [19, -10, -41, 0],\n \"52d6a1\": [7, -14, -76, 0],\n \"4bd690\": [2, -16, -93, 0],\n \"3bd66d\": [-13, -17, -128, 0],\n \"34d65b\": [-18, -21, -146, 0],\n \"11d116\": [-52, -28, -214, 0],\n \"0fcd16\": [-69, -32, -197, 0],\n \"0fc316\": [-76, -42, -188, 0],\n \"0fbf15\": [-83, -46, -181, 0],\n \"0fb613\": [-98, -55, -165, 0],\n \"0eb313\": [-106, -58, -157, 0],\n \"0eaa13\": [-120, -67, -140, 0],\n \"0ca511\": [-130, -72, -133, 0],\n \"0c9e11\": [-137, -79, -124, 0],\n \"0c9911\": [-152, -84, -107, 0],\n \"0c900f\": [-159, -93, -101, 0],\n \"0a8c0f\": [-175, -97, -83, 0],\n \"0a830e\": [-183, -106, -76, 0],\n \"0a800e\": [-190, -109, -67, 0],\n \"0a770c\": [-204, -118, -52, 0],\n \"08720c\": [-214, -123, -43, 0],\n \"086b0a\": [-228, -130, -28, 0],\n \"08660a\": [-229, -133, -27, 0],\n \"085d08\": [-228, -140, -28, 0],\n \"1c6708\": [-208, -127, -26, 0],\n \"467c08\": [-165, -104, -25, 0],\n \"5b8707\": [-144, -89, -24, 0],\n \"839c05\": [-103, -66, -25, 0],\n \"97a805\": [-83, -52, -24, 0],\n c1bc05: [-40, -28, -22, 0],\n d6c603: [-19, -16, -23, 0],\n ffe200: [23, 15, -24, 0],\n ffd800: [23, 7, -23, 0],\n ffc800: [24, -7, -22, 0],\n ffc300: [24, -8, -20, 0],\n ffb500: [25, -20, -19, 0],\n ffb000: [25, -21, -17, 0],\n ffa700: [26, -29, -16, 0],\n ff9e00: [26, -36, -15, 0],\n ff9300: [28, -42, -14, 0],\n ff8900: [29, -50, -14, 0],\n ff7f00: [31, -55, -14, 0],\n ff0000: [32, -180, -14, 0],\n f00000: [19, -177, -13, 0],\n e90000: [14, -173, -13, 0],\n db0000: [1, -170, -13, 0],\n d40000: [-4, -166, -12, 0],\n c60000: [-17, -163, -12, 0],\n bf0000: [-23, -161, -12, 0],\n b10000: [-34, -156, -12, 0],\n aa0000: [-40, -154, -11, 0],\n \"9a0000\": [-54, -149, -11, 0],\n 930000: [-60, -147, -11, 0],\n 850000: [-73, -144, -11, 0],\n \"7e0000\": [-78, -140, -10, 0],\n 700000: [-90, -138, -10, 0],\n ffffff: [55, 121, 245, 0],\n ffe9ff: [56, 102, 245, 0],\n ffdfff: [57, 94, 246, 0],\n ffc8ff: [60, 75, 246, 0],\n ffbdff: [61, 66, 246, 0],\n ffa8ff: [63, 49, 246, 0],\n ff9cff: [64, 39, 247, 0],\n ff75ff: [65, 2, 247, 0],\n fb6bfd: [64, -4, 245, 0],\n f656f6: [60, -23, 238, 0],\n f24bf4: [58, -30, 237, 0],\n ed36ef: [54, -49, 232, 0],\n e92aeb: [51, -59, 228, 0],\n e416e6: [49, -75, 223, 0],\n e10ae2: [47, -85, 219, 0],\n ac00fb: [-4, -91, 245, 0],\n a300f6: [-12, -89, 240, 0],\n \"9300ef\": [-26, -87, 233, 0],\n \"8700e9\": [-36, -84, 227, 0],\n \"7900e2\": [-49, -82, 220, 0],\n \"7200dd\": [-53, -79, 216, 0],\n \"6200d6\": [-22, -21, 213, 0],\n};\n// (Partial) RVP6 Maps\nexport const RVP6_NWS = [[149, 144, 82, 255], [151, 147, 86, 255], [160, 156, 100, 255], [163, 160, 103, 255], [170, 168, 117, 255], [172, 172, 121, 255], [177, 177, 130, 255], [182, 184, 140, 255], [188, 189, 147, 255], [193, 195, 156, 255], [193, 195, 156, 255], [198, 202, 165, 255], [204, 207, 175, 255], [207, 209, 179, 255], [200, 204, 179, 255], [198, 200, 179, 255], [191, 195, 179, 255], [188, 193, 179, 255], [184, 189, 179, 255], [175, 181, 179, 255], [172, 179, 179, 255], [170, 175, 179, 255], [163, 170, 179, 255], [160, 168, 179, 255], [154, 161, 179, 255], [151, 160, 179, 255], [147, 156, 179, 255], [147, 154, 181, 255], [140, 149, 179, 255], [131, 142, 177, 255], [128, 140, 175, 255], [124, 137, 175, 255], [116, 130, 172, 255], [112, 128, 170, 255], [98, 117, 168, 255], [94, 114, 167, 255], [94, 114, 167, 255], [86, 109, 163, 255], [82, 105, 163, 255], [75, 100, 161, 255], [70, 96, 160, 255], [66, 93, 158, 255], [68, 103, 165, 255], [72, 110, 170, 255], [77, 124, 177, 255], [79, 131, 181, 255], [80, 138, 186, 255], [86, 153, 195, 255], [89, 158, 198, 255], [93, 172, 207, 255], [96, 179, 212, 255], [98, 186, 216, 255], [103, 200, 223, 255], [105, 207, 228, 255], [103, 214, 214, 255], [96, 214, 196, 255], [89, 214, 179, 255], [75, 214, 144, 255], [66, 214, 126, 255], [52, 214, 91, 255], [17, 212, 24, 255], [17, 209, 22, 255], [15, 200, 22, 255], [15, 195, 22, 255], [15, 188, 21, 255], [15, 182, 19, 255], [14, 179, 19, 255], [14, 170, 19, 255], [12, 165, 17, 255], [12, 158, 17, 255], [12, 153, 17, 255], [12, 149, 15, 255], [10, 140, 15, 255], [10, 135, 15, 255], [10, 128, 14, 255], [10, 124, 12, 255], [10, 119, 12, 255], [8, 110, 12, 255], [8, 107, 10, 255], [8, 98, 10, 255], [8, 93, 8, 255], [28, 103, 8, 255], [70, 124, 8, 255], [91, 135, 7, 255], [131, 156, 5, 255], [151, 168, 5, 255], [172, 177, 5, 255], [214, 198, 3, 255], [233, 209, 3, 255], [255, 216, 0, 255], [255, 211, 0, 255], [255, 200, 0, 255], [255, 186, 0, 255], [255, 181, 0, 255], [255, 172, 0, 255], [255, 167, 0, 255], [255, 158, 0, 255], [255, 147, 0, 255], [255, 137, 0, 255], [255, 127, 0, 255], [255, 0, 0, 255], [247, 0, 0, 255], [233, 0, 0, 255], [226, 0, 0, 255], [212, 0, 0, 255], [205, 0, 0, 255], [198, 0, 0, 255], [184, 0, 0, 255], [177, 0, 0, 255], [163, 0, 0, 255], [154, 0, 0, 255], [147, 0, 0, 255], [133, 0, 0, 255], [126, 0, 0, 255], [112, 0, 0, 255], [255, 255, 255, 255], [255, 244, 255, 255], [255, 223, 255, 255], [255, 212, 255, 255], [255, 189, 255, 255], [255, 179, 255, 255], [255, 168, 255, 255], [255, 145, 255, 255], [255, 117, 255, 255], [249, 96, 249, 255], [246, 86, 246, 255], [242, 75, 244, 255], [237, 54, 239, 255], [233, 42, 235, 255], [228, 22, 230, 255], [225, 10, 226, 255], [177, 0, 255, 255], [163, 0, 246, 255], [154, 0, 244, 255], [135, 0, 233, 255], [130, 0, 232, 255], [121, 0, 226, 255], [105, 0, 219, 255], [98, 0, 214, 255]];\nexport const RVP6_NWS_LEFTPAD = 62;\nexport const RVP6_CLASSIC = [[151, 147, 86, 10], [156, 154, 96, 20], [163, 160, 103, 40], [168, 165, 112, 50], [172, 172, 121, 70], [177, 177, 130, 80], [182, 184, 140, 100], [188, 189, 147, 110], [193, 195, 156, 130], [193, 195, 156, 140], [202, 205, 170, 160], [204, 207, 175, 170], [204, 207, 179, 190], [200, 204, 179, 200], [191, 195, 179, 220], [191, 195, 179, 230], [184, 189, 179, 250], [181, 186, 179, 255], [172, 179, 179, 255], [170, 175, 179, 255], [163, 170, 179, 255], [160, 168, 179, 255], [154, 161, 179, 255], [151, 160, 179, 255], [144, 154, 179, 255], [147, 154, 181, 255], [135, 145, 177, 255], [131, 142, 177, 255], [124, 137, 175, 255], [119, 133, 174, 255], [112, 128, 170, 255], [107, 124, 170, 255], [94, 114, 167, 255], [94, 114, 167, 255], [86, 109, 163, 255], [82, 105, 163, 255], [75, 100, 161, 255], [70, 96, 160, 255], [66, 96, 161, 255], [68, 103, 165, 255], [73, 117, 174, 255], [77, 124, 177, 255], [80, 138, 186, 255], [84, 145, 191, 255], [89, 158, 198, 255], [91, 165, 202, 255], [96, 179, 212, 255], [98, 186, 216, 255], [103, 200, 223, 255], [105, 207, 228, 255], [103, 214, 214, 255], [96, 214, 196, 255], [82, 214, 161, 255], [75, 214, 144, 255], [59, 214, 109, 255], [52, 214, 91, 255], [17, 209, 22, 255], [15, 205, 22, 255], [15, 195, 22, 255], [15, 191, 21, 255], [15, 182, 19, 255], [14, 179, 19, 255], [14, 170, 19, 255], [12, 165, 17, 255], [12, 158, 17, 255], [12, 153, 17, 255], [12, 144, 15, 255], [10, 140, 15, 255], [10, 131, 14, 255], [10, 128, 14, 255], [10, 119, 12, 255], [8, 114, 12, 255], [8, 107, 10, 255], [8, 102, 10, 255], [8, 93, 8, 255], [28, 103, 8, 255], [70, 124, 8, 255], [91, 135, 7, 255], [131, 156, 5, 255], [151, 168, 5, 255], [193, 188, 5, 255], [214, 198, 3, 255], [255, 226, 0, 255], [255, 216, 0, 255], [255, 200, 0, 255], [255, 195, 0, 255], [255, 181, 0, 255], [255, 176, 0, 255], [255, 167, 0, 255], [255, 158, 0, 255], [255, 147, 0, 255], [255, 137, 0, 255], [255, 127, 0, 255], [255, 0, 0, 255], [240, 0, 0, 255], [233, 0, 0, 255], [219, 0, 0, 255], [212, 0, 0, 255], [198, 0, 0, 255], [191, 0, 0, 255], [177, 0, 0, 255], [170, 0, 0, 255], [154, 0, 0, 255], [147, 0, 0, 255], [133, 0, 0, 255], [126, 0, 0, 255], [112, 0, 0, 255], [255, 255, 255, 255], [255, 233, 255, 255], [255, 223, 255, 255], [255, 200, 255, 255], [255, 189, 255, 255], [255, 168, 255, 255], [255, 156, 255, 255], [255, 117, 255, 255], [251, 107, 253, 255], [246, 86, 246, 255], [242, 75, 244, 255], [237, 54, 239, 255], [233, 42, 235, 255], [228, 22, 230, 255], [225, 10, 226, 255], [172, 0, 251, 255], [163, 0, 246, 255], [147, 0, 239, 255], [135, 0, 233, 255], [121, 0, 226, 255], [114, 0, 221, 255], [98, 0, 214, 255]];\nexport const RVP6_CLASSIC_LEFTPAD = 57;\nexport const RVP6_VIRIDIS = [[49, 100, 141, 0], [49, 101, 141, 4], [49, 102, 141, 8], [48, 103, 141, 12], [48, 104, 141, 17], [47, 105, 141, 21], [47, 106, 141, 25], [46, 107, 142, 29], [46, 108, 142, 34], [46, 109, 142, 38], [45, 110, 142, 42], [45, 111, 142, 46], [44, 112, 142, 51], [44, 113, 142, 55], [44, 114, 142, 59], [43, 115, 142, 63], [43, 116, 142, 68], [42, 117, 142, 72], [42, 118, 142, 76], [42, 119, 142, 80], [41, 120, 142, 85], [41, 121, 142, 89], [40, 122, 142, 93], [40, 122, 142, 97], [40, 123, 142, 102], [39, 124, 142, 106], [39, 125, 142, 110], [39, 126, 142, 114], [38, 127, 142, 119], [38, 128, 142, 123], [38, 129, 142, 127], [37, 130, 142, 131], [37, 131, 141, 136], [36, 132, 141, 140], [36, 133, 141, 144], [36, 134, 141, 148], [35, 135, 141, 153], [35, 136, 141, 157], [35, 137, 141, 161], [34, 137, 141, 165], [34, 138, 141, 170], [34, 139, 141, 174], [33, 140, 141, 178], [33, 141, 140, 182], [33, 142, 140, 187], [32, 143, 140, 191], [32, 144, 140, 195], [32, 145, 140, 199], [31, 146, 140, 204], [31, 147, 139, 208], [31, 148, 139, 212], [31, 149, 139, 216], [31, 150, 139, 221], [30, 151, 138, 225], [30, 152, 138, 229], [30, 153, 138, 233], [30, 153, 138, 238], [30, 154, 137, 242], [30, 155, 137, 246], [30, 156, 137, 250], [30, 157, 136, 255], [30, 158, 136, 255], [30, 159, 136, 255], [30, 160, 135, 255], [31, 161, 135, 255], [31, 162, 134, 255], [31, 163, 134, 255], [32, 164, 133, 255], [32, 165, 133, 255], [33, 166, 133, 255], [33, 167, 132, 255], [34, 167, 132, 255], [35, 168, 131, 255], [35, 169, 130, 255], [36, 170, 130, 255], [37, 171, 129, 255], [38, 172, 129, 255], [39, 173, 128, 255], [40, 174, 127, 255], [41, 175, 127, 255], [42, 176, 126, 255], [43, 177, 125, 255], [44, 177, 125, 255], [46, 178, 124, 255], [47, 179, 123, 255], [48, 180, 122, 255], [50, 181, 122, 255], [51, 182, 121, 255], [53, 183, 120, 255], [54, 184, 119, 255], [56, 185, 118, 255], [57, 185, 118, 255], [59, 186, 117, 255], [61, 187, 116, 255], [62, 188, 115, 255], [64, 189, 114, 255], [66, 190, 113, 255], [68, 190, 112, 255], [69, 191, 111, 255], [71, 192, 110, 255], [73, 193, 109, 255], [75, 194, 108, 255], [77, 194, 107, 255], [79, 195, 105, 255], [81, 196, 104, 255], [83, 197, 103, 255], [85, 198, 102, 255], [87, 198, 101, 255], [89, 199, 100, 255], [91, 200, 98, 255], [94, 201, 97, 255], [96, 201, 96, 255], [98, 202, 95, 255], [100, 203, 93, 255], [103, 204, 92, 255], [105, 204, 91, 255], [107, 205, 89, 255], [109, 206, 88, 255], [112, 206, 86, 255], [114, 207, 85, 255], [116, 208, 84, 255], [119, 208, 82, 255], [121, 209, 81, 255], [124, 210, 79, 255], [126, 210, 78, 255], [129, 211, 76, 255], [131, 211, 75, 255], [134, 212, 73, 255], [136, 213, 71, 255], [139, 213, 70, 255], [141, 214, 68, 255], [144, 214, 67, 255], [146, 215, 65, 255], [149, 215, 63, 255], [151, 216, 62, 255], [154, 216, 60, 255], [157, 217, 58, 255], [159, 217, 56, 255], [162, 218, 55, 255], [165, 218, 53, 255], [167, 219, 51, 255], [170, 219, 50, 255], [173, 220, 48, 255], [175, 220, 46, 255], [178, 221, 44, 255], [181, 221, 43, 255], [183, 221, 41, 255], [186, 222, 39, 255], [189, 222, 38, 255], [191, 223, 36, 255], [194, 223, 34, 255], [197, 223, 33, 255], [199, 224, 31, 255], [202, 224, 30, 255], [205, 224, 29, 255], [207, 225, 28, 255], [210, 225, 27, 255], [212, 225, 26, 255], [215, 226, 25, 255], [218, 226, 24, 255], [220, 226, 24, 255], [223, 227, 24, 255], [225, 227, 24, 255], [228, 227, 24, 255], [231, 228, 25, 255], [233, 228, 25, 255], [236, 228, 26, 255], [238, 229, 27, 255], [241, 229, 28, 255], [243, 229, 30, 255], [246, 230, 31, 255], [248, 230, 33, 255], [250, 230, 34, 255], [253, 231, 36, 255]];\nexport const RVP6_VIRIDIS_LEFTPAD = 32;\nexport const RVP6_PYART_STEPSEQ = [[153, 15, 15, 0], [155, 18, 18, 4], [160, 23, 23, 8], [162, 26, 26, 12], [167, 31, 31, 17], [169, 34, 34, 21], [172, 37, 37, 25], [177, 42, 42, 29], [179, 45, 45, 34], [184, 52, 52, 38], [186, 56, 56, 42], [189, 59, 59, 46], [193, 66, 66, 51], [196, 70, 70, 55], [201, 77, 77, 59], [203, 80, 80, 63], [205, 84, 84, 68], [210, 93, 93, 72], [213, 97, 97, 76], [217, 105, 105, 80], [220, 109, 109, 85], [222, 114, 114, 89], [227, 122, 122, 93], [229, 126, 126, 97], [234, 136, 136, 102], [237, 141, 141, 106], [239, 146, 146, 110], [244, 156, 156, 114], [246, 161, 161, 119], [251, 171, 171, 123], [253, 176, 176, 127], [250, 174, 170, 131], [231, 156, 140, 136], [221, 147, 124, 140], [202, 129, 94, 144], [192, 120, 78, 148], [182, 111, 63, 153], [163, 94, 32, 157], [154, 85, 17, 161], [157, 89, 20, 165], [159, 91, 23, 170], [162, 94, 25, 174], [167, 99, 31, 178], [169, 101, 34, 182], [174, 107, 39, 187], [176, 109, 42, 191], [179, 112, 45, 195], [183, 118, 52, 199], [186, 121, 55, 204], [191, 127, 62, 208], [193, 129, 66, 212], [195, 132, 69, 216], [200, 138, 76, 221], [203, 141, 80, 225], [207, 148, 88, 229], [210, 151, 92, 233], [212, 154, 96, 238], [217, 161, 105, 242], [219, 164, 109, 246], [224, 171, 117, 250], [227, 174, 122, 255], [229, 177, 126, 255], [234, 185, 136, 255], [236, 188, 140, 255], [241, 196, 150, 255], [243, 199, 155, 255], [246, 203, 160, 255], [251, 210, 170, 255], [253, 214, 175, 255], [235, 208, 157, 255], [221, 202, 142, 255], [208, 196, 126, 255], [180, 184, 95, 255], [166, 178, 80, 255], [138, 166, 49, 255], [124, 160, 34, 255], [110, 154, 19, 255], [111, 157, 20, 255], [114, 159, 22, 255], [119, 164, 28, 255], [121, 166, 31, 255], [124, 169, 33, 255], [129, 174, 39, 255], [131, 176, 42, 255], [136, 181, 48, 255], [139, 183, 52, 255], [142, 186, 55, 255], [148, 190, 62, 255], [150, 193, 65, 255], [156, 198, 72, 255], [159, 200, 76, 255], [161, 202, 79, 255], [167, 207, 87, 255], [170, 210, 92, 255], [176, 214, 100, 255], [179, 217, 104, 255], [182, 219, 108, 255], [188, 224, 117, 255], [191, 226, 121, 255], [197, 231, 130, 255], [201, 234, 135, 255], [204, 236, 140, 255], [210, 241, 150, 255], [214, 243, 155, 255], [220, 248, 164, 255], [223, 250, 169, 255], [227, 253, 174, 255], [204, 237, 175, 255], [184, 223, 173, 255], [143, 195, 168, 255], [123, 181, 165, 255], [103, 167, 163, 255], [63, 140, 158, 255], [43, 126, 156, 255], [17, 108, 154, 255], [19, 111, 156, 255], [22, 113, 159, 255], [28, 118, 164, 255], [30, 121, 166, 255], [36, 126, 171, 255], [39, 128, 173, 255], [41, 131, 176, 255], [48, 136, 180, 255], [51, 139, 183, 255], [58, 144, 188, 255], [62, 147, 190, 255], [65, 150, 192, 255], [72, 155, 197, 255], [75, 158, 200, 255], [83, 164, 204, 255], [87, 167, 207, 255], [91, 170, 209, 255], [99, 176, 214, 255], [104, 179, 216, 255], [112, 185, 221, 255], [116, 188, 224, 255], [120, 191, 226, 255], [129, 197, 231, 255], [134, 200, 233, 255], [144, 207, 238, 255], [149, 210, 240, 255], [154, 213, 243, 255], [164, 220, 248, 255], [169, 223, 250, 255], [176, 226, 253, 255], [163, 206, 244, 255], [150, 186, 234, 255], [124, 146, 215, 255], [110, 126, 205, 255], [84, 85, 186, 255], [71, 65, 176, 255], [58, 45, 167, 255], [39, 16, 154, 255], [42, 19, 156, 255], [47, 24, 161, 255], [50, 27, 163, 255], [53, 30, 166, 255], [58, 36, 171, 255], [61, 38, 173, 255], [66, 44, 178, 255], [69, 47, 180, 255], [73, 51, 183, 255], [79, 58, 187, 255], [82, 61, 190, 255], [89, 68, 195, 255], [92, 72, 197, 255], [96, 75, 199, 255], [102, 82, 204, 255], [106, 86, 207, 255], [114, 95, 211, 255], [118, 99, 214, 255], [122, 103, 216, 255], [130, 112, 221, 255], [134, 116, 223, 255], [141, 124, 228, 255], [146, 129, 231, 255], [150, 134, 233, 255], [159, 144, 238, 255], [164, 148, 240, 255], [173, 158, 245, 255], [177, 163, 247, 255], [182, 168, 250, 255], [191, 178, 255, 255]];\nexport const RVP6_PYART_STEPSEQ_LEFTPAD = 30;\nexport const RVP6_HOMEYER = [[0, 108, 198, 0], [0, 109, 197, 4], [0, 112, 196, 8], [0, 114, 195, 12], [0, 117, 194, 17], [0, 119, 193, 21], [0, 120, 192, 25], [0, 124, 191, 29], [0, 125, 190, 34], [0, 128, 189, 38], [0, 130, 188, 42], [2, 132, 188, 46], [6, 135, 186, 51], [9, 136, 186, 55], [13, 139, 184, 59], [16, 141, 183, 63], [18, 143, 182, 68], [23, 146, 180, 72], [26, 147, 179, 76], [30, 150, 178, 80], [33, 152, 177, 85], [35, 153, 176, 89], [40, 157, 174, 93], [43, 158, 173, 97], [47, 161, 171, 102], [50, 163, 170, 106], [52, 164, 169, 110], [57, 167, 168, 114], [60, 169, 167, 119], [65, 172, 165, 123], [68, 173, 164, 127], [70, 175, 163, 131], [75, 178, 161, 136], [78, 180, 160, 140], [83, 183, 158, 144], [86, 184, 157, 148], [88, 186, 156, 153], [93, 189, 154, 157], [96, 190, 152, 161], [101, 193, 151, 165], [104, 195, 150, 170], [106, 196, 149, 174], [112, 199, 147, 178], [114, 200, 146, 182], [120, 203, 144, 187], [122, 205, 143, 191], [125, 206, 142, 195], [130, 209, 140, 199], [133, 211, 139, 204], [138, 213, 137, 208], [141, 215, 136, 212], [144, 216, 135, 216], [149, 219, 133, 221], [152, 221, 132, 225], [157, 223, 130, 229], [160, 225, 130, 233], [163, 226, 129, 238], [168, 229, 127, 242], [171, 230, 126, 246], [176, 233, 125, 250], [179, 235, 124, 255], [182, 236, 123, 255], [187, 239, 121, 255], [190, 240, 121, 255], [196, 243, 119, 255], [198, 244, 118, 255], [200, 245, 117, 255], [204, 246, 114, 255], [206, 246, 113, 255], [210, 247, 110, 255], [212, 247, 108, 255], [214, 248, 107, 255], [218, 249, 104, 255], [220, 249, 103, 255], [224, 250, 100, 255], [226, 251, 99, 255], [228, 251, 97, 255], [232, 252, 94, 255], [234, 253, 93, 255], [234, 249, 87, 255], [234, 248, 84, 255], [233, 246, 80, 255], [233, 242, 74, 255], [233, 240, 71, 255], [232, 236, 64, 255], [232, 234, 61, 255], [231, 232, 57, 255], [231, 229, 51, 255], [231, 227, 47, 255], [230, 223, 41, 255], [230, 221, 38, 255], [230, 219, 34, 255], [229, 215, 28, 255], [229, 213, 26, 255], [228, 209, 20, 255], [228, 207, 17, 255], [228, 205, 14, 255], [227, 201, 9, 255], [227, 199, 6, 255], [226, 195, 0, 255], [226, 193, 0, 255], [226, 191, 0, 255], [225, 187, 0, 255], [225, 185, 0, 255], [224, 181, 0, 255], [224, 179, 0, 255], [224, 177, 0, 255], [223, 173, 0, 255], [223, 171, 0, 255], [222, 167, 0, 255], [222, 165, 0, 255], [221, 163, 0, 255], [221, 158, 0, 255], [220, 156, 0, 255], [220, 152, 0, 255], [220, 150, 0, 255], [219, 148, 0, 255], [219, 144, 0, 255], [218, 142, 0, 255], [218, 137, 0, 255], [217, 135, 0, 255], [217, 133, 0, 255], [216, 129, 0, 255], [216, 127, 0, 255], [215, 122, 0, 255], [215, 120, 0, 255], [214, 118, 0, 255], [214, 114, 0, 255], [213, 111, 0, 255], [212, 107, 0, 255], [212, 105, 0, 255], [212, 103, 0, 255], [211, 98, 0, 255], [210, 96, 0, 255], [209, 92, 0, 255], [209, 89, 0, 255], [209, 87, 0, 255], [208, 83, 0, 255], [207, 80, 0, 255], [206, 76, 0, 255], [206, 74, 0, 255], [205, 72, 0, 255], [204, 67, 0, 255], [204, 65, 0, 255], [203, 60, 0, 255], [202, 58, 0, 255], [202, 56, 0, 255], [201, 51, 0, 255], [200, 49, 0, 255], [199, 44, 0, 255], [199, 42, 0, 255], [198, 40, 0, 255], [197, 35, 0, 255], [196, 33, 0, 255], [195, 28, 0, 255], [195, 26, 0, 255], [194, 24, 0, 255], [193, 19, 0, 255], [192, 17, 0, 255], [191, 12, 0, 255], [190, 10, 0, 255], [189, 8, 0, 255], [188, 3, 0, 255], [187, 1, 0, 255], [186, 0, 0, 255], [185, 0, 0, 255], [185, 0, 0, 255], [183, 0, 0, 255], [183, 0, 0, 255], [181, 0, 0, 255], [180, 0, 0, 255], [179, 0, 0, 255], [178, 0, 0, 255], [177, 0, 0, 255], [175, 0, 0, 255], [174, 0, 0, 255], [174, 0, 0, 255], [172, 0, 0, 255], [171, 0, 0, 255], [169, 0, 0, 255], [169, 0, 0, 255], [168, 0, 0, 255], [166, 0, 0, 255]];\nexport const RVP6_HOMEYER_LEFTPAD = 30;\nexport const RVP6_LANG = [[229, 211, 247, 0], [228, 210, 247, 4], [225, 208, 246, 8], [223, 206, 246, 12], [220, 204, 246, 17], [219, 203, 246, 21], [218, 202, 246, 25], [215, 199, 245, 29], [213, 198, 245, 34], [210, 196, 245, 38], [209, 195, 245, 42], [208, 194, 245, 46], [205, 191, 244, 51], [203, 190, 244, 55], [200, 188, 244, 59], [199, 187, 244, 63], [198, 185, 243, 68], [195, 183, 243, 72], [193, 183, 243, 76], [189, 181, 243, 80], [188, 180, 243, 85], [186, 179, 243, 89], [183, 178, 242, 93], [181, 177, 242, 97], [177, 175, 242, 102], [176, 174, 242, 106], [174, 173, 242, 110], [171, 172, 241, 114], [169, 171, 241, 119], [165, 169, 241, 123], [164, 168, 241, 127], [162, 168, 241, 131], [159, 166, 241, 136], [157, 165, 241, 140], [154, 165, 240, 144], [153, 166, 240, 148], [152, 166, 240, 153], [149, 167, 240, 157], [148, 167, 240, 161], [146, 167, 240, 165], [144, 168, 240, 170], [143, 168, 240, 174], [141, 169, 239, 178], [140, 169, 239, 182], [137, 170, 239, 187], [136, 170, 239, 191], [135, 170, 239, 195], [132, 171, 239, 199], [131, 171, 239, 204], [128, 172, 238, 208], [127, 172, 238, 212], [126, 174, 238, 216], [123, 176, 238, 221], [122, 177, 238, 225], [120, 179, 238, 229], [118, 180, 238, 233], [117, 181, 238, 238], [115, 183, 238, 242], [113, 184, 238, 246], [111, 186, 238, 250], [109, 187, 238, 255], [108, 188, 238, 255], [106, 190, 237, 255], [104, 191, 237, 255], [102, 193, 237, 255], [101, 194, 237, 255], [99, 195, 237, 255], [97, 198, 237, 255], [95, 200, 237, 255], [93, 203, 237, 255], [92, 205, 237, 255], [90, 207, 237, 255], [88, 210, 237, 255], [86, 212, 237, 255], [84, 216, 237, 255], [83, 217, 237, 255], [81, 219, 237, 255], [79, 223, 237, 255], [77, 224, 237, 255], [75, 228, 237, 255], [73, 230, 237, 255], [72, 231, 237, 255], [70, 235, 237, 255], [69, 237, 236, 255], [84, 237, 219, 255], [91, 237, 210, 255], [98, 237, 202, 255], [113, 237, 184, 255], [120, 237, 176, 255], [134, 237, 159, 255], [142, 237, 150, 255], [149, 237, 141, 255], [164, 237, 124, 255], [171, 237, 116, 255], [185, 237, 98, 255], [193, 237, 90, 255], [200, 237, 81, 255], [214, 237, 64, 255], [222, 237, 55, 255], [236, 237, 38, 255], [237, 235, 37, 255], [236, 233, 36, 255], [236, 230, 34, 255], [235, 228, 33, 255], [235, 224, 31, 255], [234, 222, 30, 255], [234, 220, 29, 255], [233, 216, 27, 255], [233, 214, 26, 255], [232, 211, 24, 255], [232, 209, 23, 255], [231, 207, 22, 255], [231, 203, 20, 255], [230, 201, 19, 255], [230, 197, 17, 255], [229, 196, 16, 255], [229, 194, 15, 255], [227, 189, 14, 255], [226, 187, 14, 255], [224, 182, 14, 255], [223, 180, 14, 255], [221, 177, 13, 255], [219, 173, 13, 255], [218, 170, 13, 255], [216, 166, 12, 255], [215, 163, 12, 255], [214, 161, 12, 255], [211, 156, 12, 255], [210, 154, 11, 255], [208, 149, 11, 255], [207, 147, 11, 255], [206, 144, 11, 255], [204, 140, 10, 255], [202, 138, 10, 255], [200, 134, 10, 255], [199, 131, 10, 255], [198, 129, 9, 255], [195, 125, 9, 255], [194, 123, 9, 255], [192, 119, 9, 255], [191, 117, 8, 255], [190, 115, 8, 255], [187, 111, 8, 255], [186, 109, 8, 255], [184, 105, 7, 255], [183, 103, 7, 255], [182, 101, 7, 255], [179, 97, 7, 255], [178, 95, 7, 255], [176, 91, 6, 255], [175, 89, 6, 255], [173, 87, 6, 255], [171, 84, 6, 255], [170, 82, 6, 255], [167, 79, 5, 255], [166, 77, 5, 255], [165, 75, 5, 255], [163, 72, 5, 255], [162, 70, 5, 255], [159, 67, 4, 255], [158, 65, 4, 255], [157, 63, 4, 255], [154, 60, 4, 255], [153, 58, 4, 255], [151, 55, 4, 255], [150, 53, 3, 255], [148, 52, 3, 255], [146, 49, 3, 255], [145, 48, 3, 255], [142, 45, 3, 255], [141, 44, 3, 255], [140, 42, 3, 255], [137, 40, 2, 255], [136, 38, 2, 255], [134, 36, 2, 255], [133, 34, 2, 255], [131, 33, 2, 255], [129, 30, 2, 255], [128, 29, 2, 255], [125, 26, 1, 255], [124, 25, 1, 255], [123, 24, 1, 255], [120, 21, 1, 255]];\nexport const RVP6_LANG_LEFTPAD = 30;\n\nexport const LightningColors = [\n \"#ffffcc\",\n \"#fffec9\",\n \"#fffdc6\",\n \"#fffcc4\",\n \"#fffac1\",\n \"#fff9be\",\n \"#fff8bb\",\n \"#fff7b9\",\n \"#fff5b5\",\n \"#fff4b2\",\n \"#fff3af\",\n \"#fff2ac\",\n \"#fff1a9\",\n \"#fff0a7\",\n \"#ffefa4\",\n \"#ffeda0\",\n \"#ffec9d\",\n \"#ffea9b\",\n \"#ffe998\",\n \"#ffe895\",\n \"#ffe793\",\n \"#ffe590\",\n \"#ffe48d\",\n \"#fee289\",\n \"#fee187\",\n \"#fee084\",\n \"#fede82\",\n \"#fedd7f\",\n \"#fedc7c\",\n \"#fedb7a\",\n \"#fed976\",\n \"#fed673\",\n \"#fed470\",\n \"#fed16e\",\n \"#fecf6b\",\n \"#fecc68\",\n \"#feca66\",\n \"#fec863\",\n \"#fec45f\",\n \"#fec15d\",\n \"#febf5a\",\n \"#febd57\",\n \"#feba55\",\n \"#feb852\",\n \"#feb54f\",\n \"#feb24c\",\n \"#feaf4b\",\n \"#fead4a\",\n \"#feab49\",\n \"#fea848\",\n \"#fea647\",\n \"#fea446\",\n \"#fea145\",\n \"#fd9e43\",\n \"#fd9c42\",\n \"#fd9941\",\n \"#fd9740\",\n \"#fd953f\",\n \"#fd923e\",\n \"#fd903d\",\n \"#fd8c3c\",\n \"#fd883b\",\n \"#fd8439\",\n \"#fd8038\",\n \"#fd7c37\",\n \"#fd7836\",\n \"#fd7435\",\n \"#fd7034\",\n \"#fc6a32\",\n \"#fc6631\",\n \"#fc6330\",\n \"#fc5f2f\",\n \"#fc5b2e\",\n \"#fc572c\",\n \"#fc532b\",\n \"#fc4d2a\",\n \"#fa4a29\",\n \"#f84628\",\n \"#f74327\",\n \"#f54026\",\n \"#f43d25\",\n \"#f23924\",\n \"#f13624\",\n \"#ee3122\",\n \"#ed2e21\",\n \"#eb2b21\",\n \"#e92720\",\n \"#e8241f\",\n \"#e6211e\",\n \"#e51e1d\",\n \"#e2191c\",\n \"#e0181d\",\n \"#dd161d\",\n \"#db141e\",\n \"#d9131f\",\n \"#d6111f\",\n \"#d41020\",\n \"#d10e21\",\n \"#ce0c22\",\n \"#cb0a22\",\n \"#c90823\",\n \"#c70723\",\n \"#c40524\",\n \"#c20325\",\n \"#c00225\",\n \"#bb0026\",\n \"#b70026\",\n \"#b40026\",\n \"#b00026\",\n \"#ac0026\",\n \"#a80026\",\n \"#a40026\",\n \"#a10026\",\n \"#9b0026\",\n \"#970026\",\n \"#930026\",\n \"#8f0026\",\n \"#8b0026\",\n \"#880026\",\n \"#840026\",\n \"#7e0025\",\n];\n\nexport const precipTypeNames = {\n hail: \"ff0000\",\n graupel: \"ff9900\",\n sleet: \"00ff00\",\n snow: \"ffff00\",\n rain: \"0000ff\",\n drizzle: \"87CFEB\",\n \"n/a\": \"787878\",\n};\n","import {\n DIFF_HOMEYER,\n DIFF_LANG,\n DIFF_NWS,\n DIFF_PYART_STEPSEQ,\n DIFF_VIRIDIS, RVP6_CLASSIC, RVP6_CLASSIC_LEFTPAD,\n RVP6_HOMEYER,\n RVP6_HOMEYER_LEFTPAD,\n RVP6_LANG,\n RVP6_LANG_LEFTPAD,\n RVP6_NWS,\n RVP6_NWS_LEFTPAD,\n RVP6_PYART_STEPSEQ,\n RVP6_PYART_STEPSEQ_LEFTPAD,\n RVP6_VIRIDIS,\n RVP6_VIRIDIS_LEFTPAD,\n} from \"../colormaps\";\n\nfunction rvp6ToPalette(cmap, offset) {\n return cmap.map((color, index) => {\n const [r, g, b, a] = color;\n return `${offset + index}:${r.toString(16).padStart(2, \"0\")}${g.toString(16).padStart(2, \"0\")}${b.toString(16).padStart(2, \"0\")}${a.toString(16).padStart(2, \"0\")}`;\n }).join(\";\");\n}\n\nexport function cmapFromString(cmapStr) {\n switch (cmapStr) {\n case \"nws\":\n return [RVP6_NWS, RVP6_NWS_LEFTPAD, DIFF_NWS];\n case \"viridis\":\n return [RVP6_VIRIDIS, RVP6_VIRIDIS_LEFTPAD, DIFF_VIRIDIS];\n case \"pyart_stepseq\":\n return [RVP6_PYART_STEPSEQ, RVP6_PYART_STEPSEQ_LEFTPAD, DIFF_PYART_STEPSEQ];\n case \"homeyer\":\n return [RVP6_HOMEYER, RVP6_HOMEYER_LEFTPAD, DIFF_HOMEYER];\n case \"lang\":\n return [RVP6_LANG, RVP6_LANG_LEFTPAD, DIFF_LANG];\n case \"classic\":\n // fallthrough\n default:\n return [RVP6_CLASSIC, RVP6_CLASSIC_LEFTPAD, []];\n }\n}\n\nexport function cmapDiffFromString(cmapString) {\n return cmapFromString(cmapString)[2];\n}\n\nexport function getPalette(cmapStr) {\n return rvp6ToPalette(...cmapFromString(cmapStr));\n}\n\nexport function dbz2color(dbz, cmapStr) {\n const index = Math.round((dbz + 32.5) * 2);\n const [cmap, lpad] = cmapFromString(cmapStr);\n if (index < lpad) return [0, 0, 0, 0];\n let source = index - lpad;\n if (source > cmap.length - 1) {\n source = cmap.length - 1;\n }\n return cmap[source];\n}\n","\n\n\n\n\n{#key unique}\n (DWD 1km)\"/>\n{/key}\n","\n\n\n\n
\n\n
\n \n
\n {$_(\"latest\")}\n
\n
\n","\n\n\n\n\n\n
\n Now: { new Date(gridConfig.now * 1000.0) }
\n WX: { new Date(latest * 1000.0) }\n
\n
\n","\n\n\n\n\n\n{#if canvasVisible && $sharedActiveCap === \"radar\"}\n
\n \n
\n{/if}\n{#if $bottomToolbarMode === \"player\"}\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 \n
\n \n
\n
\n
\n
\n
\n
\n
\n \n Lightning Strikes\n 🌀 Mesocyclones\n \n
\n
\n
\n
\n \n
\n ️\n
\n
\n
\n
\n {#if false}\n
\n \n DWD\n Rainymotion\n \n
\n {/if}\n
\n
\n \n
\n
\n \n
\n
\n {#if !dd.isApp()}\n
\n \n
\n
\n {#if process.env.NODE_ENV === \"development\"}\n \n {:else}\n \n {/if}\n
\n {/if}\n
\n
\n
\n
\n{:else}\n {#if $sharedActiveCap === \"radar\"}\n {#if showOpenControls}\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n {/if}\n {/if}\n{/if}\n","\n\n\n\n
\n
{@html title}
\n
\n
\n
\n {#each vs as value}\n
\n {@html value }\n
\n {/each}\n
\n
\n
\n
\n","\n\n\n\n{#key unique}\n {\n const intValue = parseInt(value, 10);\n if (legendItems.includes(intValue)) {\n if (isApp) {\n return `${value} min`;\n }\n return `${value} Minute${intValue === 1 ? \"\" : \"s\"}`;\n }\n return \"\";\n }}\n palette=\"{LightningColors.map((value, index) => `${index}:${value.slice(1)}`).join(';')}\"\n prettyName=\"\" title=\"Blitzortung.org
Live\"/>\n{/key}\n","\n\n\n\nAerosols 354nm\"/>\n","export const tileBaseUrl = \"https://tiles-a.meteocool.com\";\n\n// eslint-disable-next-line import/no-mutable-exports\nexport let apiBaseUrl = \"https://api.ng.meteocool.com/api\";\n// eslint-disable-next-line import/no-mutable-exports\nexport let websocketBaseUrl = \"https://api.ng.meteocool.com\";\nexport const dataUrl = \"https://data.meteocool.com\";\n// eslint-disable-next-line import/no-mutable-exports\nexport let v3APIBaseUrl = \"https://api.meteocool.com/v3\";\n\nif (BACKEND === \"local\") {\n apiBaseUrl = \"http://localhost:5001/api\";\n websocketBaseUrl = \"http://localhost:5001\";\n v3APIBaseUrl = \"http://localhost:5003/v3\";\n}\n","\n\n\n\n\n
\n {#if activeCap === \"radar\" && $bottomToolbarMode === \"collapsed\"}\n
\n \n
\n
\n \n
\n {/if}\n {#if activeCap === \"precipTypes\"}\n
\n Types\" />\n
\n {/if}\n {#if activeCap === \"aerosols\"}\n
\n \n
\n {/if}\n {#if activeCap === \"lightning\" && $bottomToolbarMode === \"collapsed\"}\n
\n \n
\n {/if}\n
\n {#if activeCap !== \"aerosols\"}\n
\n {#if (activeCap === \"radar\" || activeCap === \"precipTypes\") && $bottomToolbarMode === \"collapsed\" }\n \n {/if}\n {#if activeCap === \"satellite\"}\n
\n Sentinel-2\n
\n
\n Clouds\n
\n
\n Labels & Borders\n
\n {/if}\n {#if activeCap === \"lightning\"}\n {#if noLightning}\n
\n {#if unavailable}\n Statistics currently unavailable.\n {:else}\n No recent lightning in this area. ⚡️\n {/if}\n
\n {/if}\n
\n \n
\n {/if}\n
\n {/if}\n {#if !dd.isApp()}\n
\n \n
\n {/if}\n
\n\n","import { transformExtent } from \"ol/proj\";\nimport { fromExtent } from \"ol/geom/Polygon\";\nimport { LinearRing } from \"ol/geom\";\n\nexport const centralEuropeExtent = transformExtent(\n [\n -19.98902381657924,\n 32.750667412687676,\n 29.840756983321853,\n 62.440050453973896,\n ],\n \"EPSG:4326\",\n \"EPSG:3857\",\n); // XXX change/sync to backend\n\nexport const dwdExtentInv = fromExtent(\n transformExtent([-180, -90, 180, 90], \"EPSG:4326\", \"EPSG:3857\"),\n);\ndwdExtentInv.appendLinearRing(\n new LinearRing([\n [1034618.938519631396048, 5915667.128509047441185],\n [1030687.188906410243362, 5912215.195942271500826],\n [1013147.529199799522758, 5899572.989446562714875],\n [994504.746862779487856, 5888691.544213188812137],\n [974930.541431539459154, 5879662.355275601148605],\n [954603.25781180197373, 5872560.834361313842237],\n [933706.542002218426205, 5867445.971471977420151],\n [912428.006043823435903, 5864360.079555860720575],\n [890957.901027443469502, 5863328.61641129758209],\n [869487.796011063153856, 5864360.079555860720575],\n [848209.260052668163553, 5867445.971471977420151],\n [827312.544243085198104, 5872560.834361313842237],\n [806985.260623347130604, 5879662.355275601148605],\n [787411.055192107218318, 5888691.544213188812137],\n [768768.272855087067001, 5899572.989446562714875],\n [751228.61314847599715, 5912215.195942271500826],\n [734955.776891155401245, 5926511.014207645319402],\n [720104.105594884604216, 5942338.168196578510106],\n [706817.217490458046086, 5959559.891965288668871],\n [695226.646405057399534, 5978025.685513207688928],\n [685450.492430707905442, 5997572.200586714781821],\n [677592.096314958529547, 6018024.267069960013032],\n [671738.752716278308071, 6039196.069835996255279],\n [667960.480801692116074, 6060892.484486170113087],\n [666308.873992781038396, 6082910.578176631592214],\n [666816.053823290276341, 6105041.278650861233473],\n [669493.755658842390403, 6127071.210630105808377],\n [674332.57622026768513, 6148784.69386934582144],\n [681301.414202155196108, 6169965.891530902124941],\n [690347.135539236594923, 6190401.091195970773697],\n [701394.493812140310183, 6209881.094034541398287],\n [714346.333706682082266, 6228203.680671948008239],\n [718830.624748334288597, 6233364.324402661062777],\n [706550.010630112257786, 6233952.942671443335712],\n [684342.147880969801918, 6237166.002830564975739],\n [662530.292433175025508, 6242492.039749210700393],\n [641309.135831821127795, 6249887.570016100071371],\n [620869.382232033880427, 6259291.94366452191025],\n [601396.398882367415354, 6270627.579310413450003],\n [583068.851256607915275, 6283800.278230023570359],\n [566057.321687204996124, 6298699.625929260626435],\n [550522.912197898724116, 6315199.491326851770282],\n [536615.834481606259942, 6333158.634996920824051],\n [524473.992622156394646, 6352421.438911398872733],\n [514221.567199763376266, 6372818.770689545199275],\n [505967.612812569481321, 6394168.99539197050035],\n [499804.684724321530666, 6416279.147271575406194],\n [495807.514210545166861, 6438946.272495603188872],\n [494031.756082412961405, 6461958.951570763252676],\n [494512.835636734729633, 6485099.006947807967663],\n [497264.925688778166659, 6508143.396996513009071],\n [502280.08713220176287, 6530866.292220837436616],\n [509527.608351670438424, 6553041.32328593172133],\n [518953.579493312106933, 6574443.983290696516633],\n [530480.7367929299362, 6594854.158967427909374],\n [544008.609628053498454, 6614058.757441716268659],\n [547312.018261955236085, 6617871.461642012931406],\n [546434.596501753898337, 6620135.178081293590367],\n [540072.489714985596947, 6642844.942062200047076],\n [535934.005260594072752, 6666132.609746533446014],\n [534077.440351404598914, 6689781.360593722201884],\n [534540.384285894921049, 6713567.211690621450543],\n [537338.624328397214413, 6737260.947090916335583],\n [542465.215830458095297, 6760630.242858301848173],\n [549889.754552908474579, 6783441.978082964196801],\n [559557.890128419152461, 6805464.714479131624103],\n [571391.118995031225495, 6826471.318791628815234],\n [585286.89265352638904, 6846241.693479917943478],\n [601119.072550216689706, 6864565.572445821948349],\n [614869.588413286604919, 6877579.601438967511058],\n [613923.090057758265175, 6878128.447226099669933],\n [594165.470159664750099, 6892259.99574982188642],\n [575812.168583642342128, 6908250.643883948214352],\n [559036.512549231876619, 6925967.4579749815166],\n [544000.672464070725255, 6945261.284342084079981],\n [530854.145706296549179, 6965967.425407014787197],\n [519732.221943148993887, 6987906.457717430777848],\n [510754.441942314791959, 7010885.209391250275075],\n [504023.066355445422232, 7034697.914189579896629],\n [499621.575793363095727, 7059127.558198044076562],\n [497613.228515657829121, 7083947.432804184965789],\n [498039.707013396080583, 7108922.904164253734052],\n [500919.889404163870495, 7133813.404554545879364],\n [506248.785561161697842, 7158374.644855793565512],\n [513996.680896528763697, 7182361.03995777387172],\n [524108.532322692859452, 7205528.330229302868247],\n [536503.660736227058806, 7227636.372625338844955],\n [551075.782056280062534, 7248452.064873445779085],\n [567693.414133234182373, 7267752.355994206853211],\n [586200.689574911841191, 7285327.286770080216229],\n [606418.594733383739367, 7300982.995364836417139],\n [628146.642967297928408, 7314544.616819019429386],\n [651164.976268187514506, 7325859.001279508695006],\n [675236.874048555735499, 7334797.175131677649915],\n [700111.632150249206461, 7341256.472088329493999],\n [725527.759885550942272, 7345162.267909379675984],\n [751216.429164320928976, 7346469.262665678746998],\n [776905.098443091032095, 7345162.267909379675984],\n [802321.226178392535076, 7341256.472088329493999],\n [827195.984280085889623, 7334797.175131677649915],\n [851267.882060454576276, 7325859.001279508695006],\n [874286.21536134427879, 7314544.616819025017321],\n [895404.006050553871319, 7301363.568234083242714],\n [901380.883528896374628, 7312042.905819948762655],\n [916101.773367664893158, 7333089.449946608394384],\n [932892.322736997972243, 7352605.45204989053309],\n [951595.137704708264209, 7370378.211295932531357],\n [972029.321302869240753, 7386211.275037438608706],\n [993992.161474133143201, 7399927.393066463992],\n [1017261.257339915959165, 7411371.289253149181604],\n [1041597.062490764074028, 7420412.172644982114434],\n [1066745.807760969735682, 7426945.91298345848918],\n [1092442.750200615962967, 7430896.812344959937036],\n [1118415.680731448577717, 7432218.915115583688021],\n [1144388.611262281192467, 7430896.812344959937036],\n [1170085.553701927652583, 7426945.91298345848918],\n [1195234.298972133081406, 7420412.172644982114434],\n [1196066.34187742928043, 7420102.890214405022562],\n [1217338.72891775239259, 7433391.275656569749117],\n [1240707.217845698352903, 7444886.53832324128598],\n [1265147.634086077800021, 7453968.159941430203617],\n [1290404.992093054577708, 7460531.428221510723233],\n [1316213.257936361711472, 7464500.21832468919456],\n [1342298.880266592139378, 7465828.313904590904713],\n [1368384.502596822800115, 7464500.21832468919456],\n [1394192.768440129701048, 7460531.428221510723233],\n [1419450.126447107410058, 7453968.159941430203617],\n [1443890.542687485925853, 7444886.53832324128598],\n [1467259.031615432351828, 7433391.275656569749117],\n [1489314.925710159121081, 7419613.885299709625542],\n [1509834.815652309684083, 7403710.488430583849549],\n [1528615.107311347266659, 7385859.283012529835105],\n [1545474.157770077232271, 7366257.750858470797539],\n [1560253.969050650019199, 7345119.681556571274996],\n [1572821.434140769764781, 7322672.091158382594585],\n [1583069.144494694191962, 7299152.109350265003741],\n [1590915.780740413814783, 7274803.901939982548356],\n [1596306.118423829786479, 7249875.686605322174728],\n [1599210.68805051012896, 7224616.889719106256962],\n [1599625.133439975325018, 7199275.481398406438529],\n [1599625.133439975325018, 7199275.481398401781917],\n [1597569.314652259927243, 7174095.515359135344625],\n [1595968.776583794038743, 7165239.524620308540761],\n [1616995.876144452486187, 7159785.174455946311355],\n [1640541.542319286148995, 7151051.536561622284353],\n [1663059.774268160341308, 7139995.088071800768375],\n [1684319.475638647563756, 7126741.200518824160099],\n [1704105.853911628481001, 7111438.807595373131335],\n [1722222.860614689532667, 7094258.042285269126296],\n [1738495.243691925657913, 7075387.62378201354295],\n [1752770.19105189316906, 7055032.065936120226979],\n [1764918.558709936682135, 7033408.778513951227069],\n [1774835.69019908644259, 7010745.129106691107154],\n [1782441.845447808271274, 6987275.52761649992317],\n [1787682.266706310678273, 6963238.587485665455461],\n [1790526.916135046863928, 6938874.408876425586641],\n [1790969.924320558086038, 6914422.019488244317472],\n [1790969.924320558086038, 6914422.019488244317472],\n [1789028.791378911118954, 6890116.999181521125138],\n [1784743.382686693686992, 6866189.305534233339131],\n [1778174.759961272357032, 6842861.309249337762594],\n [1769403.885752265807241, 6820346.041199623607099],\n [1758530.235767284641042, 6798845.646979603916407],\n [1745670.349179211538285, 6778550.040172884240746],\n [1738911.35020713834092, 6769856.127115071751177],\n [1747392.621542889392003, 6754814.079461007378995],\n [1757006.790042384993285, 6732929.802809027954936],\n [1764391.912162004038692, 6710260.221148143522441],\n [1769493.731977954041213, 6687035.224133369512856],\n [1772281.772632200038061, 6663486.425016510300338],\n [1772748.863544642459601, 6639844.69828749075532],\n [1772748.863544642226771, 6639844.69828749075532],\n [1770910.427869613282382, 6616337.882662231102586],\n [1766803.568475664127618, 6593188.666855124756694],\n [1760485.989816757850349, 6570612.668030012398958],\n [1752034.790895995451137, 6548816.706206171773374],\n [1741545.161420152522624, 6527997.272343869321048],\n [1729129.009511503856629, 6508339.183399415574968],\n [1714913.545259168371558, 6490014.414308406412601],\n [1699039.840191427618265, 6473181.094559726305306],\n [1681661.378623238764703, 6457982.655660158954561],\n [1662942.612924028653651, 6444547.115238323807716],\n [1643057.531161746010184, 6432986.483667270280421],\n [1622188.242375179892406, 6423396.279771087691188],\n [1607685.208630376961082, 6418347.241939059458673],\n [1609639.036302623804659, 6409524.508620967157185],\n [1612371.575711237965152, 6386750.401097802445292],\n [1612859.871034595416859, 6363879.216726845130324],\n [1612859.871034595416859, 6363879.216726845130324],\n [1611117.435732414480299, 6341131.424123068340123],\n [1607178.805848014773801, 6318722.779104541055858],\n [1601098.546289034420624, 6296862.445784752257168],\n [1592950.126475643599406, 6275751.298935756087303],\n [1582824.695239518769085, 6255580.4069929048419],\n [1570829.781617949483916, 6236529.690868929959834],\n [1558185.441126402467489, 6220184.028992302715778],\n [1565071.132847265340388, 6199238.066600726917386],\n [1569932.592904944904149, 6177395.873023238964379],\n [1572619.933281696867198, 6155236.557746439240873],\n [1573123.931532915681601, 6132977.095658869482577],\n [1573123.931532915681601, 6132977.095658864825964],\n [1571456.62830265564844, 6110832.096231625415385],\n [1567650.561408694600686, 6089011.795369282364845],\n [1561757.837863700231537, 6067720.211519875563681],\n [1553849.074218478519469, 6047153.471548604778945],\n [1544012.233348981710151, 6027498.3069735057652],\n [1532351.382944447221234, 6008930.717152826488018],\n [1518985.397720499429852, 5991614.792909303680062],\n [1504046.623979607131332, 5975701.691839309409261],\n [1487679.521739452844486, 5961328.75511318910867],\n [1470039.296378878178075, 5948618.754837102256715],\n [1451290.528708188794553, 5937679.26091468334198],\n [1431605.809622353175655, 5928602.116717250086367],\n [1411164.383082381915301, 5921463.013646592386067],\n [1390150.799112427281216, 5916321.155766343697906],\n [1368753.576803245814517, 5913219.007010377012193],\n [1347163.875972731970251, 5912182.114984688349068],\n [1325574.175142217660323, 5913219.007010377012193],\n [1304176.952833036193624, 5916321.155766343697906],\n [1283163.368863081792369, 5921463.013646592386067],\n [1262721.942323110532016, 5928602.116717250086367],\n [1262529.655583682935685, 5928690.739583590999246],\n [1260170.715606413083151, 5926991.885866511613131],\n [1241468.821321735857055, 5916078.062433745712042],\n [1221832.977773934602737, 5907022.125033508986235],\n [1201442.031395633006468, 5899899.641472334973514],\n [1180480.132498363265768, 5894769.721217359416187],\n [1159135.399133186787367, 5891674.76148178242147],\n [1137598.58934341929853, 5890640.270186190493405],\n [1116061.779553651344031, 5891674.76148178242147],\n [1094717.046188475098461, 5894769.721217359416187],\n [1073755.14729120512493, 5899899.641472334973514],\n [1053364.200912904459983, 5907022.125033513642848],\n [1034618.938519631396048, 5915667.128509047441185],\n ]),\n);\n","import { openDB } from \"idb\";\n\nexport const indexDbPromise = openDB(\"tiles\", 1, {\n upgrade(db) {\n db.createObjectStore(\"tiles\");\n },\n});\n\nexport async function fetchAndCache(url, successCb, errorCb, force) {\n if (!force) {\n const cachedBlob = await (await indexDbPromise).get(\"tiles\", url);\n if (cachedBlob) {\n console.log(`Already cached ${url}`);\n return false;\n }\n }\n fetch(url)\n .then((response) => {\n if (response.ok) {\n response.blob()\n .then(async (blob) => {\n await (await indexDbPromise).put(\"tiles\", blob, url);\n if (successCb) successCb(blob);\n console.log(`downloaded & cached ${url}`);\n });\n }\n })\n .catch((_) => {\n console.log(`error precaching ${url}`);\n if (errorCb) errorCb();\n });\n return true;\n}\n\nexport const cachingTileLoadFunction = async (tile, src) => {\n const image = tile.getImage();\n\n const cachedBlob = await (await indexDbPromise).get(\"tiles\", src);\n let objUrl;\n if (cachedBlob) {\n console.log(`${src} already cached.`);\n objUrl = URL.createObjectURL(cachedBlob);\n image.onload = function () {\n URL.revokeObjectURL(objUrl);\n };\n image.src = objUrl;\n } else {\n console.log(`${src} not found in cache`);\n await fetchAndCache(src, (blob) => {\n objUrl = URL.createObjectURL(blob);\n image.onload = function () {\n URL.revokeObjectURL(objUrl);\n };\n image.src = objUrl;\n }, null, true);\n }\n};\n","/* eslint-disable no-param-reassign */\nimport Feature from \"ol/Feature\";\nimport Fill from \"ol/style/Fill\";\nimport Style from \"ol/style/Style\";\nimport TileLayer from \"ol/layer/WebGLTile\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport VectorSource from \"ol/source/Vector\";\nimport { DEVICE_PIXEL_RATIO } from \"ol/has\";\nimport { transformExtent } from \"ol/proj\";\nimport XYZ from \"ol/source/XYZ\";\nimport { blitzortungAttribution, dwdAttribution } from \"./attributions\";\nimport { dwdExtentInv } from \"./extents\";\nimport { tileBaseUrl } from \"../urls\";\nimport { NOWCAST_OPACITY } from \"./ui\";\nimport { cmapFromString } from \"../lib/cmap_utils\";\nimport { RVP6_CLASSIC } from \"../colormaps\";\nimport { cachingTileLoadFunction as tileLoadFunction } from \"../lib/TileCache\";\n\nlet cmap = RVP6_CLASSIC;\n\nconst commonDWDParameters = {\n attributions: [dwdAttribution, blitzortungAttribution],\n crossOrigin: \"anonymous\",\n minZoom: 3,\n maxZoom: 8,\n tilePixelRatio: DEVICE_PIXEL_RATIO > 1 ? 2 : 1, // Retina support\n tileSize: 512,\n transition: 0,\n imageSmoothing: false,\n tileLoadFunction,\n cacheSize: 999999,\n};\n\nexport const dwdSource = (tileId, bucket = \"meteoradar\") => {\n const sourceUrl = `${tileBaseUrl}/${bucket}/${tileId}/{z}/{x}/{-y}.png`;\n const reflectivitySource = new XYZ({\n ...commonDWDParameters,\n url: sourceUrl,\n });\n reflectivitySource.set(\"tile_id\", tileId);\n return reflectivitySource;\n};\n\nexport const dwdLayerStatic = (tileId, bucket) => {\n const reflectivitySource = dwdSource(tileId, bucket);\n const reflectivityLayer = new TileLayer({\n source: reflectivitySource,\n zIndex: 80,\n opacity: NOWCAST_OPACITY,\n cacheSize: 256,\n extent: transformExtent([2.8125, 45, 19.6875, 56.25], \"EPSG:4326\", \"EPSG:3857\"),\n });\n\n reflectivityLayer.set(\"tile_id\", tileId);\n return [reflectivityLayer, reflectivitySource, \"\"];\n};\n\nexport const DWDLayerFactoryGL = (tileId, bucket = \"meteoradar\") => {\n const sourceUrl = `${tileBaseUrl}/${bucket}/${tileId}/{z}/{x}/{-y}.png`;\n const reflectivitySource = new XYZ({\n url: sourceUrl,\n ...commonDWDParameters,\n tilePixelRatio: 1,\n });\n\n const toColorId = [\n \"+\",\n [\"*\", 255 * 256 * 256, [\"band\", 1]],\n [\"+\", [\"*\", 255 * 256, [\"band\", 2]], [\"*\", 255, [\"band\", 3]]],\n ];\n\n const indexes = RVP6_CLASSIC.map((rgba) => {\n const [r, g, b, _] = rgba;\n return (r * 256 * 256) + (g * 256) + b;\n });\n\n const cmapAlphaNorm = cmap.map((color) => [color[0], color[1], color[2], color[3] / 255]);\n const matches = indexes.map((element, index) => [element, cmapAlphaNorm[index]]).flat();\n\n const reflectivityLayer = new TileLayer({\n zIndex: 3,\n cacheSize: 256,\n opacity: NOWCAST_OPACITY,\n source: reflectivitySource,\n extent: transformExtent([2.8125, 45, 19.6875, 56.25], \"EPSG:4326\", \"EPSG:3857\"),\n style: {\n color: [\n \"match\",\n toColorId,\n ...matches,\n [255, 0, 0, 0],\n ],\n },\n });\n reflectivityLayer.set(\"tileId\", tileId);\n return [reflectivityLayer, reflectivitySource, sourceUrl];\n};\n\nexport function setDwdCmap(colorMapString) {\n [cmap] = cmapFromString(colorMapString);\n}\n\nexport const radolanOverlay = () => new VectorLayer({\n zIndex: 1000,\n renderBuffer: 500,\n source: new VectorSource({\n features: [\n new Feature({\n geometry: dwdExtentInv,\n name: \"DarkOverlay\",\n }),\n ],\n }),\n style: new Style({\n fill: new Fill({\n color: \"rgba(0, 0, 0, 0.1)\",\n }),\n }),\n});\n\nexport const dwdPrecipTypes = (tileId, bucket = \"meteoradar\") => {\n const sourceUrl = `${tileBaseUrl}/${bucket}/${tileId}/{z}/{x}/{-y}.png`;\n const reflectivitySource = new XYZ({\n url: sourceUrl,\n attributions: [dwdAttribution],\n crossOrigin: \"anonymous\",\n minZoom: 3,\n maxZoom: 8,\n transition: 300,\n tilePixelRatio: DEVICE_PIXEL_RATIO > 1 ? 2 : 1, // Retina support\n tileSize: 512,\n cacheSize: 999999,\n imageSmoothing: false,\n });\n const reflectivityLayer = new TileLayer({\n source: reflectivitySource,\n zIndex: 3,\n opacity: NOWCAST_OPACITY,\n cacheSize: 256,\n });\n return reflectivityLayer;\n};\n","// eslint-disable-next-line import/prefer-default-export\nexport function reportError(\n message,\n type = \"warning\",\n icon = \"exclamation-triangle\",\n) {\n // const alert = Object.assign(document.createElement(\"sl-alert\"), {\n // type,\n // closable: true,\n // innerHTML: `\n // \n // Connection Lost. Please reload the page or contact support@meteocool.com if the problem persists.\n // `,\n // });\n // document.body.append(alert);\n console.log(message);\n // return alert.toast();\n}\n\nexport function reportToast(message, type = \"primary\", icon = \"info-circle\") {\n const alert = Object.assign(document.createElement(\"sl-alert\"), {\n type,\n closable: true,\n duration: 15000,\n innerHTML: `${message}`,\n });\n document.body.append(alert);\n return alert.toast();\n}\n","import { Observable } from \"../lib/util\";\nimport { sharedCmap } from \"../stores\";\n/**\n * A Capability implements map-related functionality (controller) on an OpenLayers map (view).\n * It has a 1-to-1 relationship to an @OL.Map Object, which must be valid during the entire lifetime\n * of the Capability.\n *\n */\nexport default class Capability extends Observable {\n constructor(map, name, targetCb, additionalLayers) {\n super();\n this.map = map;\n this.targetCb = targetCb;\n this.cmap = null;\n this.name = name;\n additionalLayers.forEach((l) => map.addLayer(l));\n }\n setTarget(target) {\n if (!this.map)\n return;\n this.map.setTarget(target);\n if (this.targetCb && target)\n this.targetCb(target);\n if (this.cmap)\n sharedCmap.set(this.cmap);\n }\n setCmap(cmap) {\n this.cmap = cmap;\n sharedCmap.set(cmap);\n }\n getMap() {\n return this.map;\n }\n getName() {\n return this.name;\n }\n willLoseFocus() {\n super.notify(\"loseFocus\", null);\n }\n}\n","export class Observable {\n constructor() {\n this.observers = [];\n }\n\n addObserver(cb) {\n this.observers.push(cb);\n }\n\n notify(subject, body) {\n // console.log(`emitting ${subject} event`);\n this.observers.forEach((h) => h(subject, body));\n }\n}\n","import VectorTileLayer from \"ol/layer/VectorTile\";\nimport VectorTileSource from \"ol/source/VectorTile\";\nimport MVT from \"ol/format/MVT\";\nimport { Fill, Style } from \"ol/style\";\nimport { get } from \"svelte/store\";\nimport snow from \"../../public/assets/snow.png\";\nimport { DWDLayerFactoryGL, dwdLayerStatic, setDwdCmap } from \"../layers/dwd.js\";\nimport { reportError } from \"../lib/Toast\";\nimport {\n capDescription,\n capLastUpdated,\n capTimeIndicator,\n lastFocus,\n latLon,\n live,\n radarColorScheme,\n showForecastPlaybutton, snowLayerVisible, zoomlevel,\n} from \"../stores\";\nimport Capability from \"./Capability.ts\";\nimport { tileBaseUrl, v3APIBaseUrl } from \"../urls\";\nimport { fetchAndCache } from \"../lib/TileCache\";\n\nconst DECREASE_SNOW_TRANSPARENCY_ZOOMLEVEL = 12;\n\nfunction setPattern(style) {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n const photo = new Image();\n photo.onload = function () {\n canvas.width = photo.width;\n canvas.height = photo.height;\n const pattern = context.createPattern(photo, \"repeat\");\n style.getFill().setColor(pattern);\n };\n photo.src = snow;\n}\n\nexport default class RadarCapability extends Capability {\n constructor(map, additionalLayers, options) {\n super(map, \"radar\", () => {\n capDescription.set(\"Radar Reflectivity\");\n showForecastPlaybutton.set(true);\n }, additionalLayers);\n\n this.layer = null;\n this.layers = {};\n this.nanobar = options.nanobar;\n this.socket_io = options.socket_io;\n this.latlon = null;\n this.sources = {};\n this.layerFactory = dwdLayerStatic;\n this.serverGrid = null;\n this.clientGrid = null;\n this.trackingMode = \"live\";\n this.serverTime = 0;\n this.snowOverlay = null;\n\n window.radar = this;\n\n const self = this;\n radarColorScheme.subscribe((colorScheme) => {\n setDwdCmap(colorScheme);\n\n const oldLayer = self.layer;\n if (super.getMap()) {\n super.getMap()\n .removeLayer(oldLayer);\n }\n self.layer = null;\n self.source = null;\n if (colorScheme === \"classic\" && this.layer !== dwdLayerStatic) {\n self.layerFactory = dwdLayerStatic;\n } else if (colorScheme !== \"classic\" && this.layer !== DWDLayerFactoryGL) {\n self.layerFactory = DWDLayerFactoryGL;\n }\n this.reloadAll();\n });\n\n latLon.subscribe((latlonUpdate) => {\n if (!latlonUpdate) return true;\n const [lat, lon] = latlonUpdate;\n if (self.latlon) {\n const [oldLat, oldLon] = this.latlon;\n if (Math.abs(oldLat - lat) > 0.001 || Math.abs(oldLon - lon) > 0.001) {\n self.latlon = latlonUpdate;\n this.reloadAll();\n }\n } else {\n self.latlon = latlonUpdate;\n this.reloadAll();\n }\n });\n\n lastFocus.subscribe(() => {\n if (this.layer) this.reloadAll();\n this.downloadSnowOverlay();\n });\n\n live.subscribe((value) => {\n if (this.snowOverlay) {\n this.snowOverlay.setVisible(value);\n }\n });\n\n snowLayerVisible.subscribe((value) => {\n if (value) {\n this.downloadSnowOverlay();\n } else {\n this.processSnowOverlay({ active: false });\n }\n });\n\n zoomlevel.subscribe((z) => {\n if (this.snowOverlay) {\n this.snowOverlay.setOpacity(z > DECREASE_SNOW_TRANSPARENCY_ZOOMLEVEL ? 0.5 : 1);\n }\n });\n\n if (this.socket_io) {\n this.socket_io.on(\"poke\", () => {\n console.log(\"received websocket poke, refreshing tiles + forecasts\");\n this.reloadAll();\n });\n this.socket_io.on(\"snow\", () => {\n console.log(\"received websocket snow overlay poke, refreshing\");\n this.downloadSnowOverlay();\n });\n this.downloadCurrentRadar();\n }\n\n this.gridconfig = {};\n\n // Initialize grid\n this.gridconfig = this.regenerateGridConfig();\n const restartHandler = () => {\n setTimeout(restartHandler, 60000);\n this.gridconfig = this.regenerateGridConfig();\n if (this.serverGrid) {\n this.updateClientGridFromServerGrid(this.serverGrid);\n this.notify(\"grid\", this.clientGridConfig);\n }\n };\n restartHandler();\n }\n\n updateClientGridFromServerGrid(server) {\n let latestRadar = new Date(0);\n const body = { ...this.gridconfig.grid };\n\n latestRadar = new Date(this.serverTime * 1000);\n\n Object.keys(server).forEach((step) => {\n const layerAttributes = server[step];\n if (!(step in body)) {\n console.log(\"step not in body\");\n return;\n }\n if (!layerAttributes) {\n body[step] = null;\n return;\n }\n\n const bucket = layerAttributes.source === \"observation\" ? \"meteoradar\" : \"meteonowcast\";\n const sourceUrl = `${tileBaseUrl}/${bucket}/${layerAttributes.tile_id}/{z}/{x}/{-y}.png`;\n\n body[step] = layerAttributes;\n body[step].bucket = bucket;\n body[step].url = sourceUrl;\n\n if (layerAttributes.source === \"observation\") {\n const processedDt = new Date(layerAttributes.processed_time * 1000);\n if (processedDt > latestRadar) latestRadar = processedDt;\n }\n });\n this.clientGrid = body;\n this.clientGridConfig = { ...this.gridconfig, grid: body };\n return latestRadar;\n }\n\n tilesetToURL(tileset) {\n return `${tileBaseUrl}/${tileset.bucket}/${tileset.tile_id}/`;\n }\n\n precacheAllForecasts() {\n Object.values(this.clientGridConfig.grid)\n .filter((e) => e.source === \"nowcast_phys\")\n .map((e) => ({ tile_id: e.tile_id, bucket: e.bucket }))\n .map((tileset) => this.tilesetToURL(tileset))\n .forEach((tileset) => this.precacheForecastLayer(tileset));\n }\n\n precacheForecastLayer(url) {\n if (!this.layer) {\n return;\n }\n\n const source = this.layer.getSource();\n const extent = this.map.getView().calculateExtent(window.lm.getCurrentMap().getSize());\n const zoom = Math.max(Math.min(Math.round(this.map.getView().getZoom()) - 1, source.getTileGrid().getMaxZoom()), source.getTileGrid().getMinZoom());\n\n source.getTileGrid().forEachTileCoord(extent, zoom, async (tileCoord) => {\n const [z, x, y] = tileCoord;\n await fetchAndCache(`${url}${z}/${x}/${(2 ** z) - y - 1}.png`);\n });\n }\n\n regenerateGridConfig() {\n let gridNow = new Date().getTime() / 1000;\n gridNow -= (gridNow % (60 * 5));\n const start = gridNow - (60 * 120);\n const end = gridNow + (60 * 120);\n const nSteps = ((end - start) / (60 * 5)) + 1;\n\n const newGridconfig = {\n grid: {},\n };\n\n [...Array(nSteps)\n .keys()].map((i) => new Date(start + i * (5 * 60)))\n .forEach((step) => {\n newGridconfig.grid[step.getTime()] = {\n dbz: 0,\n url: null,\n tile_id: \"\",\n source: \"\",\n };\n });\n newGridconfig.start = start;\n newGridconfig.end = end;\n newGridconfig.now = gridNow;\n newGridconfig.length = nSteps;\n return newGridconfig;\n }\n\n setUrl(url) {\n this.source.setUrl(url);\n }\n\n reloadAll() {\n console.log(\"reloadAll\");\n this.downloadCurrentRadar();\n }\n\n getLocalPostifx() {\n if (this.latlon) {\n return `?lat=${this.latlon[0]}&lon=${this.latlon[1]}`;\n }\n return \"\";\n }\n\n downloadCurrentRadar() {\n const URL = `${v3APIBaseUrl}/radar/timeseries${this.getLocalPostifx()}`;\n console.log(`Reloading ${URL}`);\n live.set(false);\n this.nanobar.start(URL);\n fetch(URL)\n .then((response) => response.json())\n .then((obj) => this.processRadar(obj))\n .then(() => this.nanobar.finish(URL))\n .catch((error) => {\n this.nanobar.finish(URL);\n live.set(false);\n reportError(error);\n });\n }\n\n downloadSnowOverlay() {\n if (!get(snowLayerVisible)) return;\n const URL = `${v3APIBaseUrl}/radar/snow`;\n console.log(`Reloading ${URL}`);\n this.nanobar.start(URL);\n fetch(URL)\n .then((response) => response.json())\n .then((obj) => this.processSnowOverlay(obj))\n .then(() => this.nanobar.finish(URL))\n .catch((error) => {\n this.nanobar.finish(URL);\n reportError(error);\n });\n }\n\n processSnowOverlay(obj) {\n const URL = `${tileBaseUrl}/meteoradar/${obj.tile_id}/{z}/{x}/{y}.pbf`;\n if (this.snowOverlay) {\n if (obj.active) {\n console.log(\"Updating snow overlay URL\");\n this.snowOverlay.getSource()\n .setUrl(URL);\n } else {\n console.log(\"No more snow :(\");\n this.map.removeLayer(this.snowOverlay);\n this.snowOverlay = null;\n }\n } else if (obj.active) {\n console.log(\"Initializing snow overlay\");\n const style = new Style({ fill: new Fill() });\n setPattern(style);\n this.snowOverlay = new VectorTileLayer({\n zIndex: 90,\n source: new VectorTileSource({\n format: new MVT(),\n url: URL,\n maxZoom: 5,\n minZoom: 0,\n }),\n style,\n opacity: get(zoomlevel) > DECREASE_SNOW_TRANSPARENCY_ZOOMLEVEL ? 0.5 : 1,\n });\n this.map.addLayer(this.snowOverlay);\n }\n }\n\n notifyObservers() {\n this.notify(\"grid\", this.clientGridConfig);\n }\n\n getMostRecentObservation() {\n let mostRecent = this.serverTime;\n for (const [step, frame] of Object.entries(this.clientGrid)) {\n if (frame) {\n if (frame.source === \"\") {\n break;\n }\n if (frame.source === \"observation\" && parseInt(step, 10) > mostRecent) {\n mostRecent = parseInt(step, 10);\n }\n }\n }\n return mostRecent;\n }\n\n processRadar(obj) {\n if (!obj) return;\n\n this.serverGrid = obj.frames;\n this.serverTime = obj.server_time;\n this.gridconfig = this.regenerateGridConfig();\n const latestRadar = this.updateClientGridFromServerGrid(this.serverGrid);\n\n if (!this.layer) {\n const last = this.clientGrid[this.getMostRecentObservation()];\n if (last) {\n [this.layer, this.source] = this.layerFactory(last.tile_id, last.bucket);\n super.getMap().addLayer(this.layer);\n }\n }\n switch (this.trackingMode) {\n case \"live\":\n this.resetToLatest();\n break;\n case \"manual\":\n // if (\"server_time\" in obj) {\n // const wantTimestep = this.gridconfig.now + Math.abs(obj.server_time - this.gridconfig.now);\n // console.log(`wanttimestep=${wantTimestep}`);\n // if (wantTimestep in this.gridconfig.grid) {\n // this.setSource(wantTimestep);\n // }\n // }\n break;\n default:\n break;\n }\n capLastUpdated.set(latestRadar);\n this.notify(\"grid\", this.clientGridConfig);\n }\n\n resetToLatest() {\n const mostRecent = this.getMostRecentObservation();\n if (mostRecent in this.clientGrid) {\n if (this.source) this.source.setUrl(this.clientGrid[mostRecent].url);\n capTimeIndicator.set(mostRecent);\n live.set(true);\n }\n }\n\n setSource(timestep) {\n if (this.trackingMode !== \"manual\") {\n this.trackingMode = \"manual\";\n live.set(false);\n }\n if (timestep === this.gridconfig.now) {\n this.trackingMode = \"live\";\n live.set(true);\n }\n capTimeIndicator.set(timestep);\n if (this.source && timestep in this.clientGrid && this.clientGrid[timestep] && this.clientGrid[timestep].url != null) {\n this.source.setUrl(this.clientGrid[timestep].url);\n }\n }\n\n // caches.delete(\"radar-tile-cache\");\n}\n","export default \"data:image/png;base64,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\"","import LayerGroup from \"ol/layer/Group\";\nimport TileLayer from 'ol/layer/WebGLTile';\nimport XYZ from \"ol/source/XYZ\";\nimport { copernicusAttribution, ororatechAttribution } from \"./attributions\";\n\nexport function sentinel2(cloudy, visible = true) {\n const s2 = new TileLayer({\n source: new XYZ({\n url: `https://tiles2.ororatech.com/worldgrid2/s2_msi_worldgrid_tci${cloudy ? \"\" : \"_cloud_masked\"}/{z}/{x}/{-y}.png`,\n minZoom: 1,\n maxZoom: 13,\n attributions: [copernicusAttribution, ororatechAttribution],\n crossOrigin: null,\n }),\n zIndex: 6,\n cacheSize: 256,\n });\n s2.set(\"cloudy\", cloudy);\n s2.setVisible(visible);\n return s2;\n}\nexport function sentinel3() {\n return new TileLayer({\n source: new XYZ({\n url: \"https://tiles2.ororatech.com/worldgrid2/s3_olci_worldgrid/{z}/{x}/{-y}.png\",\n minZoom: 1,\n maxZoom: 8,\n attributions: [copernicusAttribution, ororatechAttribution],\n crossOrigin: null,\n }),\n cacheSize: 256,\n zIndex: 5,\n });\n}\nexport function s5pAerosolIndex354() {\n return new TileLayer({\n source: new XYZ({\n url: \"https://tiles2.ororatech.com/worldgrid2/s5p_ai354/{z}/{x}/{-y}.png\",\n minZoom: 1,\n maxZoom: 5,\n attributions: [copernicusAttribution, ororatechAttribution],\n crossOrigin: null,\n }),\n cacheSize: 256,\n zIndex: 5,\n });\n}\n\nexport function satelliteCombo() {\n const lg = new LayerGroup({\n layers: [\n sentinel3(true),\n sentinel2(false),\n ],\n });\n lg.set(\"base\", true);\n return lg;\n}\n","// eslint-disable-next-line import/prefer-default-export\nimport { get } from \"svelte/store\";\nimport { sentinel2, sentinel3 } from \"../layers/satellite\";\nimport {\n capDescription,\n satelliteLayer,\n satelliteLayerCloudy, satelliteLayerLabels,\n showForecastPlaybutton,\n} from '../stores';\nimport Capability from \"./Capability.ts\";\n\nconst SATELLITE_DESCRIPTION_LONG = `\n💡 Sentinel-2 A and B are two ESA satellites 🛰 orbiting\nearth at 786km. With their multi-spectral cameras, together\nthey image almost every place on earth 🌍 once every 5 days.\nTheir ground-resolution is 10 meters per pixel, which might\nseem low. But consider that this data is freely available\nwithin a few hours after recording, continuously for all\nof Earth. 🚀`;\n\nexport default class SatelliteCapability extends Capability {\n constructor(map, additionalLayers) {\n super(map, \"satellite\", () => {\n capDescription.set(SATELLITE_DESCRIPTION_LONG);\n showForecastPlaybutton.set(false);\n }, additionalLayers);\n\n this.sentinel3 = sentinel3();\n map.addLayer(this.sentinel3);\n this.sentinel2 = sentinel2(false, get(satelliteLayer) === \"sentinel2\");\n map.addLayer(this.sentinel2);\n\n const self = this;\n satelliteLayerCloudy.subscribe((cloudy) => {\n if (self.sentinel2.get(\"cloudy\") !== cloudy) {\n self.recreateS2(cloudy);\n }\n });\n satelliteLayerLabels.subscribe((vis) => {\n additionalLayers.forEach((layer) => layer.setVisible(vis));\n });\n satelliteLayer.subscribe((layer) => {\n switch (layer) {\n case \"sentinel2\":\n self.sentinel2.setVisible(true);\n break;\n case \"sentinel3\":\n default:\n self.sentinel2.setVisible(false);\n break;\n }\n });\n }\n\n recreateS2(cloudy) {\n super.getMap().removeLayer(this.sentinel2);\n this.sentinel2 = sentinel2(cloudy, this.sentinel2.getVisible());\n super.getMap().addLayer(this.sentinel2);\n }\n}\n","import TileLayer from \"ol/layer/WebGLTile\";\nimport XYZ from \"ol/source/XYZ\";\nimport { DEVICE_PIXEL_RATIO } from \"ol/has\";\nimport OSM from \"ol/source/OSM\";\nimport {\n cartoAttribution,\n osmAttribution,\n cyclosmAttribution,\n} from \"./attributions\";\n\nconst retina = DEVICE_PIXEL_RATIO > 1 ? \"@2x\" : \"\";\n\nexport const cartoDark = () => new TileLayer({\n source: new XYZ({\n urls: [`https://cartodb-basemaps-a.global.ssl.fastly.net/rastertiles/dark_nolabels/{z}/{x}/{y}${retina}.png`,\n `https://cartodb-basemaps-c.global.ssl.fastly.net/rastertiles/dark_nolabels/{z}/{x}/{y}${retina}.png`],\n crossOrigin: null,\n attributions: [osmAttribution, cartoAttribution],\n maxZoom: 20,\n }),\n base: true,\n zIndex: 1,\n});\n\nexport const cartoLight = () => new TileLayer({\n source: new XYZ({\n urls: [`https://cartodb-basemaps-a.global.ssl.fastly.net/rastertiles/voyager_nolabels/{z}/{x}/{y}${retina}.png`,\n `https://cartodb-basemaps-c.global.ssl.fastly.net/rastertiles/voyager_nolabels/{z}/{x}/{y}${retina}.png`],\n crossOrigin: null,\n attributions: [osmAttribution, cartoAttribution],\n tilePixelRatio: DEVICE_PIXEL_RATIO > 1 ? 2 : 1, // Retina support\n maxZoom: 20,\n }),\n base: true,\n zIndex: 1,\n});\n\nexport const osm = () => new TileLayer({\n source: new OSM(),\n base: true,\n zIndex: 1,\n});\n\nexport const cyclosm = () => new TileLayer({\n source: new XYZ({\n url: `https://{a-c}.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png`,\n crossOrigin: null,\n attributions: [osmAttribution, cyclosmAttribution],\n tilePixelRatio: DEVICE_PIXEL_RATIO > 1 ? 2 : 1, // Retina support\n maxZoom: 20,\n }),\n base: true,\n zIndex: 1,\n});\n\nexport function supportsVectorLabels(layer) {\n switch (layer) {\n case \"light\":\n case \"dark\":\n case \"satellite\":\n return true;\n default:\n return false;\n }\n}\n","import { Map, View } from \"ol\";\nimport { fromLonLat, getTransformFromProjections, get as getProjection, toLonLat, } from \"ol/proj\";\nimport { defaults } from \"ol/control\";\nimport Attribution from \"ol/control/Attribution\";\nimport { circular as circularPolygon } from \"ol/geom/Polygon\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport VectorSource from \"ol/source/Vector\";\nimport Feature from \"ol/Feature\";\nimport Point from \"ol/geom/Point\";\nimport Style from \"ol/style/Style\";\nimport CircleStyle from \"ol/style/Circle\";\nimport Fill from \"ol/style/Fill\";\nimport Stroke from \"ol/style/Stroke\";\nimport { get } from \"svelte/store\";\nimport { cartoDark, cartoLight, osm, cyclosm } from \"../layers/base\";\nimport { latLon, mapBaseLayer, sharedActiveCap, zoomlevel } from \"../stores\";\nimport { DeviceDetect as dd } from \"./DeviceDetect\";\nimport { satelliteCombo } from \"../layers/satellite\";\nlet shouldUpdate = true;\nexport class LayerManager {\n constructor(options) {\n this.options = options;\n this.settings = options.settings;\n this.capabilities = {};\n this.maps = [];\n this.accuracyFeatures = [];\n this.positionFeatures = [];\n this.currentCap = null;\n this.mapCount = 0;\n options.capabilities.forEach((capability) => {\n const newMap = this.mapFactory(capability.options.hasBaseLayer);\n // eslint-disable-next-line new-cap\n const newCap = new capability.capability(newMap, capability.additionalLayers || [], capability.options);\n this.capabilities[newCap.getName()] = newCap;\n newMap.set(\"capability\", newCap.getName());\n this.maps.push(newMap);\n });\n const active = this.settings.get(\"capability\");\n this.capabilities[active].setTarget(document.getElementById(\"map\"));\n mapBaseLayer.subscribe((newBaseLayer) => {\n this.switchBaseLayer(newBaseLayer);\n });\n }\n // XXX move somewhere else\n updateLocation(lat, lon, accuracy, zoom = false, focus = true) {\n let accuracyPoly = null;\n if (accuracy >= 0) {\n accuracyPoly = circularPolygon([lon, lat], accuracy, 64);\n accuracyPoly.applyTransform(getTransformFromProjections(getProjection(\"EPSG:4326\"), getProjection(\"EPSG:3857\")));\n }\n this.accuracyFeatures.forEach((feature) => feature.setGeometry(accuracyPoly));\n let centerPoint;\n const center = fromLonLat([lon, lat]);\n if (lat === -1 && lon === -1 && accuracy === -1) {\n centerPoint = null;\n latLon.set(null);\n }\n else {\n centerPoint = center ? new Point(center) : null;\n latLon.set([lat, lon]);\n }\n this.positionFeatures.forEach((feature) => feature.setGeometry(centerPoint));\n if (centerPoint === null)\n return;\n const view = this.maps[0].getView();\n let zoomLevel = view.getZoom();\n const oldCenter = view.getCenter();\n if (zoom) {\n if (accuracy < 800) {\n zoomLevel = 10;\n }\n else if (accuracy < 2000) {\n zoomLevel = 9;\n }\n else {\n zoomLevel = 8;\n }\n }\n let newCenter;\n if (focus) {\n newCenter = center;\n }\n else {\n newCenter = oldCenter;\n }\n if (zoom || focus) {\n view.animate({ center: newCenter, zoom: zoomLevel, duration: 500 });\n }\n this.forEachMap((map) => map.render());\n }\n resetLocation() {\n this.positionFeatures.forEach((feature) => feature.setGeometry(null));\n this.accuracyFeatures.forEach((feature) => feature.setGeometry(null));\n }\n mapFactory(baselayer = true) {\n let controls;\n if (!dd.isApp()) {\n controls = defaults({ attribution: false }).extend([\n new Attribution({\n collapsible: false,\n }),\n ]);\n }\n const accuracyFeature = new Feature();\n this.accuracyFeatures.push(accuracyFeature);\n const positionFeature = new Feature();\n this.positionFeatures.push(positionFeature);\n const src = new VectorSource({\n features: [positionFeature],\n });\n src.set(\"kind\", \"geolocationPositionLayer\");\n const geolocationPositionLayer = new VectorLayer({\n source: src,\n style: new Style({\n image: new CircleStyle({\n radius: 10,\n fill: new Fill({\n color: \"#048EF9\",\n }),\n stroke: new Stroke({\n color: \"#fff\",\n width: 3.5,\n }),\n }),\n }),\n zIndex: 99999,\n });\n const geolocationAccuracyLayer = new VectorLayer({\n source: new VectorSource({\n features: [accuracyFeature],\n }),\n zIndex: 99998,\n });\n geolocationAccuracyLayer.set(\"kind\", \"geolocationPositionLayer\");\n let lat = 51.0;\n let lon = 11.0;\n let z = 6;\n const parts = this.settings.get(\"latLonZ\").split(\",\");\n if (parts.length === 3) {\n [lat, lon, z] = parts.map(parseFloat);\n }\n let layers = [];\n if (baselayer) {\n layers = [this.baseLayerFactory(this.settings.get(\"mapBaseLayer\"))];\n }\n layers = [...layers, geolocationAccuracyLayer, geolocationPositionLayer];\n const newMap = new Map({\n layers,\n view: this.maps.length > 0 ?\n this.maps[0].getView() :\n new View({\n zoom: z,\n center: fromLonLat([lon, lat]),\n enableRotation: this.settings.get(\"mapRotation\"),\n constrainResolution: false,\n extent: [...fromLonLat([-190.0, -75.0]), ...fromLonLat([190.0, 62.0])],\n minZoom: 3,\n }),\n controls,\n });\n const isApp = dd.isApp();\n newMap.on(\"moveend\", () => {\n if (get(sharedActiveCap) !== newMap.get(\"capability\")) {\n return;\n }\n zoomlevel.set(newMap.getView().getZoom());\n if (isApp)\n return;\n if (!shouldUpdate) {\n // do not update the URL when the view was changed in the 'popstate' handler\n shouldUpdate = true;\n return;\n }\n const center = newMap.getView().getCenter();\n const center4326 = toLonLat(center);\n const url = new URL(window.location.href);\n url.searchParams.set(\"latLonZ\", `${center4326[1].toFixed(6)},${center4326[0].toFixed(6)},${newMap.getView().getZoom().toFixed(2)}`);\n window.history.pushState({ location: url.toString() }, `meteocool 2.0 ${window.location.toString()}`, url.toString());\n });\n if (this.mapCount === 0) {\n // restore the view state when navigating through the history, see\n // https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate\n window.addEventListener(\"popstate\", (event) => {\n if (event.state === null) {\n return;\n }\n shouldUpdate = false;\n const url = new URL(event.state.location);\n if (url.searchParams.has(\"latLonZ\")) {\n this.settings.cb(\"latLonZ\");\n }\n });\n }\n this.mapCount += 1;\n newMap.set(\"baselayer\", baselayer);\n return newMap;\n }\n baseLayerFactory(layer) {\n switch (layer) {\n case \"osm\":\n return osm();\n case \"dark\":\n return cartoDark();\n case \"satellite\":\n return satelliteCombo();\n case \"cyclosm\":\n return cyclosm();\n case \"light\":\n case \"topographic\":\n default:\n return cartoLight();\n }\n }\n switchBaseLayer(newBaseLayer) {\n this.forEachMap((map) => {\n if (map.get(\"baselayer\") === false)\n return;\n map\n .getLayers()\n .getArray()\n .filter((layer) => layer.get(\"base\") === true)\n .forEach((layer) => map.removeLayer(layer));\n if (newBaseLayer)\n map.addLayer(this.baseLayerFactory(newBaseLayer));\n });\n }\n forEachMap(cb) {\n this.maps.forEach((map) => cb(map, map.get(\"capability\")));\n }\n getCurrentMap() {\n return this.capabilities[this.currentCap].map;\n }\n getCapability(name) {\n return this.capabilities[name];\n }\n setTarget(cap, target) {\n console.log(cap);\n if (this.currentCap && this.capabilities[this.currentCap].willLoseFocus && cap !== this.currentCap) {\n this.capabilities[this.currentCap].willLoseFocus();\n }\n this.capabilities[cap].setTarget(target);\n sharedActiveCap.set(cap);\n this.currentCap = cap;\n }\n setDefaultTarget(target) {\n console.log(`Starting with default cap ${this.settings.get(\"capability\")}`);\n this.setTarget(this.settings.get(\"capability\"), target);\n }\n}\n/* vim: set ts=2 sw=2 expandtab: */\n","import Nanobar from \"nanobar\";\n\nexport default class NanobarWrapper {\n constructor(params) {\n this.nb = new Nanobar(params);\n this.clients = {};\n this.activeTimeout = null;\n this.manual = 0;\n this.manualHighwater = 0.1;\n }\n\n start(id) {\n if (id in this.clients) {\n this.clients[id] += 1;\n } else {\n this.clients[id] = 1;\n }\n this.tick();\n }\n\n manualUp() {\n this.manual += 1;\n if (this.manual > this.manualHighwater) {\n this.manualHighwater = this.manual;\n }\n }\n\n manualDown() {\n this.manual -= 1;\n if (this.manual <= 0) {\n this.manualHighwater = 0.1;\n this.nb.go(100);\n }\n if (this.manual % 11 === 0) this.tick();\n }\n\n finish(id) {\n if (id in this.clients) {\n this.clients[id] -= 1;\n if (this.clients[id] === 0) {\n delete this.clients[id];\n }\n this.tick();\n }\n }\n\n arm(target) {\n this.nb.go(target);\n if (target < 95) this.activeTimeout = setTimeout((t) => this.arm(t), 100, target + 0.1);\n else this.activeTimeout = null;\n }\n\n tick() {\n const nActive = Object.keys(this.clients).length;\n if (nActive === 0 && this.manual <= 0) {\n this.nb.go(100);\n clearTimeout(this.activeTimeout);\n this.activeTimeout = null;\n } else {\n let nSteps = nActive + 2;\n if (this.manual > 0) {\n nSteps += 1;\n }\n if (this.activeTimeout) {\n // Animation is running and needs to be restarted with new parameters\n clearTimeout(this.activeTimeout);\n this.activeTimeout = null;\n }\n this.arm(\n Math.ceil(100 / nSteps + 1) +\n ((this.manualHighwater - this.manual) / this.manualHighwater) *\n (100 / nSteps),\n );\n }\n }\n}\n","export default class Router {\n static ParseURL(url) {\n const parts = new URL(window.location.href).searchParams;\n if (parts.length > 1) {\n console.log(parts);\n Router.parseFragment(parts[1]);\n }\n }\n\n static parseFragment(fragment) {\n return fragment\n .split(\"&\")\n .map((e) => {\n const parts = e.split(\"=\");\n if (parts.length === 2) {\n return [parts[0], parts[1]];\n }\n if (parts.length === 1) {\n return [parts[0], \"true\"];\n }\n return [];\n });\n }\n}\n\nexport function ParseURL() {\n return new URL(document.location).searchParams.entries();\n}\n\nwindow.pu = ParseURL;\n","// XXX this thing has a problem where the datatypes are lost when stuff is saved to localstroage.\n\nimport Router from './Router';\n\nexport default class Settings {\n constructor(settingsCbs) {\n // expects a structure like this:\n // {\n // \"settingName\": {\"type\": \"boolean\", \"default\": true, \"cb\": f},\n // ....\n // }\n this.settings = settingsCbs;\n Object.keys(this.settings).forEach((key) => {\n if (this.settings[key].default !== this.get(key)) {\n this.cb(key);\n }\n });\n }\n\n get(key) {\n if (typeof key !== \"string\") {\n return null;\n }\n\n const url = new URL(document.location);\n let local = null;\n try {\n if (localStorage) local = localStorage.getItem(key);\n } catch (error) {\n console.error(error);\n }\n switch (this.getSourceForKey(key)) {\n case \"localStorage\":\n if (local) {\n if (this.settings[key].type === \"boolean\") {\n return local === \"true\";\n }\n return local;\n }\n break;\n case \"url\":\n if (url.searchParams.has(key)) {\n return url.searchParams.get(key);\n }\n break;\n default:\n return null;\n }\n if (key in this.settings) {\n return this.settings[key].default;\n }\n return null;\n }\n\n setCb(key, cb, trigger = false) {\n if (typeof key !== \"string\") {\n return;\n }\n this.settings[key].cb = cb;\n if (trigger) cb(this.get(key));\n }\n\n cb(key) {\n if (typeof key !== \"string\") {\n return;\n }\n if (this.settings[key].cb) {\n this.settings[key].cb(this.get(key));\n }\n }\n\n set(key, value, apply = true) {\n if (typeof key !== \"string\") {\n return;\n }\n if (!(key in this.settings)) {\n console.error(`Key ${key} not found in settings`);\n return;\n }\n\n // eslint-disable-line valid-typeof\n if (typeof value !== this.settings[key].type) {\n console.log(`Type missmatch for key ${key}`);\n return;\n }\n\n const old = this.get(key);\n console.log(`Updating ${key} => ${value} with old ${old}, apply=${apply}`);\n const url = new URL(window.location);\n switch (this.getSourceForKey(key)) {\n case \"localStorage\":\n if (old !== value && this.settings[key].default !== value) {\n localStorage.setItem(key, value);\n } else if (this.settings[key].default === value && localStorage.getItem(key) !== null) {\n // remove from localstorage if value is reset to default\n localStorage.removeItem(key);\n }\n break;\n case \"url\":\n if (old !== value && this.settings[key].default !== value) {\n url.searchParams.set(key, value);\n window.history.pushState({ location: window.location.toString() }, `meteocool 2.0 ${window.location.toString()}`, url);\n } else if (this.settings[key].default === value && url.searchParams.has(key)) {\n url.searchParams.delete(key);\n window.history.pushState({ location: window.location.toString() }, \"meteocool 2.0\", url);\n }\n break;\n default:\n break;\n }\n\n if (old !== this.get(key)) {\n if (this.settings[key].cb && apply) {\n this.settings[key].cb(value);\n }\n }\n }\n\n getSourceForKey(key) {\n let source = \"localStorage\";\n if (\"source\" in this.settings[key]) {\n source = this.settings[key].source;\n }\n return source;\n }\n\n injectSettings(newSettings) {\n console.log(newSettings);\n for (const key in newSettings) {\n this.set(key, newSettings[key]);\n }\n }\n}\n\n/* vim: set ts=2 sw=2 expandtab: */\n","export default \"data:image/png;base64,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\"","import Point from \"ol/geom/Point\";\nimport { Feature } from \"ol\";\nexport const TIME_KEY = \"time_wall_ns\";\nexport default class StrikeManagerV2 {\n constructor(vectorSource, baseline = 0) {\n this.vs = vectorSource;\n this.strikes = {}; // key = time, value = OL object reference\n this.baseline = baseline;\n }\n setBaseline(baseline) {\n const keys = Object.keys(this.strikes).map(parseInt);\n keys.forEach((key) => {\n if (key < baseline) {\n this.vs.removeFeature(this.strikes[key]);\n delete this.strikes[key.toString()];\n }\n });\n this.baseline = baseline;\n }\n addStrike(lon, lat, timestamp) {\n const strike = new Feature(new Point([lon, lat]));\n strike.set(TIME_KEY, timestamp);\n this.strikes[timestamp.toString()] = strike;\n this.vs.addFeature(strike);\n }\n}\n","import VectorSource from \"ol/source/Vector\";\nimport { Cluster } from \"ol/source.js\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport Style from \"ol/style/Style\";\nimport Icon from \"ol/style/Icon\";\nimport MVT from \"ol/format/MVT\";\nimport VectorTileSource from \"ol/source/VectorTile\";\nimport VectorTileLayer from \"ol/layer/VectorTile\";\nimport { Fill, RegularShape, Stroke } from \"ol/style\";\nimport lightningstrike from \"../../public/assets/lightning.png\";\nimport { blitzortungAttribution, imprintAttribution } from \"./attributions\";\nimport { tileBaseUrl } from \"../urls\";\nimport { LightningColors } from \"../colormaps\";\nimport { TIME_KEY } from '../lib/StrikeManagerV2';\n\nconst styleCache = {};\nconst STRIKE_MINS = 1000 * 60;\n\nconst styleFactory = (age, size) => {\n if (age < 5) {\n age = 0;\n }\n if (!(age in styleCache)) {\n styleCache[age] = {};\n }\n if (!styleCache[age][size]) {\n // XXX oh god i'm so sorry\n const opacity = Math.max(Math.min(1 - (age / 30 * 0.8) - 0.2, 1), 0);\n // console.log(\"new size + age: \" + size + \", \" + age + \", opacity: \" + opacity);\n\n styleCache[age][size] = new Style({\n image: new Icon({\n src: lightningstrike,\n opacity,\n scale: 0.2 * (size / 40),\n }),\n });\n }\n return styleCache[age][size];\n};\n\nconst crossCache = {};\nconst greyCross = new Style({\n image: new RegularShape({\n fill: new Fill({ color: \"#aaaaaa\" }),\n stroke: new Stroke({\n color: \"#aaaaaa\",\n width: 3,\n }),\n points: 4,\n radius: 8,\n radius2: 0,\n angle: 0,\n }),\n zIndex: 0,\n});\n\nconst crossFactory = (ts, zIndexOffset = 0) => {\n const then = ts;\n const now = +new Date();\n const minutes = (now - then) / 1000 / 60;\n const index = Math.round(Math.min(LightningColors.length - 1, Math.max(0, minutes)));\n if (minutes > 120) {\n return greyCross;\n }\n if (index in crossCache) {\n return crossCache[index];\n }\n const cross = new Style({\n image: new RegularShape({\n fill: new Fill({ color: LightningColors[Math.min(index - Math.max(-20 * index, -30), LightningColors.length - 1)] }),\n stroke: new Stroke({\n color: LightningColors[Math.min(index - Math.max(-20 * index, -30), LightningColors.length - 1)],\n width: 3,\n }),\n points: 4,\n radius: 8,\n radius2: 0,\n angle: 0,\n }),\n zIndex: (120 - index) + zIndexOffset,\n });\n crossCache[index] = cross;\n return cross;\n};\n\nexport default function makeLightningLayer() {\n const ss = new VectorSource({\n features: [],\n });\n const clusters = new Cluster({\n distance: 8,\n source: ss,\n attributions: [blitzortungAttribution, imprintAttribution],\n });\n return [ss, new VectorLayer({\n source: clusters,\n zIndex: 100,\n style: (feature) => {\n const size = feature.get(\"features\").length;\n const now = new Date().getTime();\n let age = 0;\n let textsize = 24;\n if (size > 1) {\n feature.get(\"features\")\n .forEach((f) => {\n age += (now - f.getId()) / STRIKE_MINS;\n });\n // age max = 60, divide by 3 to reduce to 20 age levels max age = Math.min(Math.round(age / size / 2.5) + 1, 20);\n if (size > 13) {\n textsize = 40;\n } else if (size > 9) {\n textsize = 34;\n } else if (size > 3) {\n textsize = 29;\n }\n } else {\n age = (Math.round((now - feature.get(\"features\")[0].getId()) / STRIKE_MINS / 2.5)) + 1;\n }\n return styleFactory(age, textsize);\n },\n })];\n}\n\nexport const lightningLayerGL = (tileId, map) => {\n const URL = `${tileBaseUrl}/meteoradar/${tileId}/{z}/{x}/{y}.pbf`;\n return new VectorTileLayer({\n zIndex: 90,\n source: new VectorTileSource({\n format: new MVT(),\n attributions: [blitzortungAttribution],\n url: URL,\n maxZoom: 9,\n minZoom: 0,\n }),\n style: (feature) => crossFactory(feature.get(\"time_wall\") * 1000),\n });\n};\n\nexport const lightningLayerDumb = (tileId, map) => new VectorLayer({\n zIndex: 91,\n source: new VectorSource({}),\n style: (feature) => crossFactory(feature.get(TIME_KEY), 1000),\n});\n","import Point from \"ol/geom/Point\";\nimport { Feature } from \"ol\";\n\nexport default class StrikeManager {\n constructor(maxStrikes, vectorSource) {\n this.maxStrikes = maxStrikes;\n this.vs = vectorSource;\n this.strikes = [];\n this.enabled = true;\n }\n\n addStrike(lon, lat, addCb = null) {\n return this.addStrikeWithTime(lon, lat, new Date().getTime(), addCb);\n }\n\n removeOne(id, idx) {\n const remove = this.vs.getFeatureById(id);\n if (remove) {\n this.vs.removeFeature(remove);\n }\n if (idx !== -1) {\n this.strikes = this.strikes.slice(0, idx).concat(this.strikes.slice(idx + 1, this.strikes.length));\n }\n }\n\n addStrikeWithTime(lon, lat, time, addCb = null) {\n if (!this.enabled) return false;\n const lightning = new Feature(new Point([lon, lat]));\n lightning.setId(time);\n this.strikes.push(lightning.getId());\n if (this.strikes.length > this.maxStrikes) {\n const toRemove = this.strikes.shift();\n this.removeOne(toRemove, -1);\n }\n if (addCb) {\n addCb(lightning);\n }\n return this.vs.addFeature(lightning);\n }\n\n // purge old strikes\n fadeStrikes() {\n const now = new Date().getTime();\n const MINS = 60 * 1000;\n this.strikes.forEach((id, idx) => {\n if (id < now - 30 * MINS) {\n this.removeOne(id, idx);\n }\n });\n this.vs.refresh();\n }\n\n clearAll() {\n this.strikes = [];\n this.vs.clear();\n }\n\n debug() {\n console.log(this.strikes);\n console.log(this.vs.getFeatures());\n }\n\n enable(state) {\n if (!state) this.clearAll();\n this.enabled = state;\n }\n}\n","import Point from \"ol/geom/Point\";\nimport { Feature } from \"ol\";\n\nexport default class MesoCycloneManager {\n constructor(maxCyclones, vectorSource) {\n this.maxCyclones = maxCyclones;\n this.vs = vectorSource;\n this.cyclones = [];\n this.enabled = true;\n }\n\n removeOne(id, idx) {\n const remove = this.vs.getFeatureById(id);\n if (remove) {\n this.vs.removeFeature(remove);\n }\n if (idx !== -1) {\n this.cyclones = this.cyclones.slice(0, idx).concat(this.cyclones.slice(idx + 1, this.cyclones.length));\n }\n }\n\n addCyclone(struct) {\n const cyclone = new Feature(new Point([struct.lon, struct.lat]));\n cyclone.setId(struct.time);\n cyclone.set(\"intensity\", struct.intensity);\n this.cyclones.push(cyclone.getId());\n if (this.cyclones.length > this.maxCyclones) {\n const toRemove = this.cyclones.shift();\n this.removeOne(toRemove, -1);\n }\n return this.vs.addFeature(cyclone);\n }\n\n // purge old cyclones\n fadeCyclones() {\n const now = new Date().getTime();\n const MINS = 60 * 1000;\n this.cyclones.forEach((id, idx) => {\n if (id < now - 30 * MINS) {\n this.removeOne(id, idx);\n }\n });\n this.vs.refresh();\n }\n\n clearAll() {\n this.cyclones = [];\n this.vs.clear();\n }\n\n enable(state) {\n if (!state) this.clearAll();\n this.enabled = state;\n }\n}\n\n/* vim: set ts=2 sw=2 expandtab: */\n","export default \"data:image/png;base64,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\"","import VectorSource from \"ol/source/Vector\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport Style from \"ol/style/Style\";\nimport Icon from \"ol/style/Icon\";\nimport mesocycloneIcon from \"../../public/assets/mesocyclone.png\";\n\nconst mesoStyleCache = {};\n\nconst mesoStyleFactory = (age, intensity) => {\n if (age < 5) {\n age = 0;\n }\n if (!(age in mesoStyleCache)) {\n mesoStyleCache[age] = {};\n }\n if (!mesoStyleCache[age][intensity]) {\n let opacity;\n if (age > 5) {\n opacity = 0.8;\n }\n if (age > 10) {\n opacity = 0.6;\n }\n if (age > 20) {\n opacity = 0.4;\n }\n if (age > 40) {\n opacity = 0.2;\n }\n if (age > 50) {\n opacity = 0.1;\n }\n\n let size;\n if (intensity > 4) {\n size = 55;\n } else if (intensity > 3) {\n size = 46;\n } else if (intensity > 2) {\n size = 38;\n } else if (intensity > 1) {\n size = 30;\n } else {\n size = 22;\n }\n\n mesoStyleCache[age][intensity] = new Style({\n image: new Icon({\n src: mesocycloneIcon,\n opacity,\n scale: 0.2 * (size / 40),\n }),\n });\n }\n return mesoStyleCache[age][intensity];\n};\n\nexport default function makeMesocycloneLayer() {\n const ss = new VectorSource({\n features: [],\n });\n return [ss, new VectorLayer({\n source: ss,\n zIndex: 201,\n style: (feature) => mesoStyleFactory((new Date().getTime() - feature.getId()) / 1000 / 1000,\n feature.get(\"intensity\")),\n })];\n}\n","import VectorTileLayer from \"ol/layer/VectorTile\";\nimport VectorTileSource from \"ol/source/VectorTile\";\nimport { Stroke, Style, Fill, Text } from \"ol/style\";\nimport MVT from \"ol/format/MVT\";\nimport {\n imprintAttribution,\n osmAttribution,\n wofAttribution,\n} from \"./attributions\";\nimport { mapBaseLayer } from '../stores';\nimport { supportsVectorLabels } from './base';\n\nconst boundaryStyle = new Style({\n stroke: new Stroke({\n color: \"#454542\",\n width: 2,\n }),\n zIndex: 1,\n});\n\nconst getBoundaryStyle = (feature) => {\n const kind = feature.get(\"kind\");\n if (kind !== \"country\") {\n return null;\n }\n return boundaryStyle;\n};\n\nconst countryStyle = new Style({\n text: new Text({\n font: \"18px Calibri,sans-serif\",\n fill: new Fill({\n color: \"#000\",\n }),\n overflow: true,\n stroke: new Stroke({\n color: \"#fff\",\n width: 4,\n }),\n zIndex: 100,\n }),\n});\n\nconst regionStyle = new Style({\n text: new Text({\n font: \"16px Calibri,sans-serif\",\n fill: new Fill({\n color: \"#000\",\n }),\n overflow: true,\n stroke: new Stroke({\n color: \"#fff\",\n width: 3,\n }),\n zIndex: 90,\n }),\n});\n\nconst localityStyle = new Style({\n text: new Text({\n font: \"12px Calibri,sans-serif\",\n fill: new Fill({\n color: \"#000\",\n }),\n overflow: true,\n padding: [5, 5, 5, 5],\n stroke: new Stroke({\n color: \"#fff\",\n width: 2,\n }),\n zIndex: 90,\n }),\n});\n\nconst microLabelStyle = new Style({\n text: new Text({\n font: \"11px Calibri,sans-serif\",\n fill: new Fill({\n color: \"#000\",\n }),\n overflow: true,\n stroke: new Stroke({\n color: \"#fff\",\n width: 1.5,\n }),\n zIndex: 90,\n }),\n});\n\nexport const bordersAndWays = () => new VectorTileLayer({\n zIndex: 99,\n declutter: true,\n source: new VectorTileSource({\n attributions: [wofAttribution, osmAttribution, imprintAttribution],\n format: new MVT({\n layers: [\"boundaries\", \"places\"],\n }),\n url: `https://tile.nextzen.org/tilezen/vector/v1/all/{z}/{x}/{y}.mvt?api_key=qW-EcxRGQcanc6upJoSHSA`,\n maxZoom: 17,\n }),\n style(feature) {\n let style;\n switch (feature.get(\"layer\")) {\n case \"places\":\n switch (feature.get(\"kind\")) {\n case \"country\":\n style = countryStyle;\n break;\n case \"region\":\n style = regionStyle;\n break;\n case \"locality\":\n style = localityStyle;\n break;\n default:\n style = localityStyle;\n break;\n }\n style.getText().setText(feature.get(\"name\"));\n return style;\n case \"boundaries\":\n return getBoundaryStyle(feature);\n default:\n return null;\n }\n },\n});\n\nexport const labelsOnly = () => {\n const layer = new VectorTileLayer({\n zIndex: 99,\n declutter: true,\n renderMode: \"vector\",\n source: new VectorTileSource({\n attributions: [wofAttribution, osmAttribution, imprintAttribution],\n format: new MVT({\n layers: [\"places\"],\n }),\n url: `https://tile.nextzen.org/tilezen/vector/v1/all/{z}/{x}/{y}.mvt?api_key=qW-EcxRGQcanc6upJoSHSA`,\n maxZoom: 17,\n }),\n style(feature, res) {\n let style;\n // console.log(`${feature.get(\"name\")}: ${feature.get(\"kind\")}/${feature.get(\"kind_detail\")} @ ${res} / ${feature.get(\"population\")}`);\n switch (feature.get(\"layer\")) {\n case \"places\":\n switch (feature.get(\"kind\")) {\n case \"region\":\n style = regionStyle;\n break;\n case \"locality\":\n if (feature.get(\"kind_detail\") === \"town\") {\n if (res < 100) {\n style = microLabelStyle;\n }\n if (feature.get(\"population\") > 20000) {\n style = localityStyle;\n }\n } else {\n style = localityStyle;\n }\n break;\n default:\n if (res > 80) {\n return null;\n }\n switch (feature.get(\"kind_detail\")) {\n case \"village\":\n style = microLabelStyle;\n break;\n default:\n style = microLabelStyle;\n break;\n }\n break;\n }\n if (!style) return null;\n style.getText().setText(feature.get(\"name\"));\n return style;\n default:\n return null;\n }\n },\n });\n mapBaseLayer.subscribe((baselayer) => {\n layer.setVisible(supportsVectorLabels(baselayer));\n });\n return layer;\n};\n","// eslint-disable-next-line import/prefer-default-export\nimport { capDescription, capLastUpdated, showForecastPlaybutton } from '../stores';\nimport Capability from \"./Capability.ts\";\nimport { apiBaseUrl, v3APIBaseUrl } from '../urls';\nimport { dwdPrecipTypes } from \"../layers/dwd.js\";\n\nexport default class PrecipitationTypesCapability extends Capability {\n constructor(map, additionalLayers, args) {\n super(map, \"precipTypes\", () => {\n capDescription.set(\"foo\");\n showForecastPlaybutton.set(false);\n this.fetchPrecipTypes();\n }, additionalLayers);\n\n if (\"cmap\" in args) super.setCmap(args.cmap);\n\n this.currentLayer = null;\n this.nb = args.nanobar;\n }\n\n fetchPrecipTypes() {\n const URL = `${v3APIBaseUrl}/radar/classification`;\n this.nb.start(URL);\n fetch(URL)\n .then((response) => response.json())\n .then((data) => {\n if (!data) return;\n if (this.currentLayer) {\n if (this.currentLayer.get(\"tile_id\") === data.tile_id) return;\n }\n const newLayer = dwdPrecipTypes(data.tile_id);\n newLayer.set(\"tile_id\", data.tile_id);\n super.getMap().addLayer(newLayer);\n if (this.currentLayer) {\n super.getMap().removeLayer(this.currentLayer);\n }\n this.currentLayer = newLayer;\n capLastUpdated.set(new Date(data.processed_time * 1000));\n })\n .then(() => this.nb.finish(URL))\n .catch((error) => {\n this.nb.finish(URL);\n console.log(error);\n });\n }\n}\n","// eslint-disable-next-line import/prefer-default-export\nimport { s5pAerosolIndex354 } from \"../layers/satellite\";\nimport {\n capDescription,\n showForecastPlaybutton,\n} from \"../stores\";\nimport Capability from \"./Capability.ts\";\n\nconst AEROSOLS_DESCRIPTION_LONG = `UVAI`;\n\nexport default class AerosolsCapability extends Capability {\n constructor(map, additionalLayers) {\n super(map, \"aerosols\", () => {\n capDescription.set(AEROSOLS_DESCRIPTION_LONG);\n showForecastPlaybutton.set(false);\n }, additionalLayers);\n\n this.ai354 = s5pAerosolIndex354();\n map.addLayer(this.ai354);\n }\n}\n","import Capability from \"./Capability.ts\";\nimport StrikeManagerV2 from \"../lib/StrikeManagerV2.ts\";\nimport { capDescription, capLastUpdated, showForecastPlaybutton } from \"../stores\";\nimport { lightningLayerDumb, lightningLayerGL } from \"../layers/lightning\";\nimport { v3APIBaseUrl } from \"../urls\";\nimport { noaaBREF } from \"../layers/noaa\";\n\nexport default class LightningCapability extends Capability {\n constructor(map, additionalLayers, args) {\n super(map, \"lightning\", () => {\n capDescription.set(\"foo\");\n showForecastPlaybutton.set(false);\n this.fetchLightning();\n }, additionalLayers);\n\n if (\"cmap\" in args) super.setCmap(args.cmap);\n\n this.currentLayer = null;\n this.nb = args.nanobar;\n this.socketio = args.socket;\n\n map.addLayer(noaaBREF());\n }\n\n fetchLightning() {\n const URL = `${v3APIBaseUrl}/lightning/layer`;\n this.nb.start(URL);\n fetch(URL)\n .then((response) => response.json())\n .then((data) => {\n if (!data) return;\n if (this.currentLayer) {\n if (this.currentLayer.get(\"tile_id\") === data.tile_id) return;\n }\n const newLayer = lightningLayerGL(data.tile_id, super.getMap());\n newLayer.set(\"tile_id\", data.tile_id);\n super.getMap()\n .addLayer(newLayer);\n if (this.currentLayer) {\n super.getMap()\n .removeLayer(this.currentLayer);\n }\n this.currentLayer = newLayer;\n capLastUpdated.set(new Date(data.processed_time * 1000));\n\n this.fetchRemaining(data.most_recent_strike);\n })\n .then(() => this.nb.finish(URL))\n .catch((error) => {\n this.nb.finish(URL);\n console.log(error);\n });\n }\n\n fetchRemaining(baseline) {\n if (!this.vectorsource) {\n const newLayer = lightningLayerDumb();\n super.getMap().addLayer(newLayer);\n this.vectorsource = newLayer.getSource();\n this.sm = new StrikeManagerV2(this.vectorsource, baseline);\n if (this.socketio) {\n this.socketio.on(\"lightning\", (data) => this.sm.addStrike(data.lon, data.lat, data.time / 10e5));\n }\n }\n this.sm.setBaseline(baseline);\n\n const URL = `${v3APIBaseUrl}/lightning/baseline?baseline=${baseline}`;\n this.nb.start(URL);\n fetch(URL)\n .then((response) => response.json())\n .then((data) => {\n if (!data) return;\n if (data.strikes) {\n data.strikes.forEach((elem) => this.sm.addStrike(elem.lon, elem.lat, elem.time_wall));\n }\n })\n .then(() => this.nb.finish(URL))\n .catch((error) => {\n this.nb.finish(URL);\n console.log(error);\n });\n }\n}\n","import TileLayer from \"ol/layer/Tile\";\nimport { TileWMS } from \"ol/source\";\n\n// eslint-disable-next-line import/prefer-default-export\nexport const noaaBREF = () => new TileLayer({\n source: new TileWMS({\n url: \"https://opengeo.ncep.noaa.gov/geoserver/conus/conus_bref_qcd/ows?version=1.3.0\",\n params: { LAYERS: \"conus_bref_qcd\", TILED: true, SRS: \"EPSG:3857\" },\n projection: \"EPSG:3857\",\n zIndex: 80,\n attributions: [\"© NOAA\"],\n }),\n zIndex: 80,\n opacity: 0.8,\n});\n","\n\n\n\n{#if !dd.isApp()}\n \n{/if}\n\n{#if $toolbarVisible}\n \n{/if}\n\n
\n\n\n{#if $toolbarVisible}\n \n{/if}\n"],"names":["device","DeviceDetect","nDevice","this","isIos","isAndroid","window","innerWidth","SENTRY_ARGS","dsn","integrations","Integrations","CaptureConsole","levels","tracesSampleRate","environment","process","autoSessionTracking","release","GIT_COMMIT_HASH","autoBreadcrumbs","xhr","console","dom","location","sentry","dispatch","layerManager","layer","label","uniqueID","Math","random","toString","substring","async","id","down","lastX","lastY","node","setTarget","evt","clientX","clientY","abs","copernicusAttribution","ororatechAttribution","osmAttribution","wofAttribution","dwdAttribution","cartoAttribution","blitzortungAttribution","cyclosmAttribution","imprintAttribution","faLayerGroup","elem","openLayerswitcher","childCanvases","allAttributionsArray","Object","entries","filter","k","map","sort","join","document","getElementById","style","display","forEachMap","cap","target","log","updateSize","data","detail","event","webkit","messageHandlers","scriptHandler","postMessage","bottomToolbarMode","writable","capDescription","capLastUpdated","capTimeIndicator","colorSchemeDark","radarColormap","latLon","zoomlevel","lightningLayerVisible","layerswitcherVisible","toolbarVisible","cycloneLayerVisible","snowLayerVisible","logoStyle","mapBaseLayer","radarColorScheme","showForecastPlaybutton","satelliteLayer","satelliteLayerCloudy","satelliteLayerLabels","live","unit","precacheForecast","sharedActiveCap","sharedCmap","lastFocus","Date","mapID","visible","updateMapSize","subscribe","value","newLayer","setDefaultTarget","val","height","m","setTimeout","destroy","show","addEventListener","preventDefault","showAbout","toggleAbout","uiConstantsDefault","darkmodeConstants","NOWCAST_OPACITY","setUIConstant","name","suite","documentElement","setProperty","isDark","keys","forEach","key","unsetUIConstant","removeProperty","timeString","format","lastUpdated","lastUpdatedStr","slPercent","updateTimeout","loading","updateTime","min","formatDistanceToNow","locale","getLocaleFromNavigator","split","de","enUS","addSuffix","length","$_","lastFocusDt","updated","getTime","clearTimeout","faGithub","init","capitalizeFirst","string","charAt","toUpperCase","slice","minDbz","maxDbz","palette","valueFormat","prettyName","title","colorMap","c","vs","index","e","pop","scaleStyle","backgroundImage","colors","backgroundUrl","DIFF_NWS","a3a067","a8a570","acac79","b1b182","b6b88c","bcbd93","c1c39c","cacdaa","cccfaf","cccfb3","c8ccb3","bfc3b3","b8bdb3","b5bab3","acb3b3","aaafb3","a3aab3","a0a8b3","c1bc05","d6c603","ffe200","ffd800","ffc800","ffc300","ffb500","ffb000","ffa700","ff9e00","ff9300","ff8900","ff7f00","ff0000","f00000","e90000","db0000","d40000","c60000","bf0000","b10000","aa0000","ffffff","ffe9ff","ffdfff","ffc8ff","ffbdff","ffa8ff","ff9cff","ff75ff","fb6bfd","f656f6","f24bf4","ed36ef","e92aeb","e416e6","e10ae2","ac00fb","a300f6","DIFF_VIRIDIS","DIFF_PYART_STEPSEQ","DIFF_HOMEYER","DIFF_LANG","RVP6_NWS","RVP6_CLASSIC","RVP6_VIRIDIS","RVP6_PYART_STEPSEQ","RVP6_HOMEYER","RVP6_LANG","LightningColors","precipTypeNames","hail","graupel","sleet","snow","rain","drizzle","cmapFromString","cmapStr","getPalette","cmap","offset","color","r","g","b","a","padStart","rvp6ToPalette","unique","restart","fmt","$unit","round","faCircle","lightRed","livePill","future","hide","fade","n","opacity","blink","classList","add","remove","now","gridConfig","latest","duration","y","faAngleDoubleDown","faRetweet","faHistory","start","end","faAngleDoubleUp","faPlay","Chart","CategoryScale","LinearScale","BarController","BarElement","userLatLon","showBars","latlonUpdate","playTimeout","canvas","canvasVisible","showOpenControls","oldTimeStep","playPauseButton","slRange","loop","historicActive","includeHistoric","buttonSize","autoPlay","chart","redraw","config","grid","sortedKeys","parseInt","d","step","max","dbz","skip","values","splice","dataMin","maxIndexes","item","push","disabled","every","gridKeys","rendered","BarWithErrorBarsChart","getContext","labels","v","datasets","barPercentage","categoryPercentage","backgroundColor","lpad","source","dbz2color","borderColor","getMostRecentObservation","getComputedStyle","body","getPropertyValue","borderWidth","options","animation","hover","animationDuration","layout","padding","left","right","top","bottom","responsive","maintainAspectRatio","legend","tooltips","enabled","plugins","datalabels","clamp","textAlign","context","dataIndex","align","anchor","borderRadius","rotation","dataset","formatter","includes","error","scales","x","tickMarkLength","drawBorder","afterFit","scale","paddingBottom","afterUpdate","ticks","fontSize","autoSkip","callback","getLabelForValue","minRotation","maxRotation","$bottomToolbarMode","autoSkipPadding","type","beginAtZero","fsm","transitions","from","to","methods","onShowScrollbar","set","$precacheForecast","precacheAllForecasts","update","state","pressPlay","onEnterWaitingState","t","onPressPlay","playTick","ttl","thisFrameDelayMs","sliderValueInt","sliderChangedHandler","pressPause","faPause","onPressPause","onHideScrollbar","transition","resetToLatest","parentNode","showScrollbar","hideScrollbar","userInteraction","Number","isNaN","impact","setSource","leaveForeground","addObserver","subject","notifyObservers","last","focus","trackingMode","slr","$lightningLayerVisible","$cycloneLayerVisible","steps","ncol","legendItems","isApp","intValue","_","i","tileBaseUrl","dataUrl","v3APIBaseUrl","LineController","LineElement","description","activeCap","lightningCanvas","s3Disabled","z","desc","delayedLoader","unavailable","noLightning","checked","satellite","Array","fill","apply","getCurrentMap","on","extent","getView","calculateExtent","getSize","p","fetch","URLSearchParams","bbox","JSON","stringify","coordinates","getLinearRing","getCoordinates","then","response","ok","json","Error","bins","reduce","partialSum","redrawLightningChart","catch","updateLightningChart","transformExtent","dwdExtentInv","fromExtent","appendLinearRing","LinearRing","indexDbPromise","openDB","upgrade","db","createObjectStore","fetchAndCache","url","successCb","errorCb","force","get","blob","put","commonDWDParameters","attributions","crossOrigin","minZoom","maxZoom","tilePixelRatio","DEVICE_PIXEL_RATIO","tileSize","imageSmoothing","tileLoadFunction","tile","src","image","getImage","cachedBlob","objUrl","URL","createObjectURL","onload","revokeObjectURL","cacheSize","dwdLayerStatic","tileId","bucket","reflectivitySource","sourceUrl","XYZ","dwdSource","reflectivityLayer","TileLayer","zIndex","DWDLayerFactoryGL","indexes","rgba","cmapAlphaNorm","matches","element","flat","radolanOverlay","VectorLayer","renderBuffer","VectorSource","features","Feature","geometry","Style","Fill","reportError","message","icon","Capability","constructor","observers","cb","notify","h","targetCb","additionalLayers","super","l","addLayer","setCmap","getMap","getName","willLoseFocus","RadarCapability","layers","nanobar","socket_io","latlon","sources","layerFactory","serverGrid","clientGrid","serverTime","snowOverlay","radar","self","colorScheme","colorMapString","oldLayer","removeLayer","reloadAll","lat","lon","oldLat","oldLon","downloadSnowOverlay","setVisible","processSnowOverlay","active","setOpacity","downloadCurrentRadar","gridconfig","regenerateGridConfig","restartHandler","updateClientGridFromServerGrid","clientGridConfig","server","latestRadar","layerAttributes","tile_id","processedDt","processed_time","tilesetToURL","tileset","precacheForecastLayer","getSource","lm","zoom","getZoom","getTileGrid","getMaxZoom","getMinZoom","forEachTileCoord","tileCoord","gridNow","nSteps","newGridconfig","setUrl","getLocalPostifx","obj","processRadar","finish","createElement","photo","Image","width","pattern","createPattern","getFill","setColor","setPattern","VectorTileLayer","VectorTileSource","MVT","mostRecent","frame","frames","server_time","timestep","sentinel2","cloudy","s2","sentinel3","SatelliteCapability","recreateS2","vis","getVisible","retina","shouldUpdate","LayerManager","settings","capabilities","maps","accuracyFeatures","positionFeatures","currentCap","mapCount","capability","newMap","mapFactory","hasBaseLayer","newCap","newBaseLayer","switchBaseLayer","updateLocation","accuracy","centerPoint","accuracyPoly","applyTransform","feature","setGeometry","center","Point","view","zoomLevel","oldCenter","getCenter","newCenter","animate","render","resetLocation","baselayer","controls","attribution","extend","Attribution","collapsible","accuracyFeature","positionFeature","geolocationPositionLayer","Vector","Circle","radius","stroke","Stroke","geolocationAccuracyLayer","parts","parseFloat","baseLayerFactory","View","enableRotation","constrainResolution","center4326","href","searchParams","toFixed","history","pushState","has","OSM","base","urls","lg","LayerGroup","satelliteCombo","getLayers","getArray","getCapability","NanobarWrapper","params","nb","Nanobar","clients","activeTimeout","manual","manualHighwater","tick","manualUp","manualDown","go","arm","nActive","ceil","pu","Settings","settingsCbs","default","local","localStorage","getItem","getSourceForKey","setCb","trigger","old","setItem","removeItem","delete","injectSettings","newSettings","TIME_KEY","StrikeManagerV2","vectorSource","baseline","strikes","setBaseline","removeFeature","addStrike","timestamp","strike","addFeature","styleCache","crossCache","greyCross","RegularShape","points","radius2","angle","crossFactory","ts","zIndexOffset","minutes","cross","StrikeManager","maxStrikes","addCb","addStrikeWithTime","removeOne","idx","getFeatureById","concat","time","lightning","setId","getId","toRemove","shift","fadeStrikes","refresh","clearAll","clear","debug","getFeatures","enable","MesoCycloneManager","maxCyclones","cyclones","addCyclone","struct","cyclone","intensity","fadeCyclones","mesoStyleCache","boundaryStyle","countryStyle","text","Text","font","overflow","regionStyle","localityStyle","microLabelStyle","bordersAndWays","declutter","getText","setText","getBoundaryStyle","labelsOnly","renderMode","res","supportsVectorLabels","PrecipitationTypesCapability","args","fetchPrecipTypes","currentLayer","dwdPrecipTypes","AerosolsCapability","ai354","LightningCapability","fetchLightning","socketio","socket","TileWMS","LAYERS","TILED","SRS","projection","lightningLayerGL","fetchRemaining","most_recent_strike","vectorsource","sm","time_wall","matchMedia","addListener","setBasePath","ss","clusters","Cluster","distance","size","age","textsize","f","Icon","styleFactory","mesoStyleFactory"],"sourceRoot":""}