﻿/*!
 * html2canvas 1.0.0-rc.5 <https://html2canvas.hertzen.com>
 * Copyright (c) 2019 Niklas von Hertzen <https://hertzen.com>
 * Released under MIT License
 */
!function (A, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (A = A || self).html2canvas = e() }(this, function () {
    "use strict";
/*! *****************************************************************************
    Copyright (c) Microsoft Corporation. All rights reserved.
    Licensed under the Apache License, Version 2.0 (the "License"); you may not use
    this file except in compliance with the License. You may obtain a copy of the
    License at http://www.apache.org/licenses/LICENSE-2.0

    THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
    WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
    MERCHANTABLITY OR NON-INFRINGEMENT.

    See the Apache Version 2.0 License for specific language governing permissions
    and limitations under the License.
    ***************************************************************************** */var r = function (A, e) { return (r = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (A, e) { A.__proto__ = e } || function (A, e) { for (var t in e) e.hasOwnProperty(t) && (A[t] = e[t]) })(A, e) }; function A(A, e) { function t() { this.constructor = A } r(A, e), A.prototype = null === e ? Object.create(e) : (t.prototype = e.prototype, new t) } var K = function () { return (K = Object.assign || function (A) { for (var e, t = 1, r = arguments.length; t < r; t++)for (var n in e = arguments[t]) Object.prototype.hasOwnProperty.call(e, n) && (A[n] = e[n]); return A }).apply(this, arguments) }; function a(B, s, o, i) { return new (o || (o = Promise))(function (A, e) { function t(A) { try { n(i.next(A)) } catch (A) { e(A) } } function r(A) { try { n(i.throw(A)) } catch (A) { e(A) } } function n(e) { e.done ? A(e.value) : new o(function (A) { A(e.value) }).then(t, r) } n((i = i.apply(B, s || [])).next()) }) } function S(t, r) { var n, B, s, A, o = { label: 0, sent: function () { if (1 & s[0]) throw s[1]; return s[1] }, trys: [], ops: [] }; return A = { next: e(0), throw: e(1), return: e(2) }, "function" == typeof Symbol && (A[Symbol.iterator] = function () { return this }), A; function e(e) { return function (A) { return function (e) { if (n) throw new TypeError("Generator is already executing."); for (; o;)try { if (n = 1, B && (s = 2 & e[0] ? B.return : e[0] ? B.throw || ((s = B.return) && s.call(B), 0) : B.next) && !(s = s.call(B, e[1])).done) return s; switch (B = 0, s && (e = [2 & e[0], s.value]), e[0]) { case 0: case 1: s = e; break; case 4: return o.label++, { value: e[1], done: !1 }; case 5: o.label++, B = e[1], e = [0]; continue; case 7: e = o.ops.pop(), o.trys.pop(); continue; default: if (!(s = 0 < (s = o.trys).length && s[s.length - 1]) && (6 === e[0] || 2 === e[0])) { o = 0; continue } if (3 === e[0] && (!s || e[1] > s[0] && e[1] < s[3])) { o.label = e[1]; break } if (6 === e[0] && o.label < s[1]) { o.label = s[1], s = e; break } if (s && o.label < s[2]) { o.label = s[2], o.ops.push(e); break } s[2] && o.ops.pop(), o.trys.pop(); continue }e = r.call(t, o) } catch (A) { e = [6, A], B = 0 } finally { n = s = 0 } if (5 & e[0]) throw e[1]; return { value: e[0] ? e[1] : void 0, done: !0 } }([e, A]) } } } var I = (n.prototype.add = function (A, e, t, r) { return new n(this.left + A, this.top + e, this.width + t, this.height + r) }, n.fromClientRect = function (A) { return new n(A.left, A.top, A.width, A.height) }, n); function n(A, e, t, r) { this.left = A, this.top = e, this.width = t, this.height = r } for (var T = function (A) { return I.fromClientRect(A.getBoundingClientRect()) }, c = function (A) { for (var e = [], t = 0, r = A.length; t < r;) { var n = A.charCodeAt(t++); if (55296 <= n && n <= 56319 && t < r) { var B = A.charCodeAt(t++); 56320 == (64512 & B) ? e.push(((1023 & n) << 10) + (1023 & B) + 65536) : (e.push(n), t--) } else e.push(n) } return e }, l = function () { for (var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e]; if (String.fromCodePoint) return String.fromCodePoint.apply(String, A); var t = A.length; if (!t) return ""; for (var r = [], n = -1, B = ""; ++n < t;) { var s = A[n]; s <= 65535 ? r.push(s) : (s -= 65536, r.push(55296 + (s >> 10), s % 1024 + 56320)), (n + 1 === t || 16384 < r.length) && (B += String.fromCharCode.apply(String, r), r.length = 0) } return B }, e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Q = "undefined" == typeof Uint8Array ? [] : new Uint8Array(256), t = 0; t < e.length; t++)Q[e.charCodeAt(t)] = t; function B(A, e, t) { return A.slice ? A.slice(e, t) : new Uint16Array(Array.prototype.slice.call(A, e, t)) } var s = (o.prototype.get = function (A) { var e; if (0 <= A) { if (A < 55296 || 56319 < A && A <= 65535) return e = ((e = this.index[A >> 5]) << 2) + (31 & A), this.data[e]; if (A <= 65535) return e = ((e = this.index[2048 + (A - 55296 >> 5)]) << 2) + (31 & A), this.data[e]; if (A < this.highStart) return e = 2080 + (A >> 11), e = this.index[e], e += A >> 5 & 63, e = ((e = this.index[e]) << 2) + (31 & A), this.data[e]; if (A <= 1114111) return this.data[this.highValueIndex] } return this.errorValue }, o); function o(A, e, t, r, n, B) { this.initialValue = A, this.errorValue = e, this.highStart = t, this.highValueIndex = r, this.index = n, this.data = B } function C(A, e, t, r) { var n = r[t]; if (Array.isArray(A) ? -1 !== A.indexOf(n) : A === n) for (var B = t; B <= r.length;) { if ((i = r[++B]) === e) return !0; if (i !== H) break } if (n === H) for (B = t; 0 < B;) { var s = r[--B]; if (Array.isArray(A) ? -1 !== A.indexOf(s) : A === s) for (var o = t; o <= r.length;) { var i; if ((i = r[++o]) === e) return !0; if (i !== H) break } if (s !== H) break } return !1 } function g(A, e) { for (var t = A; 0 <= t;) { var r = e[t]; if (r !== H) return r; t-- } return 0 } function w(A, e, t, r, n) { if (0 === t[r]) return Y; var B = r - 1; if (Array.isArray(n) && !0 === n[B]) return Y; var s = B - 1, o = 1 + B, i = e[B], a = 0 <= s ? e[s] : 0, c = e[o]; if (2 === i && 3 === c) return Y; if (-1 !== j.indexOf(i)) return "!"; if (-1 !== j.indexOf(c)) return Y; if (-1 !== $.indexOf(c)) return Y; if (8 === g(B, e)) return "÷"; if (11 === q.get(A[B]) && (c === X || c === P || c === x)) return Y; if (7 === i || 7 === c) return Y; if (9 === i) return Y; if (-1 === [H, d, f].indexOf(i) && 9 === c) return Y; if (-1 !== [p, N, m, O, y].indexOf(c)) return Y; if (g(B, e) === v) return Y; if (C(23, v, B, e)) return Y; if (C([p, N], L, B, e)) return Y; if (C(12, 12, B, e)) return Y; if (i === H) return "÷"; if (23 === i || 23 === c) return Y; if (16 === c || 16 === i) return "÷"; if (-1 !== [d, f, L].indexOf(c) || 14 === i) return Y; if (36 === a && -1 !== rA.indexOf(i)) return Y; if (i === y && 36 === c) return Y; if (c === R && -1 !== Z.concat(R, m, D, X, P, x).indexOf(i)) return Y; if (-1 !== Z.indexOf(c) && i === D || -1 !== Z.indexOf(i) && c === D) return Y; if (i === M && -1 !== [X, P, x].indexOf(c) || -1 !== [X, P, x].indexOf(i) && c === b) return Y; if (-1 !== Z.indexOf(i) && -1 !== AA.indexOf(c) || -1 !== AA.indexOf(i) && -1 !== Z.indexOf(c)) return Y; if (-1 !== [M, b].indexOf(i) && (c === D || -1 !== [v, f].indexOf(c) && e[1 + o] === D) || -1 !== [v, f].indexOf(i) && c === D || i === D && -1 !== [D, y, O].indexOf(c)) return Y; if (-1 !== [D, y, O, p, N].indexOf(c)) for (var Q = B; 0 <= Q;) { if ((w = e[Q]) === D) return Y; if (-1 === [y, O].indexOf(w)) break; Q-- } if (-1 !== [M, b].indexOf(c)) for (Q = -1 !== [p, N].indexOf(i) ? s : B; 0 <= Q;) { var w; if ((w = e[Q]) === D) return Y; if (-1 === [y, O].indexOf(w)) break; Q-- } if (J === i && -1 !== [J, G, V, z].indexOf(c) || -1 !== [G, V].indexOf(i) && -1 !== [G, k].indexOf(c) || -1 !== [k, z].indexOf(i) && c === k) return Y; if (-1 !== tA.indexOf(i) && -1 !== [R, b].indexOf(c) || -1 !== tA.indexOf(c) && i === M) return Y; if (-1 !== Z.indexOf(i) && -1 !== Z.indexOf(c)) return Y; if (i === O && -1 !== Z.indexOf(c)) return Y; if (-1 !== Z.concat(D).indexOf(i) && c === v || -1 !== Z.concat(D).indexOf(c) && i === N) return Y; if (41 === i && 41 === c) { for (var u = t[B], U = 1; 0 < u && 41 === e[--u];)U++; if (U % 2 != 0) return Y } return i === P && c === x ? Y : "÷" } function u(t, A) { A || (A = { lineBreak: "normal", wordBreak: "normal" }); var e = function (A, n) { void 0 === n && (n = "strict"); var B = [], s = [], o = []; return A.forEach(function (A, e) { var t = q.get(A); if (50 < t ? (o.push(!0), t -= 50) : o.push(!1), -1 !== ["normal", "auto", "loose"].indexOf(n) && -1 !== [8208, 8211, 12316, 12448].indexOf(A)) return s.push(e), B.push(16); if (4 !== t && 11 !== t) return s.push(e), 31 === t ? B.push("strict" === n ? L : X) : t === W ? B.push(_) : 29 === t ? B.push(_) : 43 === t ? 131072 <= A && A <= 196605 || 196608 <= A && A <= 262141 ? B.push(X) : B.push(_) : void B.push(t); if (0 === e) return s.push(e), B.push(_); var r = B[e - 1]; return -1 === eA.indexOf(r) ? (s.push(s[e - 1]), B.push(r)) : (s.push(e), B.push(_)) }), [s, B, o] }(t, A.lineBreak), r = e[0], n = e[1], B = e[2]; return "break-all" !== A.wordBreak && "break-word" !== A.wordBreak || (n = n.map(function (A) { return -1 !== [D, _, W].indexOf(A) ? X : A })), [r, n, "keep-all" === A.wordBreak ? B.map(function (A, e) { return A && 19968 <= t[e] && t[e] <= 40959 }) : void 0] } var i, U, E, F, h, H = 10, d = 13, f = 15, p = 17, N = 18, m = 19, R = 20, L = 21, v = 22, O = 24, D = 25, b = 26, M = 27, y = 28, _ = 30, P = 32, x = 33, V = 34, z = 35, X = 37, J = 38, G = 39, k = 40, W = 42, Y = "×", q = (i = function (A) { var e, t, r, n, B, s = .75 * A.length, o = A.length, i = 0; "=" === A[A.length - 1] && (s--, "=" === A[A.length - 2] && s--); var a = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array && void 0 !== Uint8Array.prototype.slice ? new ArrayBuffer(s) : new Array(s), c = Array.isArray(a) ? a : new Uint8Array(a); for (e = 0; e < o; e += 4)t = Q[A.charCodeAt(e)], r = Q[A.charCodeAt(e + 1)], n = Q[A.charCodeAt(e + 2)], B = Q[A.charCodeAt(e + 3)], c[i++] = t << 2 | r >> 4, c[i++] = (15 & r) << 4 | n >> 2, c[i++] = (3 & n) << 6 | 63 & B; return a }("KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA"), U = Array.isArray(i) ? function (A) { for (var e = A.length, t = [], r = 0; r < e; r += 4)t.push(A[r + 3] << 24 | A[r + 2] << 16 | A[r + 1] << 8 | A[r]); return t }(i) : new Uint32Array(i), E = Array.isArray(i) ? function (A) { for (var e = A.length, t = [], r = 0; r < e; r += 2)t.push(A[r + 1] << 8 | A[r]); return t }(i) : new Uint16Array(i), F = B(E, 12, U[4] / 2), h = 2 === U[5] ? B(E, (24 + U[4]) / 2) : function (A, e, t) { return A.slice ? A.slice(e, t) : new Uint32Array(Array.prototype.slice.call(A, e, t)) }(U, Math.ceil((24 + U[4]) / 4)), new s(U[0], U[1], U[2], U[3], F, h)), Z = [_, 36], j = [1, 2, 3, 5], $ = [H, 8], AA = [M, b], eA = j.concat($), tA = [J, G, k, V, z], rA = [f, d], nA = (BA.prototype.slice = function () { return l.apply(void 0, this.codePoints.slice(this.start, this.end)) }, BA); function BA(A, e, t, r) { this.codePoints = A, this.required = "!" === e, this.start = t, this.end = r } var sA, oA; (oA = sA || (sA = {}))[oA.STRING_TOKEN = 0] = "STRING_TOKEN", oA[oA.BAD_STRING_TOKEN = 1] = "BAD_STRING_TOKEN", oA[oA.LEFT_PARENTHESIS_TOKEN = 2] = "LEFT_PARENTHESIS_TOKEN", oA[oA.RIGHT_PARENTHESIS_TOKEN = 3] = "RIGHT_PARENTHESIS_TOKEN", oA[oA.COMMA_TOKEN = 4] = "COMMA_TOKEN", oA[oA.HASH_TOKEN = 5] = "HASH_TOKEN", oA[oA.DELIM_TOKEN = 6] = "DELIM_TOKEN", oA[oA.AT_KEYWORD_TOKEN = 7] = "AT_KEYWORD_TOKEN", oA[oA.PREFIX_MATCH_TOKEN = 8] = "PREFIX_MATCH_TOKEN", oA[oA.DASH_MATCH_TOKEN = 9] = "DASH_MATCH_TOKEN", oA[oA.INCLUDE_MATCH_TOKEN = 10] = "INCLUDE_MATCH_TOKEN", oA[oA.LEFT_CURLY_BRACKET_TOKEN = 11] = "LEFT_CURLY_BRACKET_TOKEN", oA[oA.RIGHT_CURLY_BRACKET_TOKEN = 12] = "RIGHT_CURLY_BRACKET_TOKEN", oA[oA.SUFFIX_MATCH_TOKEN = 13] = "SUFFIX_MATCH_TOKEN", oA[oA.SUBSTRING_MATCH_TOKEN = 14] = "SUBSTRING_MATCH_TOKEN", oA[oA.DIMENSION_TOKEN = 15] = "DIMENSION_TOKEN", oA[oA.PERCENTAGE_TOKEN = 16] = "PERCENTAGE_TOKEN", oA[oA.NUMBER_TOKEN = 17] = "NUMBER_TOKEN", oA[oA.FUNCTION = 18] = "FUNCTION", oA[oA.FUNCTION_TOKEN = 19] = "FUNCTION_TOKEN", oA[oA.IDENT_TOKEN = 20] = "IDENT_TOKEN", oA[oA.COLUMN_TOKEN = 21] = "COLUMN_TOKEN", oA[oA.URL_TOKEN = 22] = "URL_TOKEN", oA[oA.BAD_URL_TOKEN = 23] = "BAD_URL_TOKEN", oA[oA.CDC_TOKEN = 24] = "CDC_TOKEN", oA[oA.CDO_TOKEN = 25] = "CDO_TOKEN", oA[oA.COLON_TOKEN = 26] = "COLON_TOKEN", oA[oA.SEMICOLON_TOKEN = 27] = "SEMICOLON_TOKEN", oA[oA.LEFT_SQUARE_BRACKET_TOKEN = 28] = "LEFT_SQUARE_BRACKET_TOKEN", oA[oA.RIGHT_SQUARE_BRACKET_TOKEN = 29] = "RIGHT_SQUARE_BRACKET_TOKEN", oA[oA.UNICODE_RANGE_TOKEN = 30] = "UNICODE_RANGE_TOKEN", oA[oA.WHITESPACE_TOKEN = 31] = "WHITESPACE_TOKEN", oA[oA.EOF_TOKEN = 32] = "EOF_TOKEN"; function iA(A) { return 48 <= A && A <= 57 } function aA(A) { return iA(A) || 65 <= A && A <= 70 || 97 <= A && A <= 102 } function cA(A) { return 10 === A || 9 === A || 32 === A } function QA(A) { return function (A) { return function (A) { return 97 <= A && A <= 122 }(A) || function (A) { return 65 <= A && A <= 90 }(A) }(A) || function (A) { return 128 <= A }(A) || 95 === A } function wA(A) { return QA(A) || iA(A) || 45 === A } function uA(A, e) { return 92 === A && 10 !== e } function UA(A, e, t) { return 45 === A ? QA(e) || uA(e, t) : !!QA(A) || !(92 !== A || !uA(A, e)) } function lA(A, e, t) { return 43 === A || 45 === A ? !!iA(e) || 46 === e && iA(t) : iA(46 === A ? e : A) } var CA = { type: sA.LEFT_PARENTHESIS_TOKEN }, gA = { type: sA.RIGHT_PARENTHESIS_TOKEN }, EA = { type: sA.COMMA_TOKEN }, FA = { type: sA.SUFFIX_MATCH_TOKEN }, hA = { type: sA.PREFIX_MATCH_TOKEN }, HA = { type: sA.COLUMN_TOKEN }, dA = { type: sA.DASH_MATCH_TOKEN }, fA = { type: sA.INCLUDE_MATCH_TOKEN }, pA = { type: sA.LEFT_CURLY_BRACKET_TOKEN }, NA = { type: sA.RIGHT_CURLY_BRACKET_TOKEN }, KA = { type: sA.SUBSTRING_MATCH_TOKEN }, IA = { type: sA.BAD_URL_TOKEN }, TA = { type: sA.BAD_STRING_TOKEN }, mA = { type: sA.CDO_TOKEN }, RA = { type: sA.CDC_TOKEN }, LA = { type: sA.COLON_TOKEN }, vA = { type: sA.SEMICOLON_TOKEN }, OA = { type: sA.LEFT_SQUARE_BRACKET_TOKEN }, DA = { type: sA.RIGHT_SQUARE_BRACKET_TOKEN }, bA = { type: sA.WHITESPACE_TOKEN }, SA = { type: sA.EOF_TOKEN }, MA = (yA.prototype.write = function (A) { this._value = this._value.concat(c(A)) }, yA.prototype.read = function () { for (var A = [], e = this.consumeToken(); e !== SA;)A.push(e), e = this.consumeToken(); return A }, yA.prototype.consumeToken = function () { var A = this.consumeCodePoint(); switch (A) { case 34: return this.consumeStringToken(34); case 35: var e = this.peekCodePoint(0), t = this.peekCodePoint(1), r = this.peekCodePoint(2); if (wA(e) || uA(t, r)) { var n = UA(e, t, r) ? 2 : 1, B = this.consumeName(); return { type: sA.HASH_TOKEN, value: B, flags: n } } break; case 36: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), FA; break; case 39: return this.consumeStringToken(39); case 40: return CA; case 41: return gA; case 42: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), KA; break; case 43: if (lA(A, this.peekCodePoint(0), this.peekCodePoint(1))) return this.reconsumeCodePoint(A), this.consumeNumericToken(); break; case 44: return EA; case 45: var s = A, o = this.peekCodePoint(0), i = this.peekCodePoint(1); if (lA(s, o, i)) return this.reconsumeCodePoint(A), this.consumeNumericToken(); if (UA(s, o, i)) return this.reconsumeCodePoint(A), this.consumeIdentLikeToken(); if (45 === o && 62 === i) return this.consumeCodePoint(), this.consumeCodePoint(), RA; break; case 46: if (lA(A, this.peekCodePoint(0), this.peekCodePoint(1))) return this.reconsumeCodePoint(A), this.consumeNumericToken(); break; case 47: if (42 === this.peekCodePoint(0)) for (this.consumeCodePoint(); ;) { var a = this.consumeCodePoint(); if (42 === a && 47 === (a = this.consumeCodePoint())) return this.consumeToken(); if (-1 === a) return this.consumeToken() } break; case 58: return LA; case 59: return vA; case 60: if (33 === this.peekCodePoint(0) && 45 === this.peekCodePoint(1) && 45 === this.peekCodePoint(2)) return this.consumeCodePoint(), this.consumeCodePoint(), mA; break; case 64: var c = this.peekCodePoint(0), Q = this.peekCodePoint(1), w = this.peekCodePoint(2); if (UA(c, Q, w)) return B = this.consumeName(), { type: sA.AT_KEYWORD_TOKEN, value: B }; break; case 91: return OA; case 92: if (uA(A, this.peekCodePoint(0))) return this.reconsumeCodePoint(A), this.consumeIdentLikeToken(); break; case 93: return DA; case 61: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), hA; break; case 123: return pA; case 125: return NA; case 117: case 85: var u = this.peekCodePoint(0), U = this.peekCodePoint(1); return 43 !== u || !aA(U) && 63 !== U || (this.consumeCodePoint(), this.consumeUnicodeRangeToken()), this.reconsumeCodePoint(A), this.consumeIdentLikeToken(); case 124: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), dA; if (124 === this.peekCodePoint(0)) return this.consumeCodePoint(), HA; break; case 126: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), fA; break; case -1: return SA }return cA(A) ? (this.consumeWhiteSpace(), bA) : iA(A) ? (this.reconsumeCodePoint(A), this.consumeNumericToken()) : QA(A) ? (this.reconsumeCodePoint(A), this.consumeIdentLikeToken()) : { type: sA.DELIM_TOKEN, value: l(A) } }, yA.prototype.consumeCodePoint = function () { var A = this._value.shift(); return void 0 === A ? -1 : A }, yA.prototype.reconsumeCodePoint = function (A) { this._value.unshift(A) }, yA.prototype.peekCodePoint = function (A) { return A >= this._value.length ? -1 : this._value[A] }, yA.prototype.consumeUnicodeRangeToken = function () { for (var A = [], e = this.consumeCodePoint(); aA(e) && A.length < 6;)A.push(e), e = this.consumeCodePoint(); for (var t = !1; 63 === e && A.length < 6;)A.push(e), e = this.consumeCodePoint(), t = !0; if (t) { var r = parseInt(l.apply(void 0, A.map(function (A) { return 63 === A ? 48 : A })), 16), n = parseInt(l.apply(void 0, A.map(function (A) { return 63 === A ? 70 : A })), 16); return { type: sA.UNICODE_RANGE_TOKEN, start: r, end: n } } var B = parseInt(l.apply(void 0, A), 16); if (45 === this.peekCodePoint(0) && aA(this.peekCodePoint(1))) { this.consumeCodePoint(), e = this.consumeCodePoint(); for (var s = []; aA(e) && s.length < 6;)s.push(e), e = this.consumeCodePoint(); return n = parseInt(l.apply(void 0, s), 16), { type: sA.UNICODE_RANGE_TOKEN, start: B, end: n } } return { type: sA.UNICODE_RANGE_TOKEN, start: B, end: B } }, yA.prototype.consumeIdentLikeToken = function () { var A = this.consumeName(); return "url" === A.toLowerCase() && 40 === this.peekCodePoint(0) ? (this.consumeCodePoint(), this.consumeUrlToken()) : 40 === this.peekCodePoint(0) ? (this.consumeCodePoint(), { type: sA.FUNCTION_TOKEN, value: A }) : { type: sA.IDENT_TOKEN, value: A } }, yA.prototype.consumeUrlToken = function () { var A = []; if (this.consumeWhiteSpace(), -1 === this.peekCodePoint(0)) return { type: sA.URL_TOKEN, value: "" }; var e, t = this.peekCodePoint(0); if (39 === t || 34 === t) { var r = this.consumeStringToken(this.consumeCodePoint()); return r.type === sA.STRING_TOKEN && (this.consumeWhiteSpace(), -1 === this.peekCodePoint(0) || 41 === this.peekCodePoint(0)) ? (this.consumeCodePoint(), { type: sA.URL_TOKEN, value: r.value }) : (this.consumeBadUrlRemnants(), IA) } for (; ;) { var n = this.consumeCodePoint(); if (-1 === n || 41 === n) return { type: sA.URL_TOKEN, value: l.apply(void 0, A) }; if (cA(n)) return this.consumeWhiteSpace(), -1 === this.peekCodePoint(0) || 41 === this.peekCodePoint(0) ? (this.consumeCodePoint(), { type: sA.URL_TOKEN, value: l.apply(void 0, A) }) : (this.consumeBadUrlRemnants(), IA); if (34 === n || 39 === n || 40 === n || 0 <= (e = n) && e <= 8 || 11 === e || 14 <= e && e <= 31 || 127 === e) return this.consumeBadUrlRemnants(), IA; if (92 === n) { if (!uA(n, this.peekCodePoint(0))) return this.consumeBadUrlRemnants(), IA; A.push(this.consumeEscapedCodePoint()) } else A.push(n) } }, yA.prototype.consumeWhiteSpace = function () { for (; cA(this.peekCodePoint(0));)this.consumeCodePoint() }, yA.prototype.consumeBadUrlRemnants = function () { for (; ;) { var A = this.consumeCodePoint(); if (41 === A || -1 === A) return; uA(A, this.peekCodePoint(0)) && this.consumeEscapedCodePoint() } }, yA.prototype.consumeStringSlice = function (A) { for (var e = ""; 0 < A;) { var t = Math.min(6e4, A); e += l.apply(void 0, this._value.splice(0, t)), A -= t } return this._value.shift(), e }, yA.prototype.consumeStringToken = function (A) { for (var e = "", t = 0; ;) { var r = this._value[t]; if (-1 === r || void 0 === r || r === A) return e += this.consumeStringSlice(t), { type: sA.STRING_TOKEN, value: e }; if (10 === r) return this._value.splice(0, t), TA; if (92 === r) { var n = this._value[t + 1]; -1 !== n && void 0 !== n && (10 === n ? (e += this.consumeStringSlice(t), t = -1, this._value.shift()) : uA(r, n) && (e += this.consumeStringSlice(t), e += l(this.consumeEscapedCodePoint()), t = -1)) } t++ } }, yA.prototype.consumeNumber = function () { var A = [], e = 4, t = this.peekCodePoint(0); for (43 !== t && 45 !== t || A.push(this.consumeCodePoint()); iA(this.peekCodePoint(0));)A.push(this.consumeCodePoint()); t = this.peekCodePoint(0); var r = this.peekCodePoint(1); if (46 === t && iA(r)) for (A.push(this.consumeCodePoint(), this.consumeCodePoint()), e = 8; iA(this.peekCodePoint(0));)A.push(this.consumeCodePoint()); t = this.peekCodePoint(0), r = this.peekCodePoint(1); var n = this.peekCodePoint(2); if ((69 === t || 101 === t) && ((43 === r || 45 === r) && iA(n) || iA(r))) for (A.push(this.consumeCodePoint(), this.consumeCodePoint()), e = 8; iA(this.peekCodePoint(0));)A.push(this.consumeCodePoint()); return [function (A) { var e = 0, t = 1; 43 !== A[e] && 45 !== A[e] || (45 === A[e] && (t = -1), e++); for (var r = []; iA(A[e]);)r.push(A[e++]); var n = r.length ? parseInt(l.apply(void 0, r), 10) : 0; 46 === A[e] && e++; for (var B = []; iA(A[e]);)B.push(A[e++]); var s = B.length, o = s ? parseInt(l.apply(void 0, B), 10) : 0; 69 !== A[e] && 101 !== A[e] || e++; var i = 1; 43 !== A[e] && 45 !== A[e] || (45 === A[e] && (i = -1), e++); for (var a = []; iA(A[e]);)a.push(A[e++]); var c = a.length ? parseInt(l.apply(void 0, a), 10) : 0; return t * (n + o * Math.pow(10, -s)) * Math.pow(10, i * c) }(A), e] }, yA.prototype.consumeNumericToken = function () { var A = this.consumeNumber(), e = A[0], t = A[1], r = this.peekCodePoint(0), n = this.peekCodePoint(1), B = this.peekCodePoint(2); if (UA(r, n, B)) { var s = this.consumeName(); return { type: sA.DIMENSION_TOKEN, number: e, flags: t, unit: s } } return 37 === r ? (this.consumeCodePoint(), { type: sA.PERCENTAGE_TOKEN, number: e, flags: t }) : { type: sA.NUMBER_TOKEN, number: e, flags: t } }, yA.prototype.consumeEscapedCodePoint = function () { var A = this.consumeCodePoint(); if (aA(A)) { for (var e = l(A); aA(this.peekCodePoint(0)) && e.length < 6;)e += l(this.consumeCodePoint()); cA(this.peekCodePoint(0)) && this.consumeCodePoint(); var t = parseInt(e, 16); return 0 === t || function (A) { return 55296 <= A && A <= 57343 }(t) || 1114111 < t ? 65533 : t } return -1 === A ? 65533 : A }, yA.prototype.consumeName = function () { for (var A = ""; ;) { var e = this.consumeCodePoint(); if (wA(e)) A += l(e); else { if (!uA(e, this.peekCodePoint(0))) return this.reconsumeCodePoint(e), A; A += l(this.consumeEscapedCodePoint()) } } }, yA); function yA() { this._value = [] } var _A = (PA.create = function (A) { var e = new MA; return e.write(A), new PA(e.read()) }, PA.parseValue = function (A) { return PA.create(A).parseComponentValue() }, PA.parseValues = function (A) { return PA.create(A).parseComponentValues() }, PA.prototype.parseComponentValue = function () { for (var A = this.consumeToken(); A.type === sA.WHITESPACE_TOKEN;)A = this.consumeToken(); if (A.type === sA.EOF_TOKEN) throw new SyntaxError("Error parsing CSS component value, unexpected EOF"); this.reconsumeToken(A); for (var e = this.consumeComponentValue(); (A = this.consumeToken()).type === sA.WHITESPACE_TOKEN;); if (A.type === sA.EOF_TOKEN) return e; throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one") }, PA.prototype.parseComponentValues = function () { for (var A = []; ;) { var e = this.consumeComponentValue(); if (e.type === sA.EOF_TOKEN) return A; A.push(e), A.push() } }, PA.prototype.consumeComponentValue = function () { var A = this.consumeToken(); switch (A.type) { case sA.LEFT_CURLY_BRACKET_TOKEN: case sA.LEFT_SQUARE_BRACKET_TOKEN: case sA.LEFT_PARENTHESIS_TOKEN: return this.consumeSimpleBlock(A.type); case sA.FUNCTION_TOKEN: return this.consumeFunction(A) }return A }, PA.prototype.consumeSimpleBlock = function (A) { for (var e = { type: A, values: [] }, t = this.consumeToken(); ;) { if (t.type === sA.EOF_TOKEN || Be(t, A)) return e; this.reconsumeToken(t), e.values.push(this.consumeComponentValue()), t = this.consumeToken() } }, PA.prototype.consumeFunction = function (A) { for (var e = { name: A.value, values: [], type: sA.FUNCTION }; ;) { var t = this.consumeToken(); if (t.type === sA.EOF_TOKEN || t.type === sA.RIGHT_PARENTHESIS_TOKEN) return e; this.reconsumeToken(t), e.values.push(this.consumeComponentValue()) } }, PA.prototype.consumeToken = function () { var A = this._tokens.shift(); return void 0 === A ? SA : A }, PA.prototype.reconsumeToken = function (A) { this._tokens.unshift(A) }, PA); function PA(A) { this._tokens = A } function xA(A) { return A.type === sA.DIMENSION_TOKEN } function VA(A) { return A.type === sA.NUMBER_TOKEN } function zA(A) { return A.type === sA.IDENT_TOKEN } function XA(A) { return A.type === sA.STRING_TOKEN } function JA(A, e) { return zA(A) && A.value === e } function GA(A) { return A.type !== sA.WHITESPACE_TOKEN } function kA(A) { return A.type !== sA.WHITESPACE_TOKEN && A.type !== sA.COMMA_TOKEN } function WA(A) { var e = [], t = []; return A.forEach(function (A) { if (A.type === sA.COMMA_TOKEN) { if (0 === t.length) throw new Error("Error parsing function args, zero tokens for arg"); return e.push(t), void (t = []) } A.type !== sA.WHITESPACE_TOKEN && t.push(A) }), t.length && e.push(t), e } function YA(A) { return A.type === sA.NUMBER_TOKEN || A.type === sA.DIMENSION_TOKEN } function qA(A) { return A.type === sA.PERCENTAGE_TOKEN || YA(A) } function ZA(A) { return 1 < A.length ? [A[0], A[1]] : [A[0]] } function jA(A, e, t) { var r = A[0], n = A[1]; return [ae(r, e), ae(void 0 !== n ? n : r, t)] } function $A(A) { return A.type === sA.DIMENSION_TOKEN && ("deg" === A.unit || "grad" === A.unit || "rad" === A.unit || "turn" === A.unit) } function Ae(A) { switch (A.filter(zA).map(function (A) { return A.value }).join(" ")) { case "to bottom right": case "to right bottom": case "left top": case "top left": return [se, se]; case "to top": case "bottom": return Qe(0); case "to bottom left": case "to left bottom": case "right top": case "top right": return [se, ie]; case "to right": case "left": return Qe(90); case "to top left": case "to left top": case "right bottom": case "bottom right": return [ie, ie]; case "to bottom": case "top": return Qe(180); case "to top right": case "to right top": case "left bottom": case "bottom left": return [ie, se]; case "to left": case "right": return Qe(270) }return 0 } function ee(A) { return 0 == (255 & A) } function te(A) { var e = 255 & A, t = 255 & A >> 8, r = 255 & A >> 16, n = 255 & A >> 24; return e < 255 ? "rgba(" + n + "," + r + "," + t + "," + e / 255 + ")" : "rgb(" + n + "," + r + "," + t + ")" } function re(A, e) { if (A.type === sA.NUMBER_TOKEN) return A.number; if (A.type !== sA.PERCENTAGE_TOKEN) return 0; var t = 3 === e ? 1 : 255; return 3 === e ? A.number / 100 * t : Math.round(A.number / 100 * t) } function ne(A) { var e = A.filter(kA); if (3 === e.length) { var t = e.map(re), r = t[0], n = t[1], B = t[2]; return ue(r, n, B, 1) } if (4 !== e.length) return 0; var s = e.map(re), o = (r = s[0], n = s[1], B = s[2], s[3]); return ue(r, n, B, o) } var Be = function (A, e) { return e === sA.LEFT_CURLY_BRACKET_TOKEN && A.type === sA.RIGHT_CURLY_BRACKET_TOKEN || (e === sA.LEFT_SQUARE_BRACKET_TOKEN && A.type === sA.RIGHT_SQUARE_BRACKET_TOKEN || e === sA.LEFT_PARENTHESIS_TOKEN && A.type === sA.RIGHT_PARENTHESIS_TOKEN) }, se = { type: sA.NUMBER_TOKEN, number: 0, flags: 4 }, oe = { type: sA.PERCENTAGE_TOKEN, number: 50, flags: 4 }, ie = { type: sA.PERCENTAGE_TOKEN, number: 100, flags: 4 }, ae = function (A, e) { if (A.type === sA.PERCENTAGE_TOKEN) return A.number / 100 * e; if (xA(A)) switch (A.unit) { case "rem": case "em": return 16 * A.number; case "px": default: return A.number }return A.number }, ce = function (A) { if (A.type === sA.DIMENSION_TOKEN) switch (A.unit) { case "deg": return Math.PI * A.number / 180; case "grad": return Math.PI / 200 * A.number; case "rad": return A.number; case "turn": return 2 * Math.PI * A.number }throw new Error("Unsupported angle type") }, Qe = function (A) { return Math.PI * A / 180 }, we = function (A) { if (A.type === sA.FUNCTION) { var e = he[A.name]; if (void 0 === e) throw new Error('Attempting to parse an unsupported color function "' + A.name + '"'); return e(A.values) } if (A.type === sA.HASH_TOKEN) { if (3 === A.value.length) { var t = A.value.substring(0, 1), r = A.value.substring(1, 2), n = A.value.substring(2, 3); return ue(parseInt(t + t, 16), parseInt(r + r, 16), parseInt(n + n, 16), 1) } if (4 === A.value.length) { t = A.value.substring(0, 1), r = A.value.substring(1, 2), n = A.value.substring(2, 3); var B = A.value.substring(3, 4); return ue(parseInt(t + t, 16), parseInt(r + r, 16), parseInt(n + n, 16), parseInt(B + B, 16) / 255) } if (6 === A.value.length) { t = A.value.substring(0, 2), r = A.value.substring(2, 4), n = A.value.substring(4, 6); return ue(parseInt(t, 16), parseInt(r, 16), parseInt(n, 16), 1) } if (8 === A.value.length) { t = A.value.substring(0, 2), r = A.value.substring(2, 4), n = A.value.substring(4, 6), B = A.value.substring(6, 8); return ue(parseInt(t, 16), parseInt(r, 16), parseInt(n, 16), parseInt(B, 16) / 255) } } if (A.type === sA.IDENT_TOKEN) { var s = He[A.value.toUpperCase()]; if (void 0 !== s) return s } return He.TRANSPARENT }, ue = function (A, e, t, r) { return (A << 24 | e << 16 | t << 8 | Math.round(255 * r) << 0) >>> 0 }; function Ue(A, e, t) { return t < 0 && (t += 1), 1 <= t && (t -= 1), t < 1 / 6 ? (e - A) * t * 6 + A : t < .5 ? e : t < 2 / 3 ? 6 * (e - A) * (2 / 3 - t) + A : A } function le(A) { var e = A.filter(kA), t = e[0], r = e[1], n = e[2], B = e[3], s = (t.type === sA.NUMBER_TOKEN ? Qe(t.number) : ce(t)) / (2 * Math.PI), o = qA(r) ? r.number / 100 : 0, i = qA(n) ? n.number / 100 : 0, a = void 0 !== B && qA(B) ? ae(B, 1) : 1; if (0 == o) return ue(255 * i, 255 * i, 255 * i, 1); var c = i <= .5 ? i * (1 + o) : i + o - i * o, Q = 2 * i - c, w = Ue(Q, c, s + 1 / 3), u = Ue(Q, c, s), U = Ue(Q, c, s - 1 / 3); return ue(255 * w, 255 * u, 255 * U, a) } var Ce, ge, Ee, Fe, he = { hsl: le, hsla: le, rgb: ne, rgba: ne }, He = { ALICEBLUE: 4042850303, ANTIQUEWHITE: 4209760255, AQUA: 16777215, AQUAMARINE: 2147472639, AZURE: 4043309055, BEIGE: 4126530815, BISQUE: 4293182719, BLACK: 255, BLANCHEDALMOND: 4293643775, BLUE: 65535, BLUEVIOLET: 2318131967, BROWN: 2771004159, BURLYWOOD: 3736635391, CADETBLUE: 1604231423, CHARTREUSE: 2147418367, CHOCOLATE: 3530104575, CORAL: 4286533887, CORNFLOWERBLUE: 1687547391, CORNSILK: 4294499583, CRIMSON: 3692313855, CYAN: 16777215, DARKBLUE: 35839, DARKCYAN: 9145343, DARKGOLDENROD: 3095837695, DARKGRAY: 2846468607, DARKGREEN: 6553855, DARKGREY: 2846468607, DARKKHAKI: 3182914559, DARKMAGENTA: 2332068863, DARKOLIVEGREEN: 1433087999, DARKORANGE: 4287365375, DARKORCHID: 2570243327, DARKRED: 2332033279, DARKSALMON: 3918953215, DARKSEAGREEN: 2411499519, DARKSLATEBLUE: 1211993087, DARKSLATEGRAY: 793726975, DARKSLATEGREY: 793726975, DARKTURQUOISE: 13554175, DARKVIOLET: 2483082239, DEEPPINK: 4279538687, DEEPSKYBLUE: 12582911, DIMGRAY: 1768516095, DIMGREY: 1768516095, DODGERBLUE: 512819199, FIREBRICK: 2988581631, FLORALWHITE: 4294635775, FORESTGREEN: 579543807, FUCHSIA: 4278255615, GAINSBORO: 3705462015, GHOSTWHITE: 4177068031, GOLD: 4292280575, GOLDENROD: 3668254975, GRAY: 2155905279, GREEN: 8388863, GREENYELLOW: 2919182335, GREY: 2155905279, HONEYDEW: 4043305215, HOTPINK: 4285117695, INDIANRED: 3445382399, INDIGO: 1258324735, IVORY: 4294963455, KHAKI: 4041641215, LAVENDER: 3873897215, LAVENDERBLUSH: 4293981695, LAWNGREEN: 2096890111, LEMONCHIFFON: 4294626815, LIGHTBLUE: 2916673279, LIGHTCORAL: 4034953471, LIGHTCYAN: 3774873599, LIGHTGOLDENRODYELLOW: 4210742015, LIGHTGRAY: 3553874943, LIGHTGREEN: 2431553791, LIGHTGREY: 3553874943, LIGHTPINK: 4290167295, LIGHTSALMON: 4288707327, LIGHTSEAGREEN: 548580095, LIGHTSKYBLUE: 2278488831, LIGHTSLATEGRAY: 2005441023, LIGHTSLATEGREY: 2005441023, LIGHTSTEELBLUE: 2965692159, LIGHTYELLOW: 4294959359, LIME: 16711935, LIMEGREEN: 852308735, LINEN: 4210091775, MAGENTA: 4278255615, MAROON: 2147483903, MEDIUMAQUAMARINE: 1724754687, MEDIUMBLUE: 52735, MEDIUMORCHID: 3126187007, MEDIUMPURPLE: 2473647103, MEDIUMSEAGREEN: 1018393087, MEDIUMSLATEBLUE: 2070474495, MEDIUMSPRINGGREEN: 16423679, MEDIUMTURQUOISE: 1221709055, MEDIUMVIOLETRED: 3340076543, MIDNIGHTBLUE: 421097727, MINTCREAM: 4127193855, MISTYROSE: 4293190143, MOCCASIN: 4293178879, NAVAJOWHITE: 4292783615, NAVY: 33023, OLDLACE: 4260751103, OLIVE: 2155872511, OLIVEDRAB: 1804477439, ORANGE: 4289003775, ORANGERED: 4282712319, ORCHID: 3664828159, PALEGOLDENROD: 4008225535, PALEGREEN: 2566625535, PALETURQUOISE: 2951671551, PALEVIOLETRED: 3681588223, PAPAYAWHIP: 4293907967, PEACHPUFF: 4292524543, PERU: 3448061951, PINK: 4290825215, PLUM: 3718307327, POWDERBLUE: 2967529215, PURPLE: 2147516671, REBECCAPURPLE: 1714657791, RED: 4278190335, ROSYBROWN: 3163525119, ROYALBLUE: 1097458175, SADDLEBROWN: 2336560127, SALMON: 4202722047, SANDYBROWN: 4104413439, SEAGREEN: 780883967, SEASHELL: 4294307583, SIENNA: 2689740287, SILVER: 3233857791, SKYBLUE: 2278484991, SLATEBLUE: 1784335871, SLATEGRAY: 1887473919, SLATEGREY: 1887473919, SNOW: 4294638335, SPRINGGREEN: 16744447, STEELBLUE: 1182971135, TAN: 3535047935, TEAL: 8421631, THISTLE: 3636451583, TOMATO: 4284696575, TRANSPARENT: 0, TURQUOISE: 1088475391, VIOLET: 4001558271, WHEAT: 4125012991, WHITE: 4294967295, WHITESMOKE: 4126537215, YELLOW: 4294902015, YELLOWGREEN: 2597139199 }; (ge = Ce || (Ce = {}))[ge.VALUE = 0] = "VALUE", ge[ge.LIST = 1] = "LIST", ge[ge.IDENT_VALUE = 2] = "IDENT_VALUE", ge[ge.TYPE_VALUE = 3] = "TYPE_VALUE", ge[ge.TOKEN_VALUE = 4] = "TOKEN_VALUE", (Fe = Ee || (Ee = {}))[Fe.BORDER_BOX = 0] = "BORDER_BOX", Fe[Fe.PADDING_BOX = 1] = "PADDING_BOX"; function de(A) { var e = we(A[0]), t = A[1]; return t && qA(t) ? { color: e, stop: t } : { color: e, stop: null } } function fe(A, t) { var e = A[0], r = A[A.length - 1]; null === e.stop && (e.stop = se), null === r.stop && (r.stop = ie); for (var n = [], B = 0, s = 0; s < A.length; s++) { var o = A[s].stop; if (null !== o) { var i = ae(o, t); B < i ? n.push(i) : n.push(B), B = i } else n.push(null) } var a = null; for (s = 0; s < n.length; s++) { var c = n[s]; if (null === c) null === a && (a = s); else if (null !== a) { for (var Q = s - a, w = (c - n[a - 1]) / (1 + Q), u = 1; u <= Q; u++)n[a + u - 1] = w * u; a = null } } return A.map(function (A, e) { return { color: A.color, stop: Math.max(Math.min(1, n[e] / t), 0) } }) } function pe(A, e, t) { var r = "number" == typeof A ? A : function (A, e, t) { var r = e / 2, n = t / 2, B = ae(A[0], e) - r, s = n - ae(A[1], t); return (Math.atan2(s, B) + 2 * Math.PI) % (2 * Math.PI) }(A, e, t), n = Math.abs(e * Math.sin(r)) + Math.abs(t * Math.cos(r)), B = e / 2, s = t / 2, o = n / 2, i = Math.sin(r - Math.PI / 2) * o, a = Math.cos(r - Math.PI / 2) * o; return [n, B - a, B + a, s - i, s + i] } function Ne(A, e) { return Math.sqrt(A * A + e * e) } function Ke(A, e, B, s, o) { return [[0, 0], [0, e], [A, 0], [A, e]].reduce(function (A, e) { var t = e[0], r = e[1], n = Ne(B - t, s - r); return (o ? n < A.optimumDistance : n > A.optimumDistance) ? { optimumCorner: e, optimumDistance: n } : A }, { optimumDistance: o ? 1 / 0 : -1 / 0, optimumCorner: null }).optimumCorner } function Ie(A) { var n = Qe(180), B = []; return WA(A).forEach(function (A, e) { if (0 === e) { var t = A[0]; if (t.type === sA.IDENT_TOKEN && -1 !== ["top", "left", "right", "bottom"].indexOf(t.value)) return void (n = Ae(A)); if ($A(t)) return void (n = (ce(t) + Qe(270)) % Qe(360)) } var r = de(A); B.push(r) }), { angle: n, stops: B, type: xe.LINEAR_GRADIENT } } function Te(A) { return 0 === A[0] && 255 === A[1] && 0 === A[2] && 255 === A[3] } var me = { name: "background-clip", initialValue: "border-box", prefix: !(Fe[Fe.CONTENT_BOX = 2] = "CONTENT_BOX"), type: Ce.LIST, parse: function (A) { return A.map(function (A) { if (zA(A)) switch (A.value) { case "padding-box": return Ee.PADDING_BOX; case "content-box": return Ee.CONTENT_BOX }return Ee.BORDER_BOX }) } }, Re = { name: "background-color", initialValue: "transparent", prefix: !1, type: Ce.TYPE_VALUE, format: "color" }, Le = function (A, e, t, r, n) { var B = "http://www.w3.org/2000/svg", s = document.createElementNS(B, "svg"), o = document.createElementNS(B, "foreignObject"); return s.setAttributeNS(null, "width", A.toString()), s.setAttributeNS(null, "height", e.toString()), o.setAttributeNS(null, "width", "100%"), o.setAttributeNS(null, "height", "100%"), o.setAttributeNS(null, "x", t.toString()), o.setAttributeNS(null, "y", r.toString()), o.setAttributeNS(null, "externalResourcesRequired", "true"), s.appendChild(o), o.appendChild(n), s }, ve = function (r) { return new Promise(function (A, e) { var t = new Image; t.onload = function () { return A(t) }, t.onerror = e, t.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent((new XMLSerializer).serializeToString(r)) }) }, Oe = { get SUPPORT_RANGE_BOUNDS() { var A = function (A) { if (A.createRange) { var e = A.createRange(); if (e.getBoundingClientRect) { var t = A.createElement("boundtest"); t.style.height = "123px", t.style.display = "block", A.body.appendChild(t), e.selectNode(t); var r = e.getBoundingClientRect(), n = Math.round(r.height); if (A.body.removeChild(t), 123 === n) return !0 } } return !1 }(document); return Object.defineProperty(Oe, "SUPPORT_RANGE_BOUNDS", { value: A }), A }, get SUPPORT_SVG_DRAWING() { var A = function (A) { var e = new Image, t = A.createElement("canvas"), r = t.getContext("2d"); if (!r) return !1; e.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>"; try { r.drawImage(e, 0, 0), t.toDataURL() } catch (A) { return !1 } return !0 }(document); return Object.defineProperty(Oe, "SUPPORT_SVG_DRAWING", { value: A }), A }, get SUPPORT_FOREIGNOBJECT_DRAWING() { var A = "function" == typeof Array.from && "function" == typeof window.fetch ? function (r) { var A = r.createElement("canvas"), n = 100; A.width = n, A.height = n; var B = A.getContext("2d"); if (!B) return Promise.reject(!1); B.fillStyle = "rgb(0, 255, 0)", B.fillRect(0, 0, n, n); var e = new Image, s = A.toDataURL(); e.src = s; var t = Le(n, n, 0, 0, e); return B.fillStyle = "red", B.fillRect(0, 0, n, n), ve(t).then(function (A) { B.drawImage(A, 0, 0); var e = B.getImageData(0, 0, n, n).data; B.fillStyle = "red", B.fillRect(0, 0, n, n); var t = r.createElement("div"); return t.style.backgroundImage = "url(" + s + ")", t.style.height = "100px", Te(e) ? ve(Le(n, n, 0, 0, t)) : Promise.reject(!1) }).then(function (A) { return B.drawImage(A, 0, 0), Te(B.getImageData(0, 0, n, n).data) }).catch(function () { return !1 }) }(document) : Promise.resolve(!1); return Object.defineProperty(Oe, "SUPPORT_FOREIGNOBJECT_DRAWING", { value: A }), A }, get SUPPORT_CORS_IMAGES() { var A = void 0 !== (new Image).crossOrigin; return Object.defineProperty(Oe, "SUPPORT_CORS_IMAGES", { value: A }), A }, get SUPPORT_RESPONSE_TYPE() { var A = "string" == typeof (new XMLHttpRequest).responseType; return Object.defineProperty(Oe, "SUPPORT_RESPONSE_TYPE", { value: A }), A }, get SUPPORT_CORS_XHR() { var A = "withCredentials" in new XMLHttpRequest; return Object.defineProperty(Oe, "SUPPORT_CORS_XHR", { value: A }), A } }, De = (be.prototype.debug = function () { for (var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e]; this.enabled && ("undefined" != typeof window && window.console && "function" == typeof console.debug ? console.debug.apply(console, [this.id, this.getTime() + "ms"].concat(A)) : this.info.apply(this, A)) }, be.prototype.getTime = function () { return Date.now() - this.start }, be.create = function (A) { be.instances[A.id] = new be(A) }, be.destroy = function (A) { delete be.instances[A] }, be.getInstance = function (A) { var e = be.instances[A]; if (void 0 === e) throw new Error("No logger instance found with id " + A); return e }, be.prototype.info = function () { for (var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e]; this.enabled && "undefined" != typeof window && window.console && "function" == typeof console.info && console.info.apply(console, [this.id, this.getTime() + "ms"].concat(A)) }, be.prototype.error = function () { for (var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e]; this.enabled && ("undefined" != typeof window && window.console && "function" == typeof console.error ? console.error.apply(console, [this.id, this.getTime() + "ms"].concat(A)) : this.info.apply(this, A)) }, be.instances = {}, be); function be(A) { var e = A.id, t = A.enabled; this.id = e, this.enabled = t, this.start = Date.now() } var Se = (Me.create = function (A, e) { return Me._caches[A] = new ye(A, e) }, Me.destroy = function (A) { delete Me._caches[A] }, Me.open = function (A) { var e = Me._caches[A]; if (void 0 !== e) return e; throw new Error('Cache with key "' + A + '" not found') }, Me.getOrigin = function (A) { var e = Me._link; return e ? (e.href = A, e.href = e.href, e.protocol + e.hostname + e.port) : "about:blank" }, Me.isSameOrigin = function (A) { return Me.getOrigin(A) === Me._origin }, Me.setContext = function (A) { Me._link = A.document.createElement("a"), Me._origin = Me.getOrigin(A.location.href) }, Me.getInstance = function () { var A = Me._current; if (null === A) throw new Error("No cache instance attached"); return A }, Me.attachInstance = function (A) { Me._current = A }, Me.detachInstance = function () { Me._current = null }, Me._caches = {}, Me._origin = "about:blank", Me._current = null, Me); function Me() { } var ye = (_e.prototype.addImage = function (A) { var e = Promise.resolve(); return this.has(A) || (Ye(A) || Ge(A)) && (this._cache[A] = this.loadImage(A)), e }, _e.prototype.match = function (A) { return this._cache[A] }, _e.prototype.loadImage = function (s) { return a(this, void 0, void 0, function () { var e, r, t, n, B = this; return S(this, function (A) { switch (A.label) { case 0: return e = Se.isSameOrigin(s), r = !ke(s) && !0 === this._options.useCORS && Oe.SUPPORT_CORS_IMAGES && !e, t = !ke(s) && !e && "string" == typeof this._options.proxy && Oe.SUPPORT_CORS_XHR && !r, e || !1 !== this._options.allowTaint || ke(s) || t || r ? (n = s, t ? [4, this.proxy(n)] : [3, 2]) : [2]; case 1: n = A.sent(), A.label = 2; case 2: return De.getInstance(this.id).debug("Added image " + s.substring(0, 256)), [4, new Promise(function (A, e) { var t = new Image; t.onload = function () { return A(t) }, t.onerror = e, (We(n) || r) && (t.crossOrigin = "anonymous"), t.src = n, !0 === t.complete && setTimeout(function () { return A(t) }, 500), 0 < B._options.imageTimeout && setTimeout(function () { return e("Timed out (" + B._options.imageTimeout + "ms) loading image") }, B._options.imageTimeout) })]; case 3: return [2, A.sent()] } }) }) }, _e.prototype.has = function (A) { return void 0 !== this._cache[A] }, _e.prototype.keys = function () { return Promise.resolve(Object.keys(this._cache)) }, _e.prototype.proxy = function (B) { var s = this, o = this._options.proxy; if (!o) throw new Error("No proxy defined"); var i = B.substring(0, 256); return new Promise(function (e, t) { var r = Oe.SUPPORT_RESPONSE_TYPE ? "blob" : "text", n = new XMLHttpRequest; if (n.onload = function () { if (200 === n.status) if ("text" == r) e(n.response); else { var A = new FileReader; A.addEventListener("load", function () { return e(A.result) }, !1), A.addEventListener("error", function (A) { return t(A) }, !1), A.readAsDataURL(n.response) } else t("Failed to proxy resource " + i + " with status code " + n.status) }, n.onerror = t, n.open("GET", o + "?url=" + encodeURIComponent(B) + "&responseType=" + r), "text" != r && n instanceof XMLHttpRequest && (n.responseType = r), s._options.imageTimeout) { var A = s._options.imageTimeout; n.timeout = A, n.ontimeout = function () { return t("Timed out (" + A + "ms) proxying " + i) } } n.send() }) }, _e); function _e(A, e) { this.id = A, this._options = e, this._cache = {} } function Pe(A) { var n = rt.CIRCLE, B = Bt.FARTHEST_CORNER, s = [], o = []; return WA(A).forEach(function (A, e) { var t = !0; if (0 === e ? t = A.reduce(function (A, e) { if (zA(e)) switch (e.value) { case "center": return o.push(oe), !1; case "top": case "left": return o.push(se), !1; case "right": case "bottom": return o.push(ie), !1 } else if (qA(e) || YA(e)) return o.push(e), !1; return A }, t) : 1 === e && (t = A.reduce(function (A, e) { if (zA(e)) switch (e.value) { case "circle": return n = rt.CIRCLE, !1; case et: return n = rt.ELLIPSE, !1; case tt: case Ze: return B = Bt.CLOSEST_SIDE, !1; case je: return B = Bt.FARTHEST_SIDE, !1; case $e: return B = Bt.CLOSEST_CORNER, !1; case "cover": case At: return B = Bt.FARTHEST_CORNER, !1 } else if (YA(e) || qA(e)) return Array.isArray(B) || (B = []), B.push(e), !1; return A }, t)), t) { var r = de(A); s.push(r) } }), { size: B, shape: n, stops: s, position: o, type: xe.RADIAL_GRADIENT } } var xe, Ve, ze = /^data:image\/svg\+xml/i, Xe = /^data:image\/.*;base64,/i, Je = /^data:image\/.*/i, Ge = function (A) { return Oe.SUPPORT_SVG_DRAWING || !qe(A) }, ke = function (A) { return Je.test(A) }, We = function (A) { return Xe.test(A) }, Ye = function (A) { return "blob" === A.substr(0, 4) }, qe = function (A) { return "svg" === A.substr(-3).toLowerCase() || ze.test(A) }, Ze = "closest-side", je = "farthest-side", $e = "closest-corner", At = "farthest-corner", et = "ellipse", tt = "contain"; (Ve = xe || (xe = {}))[Ve.URL = 0] = "URL", Ve[Ve.LINEAR_GRADIENT = 1] = "LINEAR_GRADIENT", Ve[Ve.RADIAL_GRADIENT = 2] = "RADIAL_GRADIENT"; var rt, nt, Bt, st; (nt = rt || (rt = {}))[nt.CIRCLE = 0] = "CIRCLE", nt[nt.ELLIPSE = 1] = "ELLIPSE", (st = Bt || (Bt = {}))[st.CLOSEST_SIDE = 0] = "CLOSEST_SIDE", st[st.FARTHEST_SIDE = 1] = "FARTHEST_SIDE", st[st.CLOSEST_CORNER = 2] = "CLOSEST_CORNER", st[st.FARTHEST_CORNER = 3] = "FARTHEST_CORNER"; var ot = function (A) { if (A.type === sA.URL_TOKEN) { var e = { url: A.value, type: xe.URL }; return Se.getInstance().addImage(A.value), e } if (A.type !== sA.FUNCTION) throw new Error("Unsupported image type"); var t = ct[A.name]; if (void 0 === t) throw new Error('Attempting to parse an unsupported image function "' + A.name + '"'); return t(A.values) }; var it, at, ct = { "linear-gradient": function (A) { var n = Qe(180), B = []; return WA(A).forEach(function (A, e) { if (0 === e) { var t = A[0]; if (t.type === sA.IDENT_TOKEN && "to" === t.value) return void (n = Ae(A)); if ($A(t)) return void (n = ce(t)) } var r = de(A); B.push(r) }), { angle: n, stops: B, type: xe.LINEAR_GRADIENT } }, "-moz-linear-gradient": Ie, "-ms-linear-gradient": Ie, "-o-linear-gradient": Ie, "-webkit-linear-gradient": Ie, "radial-gradient": function (A) { var B = rt.CIRCLE, s = Bt.FARTHEST_CORNER, o = [], i = []; return WA(A).forEach(function (A, e) { var t = !0; if (0 === e) { var r = !1; t = A.reduce(function (A, e) { if (r) if (zA(e)) switch (e.value) { case "center": return i.push(oe), A; case "top": case "left": return i.push(se), A; case "right": case "bottom": return i.push(ie), A } else (qA(e) || YA(e)) && i.push(e); else if (zA(e)) switch (e.value) { case "circle": return B = rt.CIRCLE, !1; case et: return B = rt.ELLIPSE, !1; case "at": return !(r = !0); case Ze: return s = Bt.CLOSEST_SIDE, !1; case "cover": case je: return s = Bt.FARTHEST_SIDE, !1; case tt: case $e: return s = Bt.CLOSEST_CORNER, !1; case At: return s = Bt.FARTHEST_CORNER, !1 } else if (YA(e) || qA(e)) return Array.isArray(s) || (s = []), s.push(e), !1; return A }, t) } if (t) { var n = de(A); o.push(n) } }), { size: s, shape: B, stops: o, position: i, type: xe.RADIAL_GRADIENT } }, "-moz-radial-gradient": Pe, "-ms-radial-gradient": Pe, "-o-radial-gradient": Pe, "-webkit-radial-gradient": Pe, "-webkit-gradient": function (A) { var e = Qe(180), s = [], o = xe.LINEAR_GRADIENT, t = rt.CIRCLE, r = Bt.FARTHEST_CORNER; return WA(A).forEach(function (A, e) { var t = A[0]; if (0 === e) { if (zA(t) && "linear" === t.value) return void (o = xe.LINEAR_GRADIENT); if (zA(t) && "radial" === t.value) return void (o = xe.RADIAL_GRADIENT) } if (t.type === sA.FUNCTION) if ("from" === t.name) { var r = we(t.values[0]); s.push({ stop: se, color: r }) } else if ("to" === t.name) r = we(t.values[0]), s.push({ stop: ie, color: r }); else if ("color-stop" === t.name) { var n = t.values.filter(kA); if (2 === n.length) { r = we(n[1]); var B = n[0]; VA(B) && s.push({ stop: { type: sA.PERCENTAGE_TOKEN, number: 100 * B.number, flags: B.flags }, color: r }) } } }), o === xe.LINEAR_GRADIENT ? { angle: (e + Qe(180)) % Qe(360), stops: s, type: o } : { size: r, shape: t, stops: s, position: [], type: o } } }, Qt = { name: "background-image", initialValue: "none", type: Ce.LIST, prefix: !1, parse: function (A) { if (0 === A.length) return []; var e = A[0]; return e.type === sA.IDENT_TOKEN && "none" === e.value ? [] : A.filter(function (A) { return kA(A) && function (A) { return A.type !== sA.FUNCTION || ct[A.name] }(A) }).map(ot) } }, wt = { name: "background-origin", initialValue: "border-box", prefix: !1, type: Ce.LIST, parse: function (A) { return A.map(function (A) { if (zA(A)) switch (A.value) { case "padding-box": return 1; case "content-box": return 2 }return 0 }) } }, ut = { name: "background-position", initialValue: "0% 0%", type: Ce.LIST, prefix: !1, parse: function (A) { return WA(A).map(function (A) { return A.filter(qA) }).map(ZA) } }; (at = it || (it = {}))[at.REPEAT = 0] = "REPEAT", at[at.NO_REPEAT = 1] = "NO_REPEAT", at[at.REPEAT_X = 2] = "REPEAT_X"; var Ut, lt, Ct = { name: "background-repeat", initialValue: "repeat", prefix: !(at[at.REPEAT_Y = 3] = "REPEAT_Y"), type: Ce.LIST, parse: function (A) { return WA(A).map(function (A) { return A.filter(zA).map(function (A) { return A.value }).join(" ") }).map(gt) } }, gt = function (A) { switch (A) { case "no-repeat": return it.NO_REPEAT; case "repeat-x": case "repeat no-repeat": return it.REPEAT_X; case "repeat-y": case "no-repeat repeat": return it.REPEAT_Y; case "repeat": default: return it.REPEAT } }; (lt = Ut || (Ut = {})).AUTO = "auto", lt.CONTAIN = "contain"; function Et(A) { return { name: "border-" + A + "-color", initialValue: "transparent", prefix: !1, type: Ce.TYPE_VALUE, format: "color" } } function Ft(A) { return { name: "border-radius-" + A, initialValue: "0 0", prefix: !1, type: Ce.LIST, parse: function (A) { return ZA(A.filter(qA)) } } } var ht, Ht, dt = { name: "background-size", initialValue: "0", prefix: !(lt.COVER = "cover"), type: Ce.LIST, parse: function (A) { return WA(A).map(function (A) { return A.filter(ft) }) } }, ft = function (A) { return zA(A) || qA(A) }, pt = Et("top"), Nt = Et("right"), Kt = Et("bottom"), It = Et("left"), Tt = Ft("top-left"), mt = Ft("top-right"), Rt = Ft("bottom-right"), Lt = Ft("bottom-left"); (Ht = ht || (ht = {}))[Ht.NONE = 0] = "NONE", Ht[Ht.SOLID = 1] = "SOLID"; function vt(A) { return { name: "border-" + A + "-style", initialValue: "solid", prefix: !1, type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "none": return ht.NONE }return ht.SOLID } } } function Ot(A) { return { name: "border-" + A + "-width", initialValue: "0", type: Ce.VALUE, prefix: !1, parse: function (A) { return xA(A) ? A.number : 0 } } } var Dt, bt, St = vt("top"), Mt = vt("right"), yt = vt("bottom"), _t = vt("left"), Pt = Ot("top"), xt = Ot("right"), Vt = Ot("bottom"), zt = Ot("left"), Xt = { name: "color", initialValue: "transparent", prefix: !1, type: Ce.TYPE_VALUE, format: "color" }, Jt = { name: "display", initialValue: "inline-block", prefix: !1, type: Ce.LIST, parse: function (A) { return A.filter(zA).reduce(function (A, e) { return A | Gt(e.value) }, 0) } }, Gt = function (A) { switch (A) { case "block": return 2; case "inline": return 4; case "run-in": return 8; case "flow": return 16; case "flow-root": return 32; case "table": return 64; case "flex": case "-webkit-flex": return 128; case "grid": case "-ms-grid": return 256; case "ruby": return 512; case "subgrid": return 1024; case "list-item": return 2048; case "table-row-group": return 4096; case "table-header-group": return 8192; case "table-footer-group": return 16384; case "table-row": return 32768; case "table-cell": return 65536; case "table-column-group": return 131072; case "table-column": return 262144; case "table-caption": return 524288; case "ruby-base": return 1048576; case "ruby-text": return 2097152; case "ruby-base-container": return 4194304; case "ruby-text-container": return 8388608; case "contents": return 16777216; case "inline-block": return 33554432; case "inline-list-item": return 67108864; case "inline-table": return 134217728; case "inline-flex": return 268435456; case "inline-grid": return 536870912 }return 0 }; (bt = Dt || (Dt = {}))[bt.NONE = 0] = "NONE", bt[bt.LEFT = 1] = "LEFT", bt[bt.RIGHT = 2] = "RIGHT", bt[bt.INLINE_START = 3] = "INLINE_START"; var kt, Wt, Yt, qt, Zt = { name: "float", initialValue: "none", prefix: !(bt[bt.INLINE_END = 4] = "INLINE_END"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "left": return Dt.LEFT; case "right": return Dt.RIGHT; case "inline-start": return Dt.INLINE_START; case "inline-end": return Dt.INLINE_END }return Dt.NONE } }, jt = { name: "letter-spacing", initialValue: "0", prefix: !1, type: Ce.VALUE, parse: function (A) { return A.type === sA.IDENT_TOKEN && "normal" === A.value ? 0 : A.type === sA.NUMBER_TOKEN ? A.number : A.type === sA.DIMENSION_TOKEN ? A.number : 0 } }, $t = { name: "line-break", initialValue: (Wt = kt || (kt = {})).NORMAL = "normal", prefix: !(Wt.STRICT = "strict"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "strict": return kt.STRICT; case "normal": default: return kt.NORMAL } } }, Ar = { name: "line-height", initialValue: "normal", prefix: !1, type: Ce.TOKEN_VALUE }, er = { name: "list-style-image", initialValue: "none", type: Ce.VALUE, prefix: !1, parse: function (A) { return A.type === sA.IDENT_TOKEN && "none" === A.value ? null : ot(A) } }; (qt = Yt || (Yt = {}))[qt.INSIDE = 0] = "INSIDE"; var tr, rr, nr = { name: "list-style-position", initialValue: "outside", prefix: !(qt[qt.OUTSIDE = 1] = "OUTSIDE"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "inside": return Yt.INSIDE; case "outside": default: return Yt.OUTSIDE } } }; (rr = tr || (tr = {}))[rr.NONE = -1] = "NONE", rr[rr.DISC = 0] = "DISC", rr[rr.CIRCLE = 1] = "CIRCLE", rr[rr.SQUARE = 2] = "SQUARE", rr[rr.DECIMAL = 3] = "DECIMAL", rr[rr.CJK_DECIMAL = 4] = "CJK_DECIMAL", rr[rr.DECIMAL_LEADING_ZERO = 5] = "DECIMAL_LEADING_ZERO", rr[rr.LOWER_ROMAN = 6] = "LOWER_ROMAN", rr[rr.UPPER_ROMAN = 7] = "UPPER_ROMAN", rr[rr.LOWER_GREEK = 8] = "LOWER_GREEK", rr[rr.LOWER_ALPHA = 9] = "LOWER_ALPHA", rr[rr.UPPER_ALPHA = 10] = "UPPER_ALPHA", rr[rr.ARABIC_INDIC = 11] = "ARABIC_INDIC", rr[rr.ARMENIAN = 12] = "ARMENIAN", rr[rr.BENGALI = 13] = "BENGALI", rr[rr.CAMBODIAN = 14] = "CAMBODIAN", rr[rr.CJK_EARTHLY_BRANCH = 15] = "CJK_EARTHLY_BRANCH", rr[rr.CJK_HEAVENLY_STEM = 16] = "CJK_HEAVENLY_STEM", rr[rr.CJK_IDEOGRAPHIC = 17] = "CJK_IDEOGRAPHIC", rr[rr.DEVANAGARI = 18] = "DEVANAGARI", rr[rr.ETHIOPIC_NUMERIC = 19] = "ETHIOPIC_NUMERIC", rr[rr.GEORGIAN = 20] = "GEORGIAN", rr[rr.GUJARATI = 21] = "GUJARATI", rr[rr.GURMUKHI = 22] = "GURMUKHI", rr[rr.HEBREW = 22] = "HEBREW", rr[rr.HIRAGANA = 23] = "HIRAGANA", rr[rr.HIRAGANA_IROHA = 24] = "HIRAGANA_IROHA", rr[rr.JAPANESE_FORMAL = 25] = "JAPANESE_FORMAL", rr[rr.JAPANESE_INFORMAL = 26] = "JAPANESE_INFORMAL", rr[rr.KANNADA = 27] = "KANNADA", rr[rr.KATAKANA = 28] = "KATAKANA", rr[rr.KATAKANA_IROHA = 29] = "KATAKANA_IROHA", rr[rr.KHMER = 30] = "KHMER", rr[rr.KOREAN_HANGUL_FORMAL = 31] = "KOREAN_HANGUL_FORMAL", rr[rr.KOREAN_HANJA_FORMAL = 32] = "KOREAN_HANJA_FORMAL", rr[rr.KOREAN_HANJA_INFORMAL = 33] = "KOREAN_HANJA_INFORMAL", rr[rr.LAO = 34] = "LAO", rr[rr.LOWER_ARMENIAN = 35] = "LOWER_ARMENIAN", rr[rr.MALAYALAM = 36] = "MALAYALAM", rr[rr.MONGOLIAN = 37] = "MONGOLIAN", rr[rr.MYANMAR = 38] = "MYANMAR", rr[rr.ORIYA = 39] = "ORIYA", rr[rr.PERSIAN = 40] = "PERSIAN", rr[rr.SIMP_CHINESE_FORMAL = 41] = "SIMP_CHINESE_FORMAL", rr[rr.SIMP_CHINESE_INFORMAL = 42] = "SIMP_CHINESE_INFORMAL", rr[rr.TAMIL = 43] = "TAMIL", rr[rr.TELUGU = 44] = "TELUGU", rr[rr.THAI = 45] = "THAI", rr[rr.TIBETAN = 46] = "TIBETAN", rr[rr.TRAD_CHINESE_FORMAL = 47] = "TRAD_CHINESE_FORMAL", rr[rr.TRAD_CHINESE_INFORMAL = 48] = "TRAD_CHINESE_INFORMAL", rr[rr.UPPER_ARMENIAN = 49] = "UPPER_ARMENIAN", rr[rr.DISCLOSURE_OPEN = 50] = "DISCLOSURE_OPEN"; function Br(A) { return { name: "margin-" + A, initialValue: "0", prefix: !1, type: Ce.TOKEN_VALUE } } var sr, or, ir = { name: "list-style-type", initialValue: "none", prefix: !(rr[rr.DISCLOSURE_CLOSED = 51] = "DISCLOSURE_CLOSED"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "disc": return tr.DISC; case "circle": return tr.CIRCLE; case "square": return tr.SQUARE; case "decimal": return tr.DECIMAL; case "cjk-decimal": return tr.CJK_DECIMAL; case "decimal-leading-zero": return tr.DECIMAL_LEADING_ZERO; case "lower-roman": return tr.LOWER_ROMAN; case "upper-roman": return tr.UPPER_ROMAN; case "lower-greek": return tr.LOWER_GREEK; case "lower-alpha": return tr.LOWER_ALPHA; case "upper-alpha": return tr.UPPER_ALPHA; case "arabic-indic": return tr.ARABIC_INDIC; case "armenian": return tr.ARMENIAN; case "bengali": return tr.BENGALI; case "cambodian": return tr.CAMBODIAN; case "cjk-earthly-branch": return tr.CJK_EARTHLY_BRANCH; case "cjk-heavenly-stem": return tr.CJK_HEAVENLY_STEM; case "cjk-ideographic": return tr.CJK_IDEOGRAPHIC; case "devanagari": return tr.DEVANAGARI; case "ethiopic-numeric": return tr.ETHIOPIC_NUMERIC; case "georgian": return tr.GEORGIAN; case "gujarati": return tr.GUJARATI; case "gurmukhi": return tr.GURMUKHI; case "hebrew": return tr.HEBREW; case "hiragana": return tr.HIRAGANA; case "hiragana-iroha": return tr.HIRAGANA_IROHA; case "japanese-formal": return tr.JAPANESE_FORMAL; case "japanese-informal": return tr.JAPANESE_INFORMAL; case "kannada": return tr.KANNADA; case "katakana": return tr.KATAKANA; case "katakana-iroha": return tr.KATAKANA_IROHA; case "khmer": return tr.KHMER; case "korean-hangul-formal": return tr.KOREAN_HANGUL_FORMAL; case "korean-hanja-formal": return tr.KOREAN_HANJA_FORMAL; case "korean-hanja-informal": return tr.KOREAN_HANJA_INFORMAL; case "lao": return tr.LAO; case "lower-armenian": return tr.LOWER_ARMENIAN; case "malayalam": return tr.MALAYALAM; case "mongolian": return tr.MONGOLIAN; case "myanmar": return tr.MYANMAR; case "oriya": return tr.ORIYA; case "persian": return tr.PERSIAN; case "simp-chinese-formal": return tr.SIMP_CHINESE_FORMAL; case "simp-chinese-informal": return tr.SIMP_CHINESE_INFORMAL; case "tamil": return tr.TAMIL; case "telugu": return tr.TELUGU; case "thai": return tr.THAI; case "tibetan": return tr.TIBETAN; case "trad-chinese-formal": return tr.TRAD_CHINESE_FORMAL; case "trad-chinese-informal": return tr.TRAD_CHINESE_INFORMAL; case "upper-armenian": return tr.UPPER_ARMENIAN; case "disclosure-open": return tr.DISCLOSURE_OPEN; case "disclosure-closed": return tr.DISCLOSURE_CLOSED; case "none": default: return tr.NONE } } }, ar = Br("top"), cr = Br("right"), Qr = Br("bottom"), wr = Br("left"); (or = sr || (sr = {}))[or.VISIBLE = 0] = "VISIBLE", or[or.HIDDEN = 1] = "HIDDEN", or[or.SCROLL = 2] = "SCROLL"; function ur(A) { return { name: "padding-" + A, initialValue: "0", prefix: !1, type: Ce.TYPE_VALUE, format: "length-percentage" } } var Ur, lr, Cr, gr, Er = { name: "overflow", initialValue: "visible", prefix: !(or[or.AUTO = 3] = "AUTO"), type: Ce.LIST, parse: function (A) { return A.filter(zA).map(function (A) { switch (A.value) { case "hidden": return sr.HIDDEN; case "scroll": return sr.SCROLL; case "auto": return sr.AUTO; case "visible": default: return sr.VISIBLE } }) } }, Fr = { name: "overflow-wrap", initialValue: (lr = Ur || (Ur = {})).NORMAL = "normal", prefix: !(lr.BREAK_WORD = "break-word"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "break-word": return Ur.BREAK_WORD; case "normal": default: return Ur.NORMAL } } }, hr = ur("top"), Hr = ur("right"), dr = ur("bottom"), fr = ur("left"); (gr = Cr || (Cr = {}))[gr.LEFT = 0] = "LEFT", gr[gr.CENTER = 1] = "CENTER"; var pr, Nr, Kr = { name: "text-align", initialValue: "left", prefix: !(gr[gr.RIGHT = 2] = "RIGHT"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "right": return Cr.RIGHT; case "center": case "justify": return Cr.CENTER; case "left": default: return Cr.LEFT } } }; (Nr = pr || (pr = {}))[Nr.STATIC = 0] = "STATIC", Nr[Nr.RELATIVE = 1] = "RELATIVE", Nr[Nr.ABSOLUTE = 2] = "ABSOLUTE", Nr[Nr.FIXED = 3] = "FIXED"; var Ir, Tr, mr = { name: "position", initialValue: "static", prefix: !(Nr[Nr.STICKY = 4] = "STICKY"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "relative": return pr.RELATIVE; case "absolute": return pr.ABSOLUTE; case "fixed": return pr.FIXED; case "sticky": return pr.STICKY }return pr.STATIC } }, Rr = { name: "text-shadow", initialValue: "none", type: Ce.LIST, prefix: !1, parse: function (A) { return 1 === A.length && JA(A[0], "none") ? [] : WA(A).map(function (A) { for (var e = { color: He.TRANSPARENT, offsetX: se, offsetY: se, blur: se }, t = 0, r = 0; r < A.length; r++) { var n = A[r]; YA(n) ? (0 === t ? e.offsetX = n : 1 === t ? e.offsetY = n : e.blur = n, t++) : e.color = we(n) } return e }) } }; (Tr = Ir || (Ir = {}))[Tr.NONE = 0] = "NONE", Tr[Tr.LOWERCASE = 1] = "LOWERCASE", Tr[Tr.UPPERCASE = 2] = "UPPERCASE"; var Lr, vr, Or = { name: "text-transform", initialValue: "none", prefix: !(Tr[Tr.CAPITALIZE = 3] = "CAPITALIZE"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "uppercase": return Ir.UPPERCASE; case "lowercase": return Ir.LOWERCASE; case "capitalize": return Ir.CAPITALIZE }return Ir.NONE } }, Dr = { name: "transform", initialValue: "none", prefix: !0, type: Ce.VALUE, parse: function (A) { if (A.type === sA.IDENT_TOKEN && "none" === A.value) return null; if (A.type !== sA.FUNCTION) return null; var e = br[A.name]; if (void 0 === e) throw new Error('Attempting to parse an unsupported transform function "' + A.name + '"'); return e(A.values) } }, br = { matrix: function (A) { var e = A.filter(function (A) { return A.type === sA.NUMBER_TOKEN }).map(function (A) { return A.number }); return 6 === e.length ? e : null }, matrix3d: function (A) { var e = A.filter(function (A) { return A.type === sA.NUMBER_TOKEN }).map(function (A) { return A.number }), t = e[0], r = e[1], n = (e[2], e[3], e[4]), B = e[5], s = (e[6], e[7], e[8], e[9], e[10], e[11], e[12]), o = e[13]; e[14], e[15]; return 16 === e.length ? [t, r, n, B, s, o] : null } }, Sr = { type: sA.PERCENTAGE_TOKEN, number: 50, flags: 4 }, Mr = [Sr, Sr], yr = { name: "transform-origin", initialValue: "50% 50%", prefix: !0, type: Ce.LIST, parse: function (A) { var e = A.filter(qA); return 2 !== e.length ? Mr : [e[0], e[1]] } }; (vr = Lr || (Lr = {}))[vr.VISIBLE = 0] = "VISIBLE", vr[vr.HIDDEN = 1] = "HIDDEN"; var _r, Pr, xr = { name: "visible", initialValue: "none", prefix: !(vr[vr.COLLAPSE = 2] = "COLLAPSE"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "hidden": return Lr.HIDDEN; case "collapse": return Lr.COLLAPSE; case "visible": default: return Lr.VISIBLE } } }; (Pr = _r || (_r = {})).NORMAL = "normal", Pr.BREAK_ALL = "break-all"; var Vr, zr, Xr = { name: "word-break", initialValue: "normal", prefix: !(Pr.KEEP_ALL = "keep-all"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "break-all": return _r.BREAK_ALL; case "keep-all": return _r.KEEP_ALL; case "normal": default: return _r.NORMAL } } }, Jr = { name: "z-index", initialValue: "auto", prefix: !1, type: Ce.VALUE, parse: function (A) { if (A.type === sA.IDENT_TOKEN) return { auto: !0, order: 0 }; if (VA(A)) return { auto: !1, order: A.number }; throw new Error("Invalid z-index number parsed") } }, Gr = { name: "opacity", initialValue: "1", type: Ce.VALUE, prefix: !1, parse: function (A) { return VA(A) ? A.number : 1 } }, kr = { name: "text-decoration-color", initialValue: "transparent", prefix: !1, type: Ce.TYPE_VALUE, format: "color" }, Wr = { name: "text-decoration-line", initialValue: "none", prefix: !1, type: Ce.LIST, parse: function (A) { return A.filter(zA).map(function (A) { switch (A.value) { case "underline": return 1; case "overline": return 2; case "line-through": return 3; case "none": return 4 }return 0 }).filter(function (A) { return 0 !== A }) } }, Yr = { name: "font-family", initialValue: "", prefix: !1, type: Ce.LIST, parse: function (A) { return A.filter(qr).map(function (A) { return A.value }) } }, qr = function (A) { return A.type === sA.STRING_TOKEN || A.type === sA.IDENT_TOKEN }, Zr = { name: "font-size", initialValue: "0", prefix: !1, type: Ce.TYPE_VALUE, format: "length" }, jr = { name: "font-weight", initialValue: "normal", type: Ce.VALUE, prefix: !1, parse: function (A) { if (VA(A)) return A.number; if (zA(A)) switch (A.value) { case "bold": return 700; case "normal": default: return 400 }return 400 } }, $r = { name: "font-variant", initialValue: "none", type: Ce.LIST, prefix: !1, parse: function (A) { return A.filter(zA).map(function (A) { return A.value }) } }; (zr = Vr || (Vr = {})).NORMAL = "normal", zr.ITALIC = "italic"; function An(A, e) { return 0 != (A & e) } function en(A, e, t) { if (!A) return ""; var r = A[Math.min(e, A.length - 1)]; return r ? t ? r.open : r.close : "" } var tn = { name: "font-style", initialValue: "normal", prefix: !(zr.OBLIQUE = "oblique"), type: Ce.IDENT_VALUE, parse: function (A) { switch (A) { case "oblique": return Vr.OBLIQUE; case "italic": return Vr.ITALIC; case "normal": default: return Vr.NORMAL } } }, rn = { name: "content", initialValue: "none", type: Ce.LIST, prefix: !1, parse: function (A) { if (0 === A.length) return []; var e = A[0]; return e.type === sA.IDENT_TOKEN && "none" === e.value ? [] : A } }, nn = { name: "counter-increment", initialValue: "none", prefix: !0, type: Ce.LIST, parse: function (A) { if (0 === A.length) return null; var e = A[0]; if (e.type === sA.IDENT_TOKEN && "none" === e.value) return null; for (var t = [], r = A.filter(GA), n = 0; n < r.length; n++) { var B = r[n], s = r[n + 1]; if (B.type === sA.IDENT_TOKEN) { var o = s && VA(s) ? s.number : 1; t.push({ counter: B.value, increment: o }) } } return t } }, Bn = { name: "counter-reset", initialValue: "none", prefix: !0, type: Ce.LIST, parse: function (A) { if (0 === A.length) return []; for (var e = [], t = A.filter(GA), r = 0; r < t.length; r++) { var n = t[r], B = t[r + 1]; if (zA(n) && "none" !== n.value) { var s = B && VA(B) ? B.number : 0; e.push({ counter: n.value, reset: s }) } } return e } }, sn = { name: "quotes", initialValue: "none", prefix: !0, type: Ce.LIST, parse: function (A) { if (0 === A.length) return null; var e = A[0]; if (e.type === sA.IDENT_TOKEN && "none" === e.value) return null; var t = [], r = A.filter(XA); if (r.length % 2 != 0) return null; for (var n = 0; n < r.length; n += 2) { var B = r[n].value, s = r[n + 1].value; t.push({ open: B, close: s }) } return t } }, on = { name: "box-shadow", initialValue: "none", type: Ce.LIST, prefix: !1, parse: function (A) { return 1 === A.length && JA(A[0], "none") ? [] : WA(A).map(function (A) { for (var e = { color: 255, offsetX: se, offsetY: se, blur: se, spread: se, inset: !1 }, t = 0, r = 0; r < A.length; r++) { var n = A[r]; JA(n, "inset") ? e.inset = !0 : YA(n) ? (0 === t ? e.offsetX = n : 1 === t ? e.offsetY = n : 2 === t ? e.blur = n : e.spread = n, t++) : e.color = we(n) } return e }) } }, an = (cn.prototype.isVisible = function () { return 0 < this.display && 0 < this.opacity && this.visibility === Lr.VISIBLE }, cn.prototype.isTransparent = function () { return ee(this.backgroundColor) }, cn.prototype.isTransformed = function () { return null !== this.transform }, cn.prototype.isPositioned = function () { return this.position !== pr.STATIC }, cn.prototype.isPositionedWithZIndex = function () { return this.isPositioned() && !this.zIndex.auto }, cn.prototype.isFloating = function () { return this.float !== Dt.NONE }, cn.prototype.isInlineLevel = function () { return An(this.display, 4) || An(this.display, 33554432) || An(this.display, 268435456) || An(this.display, 536870912) || An(this.display, 67108864) || An(this.display, 134217728) }, cn); function cn(A) { this.backgroundClip = Un(me, A.backgroundClip), this.backgroundColor = Un(Re, A.backgroundColor), this.backgroundImage = Un(Qt, A.backgroundImage), this.backgroundOrigin = Un(wt, A.backgroundOrigin), this.backgroundPosition = Un(ut, A.backgroundPosition), this.backgroundRepeat = Un(Ct, A.backgroundRepeat), this.backgroundSize = Un(dt, A.backgroundSize), this.borderTopColor = Un(pt, A.borderTopColor), this.borderRightColor = Un(Nt, A.borderRightColor), this.borderBottomColor = Un(Kt, A.borderBottomColor), this.borderLeftColor = Un(It, A.borderLeftColor), this.borderTopLeftRadius = Un(Tt, A.borderTopLeftRadius), this.borderTopRightRadius = Un(mt, A.borderTopRightRadius), this.borderBottomRightRadius = Un(Rt, A.borderBottomRightRadius), this.borderBottomLeftRadius = Un(Lt, A.borderBottomLeftRadius), this.borderTopStyle = Un(St, A.borderTopStyle), this.borderRightStyle = Un(Mt, A.borderRightStyle), this.borderBottomStyle = Un(yt, A.borderBottomStyle), this.borderLeftStyle = Un(_t, A.borderLeftStyle), this.borderTopWidth = Un(Pt, A.borderTopWidth), this.borderRightWidth = Un(xt, A.borderRightWidth), this.borderBottomWidth = Un(Vt, A.borderBottomWidth), this.borderLeftWidth = Un(zt, A.borderLeftWidth), this.boxShadow = Un(on, A.boxShadow), this.color = Un(Xt, A.color), this.display = Un(Jt, A.display), this.float = Un(Zt, A.cssFloat), this.fontFamily = Un(Yr, A.fontFamily), this.fontSize = Un(Zr, A.fontSize), this.fontStyle = Un(tn, A.fontStyle), this.fontVariant = Un($r, A.fontVariant), this.fontWeight = Un(jr, A.fontWeight), this.letterSpacing = Un(jt, A.letterSpacing), this.lineBreak = Un($t, A.lineBreak), this.lineHeight = Un(Ar, A.lineHeight), this.listStyleImage = Un(er, A.listStyleImage), this.listStylePosition = Un(nr, A.listStylePosition), this.listStyleType = Un(ir, A.listStyleType), this.marginTop = Un(ar, A.marginTop), this.marginRight = Un(cr, A.marginRight), this.marginBottom = Un(Qr, A.marginBottom), this.marginLeft = Un(wr, A.marginLeft), this.opacity = Un(Gr, A.opacity); var e = Un(Er, A.overflow); this.overflowX = e[0], this.overflowY = e[1 < e.length ? 1 : 0], this.overflowWrap = Un(Fr, A.overflowWrap), this.paddingTop = Un(hr, A.paddingTop), this.paddingRight = Un(Hr, A.paddingRight), this.paddingBottom = Un(dr, A.paddingBottom), this.paddingLeft = Un(fr, A.paddingLeft), this.position = Un(mr, A.position), this.textAlign = Un(Kr, A.textAlign), this.textDecorationColor = Un(kr, A.textDecorationColor || A.color), this.textDecorationLine = Un(Wr, A.textDecorationLine), this.textShadow = Un(Rr, A.textShadow), this.textTransform = Un(Or, A.textTransform), this.transform = Un(Dr, A.transform), this.transformOrigin = Un(yr, A.transformOrigin), this.visibility = Un(xr, A.visibility), this.wordBreak = Un(Xr, A.wordBreak), this.zIndex = Un(Jr, A.zIndex) } var Qn, wn = function (A) { this.content = Un(rn, A.content), this.quotes = Un(sn, A.quotes) }, un = function (A) { this.counterIncrement = Un(nn, A.counterIncrement), this.counterReset = Un(Bn, A.counterReset) }, Un = function (A, e) { var t = new MA, r = null != e ? e.toString() : A.initialValue; t.write(r); var n = new _A(t.read()); switch (A.type) { case Ce.IDENT_VALUE: var B = n.parseComponentValue(); return A.parse(zA(B) ? B.value : A.initialValue); case Ce.VALUE: return A.parse(n.parseComponentValue()); case Ce.LIST: return A.parse(n.parseComponentValues()); case Ce.TOKEN_VALUE: return n.parseComponentValue(); case Ce.TYPE_VALUE: switch (A.format) { case "angle": return ce(n.parseComponentValue()); case "color": return we(n.parseComponentValue()); case "image": return ot(n.parseComponentValue()); case "length": var s = n.parseComponentValue(); return YA(s) ? s : se; case "length-percentage": var o = n.parseComponentValue(); return qA(o) ? o : se } }throw new Error("Attempting to parse unsupported css format type " + A.format) }, ln = function (A) { this.styles = new an(window.getComputedStyle(A, null)), this.textNodes = [], this.elements = [], null !== this.styles.transform && uB(A) && (A.style.transform = "none"), this.bounds = T(A), this.flags = 0 }, Cn = function (A, e) { this.text = A, this.bounds = e }, gn = function (A) { var e = A.ownerDocument; if (e) { var t = e.createElement("html2canvaswrapper"); t.appendChild(A.cloneNode(!0)); var r = A.parentNode; if (r) { r.replaceChild(t, A); var n = T(t); return t.firstChild && r.replaceChild(t.firstChild, t), n } } return new I(0, 0, 0, 0) }, En = function (A, e, t) { var r = A.ownerDocument; if (!r) throw new Error("Node has no owner document"); var n = r.createRange(); return n.setStart(A, e), n.setEnd(A, e + t), I.fromClientRect(n.getBoundingClientRect()) }, Fn = function (A, e) { return 0 !== e.letterSpacing ? c(A).map(function (A) { return l(A) }) : hn(A, e) }, hn = function (A, e) { for (var t, r = function (A, e) { var t = c(A), r = u(t, e), n = r[0], B = r[1], s = r[2], o = t.length, i = 0, a = 0; return { next: function () { if (o <= a) return { done: !0, value: null }; for (var A = Y; a < o && (A = w(t, B, n, ++a, s)) === Y;); if (A === Y && a !== o) return { done: !0, value: null }; var e = new nA(t, A, i, a); return i = a, { value: e, done: !1 } } } }(A, { lineBreak: e.lineBreak, wordBreak: e.overflowWrap === Ur.BREAK_WORD ? "break-word" : e.wordBreak }), n = []; !(t = r.next()).done;)t.value && n.push(t.value.slice()); return n }, Hn = function (A, e) { this.text = dn(A.data, e.textTransform), this.textBounds = function (A, t, r) { var e = Fn(A, t), n = [], B = 0; return e.forEach(function (A) { if (t.textDecorationLine.length || 0 < A.trim().length) if (Oe.SUPPORT_RANGE_BOUNDS) n.push(new Cn(A, En(r, B, A.length))); else { var e = r.splitText(A.length); n.push(new Cn(A, gn(r))), r = e } else Oe.SUPPORT_RANGE_BOUNDS || (r = r.splitText(A.length)); B += A.length }), n }(this.text, e, A) }, dn = function (A, e) { switch (e) { case Ir.LOWERCASE: return A.toLowerCase(); case Ir.CAPITALIZE: return A.replace(fn, pn); case Ir.UPPERCASE: return A.toUpperCase(); default: return A } }, fn = /(^|\s|:|-|\(|\))([a-z])/g, pn = function (A, e, t) { return 0 < A.length ? e + t.toUpperCase() : A }, Nn = (A(Kn, Qn = ln), Kn); function Kn(A) { var e = Qn.call(this, A) || this; return e.src = A.currentSrc || A.src, e.intrinsicWidth = A.naturalWidth, e.intrinsicHeight = A.naturalHeight, Se.getInstance().addImage(e.src), e } var In, Tn = (A(mn, In = ln), mn); function mn(A) { var e = In.call(this, A) || this; return e.canvas = A, e.intrinsicWidth = A.width, e.intrinsicHeight = A.height, e } var Rn, Ln = (A(vn, Rn = ln), vn); function vn(A) { var e = Rn.call(this, A) || this, t = new XMLSerializer; return e.svg = "data:image/svg+xml," + encodeURIComponent(t.serializeToString(A)), e.intrinsicWidth = A.width.baseVal.value, e.intrinsicHeight = A.height.baseVal.value, Se.getInstance().addImage(e.svg), e } var On, Dn = (A(bn, On = ln), bn); function bn(A) { var e = On.call(this, A) || this; return e.value = A.value, e } var Sn, Mn = (A(yn, Sn = ln), yn); function yn(A) { var e = Sn.call(this, A) || this; return e.start = A.start, e.reversed = "boolean" == typeof A.reversed && !0 === A.reversed, e } var _n, Pn = [{ type: sA.DIMENSION_TOKEN, flags: 0, unit: "px", number: 3 }], xn = [{ type: sA.PERCENTAGE_TOKEN, flags: 0, number: 50 }], Vn = "checkbox", zn = "radio", Xn = "password", Jn = 707406591, Gn = (A(kn, _n = ln), kn); function kn(A) { var e = _n.call(this, A) || this; switch (e.type = A.type.toLowerCase(), e.checked = A.checked, e.value = function (A) { var e = A.type === Xn ? new Array(A.value.length + 1).join("•") : A.value; return 0 === e.length ? A.placeholder || "" : e }(A), e.type !== Vn && e.type !== zn || (e.styles.backgroundColor = 3739148031, e.styles.borderTopColor = e.styles.borderRightColor = e.styles.borderBottomColor = e.styles.borderLeftColor = 2779096575, e.styles.borderTopWidth = e.styles.borderRightWidth = e.styles.borderBottomWidth = e.styles.borderLeftWidth = 1, e.styles.borderTopStyle = e.styles.borderRightStyle = e.styles.borderBottomStyle = e.styles.borderLeftStyle = ht.SOLID, e.styles.backgroundClip = [Ee.BORDER_BOX], e.styles.backgroundOrigin = [0], e.bounds = function (A) { return A.width > A.height ? new I(A.left + (A.width - A.height) / 2, A.top, A.height, A.height) : A.width < A.height ? new I(A.left, A.top + (A.height - A.width) / 2, A.width, A.width) : A }(e.bounds)), e.type) { case Vn: e.styles.borderTopRightRadius = e.styles.borderTopLeftRadius = e.styles.borderBottomRightRadius = e.styles.borderBottomLeftRadius = Pn; break; case zn: e.styles.borderTopRightRadius = e.styles.borderTopLeftRadius = e.styles.borderBottomRightRadius = e.styles.borderBottomLeftRadius = xn }return e } var Wn, Yn = (A(qn, Wn = ln), qn); function qn(A) { var e = Wn.call(this, A) || this, t = A.options[A.selectedIndex || 0]; return e.value = t && t.text || "", e } var Zn, jn = (A($n, Zn = ln), $n); function $n(A) { var e = Zn.call(this, A) || this; return e.value = A.value, e } function AB(A) { return we(_A.create(A).parseComponentValue()) } var eB, tB = (A(rB, eB = ln), rB); function rB(A) { var e = eB.call(this, A) || this; e.src = A.src, e.width = parseInt(A.width, 10) || 0, e.height = parseInt(A.height, 10) || 0, e.backgroundColor = e.styles.backgroundColor; try { if (A.contentWindow && A.contentWindow.document && A.contentWindow.document.documentElement) { e.tree = iB(A.contentWindow.document.documentElement); var t = A.contentWindow.document.documentElement ? AB(getComputedStyle(A.contentWindow.document.documentElement).backgroundColor) : He.TRANSPARENT, r = A.contentWindow.document.body ? AB(getComputedStyle(A.contentWindow.document.body).backgroundColor) : He.TRANSPARENT; e.backgroundColor = ee(t) ? ee(r) ? e.styles.backgroundColor : r : t } } catch (A) { } return e } function nB(A) { return "STYLE" === A.tagName } var BB = ["OL", "UL", "MENU"], sB = function (A, e, t) { for (var r = A.firstChild, n = void 0; r; r = n)if (n = r.nextSibling, QB(r) && 0 < r.data.trim().length) e.textNodes.push(new Hn(r, e.styles)); else if (wB(r)) { var B = oB(r); B.styles.isVisible() && (aB(r, B, t) ? B.flags |= 4 : cB(B.styles) && (B.flags |= 2), -1 !== BB.indexOf(r.tagName) && (B.flags |= 8), e.elements.push(B), dB(r) || gB(r) || fB(r) || sB(r, B, t)) } }, oB = function (A) { return hB(A) ? new Nn(A) : FB(A) ? new Tn(A) : gB(A) ? new Ln(A) : UB(A) ? new Dn(A) : lB(A) ? new Mn(A) : CB(A) ? new Gn(A) : fB(A) ? new Yn(A) : dB(A) ? new jn(A) : HB(A) ? new tB(A) : new ln(A) }, iB = function (A) { var e = oB(A); return e.flags |= 4, sB(A, e, e), e }, aB = function (A, e, t) { return e.styles.isPositionedWithZIndex() || e.styles.opacity < 1 || e.styles.isTransformed() || EB(A) && t.styles.isTransparent() }, cB = function (A) { return A.isPositioned() || A.isFloating() }, QB = function (A) { return A.nodeType === Node.TEXT_NODE }, wB = function (A) { return A.nodeType === Node.ELEMENT_NODE }, uB = function (A) { return void 0 !== A.style }, UB = function (A) { return "LI" === A.tagName }, lB = function (A) { return "OL" === A.tagName }, CB = function (A) { return "INPUT" === A.tagName }, gB = function (A) { return "svg" === A.tagName }, EB = function (A) { return "BODY" === A.tagName }, FB = function (A) { return "CANVAS" === A.tagName }, hB = function (A) { return "IMG" === A.tagName }, HB = function (A) { return "IFRAME" === A.tagName }, dB = function (A) { return "TEXTAREA" === A.tagName }, fB = function (A) { return "SELECT" === A.tagName }, pB = (NB.prototype.getCounterValue = function (A) { var e = this.counters[A]; return e && e.length ? e[e.length - 1] : 1 }, NB.prototype.getCounterValues = function (A) { var e = this.counters[A]; return e || [] }, NB.prototype.pop = function (A) { var e = this; A.forEach(function (A) { return e.counters[A].pop() }) }, NB.prototype.parse = function (A) { var t = this, e = A.counterIncrement, r = A.counterReset, n = !0; null !== e && e.forEach(function (A) { var e = t.counters[A.counter]; e && 0 !== A.increment && (n = !1, e[Math.max(0, e.length - 1)] += A.increment) }); var B = []; return n && r.forEach(function (A) { var e = t.counters[A.counter]; B.push(A.counter), e || (e = t.counters[A.counter] = []), e.push(A.reset) }), B }, NB); function NB() { this.counters = {} } function KB(r, A, e, n, t, B) { return r < A || e < r ? yB(r, t, 0 < B.length) : n.integers.reduce(function (A, e, t) { for (; e <= r;)r -= e, A += n.values[t]; return A }, "") + B } function IB(A, e, t, r) { for (var n = ""; t || A--, n = r(A) + n, e <= (A /= e) * e;); return n } function TB(A, e, t, r, n) { var B = t - e + 1; return (A < 0 ? "-" : "") + (IB(Math.abs(A), B, r, function (A) { return l(Math.floor(A % B) + e) }) + n) } function mB(A, e, t) { void 0 === t && (t = ". "); var r = e.length; return IB(Math.abs(A), r, !1, function (A) { return e[Math.floor(A % r)] }) + t } function RB(A, e, t, r, n, B) { if (A < -9999 || 9999 < A) return yB(A, tr.CJK_DECIMAL, 0 < n.length); var s = Math.abs(A), o = n; if (0 === s) return e[0] + o; for (var i = 0; 0 < s && i <= 4; i++) { var a = s % 10; 0 == a && An(B, 1) && "" !== o ? o = e[a] + o : 1 < a || 1 == a && 0 === i || 1 == a && 1 === i && An(B, 2) || 1 == a && 1 === i && An(B, 4) && 100 < A || 1 == a && 1 < i && An(B, 8) ? o = e[a] + (0 < i ? t[i - 1] : "") + o : 1 == a && 0 < i && (o = t[i - 1] + o), s = Math.floor(s / 10) } return (A < 0 ? r : "") + o } var LB, vB, OB = { integers: [1e3, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1], values: ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"] }, DB = { integers: [9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["Ք", "Փ", "Ւ", "Ց", "Ր", "Տ", "Վ", "Ս", "Ռ", "Ջ", "Պ", "Չ", "Ո", "Շ", "Ն", "Յ", "Մ", "Ճ", "Ղ", "Ձ", "Հ", "Կ", "Ծ", "Խ", "Լ", "Ի", "Ժ", "Թ", "Ը", "Է", "Զ", "Ե", "Դ", "Գ", "Բ", "Ա"] }, bB = { integers: [1e4, 9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["י׳", "ט׳", "ח׳", "ז׳", "ו׳", "ה׳", "ד׳", "ג׳", "ב׳", "א׳", "ת", "ש", "ר", "ק", "צ", "פ", "ע", "ס", "נ", "מ", "ל", "כ", "יט", "יח", "יז", "טז", "טו", "י", "ט", "ח", "ז", "ו", "ה", "ד", "ג", "ב", "א"] }, SB = { integers: [1e4, 9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["ჵ", "ჰ", "ჯ", "ჴ", "ხ", "ჭ", "წ", "ძ", "ც", "ჩ", "შ", "ყ", "ღ", "ქ", "ფ", "ჳ", "ტ", "ს", "რ", "ჟ", "პ", "ო", "ჲ", "ნ", "მ", "ლ", "კ", "ი", "თ", "ჱ", "ზ", "ვ", "ე", "დ", "გ", "ბ", "ა"] }, MB = "마이너스", yB = function (A, e, t) { var r = t ? ". " : "", n = t ? "、" : "", B = t ? ", " : "", s = t ? " " : ""; switch (e) { case tr.DISC: return "•" + s; case tr.CIRCLE: return "◦" + s; case tr.SQUARE: return "◾" + s; case tr.DECIMAL_LEADING_ZERO: var o = TB(A, 48, 57, !0, r); return o.length < 4 ? "0" + o : o; case tr.CJK_DECIMAL: return mB(A, "〇一二三四五六七八九", n); case tr.LOWER_ROMAN: return KB(A, 1, 3999, OB, tr.DECIMAL, r).toLowerCase(); case tr.UPPER_ROMAN: return KB(A, 1, 3999, OB, tr.DECIMAL, r); case tr.LOWER_GREEK: return TB(A, 945, 969, !1, r); case tr.LOWER_ALPHA: return TB(A, 97, 122, !1, r); case tr.UPPER_ALPHA: return TB(A, 65, 90, !1, r); case tr.ARABIC_INDIC: return TB(A, 1632, 1641, !0, r); case tr.ARMENIAN: case tr.UPPER_ARMENIAN: return KB(A, 1, 9999, DB, tr.DECIMAL, r); case tr.LOWER_ARMENIAN: return KB(A, 1, 9999, DB, tr.DECIMAL, r).toLowerCase(); case tr.BENGALI: return TB(A, 2534, 2543, !0, r); case tr.CAMBODIAN: case tr.KHMER: return TB(A, 6112, 6121, !0, r); case tr.CJK_EARTHLY_BRANCH: return mB(A, "子丑寅卯辰巳午未申酉戌亥", n); case tr.CJK_HEAVENLY_STEM: return mB(A, "甲乙丙丁戊己庚辛壬癸", n); case tr.CJK_IDEOGRAPHIC: case tr.TRAD_CHINESE_INFORMAL: return RB(A, "零一二三四五六七八九", "十百千萬", "負", n, 14); case tr.TRAD_CHINESE_FORMAL: return RB(A, "零壹貳參肆伍陸柒捌玖", "拾佰仟萬", "負", n, 15); case tr.SIMP_CHINESE_INFORMAL: return RB(A, "零一二三四五六七八九", "十百千萬", "负", n, 14); case tr.SIMP_CHINESE_FORMAL: return RB(A, "零壹贰叁肆伍陆柒捌玖", "拾佰仟萬", "负", n, 15); case tr.JAPANESE_INFORMAL: return RB(A, "〇一二三四五六七八九", "十百千万", "マイナス", n, 0); case tr.JAPANESE_FORMAL: return RB(A, "零壱弐参四伍六七八九", "拾百千万", "マイナス", n, 7); case tr.KOREAN_HANGUL_FORMAL: return RB(A, "영일이삼사오육칠팔구", "십백천만", MB, B, 7); case tr.KOREAN_HANJA_INFORMAL: return RB(A, "零一二三四五六七八九", "十百千萬", MB, B, 0); case tr.KOREAN_HANJA_FORMAL: return RB(A, "零壹貳參四五六七八九", "拾百千", MB, B, 7); case tr.DEVANAGARI: return TB(A, 2406, 2415, !0, r); case tr.GEORGIAN: return KB(A, 1, 19999, SB, tr.DECIMAL, r); case tr.GUJARATI: return TB(A, 2790, 2799, !0, r); case tr.GURMUKHI: return TB(A, 2662, 2671, !0, r); case tr.HEBREW: return KB(A, 1, 10999, bB, tr.DECIMAL, r); case tr.HIRAGANA: return mB(A, "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん"); case tr.HIRAGANA_IROHA: return mB(A, "いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす"); case tr.KANNADA: return TB(A, 3302, 3311, !0, r); case tr.KATAKANA: return mB(A, "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン", n); case tr.KATAKANA_IROHA: return mB(A, "イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス", n); case tr.LAO: return TB(A, 3792, 3801, !0, r); case tr.MONGOLIAN: return TB(A, 6160, 6169, !0, r); case tr.MYANMAR: return TB(A, 4160, 4169, !0, r); case tr.ORIYA: return TB(A, 2918, 2927, !0, r); case tr.PERSIAN: return TB(A, 1776, 1785, !0, r); case tr.TAMIL: return TB(A, 3046, 3055, !0, r); case tr.TELUGU: return TB(A, 3174, 3183, !0, r); case tr.THAI: return TB(A, 3664, 3673, !0, r); case tr.TIBETAN: return TB(A, 3872, 3881, !0, r); case tr.DECIMAL: default: return TB(A, 48, 57, !0, r) } }, _B = "data-html2canvas-ignore", PB = (xB.prototype.toIFrame = function (A, t) { var e = this, r = XB(A, t); if (!r.contentWindow) return Promise.reject("Unable to find iframe window"); var n = A.defaultView.pageXOffset, B = A.defaultView.pageYOffset, s = r.contentWindow, o = s.document, i = JB(r).then(function () { return a(e, void 0, void 0, function () { var e; return S(this, function (A) { switch (A.label) { case 0: return this.scrolledElements.forEach(YB), s && (s.scrollTo(t.left, t.top), !/(iPad|iPhone|iPod)/g.test(navigator.userAgent) || s.scrollY === t.top && s.scrollX === t.left || (o.documentElement.style.top = -t.top + "px", o.documentElement.style.left = -t.left + "px", o.documentElement.style.position = "absolute")), e = this.options.onclone, void 0 === this.clonedReferenceElement ? [2, Promise.reject("Error finding the " + this.referenceElement.nodeName + " in the cloned document")] : o.fonts && o.fonts.ready ? [4, o.fonts.ready] : [3, 2]; case 1: A.sent(), A.label = 2; case 2: return "function" == typeof e ? [2, Promise.resolve().then(function () { return e(o) }).then(function () { return r })] : [2, r] } }) }) }); return o.open(), o.write(kB(document.doctype) + "<html></html>"), WB(this.referenceElement.ownerDocument, n, B), o.replaceChild(o.adoptNode(this.documentElement), o.documentElement), o.close(), i }, xB.prototype.createElementClone = function (A) { return FB(A) ? this.createCanvasClone(A) : nB(A) ? this.createStyleClone(A) : A.cloneNode(!1) }, xB.prototype.createStyleClone = function (A) { try { var e = A.sheet; if (e && e.cssRules) { var t = [].slice.call(e.cssRules, 0).reduce(function (A, e) { return e && "string" == typeof e.cssText ? A + e.cssText : A }, ""), r = A.cloneNode(!1); return r.textContent = t, r } } catch (A) { if (De.getInstance(this.options.id).error("Unable to access cssRules property", A), "SecurityError" !== A.name) throw A } return A.cloneNode(!1) }, xB.prototype.createCanvasClone = function (A) { if (this.options.inlineImages && A.ownerDocument) { var e = A.ownerDocument.createElement("img"); try { return e.src = A.toDataURL(), e } catch (A) { De.getInstance(this.options.id).info("Unable to clone canvas contents, canvas is tainted") } } var t = A.cloneNode(!1); try { t.width = A.width, t.height = A.height; var r = A.getContext("2d"), n = t.getContext("2d"); return n && (r ? n.putImageData(r.getImageData(0, 0, A.width, A.height), 0, 0) : n.drawImage(A, 0, 0)), t } catch (A) { } return t }, xB.prototype.cloneNode = function (A) { if (QB(A)) return document.createTextNode(A.data); if (!A.ownerDocument) return A.cloneNode(!1); var e = A.ownerDocument.defaultView; if (uB(A) && e) { var t = this.createElementClone(A), r = e.getComputedStyle(A), n = e.getComputedStyle(A, ":before"), B = e.getComputedStyle(A, ":after"); this.referenceElement === A && (this.clonedReferenceElement = t), EB(t) && $B(t); for (var s = this.counters.parse(new un(r)), o = this.resolvePseudoContent(A, t, n, LB.BEFORE), i = A.firstChild; i; i = i.nextSibling)wB(i) && ("SCRIPT" === i.tagName || i.hasAttribute(_B) || "function" == typeof this.options.ignoreElements && this.options.ignoreElements(i)) || this.options.copyStyles && wB(i) && nB(i) || t.appendChild(this.cloneNode(i)); o && t.insertBefore(o, t.firstChild); var a = this.resolvePseudoContent(A, t, B, LB.AFTER); return a && t.appendChild(a), this.counters.pop(s), r && this.options.copyStyles && !HB(A) && GB(r, t), 0 === A.scrollTop && 0 === A.scrollLeft || this.scrolledElements.push([t, A.scrollLeft, A.scrollTop]), (dB(A) || fB(A)) && (dB(t) || fB(t)) && (t.value = A.value), t } return A.cloneNode(!1) }, xB.prototype.resolvePseudoContent = function (U, A, e, t) { var l = this; if (e) { var r = e.content, C = A.ownerDocument; if (C && r && "none" !== r && "-moz-alt-content" !== r && "none" !== e.display) { this.counters.parse(new un(e)); var g = new wn(e), E = C.createElement("html2canvaspseudoelement"); return GB(e, E), g.content.forEach(function (A) { if (A.type === sA.STRING_TOKEN) E.appendChild(C.createTextNode(A.value)); else if (A.type === sA.URL_TOKEN) { var e = C.createElement("img"); e.src = A.value, e.style.opacity = "1", E.appendChild(e) } else if (A.type === sA.FUNCTION) { if ("attr" === A.name) { var t = A.values.filter(zA); t.length && E.appendChild(C.createTextNode(U.getAttribute(t[0].value) || "")) } else if ("counter" === A.name) { var r = A.values.filter(kA), n = r[0], B = r[1]; if (n && zA(n)) { var s = l.counters.getCounterValue(n.value), o = B && zA(B) ? ir.parse(B.value) : tr.DECIMAL; E.appendChild(C.createTextNode(yB(s, o, !1))) } } else if ("counters" === A.name) { var i = A.values.filter(kA), a = (n = i[0], i[1]); if (B = i[2], n && zA(n)) { var c = l.counters.getCounterValues(n.value), Q = B && zA(B) ? ir.parse(B.value) : tr.DECIMAL, w = a && a.type === sA.STRING_TOKEN ? a.value : "", u = c.map(function (A) { return yB(A, Q, !1) }).join(w); E.appendChild(C.createTextNode(u)) } } } else if (A.type === sA.IDENT_TOKEN) switch (A.value) { case "open-quote": E.appendChild(C.createTextNode(en(g.quotes, l.quoteDepth++, !0))); break; case "close-quote": E.appendChild(C.createTextNode(en(g.quotes, --l.quoteDepth, !1))); break; default: E.appendChild(C.createTextNode(A.value)) } }), E.className = qB + " " + ZB, A.className += t === LB.BEFORE ? " " + qB : " " + ZB, E } } }, xB.destroy = function (A) { return !!A.parentNode && (A.parentNode.removeChild(A), !0) }, xB); function xB(A, e) { if (this.options = e, this.scrolledElements = [], this.referenceElement = A, this.counters = new pB, this.quoteDepth = 0, !A.ownerDocument) throw new Error("Cloned element does not have an owner document"); this.documentElement = this.cloneNode(A.ownerDocument.documentElement) } (vB = LB || (LB = {}))[vB.BEFORE = 0] = "BEFORE", vB[vB.AFTER = 1] = "AFTER"; var VB, zB, XB = function (A, e) { var t = A.createElement("iframe"); return t.className = "html2canvas-container", t.style.visibility = "hidden", t.style.position = "fixed", t.style.left = "-10000px", t.style.top = "0px", t.style.border = "0", t.width = e.width.toString(), t.height = e.height.toString(), t.scrolling = "no", t.setAttribute(_B, "true"), A.body.appendChild(t), t }, JB = function (n) { return new Promise(function (e, A) { var t = n.contentWindow; if (!t) return A("No window assigned for iframe"); var r = t.document; t.onload = n.onload = r.onreadystatechange = function () { t.onload = n.onload = r.onreadystatechange = null; var A = setInterval(function () { 0 < r.body.childNodes.length && "complete" === r.readyState && (clearInterval(A), e(n)) }, 50) } }) }, GB = function (A, e) { for (var t = A.length - 1; 0 <= t; t--) { var r = A.item(t); "content" !== r && e.style.setProperty(r, A.getPropertyValue(r)) } return e }, kB = function (A) { var e = ""; return A && (e += "<!DOCTYPE ", A.name && (e += A.name), A.internalSubset && (e += A.internalSubset), A.publicId && (e += '"' + A.publicId + '"'), A.systemId && (e += '"' + A.systemId + '"'), e += ">"), e }, WB = function (A, e, t) { A && A.defaultView && (e !== A.defaultView.pageXOffset || t !== A.defaultView.pageYOffset) && A.defaultView.scrollTo(e, t) }, YB = function (A) { var e = A[0], t = A[1], r = A[2]; e.scrollLeft = t, e.scrollTop = r }, qB = "___html2canvas___pseudoelement_before", ZB = "___html2canvas___pseudoelement_after", jB = '{\n    content: "" !important;\n    display: none !important;\n}', $B = function (A) { As(A, "." + qB + ":before" + jB + "\n         ." + ZB + ":after" + jB) }, As = function (A, e) { var t = A.ownerDocument; if (t) { var r = t.createElement("style"); r.textContent = e, A.appendChild(r) } }; (zB = VB || (VB = {}))[zB.VECTOR = 0] = "VECTOR", zB[zB.BEZIER_CURVE = 1] = "BEZIER_CURVE"; function es(A, t) { return A.length === t.length && A.some(function (A, e) { return A === t[e] }) } var ts = (rs.prototype.add = function (A, e) { return new rs(this.x + A, this.y + e) }, rs); function rs(A, e) { this.type = VB.VECTOR, this.x = A, this.y = e } function ns(A, e, t) { return new ts(A.x + (e.x - A.x) * t, A.y + (e.y - A.y) * t) } var Bs = (ss.prototype.subdivide = function (A, e) { var t = ns(this.start, this.startControl, A), r = ns(this.startControl, this.endControl, A), n = ns(this.endControl, this.end, A), B = ns(t, r, A), s = ns(r, n, A), o = ns(B, s, A); return e ? new ss(this.start, t, B, o) : new ss(o, s, n, this.end) }, ss.prototype.add = function (A, e) { return new ss(this.start.add(A, e), this.startControl.add(A, e), this.endControl.add(A, e), this.end.add(A, e)) }, ss.prototype.reverse = function () { return new ss(this.end, this.endControl, this.startControl, this.start) }, ss); function ss(A, e, t, r) { this.type = VB.BEZIER_CURVE, this.start = A, this.startControl = e, this.endControl = t, this.end = r } function os(A) { return A.type === VB.BEZIER_CURVE } var is, as, cs = function (A) { var e = A.styles, t = A.bounds, r = jA(e.borderTopLeftRadius, t.width, t.height), n = r[0], B = r[1], s = jA(e.borderTopRightRadius, t.width, t.height), o = s[0], i = s[1], a = jA(e.borderBottomRightRadius, t.width, t.height), c = a[0], Q = a[1], w = jA(e.borderBottomLeftRadius, t.width, t.height), u = w[0], U = w[1], l = []; l.push((n + o) / t.width), l.push((u + c) / t.width), l.push((B + U) / t.height), l.push((i + Q) / t.height); var C = Math.max.apply(Math, l); 1 < C && (n /= C, B /= C, o /= C, i /= C, c /= C, Q /= C, u /= C, U /= C); var g = t.width - o, E = t.height - Q, F = t.width - c, h = t.height - U, H = e.borderTopWidth, d = e.borderRightWidth, f = e.borderBottomWidth, p = e.borderLeftWidth, N = ae(e.paddingTop, A.bounds.width), K = ae(e.paddingRight, A.bounds.width), I = ae(e.paddingBottom, A.bounds.width), T = ae(e.paddingLeft, A.bounds.width); this.topLeftBorderBox = 0 < n || 0 < B ? us(t.left, t.top, n, B, is.TOP_LEFT) : new ts(t.left, t.top), this.topRightBorderBox = 0 < o || 0 < i ? us(t.left + g, t.top, o, i, is.TOP_RIGHT) : new ts(t.left + t.width, t.top), this.bottomRightBorderBox = 0 < c || 0 < Q ? us(t.left + F, t.top + E, c, Q, is.BOTTOM_RIGHT) : new ts(t.left + t.width, t.top + t.height), this.bottomLeftBorderBox = 0 < u || 0 < U ? us(t.left, t.top + h, u, U, is.BOTTOM_LEFT) : new ts(t.left, t.top + t.height), this.topLeftPaddingBox = 0 < n || 0 < B ? us(t.left + p, t.top + H, Math.max(0, n - p), Math.max(0, B - H), is.TOP_LEFT) : new ts(t.left + p, t.top + H), this.topRightPaddingBox = 0 < o || 0 < i ? us(t.left + Math.min(g, t.width + p), t.top + H, g > t.width + p ? 0 : o - p, i - H, is.TOP_RIGHT) : new ts(t.left + t.width - d, t.top + H), this.bottomRightPaddingBox = 0 < c || 0 < Q ? us(t.left + Math.min(F, t.width - p), t.top + Math.min(E, t.height + H), Math.max(0, c - d), Q - f, is.BOTTOM_RIGHT) : new ts(t.left + t.width - d, t.top + t.height - f), this.bottomLeftPaddingBox = 0 < u || 0 < U ? us(t.left + p, t.top + h, Math.max(0, u - p), U - f, is.BOTTOM_LEFT) : new ts(t.left + p, t.top + t.height - f), this.topLeftContentBox = 0 < n || 0 < B ? us(t.left + p + T, t.top + H + N, Math.max(0, n - (p + T)), Math.max(0, B - (H + N)), is.TOP_LEFT) : new ts(t.left + p + T, t.top + H + N), this.topRightContentBox = 0 < o || 0 < i ? us(t.left + Math.min(g, t.width + p + T), t.top + H + N, g > t.width + p + T ? 0 : o - p + T, i - (H + N), is.TOP_RIGHT) : new ts(t.left + t.width - (d + K), t.top + H + N), this.bottomRightContentBox = 0 < c || 0 < Q ? us(t.left + Math.min(F, t.width - (p + T)), t.top + Math.min(E, t.height + H + N), Math.max(0, c - (d + K)), Q - (f + I), is.BOTTOM_RIGHT) : new ts(t.left + t.width - (d + K), t.top + t.height - (f + I)), this.bottomLeftContentBox = 0 < u || 0 < U ? us(t.left + p + T, t.top + h, Math.max(0, u - (p + T)), U - (f + I), is.BOTTOM_LEFT) : new ts(t.left + p + T, t.top + t.height - (f + I)) }; (as = is || (is = {}))[as.TOP_LEFT = 0] = "TOP_LEFT", as[as.TOP_RIGHT = 1] = "TOP_RIGHT", as[as.BOTTOM_RIGHT = 2] = "BOTTOM_RIGHT", as[as.BOTTOM_LEFT = 3] = "BOTTOM_LEFT"; function Qs(A) { return [A.topLeftBorderBox, A.topRightBorderBox, A.bottomRightBorderBox, A.bottomLeftBorderBox] } function ws(A) { return [A.topLeftPaddingBox, A.topRightPaddingBox, A.bottomRightPaddingBox, A.bottomLeftPaddingBox] } var us = function (A, e, t, r, n) { var B = (Math.sqrt(2) - 1) / 3 * 4, s = t * B, o = r * B, i = A + t, a = e + r; switch (n) { case is.TOP_LEFT: return new Bs(new ts(A, a), new ts(A, a - o), new ts(i - s, e), new ts(i, e)); case is.TOP_RIGHT: return new Bs(new ts(A, e), new ts(A + s, e), new ts(i, a - o), new ts(i, a)); case is.BOTTOM_RIGHT: return new Bs(new ts(i, e), new ts(i, e + o), new ts(A + s, a), new ts(A, a)); case is.BOTTOM_LEFT: default: return new Bs(new ts(i, a), new ts(i - s, a), new ts(A, e + o), new ts(A, e)) } }, Us = function (A, e, t) { this.type = 0, this.offsetX = A, this.offsetY = e, this.matrix = t, this.target = 6 }, ls = function (A, e) { this.type = 1, this.target = e, this.path = A }, Cs = function (A) { this.element = A, this.inlineLevel = [], this.nonInlineLevel = [], this.negativeZIndex = [], this.zeroOrAutoZIndexOrTransformedOrOpacity = [], this.positiveZIndex = [], this.nonPositionedFloats = [], this.nonPositionedInlineLevel = [] }, gs = (Es.prototype.getParentEffects = function () { var A = this.effects.slice(0); if (this.container.styles.overflowX !== sr.VISIBLE) { var e = Qs(this.curves), t = ws(this.curves); es(e, t) || A.push(new ls(t, 6)) } return A }, Es); function Es(A, e) { if (this.container = A, this.effects = e.slice(0), this.curves = new cs(A), null !== A.styles.transform) { var t = A.bounds.left + A.styles.transformOrigin[0].number, r = A.bounds.top + A.styles.transformOrigin[1].number, n = A.styles.transform; this.effects.push(new Us(t, r, n)) } if (A.styles.overflowX !== sr.VISIBLE) { var B = Qs(this.curves), s = ws(this.curves); es(B, s) ? this.effects.push(new ls(B, 6)) : (this.effects.push(new ls(B, 2)), this.effects.push(new ls(s, 4))) } } function Fs(A) { var e = A.bounds, t = A.styles; return e.add(t.borderLeftWidth, t.borderTopWidth, -(t.borderRightWidth + t.borderLeftWidth), -(t.borderTopWidth + t.borderBottomWidth)) } function hs(A) { var e = A.styles, t = A.bounds, r = ae(e.paddingLeft, t.width), n = ae(e.paddingRight, t.width), B = ae(e.paddingTop, t.width), s = ae(e.paddingBottom, t.width); return t.add(r + e.borderLeftWidth, B + e.borderTopWidth, -(e.borderRightWidth + e.borderLeftWidth + r + n), -(e.borderTopWidth + e.borderBottomWidth + B + s)) } function Hs(A, e, t) { var r = function (A, e) { return 0 === A ? e.bounds : 2 === A ? hs(e) : Fs(e) }(Ts(A.styles.backgroundOrigin, e), A), n = function (A, e) { return A === Ee.BORDER_BOX ? e.bounds : A === Ee.CONTENT_BOX ? hs(e) : Fs(e) }(Ts(A.styles.backgroundClip, e), A), B = Is(Ts(A.styles.backgroundSize, e), t, r), s = B[0], o = B[1], i = jA(Ts(A.styles.backgroundPosition, e), r.width - s, r.height - o); return [ms(Ts(A.styles.backgroundRepeat, e), i, B, r, n), Math.round(r.left + i[0]), Math.round(r.top + i[1]), s, o] } function ds(A) { return zA(A) && A.value === Ut.AUTO } function fs(A) { return "number" == typeof A } var ps = function (c, Q, w, u) { c.container.elements.forEach(function (A) { var e = An(A.flags, 4), t = An(A.flags, 2), r = new gs(A, c.getParentEffects()); An(A.styles.display, 2048) && u.push(r); var n = An(A.flags, 8) ? [] : u; if (e || t) { var B = e || A.styles.isPositioned() ? w : Q, s = new Cs(r); if (A.styles.isPositioned() || A.styles.opacity < 1 || A.styles.isTransformed()) { var o = A.styles.zIndex.order; if (o < 0) { var i = 0; B.negativeZIndex.some(function (A, e) { return o > A.element.container.styles.zIndex.order ? (i = e, !1) : 0 < i }), B.negativeZIndex.splice(i, 0, s) } else if (0 < o) { var a = 0; B.positiveZIndex.some(function (A, e) { return o > A.element.container.styles.zIndex.order ? (a = e + 1, !1) : 0 < a }), B.positiveZIndex.splice(a, 0, s) } else B.zeroOrAutoZIndexOrTransformedOrOpacity.push(s) } else A.styles.isFloating() ? B.nonPositionedFloats.push(s) : B.nonPositionedInlineLevel.push(s); ps(r, s, e ? s : w, n) } else A.styles.isInlineLevel() ? Q.inlineLevel.push(r) : Q.nonInlineLevel.push(r), ps(r, Q, w, n); An(A.flags, 8) && Ns(A, n) }) }, Ns = function (A, e) { for (var t = A instanceof Mn ? A.start : 1, r = A instanceof Mn && A.reversed, n = 0; n < e.length; n++) { var B = e[n]; B.container instanceof Dn && "number" == typeof B.container.value && 0 !== B.container.value && (t = B.container.value), B.listValue = yB(t, B.container.styles.listStyleType, !0), t += r ? -1 : 1 } }, Ks = function (A, e, t, r) { var n = []; return os(A) ? n.push(A.subdivide(.5, !1)) : n.push(A), os(t) ? n.push(t.subdivide(.5, !0)) : n.push(t), os(r) ? n.push(r.subdivide(.5, !0).reverse()) : n.push(r), os(e) ? n.push(e.subdivide(.5, !1).reverse()) : n.push(e), n }, Is = function (A, e, t) { var r = e[0], n = e[1], B = e[2], s = A[0], o = A[1]; if (qA(s) && o && qA(o)) return [ae(s, t.width), ae(o, t.height)]; var i = fs(B); if (zA(s) && (s.value === Ut.CONTAIN || s.value === Ut.COVER)) return fs(B) ? t.width / t.height < B != (s.value === Ut.COVER) ? [t.width, t.width / B] : [t.height * B, t.height] : [t.width, t.height]; var a = fs(r), c = fs(n), Q = a || c; if (ds(s) && (!o || ds(o))) return a && c ? [r, n] : i || Q ? Q && i ? [a ? r : n * B, c ? n : r / B] : [a ? r : t.width, c ? n : t.height] : [t.width, t.height]; if (i) { var w = 0, u = 0; return qA(s) ? w = ae(s, t.width) : qA(o) && (u = ae(o, t.height)), ds(s) ? w = u * B : o && !ds(o) || (u = w / B), [w, u] } var U = null, l = null; if (qA(s) ? U = ae(s, t.width) : o && qA(o) && (l = ae(o, t.height)), null === U || o && !ds(o) || (l = a && c ? U / r * n : t.height), null !== l && ds(s) && (U = a && c ? l / n * r : t.width), null !== U && null !== l) return [U, l]; throw new Error("Unable to calculate background-size for element") }, Ts = function (A, e) { var t = A[e]; return void 0 === t ? A[0] : t }, ms = function (A, e, t, r, n) { var B = e[0], s = e[1], o = t[0], i = t[1]; switch (A) { case it.REPEAT_X: return [new ts(Math.round(r.left), Math.round(r.top + s)), new ts(Math.round(r.left + r.width), Math.round(r.top + s)), new ts(Math.round(r.left + r.width), Math.round(i + r.top + s)), new ts(Math.round(r.left), Math.round(i + r.top + s))]; case it.REPEAT_Y: return [new ts(Math.round(r.left + B), Math.round(r.top)), new ts(Math.round(r.left + B + o), Math.round(r.top)), new ts(Math.round(r.left + B + o), Math.round(r.height + r.top)), new ts(Math.round(r.left + B), Math.round(r.height + r.top))]; case it.NO_REPEAT: return [new ts(Math.round(r.left + B), Math.round(r.top + s)), new ts(Math.round(r.left + B + o), Math.round(r.top + s)), new ts(Math.round(r.left + B + o), Math.round(r.top + s + i)), new ts(Math.round(r.left + B), Math.round(r.top + s + i))]; default: return [new ts(Math.round(n.left), Math.round(n.top)), new ts(Math.round(n.left + n.width), Math.round(n.top)), new ts(Math.round(n.left + n.width), Math.round(n.height + n.top)), new ts(Math.round(n.left), Math.round(n.height + n.top))] } }, Rs = "Hidden Text", Ls = (vs.prototype.parseMetrics = function (A, e) { var t = this._document.createElement("div"), r = this._document.createElement("img"), n = this._document.createElement("span"), B = this._document.body; t.style.visibility = "hidden", t.style.fontFamily = A, t.style.fontSize = e, t.style.margin = "0", t.style.padding = "0", B.appendChild(t), r.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", r.width = 1, r.height = 1, r.style.margin = "0", r.style.padding = "0", r.style.verticalAlign = "baseline", n.style.fontFamily = A, n.style.fontSize = e, n.style.margin = "0", n.style.padding = "0", n.appendChild(this._document.createTextNode(Rs)), t.appendChild(n), t.appendChild(r); var s = r.offsetTop - n.offsetTop + 2; t.removeChild(n), t.appendChild(this._document.createTextNode(Rs)), t.style.lineHeight = "normal", r.style.verticalAlign = "super"; var o = r.offsetTop - t.offsetTop + 2; return B.removeChild(t), { baseline: s, middle: o } }, vs.prototype.getMetrics = function (A, e) { var t = A + " " + e; return void 0 === this._data[t] && (this._data[t] = this.parseMetrics(A, e)), this._data[t] }, vs); function vs(A) { this._data = {}, this._document = A } var Os = (Ds.prototype.applyEffects = function (A, e) { for (var t = this; this._activeEffects.length;)this.popEffect(); A.filter(function (A) { return An(A.target, e) }).forEach(function (A) { return t.applyEffect(A) }) }, Ds.prototype.applyEffect = function (A) { this.ctx.save(), function (A) { return 0 === A.type }(A) && (this.ctx.translate(A.offsetX, A.offsetY), this.ctx.transform(A.matrix[0], A.matrix[1], A.matrix[2], A.matrix[3], A.matrix[4], A.matrix[5]), this.ctx.translate(-A.offsetX, -A.offsetY)), function (A) { return 1 === A.type }(A) && (this.path(A.path), this.ctx.clip()), this._activeEffects.push(A) }, Ds.prototype.popEffect = function () { this._activeEffects.pop(), this.ctx.restore() }, Ds.prototype.renderStack = function (t) { return a(this, void 0, void 0, function () { var e; return S(this, function (A) { switch (A.label) { case 0: return (e = t.element.container.styles).isVisible() ? (this.ctx.globalAlpha = e.opacity, [4, this.renderStackContent(t)]) : [3, 2]; case 1: A.sent(), A.label = 2; case 2: return [2] } }) }) }, Ds.prototype.renderNode = function (e) { return a(this, void 0, void 0, function () { return S(this, function (A) { switch (A.label) { case 0: return e.container.styles.isVisible() ? [4, this.renderNodeBackgroundAndBorders(e)] : [3, 3]; case 1: return A.sent(), [4, this.renderNodeContent(e)]; case 2: A.sent(), A.label = 3; case 3: return [2] } }) }) }, Ds.prototype.renderTextWithLetterSpacing = function (t, A) { var r = this; 0 === A ? this.ctx.fillText(t.text, t.bounds.left, t.bounds.top + t.bounds.height) : c(t.text).map(function (A) { return l(A) }).reduce(function (A, e) { return r.ctx.fillText(e, A, t.bounds.top + t.bounds.height), A + r.ctx.measureText(e).width }, t.bounds.left) }, Ds.prototype.createFontStyle = function (A) { var e = A.fontVariant.filter(function (A) { return "normal" === A || "small-caps" === A }).join(""), t = A.fontFamily.join(", "), r = xA(A.fontSize) ? "" + A.fontSize.number + A.fontSize.unit : A.fontSize.number + "px"; return [[A.fontStyle, e, A.fontWeight, r, t].join(" "), t, r] }, Ds.prototype.renderTextNode = function (r, o) { return a(this, void 0, void 0, function () { var e, t, n, B, s = this; return S(this, function (A) { return e = this.createFontStyle(o), t = e[0], n = e[1], B = e[2], this.ctx.font = t, r.textBounds.forEach(function (r) { s.ctx.fillStyle = te(o.color), s.renderTextWithLetterSpacing(r, o.letterSpacing); var A = o.textShadow; A.length && r.text.trim().length && (A.slice(0).reverse().forEach(function (A) { s.ctx.shadowColor = te(A.color), s.ctx.shadowOffsetX = A.offsetX.number * s.options.scale, s.ctx.shadowOffsetY = A.offsetY.number * s.options.scale, s.ctx.shadowBlur = A.blur.number, s.ctx.fillText(r.text, r.bounds.left, r.bounds.top + r.bounds.height) }), s.ctx.shadowColor = "", s.ctx.shadowOffsetX = 0, s.ctx.shadowOffsetY = 0, s.ctx.shadowBlur = 0), o.textDecorationLine.length && (s.ctx.fillStyle = te(o.textDecorationColor || o.color), o.textDecorationLine.forEach(function (A) { switch (A) { case 1: var e = s.fontMetrics.getMetrics(n, B).baseline; s.ctx.fillRect(r.bounds.left, Math.round(r.bounds.top + e), r.bounds.width, 1); break; case 2: s.ctx.fillRect(r.bounds.left, Math.round(r.bounds.top), r.bounds.width, 1); break; case 3: var t = s.fontMetrics.getMetrics(n, B).middle; s.ctx.fillRect(r.bounds.left, Math.ceil(r.bounds.top + t), r.bounds.width, 1) } })) }), [2] }) }) }, Ds.prototype.renderReplacedElement = function (A, e, t) { if (t && 0 < A.intrinsicWidth && 0 < A.intrinsicHeight) { var r = hs(A), n = ws(e); this.path(n), this.ctx.save(), this.ctx.clip(), this.ctx.drawImage(t, 0, 0, A.intrinsicWidth, A.intrinsicHeight, r.left, r.top, r.width, r.height), this.ctx.restore() } }, Ds.prototype.renderNodeContent = function (l) { return a(this, void 0, void 0, function () { var e, t, r, n, B, s, o, i, a, c, Q, w, u, U; return S(this, function (A) { switch (A.label) { case 0: this.applyEffects(l.effects, 4), e = l.container, t = l.curves, r = e.styles, n = 0, B = e.textNodes, A.label = 1; case 1: return n < B.length ? (s = B[n], [4, this.renderTextNode(s, r)]) : [3, 4]; case 2: A.sent(), A.label = 3; case 3: return n++, [3, 1]; case 4: if (!(e instanceof Nn)) return [3, 8]; A.label = 5; case 5: return A.trys.push([5, 7, , 8]), [4, this.options.cache.match(e.src)]; case 6: return w = A.sent(), this.renderReplacedElement(e, t, w), [3, 8]; case 7: return A.sent(), De.getInstance(this.options.id).error("Error loading image " + e.src), [3, 8]; case 8: if (e instanceof Tn && this.renderReplacedElement(e, t, e.canvas), !(e instanceof Ln)) return [3, 12]; A.label = 9; case 9: return A.trys.push([9, 11, , 12]), [4, this.options.cache.match(e.svg)]; case 10: return w = A.sent(), this.renderReplacedElement(e, t, w), [3, 12]; case 11: return A.sent(), De.getInstance(this.options.id).error("Error loading svg " + e.svg.substring(0, 255)), [3, 12]; case 12: return e instanceof tB && e.tree ? [4, new Ds({ id: this.options.id, scale: this.options.scale, backgroundColor: e.backgroundColor, x: 0, y: 0, scrollX: 0, scrollY: 0, width: e.width, height: e.height, cache: this.options.cache, windowWidth: e.width, windowHeight: e.height }).render(e.tree)] : [3, 14]; case 13: o = A.sent(), e.width && e.height && this.ctx.drawImage(o, 0, 0, e.width, e.height, e.bounds.left, e.bounds.top, e.bounds.width, e.bounds.height), A.label = 14; case 14: if (e instanceof Gn && (i = Math.min(e.bounds.width, e.bounds.height), e.type === Vn ? e.checked && (this.ctx.save(), this.path([new ts(e.bounds.left + .39363 * i, e.bounds.top + .79 * i), new ts(e.bounds.left + .16 * i, e.bounds.top + .5549 * i), new ts(e.bounds.left + .27347 * i, e.bounds.top + .44071 * i), new ts(e.bounds.left + .39694 * i, e.bounds.top + .5649 * i), new ts(e.bounds.left + .72983 * i, e.bounds.top + .23 * i), new ts(e.bounds.left + .84 * i, e.bounds.top + .34085 * i), new ts(e.bounds.left + .39363 * i, e.bounds.top + .79 * i)]), this.ctx.fillStyle = te(Jn), this.ctx.fill(), this.ctx.restore()) : e.type === zn && e.checked && (this.ctx.save(), this.ctx.beginPath(), this.ctx.arc(e.bounds.left + i / 2, e.bounds.top + i / 2, i / 4, 0, 2 * Math.PI, !0), this.ctx.fillStyle = te(Jn), this.ctx.fill(), this.ctx.restore())), bs(e) && e.value.length) { switch (this.ctx.font = this.createFontStyle(r)[0], this.ctx.fillStyle = te(r.color), this.ctx.textBaseline = "middle", this.ctx.textAlign = Ms(e.styles.textAlign), U = hs(e), a = 0, e.styles.textAlign) { case Cr.CENTER: a += U.width / 2; break; case Cr.RIGHT: a += U.width }c = U.add(a, 0, 0, -U.height / 2 + 1), this.ctx.save(), this.path([new ts(U.left, U.top), new ts(U.left + U.width, U.top), new ts(U.left + U.width, U.top + U.height), new ts(U.left, U.top + U.height)]), this.ctx.clip(), this.renderTextWithLetterSpacing(new Cn(e.value, c), r.letterSpacing), this.ctx.restore(), this.ctx.textBaseline = "bottom", this.ctx.textAlign = "left" } if (!An(e.styles.display, 2048)) return [3, 20]; if (null === e.styles.listStyleImage) return [3, 19]; if ((Q = e.styles.listStyleImage).type !== xe.URL) return [3, 18]; w = void 0, u = Q.url, A.label = 15; case 15: return A.trys.push([15, 17, , 18]), [4, this.options.cache.match(u)]; case 16: return w = A.sent(), this.ctx.drawImage(w, e.bounds.left - (w.width + 10), e.bounds.top), [3, 18]; case 17: return A.sent(), De.getInstance(this.options.id).error("Error loading list-style-image " + u), [3, 18]; case 18: return [3, 20]; case 19: l.listValue && e.styles.listStyleType !== tr.NONE && (this.ctx.font = this.createFontStyle(r)[0], this.ctx.fillStyle = te(r.color), this.ctx.textBaseline = "middle", this.ctx.textAlign = "right", U = new I(e.bounds.left, e.bounds.top + ae(e.styles.paddingTop, e.bounds.width), e.bounds.width, function (A, e) { return zA(A) && "normal" === A.value ? 1.2 * e : A.type === sA.NUMBER_TOKEN ? e * A.number : qA(A) ? ae(A, e) : e }(r.lineHeight, r.fontSize.number) / 2 + 1), this.renderTextWithLetterSpacing(new Cn(l.listValue, U), r.letterSpacing), this.ctx.textBaseline = "bottom", this.ctx.textAlign = "left"), A.label = 20; case 20: return [2] } }) }) }, Ds.prototype.renderStackContent = function (C) { return a(this, void 0, void 0, function () { var e, t, r, n, B, s, o, i, a, c, Q, w, u, U, l; return S(this, function (A) { switch (A.label) { case 0: return [4, this.renderNodeBackgroundAndBorders(C.element)]; case 1: A.sent(), e = 0, t = C.negativeZIndex, A.label = 2; case 2: return e < t.length ? (l = t[e], [4, this.renderStack(l)]) : [3, 5]; case 3: A.sent(), A.label = 4; case 4: return e++, [3, 2]; case 5: return [4, this.renderNodeContent(C.element)]; case 6: A.sent(), r = 0, n = C.nonInlineLevel, A.label = 7; case 7: return r < n.length ? (l = n[r], [4, this.renderNode(l)]) : [3, 10]; case 8: A.sent(), A.label = 9; case 9: return r++, [3, 7]; case 10: B = 0, s = C.nonPositionedFloats, A.label = 11; case 11: return B < s.length ? (l = s[B], [4, this.renderStack(l)]) : [3, 14]; case 12: A.sent(), A.label = 13; case 13: return B++, [3, 11]; case 14: o = 0, i = C.nonPositionedInlineLevel, A.label = 15; case 15: return o < i.length ? (l = i[o], [4, this.renderStack(l)]) : [3, 18]; case 16: A.sent(), A.label = 17; case 17: return o++, [3, 15]; case 18: a = 0, c = C.inlineLevel, A.label = 19; case 19: return a < c.length ? (l = c[a], [4, this.renderNode(l)]) : [3, 22]; case 20: A.sent(), A.label = 21; case 21: return a++, [3, 19]; case 22: Q = 0, w = C.zeroOrAutoZIndexOrTransformedOrOpacity, A.label = 23; case 23: return Q < w.length ? (l = w[Q], [4, this.renderStack(l)]) : [3, 26]; case 24: A.sent(), A.label = 25; case 25: return Q++, [3, 23]; case 26: u = 0, U = C.positiveZIndex, A.label = 27; case 27: return u < U.length ? (l = U[u], [4, this.renderStack(l)]) : [3, 30]; case 28: A.sent(), A.label = 29; case 29: return u++, [3, 27]; case 30: return [2] } }) }) }, Ds.prototype.mask = function (A) { this.ctx.beginPath(), this.ctx.moveTo(0, 0), this.ctx.lineTo(this.canvas.width, 0), this.ctx.lineTo(this.canvas.width, this.canvas.height), this.ctx.lineTo(0, this.canvas.height), this.ctx.lineTo(0, 0), this.formatPath(A.slice(0).reverse()), this.ctx.closePath() }, Ds.prototype.path = function (A) { this.ctx.beginPath(), this.formatPath(A), this.ctx.closePath() }, Ds.prototype.formatPath = function (A) { var r = this; A.forEach(function (A, e) { var t = os(A) ? A.start : A; 0 === e ? r.ctx.moveTo(t.x, t.y) : r.ctx.lineTo(t.x, t.y), os(A) && r.ctx.bezierCurveTo(A.startControl.x, A.startControl.y, A.endControl.x, A.endControl.y, A.end.x, A.end.y) }) }, Ds.prototype.renderRepeat = function (A, e, t, r) { this.path(A), this.ctx.fillStyle = e, this.ctx.translate(t, r), this.ctx.fill(), this.ctx.translate(-t, -r) }, Ds.prototype.resizeImage = function (A, e, t) { if (A.width === e && A.height === t) return A; var r = this.canvas.ownerDocument.createElement("canvas"); return r.width = e, r.height = t, r.getContext("2d").drawImage(A, 0, 0, A.width, A.height, 0, 0, e, t), r }, Ds.prototype.renderBackgroundImage = function (b) { return a(this, void 0, void 0, function () { var O, e, D, t, r, n; return S(this, function (A) { switch (A.label) { case 0: O = b.styles.backgroundImage.length - 1, e = function (e) { var t, r, n, B, s, o, i, a, c, Q, w, u, U, l, C, g, E, F, h, H, d, f, p, N, K, I, T, m, R, L, v; return S(this, function (A) { switch (A.label) { case 0: if (e.type !== xe.URL) return [3, 5]; t = void 0, r = e.url, A.label = 1; case 1: return A.trys.push([1, 3, , 4]), [4, D.options.cache.match(r)]; case 2: return t = A.sent(), [3, 4]; case 3: return A.sent(), De.getInstance(D.options.id).error("Error loading background-image " + r), [3, 4]; case 4: return t && (n = Hs(b, O, [t.width, t.height, t.width / t.height]), g = n[0], f = n[1], p = n[2], h = n[3], H = n[4], l = D.ctx.createPattern(D.resizeImage(t, h, H), "repeat"), D.renderRepeat(g, l, f, p)), [3, 6]; case 5: !function (A) { return A.type === xe.LINEAR_GRADIENT }(e) ? function (A) { return A.type === xe.RADIAL_GRADIENT }(e) && (C = Hs(b, O, [null, null, null]), g = C[0], E = C[1], F = C[2], h = C[3], H = C[4], d = 0 === e.position.length ? [oe] : e.position, f = ae(d[0], h), p = ae(d[d.length - 1], H), N = function (A, e, t, r, n) { var B = 0, s = 0; switch (A.size) { case Bt.CLOSEST_SIDE: A.shape === rt.CIRCLE ? B = s = Math.min(Math.abs(e), Math.abs(e - r), Math.abs(t), Math.abs(t - n)) : A.shape === rt.ELLIPSE && (B = Math.min(Math.abs(e), Math.abs(e - r)), s = Math.min(Math.abs(t), Math.abs(t - n))); break; case Bt.CLOSEST_CORNER: if (A.shape === rt.CIRCLE) B = s = Math.min(Ne(e, t), Ne(e, t - n), Ne(e - r, t), Ne(e - r, t - n)); else if (A.shape === rt.ELLIPSE) { var o = Math.min(Math.abs(t), Math.abs(t - n)) / Math.min(Math.abs(e), Math.abs(e - r)), i = Ke(r, n, e, t, !0), a = i[0], c = i[1]; s = o * (B = Ne(a - e, (c - t) / o)) } break; case Bt.FARTHEST_SIDE: A.shape === rt.CIRCLE ? B = s = Math.max(Math.abs(e), Math.abs(e - r), Math.abs(t), Math.abs(t - n)) : A.shape === rt.ELLIPSE && (B = Math.max(Math.abs(e), Math.abs(e - r)), s = Math.max(Math.abs(t), Math.abs(t - n))); break; case Bt.FARTHEST_CORNER: if (A.shape === rt.CIRCLE) B = s = Math.max(Ne(e, t), Ne(e, t - n), Ne(e - r, t), Ne(e - r, t - n)); else if (A.shape === rt.ELLIPSE) { o = Math.max(Math.abs(t), Math.abs(t - n)) / Math.max(Math.abs(e), Math.abs(e - r)); var Q = Ke(r, n, e, t, !1); a = Q[0], c = Q[1], s = o * (B = Ne(a - e, (c - t) / o)) } }return Array.isArray(A.size) && (B = ae(A.size[0], r), s = 2 === A.size.length ? ae(A.size[1], n) : B), [B, s] }(e, f, p, h, H), K = N[0], I = N[1], 0 < K && 0 < K && (T = D.ctx.createRadialGradient(E + f, F + p, 0, E + f, F + p, K), fe(e.stops, 2 * K).forEach(function (A) { return T.addColorStop(A.stop, te(A.color)) }), D.path(g), D.ctx.fillStyle = T, K !== I ? (m = b.bounds.left + .5 * b.bounds.width, R = b.bounds.top + .5 * b.bounds.height, v = 1 / (L = I / K), D.ctx.save(), D.ctx.translate(m, R), D.ctx.transform(1, 0, 0, L, 0, 0), D.ctx.translate(-m, -R), D.ctx.fillRect(E, v * (F - R) + R, h, H * v), D.ctx.restore()) : D.ctx.fill())) : (B = Hs(b, O, [null, null, null]), g = B[0], f = B[1], p = B[2], h = B[3], H = B[4], s = pe(e.angle, h, H), o = s[0], i = s[1], a = s[2], c = s[3], Q = s[4], (w = document.createElement("canvas")).width = h, w.height = H, u = w.getContext("2d"), U = u.createLinearGradient(i, c, a, Q), fe(e.stops, o).forEach(function (A) { return U.addColorStop(A.stop, te(A.color)) }), u.fillStyle = U, u.fillRect(0, 0, h, H), 0 < h && 0 < H && (l = D.ctx.createPattern(w, "repeat"), D.renderRepeat(g, l, f, p))), A.label = 6; case 6: return O--, [2] } }) }, D = this, t = 0, r = b.styles.backgroundImage.slice(0).reverse(), A.label = 1; case 1: return t < r.length ? (n = r[t], [5, e(n)]) : [3, 4]; case 2: A.sent(), A.label = 3; case 3: return t++, [3, 1]; case 4: return [2] } }) }) }, Ds.prototype.renderBorder = function (e, t, r) { return a(this, void 0, void 0, function () { return S(this, function (A) { return this.path(function (A, e) { switch (e) { case 0: return Ks(A.topLeftBorderBox, A.topLeftPaddingBox, A.topRightBorderBox, A.topRightPaddingBox); case 1: return Ks(A.topRightBorderBox, A.topRightPaddingBox, A.bottomRightBorderBox, A.bottomRightPaddingBox); case 2: return Ks(A.bottomRightBorderBox, A.bottomRightPaddingBox, A.bottomLeftBorderBox, A.bottomLeftPaddingBox); case 3: default: return Ks(A.bottomLeftBorderBox, A.bottomLeftPaddingBox, A.topLeftBorderBox, A.topLeftPaddingBox) } }(r, t)), this.ctx.fillStyle = te(e), this.ctx.fill(), [2] }) }) }, Ds.prototype.renderNodeBackgroundAndBorders = function (c) { return a(this, void 0, void 0, function () { var e, t, r, n, B, s, o, i, a = this; return S(this, function (A) { switch (A.label) { case 0: return this.applyEffects(c.effects, 2), e = c.container.styles, t = !ee(e.backgroundColor) || e.backgroundImage.length, r = [{ style: e.borderTopStyle, color: e.borderTopColor }, { style: e.borderRightStyle, color: e.borderRightColor }, { style: e.borderBottomStyle, color: e.borderBottomColor }, { style: e.borderLeftStyle, color: e.borderLeftColor }], n = Ss(Ts(e.backgroundClip, 0), c.curves), t || e.boxShadow.length ? (this.ctx.save(), this.path(n), this.ctx.clip(), ee(e.backgroundColor) || (this.ctx.fillStyle = te(e.backgroundColor), this.ctx.fill()), [4, this.renderBackgroundImage(c.container)]) : [3, 2]; case 1: A.sent(), this.ctx.restore(), e.boxShadow.slice(0).reverse().forEach(function (A) { a.ctx.save(); var e = Qs(c.curves), t = A.inset ? 0 : 1e4, r = function (A, t, r, n, B) { return A.map(function (A, e) { switch (e) { case 0: return A.add(t, r); case 1: return A.add(t + n, r); case 2: return A.add(t + n, r + B); case 3: return A.add(t, r + B) }return A }) }(e, -t + (A.inset ? 1 : -1) * A.spread.number, (A.inset ? 1 : -1) * A.spread.number, A.spread.number * (A.inset ? -2 : 2), A.spread.number * (A.inset ? -2 : 2)); A.inset ? (a.path(e), a.ctx.clip(), a.mask(r)) : (a.mask(e), a.ctx.clip(), a.path(r)), a.ctx.shadowOffsetX = A.offsetX.number + t, a.ctx.shadowOffsetY = A.offsetY.number, a.ctx.shadowColor = te(A.color), a.ctx.shadowBlur = A.blur.number, a.ctx.fillStyle = A.inset ? te(A.color) : "rgba(0,0,0,1)", a.ctx.fill(), a.ctx.restore() }), A.label = 2; case 2: s = B = 0, o = r, A.label = 3; case 3: return s < o.length ? (i = o[s]).style === ht.NONE || ee(i.color) ? [3, 5] : [4, this.renderBorder(i.color, B, c.curves)] : [3, 7]; case 4: A.sent(), A.label = 5; case 5: B++, A.label = 6; case 6: return s++, [3, 3]; case 7: return [2] } }) }) }, Ds.prototype.render = function (t) { return a(this, void 0, void 0, function () { var e; return S(this, function (A) { switch (A.label) { case 0: return this.options.backgroundColor && (this.ctx.fillStyle = te(this.options.backgroundColor), this.ctx.fillRect(this.options.x - this.options.scrollX, this.options.y - this.options.scrollY, this.options.width, this.options.height)), e = function (A) { var e = new gs(A, []), t = new Cs(e), r = []; return ps(e, t, t, r), Ns(e.container, r), t }(t), [4, this.renderStack(e)]; case 1: return A.sent(), this.applyEffects([], 2), [2, this.canvas] } }) }) }, Ds); function Ds(A) { this._activeEffects = [], this.canvas = A.canvas ? A.canvas : document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), (this.options = A).canvas || (this.canvas.width = Math.floor(A.width * A.scale), this.canvas.height = Math.floor(A.height * A.scale), this.canvas.style.width = A.width + "px", this.canvas.style.height = A.height + "px"), this.fontMetrics = new Ls(document), this.ctx.scale(this.options.scale, this.options.scale), this.ctx.translate(-A.x + A.scrollX, -A.y + A.scrollY), this.ctx.textBaseline = "bottom", this._activeEffects = [], De.getInstance(A.id).debug("Canvas renderer initialized (" + A.width + "x" + A.height + " at " + A.x + "," + A.y + ") with scale " + A.scale) } var bs = function (A) { return A instanceof jn || (A instanceof Yn || A instanceof Gn && A.type !== zn && A.type !== Vn) }, Ss = function (A, e) { switch (A) { case Ee.BORDER_BOX: return Qs(e); case Ee.CONTENT_BOX: return function (A) { return [A.topLeftContentBox, A.topRightContentBox, A.bottomRightContentBox, A.bottomLeftContentBox] }(e); case Ee.PADDING_BOX: default: return ws(e) } }, Ms = function (A) { switch (A) { case Cr.CENTER: return "center"; case Cr.RIGHT: return "right"; case Cr.LEFT: default: return "left" } }, ys = (_s.prototype.render = function (r) { return a(this, void 0, void 0, function () { var e, t; return S(this, function (A) { switch (A.label) { case 0: return e = Le(Math.max(this.options.windowWidth, this.options.width) * this.options.scale, Math.max(this.options.windowHeight, this.options.height) * this.options.scale, this.options.scrollX * this.options.scale, this.options.scrollY * this.options.scale, r), [4, xs(e)]; case 1: return t = A.sent(), this.options.backgroundColor && (this.ctx.fillStyle = te(this.options.backgroundColor), this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale)), this.ctx.drawImage(t, -this.options.x * this.options.scale, -this.options.y * this.options.scale), [2, this.canvas] } }) }) }, _s); function _s(A) { this.canvas = A.canvas ? A.canvas : document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.options = A, this.canvas.width = Math.floor(A.width * A.scale), this.canvas.height = Math.floor(A.height * A.scale), this.canvas.style.width = A.width + "px", this.canvas.style.height = A.height + "px", this.ctx.scale(this.options.scale, this.options.scale), this.ctx.translate(-A.x + A.scrollX, -A.y + A.scrollY), De.getInstance(A.id).debug("EXPERIMENTAL ForeignObject renderer initialized (" + A.width + "x" + A.height + " at " + A.x + "," + A.y + ") with scale " + A.scale) } function Ps(A) { return we(_A.create(A).parseComponentValue()) } var xs = function (r) { return new Promise(function (A, e) { var t = new Image; t.onload = function () { A(t) }, t.onerror = e, t.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent((new XMLSerializer).serializeToString(r)) }) }; Se.setContext(window); var Vs = function (p, N) { return a(void 0, void 0, void 0, function () { var e, t, r, n, B, s, o, i, a, c, Q, w, u, U, l, C, g, E, F, h, H, d, f; return S(this, function (A) { switch (A.label) { case 0: if (!(e = p.ownerDocument)) throw new Error("Element is not attached to a Document"); if (!(t = e.defaultView)) throw new Error("Document is not attached to a Window"); return r = (Math.round(1e3 * Math.random()) + Date.now()).toString(16), n = EB(p) || function (A) { return "HTML" === A.tagName }(p) ? function (A) { var e = A.body, t = A.documentElement; if (!e || !t) throw new Error("Unable to get document size"); var r = Math.max(Math.max(e.scrollWidth, t.scrollWidth), Math.max(e.offsetWidth, t.offsetWidth), Math.max(e.clientWidth, t.clientWidth)), n = Math.max(Math.max(e.scrollHeight, t.scrollHeight), Math.max(e.offsetHeight, t.offsetHeight), Math.max(e.clientHeight, t.clientHeight)); return new I(0, 0, r, n) }(e) : T(p), B = n.width, s = n.height, o = n.left, i = n.top, a = K({}, { allowTaint: !1, imageTimeout: 15e3, proxy: void 0, useCORS: !1 }, N), c = { backgroundColor: "#ffffff", cache: N.cache ? N.cache : Se.create(r, a), logging: !0, removeContainer: !0, foreignObjectRendering: !1, scale: t.devicePixelRatio || 1, windowWidth: t.innerWidth, windowHeight: t.innerHeight, scrollX: t.pageXOffset, scrollY: t.pageYOffset, x: o, y: i, width: Math.ceil(B), height: Math.ceil(s), id: r }, Q = K({}, c, a, N), w = new I(Q.scrollX, Q.scrollY, Q.windowWidth, Q.windowHeight), De.create({ id: r, enabled: Q.logging }), De.getInstance(r).debug("Starting document clone"), u = new PB(p, { id: r, onclone: Q.onclone, ignoreElements: Q.ignoreElements, inlineImages: Q.foreignObjectRendering, copyStyles: Q.foreignObjectRendering }), (U = u.clonedReferenceElement) ? [4, u.toIFrame(e, w)] : [2, Promise.reject("Unable to find element in cloned iframe")]; case 1: return l = A.sent(), C = e.documentElement ? Ps(getComputedStyle(e.documentElement).backgroundColor) : He.TRANSPARENT, g = e.body ? Ps(getComputedStyle(e.body).backgroundColor) : He.TRANSPARENT, E = N.backgroundColor, F = "string" == typeof E ? Ps(E) : null === E ? He.TRANSPARENT : 4294967295, h = p === e.documentElement ? ee(C) ? ee(g) ? F : g : C : F, H = { id: r, cache: Q.cache, canvas: Q.canvas, backgroundColor: h, scale: Q.scale, x: Q.x, y: Q.y, scrollX: Q.scrollX, scrollY: Q.scrollY, width: Q.width, height: Q.height, windowWidth: Q.windowWidth, windowHeight: Q.windowHeight }, Q.foreignObjectRendering ? (De.getInstance(r).debug("Document cloned, using foreign object rendering"), [4, new ys(H).render(U)]) : [3, 3]; case 2: return d = A.sent(), [3, 5]; case 3: return De.getInstance(r).debug("Document cloned, using computed rendering"), Se.attachInstance(Q.cache), De.getInstance(r).debug("Starting DOM parsing"), f = iB(U), Se.detachInstance(), h === f.styles.backgroundColor && (f.styles.backgroundColor = He.TRANSPARENT), De.getInstance(r).debug("Starting renderer"), [4, new Os(H).render(f)]; case 4: d = A.sent(), A.label = 5; case 5: return !0 === Q.removeContainer && (PB.destroy(l) || De.getInstance(r).error("Cannot detach cloned iframe as it is not in the DOM anymore")), De.getInstance(r).debug("Finished rendering"), De.destroy(r), Se.destroy(r), [2, d] } }) }) }; return function (A, e) { return void 0 === e && (e = {}), Vs(A, e) }
});