{"version":3,"file":"polyfills.js","mappings":"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,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClB3P,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClB4P,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBlM,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBmM,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACnBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClBC,GAAG,EAAE,CAAC,KAAK,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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,WAAW,4CAA4C,eAAe;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,WAAW,GAAG,YAAY,4BAA4B,QAAQ,sBAAsB,WAAW,GAAG,+CAA+C,SAAS,YAAY;AACzM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6HAA6H,wBAAwB,oCAAoC;AACzL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,qEAAqE;AACtJ;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,mDAAmD;AAC5F;AACA;AACA;AACA;AACA;AACA,4BAA4B,mCAAmC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,wEAAwE,eAAe;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,qBAAqB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,4BAA4B;AACxE,2CAA2C,iCAAiC;AAC5E,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,qDAAqD,cAAc,eAAe;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,0BAA0B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,4BAA4B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0BAA0B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,0BAA0B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,wBAAwB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,wBAAwB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kBAAkB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,WAAW,GAAG,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,qDAAqD;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4EAA4E;AACxF;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,sBAAsB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,yCAAyC;AAC9G;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;AC/uFD;;GAEG;AAC6B;AAChC;;;;;;;;;;;;;;GAcG;AAEH;;EAEE,CAAG,0FAA0F;AAG/F,yCAAyC;AACb;AAI5B;;GAEG;AACc,CAAE,6BAA6B;AAIhD;;GAEG;AAEH;;;GAGG;AACY,CAAE,iCAAiC;;;;;;;;;;;AC7ClD,mBAAO,CAAC,8CAAmC;AAC3C,mBAAO,CAAC,2CAAgC;AACxC,mBAAO,CAAC,+CAAoC;AAC5C,mBAAO,CAAC,qDAA0C;AAClD,mBAAO,CAAC,qDAA0C;AAClD,mBAAO,CAAC,yCAA8B;AACtC,mBAAO,CAAC,iEAAsD;AAC9D,mBAAO,CAAC,sDAA2C;AACnD,mBAAO,CAAC,yCAA8B;AACtC,mBAAO,CAAC,mDAAwC;AAChD,mBAAO,CAAC,8CAAmC;AAC3C,mBAAO,CAAC,wDAA6C;AACrD,mBAAO,CAAC,yCAA8B;AACtC,mBAAO,CAAC,sDAA2C;AACnD,mBAAO,CAAC,mDAAwC;AAChD,WAAW,mBAAO,CAAC,iCAAsB;;AAEzC;;;;;;;;;;;ACjBA,iBAA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AC,uCAA4B;AACtD,iBAAiB,mBAAO,CAAC,qCAA0B;AACnD,WAAW,mBAAO,CAAC,8BAAmB;AACtC,4BAA4B,mBAAO,CAAC,iDAAsC;AAC1E,gBAAgB,mBAAO,CAAC,oCAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;;;;;;;;;;AClFA,kBAAkB,mBAAO,CAAC,qCAA0B;AACpD,8BAA8B,mBAAO,CAAC,iDAAsC;AAC5E,2BAA2B,mBAAO,CAAC,gDAAqC;AACxE,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,sBAAsB,mBAAO,CAAC,2CAAgC;AAC9D,iBAAiB,mBAAO,CAAC,qCAA0B;;AAEnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA,kBAAkB,mBAAO,CAAC,qCAA0B;AACpD,qBAAqB,mBAAO,CAAC,wCAA6B;AAC1D,8BAA8B,mBAAO,CAAC,iDAAsC;AAC5E,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,oBAAoB,mBAAO,CAAC,yCAA8B;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;;;;;;;;;;;AC1CA,kBAAkB,mBAAO,CAAC,qCAA0B;A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;AACN;AACA;AACA;AACA,CAAC;;;;;;;;;;;AClBD,QAAQ,mBAAO,CAAC,gCAAqB;AACrC,WAAW,mBAAO,CAAC,uCAA4B;AAC/C,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,uBAAuB,mBAAO,CAAC,4CAAiC;AAChE,YAAY,mBAAO,CAAC,+BAAoB;AACxC,2BAA2B,mBAAO,CAAC,gDAAqC;AACxE,qCAAqC,mBAAO,CAAC,4DAAiD;AAC9F,qBAAqB,mBAAO,CAAC,iDAAsC;AACnE,+BAA+B,mBAAO,CAAC,oDAAyC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC,gEAAgE,oBAAoB;AACpF;AACA;AACA,CAAC;;AAED,IAAI,oDAAoD;AACxD;AACA,CAAC;;;;;;;;;;;AChDD,QAAQ,mBAAO,CAAC,gCAAqB;AACrC,aAAa,mBAAO,CAAC,gCAAqB;AAC1C,qBAAqB,mBAAO,CAAC,2CAAgC;;AAE7D,IAAI,cAAc,IAAI,aAAa;;AAEnC;AACA;AACA;;;;;;;;;;;ACRA;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,KAAK,cAAc,cAAc;AACpD;AACA;AACA,0CAA0C,IAAI,aAAa,OAAO;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM,YAAY;AAClC;AACA,gBAAgB,MAAM,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,6BAA6B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,IAAI;AACrE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEqB","sources":["./node_modules/intl/index.js","./node_modules/intl/lib/core.js","./node_modules/zone.js/fesm2015/zone.js","./src/polyfills.ts","./node_modules/core-js/es/reflect/index.js","./node_modules/core-js/internals/a-callable.js","./node_modules/core-js/internals/a-constructor.js","./node_modules/core-js/internals/a-possible-prototype.js","./node_modules/core-js/internals/an-object.js","./node_modules/core-js/internals/array-buffer-non-extensible.js","./node_modules/core-js/internals/array-includes.js","./node_modules/core-js/internals/array-slice.js","./node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/internals/classof.js","./node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/internals/create-property-descriptor.js","./node_modules/core-js/internals/define-built-in.js","./node_modules/core-js/internals/define-global-property.js","./node_modules/core-js/internals/descriptors.js","./node_modules/core-js/internals/document-all.js","./node_modules/core-js/internals/document-create-element.js","./node_modules/core-js/internals/engine-user-agent.js","./node_modules/core-js/internals/engine-v8-version.js","./node_modules/core-js/internals/enum-bug-keys.js","./node_modules/core-js/internals/export.js","./node_modules/core-js/internals/fails.js","./node_modules/core-js/internals/freezing.js","./node_modules/core-js/internals/function-apply.js","./node_modules/core-js/internals/function-bind-native.js","./node_modules/core-js/internals/function-bind.js","./node_modules/core-js/internals/function-call.js","./node_modules/core-js/internals/function-name.js","./node_modules/core-js/internals/function-uncurry-this.js","./node_modules/core-js/internals/get-built-in.js","./node_modules/core-js/internals/get-method.js","./node_modules/core-js/internals/global.js","./node_modules/core-js/internals/has-own-property.js","./node_modules/core-js/internals/hidden-keys.js","./node_modules/core-js/internals/html.js","./node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/internals/inspect-source.js","./node_modules/core-js/internals/internal-state.js","./node_modules/core-js/internals/is-callable.js","./node_modules/core-js/internals/is-constructor.js","./node_modules/core-js/internals/is-data-descriptor.js","./node_modules/core-js/internals/is-forced.js","./node_modules/core-js/internals/is-null-or-undefined.js","./node_modules/core-js/internals/is-object.js","./node_modules/core-js/internals/is-pure.js","./node_modules/core-js/internals/is-symbol.js","./node_modules/core-js/internals/length-of-array-like.js","./node_modules/core-js/internals/make-built-in.js","./node_modules/core-js/internals/math-trunc.js","./node_modules/core-js/internals/object-create.js","./node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/internals/object-define-property.js","./node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/core-js/internals/object-is-extensible.js","./node_modules/core-js/internals/object-is-prototype-of.js","./node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/internals/object-keys.js","./node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/core-js/internals/object-to-string.js","./node_modules/core-js/internals/ordinary-to-primitive.js","./node_modules/core-js/internals/own-keys.js","./node_modules/core-js/internals/path.js","./node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/internals/set-to-string-tag.js","./node_modules/core-js/internals/shared-key.js","./node_modules/core-js/internals/shared-store.js","./node_modules/core-js/internals/shared.js","./node_modules/core-js/internals/symbol-constructor-detection.js","./node_modules/core-js/internals/to-absolute-index.js","./node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/internals/to-integer-or-infinity.js","./node_modules/core-js/internals/to-length.js","./node_modules/core-js/internals/to-object.js","./node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/internals/to-property-key.js","./node_modules/core-js/internals/to-string-tag-support.js","./node_modules/core-js/internals/try-to-string.js","./node_modules/core-js/internals/uid.js","./node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/internals/v8-prototype-define-bug.js","./node_modules/core-js/internals/weak-map-basic-detection.js","./node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/modules/es.object.to-string.js","./node_modules/core-js/modules/es.reflect.apply.js","./node_modules/core-js/modules/es.reflect.construct.js","./node_modules/core-js/modules/es.reflect.define-property.js","./node_modules/core-js/modules/es.reflect.delete-property.js","./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js","./node_modules/core-js/modules/es.reflect.get-prototype-of.js","./node_modules/core-js/modules/es.reflect.get.js","./node_modules/core-js/modules/es.reflect.has.js","./node_modules/core-js/modules/es.reflect.is-extensible.js","./node_modules/core-js/modules/es.reflect.own-keys.js","./node_modules/core-js/modules/es.reflect.prevent-extensions.js","./node_modules/core-js/modules/es.reflect.set-prototype-of.js","./node_modules/core-js/modules/es.reflect.set.js","./node_modules/core-js/modules/es.reflect.to-string-tag.js","ignored|C:\\agent\\_work\\2\\s\\node_modules\\intl|./locale-data/complete.js","./node_modules/@angular/localize/fesm2015/init.mjs"],"sourcesContent":["// Expose `IntlPolyfill` as global to add locale data into runtime later on.\nglobal.IntlPolyfill = require('./lib/core.js');\n\n// Require all locale data for `Intl`. This module will be\n// ignored when bundling for the browser with Browserify/Webpack.\nrequire('./locale-data/complete.js');\n\n// hack to export the polyfill as global Intl if needed\nif (!global.Intl) {\n global.Intl = global.IntlPolyfill;\n global.IntlPolyfill.__applyLocaleSensitivePrototypes();\n}\n\n// providing an idiomatic api for the nodejs version of this module\nmodule.exports = global.IntlPolyfill;\n","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n\nvar jsx = function () {\n var REACT_ELEMENT_TYPE = typeof Symbol === \"function\" && Symbol.for && Symbol.for(\"react.element\") || 0xeac7;\n return function createRawReactElement(type, props, key, children) {\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n props = {};\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null\n };\n };\n}();\n\nvar asyncToGenerator = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new Promise(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return Promise.resolve(value).then(function (value) {\n return step(\"next\", value);\n }, function (err) {\n return step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineEnumerableProperties = function (obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n return obj;\n};\n\nvar defaults = function (obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n};\n\nvar defineProperty$1 = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar _instanceof = function (left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n};\n\nvar interopRequireDefault = function (obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n};\n\nvar interopRequireWildcard = function (obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n};\n\nvar newArrowCheck = function (innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n};\n\nvar objectDestructuringEmpty = function (obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar selfGlobal = typeof global === \"undefined\" ? self : global;\n\nvar set = function set(object, property, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent !== null) {\n set(parent, property, value, receiver);\n }\n } else if (\"value\" in desc && desc.writable) {\n desc.value = value;\n } else {\n var setter = desc.set;\n\n if (setter !== undefined) {\n setter.call(receiver, value);\n }\n }\n\n return value;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\nvar slicedToArrayLoose = function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n var _arr = [];\n\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n\n if (i && _arr.length === i) break;\n }\n\n return _arr;\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n};\n\nvar taggedTemplateLiteral = function (strings, raw) {\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n};\n\nvar taggedTemplateLiteralLoose = function (strings, raw) {\n strings.raw = raw;\n return strings;\n};\n\nvar temporalRef = function (val, name, undef) {\n if (val === undef) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n } else {\n return val;\n }\n};\n\nvar temporalUndefined = {};\n\nvar toArray = function (arr) {\n return Array.isArray(arr) ? arr : Array.from(arr);\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n\n\nvar babelHelpers$1 = Object.freeze({\n jsx: jsx,\n asyncToGenerator: asyncToGenerator,\n classCallCheck: classCallCheck,\n createClass: createClass,\n defineEnumerableProperties: defineEnumerableProperties,\n defaults: defaults,\n defineProperty: defineProperty$1,\n get: get,\n inherits: inherits,\n interopRequireDefault: interopRequireDefault,\n interopRequireWildcard: interopRequireWildcard,\n newArrowCheck: newArrowCheck,\n objectDestructuringEmpty: objectDestructuringEmpty,\n objectWithoutProperties: objectWithoutProperties,\n possibleConstructorReturn: possibleConstructorReturn,\n selfGlobal: selfGlobal,\n set: set,\n slicedToArray: slicedToArray,\n slicedToArrayLoose: slicedToArrayLoose,\n taggedTemplateLiteral: taggedTemplateLiteral,\n taggedTemplateLiteralLoose: taggedTemplateLiteralLoose,\n temporalRef: temporalRef,\n temporalUndefined: temporalUndefined,\n toArray: toArray,\n toConsumableArray: toConsumableArray,\n typeof: _typeof,\n extends: _extends,\n instanceof: _instanceof\n});\n\nvar realDefineProp = function () {\n var sentinel = function sentinel() {};\n try {\n Object.defineProperty(sentinel, 'a', {\n get: function get() {\n return 1;\n }\n });\n Object.defineProperty(sentinel, 'prototype', { writable: false });\n return sentinel.a === 1 && sentinel.prototype instanceof Object;\n } catch (e) {\n return false;\n }\n}();\n\n// Need a workaround for getters in ES3\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\n// We use this a lot (and need it for proto-less objects)\nvar hop = Object.prototype.hasOwnProperty;\n\n// Naive defineProperty for compatibility\nvar defineProperty = realDefineProp ? Object.defineProperty : function (obj, name, desc) {\n if ('get' in desc && obj.__defineGetter__) obj.__defineGetter__(name, desc.get);else if (!hop.call(obj, name) || 'value' in desc) obj[name] = desc.value;\n};\n\n// Array.prototype.indexOf, as good as we need it to be\nvar arrIndexOf = Array.prototype.indexOf || function (search) {\n /*jshint validthis:true */\n var t = this;\n if (!t.length) return -1;\n\n for (var i = arguments[1] || 0, max = t.length; i < max; i++) {\n if (t[i] === search) return i;\n }\n\n return -1;\n};\n\n// Create an object with the specified prototype (2nd arg required for Record)\nvar objCreate = Object.create || function (proto, props) {\n var obj = void 0;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (var k in props) {\n if (hop.call(props, k)) defineProperty(obj, k, props[k]);\n }\n\n return obj;\n};\n\n// Snapshot some (hopefully still) native built-ins\nvar arrSlice = Array.prototype.slice;\nvar arrConcat = Array.prototype.concat;\nvar arrPush = Array.prototype.push;\nvar arrJoin = Array.prototype.join;\nvar arrShift = Array.prototype.shift;\n\n// Naive Function.prototype.bind for compatibility\nvar fnBind = Function.prototype.bind || function (thisObj) {\n var fn = this,\n args = arrSlice.call(arguments, 1);\n\n // All our (presently) bound functions have either 1 or 0 arguments. By returning\n // different function signatures, we can pass some tests in ES3 environments\n if (fn.length === 1) {\n return function () {\n return fn.apply(thisObj, arrConcat.call(args, arrSlice.call(arguments)));\n };\n }\n return function () {\n return fn.apply(thisObj, arrConcat.call(args, arrSlice.call(arguments)));\n };\n};\n\n// Object housing internal properties for constructors\nvar internals = objCreate(null);\n\n// Keep internal properties internal\nvar secret = Math.random();\n\n// Helper functions\n// ================\n\n/**\n * A function to deal with the inaccuracy of calculating log10 in pre-ES6\n * JavaScript environments. Math.log(num) / Math.LN10 was responsible for\n * causing issue #62.\n */\nfunction log10Floor(n) {\n // ES6 provides the more accurate Math.log10\n if (typeof Math.log10 === 'function') return Math.floor(Math.log10(n));\n\n var x = Math.round(Math.log(n) * Math.LOG10E);\n return x - (Number('1e' + x) > n);\n}\n\n/**\n * A map that doesn't contain Object in its prototype chain\n */\nfunction Record(obj) {\n // Copy only own properties over unless this object is already a Record instance\n for (var k in obj) {\n if (obj instanceof Record || hop.call(obj, k)) defineProperty(this, k, { value: obj[k], enumerable: true, writable: true, configurable: true });\n }\n}\nRecord.prototype = objCreate(null);\n\n/**\n * An ordered list\n */\nfunction List() {\n defineProperty(this, 'length', { writable: true, value: 0 });\n\n if (arguments.length) arrPush.apply(this, arrSlice.call(arguments));\n}\nList.prototype = objCreate(null);\n\n/**\n * Constructs a regular expression to restore tainted RegExp properties\n */\nfunction createRegExpRestore() {\n if (internals.disableRegExpRestore) {\n return function () {/* no-op */};\n }\n\n var regExpCache = {\n lastMatch: RegExp.lastMatch || '',\n leftContext: RegExp.leftContext,\n multiline: RegExp.multiline,\n input: RegExp.input\n },\n has = false;\n\n // Create a snapshot of all the 'captured' properties\n for (var i = 1; i <= 9; i++) {\n has = (regExpCache['$' + i] = RegExp['$' + i]) || has;\n }return function () {\n // Now we've snapshotted some properties, escape the lastMatch string\n var esc = /[.?*+^$[\\]\\\\(){}|-]/g,\n lm = regExpCache.lastMatch.replace(esc, '\\\\$&'),\n reg = new List();\n\n // If any of the captured strings were non-empty, iterate over them all\n if (has) {\n for (var _i = 1; _i <= 9; _i++) {\n var m = regExpCache['$' + _i];\n\n // If it's empty, add an empty capturing group\n if (!m) lm = '()' + lm;\n\n // Else find the string in lm and escape & wrap it to capture it\n else {\n m = m.replace(esc, '\\\\$&');\n lm = lm.replace(m, '(' + m + ')');\n }\n\n // Push it to the reg and chop lm to make sure further groups come after\n arrPush.call(reg, lm.slice(0, lm.indexOf('(') + 1));\n lm = lm.slice(lm.indexOf('(') + 1);\n }\n }\n\n var exprStr = arrJoin.call(reg, '') + lm;\n\n // Shorten the regex by replacing each part of the expression with a match\n // for a string of that exact length. This is safe for the type of\n // expressions generated above, because the expression matches the whole\n // match string, so we know each group and each segment between capturing\n // groups can be matched by its length alone.\n exprStr = exprStr.replace(/(\\\\\\(|\\\\\\)|[^()])+/g, function (match) {\n return '[\\\\s\\\\S]{' + match.replace('\\\\', '').length + '}';\n });\n\n // Create the regular expression that will reconstruct the RegExp properties\n var expr = new RegExp(exprStr, regExpCache.multiline ? 'gm' : 'g');\n\n // Set the lastIndex of the generated expression to ensure that the match\n // is found in the correct index.\n expr.lastIndex = regExpCache.leftContext.length;\n\n expr.exec(regExpCache.input);\n };\n}\n\n/**\n * Mimics ES5's abstract ToObject() function\n */\nfunction toObject(arg) {\n if (arg === null) throw new TypeError('Cannot convert null or undefined to object');\n\n if ((typeof arg === 'undefined' ? 'undefined' : babelHelpers$1['typeof'](arg)) === 'object') return arg;\n return Object(arg);\n}\n\nfunction toNumber(arg) {\n if (typeof arg === 'number') return arg;\n return Number(arg);\n}\n\nfunction toInteger(arg) {\n var number = toNumber(arg);\n if (isNaN(number)) return 0;\n if (number === +0 || number === -0 || number === +Infinity || number === -Infinity) return number;\n if (number < 0) return Math.floor(Math.abs(number)) * -1;\n return Math.floor(Math.abs(number));\n}\n\nfunction toLength(arg) {\n var len = toInteger(arg);\n if (len <= 0) return 0;\n if (len === Infinity) return Math.pow(2, 53) - 1;\n return Math.min(len, Math.pow(2, 53) - 1);\n}\n\n/**\n * Returns \"internal\" properties for an object\n */\nfunction getInternalProperties(obj) {\n if (hop.call(obj, '__getInternalProperties')) return obj.__getInternalProperties(secret);\n\n return objCreate(null);\n}\n\n/**\n* Defines regular expressions for various operations related to the BCP 47 syntax,\n* as defined at http://tools.ietf.org/html/bcp47#section-2.1\n*/\n\n// extlang = 3ALPHA ; selected ISO 639 codes\n// *2(\"-\" 3ALPHA) ; permanently reserved\nvar extlang = '[a-z]{3}(?:-[a-z]{3}){0,2}';\n\n// language = 2*3ALPHA ; shortest ISO 639 code\n// [\"-\" extlang] ; sometimes followed by\n// ; extended language subtags\n// / 4ALPHA ; or reserved for future use\n// / 5*8ALPHA ; or registered language subtag\nvar language = '(?:[a-z]{2,3}(?:-' + extlang + ')?|[a-z]{4}|[a-z]{5,8})';\n\n// script = 4ALPHA ; ISO 15924 code\nvar script = '[a-z]{4}';\n\n// region = 2ALPHA ; ISO 3166-1 code\n// / 3DIGIT ; UN M.49 code\nvar region = '(?:[a-z]{2}|\\\\d{3})';\n\n// variant = 5*8alphanum ; registered variants\n// / (DIGIT 3alphanum)\nvar variant = '(?:[a-z0-9]{5,8}|\\\\d[a-z0-9]{3})';\n\n// ; Single alphanumerics\n// ; \"x\" reserved for private use\n// singleton = DIGIT ; 0 - 9\n// / %x41-57 ; A - W\n// / %x59-5A ; Y - Z\n// / %x61-77 ; a - w\n// / %x79-7A ; y - z\nvar singleton = '[0-9a-wy-z]';\n\n// extension = singleton 1*(\"-\" (2*8alphanum))\nvar extension = singleton + '(?:-[a-z0-9]{2,8})+';\n\n// privateuse = \"x\" 1*(\"-\" (1*8alphanum))\nvar privateuse = 'x(?:-[a-z0-9]{1,8})+';\n\n// irregular = \"en-GB-oed\" ; irregular tags do not match\n// / \"i-ami\" ; the 'langtag' production and\n// / \"i-bnn\" ; would not otherwise be\n// / \"i-default\" ; considered 'well-formed'\n// / \"i-enochian\" ; These tags are all valid,\n// / \"i-hak\" ; but most are deprecated\n// / \"i-klingon\" ; in favor of more modern\n// / \"i-lux\" ; subtags or subtag\n// / \"i-mingo\" ; combination\n// / \"i-navajo\"\n// / \"i-pwn\"\n// / \"i-tao\"\n// / \"i-tay\"\n// / \"i-tsu\"\n// / \"sgn-BE-FR\"\n// / \"sgn-BE-NL\"\n// / \"sgn-CH-DE\"\nvar irregular = '(?:en-GB-oed' + '|i-(?:ami|bnn|default|enochian|hak|klingon|lux|mingo|navajo|pwn|tao|tay|tsu)' + '|sgn-(?:BE-FR|BE-NL|CH-DE))';\n\n// regular = \"art-lojban\" ; these tags match the 'langtag'\n// / \"cel-gaulish\" ; production, but their subtags\n// / \"no-bok\" ; are not extended language\n// / \"no-nyn\" ; or variant subtags: their meaning\n// / \"zh-guoyu\" ; is defined by their registration\n// / \"zh-hakka\" ; and all of these are deprecated\n// / \"zh-min\" ; in favor of a more modern\n// / \"zh-min-nan\" ; subtag or sequence of subtags\n// / \"zh-xiang\"\nvar regular = '(?:art-lojban|cel-gaulish|no-bok|no-nyn' + '|zh-(?:guoyu|hakka|min|min-nan|xiang))';\n\n// grandfathered = irregular ; non-redundant tags registered\n// / regular ; during the RFC 3066 era\nvar grandfathered = '(?:' + irregular + '|' + regular + ')';\n\n// langtag = language\n// [\"-\" script]\n// [\"-\" region]\n// *(\"-\" variant)\n// *(\"-\" extension)\n// [\"-\" privateuse]\nvar langtag = language + '(?:-' + script + ')?(?:-' + region + ')?(?:-' + variant + ')*(?:-' + extension + ')*(?:-' + privateuse + ')?';\n\n// Language-Tag = langtag ; normal language tags\n// / privateuse ; private use tag\n// / grandfathered ; grandfathered tags\nvar expBCP47Syntax = RegExp('^(?:' + langtag + '|' + privateuse + '|' + grandfathered + ')$', 'i');\n\n// Match duplicate variants in a language tag\nvar expVariantDupes = RegExp('^(?!x).*?-(' + variant + ')-(?:\\\\w{4,8}-(?!x-))*\\\\1\\\\b', 'i');\n\n// Match duplicate singletons in a language tag (except in private use)\nvar expSingletonDupes = RegExp('^(?!x).*?-(' + singleton + ')-(?:\\\\w+-(?!x-))*\\\\1\\\\b', 'i');\n\n// Match all extension sequences\nvar expExtSequences = RegExp('-' + extension, 'ig');\n\n// Default locale is the first-added locale data for us\nvar defaultLocale = void 0;\nfunction setDefaultLocale(locale) {\n defaultLocale = locale;\n}\n\n// IANA Subtag Registry redundant tag and subtag maps\nvar redundantTags = {\n tags: {\n \"art-lojban\": \"jbo\",\n \"i-ami\": \"ami\",\n \"i-bnn\": \"bnn\",\n \"i-hak\": \"hak\",\n \"i-klingon\": \"tlh\",\n \"i-lux\": \"lb\",\n \"i-navajo\": \"nv\",\n \"i-pwn\": \"pwn\",\n \"i-tao\": \"tao\",\n \"i-tay\": \"tay\",\n \"i-tsu\": \"tsu\",\n \"no-bok\": \"nb\",\n \"no-nyn\": \"nn\",\n \"sgn-BE-FR\": \"sfb\",\n \"sgn-BE-NL\": \"vgt\",\n \"sgn-CH-DE\": \"sgg\",\n \"zh-guoyu\": \"cmn\",\n \"zh-hakka\": \"hak\",\n \"zh-min-nan\": \"nan\",\n \"zh-xiang\": \"hsn\",\n \"sgn-BR\": \"bzs\",\n \"sgn-CO\": \"csn\",\n \"sgn-DE\": \"gsg\",\n \"sgn-DK\": \"dsl\",\n \"sgn-ES\": \"ssp\",\n \"sgn-FR\": \"fsl\",\n \"sgn-GB\": \"bfi\",\n \"sgn-GR\": \"gss\",\n \"sgn-IE\": \"isg\",\n \"sgn-IT\": \"ise\",\n \"sgn-JP\": \"jsl\",\n \"sgn-MX\": \"mfs\",\n \"sgn-NI\": \"ncs\",\n \"sgn-NL\": \"dse\",\n \"sgn-NO\": \"nsl\",\n \"sgn-PT\": \"psr\",\n \"sgn-SE\": \"swl\",\n \"sgn-US\": \"ase\",\n \"sgn-ZA\": \"sfs\",\n \"zh-cmn\": \"cmn\",\n \"zh-cmn-Hans\": \"cmn-Hans\",\n \"zh-cmn-Hant\": \"cmn-Hant\",\n \"zh-gan\": \"gan\",\n \"zh-wuu\": \"wuu\",\n \"zh-yue\": \"yue\"\n },\n subtags: {\n BU: \"MM\",\n DD: \"DE\",\n FX: \"FR\",\n TP: \"TL\",\n YD: \"YE\",\n ZR: \"CD\",\n heploc: \"alalc97\",\n 'in': \"id\",\n iw: \"he\",\n ji: \"yi\",\n jw: \"jv\",\n mo: \"ro\",\n ayx: \"nun\",\n bjd: \"drl\",\n ccq: \"rki\",\n cjr: \"mom\",\n cka: \"cmr\",\n cmk: \"xch\",\n drh: \"khk\",\n drw: \"prs\",\n gav: \"dev\",\n hrr: \"jal\",\n ibi: \"opa\",\n kgh: \"kml\",\n lcq: \"ppr\",\n mst: \"mry\",\n myt: \"mry\",\n sca: \"hle\",\n tie: \"ras\",\n tkk: \"twm\",\n tlw: \"weo\",\n tnf: \"prs\",\n ybd: \"rki\",\n yma: \"lrr\"\n },\n extLang: {\n aao: [\"aao\", \"ar\"],\n abh: [\"abh\", \"ar\"],\n abv: [\"abv\", \"ar\"],\n acm: [\"acm\", \"ar\"],\n acq: [\"acq\", \"ar\"],\n acw: [\"acw\", \"ar\"],\n acx: [\"acx\", \"ar\"],\n acy: [\"acy\", \"ar\"],\n adf: [\"adf\", \"ar\"],\n ads: [\"ads\", \"sgn\"],\n aeb: [\"aeb\", \"ar\"],\n aec: [\"aec\", \"ar\"],\n aed: [\"aed\", \"sgn\"],\n aen: [\"aen\", \"sgn\"],\n afb: [\"afb\", \"ar\"],\n afg: [\"afg\", \"sgn\"],\n ajp: [\"ajp\", \"ar\"],\n apc: [\"apc\", \"ar\"],\n apd: [\"apd\", \"ar\"],\n arb: [\"arb\", \"ar\"],\n arq: [\"arq\", \"ar\"],\n ars: [\"ars\", \"ar\"],\n ary: [\"ary\", \"ar\"],\n arz: [\"arz\", \"ar\"],\n ase: [\"ase\", \"sgn\"],\n asf: [\"asf\", \"sgn\"],\n asp: [\"asp\", \"sgn\"],\n asq: [\"asq\", \"sgn\"],\n asw: [\"asw\", \"sgn\"],\n auz: [\"auz\", \"ar\"],\n avl: [\"avl\", \"ar\"],\n ayh: [\"ayh\", \"ar\"],\n ayl: [\"ayl\", \"ar\"],\n ayn: [\"ayn\", \"ar\"],\n ayp: [\"ayp\", \"ar\"],\n bbz: [\"bbz\", \"ar\"],\n bfi: [\"bfi\", \"sgn\"],\n bfk: [\"bfk\", \"sgn\"],\n bjn: [\"bjn\", \"ms\"],\n bog: [\"bog\", \"sgn\"],\n bqn: [\"bqn\", \"sgn\"],\n bqy: [\"bqy\", \"sgn\"],\n btj: [\"btj\", \"ms\"],\n bve: [\"bve\", \"ms\"],\n bvl: [\"bvl\", \"sgn\"],\n bvu: [\"bvu\", \"ms\"],\n bzs: [\"bzs\", \"sgn\"],\n cdo: [\"cdo\", \"zh\"],\n cds: [\"cds\", \"sgn\"],\n cjy: [\"cjy\", \"zh\"],\n cmn: [\"cmn\", \"zh\"],\n coa: [\"coa\", \"ms\"],\n cpx: [\"cpx\", \"zh\"],\n csc: [\"csc\", \"sgn\"],\n csd: [\"csd\", \"sgn\"],\n cse: [\"cse\", \"sgn\"],\n csf: [\"csf\", \"sgn\"],\n csg: [\"csg\", \"sgn\"],\n csl: [\"csl\", \"sgn\"],\n csn: [\"csn\", \"sgn\"],\n csq: [\"csq\", \"sgn\"],\n csr: [\"csr\", \"sgn\"],\n czh: [\"czh\", \"zh\"],\n czo: [\"czo\", \"zh\"],\n doq: [\"doq\", \"sgn\"],\n dse: [\"dse\", \"sgn\"],\n dsl: [\"dsl\", \"sgn\"],\n dup: [\"dup\", \"ms\"],\n ecs: [\"ecs\", \"sgn\"],\n esl: [\"esl\", \"sgn\"],\n esn: [\"esn\", \"sgn\"],\n eso: [\"eso\", \"sgn\"],\n eth: [\"eth\", \"sgn\"],\n fcs: [\"fcs\", \"sgn\"],\n fse: [\"fse\", \"sgn\"],\n fsl: [\"fsl\", \"sgn\"],\n fss: [\"fss\", \"sgn\"],\n gan: [\"gan\", \"zh\"],\n gds: [\"gds\", \"sgn\"],\n gom: [\"gom\", \"kok\"],\n gse: [\"gse\", \"sgn\"],\n gsg: [\"gsg\", \"sgn\"],\n gsm: [\"gsm\", \"sgn\"],\n gss: [\"gss\", \"sgn\"],\n gus: [\"gus\", \"sgn\"],\n hab: [\"hab\", \"sgn\"],\n haf: [\"haf\", \"sgn\"],\n hak: [\"hak\", \"zh\"],\n hds: [\"hds\", \"sgn\"],\n hji: [\"hji\", \"ms\"],\n hks: [\"hks\", \"sgn\"],\n hos: [\"hos\", \"sgn\"],\n hps: [\"hps\", \"sgn\"],\n hsh: [\"hsh\", \"sgn\"],\n hsl: [\"hsl\", \"sgn\"],\n hsn: [\"hsn\", \"zh\"],\n icl: [\"icl\", \"sgn\"],\n ils: [\"ils\", \"sgn\"],\n inl: [\"inl\", \"sgn\"],\n ins: [\"ins\", \"sgn\"],\n ise: [\"ise\", \"sgn\"],\n isg: [\"isg\", \"sgn\"],\n isr: [\"isr\", \"sgn\"],\n jak: [\"jak\", \"ms\"],\n jax: [\"jax\", \"ms\"],\n jcs: [\"jcs\", \"sgn\"],\n jhs: [\"jhs\", \"sgn\"],\n jls: [\"jls\", \"sgn\"],\n jos: [\"jos\", \"sgn\"],\n jsl: [\"jsl\", \"sgn\"],\n jus: [\"jus\", \"sgn\"],\n kgi: [\"kgi\", \"sgn\"],\n knn: [\"knn\", \"kok\"],\n kvb: [\"kvb\", \"ms\"],\n kvk: [\"kvk\", \"sgn\"],\n kvr: [\"kvr\", \"ms\"],\n kxd: [\"kxd\", \"ms\"],\n lbs: [\"lbs\", \"sgn\"],\n lce: [\"lce\", \"ms\"],\n lcf: [\"lcf\", \"ms\"],\n liw: [\"liw\", \"ms\"],\n lls: [\"lls\", \"sgn\"],\n lsg: [\"lsg\", \"sgn\"],\n lsl: [\"lsl\", \"sgn\"],\n lso: [\"lso\", \"sgn\"],\n lsp: [\"lsp\", \"sgn\"],\n lst: [\"lst\", \"sgn\"],\n lsy: [\"lsy\", \"sgn\"],\n ltg: [\"ltg\", \"lv\"],\n lvs: [\"lvs\", \"lv\"],\n lzh: [\"lzh\", \"zh\"],\n max: [\"max\", \"ms\"],\n mdl: [\"mdl\", \"sgn\"],\n meo: [\"meo\", \"ms\"],\n mfa: [\"mfa\", \"ms\"],\n mfb: [\"mfb\", \"ms\"],\n mfs: [\"mfs\", \"sgn\"],\n min: [\"min\", \"ms\"],\n mnp: [\"mnp\", \"zh\"],\n mqg: [\"mqg\", \"ms\"],\n mre: [\"mre\", \"sgn\"],\n msd: [\"msd\", \"sgn\"],\n msi: [\"msi\", \"ms\"],\n msr: [\"msr\", \"sgn\"],\n mui: [\"mui\", \"ms\"],\n mzc: [\"mzc\", \"sgn\"],\n mzg: [\"mzg\", \"sgn\"],\n mzy: [\"mzy\", \"sgn\"],\n nan: [\"nan\", \"zh\"],\n nbs: [\"nbs\", \"sgn\"],\n ncs: [\"ncs\", \"sgn\"],\n nsi: [\"nsi\", \"sgn\"],\n nsl: [\"nsl\", \"sgn\"],\n nsp: [\"nsp\", \"sgn\"],\n nsr: [\"nsr\", \"sgn\"],\n nzs: [\"nzs\", \"sgn\"],\n okl: [\"okl\", \"sgn\"],\n orn: [\"orn\", \"ms\"],\n ors: [\"ors\", \"ms\"],\n pel: [\"pel\", \"ms\"],\n pga: [\"pga\", \"ar\"],\n pks: [\"pks\", \"sgn\"],\n prl: [\"prl\", \"sgn\"],\n prz: [\"prz\", \"sgn\"],\n psc: [\"psc\", \"sgn\"],\n psd: [\"psd\", \"sgn\"],\n pse: [\"pse\", \"ms\"],\n psg: [\"psg\", \"sgn\"],\n psl: [\"psl\", \"sgn\"],\n pso: [\"pso\", \"sgn\"],\n psp: [\"psp\", \"sgn\"],\n psr: [\"psr\", \"sgn\"],\n pys: [\"pys\", \"sgn\"],\n rms: [\"rms\", \"sgn\"],\n rsi: [\"rsi\", \"sgn\"],\n rsl: [\"rsl\", \"sgn\"],\n sdl: [\"sdl\", \"sgn\"],\n sfb: [\"sfb\", \"sgn\"],\n sfs: [\"sfs\", \"sgn\"],\n sgg: [\"sgg\", \"sgn\"],\n sgx: [\"sgx\", \"sgn\"],\n shu: [\"shu\", \"ar\"],\n slf: [\"slf\", \"sgn\"],\n sls: [\"sls\", \"sgn\"],\n sqk: [\"sqk\", \"sgn\"],\n sqs: [\"sqs\", \"sgn\"],\n ssh: [\"ssh\", \"ar\"],\n ssp: [\"ssp\", \"sgn\"],\n ssr: [\"ssr\", \"sgn\"],\n svk: [\"svk\", \"sgn\"],\n swc: [\"swc\", \"sw\"],\n swh: [\"swh\", \"sw\"],\n swl: [\"swl\", \"sgn\"],\n syy: [\"syy\", \"sgn\"],\n tmw: [\"tmw\", \"ms\"],\n tse: [\"tse\", \"sgn\"],\n tsm: [\"tsm\", \"sgn\"],\n tsq: [\"tsq\", \"sgn\"],\n tss: [\"tss\", \"sgn\"],\n tsy: [\"tsy\", \"sgn\"],\n tza: [\"tza\", \"sgn\"],\n ugn: [\"ugn\", \"sgn\"],\n ugy: [\"ugy\", \"sgn\"],\n ukl: [\"ukl\", \"sgn\"],\n uks: [\"uks\", \"sgn\"],\n urk: [\"urk\", \"ms\"],\n uzn: [\"uzn\", \"uz\"],\n uzs: [\"uzs\", \"uz\"],\n vgt: [\"vgt\", \"sgn\"],\n vkk: [\"vkk\", \"ms\"],\n vkt: [\"vkt\", \"ms\"],\n vsi: [\"vsi\", \"sgn\"],\n vsl: [\"vsl\", \"sgn\"],\n vsv: [\"vsv\", \"sgn\"],\n wuu: [\"wuu\", \"zh\"],\n xki: [\"xki\", \"sgn\"],\n xml: [\"xml\", \"sgn\"],\n xmm: [\"xmm\", \"ms\"],\n xms: [\"xms\", \"sgn\"],\n yds: [\"yds\", \"sgn\"],\n ysl: [\"ysl\", \"sgn\"],\n yue: [\"yue\", \"zh\"],\n zib: [\"zib\", \"sgn\"],\n zlm: [\"zlm\", \"ms\"],\n zmi: [\"zmi\", \"ms\"],\n zsl: [\"zsl\", \"sgn\"],\n zsm: [\"zsm\", \"ms\"]\n }\n};\n\n/**\n * Convert only a-z to uppercase as per section 6.1 of the spec\n */\nfunction toLatinUpperCase(str) {\n var i = str.length;\n\n while (i--) {\n var ch = str.charAt(i);\n\n if (ch >= \"a\" && ch <= \"z\") str = str.slice(0, i) + ch.toUpperCase() + str.slice(i + 1);\n }\n\n return str;\n}\n\n/**\n * The IsStructurallyValidLanguageTag abstract operation verifies that the locale\n * argument (which must be a String value)\n *\n * - represents a well-formed BCP 47 language tag as specified in RFC 5646 section\n * 2.1, or successor,\n * - does not include duplicate variant subtags, and\n * - does not include duplicate singleton subtags.\n *\n * The abstract operation returns true if locale can be generated from the ABNF\n * grammar in section 2.1 of the RFC, starting with Language-Tag, and does not\n * contain duplicate variant or singleton subtags (other than as a private use\n * subtag). It returns false otherwise. Terminal value characters in the grammar are\n * interpreted as the Unicode equivalents of the ASCII octet values given.\n */\nfunction /* 6.2.2 */IsStructurallyValidLanguageTag(locale) {\n // represents a well-formed BCP 47 language tag as specified in RFC 5646\n if (!expBCP47Syntax.test(locale)) return false;\n\n // does not include duplicate variant subtags, and\n if (expVariantDupes.test(locale)) return false;\n\n // does not include duplicate singleton subtags.\n if (expSingletonDupes.test(locale)) return false;\n\n return true;\n}\n\n/**\n * The CanonicalizeLanguageTag abstract operation returns the canonical and case-\n * regularized form of the locale argument (which must be a String value that is\n * a structurally valid BCP 47 language tag as verified by the\n * IsStructurallyValidLanguageTag abstract operation). It takes the steps\n * specified in RFC 5646 section 4.5, or successor, to bring the language tag\n * into canonical form, and to regularize the case of the subtags, but does not\n * take the steps to bring a language tag into “extlang form” and to reorder\n * variant subtags.\n\n * The specifications for extensions to BCP 47 language tags, such as RFC 6067,\n * may include canonicalization rules for the extension subtag sequences they\n * define that go beyond the canonicalization rules of RFC 5646 section 4.5.\n * Implementations are allowed, but not required, to apply these additional rules.\n */\nfunction /* 6.2.3 */CanonicalizeLanguageTag(locale) {\n var match = void 0,\n parts = void 0;\n\n // A language tag is in 'canonical form' when the tag is well-formed\n // according to the rules in Sections 2.1 and 2.2\n\n // Section 2.1 says all subtags use lowercase...\n locale = locale.toLowerCase();\n\n // ...with 2 exceptions: 'two-letter and four-letter subtags that neither\n // appear at the start of the tag nor occur after singletons. Such two-letter\n // subtags are all uppercase (as in the tags \"en-CA-x-ca\" or \"sgn-BE-FR\") and\n // four-letter subtags are titlecase (as in the tag \"az-Latn-x-latn\").\n parts = locale.split('-');\n for (var i = 1, max = parts.length; i < max; i++) {\n // Two-letter subtags are all uppercase\n if (parts[i].length === 2) parts[i] = parts[i].toUpperCase();\n\n // Four-letter subtags are titlecase\n else if (parts[i].length === 4) parts[i] = parts[i].charAt(0).toUpperCase() + parts[i].slice(1);\n\n // Is it a singleton?\n else if (parts[i].length === 1 && parts[i] !== 'x') break;\n }\n locale = arrJoin.call(parts, '-');\n\n // The steps laid out in RFC 5646 section 4.5 are as follows:\n\n // 1. Extension sequences are ordered into case-insensitive ASCII order\n // by singleton subtag.\n if ((match = locale.match(expExtSequences)) && match.length > 1) {\n // The built-in sort() sorts by ASCII order, so use that\n match.sort();\n\n // Replace all extensions with the joined, sorted array\n locale = locale.replace(RegExp('(?:' + expExtSequences.source + ')+', 'i'), arrJoin.call(match, ''));\n }\n\n // 2. Redundant or grandfathered tags are replaced by their 'Preferred-\n // Value', if there is one.\n if (hop.call(redundantTags.tags, locale)) locale = redundantTags.tags[locale];\n\n // 3. Subtags are replaced by their 'Preferred-Value', if there is one.\n // For extlangs, the original primary language subtag is also\n // replaced if there is a primary language subtag in the 'Preferred-\n // Value'.\n parts = locale.split('-');\n\n for (var _i = 1, _max = parts.length; _i < _max; _i++) {\n if (hop.call(redundantTags.subtags, parts[_i])) parts[_i] = redundantTags.subtags[parts[_i]];else if (hop.call(redundantTags.extLang, parts[_i])) {\n parts[_i] = redundantTags.extLang[parts[_i]][0];\n\n // For extlang tags, the prefix needs to be removed if it is redundant\n if (_i === 1 && redundantTags.extLang[parts[1]][1] === parts[0]) {\n parts = arrSlice.call(parts, _i++);\n _max -= 1;\n }\n }\n }\n\n return arrJoin.call(parts, '-');\n}\n\n/**\n * The DefaultLocale abstract operation returns a String value representing the\n * structurally valid (6.2.2) and canonicalized (6.2.3) BCP 47 language tag for the\n * host environment’s current locale.\n */\nfunction /* 6.2.4 */DefaultLocale() {\n return defaultLocale;\n}\n\n// Sect 6.3 Currency Codes\n// =======================\n\nvar expCurrencyCode = /^[A-Z]{3}$/;\n\n/**\n * The IsWellFormedCurrencyCode abstract operation verifies that the currency argument\n * (after conversion to a String value) represents a well-formed 3-letter ISO currency\n * code. The following steps are taken:\n */\nfunction /* 6.3.1 */IsWellFormedCurrencyCode(currency) {\n // 1. Let `c` be ToString(currency)\n var c = String(currency);\n\n // 2. Let `normalized` be the result of mapping c to upper case as described\n // in 6.1.\n var normalized = toLatinUpperCase(c);\n\n // 3. If the string length of normalized is not 3, return false.\n // 4. If normalized contains any character that is not in the range \"A\" to \"Z\"\n // (U+0041 to U+005A), return false.\n if (expCurrencyCode.test(normalized) === false) return false;\n\n // 5. Return true\n return true;\n}\n\nvar expUnicodeExSeq = /-u(?:-[0-9a-z]{2,8})+/gi; // See `extension` below\n\nfunction /* 9.2.1 */CanonicalizeLocaleList(locales) {\n // The abstract operation CanonicalizeLocaleList takes the following steps:\n\n // 1. If locales is undefined, then a. Return a new empty List\n if (locales === undefined) return new List();\n\n // 2. Let seen be a new empty List.\n var seen = new List();\n\n // 3. If locales is a String value, then\n // a. Let locales be a new array created as if by the expression new\n // Array(locales) where Array is the standard built-in constructor with\n // that name and locales is the value of locales.\n locales = typeof locales === 'string' ? [locales] : locales;\n\n // 4. Let O be ToObject(locales).\n var O = toObject(locales);\n\n // 5. Let lenValue be the result of calling the [[Get]] internal method of\n // O with the argument \"length\".\n // 6. Let len be ToUint32(lenValue).\n var len = toLength(O.length);\n\n // 7. Let k be 0.\n var k = 0;\n\n // 8. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ToString(k).\n var Pk = String(k);\n\n // b. Let kPresent be the result of calling the [[HasProperty]] internal\n // method of O with argument Pk.\n var kPresent = Pk in O;\n\n // c. If kPresent is true, then\n if (kPresent) {\n // i. Let kValue be the result of calling the [[Get]] internal\n // method of O with argument Pk.\n var kValue = O[Pk];\n\n // ii. If the type of kValue is not String or Object, then throw a\n // TypeError exception.\n if (kValue === null || typeof kValue !== 'string' && (typeof kValue === \"undefined\" ? \"undefined\" : babelHelpers$1[\"typeof\"](kValue)) !== 'object') throw new TypeError('String or Object type expected');\n\n // iii. Let tag be ToString(kValue).\n var tag = String(kValue);\n\n // iv. If the result of calling the abstract operation\n // IsStructurallyValidLanguageTag (defined in 6.2.2), passing tag as\n // the argument, is false, then throw a RangeError exception.\n if (!IsStructurallyValidLanguageTag(tag)) throw new RangeError(\"'\" + tag + \"' is not a structurally valid language tag\");\n\n // v. Let tag be the result of calling the abstract operation\n // CanonicalizeLanguageTag (defined in 6.2.3), passing tag as the\n // argument.\n tag = CanonicalizeLanguageTag(tag);\n\n // vi. If tag is not an element of seen, then append tag as the last\n // element of seen.\n if (arrIndexOf.call(seen, tag) === -1) arrPush.call(seen, tag);\n }\n\n // d. Increase k by 1.\n k++;\n }\n\n // 9. Return seen.\n return seen;\n}\n\n/**\n * The BestAvailableLocale abstract operation compares the provided argument\n * locale, which must be a String value with a structurally valid and\n * canonicalized BCP 47 language tag, against the locales in availableLocales and\n * returns either the longest non-empty prefix of locale that is an element of\n * availableLocales, or undefined if there is no such element. It uses the\n * fallback mechanism of RFC 4647, section 3.4. The following steps are taken:\n */\nfunction /* 9.2.2 */BestAvailableLocale(availableLocales, locale) {\n // 1. Let candidate be locale\n var candidate = locale;\n\n // 2. Repeat\n while (candidate) {\n // a. If availableLocales contains an element equal to candidate, then return\n // candidate.\n if (arrIndexOf.call(availableLocales, candidate) > -1) return candidate;\n\n // b. Let pos be the character index of the last occurrence of \"-\"\n // (U+002D) within candidate. If that character does not occur, return\n // undefined.\n var pos = candidate.lastIndexOf('-');\n\n if (pos < 0) return;\n\n // c. If pos ≥ 2 and the character \"-\" occurs at index pos-2 of candidate,\n // then decrease pos by 2.\n if (pos >= 2 && candidate.charAt(pos - 2) === '-') pos -= 2;\n\n // d. Let candidate be the substring of candidate from position 0, inclusive,\n // to position pos, exclusive.\n candidate = candidate.substring(0, pos);\n }\n}\n\n/**\n * The LookupMatcher abstract operation compares requestedLocales, which must be\n * a List as returned by CanonicalizeLocaleList, against the locales in\n * availableLocales and determines the best available language to meet the\n * request. The following steps are taken:\n */\nfunction /* 9.2.3 */LookupMatcher(availableLocales, requestedLocales) {\n // 1. Let i be 0.\n var i = 0;\n\n // 2. Let len be the number of elements in requestedLocales.\n var len = requestedLocales.length;\n\n // 3. Let availableLocale be undefined.\n var availableLocale = void 0;\n\n var locale = void 0,\n noExtensionsLocale = void 0;\n\n // 4. Repeat while i < len and availableLocale is undefined:\n while (i < len && !availableLocale) {\n // a. Let locale be the element of requestedLocales at 0-origined list\n // position i.\n locale = requestedLocales[i];\n\n // b. Let noExtensionsLocale be the String value that is locale with all\n // Unicode locale extension sequences removed.\n noExtensionsLocale = String(locale).replace(expUnicodeExSeq, '');\n\n // c. Let availableLocale be the result of calling the\n // BestAvailableLocale abstract operation (defined in 9.2.2) with\n // arguments availableLocales and noExtensionsLocale.\n availableLocale = BestAvailableLocale(availableLocales, noExtensionsLocale);\n\n // d. Increase i by 1.\n i++;\n }\n\n // 5. Let result be a new Record.\n var result = new Record();\n\n // 6. If availableLocale is not undefined, then\n if (availableLocale !== undefined) {\n // a. Set result.[[locale]] to availableLocale.\n result['[[locale]]'] = availableLocale;\n\n // b. If locale and noExtensionsLocale are not the same String value, then\n if (String(locale) !== String(noExtensionsLocale)) {\n // i. Let extension be the String value consisting of the first\n // substring of locale that is a Unicode locale extension sequence.\n var extension = locale.match(expUnicodeExSeq)[0];\n\n // ii. Let extensionIndex be the character position of the initial\n // \"-\" of the first Unicode locale extension sequence within locale.\n var extensionIndex = locale.indexOf('-u-');\n\n // iii. Set result.[[extension]] to extension.\n result['[[extension]]'] = extension;\n\n // iv. Set result.[[extensionIndex]] to extensionIndex.\n result['[[extensionIndex]]'] = extensionIndex;\n }\n }\n // 7. Else\n else\n // a. Set result.[[locale]] to the value returned by the DefaultLocale abstract\n // operation (defined in 6.2.4).\n result['[[locale]]'] = DefaultLocale();\n\n // 8. Return result\n return result;\n}\n\n/**\n * The BestFitMatcher abstract operation compares requestedLocales, which must be\n * a List as returned by CanonicalizeLocaleList, against the locales in\n * availableLocales and determines the best available language to meet the\n * request. The algorithm is implementation dependent, but should produce results\n * that a typical user of the requested locales would perceive as at least as\n * good as those produced by the LookupMatcher abstract operation. Options\n * specified through Unicode locale extension sequences must be ignored by the\n * algorithm. Information about such subsequences is returned separately.\n * The abstract operation returns a record with a [[locale]] field, whose value\n * is the language tag of the selected locale, which must be an element of\n * availableLocales. If the language tag of the request locale that led to the\n * selected locale contained a Unicode locale extension sequence, then the\n * returned record also contains an [[extension]] field whose value is the first\n * Unicode locale extension sequence, and an [[extensionIndex]] field whose value\n * is the index of the first Unicode locale extension sequence within the request\n * locale language tag.\n */\nfunction /* 9.2.4 */BestFitMatcher(availableLocales, requestedLocales) {\n return LookupMatcher(availableLocales, requestedLocales);\n}\n\n/**\n * The ResolveLocale abstract operation compares a BCP 47 language priority list\n * requestedLocales against the locales in availableLocales and determines the\n * best available language to meet the request. availableLocales and\n * requestedLocales must be provided as List values, options as a Record.\n */\nfunction /* 9.2.5 */ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData) {\n if (availableLocales.length === 0) {\n throw new ReferenceError('No locale data has been provided for this object yet.');\n }\n\n // The following steps are taken:\n // 1. Let matcher be the value of options.[[localeMatcher]].\n var matcher = options['[[localeMatcher]]'];\n\n var r = void 0;\n\n // 2. If matcher is \"lookup\", then\n if (matcher === 'lookup')\n // a. Let r be the result of calling the LookupMatcher abstract operation\n // (defined in 9.2.3) with arguments availableLocales and\n // requestedLocales.\n r = LookupMatcher(availableLocales, requestedLocales);\n\n // 3. Else\n else\n // a. Let r be the result of calling the BestFitMatcher abstract\n // operation (defined in 9.2.4) with arguments availableLocales and\n // requestedLocales.\n r = BestFitMatcher(availableLocales, requestedLocales);\n\n // 4. Let foundLocale be the value of r.[[locale]].\n var foundLocale = r['[[locale]]'];\n\n var extensionSubtags = void 0,\n extensionSubtagsLength = void 0;\n\n // 5. If r has an [[extension]] field, then\n if (hop.call(r, '[[extension]]')) {\n // a. Let extension be the value of r.[[extension]].\n var extension = r['[[extension]]'];\n // b. Let split be the standard built-in function object defined in ES5,\n // 15.5.4.14.\n var split = String.prototype.split;\n // c. Let extensionSubtags be the result of calling the [[Call]] internal\n // method of split with extension as the this value and an argument\n // list containing the single item \"-\".\n extensionSubtags = split.call(extension, '-');\n // d. Let extensionSubtagsLength be the result of calling the [[Get]]\n // internal method of extensionSubtags with argument \"length\".\n extensionSubtagsLength = extensionSubtags.length;\n }\n\n // 6. Let result be a new Record.\n var result = new Record();\n\n // 7. Set result.[[dataLocale]] to foundLocale.\n result['[[dataLocale]]'] = foundLocale;\n\n // 8. Let supportedExtension be \"-u\".\n var supportedExtension = '-u';\n // 9. Let i be 0.\n var i = 0;\n // 10. Let len be the result of calling the [[Get]] internal method of\n // relevantExtensionKeys with argument \"length\".\n var len = relevantExtensionKeys.length;\n\n // 11 Repeat while i < len:\n while (i < len) {\n // a. Let key be the result of calling the [[Get]] internal method of\n // relevantExtensionKeys with argument ToString(i).\n var key = relevantExtensionKeys[i];\n // b. Let foundLocaleData be the result of calling the [[Get]] internal\n // method of localeData with the argument foundLocale.\n var foundLocaleData = localeData[foundLocale];\n // c. Let keyLocaleData be the result of calling the [[Get]] internal\n // method of foundLocaleData with the argument key.\n var keyLocaleData = foundLocaleData[key];\n // d. Let value be the result of calling the [[Get]] internal method of\n // keyLocaleData with argument \"0\".\n var value = keyLocaleData['0'];\n // e. Let supportedExtensionAddition be \"\".\n var supportedExtensionAddition = '';\n // f. Let indexOf be the standard built-in function object defined in\n // ES5, 15.4.4.14.\n var indexOf = arrIndexOf;\n\n // g. If extensionSubtags is not undefined, then\n if (extensionSubtags !== undefined) {\n // i. Let keyPos be the result of calling the [[Call]] internal\n // method of indexOf with extensionSubtags as the this value and\n // an argument list containing the single item key.\n var keyPos = indexOf.call(extensionSubtags, key);\n\n // ii. If keyPos ≠ -1, then\n if (keyPos !== -1) {\n // 1. If keyPos + 1 < extensionSubtagsLength and the length of the\n // result of calling the [[Get]] internal method of\n // extensionSubtags with argument ToString(keyPos +1) is greater\n // than 2, then\n if (keyPos + 1 < extensionSubtagsLength && extensionSubtags[keyPos + 1].length > 2) {\n // a. Let requestedValue be the result of calling the [[Get]]\n // internal method of extensionSubtags with argument\n // ToString(keyPos + 1).\n var requestedValue = extensionSubtags[keyPos + 1];\n // b. Let valuePos be the result of calling the [[Call]]\n // internal method of indexOf with keyLocaleData as the\n // this value and an argument list containing the single\n // item requestedValue.\n var valuePos = indexOf.call(keyLocaleData, requestedValue);\n\n // c. If valuePos ≠ -1, then\n if (valuePos !== -1) {\n // i. Let value be requestedValue.\n value = requestedValue,\n // ii. Let supportedExtensionAddition be the\n // concatenation of \"-\", key, \"-\", and value.\n supportedExtensionAddition = '-' + key + '-' + value;\n }\n }\n // 2. Else\n else {\n // a. Let valuePos be the result of calling the [[Call]]\n // internal method of indexOf with keyLocaleData as the this\n // value and an argument list containing the single item\n // \"true\".\n var _valuePos = indexOf(keyLocaleData, 'true');\n\n // b. If valuePos ≠ -1, then\n if (_valuePos !== -1)\n // i. Let value be \"true\".\n value = 'true';\n }\n }\n }\n // h. If options has a field [[]], then\n if (hop.call(options, '[[' + key + ']]')) {\n // i. Let optionsValue be the value of options.[[]].\n var optionsValue = options['[[' + key + ']]'];\n\n // ii. If the result of calling the [[Call]] internal method of indexOf\n // with keyLocaleData as the this value and an argument list\n // containing the single item optionsValue is not -1, then\n if (indexOf.call(keyLocaleData, optionsValue) !== -1) {\n // 1. If optionsValue is not equal to value, then\n if (optionsValue !== value) {\n // a. Let value be optionsValue.\n value = optionsValue;\n // b. Let supportedExtensionAddition be \"\".\n supportedExtensionAddition = '';\n }\n }\n }\n // i. Set result.[[]] to value.\n result['[[' + key + ']]'] = value;\n\n // j. Append supportedExtensionAddition to supportedExtension.\n supportedExtension += supportedExtensionAddition;\n\n // k. Increase i by 1.\n i++;\n }\n // 12. If the length of supportedExtension is greater than 2, then\n if (supportedExtension.length > 2) {\n // a.\n var privateIndex = foundLocale.indexOf(\"-x-\");\n // b.\n if (privateIndex === -1) {\n // i.\n foundLocale = foundLocale + supportedExtension;\n }\n // c.\n else {\n // i.\n var preExtension = foundLocale.substring(0, privateIndex);\n // ii.\n var postExtension = foundLocale.substring(privateIndex);\n // iii.\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n // d. asserting - skipping\n // e.\n foundLocale = CanonicalizeLanguageTag(foundLocale);\n }\n // 13. Set result.[[locale]] to foundLocale.\n result['[[locale]]'] = foundLocale;\n\n // 14. Return result.\n return result;\n}\n\n/**\n * The LookupSupportedLocales abstract operation returns the subset of the\n * provided BCP 47 language priority list requestedLocales for which\n * availableLocales has a matching locale when using the BCP 47 Lookup algorithm.\n * Locales appear in the same order in the returned list as in requestedLocales.\n * The following steps are taken:\n */\nfunction /* 9.2.6 */LookupSupportedLocales(availableLocales, requestedLocales) {\n // 1. Let len be the number of elements in requestedLocales.\n var len = requestedLocales.length;\n // 2. Let subset be a new empty List.\n var subset = new List();\n // 3. Let k be 0.\n var k = 0;\n\n // 4. Repeat while k < len\n while (k < len) {\n // a. Let locale be the element of requestedLocales at 0-origined list\n // position k.\n var locale = requestedLocales[k];\n // b. Let noExtensionsLocale be the String value that is locale with all\n // Unicode locale extension sequences removed.\n var noExtensionsLocale = String(locale).replace(expUnicodeExSeq, '');\n // c. Let availableLocale be the result of calling the\n // BestAvailableLocale abstract operation (defined in 9.2.2) with\n // arguments availableLocales and noExtensionsLocale.\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionsLocale);\n\n // d. If availableLocale is not undefined, then append locale to the end of\n // subset.\n if (availableLocale !== undefined) arrPush.call(subset, locale);\n\n // e. Increment k by 1.\n k++;\n }\n\n // 5. Let subsetArray be a new Array object whose elements are the same\n // values in the same order as the elements of subset.\n var subsetArray = arrSlice.call(subset);\n\n // 6. Return subsetArray.\n return subsetArray;\n}\n\n/**\n * The BestFitSupportedLocales abstract operation returns the subset of the\n * provided BCP 47 language priority list requestedLocales for which\n * availableLocales has a matching locale when using the Best Fit Matcher\n * algorithm. Locales appear in the same order in the returned list as in\n * requestedLocales. The steps taken are implementation dependent.\n */\nfunction /*9.2.7 */BestFitSupportedLocales(availableLocales, requestedLocales) {\n // ###TODO: implement this function as described by the specification###\n return LookupSupportedLocales(availableLocales, requestedLocales);\n}\n\n/**\n * The SupportedLocales abstract operation returns the subset of the provided BCP\n * 47 language priority list requestedLocales for which availableLocales has a\n * matching locale. Two algorithms are available to match the locales: the Lookup\n * algorithm described in RFC 4647 section 3.4, and an implementation dependent\n * best-fit algorithm. Locales appear in the same order in the returned list as\n * in requestedLocales. The following steps are taken:\n */\nfunction /*9.2.8 */SupportedLocales(availableLocales, requestedLocales, options) {\n var matcher = void 0,\n subset = void 0;\n\n // 1. If options is not undefined, then\n if (options !== undefined) {\n // a. Let options be ToObject(options).\n options = new Record(toObject(options));\n // b. Let matcher be the result of calling the [[Get]] internal method of\n // options with argument \"localeMatcher\".\n matcher = options.localeMatcher;\n\n // c. If matcher is not undefined, then\n if (matcher !== undefined) {\n // i. Let matcher be ToString(matcher).\n matcher = String(matcher);\n\n // ii. If matcher is not \"lookup\" or \"best fit\", then throw a RangeError\n // exception.\n if (matcher !== 'lookup' && matcher !== 'best fit') throw new RangeError('matcher should be \"lookup\" or \"best fit\"');\n }\n }\n // 2. If matcher is undefined or \"best fit\", then\n if (matcher === undefined || matcher === 'best fit')\n // a. Let subset be the result of calling the BestFitSupportedLocales\n // abstract operation (defined in 9.2.7) with arguments\n // availableLocales and requestedLocales.\n subset = BestFitSupportedLocales(availableLocales, requestedLocales);\n // 3. Else\n else\n // a. Let subset be the result of calling the LookupSupportedLocales\n // abstract operation (defined in 9.2.6) with arguments\n // availableLocales and requestedLocales.\n subset = LookupSupportedLocales(availableLocales, requestedLocales);\n\n // 4. For each named own property name P of subset,\n for (var P in subset) {\n if (!hop.call(subset, P)) continue;\n\n // a. Let desc be the result of calling the [[GetOwnProperty]] internal\n // method of subset with P.\n // b. Set desc.[[Writable]] to false.\n // c. Set desc.[[Configurable]] to false.\n // d. Call the [[DefineOwnProperty]] internal method of subset with P, desc,\n // and true as arguments.\n defineProperty(subset, P, {\n writable: false, configurable: false, value: subset[P]\n });\n }\n // \"Freeze\" the array so no new elements can be added\n defineProperty(subset, 'length', { writable: false });\n\n // 5. Return subset\n return subset;\n}\n\n/**\n * The GetOption abstract operation extracts the value of the property named\n * property from the provided options object, converts it to the required type,\n * checks whether it is one of a List of allowed values, and fills in a fallback\n * value if necessary.\n */\nfunction /*9.2.9 */GetOption(options, property, type, values, fallback) {\n // 1. Let value be the result of calling the [[Get]] internal method of\n // options with argument property.\n var value = options[property];\n\n // 2. If value is not undefined, then\n if (value !== undefined) {\n // a. Assert: type is \"boolean\" or \"string\".\n // b. If type is \"boolean\", then let value be ToBoolean(value).\n // c. If type is \"string\", then let value be ToString(value).\n value = type === 'boolean' ? Boolean(value) : type === 'string' ? String(value) : value;\n\n // d. If values is not undefined, then\n if (values !== undefined) {\n // i. If values does not contain an element equal to value, then throw a\n // RangeError exception.\n if (arrIndexOf.call(values, value) === -1) throw new RangeError(\"'\" + value + \"' is not an allowed value for `\" + property + '`');\n }\n\n // e. Return value.\n return value;\n }\n // Else return fallback.\n return fallback;\n}\n\n/**\n * The GetNumberOption abstract operation extracts a property value from the\n * provided options object, converts it to a Number value, checks whether it is\n * in the allowed range, and fills in a fallback value if necessary.\n */\nfunction /* 9.2.10 */GetNumberOption(options, property, minimum, maximum, fallback) {\n // 1. Let value be the result of calling the [[Get]] internal method of\n // options with argument property.\n var value = options[property];\n\n // 2. If value is not undefined, then\n if (value !== undefined) {\n // a. Let value be ToNumber(value).\n value = Number(value);\n\n // b. If value is NaN or less than minimum or greater than maximum, throw a\n // RangeError exception.\n if (isNaN(value) || value < minimum || value > maximum) throw new RangeError('Value is not a number or outside accepted range');\n\n // c. Return floor(value).\n return Math.floor(value);\n }\n // 3. Else return fallback.\n return fallback;\n}\n\n// 8 The Intl Object\nvar Intl = {};\n\n// 8.2 Function Properties of the Intl Object\n\n// 8.2.1\n// @spec[tc39/ecma402/master/spec/intl.html]\n// @clause[sec-intl.getcanonicallocales]\nfunction getCanonicalLocales(locales) {\n // 1. Let ll be ? CanonicalizeLocaleList(locales).\n var ll = CanonicalizeLocaleList(locales);\n // 2. Return CreateArrayFromList(ll).\n {\n var result = [];\n\n var len = ll.length;\n var k = 0;\n\n while (k < len) {\n result[k] = ll[k];\n k++;\n }\n return result;\n }\n}\n\nObject.defineProperty(Intl, 'getCanonicalLocales', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: getCanonicalLocales\n});\n\n// Currency minor units output from get-4217 grunt task, formatted\nvar currencyMinorUnits = {\n BHD: 3, BYR: 0, XOF: 0, BIF: 0, XAF: 0, CLF: 4, CLP: 0, KMF: 0, DJF: 0,\n XPF: 0, GNF: 0, ISK: 0, IQD: 3, JPY: 0, JOD: 3, KRW: 0, KWD: 3, LYD: 3,\n OMR: 3, PYG: 0, RWF: 0, TND: 3, UGX: 0, UYI: 0, VUV: 0, VND: 0\n};\n\n// Define the NumberFormat constructor internally so it cannot be tainted\nfunction NumberFormatConstructor() {\n var locales = arguments[0];\n var options = arguments[1];\n\n if (!this || this === Intl) {\n return new Intl.NumberFormat(locales, options);\n }\n\n return InitializeNumberFormat(toObject(this), locales, options);\n}\n\ndefineProperty(Intl, 'NumberFormat', {\n configurable: true,\n writable: true,\n value: NumberFormatConstructor\n});\n\n// Must explicitly set prototypes as unwritable\ndefineProperty(Intl.NumberFormat, 'prototype', {\n writable: false\n});\n\n/**\n * The abstract operation InitializeNumberFormat accepts the arguments\n * numberFormat (which must be an object), locales, and options. It initializes\n * numberFormat as a NumberFormat object.\n */\nfunction /*11.1.1.1 */InitializeNumberFormat(numberFormat, locales, options) {\n // This will be a internal properties object if we're not already initialized\n var internal = getInternalProperties(numberFormat);\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore();\n\n // 1. If numberFormat has an [[initializedIntlObject]] internal property with\n // value true, throw a TypeError exception.\n if (internal['[[initializedIntlObject]]'] === true) throw new TypeError('`this` object has already been initialized as an Intl object');\n\n // Need this to access the `internal` object\n defineProperty(numberFormat, '__getInternalProperties', {\n value: function value() {\n // NOTE: Non-standard, for internal use only\n if (arguments[0] === secret) return internal;\n }\n });\n\n // 2. Set the [[initializedIntlObject]] internal property of numberFormat to true.\n internal['[[initializedIntlObject]]'] = true;\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n var requestedLocales = CanonicalizeLocaleList(locales);\n\n // 4. If options is undefined, then\n if (options === undefined)\n // a. Let options be the result of creating a new object as if by the\n // expression new Object() where Object is the standard built-in constructor\n // with that name.\n options = {};\n\n // 5. Else\n else\n // a. Let options be ToObject(options).\n options = toObject(options);\n\n // 6. Let opt be a new Record.\n var opt = new Record(),\n\n\n // 7. Let matcher be the result of calling the GetOption abstract operation\n // (defined in 9.2.9) with the arguments options, \"localeMatcher\", \"string\",\n // a List containing the two String values \"lookup\" and \"best fit\", and\n // \"best fit\".\n matcher = GetOption(options, 'localeMatcher', 'string', new List('lookup', 'best fit'), 'best fit');\n\n // 8. Set opt.[[localeMatcher]] to matcher.\n opt['[[localeMatcher]]'] = matcher;\n\n // 9. Let NumberFormat be the standard built-in object that is the initial value\n // of Intl.NumberFormat.\n // 10. Let localeData be the value of the [[localeData]] internal property of\n // NumberFormat.\n var localeData = internals.NumberFormat['[[localeData]]'];\n\n // 11. Let r be the result of calling the ResolveLocale abstract operation\n // (defined in 9.2.5) with the [[availableLocales]] internal property of\n // NumberFormat, requestedLocales, opt, the [[relevantExtensionKeys]]\n // internal property of NumberFormat, and localeData.\n var r = ResolveLocale(internals.NumberFormat['[[availableLocales]]'], requestedLocales, opt, internals.NumberFormat['[[relevantExtensionKeys]]'], localeData);\n\n // 12. Set the [[locale]] internal property of numberFormat to the value of\n // r.[[locale]].\n internal['[[locale]]'] = r['[[locale]]'];\n\n // 13. Set the [[numberingSystem]] internal property of numberFormat to the value\n // of r.[[nu]].\n internal['[[numberingSystem]]'] = r['[[nu]]'];\n\n // The specification doesn't tell us to do this, but it's helpful later on\n internal['[[dataLocale]]'] = r['[[dataLocale]]'];\n\n // 14. Let dataLocale be the value of r.[[dataLocale]].\n var dataLocale = r['[[dataLocale]]'];\n\n // 15. Let s be the result of calling the GetOption abstract operation with the\n // arguments options, \"style\", \"string\", a List containing the three String\n // values \"decimal\", \"percent\", and \"currency\", and \"decimal\".\n var s = GetOption(options, 'style', 'string', new List('decimal', 'percent', 'currency'), 'decimal');\n\n // 16. Set the [[style]] internal property of numberFormat to s.\n internal['[[style]]'] = s;\n\n // 17. Let c be the result of calling the GetOption abstract operation with the\n // arguments options, \"currency\", \"string\", undefined, and undefined.\n var c = GetOption(options, 'currency', 'string');\n\n // 18. If c is not undefined and the result of calling the\n // IsWellFormedCurrencyCode abstract operation (defined in 6.3.1) with\n // argument c is false, then throw a RangeError exception.\n if (c !== undefined && !IsWellFormedCurrencyCode(c)) throw new RangeError(\"'\" + c + \"' is not a valid currency code\");\n\n // 19. If s is \"currency\" and c is undefined, throw a TypeError exception.\n if (s === 'currency' && c === undefined) throw new TypeError('Currency code is required when style is currency');\n\n var cDigits = void 0;\n\n // 20. If s is \"currency\", then\n if (s === 'currency') {\n // a. Let c be the result of converting c to upper case as specified in 6.1.\n c = c.toUpperCase();\n\n // b. Set the [[currency]] internal property of numberFormat to c.\n internal['[[currency]]'] = c;\n\n // c. Let cDigits be the result of calling the CurrencyDigits abstract\n // operation (defined below) with argument c.\n cDigits = CurrencyDigits(c);\n }\n\n // 21. Let cd be the result of calling the GetOption abstract operation with the\n // arguments options, \"currencyDisplay\", \"string\", a List containing the\n // three String values \"code\", \"symbol\", and \"name\", and \"symbol\".\n var cd = GetOption(options, 'currencyDisplay', 'string', new List('code', 'symbol', 'name'), 'symbol');\n\n // 22. If s is \"currency\", then set the [[currencyDisplay]] internal property of\n // numberFormat to cd.\n if (s === 'currency') internal['[[currencyDisplay]]'] = cd;\n\n // 23. Let mnid be the result of calling the GetNumberOption abstract operation\n // (defined in 9.2.10) with arguments options, \"minimumIntegerDigits\", 1, 21,\n // and 1.\n var mnid = GetNumberOption(options, 'minimumIntegerDigits', 1, 21, 1);\n\n // 24. Set the [[minimumIntegerDigits]] internal property of numberFormat to mnid.\n internal['[[minimumIntegerDigits]]'] = mnid;\n\n // 25. If s is \"currency\", then let mnfdDefault be cDigits; else let mnfdDefault\n // be 0.\n var mnfdDefault = s === 'currency' ? cDigits : 0;\n\n // 26. Let mnfd be the result of calling the GetNumberOption abstract operation\n // with arguments options, \"minimumFractionDigits\", 0, 20, and mnfdDefault.\n var mnfd = GetNumberOption(options, 'minimumFractionDigits', 0, 20, mnfdDefault);\n\n // 27. Set the [[minimumFractionDigits]] internal property of numberFormat to mnfd.\n internal['[[minimumFractionDigits]]'] = mnfd;\n\n // 28. If s is \"currency\", then let mxfdDefault be max(mnfd, cDigits); else if s\n // is \"percent\", then let mxfdDefault be max(mnfd, 0); else let mxfdDefault\n // be max(mnfd, 3).\n var mxfdDefault = s === 'currency' ? Math.max(mnfd, cDigits) : s === 'percent' ? Math.max(mnfd, 0) : Math.max(mnfd, 3);\n\n // 29. Let mxfd be the result of calling the GetNumberOption abstract operation\n // with arguments options, \"maximumFractionDigits\", mnfd, 20, and mxfdDefault.\n var mxfd = GetNumberOption(options, 'maximumFractionDigits', mnfd, 20, mxfdDefault);\n\n // 30. Set the [[maximumFractionDigits]] internal property of numberFormat to mxfd.\n internal['[[maximumFractionDigits]]'] = mxfd;\n\n // 31. Let mnsd be the result of calling the [[Get]] internal method of options\n // with argument \"minimumSignificantDigits\".\n var mnsd = options.minimumSignificantDigits;\n\n // 32. Let mxsd be the result of calling the [[Get]] internal method of options\n // with argument \"maximumSignificantDigits\".\n var mxsd = options.maximumSignificantDigits;\n\n // 33. If mnsd is not undefined or mxsd is not undefined, then:\n if (mnsd !== undefined || mxsd !== undefined) {\n // a. Let mnsd be the result of calling the GetNumberOption abstract\n // operation with arguments options, \"minimumSignificantDigits\", 1, 21,\n // and 1.\n mnsd = GetNumberOption(options, 'minimumSignificantDigits', 1, 21, 1);\n\n // b. Let mxsd be the result of calling the GetNumberOption abstract\n // operation with arguments options, \"maximumSignificantDigits\", mnsd,\n // 21, and 21.\n mxsd = GetNumberOption(options, 'maximumSignificantDigits', mnsd, 21, 21);\n\n // c. Set the [[minimumSignificantDigits]] internal property of numberFormat\n // to mnsd, and the [[maximumSignificantDigits]] internal property of\n // numberFormat to mxsd.\n internal['[[minimumSignificantDigits]]'] = mnsd;\n internal['[[maximumSignificantDigits]]'] = mxsd;\n }\n // 34. Let g be the result of calling the GetOption abstract operation with the\n // arguments options, \"useGrouping\", \"boolean\", undefined, and true.\n var g = GetOption(options, 'useGrouping', 'boolean', undefined, true);\n\n // 35. Set the [[useGrouping]] internal property of numberFormat to g.\n internal['[[useGrouping]]'] = g;\n\n // 36. Let dataLocaleData be the result of calling the [[Get]] internal method of\n // localeData with argument dataLocale.\n var dataLocaleData = localeData[dataLocale];\n\n // 37. Let patterns be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"patterns\".\n var patterns = dataLocaleData.patterns;\n\n // 38. Assert: patterns is an object (see 11.2.3)\n\n // 39. Let stylePatterns be the result of calling the [[Get]] internal method of\n // patterns with argument s.\n var stylePatterns = patterns[s];\n\n // 40. Set the [[positivePattern]] internal property of numberFormat to the\n // result of calling the [[Get]] internal method of stylePatterns with the\n // argument \"positivePattern\".\n internal['[[positivePattern]]'] = stylePatterns.positivePattern;\n\n // 41. Set the [[negativePattern]] internal property of numberFormat to the\n // result of calling the [[Get]] internal method of stylePatterns with the\n // argument \"negativePattern\".\n internal['[[negativePattern]]'] = stylePatterns.negativePattern;\n\n // 42. Set the [[boundFormat]] internal property of numberFormat to undefined.\n internal['[[boundFormat]]'] = undefined;\n\n // 43. Set the [[initializedNumberFormat]] internal property of numberFormat to\n // true.\n internal['[[initializedNumberFormat]]'] = true;\n\n // In ES3, we need to pre-bind the format() function\n if (es3) numberFormat.format = GetFormatNumber.call(numberFormat);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // Return the newly initialised object\n return numberFormat;\n}\n\nfunction CurrencyDigits(currency) {\n // When the CurrencyDigits abstract operation is called with an argument currency\n // (which must be an upper case String value), the following steps are taken:\n\n // 1. If the ISO 4217 currency and funds code list contains currency as an\n // alphabetic code, then return the minor unit value corresponding to the\n // currency from the list; else return 2.\n return currencyMinorUnits[currency] !== undefined ? currencyMinorUnits[currency] : 2;\n}\n\n/* 11.2.3 */internals.NumberFormat = {\n '[[availableLocales]]': [],\n '[[relevantExtensionKeys]]': ['nu'],\n '[[localeData]]': {}\n};\n\n/**\n * When the supportedLocalesOf method of Intl.NumberFormat is called, the\n * following steps are taken:\n */\n/* 11.2.2 */\ndefineProperty(Intl.NumberFormat, 'supportedLocalesOf', {\n configurable: true,\n writable: true,\n value: fnBind.call(function (locales) {\n // Bound functions only have the `this` value altered if being used as a constructor,\n // this lets us imitate a native function that has no constructor\n if (!hop.call(this, '[[availableLocales]]')) throw new TypeError('supportedLocalesOf() is not a constructor');\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore(),\n\n\n // 1. If options is not provided, then let options be undefined.\n options = arguments[1],\n\n\n // 2. Let availableLocales be the value of the [[availableLocales]] internal\n // property of the standard built-in object that is the initial value of\n // Intl.NumberFormat.\n\n availableLocales = this['[[availableLocales]]'],\n\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n requestedLocales = CanonicalizeLocaleList(locales);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // 4. Return the result of calling the SupportedLocales abstract operation\n // (defined in 9.2.8) with arguments availableLocales, requestedLocales,\n // and options.\n return SupportedLocales(availableLocales, requestedLocales, options);\n }, internals.NumberFormat)\n});\n\n/**\n * This named accessor property returns a function that formats a number\n * according to the effective locale and the formatting options of this\n * NumberFormat object.\n */\n/* 11.3.2 */defineProperty(Intl.NumberFormat.prototype, 'format', {\n configurable: true,\n get: GetFormatNumber\n});\n\nfunction GetFormatNumber() {\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 11.3_b\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for format() is not an initialized Intl.NumberFormat object.');\n\n // The value of the [[Get]] attribute is a function that takes the following\n // steps:\n\n // 1. If the [[boundFormat]] internal property of this NumberFormat object\n // is undefined, then:\n if (internal['[[boundFormat]]'] === undefined) {\n // a. Let F be a Function object, with internal properties set as\n // specified for built-in functions in ES5, 15, or successor, and the\n // length property set to 1, that takes the argument value and\n // performs the following steps:\n var F = function F(value) {\n // i. If value is not provided, then let value be undefined.\n // ii. Let x be ToNumber(value).\n // iii. Return the result of calling the FormatNumber abstract\n // operation (defined below) with arguments this and x.\n return FormatNumber(this, /* x = */Number(value));\n };\n\n // b. Let bind be the standard built-in function object defined in ES5,\n // 15.3.4.5.\n // c. Let bf be the result of calling the [[Call]] internal method of\n // bind with F as the this value and an argument list containing\n // the single item this.\n var bf = fnBind.call(F, this);\n\n // d. Set the [[boundFormat]] internal property of this NumberFormat\n // object to bf.\n internal['[[boundFormat]]'] = bf;\n }\n // Return the value of the [[boundFormat]] internal property of this\n // NumberFormat object.\n return internal['[[boundFormat]]'];\n}\n\nfunction formatToParts() {\n var value = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for formatToParts() is not an initialized Intl.NumberFormat object.');\n\n var x = Number(value);\n return FormatNumberToParts(this, x);\n}\n\nObject.defineProperty(Intl.NumberFormat.prototype, 'formatToParts', {\n configurable: true,\n enumerable: false,\n writable: true,\n value: formatToParts\n});\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-formatnumbertoparts]\n */\nfunction FormatNumberToParts(numberFormat, x) {\n // 1. Let parts be ? PartitionNumberPattern(numberFormat, x).\n var parts = PartitionNumberPattern(numberFormat, x);\n // 2. Let result be ArrayCreate(0).\n var result = [];\n // 3. Let n be 0.\n var n = 0;\n // 4. For each part in parts, do:\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n // a. Let O be ObjectCreate(%ObjectPrototype%).\n var O = {};\n // a. Perform ? CreateDataPropertyOrThrow(O, \"type\", part.[[type]]).\n O.type = part['[[type]]'];\n // a. Perform ? CreateDataPropertyOrThrow(O, \"value\", part.[[value]]).\n O.value = part['[[value]]'];\n // a. Perform ? CreateDataPropertyOrThrow(result, ? ToString(n), O).\n result[n] = O;\n // a. Increment n by 1.\n n += 1;\n }\n // 5. Return result.\n return result;\n}\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-partitionnumberpattern]\n */\nfunction PartitionNumberPattern(numberFormat, x) {\n\n var internal = getInternalProperties(numberFormat),\n locale = internal['[[dataLocale]]'],\n nums = internal['[[numberingSystem]]'],\n data = internals.NumberFormat['[[localeData]]'][locale],\n ild = data.symbols[nums] || data.symbols.latn,\n pattern = void 0;\n\n // 1. If x is not NaN and x < 0, then:\n if (!isNaN(x) && x < 0) {\n // a. Let x be -x.\n x = -x;\n // a. Let pattern be the value of numberFormat.[[negativePattern]].\n pattern = internal['[[negativePattern]]'];\n }\n // 2. Else,\n else {\n // a. Let pattern be the value of numberFormat.[[positivePattern]].\n pattern = internal['[[positivePattern]]'];\n }\n // 3. Let result be a new empty List.\n var result = new List();\n // 4. Let beginIndex be Call(%StringProto_indexOf%, pattern, \"{\", 0).\n var beginIndex = pattern.indexOf('{', 0);\n // 5. Let endIndex be 0.\n var endIndex = 0;\n // 6. Let nextIndex be 0.\n var nextIndex = 0;\n // 7. Let length be the number of code units in pattern.\n var length = pattern.length;\n // 8. Repeat while beginIndex is an integer index into pattern:\n while (beginIndex > -1 && beginIndex < length) {\n // a. Set endIndex to Call(%StringProto_indexOf%, pattern, \"}\", beginIndex)\n endIndex = pattern.indexOf('}', beginIndex);\n // a. If endIndex = -1, throw new Error exception.\n if (endIndex === -1) throw new Error();\n // a. If beginIndex is greater than nextIndex, then:\n if (beginIndex > nextIndex) {\n // i. Let literal be a substring of pattern from position nextIndex, inclusive, to position beginIndex, exclusive.\n var literal = pattern.substring(nextIndex, beginIndex);\n // ii. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': literal });\n }\n // a. Let p be the substring of pattern from position beginIndex, exclusive, to position endIndex, exclusive.\n var p = pattern.substring(beginIndex + 1, endIndex);\n // a. If p is equal \"number\", then:\n if (p === \"number\") {\n // i. If x is NaN,\n if (isNaN(x)) {\n // 1. Let n be an ILD String value indicating the NaN value.\n var n = ild.nan;\n // 2. Add new part record { [[type]]: \"nan\", [[value]]: n } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'nan', '[[value]]': n });\n }\n // ii. Else if isFinite(x) is false,\n else if (!isFinite(x)) {\n // 1. Let n be an ILD String value indicating infinity.\n var _n = ild.infinity;\n // 2. Add new part record { [[type]]: \"infinity\", [[value]]: n } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'infinity', '[[value]]': _n });\n }\n // iii. Else,\n else {\n // 1. If the value of numberFormat.[[style]] is \"percent\" and isFinite(x), let x be 100 × x.\n if (internal['[[style]]'] === 'percent' && isFinite(x)) x *= 100;\n\n var _n2 = void 0;\n // 2. If the numberFormat.[[minimumSignificantDigits]] and numberFormat.[[maximumSignificantDigits]] are present, then\n if (hop.call(internal, '[[minimumSignificantDigits]]') && hop.call(internal, '[[maximumSignificantDigits]]')) {\n // a. Let n be ToRawPrecision(x, numberFormat.[[minimumSignificantDigits]], numberFormat.[[maximumSignificantDigits]]).\n _n2 = ToRawPrecision(x, internal['[[minimumSignificantDigits]]'], internal['[[maximumSignificantDigits]]']);\n }\n // 3. Else,\n else {\n // a. Let n be ToRawFixed(x, numberFormat.[[minimumIntegerDigits]], numberFormat.[[minimumFractionDigits]], numberFormat.[[maximumFractionDigits]]).\n _n2 = ToRawFixed(x, internal['[[minimumIntegerDigits]]'], internal['[[minimumFractionDigits]]'], internal['[[maximumFractionDigits]]']);\n }\n // 4. If the value of the numberFormat.[[numberingSystem]] matches one of the values in the \"Numbering System\" column of Table 2 below, then\n if (numSys[nums]) {\n (function () {\n // a. Let digits be an array whose 10 String valued elements are the UTF-16 string representations of the 10 digits specified in the \"Digits\" column of the matching row in Table 2.\n var digits = numSys[nums];\n // a. Replace each digit in n with the value of digits[digit].\n _n2 = String(_n2).replace(/\\d/g, function (digit) {\n return digits[digit];\n });\n })();\n }\n // 5. Else use an implementation dependent algorithm to map n to the appropriate representation of n in the given numbering system.\n else _n2 = String(_n2); // ###TODO###\n\n var integer = void 0;\n var fraction = void 0;\n // 6. Let decimalSepIndex be Call(%StringProto_indexOf%, n, \".\", 0).\n var decimalSepIndex = _n2.indexOf('.', 0);\n // 7. If decimalSepIndex > 0, then:\n if (decimalSepIndex > 0) {\n // a. Let integer be the substring of n from position 0, inclusive, to position decimalSepIndex, exclusive.\n integer = _n2.substring(0, decimalSepIndex);\n // a. Let fraction be the substring of n from position decimalSepIndex, exclusive, to the end of n.\n fraction = _n2.substring(decimalSepIndex + 1, decimalSepIndex.length);\n }\n // 8. Else:\n else {\n // a. Let integer be n.\n integer = _n2;\n // a. Let fraction be undefined.\n fraction = undefined;\n }\n // 9. If the value of the numberFormat.[[useGrouping]] is true,\n if (internal['[[useGrouping]]'] === true) {\n // a. Let groupSepSymbol be the ILND String representing the grouping separator.\n var groupSepSymbol = ild.group;\n // a. Let groups be a List whose elements are, in left to right order, the substrings defined by ILND set of locations within the integer.\n var groups = [];\n // ----> implementation:\n // Primary group represents the group closest to the decimal\n var pgSize = data.patterns.primaryGroupSize || 3;\n // Secondary group is every other group\n var sgSize = data.patterns.secondaryGroupSize || pgSize;\n // Group only if necessary\n if (integer.length > pgSize) {\n // Index of the primary grouping separator\n var end = integer.length - pgSize;\n // Starting index for our loop\n var idx = end % sgSize;\n var start = integer.slice(0, idx);\n if (start.length) arrPush.call(groups, start);\n // Loop to separate into secondary grouping digits\n while (idx < end) {\n arrPush.call(groups, integer.slice(idx, idx + sgSize));\n idx += sgSize;\n }\n // Add the primary grouping digits\n arrPush.call(groups, integer.slice(end));\n } else {\n arrPush.call(groups, integer);\n }\n // a. Assert: The number of elements in groups List is greater than 0.\n if (groups.length === 0) throw new Error();\n // a. Repeat, while groups List is not empty:\n while (groups.length) {\n // i. Remove the first element from groups and let integerGroup be the value of that element.\n var integerGroup = arrShift.call(groups);\n // ii. Add new part record { [[type]]: \"integer\", [[value]]: integerGroup } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'integer', '[[value]]': integerGroup });\n // iii. If groups List is not empty, then:\n if (groups.length) {\n // 1. Add new part record { [[type]]: \"group\", [[value]]: groupSepSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'group', '[[value]]': groupSepSymbol });\n }\n }\n }\n // 10. Else,\n else {\n // a. Add new part record { [[type]]: \"integer\", [[value]]: integer } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'integer', '[[value]]': integer });\n }\n // 11. If fraction is not undefined, then:\n if (fraction !== undefined) {\n // a. Let decimalSepSymbol be the ILND String representing the decimal separator.\n var decimalSepSymbol = ild.decimal;\n // a. Add new part record { [[type]]: \"decimal\", [[value]]: decimalSepSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'decimal', '[[value]]': decimalSepSymbol });\n // a. Add new part record { [[type]]: \"fraction\", [[value]]: fraction } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'fraction', '[[value]]': fraction });\n }\n }\n }\n // a. Else if p is equal \"plusSign\", then:\n else if (p === \"plusSign\") {\n // i. Let plusSignSymbol be the ILND String representing the plus sign.\n var plusSignSymbol = ild.plusSign;\n // ii. Add new part record { [[type]]: \"plusSign\", [[value]]: plusSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'plusSign', '[[value]]': plusSignSymbol });\n }\n // a. Else if p is equal \"minusSign\", then:\n else if (p === \"minusSign\") {\n // i. Let minusSignSymbol be the ILND String representing the minus sign.\n var minusSignSymbol = ild.minusSign;\n // ii. Add new part record { [[type]]: \"minusSign\", [[value]]: minusSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'minusSign', '[[value]]': minusSignSymbol });\n }\n // a. Else if p is equal \"percentSign\" and numberFormat.[[style]] is \"percent\", then:\n else if (p === \"percentSign\" && internal['[[style]]'] === \"percent\") {\n // i. Let percentSignSymbol be the ILND String representing the percent sign.\n var percentSignSymbol = ild.percentSign;\n // ii. Add new part record { [[type]]: \"percentSign\", [[value]]: percentSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': percentSignSymbol });\n }\n // a. Else if p is equal \"currency\" and numberFormat.[[style]] is \"currency\", then:\n else if (p === \"currency\" && internal['[[style]]'] === \"currency\") {\n // i. Let currency be the value of numberFormat.[[currency]].\n var currency = internal['[[currency]]'];\n\n var cd = void 0;\n\n // ii. If numberFormat.[[currencyDisplay]] is \"code\", then\n if (internal['[[currencyDisplay]]'] === \"code\") {\n // 1. Let cd be currency.\n cd = currency;\n }\n // iii. Else if numberFormat.[[currencyDisplay]] is \"symbol\", then\n else if (internal['[[currencyDisplay]]'] === \"symbol\") {\n // 1. Let cd be an ILD string representing currency in short form. If the implementation does not have such a representation of currency, use currency itself.\n cd = data.currencies[currency] || currency;\n }\n // iv. Else if numberFormat.[[currencyDisplay]] is \"name\", then\n else if (internal['[[currencyDisplay]]'] === \"name\") {\n // 1. Let cd be an ILD string representing currency in long form. If the implementation does not have such a representation of currency, then use currency itself.\n cd = currency;\n }\n // v. Add new part record { [[type]]: \"currency\", [[value]]: cd } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'currency', '[[value]]': cd });\n }\n // a. Else,\n else {\n // i. Let literal be the substring of pattern from position beginIndex, inclusive, to position endIndex, inclusive.\n var _literal = pattern.substring(beginIndex, endIndex);\n // ii. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': _literal });\n }\n // a. Set nextIndex to endIndex + 1.\n nextIndex = endIndex + 1;\n // a. Set beginIndex to Call(%StringProto_indexOf%, pattern, \"{\", nextIndex)\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n // 9. If nextIndex is less than length, then:\n if (nextIndex < length) {\n // a. Let literal be the substring of pattern from position nextIndex, inclusive, to position length, exclusive.\n var _literal2 = pattern.substring(nextIndex, length);\n // a. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': _literal2 });\n }\n // 10. Return result.\n return result;\n}\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-formatnumber]\n */\nfunction FormatNumber(numberFormat, x) {\n // 1. Let parts be ? PartitionNumberPattern(numberFormat, x).\n var parts = PartitionNumberPattern(numberFormat, x);\n // 2. Let result be an empty String.\n var result = '';\n // 3. For each part in parts, do:\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n // a. Set result to a String value produced by concatenating result and part.[[value]].\n result += part['[[value]]'];\n }\n // 4. Return result.\n return result;\n}\n\n/**\n * When the ToRawPrecision abstract operation is called with arguments x (which\n * must be a finite non-negative number), minPrecision, and maxPrecision (both\n * must be integers between 1 and 21) the following steps are taken:\n */\nfunction ToRawPrecision(x, minPrecision, maxPrecision) {\n // 1. Let p be maxPrecision.\n var p = maxPrecision;\n\n var m = void 0,\n e = void 0;\n\n // 2. If x = 0, then\n if (x === 0) {\n // a. Let m be the String consisting of p occurrences of the character \"0\".\n m = arrJoin.call(Array(p + 1), '0');\n // b. Let e be 0.\n e = 0;\n }\n // 3. Else\n else {\n // a. Let e and n be integers such that 10ᵖ⁻¹ ≤ n < 10ᵖ and for which the\n // exact mathematical value of n × 10ᵉ⁻ᵖ⁺¹ – x is as close to zero as\n // possible. If there are two such sets of e and n, pick the e and n for\n // which n × 10ᵉ⁻ᵖ⁺¹ is larger.\n e = log10Floor(Math.abs(x));\n\n // Easier to get to m from here\n var f = Math.round(Math.exp(Math.abs(e - p + 1) * Math.LN10));\n\n // b. Let m be the String consisting of the digits of the decimal\n // representation of n (in order, with no leading zeroes)\n m = String(Math.round(e - p + 1 < 0 ? x * f : x / f));\n }\n\n // 4. If e ≥ p, then\n if (e >= p)\n // a. Return the concatenation of m and e-p+1 occurrences of the character \"0\".\n return m + arrJoin.call(Array(e - p + 1 + 1), '0');\n\n // 5. If e = p-1, then\n else if (e === p - 1)\n // a. Return m.\n return m;\n\n // 6. If e ≥ 0, then\n else if (e >= 0)\n // a. Let m be the concatenation of the first e+1 characters of m, the character\n // \".\", and the remaining p–(e+1) characters of m.\n m = m.slice(0, e + 1) + '.' + m.slice(e + 1);\n\n // 7. If e < 0, then\n else if (e < 0)\n // a. Let m be the concatenation of the String \"0.\", –(e+1) occurrences of the\n // character \"0\", and the string m.\n m = '0.' + arrJoin.call(Array(-(e + 1) + 1), '0') + m;\n\n // 8. If m contains the character \".\", and maxPrecision > minPrecision, then\n if (m.indexOf(\".\") >= 0 && maxPrecision > minPrecision) {\n // a. Let cut be maxPrecision – minPrecision.\n var cut = maxPrecision - minPrecision;\n\n // b. Repeat while cut > 0 and the last character of m is \"0\":\n while (cut > 0 && m.charAt(m.length - 1) === '0') {\n // i. Remove the last character from m.\n m = m.slice(0, -1);\n\n // ii. Decrease cut by 1.\n cut--;\n }\n\n // c. If the last character of m is \".\", then\n if (m.charAt(m.length - 1) === '.')\n // i. Remove the last character from m.\n m = m.slice(0, -1);\n }\n // 9. Return m.\n return m;\n}\n\n/**\n * @spec[tc39/ecma402/master/spec/numberformat.html]\n * @clause[sec-torawfixed]\n * When the ToRawFixed abstract operation is called with arguments x (which must\n * be a finite non-negative number), minInteger (which must be an integer between\n * 1 and 21), minFraction, and maxFraction (which must be integers between 0 and\n * 20) the following steps are taken:\n */\nfunction ToRawFixed(x, minInteger, minFraction, maxFraction) {\n // 1. Let f be maxFraction.\n var f = maxFraction;\n // 2. Let n be an integer for which the exact mathematical value of n ÷ 10f – x is as close to zero as possible. If there are two such n, pick the larger n.\n var n = Math.pow(10, f) * x; // diverging...\n // 3. If n = 0, let m be the String \"0\". Otherwise, let m be the String consisting of the digits of the decimal representation of n (in order, with no leading zeroes).\n var m = n === 0 ? \"0\" : n.toFixed(0); // divering...\n\n {\n // this diversion is needed to take into consideration big numbers, e.g.:\n // 1.2344501e+37 -> 12344501000000000000000000000000000000\n var idx = void 0;\n var exp = (idx = m.indexOf('e')) > -1 ? m.slice(idx + 1) : 0;\n if (exp) {\n m = m.slice(0, idx).replace('.', '');\n m += arrJoin.call(Array(exp - (m.length - 1) + 1), '0');\n }\n }\n\n var int = void 0;\n // 4. If f ≠ 0, then\n if (f !== 0) {\n // a. Let k be the number of characters in m.\n var k = m.length;\n // a. If k ≤ f, then\n if (k <= f) {\n // i. Let z be the String consisting of f+1–k occurrences of the character \"0\".\n var z = arrJoin.call(Array(f + 1 - k + 1), '0');\n // ii. Let m be the concatenation of Strings z and m.\n m = z + m;\n // iii. Let k be f+1.\n k = f + 1;\n }\n // a. Let a be the first k–f characters of m, and let b be the remaining f characters of m.\n var a = m.substring(0, k - f),\n b = m.substring(k - f, m.length);\n // a. Let m be the concatenation of the three Strings a, \".\", and b.\n m = a + \".\" + b;\n // a. Let int be the number of characters in a.\n int = a.length;\n }\n // 5. Else, let int be the number of characters in m.\n else int = m.length;\n // 6. Let cut be maxFraction – minFraction.\n var cut = maxFraction - minFraction;\n // 7. Repeat while cut > 0 and the last character of m is \"0\":\n while (cut > 0 && m.slice(-1) === \"0\") {\n // a. Remove the last character from m.\n m = m.slice(0, -1);\n // a. Decrease cut by 1.\n cut--;\n }\n // 8. If the last character of m is \".\", then\n if (m.slice(-1) === \".\") {\n // a. Remove the last character from m.\n m = m.slice(0, -1);\n }\n // 9. If int < minInteger, then\n if (int < minInteger) {\n // a. Let z be the String consisting of minInteger–int occurrences of the character \"0\".\n var _z = arrJoin.call(Array(minInteger - int + 1), '0');\n // a. Let m be the concatenation of Strings z and m.\n m = _z + m;\n }\n // 10. Return m.\n return m;\n}\n\n// Sect 11.3.2 Table 2, Numbering systems\n// ======================================\nvar numSys = {\n arab: [\"٠\", \"١\", \"٢\", \"٣\", \"٤\", \"٥\", \"٦\", \"٧\", \"٨\", \"٩\"],\n arabext: [\"۰\", \"۱\", \"۲\", \"۳\", \"۴\", \"۵\", \"۶\", \"۷\", \"۸\", \"۹\"],\n bali: [\"᭐\", \"᭑\", \"᭒\", \"᭓\", \"᭔\", \"᭕\", \"᭖\", \"᭗\", \"᭘\", \"᭙\"],\n beng: [\"০\", \"১\", \"২\", \"৩\", \"৪\", \"৫\", \"৬\", \"৭\", \"৮\", \"৯\"],\n deva: [\"०\", \"१\", \"२\", \"३\", \"४\", \"५\", \"६\", \"७\", \"८\", \"९\"],\n fullwide: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n gujr: [\"૦\", \"૧\", \"૨\", \"૩\", \"૪\", \"૫\", \"૬\", \"૭\", \"૮\", \"૯\"],\n guru: [\"੦\", \"੧\", \"੨\", \"੩\", \"੪\", \"੫\", \"੬\", \"੭\", \"੮\", \"੯\"],\n hanidec: [\"〇\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\"],\n khmr: [\"០\", \"១\", \"២\", \"៣\", \"៤\", \"៥\", \"៦\", \"៧\", \"៨\", \"៩\"],\n knda: [\"೦\", \"೧\", \"೨\", \"೩\", \"೪\", \"೫\", \"೬\", \"೭\", \"೮\", \"೯\"],\n laoo: [\"໐\", \"໑\", \"໒\", \"໓\", \"໔\", \"໕\", \"໖\", \"໗\", \"໘\", \"໙\"],\n latn: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n limb: [\"᥆\", \"᥇\", \"᥈\", \"᥉\", \"᥊\", \"᥋\", \"᥌\", \"᥍\", \"᥎\", \"᥏\"],\n mlym: [\"൦\", \"൧\", \"൨\", \"൩\", \"൪\", \"൫\", \"൬\", \"൭\", \"൮\", \"൯\"],\n mong: [\"᠐\", \"᠑\", \"᠒\", \"᠓\", \"᠔\", \"᠕\", \"᠖\", \"᠗\", \"᠘\", \"᠙\"],\n mymr: [\"၀\", \"၁\", \"၂\", \"၃\", \"၄\", \"၅\", \"၆\", \"၇\", \"၈\", \"၉\"],\n orya: [\"୦\", \"୧\", \"୨\", \"୩\", \"୪\", \"୫\", \"୬\", \"୭\", \"୮\", \"୯\"],\n tamldec: [\"௦\", \"௧\", \"௨\", \"௩\", \"௪\", \"௫\", \"௬\", \"௭\", \"௮\", \"௯\"],\n telu: [\"౦\", \"౧\", \"౨\", \"౩\", \"౪\", \"౫\", \"౬\", \"౭\", \"౮\", \"౯\"],\n thai: [\"๐\", \"๑\", \"๒\", \"๓\", \"๔\", \"๕\", \"๖\", \"๗\", \"๘\", \"๙\"],\n tibt: [\"༠\", \"༡\", \"༢\", \"༣\", \"༤\", \"༥\", \"༦\", \"༧\", \"༨\", \"༩\"]\n};\n\n/**\n * This function provides access to the locale and formatting options computed\n * during initialization of the object.\n *\n * The function returns a new object whose properties and attributes are set as\n * if constructed by an object literal assigning to each of the following\n * properties the value of the corresponding internal property of this\n * NumberFormat object (see 11.4): locale, numberingSystem, style, currency,\n * currencyDisplay, minimumIntegerDigits, minimumFractionDigits,\n * maximumFractionDigits, minimumSignificantDigits, maximumSignificantDigits, and\n * useGrouping. Properties whose corresponding internal properties are not present\n * are not assigned.\n */\n/* 11.3.3 */defineProperty(Intl.NumberFormat.prototype, 'resolvedOptions', {\n configurable: true,\n writable: true,\n value: function value() {\n var prop = void 0,\n descs = new Record(),\n props = ['locale', 'numberingSystem', 'style', 'currency', 'currencyDisplay', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits', 'useGrouping'],\n internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 11.3_b\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for resolvedOptions() is not an initialized Intl.NumberFormat object.');\n\n for (var i = 0, max = props.length; i < max; i++) {\n if (hop.call(internal, prop = '[[' + props[i] + ']]')) descs[props[i]] = { value: internal[prop], writable: true, configurable: true, enumerable: true };\n }\n\n return objCreate({}, descs);\n }\n});\n\n/* jslint esnext: true */\n\n// Match these datetime components in a CLDR pattern, except those in single quotes\nvar expDTComponents = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n// trim patterns after transformations\nvar expPatternTrimmer = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n// Skip over patterns with these datetime components because we don't have data\n// to back them up:\n// timezone, weekday, amoung others\nvar unwantedDTCs = /[rqQASjJgwWIQq]/; // xXVO were removed from this list in favor of computing matches with timeZoneName values but printing as empty string\n\nvar dtKeys = [\"era\", \"year\", \"month\", \"day\", \"weekday\", \"quarter\"];\nvar tmKeys = [\"hour\", \"minute\", \"second\", \"hour12\", \"timeZoneName\"];\n\nfunction isDateFormatOnly(obj) {\n for (var i = 0; i < tmKeys.length; i += 1) {\n if (obj.hasOwnProperty(tmKeys[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction isTimeFormatOnly(obj) {\n for (var i = 0; i < dtKeys.length; i += 1) {\n if (obj.hasOwnProperty(dtKeys[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction joinDateAndTimeFormats(dateFormatObj, timeFormatObj) {\n var o = { _: {} };\n for (var i = 0; i < dtKeys.length; i += 1) {\n if (dateFormatObj[dtKeys[i]]) {\n o[dtKeys[i]] = dateFormatObj[dtKeys[i]];\n }\n if (dateFormatObj._[dtKeys[i]]) {\n o._[dtKeys[i]] = dateFormatObj._[dtKeys[i]];\n }\n }\n for (var j = 0; j < tmKeys.length; j += 1) {\n if (timeFormatObj[tmKeys[j]]) {\n o[tmKeys[j]] = timeFormatObj[tmKeys[j]];\n }\n if (timeFormatObj._[tmKeys[j]]) {\n o._[tmKeys[j]] = timeFormatObj._[tmKeys[j]];\n }\n }\n return o;\n}\n\nfunction computeFinalPatterns(formatObj) {\n // From http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns:\n // 'In patterns, two single quotes represents a literal single quote, either\n // inside or outside single quotes. Text within single quotes is not\n // interpreted in any way (except for two adjacent single quotes).'\n formatObj.pattern12 = formatObj.extendedPattern.replace(/'([^']*)'/g, function ($0, literal) {\n return literal ? literal : \"'\";\n });\n\n // pattern 12 is always the default. we can produce the 24 by removing {ampm}\n formatObj.pattern = formatObj.pattern12.replace('{ampm}', '').replace(expPatternTrimmer, '');\n return formatObj;\n}\n\nfunction expDTComponentsMeta($0, formatObj) {\n switch ($0.charAt(0)) {\n // --- Era\n case 'G':\n formatObj.era = ['short', 'short', 'short', 'long', 'narrow'][$0.length - 1];\n return '{era}';\n\n // --- Year\n case 'y':\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n formatObj.year = $0.length === 2 ? '2-digit' : 'numeric';\n return '{year}';\n\n // --- Quarter (not supported in this polyfill)\n case 'Q':\n case 'q':\n formatObj.quarter = ['numeric', '2-digit', 'short', 'long', 'narrow'][$0.length - 1];\n return '{quarter}';\n\n // --- Month\n case 'M':\n case 'L':\n formatObj.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][$0.length - 1];\n return '{month}';\n\n // --- Week (not supported in this polyfill)\n case 'w':\n // week of the year\n formatObj.week = $0.length === 2 ? '2-digit' : 'numeric';\n return '{weekday}';\n case 'W':\n // week of the month\n formatObj.week = 'numeric';\n return '{weekday}';\n\n // --- Day\n case 'd':\n // day of the month\n formatObj.day = $0.length === 2 ? '2-digit' : 'numeric';\n return '{day}';\n case 'D': // day of the year\n case 'F': // day of the week\n case 'g':\n // 1..n: Modified Julian day\n formatObj.day = 'numeric';\n return '{day}';\n\n // --- Week Day\n case 'E':\n // day of the week\n formatObj.weekday = ['short', 'short', 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n case 'e':\n // local day of the week\n formatObj.weekday = ['numeric', '2-digit', 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n case 'c':\n // stand alone local day of the week\n formatObj.weekday = ['numeric', undefined, 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n\n // --- Period\n case 'a': // AM, PM\n case 'b': // am, pm, noon, midnight\n case 'B':\n // flexible day periods\n formatObj.hour12 = true;\n return '{ampm}';\n\n // --- Hour\n case 'h':\n case 'H':\n formatObj.hour = $0.length === 2 ? '2-digit' : 'numeric';\n return '{hour}';\n case 'k':\n case 'K':\n formatObj.hour12 = true; // 12-hour-cycle time formats (using h or K)\n formatObj.hour = $0.length === 2 ? '2-digit' : 'numeric';\n return '{hour}';\n\n // --- Minute\n case 'm':\n formatObj.minute = $0.length === 2 ? '2-digit' : 'numeric';\n return '{minute}';\n\n // --- Second\n case 's':\n formatObj.second = $0.length === 2 ? '2-digit' : 'numeric';\n return '{second}';\n case 'S':\n case 'A':\n formatObj.second = 'numeric';\n return '{second}';\n\n // --- Timezone\n case 'z': // 1..3, 4: specific non-location format\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x':\n // 1, 2, 3, 4: The ISO8601 varios formats\n // this polyfill only supports much, for now, we are just doing something dummy\n formatObj.timeZoneName = $0.length < 4 ? 'short' : 'long';\n return '{timeZoneName}';\n }\n}\n\n/**\n * Converts the CLDR availableFormats into the objects and patterns required by\n * the ECMAScript Internationalization API specification.\n */\nfunction createDateTimeFormat(skeleton, pattern) {\n // we ignore certain patterns that are unsupported to avoid this expensive op.\n if (unwantedDTCs.test(pattern)) return undefined;\n\n var formatObj = {\n originalPattern: pattern,\n _: {}\n };\n\n // Replace the pattern string with the one required by the specification, whilst\n // at the same time evaluating it for the subsets and formats\n formatObj.extendedPattern = pattern.replace(expDTComponents, function ($0) {\n // See which symbol we're dealing with\n return expDTComponentsMeta($0, formatObj._);\n });\n\n // Match the skeleton string with the one required by the specification\n // this implementation is based on the Date Field Symbol Table:\n // http://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n // Note: we are adding extra data to the formatObject even though this polyfill\n // might not support it.\n skeleton.replace(expDTComponents, function ($0) {\n // See which symbol we're dealing with\n return expDTComponentsMeta($0, formatObj);\n });\n\n return computeFinalPatterns(formatObj);\n}\n\n/**\n * Processes DateTime formats from CLDR to an easier-to-parse format.\n * the result of this operation should be cached the first time a particular\n * calendar is analyzed.\n *\n * The specification requires we support at least the following subsets of\n * date/time components:\n *\n * - 'weekday', 'year', 'month', 'day', 'hour', 'minute', 'second'\n * - 'weekday', 'year', 'month', 'day'\n * - 'year', 'month', 'day'\n * - 'year', 'month'\n * - 'month', 'day'\n * - 'hour', 'minute', 'second'\n * - 'hour', 'minute'\n *\n * We need to cherry pick at least these subsets from the CLDR data and convert\n * them into the pattern objects used in the ECMA-402 API.\n */\nfunction createDateTimeFormats(formats) {\n var availableFormats = formats.availableFormats;\n var timeFormats = formats.timeFormats;\n var dateFormats = formats.dateFormats;\n var result = [];\n var skeleton = void 0,\n pattern = void 0,\n computed = void 0,\n i = void 0,\n j = void 0;\n var timeRelatedFormats = [];\n var dateRelatedFormats = [];\n\n // Map available (custom) formats into a pattern for createDateTimeFormats\n for (skeleton in availableFormats) {\n if (availableFormats.hasOwnProperty(skeleton)) {\n pattern = availableFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n // in some cases, the format is only displaying date specific props\n // or time specific props, in which case we need to also produce the\n // combined formats.\n if (isDateFormatOnly(computed)) {\n dateRelatedFormats.push(computed);\n } else if (isTimeFormatOnly(computed)) {\n timeRelatedFormats.push(computed);\n }\n }\n }\n }\n\n // Map time formats into a pattern for createDateTimeFormats\n for (skeleton in timeFormats) {\n if (timeFormats.hasOwnProperty(skeleton)) {\n pattern = timeFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n timeRelatedFormats.push(computed);\n }\n }\n }\n\n // Map date formats into a pattern for createDateTimeFormats\n for (skeleton in dateFormats) {\n if (dateFormats.hasOwnProperty(skeleton)) {\n pattern = dateFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n dateRelatedFormats.push(computed);\n }\n }\n }\n\n // combine custom time and custom date formats when they are orthogonals to complete the\n // formats supported by CLDR.\n // This Algo is based on section \"Missing Skeleton Fields\" from:\n // http://unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems\n for (i = 0; i < timeRelatedFormats.length; i += 1) {\n for (j = 0; j < dateRelatedFormats.length; j += 1) {\n if (dateRelatedFormats[j].month === 'long') {\n pattern = dateRelatedFormats[j].weekday ? formats.full : formats.long;\n } else if (dateRelatedFormats[j].month === 'short') {\n pattern = formats.medium;\n } else {\n pattern = formats.short;\n }\n computed = joinDateAndTimeFormats(dateRelatedFormats[j], timeRelatedFormats[i]);\n computed.originalPattern = pattern;\n computed.extendedPattern = pattern.replace('{0}', timeRelatedFormats[i].extendedPattern).replace('{1}', dateRelatedFormats[j].extendedPattern).replace(/^[,\\s]+|[,\\s]+$/gi, '');\n result.push(computeFinalPatterns(computed));\n }\n }\n\n return result;\n}\n\n// this represents the exceptions of the rule that are not covered by CLDR availableFormats\n// for single property configurations, they play no role when using multiple properties, and\n// those that are not in this table, are not exceptions or are not covered by the data we\n// provide.\nvar validSyntheticProps = {\n second: {\n numeric: 's',\n '2-digit': 'ss'\n },\n minute: {\n numeric: 'm',\n '2-digit': 'mm'\n },\n year: {\n numeric: 'y',\n '2-digit': 'yy'\n },\n day: {\n numeric: 'd',\n '2-digit': 'dd'\n },\n month: {\n numeric: 'L',\n '2-digit': 'LL',\n narrow: 'LLLLL',\n short: 'LLL',\n long: 'LLLL'\n },\n weekday: {\n narrow: 'ccccc',\n short: 'ccc',\n long: 'cccc'\n }\n};\n\nfunction generateSyntheticFormat(propName, propValue) {\n if (validSyntheticProps[propName] && validSyntheticProps[propName][propValue]) {\n var _ref2;\n\n return _ref2 = {\n originalPattern: validSyntheticProps[propName][propValue],\n _: defineProperty$1({}, propName, propValue),\n extendedPattern: \"{\" + propName + \"}\"\n }, defineProperty$1(_ref2, propName, propValue), defineProperty$1(_ref2, \"pattern12\", \"{\" + propName + \"}\"), defineProperty$1(_ref2, \"pattern\", \"{\" + propName + \"}\"), _ref2;\n }\n}\n\n// An object map of date component keys, saves using a regex later\nvar dateWidths = objCreate(null, { narrow: {}, short: {}, long: {} });\n\n/**\n * Returns a string for a date component, resolved using multiple inheritance as specified\n * as specified in the Unicode Technical Standard 35.\n */\nfunction resolveDateString(data, ca, component, width, key) {\n // From http://www.unicode.org/reports/tr35/tr35.html#Multiple_Inheritance:\n // 'In clearly specified instances, resources may inherit from within the same locale.\n // For example, ... the Buddhist calendar inherits from the Gregorian calendar.'\n var obj = data[ca] && data[ca][component] ? data[ca][component] : data.gregory[component],\n\n\n // \"sideways\" inheritance resolves strings when a key doesn't exist\n alts = {\n narrow: ['short', 'long'],\n short: ['long', 'narrow'],\n long: ['short', 'narrow']\n },\n\n\n //\n resolved = hop.call(obj, width) ? obj[width] : hop.call(obj, alts[width][0]) ? obj[alts[width][0]] : obj[alts[width][1]];\n\n // `key` wouldn't be specified for components 'dayPeriods'\n return key !== null ? resolved[key] : resolved;\n}\n\n// Define the DateTimeFormat constructor internally so it cannot be tainted\nfunction DateTimeFormatConstructor() {\n var locales = arguments[0];\n var options = arguments[1];\n\n if (!this || this === Intl) {\n return new Intl.DateTimeFormat(locales, options);\n }\n return InitializeDateTimeFormat(toObject(this), locales, options);\n}\n\ndefineProperty(Intl, 'DateTimeFormat', {\n configurable: true,\n writable: true,\n value: DateTimeFormatConstructor\n});\n\n// Must explicitly set prototypes as unwritable\ndefineProperty(DateTimeFormatConstructor, 'prototype', {\n writable: false\n});\n\n/**\n * The abstract operation InitializeDateTimeFormat accepts the arguments dateTimeFormat\n * (which must be an object), locales, and options. It initializes dateTimeFormat as a\n * DateTimeFormat object.\n */\nfunction /* 12.1.1.1 */InitializeDateTimeFormat(dateTimeFormat, locales, options) {\n // This will be a internal properties object if we're not already initialized\n var internal = getInternalProperties(dateTimeFormat);\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore();\n\n // 1. If dateTimeFormat has an [[initializedIntlObject]] internal property with\n // value true, throw a TypeError exception.\n if (internal['[[initializedIntlObject]]'] === true) throw new TypeError('`this` object has already been initialized as an Intl object');\n\n // Need this to access the `internal` object\n defineProperty(dateTimeFormat, '__getInternalProperties', {\n value: function value() {\n // NOTE: Non-standard, for internal use only\n if (arguments[0] === secret) return internal;\n }\n });\n\n // 2. Set the [[initializedIntlObject]] internal property of numberFormat to true.\n internal['[[initializedIntlObject]]'] = true;\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n var requestedLocales = CanonicalizeLocaleList(locales);\n\n // 4. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined below) with arguments options, \"any\", and \"date\".\n options = ToDateTimeOptions(options, 'any', 'date');\n\n // 5. Let opt be a new Record.\n var opt = new Record();\n\n // 6. Let matcher be the result of calling the GetOption abstract operation\n // (defined in 9.2.9) with arguments options, \"localeMatcher\", \"string\", a List\n // containing the two String values \"lookup\" and \"best fit\", and \"best fit\".\n var matcher = GetOption(options, 'localeMatcher', 'string', new List('lookup', 'best fit'), 'best fit');\n\n // 7. Set opt.[[localeMatcher]] to matcher.\n opt['[[localeMatcher]]'] = matcher;\n\n // 8. Let DateTimeFormat be the standard built-in object that is the initial\n // value of Intl.DateTimeFormat.\n var DateTimeFormat = internals.DateTimeFormat; // This is what we *really* need\n\n // 9. Let localeData be the value of the [[localeData]] internal property of\n // DateTimeFormat.\n var localeData = DateTimeFormat['[[localeData]]'];\n\n // 10. Let r be the result of calling the ResolveLocale abstract operation\n // (defined in 9.2.5) with the [[availableLocales]] internal property of\n // DateTimeFormat, requestedLocales, opt, the [[relevantExtensionKeys]]\n // internal property of DateTimeFormat, and localeData.\n var r = ResolveLocale(DateTimeFormat['[[availableLocales]]'], requestedLocales, opt, DateTimeFormat['[[relevantExtensionKeys]]'], localeData);\n\n // 11. Set the [[locale]] internal property of dateTimeFormat to the value of\n // r.[[locale]].\n internal['[[locale]]'] = r['[[locale]]'];\n\n // 12. Set the [[calendar]] internal property of dateTimeFormat to the value of\n // r.[[ca]].\n internal['[[calendar]]'] = r['[[ca]]'];\n\n // 13. Set the [[numberingSystem]] internal property of dateTimeFormat to the value of\n // r.[[nu]].\n internal['[[numberingSystem]]'] = r['[[nu]]'];\n\n // The specification doesn't tell us to do this, but it's helpful later on\n internal['[[dataLocale]]'] = r['[[dataLocale]]'];\n\n // 14. Let dataLocale be the value of r.[[dataLocale]].\n var dataLocale = r['[[dataLocale]]'];\n\n // 15. Let tz be the result of calling the [[Get]] internal method of options with\n // argument \"timeZone\".\n var tz = options.timeZone;\n\n // 16. If tz is not undefined, then\n if (tz !== undefined) {\n // a. Let tz be ToString(tz).\n // b. Convert tz to upper case as described in 6.1.\n // NOTE: If an implementation accepts additional time zone values, as permitted\n // under certain conditions by the Conformance clause, different casing\n // rules apply.\n tz = toLatinUpperCase(tz);\n\n // c. If tz is not \"UTC\", then throw a RangeError exception.\n // ###TODO: accept more time zones###\n if (tz !== 'UTC') throw new RangeError('timeZone is not supported.');\n }\n\n // 17. Set the [[timeZone]] internal property of dateTimeFormat to tz.\n internal['[[timeZone]]'] = tz;\n\n // 18. Let opt be a new Record.\n opt = new Record();\n\n // 19. For each row of Table 3, except the header row, do:\n for (var prop in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, prop)) continue;\n\n // 20. Let prop be the name given in the Property column of the row.\n // 21. Let value be the result of calling the GetOption abstract operation,\n // passing as argument options, the name given in the Property column of the\n // row, \"string\", a List containing the strings given in the Values column of\n // the row, and undefined.\n var value = GetOption(options, prop, 'string', dateTimeComponents[prop]);\n\n // 22. Set opt.[[]] to value.\n opt['[[' + prop + ']]'] = value;\n }\n\n // Assigned a value below\n var bestFormat = void 0;\n\n // 23. Let dataLocaleData be the result of calling the [[Get]] internal method of\n // localeData with argument dataLocale.\n var dataLocaleData = localeData[dataLocale];\n\n // 24. Let formats be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"formats\".\n // Note: we process the CLDR formats into the spec'd structure\n var formats = ToDateTimeFormats(dataLocaleData.formats);\n\n // 25. Let matcher be the result of calling the GetOption abstract operation with\n // arguments options, \"formatMatcher\", \"string\", a List containing the two String\n // values \"basic\" and \"best fit\", and \"best fit\".\n matcher = GetOption(options, 'formatMatcher', 'string', new List('basic', 'best fit'), 'best fit');\n\n // Optimization: caching the processed formats as a one time operation by\n // replacing the initial structure from localeData\n dataLocaleData.formats = formats;\n\n // 26. If matcher is \"basic\", then\n if (matcher === 'basic') {\n // 27. Let bestFormat be the result of calling the BasicFormatMatcher abstract\n // operation (defined below) with opt and formats.\n bestFormat = BasicFormatMatcher(opt, formats);\n\n // 28. Else\n } else {\n {\n // diverging\n var _hr = GetOption(options, 'hour12', 'boolean' /*, undefined, undefined*/);\n opt.hour12 = _hr === undefined ? dataLocaleData.hour12 : _hr;\n }\n // 29. Let bestFormat be the result of calling the BestFitFormatMatcher\n // abstract operation (defined below) with opt and formats.\n bestFormat = BestFitFormatMatcher(opt, formats);\n }\n\n // 30. For each row in Table 3, except the header row, do\n for (var _prop in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, _prop)) continue;\n\n // a. Let prop be the name given in the Property column of the row.\n // b. Let pDesc be the result of calling the [[GetOwnProperty]] internal method of\n // bestFormat with argument prop.\n // c. If pDesc is not undefined, then\n if (hop.call(bestFormat, _prop)) {\n // i. Let p be the result of calling the [[Get]] internal method of bestFormat\n // with argument prop.\n var p = bestFormat[_prop];\n {\n // diverging\n p = bestFormat._ && hop.call(bestFormat._, _prop) ? bestFormat._[_prop] : p;\n }\n\n // ii. Set the [[]] internal property of dateTimeFormat to p.\n internal['[[' + _prop + ']]'] = p;\n }\n }\n\n var pattern = void 0; // Assigned a value below\n\n // 31. Let hr12 be the result of calling the GetOption abstract operation with\n // arguments options, \"hour12\", \"boolean\", undefined, and undefined.\n var hr12 = GetOption(options, 'hour12', 'boolean' /*, undefined, undefined*/);\n\n // 32. If dateTimeFormat has an internal property [[hour]], then\n if (internal['[[hour]]']) {\n // a. If hr12 is undefined, then let hr12 be the result of calling the [[Get]]\n // internal method of dataLocaleData with argument \"hour12\".\n hr12 = hr12 === undefined ? dataLocaleData.hour12 : hr12;\n\n // b. Set the [[hour12]] internal property of dateTimeFormat to hr12.\n internal['[[hour12]]'] = hr12;\n\n // c. If hr12 is true, then\n if (hr12 === true) {\n // i. Let hourNo0 be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"hourNo0\".\n var hourNo0 = dataLocaleData.hourNo0;\n\n // ii. Set the [[hourNo0]] internal property of dateTimeFormat to hourNo0.\n internal['[[hourNo0]]'] = hourNo0;\n\n // iii. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern12\".\n pattern = bestFormat.pattern12;\n }\n\n // d. Else\n else\n // i. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern\".\n pattern = bestFormat.pattern;\n }\n\n // 33. Else\n else\n // a. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern\".\n pattern = bestFormat.pattern;\n\n // 34. Set the [[pattern]] internal property of dateTimeFormat to pattern.\n internal['[[pattern]]'] = pattern;\n\n // 35. Set the [[boundFormat]] internal property of dateTimeFormat to undefined.\n internal['[[boundFormat]]'] = undefined;\n\n // 36. Set the [[initializedDateTimeFormat]] internal property of dateTimeFormat to\n // true.\n internal['[[initializedDateTimeFormat]]'] = true;\n\n // In ES3, we need to pre-bind the format() function\n if (es3) dateTimeFormat.format = GetFormatDateTime.call(dateTimeFormat);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // Return the newly initialised object\n return dateTimeFormat;\n}\n\n/**\n * Several DateTimeFormat algorithms use values from the following table, which provides\n * property names and allowable values for the components of date and time formats:\n */\nvar dateTimeComponents = {\n weekday: [\"narrow\", \"short\", \"long\"],\n era: [\"narrow\", \"short\", \"long\"],\n year: [\"2-digit\", \"numeric\"],\n month: [\"2-digit\", \"numeric\", \"narrow\", \"short\", \"long\"],\n day: [\"2-digit\", \"numeric\"],\n hour: [\"2-digit\", \"numeric\"],\n minute: [\"2-digit\", \"numeric\"],\n second: [\"2-digit\", \"numeric\"],\n timeZoneName: [\"short\", \"long\"]\n};\n\n/**\n * When the ToDateTimeOptions abstract operation is called with arguments options,\n * required, and defaults, the following steps are taken:\n */\nfunction ToDateTimeFormats(formats) {\n if (Object.prototype.toString.call(formats) === '[object Array]') {\n return formats;\n }\n return createDateTimeFormats(formats);\n}\n\n/**\n * When the ToDateTimeOptions abstract operation is called with arguments options,\n * required, and defaults, the following steps are taken:\n */\nfunction ToDateTimeOptions(options, required, defaults) {\n // 1. If options is undefined, then let options be null, else let options be\n // ToObject(options).\n if (options === undefined) options = null;else {\n // (#12) options needs to be a Record, but it also needs to inherit properties\n var opt2 = toObject(options);\n options = new Record();\n\n for (var k in opt2) {\n options[k] = opt2[k];\n }\n }\n\n // 2. Let create be the standard built-in function object defined in ES5, 15.2.3.5.\n var create = objCreate;\n\n // 3. Let options be the result of calling the [[Call]] internal method of create with\n // undefined as the this value and an argument list containing the single item\n // options.\n options = create(options);\n\n // 4. Let needDefaults be true.\n var needDefaults = true;\n\n // 5. If required is \"date\" or \"any\", then\n if (required === 'date' || required === 'any') {\n // a. For each of the property names \"weekday\", \"year\", \"month\", \"day\":\n // i. If the result of calling the [[Get]] internal method of options with the\n // property name is not undefined, then let needDefaults be false.\n if (options.weekday !== undefined || options.year !== undefined || options.month !== undefined || options.day !== undefined) needDefaults = false;\n }\n\n // 6. If required is \"time\" or \"any\", then\n if (required === 'time' || required === 'any') {\n // a. For each of the property names \"hour\", \"minute\", \"second\":\n // i. If the result of calling the [[Get]] internal method of options with the\n // property name is not undefined, then let needDefaults be false.\n if (options.hour !== undefined || options.minute !== undefined || options.second !== undefined) needDefaults = false;\n }\n\n // 7. If needDefaults is true and defaults is either \"date\" or \"all\", then\n if (needDefaults && (defaults === 'date' || defaults === 'all'))\n // a. For each of the property names \"year\", \"month\", \"day\":\n // i. Call the [[DefineOwnProperty]] internal method of options with the\n // property name, Property Descriptor {[[Value]]: \"numeric\", [[Writable]]:\n // true, [[Enumerable]]: true, [[Configurable]]: true}, and false.\n options.year = options.month = options.day = 'numeric';\n\n // 8. If needDefaults is true and defaults is either \"time\" or \"all\", then\n if (needDefaults && (defaults === 'time' || defaults === 'all'))\n // a. For each of the property names \"hour\", \"minute\", \"second\":\n // i. Call the [[DefineOwnProperty]] internal method of options with the\n // property name, Property Descriptor {[[Value]]: \"numeric\", [[Writable]]:\n // true, [[Enumerable]]: true, [[Configurable]]: true}, and false.\n options.hour = options.minute = options.second = 'numeric';\n\n // 9. Return options.\n return options;\n}\n\n/**\n * When the BasicFormatMatcher abstract operation is called with two arguments options and\n * formats, the following steps are taken:\n */\nfunction BasicFormatMatcher(options, formats) {\n // 1. Let removalPenalty be 120.\n var removalPenalty = 120;\n\n // 2. Let additionPenalty be 20.\n var additionPenalty = 20;\n\n // 3. Let longLessPenalty be 8.\n var longLessPenalty = 8;\n\n // 4. Let longMorePenalty be 6.\n var longMorePenalty = 6;\n\n // 5. Let shortLessPenalty be 6.\n var shortLessPenalty = 6;\n\n // 6. Let shortMorePenalty be 3.\n var shortMorePenalty = 3;\n\n // 7. Let bestScore be -Infinity.\n var bestScore = -Infinity;\n\n // 8. Let bestFormat be undefined.\n var bestFormat = void 0;\n\n // 9. Let i be 0.\n var i = 0;\n\n // 10. Assert: formats is an Array object.\n\n // 11. Let len be the result of calling the [[Get]] internal method of formats with argument \"length\".\n var len = formats.length;\n\n // 12. Repeat while i < len:\n while (i < len) {\n // a. Let format be the result of calling the [[Get]] internal method of formats with argument ToString(i).\n var format = formats[i];\n\n // b. Let score be 0.\n var score = 0;\n\n // c. For each property shown in Table 3:\n for (var property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, property)) continue;\n\n // i. Let optionsProp be options.[[]].\n var optionsProp = options['[[' + property + ']]'];\n\n // ii. Let formatPropDesc be the result of calling the [[GetOwnProperty]] internal method of format\n // with argument property.\n // iii. If formatPropDesc is not undefined, then\n // 1. Let formatProp be the result of calling the [[Get]] internal method of format with argument property.\n var formatProp = hop.call(format, property) ? format[property] : undefined;\n\n // iv. If optionsProp is undefined and formatProp is not undefined, then decrease score by\n // additionPenalty.\n if (optionsProp === undefined && formatProp !== undefined) score -= additionPenalty;\n\n // v. Else if optionsProp is not undefined and formatProp is undefined, then decrease score by\n // removalPenalty.\n else if (optionsProp !== undefined && formatProp === undefined) score -= removalPenalty;\n\n // vi. Else\n else {\n // 1. Let values be the array [\"2-digit\", \"numeric\", \"narrow\", \"short\",\n // \"long\"].\n var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];\n\n // 2. Let optionsPropIndex be the index of optionsProp within values.\n var optionsPropIndex = arrIndexOf.call(values, optionsProp);\n\n // 3. Let formatPropIndex be the index of formatProp within values.\n var formatPropIndex = arrIndexOf.call(values, formatProp);\n\n // 4. Let delta be max(min(formatPropIndex - optionsPropIndex, 2), -2).\n var delta = Math.max(Math.min(formatPropIndex - optionsPropIndex, 2), -2);\n\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta === 2) score -= longMorePenalty;\n\n // 6. Else if delta = 1, decrease score by shortMorePenalty.\n else if (delta === 1) score -= shortMorePenalty;\n\n // 7. Else if delta = -1, decrease score by shortLessPenalty.\n else if (delta === -1) score -= shortLessPenalty;\n\n // 8. Else if delta = -2, decrease score by longLessPenalty.\n else if (delta === -2) score -= longLessPenalty;\n }\n }\n\n // d. If score > bestScore, then\n if (score > bestScore) {\n // i. Let bestScore be score.\n bestScore = score;\n\n // ii. Let bestFormat be format.\n bestFormat = format;\n }\n\n // e. Increase i by 1.\n i++;\n }\n\n // 13. Return bestFormat.\n return bestFormat;\n}\n\n/**\n * When the BestFitFormatMatcher abstract operation is called with two arguments options\n * and formats, it performs implementation dependent steps, which should return a set of\n * component representations that a typical user of the selected locale would perceive as\n * at least as good as the one returned by BasicFormatMatcher.\n *\n * This polyfill defines the algorithm to be the same as BasicFormatMatcher,\n * with the addition of bonus points awarded where the requested format is of\n * the same data type as the potentially matching format.\n *\n * This algo relies on the concept of closest distance matching described here:\n * http://unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons\n * Typically a “best match” is found using a closest distance match, such as:\n *\n * Symbols requesting a best choice for the locale are replaced.\n * j → one of {H, k, h, K}; C → one of {a, b, B}\n * -> Covered by cldr.js matching process\n *\n * For fields with symbols representing the same type (year, month, day, etc):\n * Most symbols have a small distance from each other.\n * M ≅ L; E ≅ c; a ≅ b ≅ B; H ≅ k ≅ h ≅ K; ...\n * -> Covered by cldr.js matching process\n *\n * Width differences among fields, other than those marking text vs numeric, are given small distance from each other.\n * MMM ≅ MMMM\n * MM ≅ M\n * Numeric and text fields are given a larger distance from each other.\n * MMM ≈ MM\n * Symbols representing substantial differences (week of year vs week of month) are given much larger a distances from each other.\n * d ≋ D; ...\n * Missing or extra fields cause a match to fail. (But see Missing Skeleton Fields).\n *\n *\n * For example,\n *\n * { month: 'numeric', day: 'numeric' }\n *\n * should match\n *\n * { month: '2-digit', day: '2-digit' }\n *\n * rather than\n *\n * { month: 'short', day: 'numeric' }\n *\n * This makes sense because a user requesting a formatted date with numeric parts would\n * not expect to see the returned format containing narrow, short or long part names\n */\nfunction BestFitFormatMatcher(options, formats) {\n /** Diverging: this block implements the hack for single property configuration, eg.:\n *\n * `new Intl.DateTimeFormat('en', {day: 'numeric'})`\n *\n * should produce a single digit with the day of the month. This is needed because\n * CLDR `availableFormats` data structure doesn't cover these cases.\n */\n {\n var optionsPropNames = [];\n for (var property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, property)) continue;\n\n if (options['[[' + property + ']]'] !== undefined) {\n optionsPropNames.push(property);\n }\n }\n if (optionsPropNames.length === 1) {\n var _bestFormat = generateSyntheticFormat(optionsPropNames[0], options['[[' + optionsPropNames[0] + ']]']);\n if (_bestFormat) {\n return _bestFormat;\n }\n }\n }\n\n // 1. Let removalPenalty be 120.\n var removalPenalty = 120;\n\n // 2. Let additionPenalty be 20.\n var additionPenalty = 20;\n\n // 3. Let longLessPenalty be 8.\n var longLessPenalty = 8;\n\n // 4. Let longMorePenalty be 6.\n var longMorePenalty = 6;\n\n // 5. Let shortLessPenalty be 6.\n var shortLessPenalty = 6;\n\n // 6. Let shortMorePenalty be 3.\n var shortMorePenalty = 3;\n\n var patternPenalty = 2;\n\n var hour12Penalty = 1;\n\n // 7. Let bestScore be -Infinity.\n var bestScore = -Infinity;\n\n // 8. Let bestFormat be undefined.\n var bestFormat = void 0;\n\n // 9. Let i be 0.\n var i = 0;\n\n // 10. Assert: formats is an Array object.\n\n // 11. Let len be the result of calling the [[Get]] internal method of formats with argument \"length\".\n var len = formats.length;\n\n // 12. Repeat while i < len:\n while (i < len) {\n // a. Let format be the result of calling the [[Get]] internal method of formats with argument ToString(i).\n var format = formats[i];\n\n // b. Let score be 0.\n var score = 0;\n\n // c. For each property shown in Table 3:\n for (var _property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, _property)) continue;\n\n // i. Let optionsProp be options.[[]].\n var optionsProp = options['[[' + _property + ']]'];\n\n // ii. Let formatPropDesc be the result of calling the [[GetOwnProperty]] internal method of format\n // with argument property.\n // iii. If formatPropDesc is not undefined, then\n // 1. Let formatProp be the result of calling the [[Get]] internal method of format with argument property.\n var formatProp = hop.call(format, _property) ? format[_property] : undefined;\n\n // Diverging: using the default properties produced by the pattern/skeleton\n // to match it with user options, and apply a penalty\n var patternProp = hop.call(format._, _property) ? format._[_property] : undefined;\n if (optionsProp !== patternProp) {\n score -= patternPenalty;\n }\n\n // iv. If optionsProp is undefined and formatProp is not undefined, then decrease score by\n // additionPenalty.\n if (optionsProp === undefined && formatProp !== undefined) score -= additionPenalty;\n\n // v. Else if optionsProp is not undefined and formatProp is undefined, then decrease score by\n // removalPenalty.\n else if (optionsProp !== undefined && formatProp === undefined) score -= removalPenalty;\n\n // vi. Else\n else {\n // 1. Let values be the array [\"2-digit\", \"numeric\", \"narrow\", \"short\",\n // \"long\"].\n var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];\n\n // 2. Let optionsPropIndex be the index of optionsProp within values.\n var optionsPropIndex = arrIndexOf.call(values, optionsProp);\n\n // 3. Let formatPropIndex be the index of formatProp within values.\n var formatPropIndex = arrIndexOf.call(values, formatProp);\n\n // 4. Let delta be max(min(formatPropIndex - optionsPropIndex, 2), -2).\n var delta = Math.max(Math.min(formatPropIndex - optionsPropIndex, 2), -2);\n\n {\n // diverging from spec\n // When the bestFit argument is true, subtract additional penalty where data types are not the same\n if (formatPropIndex <= 1 && optionsPropIndex >= 2 || formatPropIndex >= 2 && optionsPropIndex <= 1) {\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta > 0) score -= longMorePenalty;else if (delta < 0) score -= longLessPenalty;\n } else {\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta > 1) score -= shortMorePenalty;else if (delta < -1) score -= shortLessPenalty;\n }\n }\n }\n }\n\n {\n // diverging to also take into consideration differences between 12 or 24 hours\n // which is special for the best fit only.\n if (format._.hour12 !== options.hour12) {\n score -= hour12Penalty;\n }\n }\n\n // d. If score > bestScore, then\n if (score > bestScore) {\n // i. Let bestScore be score.\n bestScore = score;\n // ii. Let bestFormat be format.\n bestFormat = format;\n }\n\n // e. Increase i by 1.\n i++;\n }\n\n // 13. Return bestFormat.\n return bestFormat;\n}\n\n/* 12.2.3 */internals.DateTimeFormat = {\n '[[availableLocales]]': [],\n '[[relevantExtensionKeys]]': ['ca', 'nu'],\n '[[localeData]]': {}\n};\n\n/**\n * When the supportedLocalesOf method of Intl.DateTimeFormat is called, the\n * following steps are taken:\n */\n/* 12.2.2 */\ndefineProperty(Intl.DateTimeFormat, 'supportedLocalesOf', {\n configurable: true,\n writable: true,\n value: fnBind.call(function (locales) {\n // Bound functions only have the `this` value altered if being used as a constructor,\n // this lets us imitate a native function that has no constructor\n if (!hop.call(this, '[[availableLocales]]')) throw new TypeError('supportedLocalesOf() is not a constructor');\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore(),\n\n\n // 1. If options is not provided, then let options be undefined.\n options = arguments[1],\n\n\n // 2. Let availableLocales be the value of the [[availableLocales]] internal\n // property of the standard built-in object that is the initial value of\n // Intl.NumberFormat.\n\n availableLocales = this['[[availableLocales]]'],\n\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n requestedLocales = CanonicalizeLocaleList(locales);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // 4. Return the result of calling the SupportedLocales abstract operation\n // (defined in 9.2.8) with arguments availableLocales, requestedLocales,\n // and options.\n return SupportedLocales(availableLocales, requestedLocales, options);\n }, internals.NumberFormat)\n});\n\n/**\n * This named accessor property returns a function that formats a number\n * according to the effective locale and the formatting options of this\n * DateTimeFormat object.\n */\n/* 12.3.2 */defineProperty(Intl.DateTimeFormat.prototype, 'format', {\n configurable: true,\n get: GetFormatDateTime\n});\n\nfunction GetFormatDateTime() {\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 12.3_b\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for format() is not an initialized Intl.DateTimeFormat object.');\n\n // The value of the [[Get]] attribute is a function that takes the following\n // steps:\n\n // 1. If the [[boundFormat]] internal property of this DateTimeFormat object\n // is undefined, then:\n if (internal['[[boundFormat]]'] === undefined) {\n // a. Let F be a Function object, with internal properties set as\n // specified for built-in functions in ES5, 15, or successor, and the\n // length property set to 0, that takes the argument date and\n // performs the following steps:\n var F = function F() {\n var date = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n // i. If date is not provided or is undefined, then let x be the\n // result as if by the expression Date.now() where Date.now is\n // the standard built-in function defined in ES5, 15.9.4.4.\n // ii. Else let x be ToNumber(date).\n // iii. Return the result of calling the FormatDateTime abstract\n // operation (defined below) with arguments this and x.\n var x = date === undefined ? Date.now() : toNumber(date);\n return FormatDateTime(this, x);\n };\n // b. Let bind be the standard built-in function object defined in ES5,\n // 15.3.4.5.\n // c. Let bf be the result of calling the [[Call]] internal method of\n // bind with F as the this value and an argument list containing\n // the single item this.\n var bf = fnBind.call(F, this);\n // d. Set the [[boundFormat]] internal property of this NumberFormat\n // object to bf.\n internal['[[boundFormat]]'] = bf;\n }\n // Return the value of the [[boundFormat]] internal property of this\n // NumberFormat object.\n return internal['[[boundFormat]]'];\n}\n\nfunction formatToParts$1() {\n var date = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for formatToParts() is not an initialized Intl.DateTimeFormat object.');\n\n var x = date === undefined ? Date.now() : toNumber(date);\n return FormatToPartsDateTime(this, x);\n}\n\nObject.defineProperty(Intl.DateTimeFormat.prototype, 'formatToParts', {\n enumerable: false,\n writable: true,\n configurable: true,\n value: formatToParts$1\n});\n\nfunction CreateDateTimeParts(dateTimeFormat, x) {\n // 1. If x is not a finite Number, then throw a RangeError exception.\n if (!isFinite(x)) throw new RangeError('Invalid valid date passed to format');\n\n var internal = dateTimeFormat.__getInternalProperties(secret);\n\n // Creating restore point for properties on the RegExp object... please wait\n /* let regexpRestore = */createRegExpRestore(); // ###TODO: review this\n\n // 2. Let locale be the value of the [[locale]] internal property of dateTimeFormat.\n var locale = internal['[[locale]]'];\n\n // 3. Let nf be the result of creating a new NumberFormat object as if by the\n // expression new Intl.NumberFormat([locale], {useGrouping: false}) where\n // Intl.NumberFormat is the standard built-in constructor defined in 11.1.3.\n var nf = new Intl.NumberFormat([locale], { useGrouping: false });\n\n // 4. Let nf2 be the result of creating a new NumberFormat object as if by the\n // expression new Intl.NumberFormat([locale], {minimumIntegerDigits: 2, useGrouping:\n // false}) where Intl.NumberFormat is the standard built-in constructor defined in\n // 11.1.3.\n var nf2 = new Intl.NumberFormat([locale], { minimumIntegerDigits: 2, useGrouping: false });\n\n // 5. Let tm be the result of calling the ToLocalTime abstract operation (defined\n // below) with x, the value of the [[calendar]] internal property of dateTimeFormat,\n // and the value of the [[timeZone]] internal property of dateTimeFormat.\n var tm = ToLocalTime(x, internal['[[calendar]]'], internal['[[timeZone]]']);\n\n // 6. Let result be the value of the [[pattern]] internal property of dateTimeFormat.\n var pattern = internal['[[pattern]]'];\n\n // 7.\n var result = new List();\n\n // 8.\n var index = 0;\n\n // 9.\n var beginIndex = pattern.indexOf('{');\n\n // 10.\n var endIndex = 0;\n\n // Need the locale minus any extensions\n var dataLocale = internal['[[dataLocale]]'];\n\n // Need the calendar data from CLDR\n var localeData = internals.DateTimeFormat['[[localeData]]'][dataLocale].calendars;\n var ca = internal['[[calendar]]'];\n\n // 11.\n while (beginIndex !== -1) {\n var fv = void 0;\n // a.\n endIndex = pattern.indexOf('}', beginIndex);\n // b.\n if (endIndex === -1) {\n throw new Error('Unclosed pattern');\n }\n // c.\n if (beginIndex > index) {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substring(index, beginIndex)\n });\n }\n // d.\n var p = pattern.substring(beginIndex + 1, endIndex);\n // e.\n if (dateTimeComponents.hasOwnProperty(p)) {\n // i. Let f be the value of the [[

]] internal property of dateTimeFormat.\n var f = internal['[[' + p + ']]'];\n // ii. Let v be the value of tm.[[

]].\n var v = tm['[[' + p + ']]'];\n // iii. If p is \"year\" and v ≤ 0, then let v be 1 - v.\n if (p === 'year' && v <= 0) {\n v = 1 - v;\n }\n // iv. If p is \"month\", then increase v by 1.\n else if (p === 'month') {\n v++;\n }\n // v. If p is \"hour\" and the value of the [[hour12]] internal property of\n // dateTimeFormat is true, then\n else if (p === 'hour' && internal['[[hour12]]'] === true) {\n // 1. Let v be v modulo 12.\n v = v % 12;\n // 2. If v is 0 and the value of the [[hourNo0]] internal property of\n // dateTimeFormat is true, then let v be 12.\n if (v === 0 && internal['[[hourNo0]]'] === true) {\n v = 12;\n }\n }\n\n // vi. If f is \"numeric\", then\n if (f === 'numeric') {\n // 1. Let fv be the result of calling the FormatNumber abstract operation\n // (defined in 11.3.2) with arguments nf and v.\n fv = FormatNumber(nf, v);\n }\n // vii. Else if f is \"2-digit\", then\n else if (f === '2-digit') {\n // 1. Let fv be the result of calling the FormatNumber abstract operation\n // with arguments nf2 and v.\n fv = FormatNumber(nf2, v);\n // 2. If the length of fv is greater than 2, let fv be the substring of fv\n // containing the last two characters.\n if (fv.length > 2) {\n fv = fv.slice(-2);\n }\n }\n // viii. Else if f is \"narrow\", \"short\", or \"long\", then let fv be a String\n // value representing f in the desired form; the String value depends upon\n // the implementation and the effective locale and calendar of\n // dateTimeFormat. If p is \"month\", then the String value may also depend\n // on whether dateTimeFormat has a [[day]] internal property. If p is\n // \"timeZoneName\", then the String value may also depend on the value of\n // the [[inDST]] field of tm.\n else if (f in dateWidths) {\n switch (p) {\n case 'month':\n fv = resolveDateString(localeData, ca, 'months', f, tm['[[' + p + ']]']);\n break;\n\n case 'weekday':\n try {\n fv = resolveDateString(localeData, ca, 'days', f, tm['[[' + p + ']]']);\n // fv = resolveDateString(ca.days, f)[tm['[['+ p +']]']];\n } catch (e) {\n throw new Error('Could not find weekday data for locale ' + locale);\n }\n break;\n\n case 'timeZoneName':\n fv = ''; // ###TODO\n break;\n\n case 'era':\n try {\n fv = resolveDateString(localeData, ca, 'eras', f, tm['[[' + p + ']]']);\n } catch (e) {\n throw new Error('Could not find era data for locale ' + locale);\n }\n break;\n\n default:\n fv = tm['[[' + p + ']]'];\n }\n }\n // ix\n arrPush.call(result, {\n type: p,\n value: fv\n });\n // f.\n } else if (p === 'ampm') {\n // i.\n var _v = tm['[[hour]]'];\n // ii./iii.\n fv = resolveDateString(localeData, ca, 'dayPeriods', _v > 11 ? 'pm' : 'am', null);\n // iv.\n arrPush.call(result, {\n type: 'dayPeriod',\n value: fv\n });\n // g.\n } else {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substring(beginIndex, endIndex + 1)\n });\n }\n // h.\n index = endIndex + 1;\n // i.\n beginIndex = pattern.indexOf('{', index);\n }\n // 12.\n if (endIndex < pattern.length - 1) {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substr(endIndex + 1)\n });\n }\n // 13.\n return result;\n}\n\n/**\n * When the FormatDateTime abstract operation is called with arguments dateTimeFormat\n * (which must be an object initialized as a DateTimeFormat) and x (which must be a Number\n * value), it returns a String value representing x (interpreted as a time value as\n * specified in ES5, 15.9.1.1) according to the effective locale and the formatting\n * options of dateTimeFormat.\n */\nfunction FormatDateTime(dateTimeFormat, x) {\n var parts = CreateDateTimeParts(dateTimeFormat, x);\n var result = '';\n\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n result += part.value;\n }\n return result;\n}\n\nfunction FormatToPartsDateTime(dateTimeFormat, x) {\n var parts = CreateDateTimeParts(dateTimeFormat, x);\n var result = [];\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n result.push({\n type: part.type,\n value: part.value\n });\n }\n return result;\n}\n\n/**\n * When the ToLocalTime abstract operation is called with arguments date, calendar, and\n * timeZone, the following steps are taken:\n */\nfunction ToLocalTime(date, calendar, timeZone) {\n // 1. Apply calendrical calculations on date for the given calendar and time zone to\n // produce weekday, era, year, month, day, hour, minute, second, and inDST values.\n // The calculations should use best available information about the specified\n // calendar and time zone. If the calendar is \"gregory\", then the calculations must\n // match the algorithms specified in ES5, 15.9.1, except that calculations are not\n // bound by the restrictions on the use of best available information on time zones\n // for local time zone adjustment and daylight saving time adjustment imposed by\n // ES5, 15.9.1.7 and 15.9.1.8.\n // ###TODO###\n var d = new Date(date),\n m = 'get' + (timeZone || '');\n\n // 2. Return a Record with fields [[weekday]], [[era]], [[year]], [[month]], [[day]],\n // [[hour]], [[minute]], [[second]], and [[inDST]], each with the corresponding\n // calculated value.\n return new Record({\n '[[weekday]]': d[m + 'Day'](),\n '[[era]]': +(d[m + 'FullYear']() >= 0),\n '[[year]]': d[m + 'FullYear'](),\n '[[month]]': d[m + 'Month'](),\n '[[day]]': d[m + 'Date'](),\n '[[hour]]': d[m + 'Hours'](),\n '[[minute]]': d[m + 'Minutes'](),\n '[[second]]': d[m + 'Seconds'](),\n '[[inDST]]': false // ###TODO###\n });\n}\n\n/**\n * The function returns a new object whose properties and attributes are set as if\n * constructed by an object literal assigning to each of the following properties the\n * value of the corresponding internal property of this DateTimeFormat object (see 12.4):\n * locale, calendar, numberingSystem, timeZone, hour12, weekday, era, year, month, day,\n * hour, minute, second, and timeZoneName. Properties whose corresponding internal\n * properties are not present are not assigned.\n */\n/* 12.3.3 */defineProperty(Intl.DateTimeFormat.prototype, 'resolvedOptions', {\n writable: true,\n configurable: true,\n value: function value() {\n var prop = void 0,\n descs = new Record(),\n props = ['locale', 'calendar', 'numberingSystem', 'timeZone', 'hour12', 'weekday', 'era', 'year', 'month', 'day', 'hour', 'minute', 'second', 'timeZoneName'],\n internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 12.3_b\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for resolvedOptions() is not an initialized Intl.DateTimeFormat object.');\n\n for (var i = 0, max = props.length; i < max; i++) {\n if (hop.call(internal, prop = '[[' + props[i] + ']]')) descs[props[i]] = { value: internal[prop], writable: true, configurable: true, enumerable: true };\n }\n\n return objCreate({}, descs);\n }\n});\n\nvar ls = Intl.__localeSensitiveProtos = {\n Number: {},\n Date: {}\n};\n\n/**\n * When the toLocaleString method is called with optional arguments locales and options,\n * the following steps are taken:\n */\n/* 13.2.1 */ls.Number.toLocaleString = function () {\n // Satisfy test 13.2.1_1\n if (Object.prototype.toString.call(this) !== '[object Number]') throw new TypeError('`this` value must be a number for Number.prototype.toLocaleString()');\n\n // 1. Let x be this Number value (as defined in ES5, 15.7.4).\n // 2. If locales is not provided, then let locales be undefined.\n // 3. If options is not provided, then let options be undefined.\n // 4. Let numberFormat be the result of creating a new object as if by the\n // expression new Intl.NumberFormat(locales, options) where\n // Intl.NumberFormat is the standard built-in constructor defined in 11.1.3.\n // 5. Return the result of calling the FormatNumber abstract operation\n // (defined in 11.3.2) with arguments numberFormat and x.\n return FormatNumber(new NumberFormatConstructor(arguments[0], arguments[1]), this);\n};\n\n/**\n * When the toLocaleString method is called with optional arguments locales and options,\n * the following steps are taken:\n */\n/* 13.3.1 */ls.Date.toLocaleString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0];\n\n // 4. If options is not provided, then let options be undefined.\n var options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"any\", and \"all\".\n options = ToDateTimeOptions(options, 'any', 'all');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\n/**\n * When the toLocaleDateString method is called with optional arguments locales and\n * options, the following steps are taken:\n */\n/* 13.3.2 */ls.Date.toLocaleDateString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleDateString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0],\n\n\n // 4. If options is not provided, then let options be undefined.\n options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"date\", and \"date\".\n options = ToDateTimeOptions(options, 'date', 'date');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\n/**\n * When the toLocaleTimeString method is called with optional arguments locales and\n * options, the following steps are taken:\n */\n/* 13.3.3 */ls.Date.toLocaleTimeString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleTimeString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0];\n\n // 4. If options is not provided, then let options be undefined.\n var options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"time\", and \"time\".\n options = ToDateTimeOptions(options, 'time', 'time');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\ndefineProperty(Intl, '__applyLocaleSensitivePrototypes', {\n writable: true,\n configurable: true,\n value: function value() {\n defineProperty(Number.prototype, 'toLocaleString', { writable: true, configurable: true, value: ls.Number.toLocaleString });\n // Need this here for IE 8, to avoid the _DontEnum_ bug\n defineProperty(Date.prototype, 'toLocaleString', { writable: true, configurable: true, value: ls.Date.toLocaleString });\n\n for (var k in ls.Date) {\n if (hop.call(ls.Date, k)) defineProperty(Date.prototype, k, { writable: true, configurable: true, value: ls.Date[k] });\n }\n }\n});\n\n/**\n * Can't really ship a single script with data for hundreds of locales, so we provide\n * this __addLocaleData method as a means for the developer to add the data on an\n * as-needed basis\n */\ndefineProperty(Intl, '__addLocaleData', {\n value: function value(data) {\n if (!IsStructurallyValidLanguageTag(data.locale)) throw new Error(\"Object passed doesn't identify itself with a valid language tag\");\n\n addLocaleData(data, data.locale);\n }\n});\n\nfunction addLocaleData(data, tag) {\n // Both NumberFormat and DateTimeFormat require number data, so throw if it isn't present\n if (!data.number) throw new Error(\"Object passed doesn't contain locale data for Intl.NumberFormat\");\n\n var locale = void 0,\n locales = [tag],\n parts = tag.split('-');\n\n // Create fallbacks for locale data with scripts, e.g. Latn, Hans, Vaii, etc\n if (parts.length > 2 && parts[1].length === 4) arrPush.call(locales, parts[0] + '-' + parts[2]);\n\n while (locale = arrShift.call(locales)) {\n // Add to NumberFormat internal properties as per 11.2.3\n arrPush.call(internals.NumberFormat['[[availableLocales]]'], locale);\n internals.NumberFormat['[[localeData]]'][locale] = data.number;\n\n // ...and DateTimeFormat internal properties as per 12.2.3\n if (data.date) {\n data.date.nu = data.number.nu;\n arrPush.call(internals.DateTimeFormat['[[availableLocales]]'], locale);\n internals.DateTimeFormat['[[localeData]]'][locale] = data.date;\n }\n }\n\n // If this is the first set of locale data added, make it the default\n if (defaultLocale === undefined) setDefaultLocale(tag);\n}\n\ndefineProperty(Intl, '__disableRegExpRestore', {\n value: function value() {\n internals.disableRegExpRestore = true;\n }\n});\n\nmodule.exports = Intl;","'use strict';\n/**\n * @license Angular v14.2.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n((function (global) {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n const checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n class Zone {\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, ignoreDuplicate = false) {\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class _ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop,\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n}))(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n/// \n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = Zone.__symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames$1 = {};\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.slice(2);\n let eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n const previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n let uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected :\n forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n const AggregateError = global.AggregateError;\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static any(values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n const promises = [];\n let count = 0;\n try {\n for (let v of values) {\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n let finished = false;\n const errors = [];\n return new ZoneAwarePromise((resolve, reject) => {\n for (let i = 0; i < promises.length; i++) {\n promises[i].then(v => {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, err => {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n }\n ;\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (err) => {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n const onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n var _a;\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and invokes\n // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read\n // properties of undefined (reading 'Symbol(Symbol.species)')`.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n var _a;\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n let C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', delegate => zoneify(delegate));\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, api, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n let error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = context || event.target || _global;\n const tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n const errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n const err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n const err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n for (let i = 0; i < errors.length; i++) {\n const err = errors[i];\n api.nativeScheduleMicroTask(() => {\n throw err;\n });\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check unpatched list\n for (let i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n const onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch (_a) {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\n/**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\nfunction getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter(name => name.startsWith('on') && name.length > 2)\n .map(name => name.substring(2));\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n let patchTargets = [];\n if (isBrowser) {\n const internalWindow = window;\n patchTargets = patchTargets.concat([\n 'Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement',\n 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker'\n ]);\n const ignoreErrorProperties = isIE() ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, getOnEventNames(internalWindow), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest',\n 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket'\n ]);\n for (let i = 0; i < patchTargets.length; i++) {\n const target = _global[patchTargets[i]];\n target && target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('util', (global, Zone, api) => {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n const eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!(options.isPeriodic)) {\n if (typeof options.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options.handleId];\n }\n else if (options.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options.handleId[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative =\n patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('queueMicrotask', (global, Zone, api) => {\n api.patchMethod(global, 'queueMicrotask', delegate => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n});\nZone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n});\nZone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n});\nZone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n});\nZone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n});\nZone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n});\nZone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\n/**\r\n * This file includes polyfills needed by Angular and is loaded before the app.\r\n * You can add your own extra polyfills to this file.\r\n *\r\n * This file is divided into 2 sections:\r\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\r\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\r\n * file.\r\n *\r\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\r\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\r\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\r\n *\r\n * Learn more in https://angular.io/guide/browser-support\r\n */\r\n\r\n/***************************************************************************************************\r\n* BROWSER POLYFILLS\r\n*/ // Run `npm install --save classlist.js`. // Run `npm install --save web-animations-js`.\r\n\r\n\r\n/** Evergreen browsers require these. **/\r\nimport 'core-js/es/reflect';\r\n\r\n\r\n\r\n/***************************************************************************************************\r\n * Zone JS is required by Angular itself.\r\n */\r\nimport 'zone.js'; // Included with Angular CLI.\r\n\r\n\r\n\r\n/***************************************************************************************************\r\n * APPLICATION IMPORTS\r\n */\r\n\r\n/**\r\n * Date, currency, decimal and percent pipes.\r\n * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10\r\n */\r\n import 'intl'; // Run `npm install --save intl`.","require('../../modules/es.object.to-string');\nrequire('../../modules/es.reflect.apply');\nrequire('../../modules/es.reflect.construct');\nrequire('../../modules/es.reflect.define-property');\nrequire('../../modules/es.reflect.delete-property');\nrequire('../../modules/es.reflect.get');\nrequire('../../modules/es.reflect.get-own-property-descriptor');\nrequire('../../modules/es.reflect.get-prototype-of');\nrequire('../../modules/es.reflect.has');\nrequire('../../modules/es.reflect.is-extensible');\nrequire('../../modules/es.reflect.own-keys');\nrequire('../../modules/es.reflect.prevent-extensions');\nrequire('../../modules/es.reflect.set');\nrequire('../../modules/es.reflect.set-prototype-of');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Reflect;\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var hasOwn = require('../internals/has-own-property');\n\nmodule.exports = function (descriptor) {\n return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable'));\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.27.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.27.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar functionApply = require('../internals/function-apply');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\n\n// MS Edge argumentsList argument is optional\nvar OPTIONAL_ARGUMENTS_LIST = !fails(function () {\n // eslint-disable-next-line es/no-reflect -- required for testing\n Reflect.apply(function () { /* empty */ });\n});\n\n// `Reflect.apply` method\n// https://tc39.es/ecma262/#sec-reflect.apply\n$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {\n apply: function apply(target, thisArgument, argumentsList) {\n return functionApply(aCallable(target), thisArgument, anObject(argumentsList));\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar fails = require('../internals/fails');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\nvar ERROR_INSTEAD_OF_FALSE = fails(function () {\n // eslint-disable-next-line es/no-reflect -- required for testing\n Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 });\n});\n\n// `Reflect.defineProperty` method\n// https://tc39.es/ecma262/#sec-reflect.defineproperty\n$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n var key = toPropertyKey(propertyKey);\n anObject(attributes);\n try {\n definePropertyModule.f(target, key, attributes);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Reflect.deleteProperty` method\n// https://tc39.es/ecma262/#sec-reflect.deleteproperty\n$({ target: 'Reflect', stat: true }, {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);\n return descriptor && !descriptor.configurable ? false : delete target[propertyKey];\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\n\n// `Reflect.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor\n$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\n// `Reflect.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-reflect.getprototypeof\n$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(target) {\n return objectGetPrototypeOf(anObject(target));\n }\n});\n","var $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar isDataDescriptor = require('../internals/is-data-descriptor');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.es/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey);\n if (descriptor) return isDataDescriptor(descriptor)\n ? descriptor.value\n : descriptor.get === undefined ? undefined : call(descriptor.get, receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","var $ = require('../internals/export');\n\n// `Reflect.has` method\n// https://tc39.es/ecma262/#sec-reflect.has\n$({ target: 'Reflect', stat: true }, {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar $isExtensible = require('../internals/object-is-extensible');\n\n// `Reflect.isExtensible` method\n// https://tc39.es/ecma262/#sec-reflect.isextensible\n$({ target: 'Reflect', stat: true }, {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible(target);\n }\n});\n","var $ = require('../internals/export');\nvar ownKeys = require('../internals/own-keys');\n\n// `Reflect.ownKeys` method\n// https://tc39.es/ecma262/#sec-reflect.ownkeys\n$({ target: 'Reflect', stat: true }, {\n ownKeys: ownKeys\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar FREEZING = require('../internals/freezing');\n\n// `Reflect.preventExtensions` method\n// https://tc39.es/ecma262/#sec-reflect.preventextensions\n$({ target: 'Reflect', stat: true, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');\n if (objectPreventExtensions) objectPreventExtensions(target);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\nvar objectSetPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Reflect.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-reflect.setprototypeof\nif (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n anObject(target);\n aPossiblePrototype(proto);\n try {\n objectSetPrototypeOf(target, proto);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar isDataDescriptor = require('../internals/is-data-descriptor');\nvar fails = require('../internals/fails');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\n// `Reflect.set` method\n// https://tc39.es/ecma262/#sec-reflect.set\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);\n var existingDescriptor, prototype, setter;\n if (!ownDescriptor) {\n if (isObject(prototype = getPrototypeOf(target))) {\n return set(prototype, propertyKey, V, receiver);\n }\n ownDescriptor = createPropertyDescriptor(0);\n }\n if (isDataDescriptor(ownDescriptor)) {\n if (ownDescriptor.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n definePropertyModule.f(receiver, propertyKey, existingDescriptor);\n } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V));\n } else {\n setter = ownDescriptor.set;\n if (setter === undefined) return false;\n call(setter, receiver, V);\n } return true;\n}\n\n// MS Edge 17-18 Reflect.set allows setting the property to object\n// with non-writable property on the prototype\nvar MS_EDGE_BUG = fails(function () {\n var Constructor = function () { /* empty */ };\n var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true });\n // eslint-disable-next-line es/no-reflect -- required for testing\n return Reflect.set(Constructor.prototype, 'a', 1, object) !== false;\n});\n\n$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, {\n set: set\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","/* (ignored) */","/**\n * @license Angular v13.3.12\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst __globalThis = typeof globalThis !== 'undefined' && globalThis;\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Always use __globalThis if available; this is the spec-defined global variable across all\n// environments.\n// Then fallback to __global first; in Node tests both __global and __window may be defined.\nconst _global = __globalThis || __global || __window || __self;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Tag a template literal string for localization.\n *\n * For example:\n *\n * ```ts\n * $localize `some string to localize`\n * ```\n *\n * **Providing meaning, description and id**\n *\n * You can optionally specify one or more of `meaning`, `description` and `id` for a localized\n * string by pre-pending it with a colon delimited block of the form:\n *\n * ```ts\n * $localize`:meaning|description@@id:source message text`;\n *\n * $localize`:meaning|:source message text`;\n * $localize`:description:source message text`;\n * $localize`:@@id:source message text`;\n * ```\n *\n * This format is the same as that used for `i18n` markers in Angular templates. See the\n * [Angular i18n guide](guide/i18n-common-prepare#mark-text-in-component-template).\n *\n * **Naming placeholders**\n *\n * If the template literal string contains expressions, then the expressions will be automatically\n * associated with placeholder names for you.\n *\n * For example:\n *\n * ```ts\n * $localize `Hi ${name}! There are ${items.length} items.`;\n * ```\n *\n * will generate a message-source of `Hi {$PH}! There are {$PH_1} items`.\n *\n * The recommended practice is to name the placeholder associated with each expression though.\n *\n * Do this by providing the placeholder name wrapped in `:` characters directly after the\n * expression. These placeholder names are stripped out of the rendered localized string.\n *\n * For example, to name the `items.length` expression placeholder `itemCount` you write:\n *\n * ```ts\n * $localize `There are ${items.length}:itemCount: items`;\n * ```\n *\n * **Escaping colon markers**\n *\n * If you need to use a `:` character directly at the start of a tagged string that has no\n * metadata block, or directly after a substitution expression that has no name you must escape\n * the `:` by preceding it with a backslash:\n *\n * For example:\n *\n * ```ts\n * // message has a metadata block so no need to escape colon\n * $localize `:some description::this message starts with a colon (:)`;\n * // no metadata block so the colon must be escaped\n * $localize `\\:this message starts with a colon (:)`;\n * ```\n *\n * ```ts\n * // named substitution so no need to escape colon\n * $localize `${label}:label:: ${}`\n * // anonymous substitution so colon must be escaped\n * $localize `${label}\\: ${}`\n * ```\n *\n * **Processing localized strings:**\n *\n * There are three scenarios:\n *\n * * **compile-time inlining**: the `$localize` tag is transformed at compile time by a\n * transpiler, removing the tag and replacing the template literal string with a translated\n * literal string from a collection of translations provided to the transpilation tool.\n *\n * * **run-time evaluation**: the `$localize` tag is a run-time function that replaces and\n * reorders the parts (static strings and expressions) of the template literal string with strings\n * from a collection of translations loaded at run-time.\n *\n * * **pass-through evaluation**: the `$localize` tag is a run-time function that simply evaluates\n * the original template literal string without applying any translations to the parts. This\n * version is used during development or where there is no need to translate the localized\n * template literals.\n *\n * @param messageParts a collection of the static parts of the template string.\n * @param expressions a collection of the values of each placeholder in the template string.\n * @returns the translated string, with the `messageParts` and `expressions` interleaved together.\n *\n * @globalApi\n * @publicApi\n */\nconst $localize = function (messageParts, ...expressions) {\n if ($localize.translate) {\n // Don't use array expansion here to avoid the compiler adding `__read()` helper unnecessarily.\n const translation = $localize.translate(messageParts, expressions);\n messageParts = translation[0];\n expressions = translation[1];\n }\n let message = stripBlock(messageParts[0], messageParts.raw[0]);\n for (let i = 1; i < messageParts.length; i++) {\n message += expressions[i - 1] + stripBlock(messageParts[i], messageParts.raw[i]);\n }\n return message;\n};\nconst BLOCK_MARKER = ':';\n/**\n * Strip a delimited \"block\" from the start of the `messagePart`, if it is found.\n *\n * If a marker character (:) actually appears in the content at the start of a tagged string or\n * after a substitution expression, where a block has not been provided the character must be\n * escaped with a backslash, `\\:`. This function checks for this by looking at the `raw`\n * messagePart, which should still contain the backslash.\n *\n * @param messagePart The cooked message part to process.\n * @param rawMessagePart The raw message part to check.\n * @returns the message part with the placeholder name stripped, if found.\n * @throws an error if the block is unterminated\n */\nfunction stripBlock(messagePart, rawMessagePart) {\n return rawMessagePart.charAt(0) === BLOCK_MARKER ?\n messagePart.substring(findEndOfBlock(messagePart, rawMessagePart) + 1) :\n messagePart;\n}\n/**\n * Find the end of a \"marked block\" indicated by the first non-escaped colon.\n *\n * @param cooked The cooked string (where escaped chars have been processed)\n * @param raw The raw string (where escape sequences are still in place)\n *\n * @returns the index of the end of block marker\n * @throws an error if the block is unterminated\n */\nfunction findEndOfBlock(cooked, raw) {\n /***********************************************************************************************\n * This function is repeated in `src/utils/messages.ts` and the two should be kept in sync.\n * The reason is that this file is marked as having side-effects, and if we import `messages.ts`\n * into it, the whole of `src/utils` will be included in this bundle and none of the functions\n * will be tree shaken.\n ***********************************************************************************************/\n for (let cookedIndex = 1, rawIndex = 1; cookedIndex < cooked.length; cookedIndex++, rawIndex++) {\n if (raw[rawIndex] === '\\\\') {\n rawIndex++;\n }\n else if (cooked[cookedIndex] === BLOCK_MARKER) {\n return cookedIndex;\n }\n }\n throw new Error(`Unterminated $localize metadata block in \"${raw}\".`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Attach $localize to the global context, as a side-effect of this module.\n_global.$localize = $localize;\n\nexport { $localize };\n"],"names":["_typeof","Symbol","iterator","obj","constructor","jsx","REACT_ELEMENT_TYPE","for","createRawReactElement","type","props","key","children","defaultProps","childrenLength","arguments","length","propName","childArray","Array","i","$$typeof","undefined","ref","_owner","asyncToGenerator","fn","gen","apply","Promise","resolve","reject","step","arg","info","value","error","done","then","err","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","prototype","defineEnumerableProperties","descs","desc","defaults","keys","getOwnPropertyNames","getOwnPropertyDescriptor","defineProperty$1","_extends","assign","source","hasOwnProperty","call","get","object","property","receiver","Function","parent","getPrototypeOf","getter","inherits","subClass","superClass","create","setPrototypeOf","__proto__","_instanceof","left","right","hasInstance","interopRequireDefault","__esModule","default","interopRequireWildcard","newObj","newArrowCheck","innerThis","boundThis","objectDestructuringEmpty","objectWithoutProperties","indexOf","possibleConstructorReturn","self","ReferenceError","selfGlobal","global","set","setter","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_i","_s","next","push","isArray","slicedToArrayLoose","_iterator","_step","taggedTemplateLiteral","strings","raw","freeze","taggedTemplateLiteralLoose","temporalRef","val","name","undef","temporalUndefined","toArray","from","toConsumableArray","arr2","babelHelpers$1","typeof","extends","instanceof","realDefineProp","sentinel","a","e","es3","__defineGetter__","hop","arrIndexOf","search","t","max","objCreate","proto","F","k","arrSlice","slice","arrConcat","concat","arrPush","arrJoin","join","arrShift","shift","fnBind","bind","thisObj","args","internals","secret","Math","random","log10Floor","n","log10","floor","x","round","log","LOG10E","Number","Record","List","createRegExpRestore","disableRegExpRestore","regExpCache","lastMatch","RegExp","leftContext","multiline","input","has","esc","lm","replace","reg","m","exprStr","match","expr","lastIndex","exec","toObject","toNumber","toInteger","number","isNaN","Infinity","abs","toLength","len","pow","min","getInternalProperties","__getInternalProperties","extlang","language","script","region","variant","singleton","extension","privateuse","irregular","regular","grandfathered","langtag","expBCP47Syntax","expVariantDupes","expSingletonDupes","expExtSequences","defaultLocale","setDefaultLocale","locale","redundantTags","tags","subtags","BU","DD","FX","TP","YD","ZR","heploc","iw","ji","jw","mo","ayx","bjd","ccq","cjr","cka","cmk","drh","drw","gav","hrr","ibi","kgh","lcq","mst","myt","sca","tie","tkk","tlw","tnf","ybd","yma","extLang","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","aed","aen","afb","afg","ajp","apc","apd","arb","arq","ars","ary","arz","ase","asf","asp","asq","asw","auz","avl","ayh","ayl","ayn","ayp","bbz","bfi","bfk","bjn","bog","bqn","bqy","btj","bve","bvl","bvu","bzs","cdo","cds","cjy","cmn","coa","cpx","csc","csd","cse","csf","csg","csl","csn","csq","csr","czh","czo","doq","dse","dsl","dup","ecs","esl","esn","eso","eth","fcs","fse","fsl","fss","gan","gds","gom","gse","gsg","gsm","gss","gus","hab","haf","hak","hds","hji","hks","hos","hps","hsh","hsl","hsn","icl","ils","inl","ins","ise","isg","isr","jak","jax","jcs","jhs","jls","jos","jsl","jus","kgi","knn","kvb","kvk","kvr","kxd","lbs","lce","lcf","liw","lls","lsg","lsl","lso","lsp","lst","lsy","ltg","lvs","lzh","mdl","meo","mfa","mfb","mfs","mnp","mqg","mre","msd","msi","msr","mui","mzc","mzg","mzy","nan","nbs","ncs","nsi","nsl","nsp","nsr","nzs","okl","orn","ors","pel","pga","pks","prl","prz","psc","psd","pse","psg","psl","pso","psp","psr","pys","rms","rsi","rsl","sdl","sfb","sfs","sgg","sgx","shu","slf","sls","sqk","sqs","ssh","ssp","ssr","svk","swc","swh","swl","syy","tmw","tse","tsm","tsq","tss","tsy","tza","ugn","ugy","ukl","uks","urk","uzn","uzs","vgt","vkk","vkt","vsi","vsl","vsv","wuu","xki","xml","xmm","xms","yds","ysl","yue","zib","zlm","zmi","zsl","zsm","toLatinUpperCase","str","ch","charAt","toUpperCase","IsStructurallyValidLanguageTag","test","CanonicalizeLanguageTag","parts","toLowerCase","split","sort","_max","DefaultLocale","expCurrencyCode","IsWellFormedCurrencyCode","currency","c","String","normalized","expUnicodeExSeq","CanonicalizeLocaleList","locales","seen","O","Pk","kPresent","kValue","tag","RangeError","BestAvailableLocale","availableLocales","candidate","pos","lastIndexOf","substring","LookupMatcher","requestedLocales","availableLocale","noExtensionsLocale","result","extensionIndex","BestFitMatcher","ResolveLocale","options","relevantExtensionKeys","localeData","matcher","r","foundLocale","extensionSubtags","extensionSubtagsLength","supportedExtension","foundLocaleData","keyLocaleData","supportedExtensionAddition","keyPos","requestedValue","valuePos","_valuePos","optionsValue","privateIndex","preExtension","postExtension","LookupSupportedLocales","subset","subsetArray","BestFitSupportedLocales","SupportedLocales","localeMatcher","P","GetOption","values","fallback","Boolean","GetNumberOption","minimum","maximum","Intl","getCanonicalLocales","ll","currencyMinorUnits","BHD","BYR","XOF","BIF","XAF","CLF","CLP","KMF","DJF","XPF","GNF","ISK","IQD","JPY","JOD","KRW","KWD","LYD","OMR","PYG","RWF","TND","UGX","UYI","VUV","VND","NumberFormatConstructor","NumberFormat","InitializeNumberFormat","numberFormat","internal","regexpRestore","opt","dataLocale","s","cDigits","CurrencyDigits","cd","mnid","mnfdDefault","mnfd","mxfdDefault","mxfd","mnsd","minimumSignificantDigits","mxsd","maximumSignificantDigits","g","dataLocaleData","patterns","stylePatterns","positivePattern","negativePattern","format","GetFormatNumber","FormatNumber","bf","formatToParts","FormatNumberToParts","PartitionNumberPattern","part","nums","data","ild","symbols","latn","pattern","beginIndex","endIndex","nextIndex","Error","literal","p","isFinite","infinity","_n2","ToRawPrecision","ToRawFixed","numSys","digits","digit","integer","fraction","decimalSepIndex","groupSepSymbol","group","groups","pgSize","primaryGroupSize","sgSize","secondaryGroupSize","end","idx","start","integerGroup","decimalSepSymbol","decimal","plusSignSymbol","plusSign","minusSignSymbol","minusSign","percentSignSymbol","percentSign","currencies","_literal","_literal2","minPrecision","maxPrecision","f","exp","LN10","cut","minInteger","minFraction","maxFraction","toFixed","int","z","b","_z","arab","arabext","bali","beng","deva","fullwide","gujr","guru","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","prop","expDTComponents","expPatternTrimmer","unwantedDTCs","dtKeys","tmKeys","isDateFormatOnly","isTimeFormatOnly","joinDateAndTimeFormats","dateFormatObj","timeFormatObj","o","_","j","computeFinalPatterns","formatObj","pattern12","extendedPattern","$0","expDTComponentsMeta","era","year","quarter","month","week","day","weekday","hour12","hour","minute","second","timeZoneName","createDateTimeFormat","skeleton","originalPattern","createDateTimeFormats","formats","availableFormats","timeFormats","dateFormats","computed","timeRelatedFormats","dateRelatedFormats","full","long","medium","short","validSyntheticProps","numeric","narrow","generateSyntheticFormat","propValue","_ref2","dateWidths","resolveDateString","ca","component","width","gregory","alts","resolved","DateTimeFormatConstructor","DateTimeFormat","InitializeDateTimeFormat","dateTimeFormat","ToDateTimeOptions","tz","timeZone","dateTimeComponents","bestFormat","ToDateTimeFormats","BasicFormatMatcher","_hr","BestFitFormatMatcher","_prop","hr12","hourNo0","GetFormatDateTime","toString","required","opt2","needDefaults","removalPenalty","additionPenalty","longLessPenalty","longMorePenalty","shortLessPenalty","shortMorePenalty","bestScore","score","optionsProp","formatProp","optionsPropIndex","formatPropIndex","delta","optionsPropNames","_bestFormat","patternPenalty","hour12Penalty","_property","patternProp","date","Date","now","FormatDateTime","formatToParts$1","FormatToPartsDateTime","CreateDateTimeParts","nf","useGrouping","nf2","minimumIntegerDigits","tm","ToLocalTime","index","calendars","fv","v","_v","substr","calendar","d","ls","__localeSensitiveProtos","toLocaleString","toLocaleDateString","toLocaleTimeString","addLocaleData","nu","module","exports"],"sourceRoot":"webpack:///"}