diff --git a/pages.config.ts b/pages.config.ts
index 6edb05a..1993a98 100644
--- a/pages.config.ts
+++ b/pages.config.ts
@@ -65,7 +65,7 @@ export default defineUniPages({
preloadRule: {
'pages/home/index/index': {
network: 'all',
- packages: ['__APP__'],
+ packages: ['pages-evaluation-sub'],
},
},
condition: {
@@ -80,7 +80,7 @@ export default defineUniPages({
},
permission: {
'scope.userLocation': {
- desc: '你的位置信息将用于小程序位置接口的效果展示', // 高速公路行驶持续后台定位
+ desc: '你的位置信息将用于小程序位置接口的效果展示',
},
},
})
diff --git a/src/components/bar/CustomTabBar.vue b/src/components/bar/CustomTabBar.vue
new file mode 100644
index 0000000..59a1470
--- /dev/null
+++ b/src/components/bar/CustomTabBar.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
+
+
diff --git a/src/components/bar/TabBar.vue b/src/components/bar/TabBar.vue
index 22fcd2a..9b2a037 100644
--- a/src/components/bar/TabBar.vue
+++ b/src/components/bar/TabBar.vue
@@ -1,33 +1,9 @@
-
-
-
-
-
-
- {{ item.text }}
-
-
-
+
-
diff --git a/src/components/fab/FabButton.vue b/src/components/fab/FabButton.vue
index b94f71c..671e7bd 100644
--- a/src/components/fab/FabButton.vue
+++ b/src/components/fab/FabButton.vue
@@ -24,7 +24,8 @@ const props = defineProps({
},
})
-const systemInfo = uni.getSystemInfoSync()
+const systemInfo = uni.getWindowInfo()
+
const position = ref({ x: props.initialX, y: props.initialY })
const startPosition = ref({ x: 0, y: 0 })
const startTime = ref(0)
diff --git a/src/components/navbar/Navbar.vue b/src/components/navbar/Navbar.vue
index b1557e8..adb94e2 100644
--- a/src/components/navbar/Navbar.vue
+++ b/src/components/navbar/Navbar.vue
@@ -91,13 +91,16 @@ const props = defineProps({
const emit = defineEmits(['clickLeft'])
// 获取系统信息
-const systemInfo = uni.getSystemInfoSync()
+const systemInfo = uni.getWindowInfo()
+const deviceInfo = uni.getDeviceInfo()
+
const statusBarHeight = systemInfo.statusBarHeight || 0
// 动态计算导航栏高度
const navHeight = computed(() => {
// 获取屏幕信息
- const { platform, screenWidth } = systemInfo
+ const { screenWidth } = systemInfo
+ const { platform } = deviceInfo
// 将px转换为rpx的比例
const ratio = 750 / screenWidth
diff --git a/src/hooks/useNavbarWeixin.ts b/src/hooks/useNavbarWeixin.ts
index f8ecb3a..8c6a845 100644
--- a/src/hooks/useNavbarWeixin.ts
+++ b/src/hooks/useNavbarWeixin.ts
@@ -9,7 +9,7 @@ export default () => {
// 页面滚动到底部时的操作,通常用于加载更多数据
const onScrollToLower = () => {}
// 获取屏幕边界到安全区域距离
- const { safeAreaInsets } = uni.getSystemInfoSync()
+ const { safeAreaInsets } = uni.getWindowInfo()
// #ifdef MP-WEIXIN
// 基于小程序的 Page 类型扩展 uni-app 的 Page
diff --git a/src/hooks/useTabbarList.ts b/src/hooks/useTabbarList.ts
index 824ce7f..9f1fbca 100644
--- a/src/hooks/useTabbarList.ts
+++ b/src/hooks/useTabbarList.ts
@@ -2,7 +2,6 @@ import { TabesItem } from '@/service/app'
import { sysDictType } from '@/service/index/api'
const tabbarList = ref([])
-const app = getApp()
sysDictType({ id: 619330547859525 }).then((res) => {
const { code, result } = res
diff --git a/src/login-sub/components/LoginMask.vue b/src/login-sub/components/LoginMask.vue
index 8e2b429..e96d343 100644
--- a/src/login-sub/components/LoginMask.vue
+++ b/src/login-sub/components/LoginMask.vue
@@ -50,10 +50,10 @@ import {
getWxUserInfo,
setWxInfo,
} from '@/service/index/api'
-import { useUserStore } from '@/store'
+import { useUserStore } from '@/store/user'
import { City } from '@/types/app-type'
-const props = defineProps({
+defineProps({
show: {
type: Boolean,
default: false,
@@ -129,11 +129,15 @@ const getUserInfo = async (code: string) => {
zyBatches: any[]
batchDataUrl: string
batchName: string
+ avatar: string
+ nickName: string
}
userStore.setEstimatedAchievement(infoData.userExtend)
userStore.setZyBatches(infoData.zyBatches)
userStore.setBatchDataUrl(infoData.batchDataUrl)
userStore.setBatchName(infoData.batchName)
+ userStore.setUserAvatar(infoData.avatar)
+ userStore.setUserNickName(infoData.nickName)
if (resp.code === 200) {
// 根据用户信息中的城市设置对应城市的分数等信息
diff --git a/src/login-sub/components/navbar/Navbar.vue b/src/login-sub/components/navbar/Navbar.vue
index b1557e8..a173f63 100644
--- a/src/login-sub/components/navbar/Navbar.vue
+++ b/src/login-sub/components/navbar/Navbar.vue
@@ -91,13 +91,15 @@ const props = defineProps({
const emit = defineEmits(['clickLeft'])
// 获取系统信息
-const systemInfo = uni.getSystemInfoSync()
+const systemInfo = uni.getWindowInfo()
+const deviceInfo = uni.getDeviceInfo()
const statusBarHeight = systemInfo.statusBarHeight || 0
// 动态计算导航栏高度
const navHeight = computed(() => {
// 获取屏幕信息
- const { platform, screenWidth } = systemInfo
+ const { screenWidth } = systemInfo
+ const { platform } = deviceInfo
// 将px转换为rpx的比例
const ratio = 750 / screenWidth
diff --git a/src/pages-evaluation-sub/components/navbar/Navbar.vue b/src/pages-evaluation-sub/components/navbar/Navbar.vue
index b1557e8..a173f63 100644
--- a/src/pages-evaluation-sub/components/navbar/Navbar.vue
+++ b/src/pages-evaluation-sub/components/navbar/Navbar.vue
@@ -91,13 +91,15 @@ const props = defineProps({
const emit = defineEmits(['clickLeft'])
// 获取系统信息
-const systemInfo = uni.getSystemInfoSync()
+const systemInfo = uni.getWindowInfo()
+const deviceInfo = uni.getDeviceInfo()
const statusBarHeight = systemInfo.statusBarHeight || 0
// 动态计算导航栏高度
const navHeight = computed(() => {
// 获取屏幕信息
- const { platform, screenWidth } = systemInfo
+ const { screenWidth } = systemInfo
+ const { platform } = deviceInfo
// 将px转换为rpx的比例
const ratio = 750 / screenWidth
diff --git a/src/pages-sub/components/canvas/html2canvas.js b/src/pages-sub/components/canvas/html2canvas.js
new file mode 100644
index 0000000..82f7f99
--- /dev/null
+++ b/src/pages-sub/components/canvas/html2canvas.js
@@ -0,0 +1,6890 @@
+var extendStatics = function (A, e) {
+ return (extendStatics =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (A, e) {
+ A.__proto__ = e
+ }) ||
+ function (A, e) {
+ for (var t in e) Object.prototype.hasOwnProperty.call(e, t) && (A[t] = e[t])
+ })(A, e)
+}
+function __extends(A, e) {
+ if ('function' != typeof e && null !== e)
+ throw new TypeError('Class extends value ' + String(e) + ' is not a constructor or null')
+ function t() {
+ this.constructor = A
+ }
+ extendStatics(A, e),
+ (A.prototype = null === e ? Object.create(e) : ((t.prototype = e.prototype), new t()))
+}
+var __assign = function () {
+ return (__assign =
+ 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 __awaiter(A, o, s, i) {
+ return new (s = s || Promise)(function (t, e) {
+ function r(A) {
+ try {
+ B(i.next(A))
+ } catch (A) {
+ e(A)
+ }
+ }
+ function n(A) {
+ try {
+ B(i.throw(A))
+ } catch (A) {
+ e(A)
+ }
+ }
+ function B(A) {
+ var e
+ A.done
+ ? t(A.value)
+ : ((e = A.value) instanceof s
+ ? e
+ : new s(function (A) {
+ A(e)
+ })
+ ).then(r, n)
+ }
+ B((i = i.apply(A, o || [])).next())
+ })
+}
+function __generator(t, r) {
+ var n,
+ B,
+ o,
+ s = {
+ label: 0,
+ sent: function () {
+ if (1 & o[0]) throw o[1]
+ return o[1]
+ },
+ trys: [],
+ ops: [],
+ },
+ A = { next: e(0), throw: e(1), return: e(2) }
+ return (
+ '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 (; s; )
+ try {
+ if (
+ ((n = 1),
+ B &&
+ (o =
+ 2 & e[0]
+ ? B.return
+ : e[0]
+ ? B.throw || ((o = B.return) && o.call(B), 0)
+ : B.next) &&
+ !(o = o.call(B, e[1])).done)
+ )
+ return o
+ switch (((B = 0), (e = o ? [2 & e[0], o.value] : e)[0])) {
+ case 0:
+ case 1:
+ o = e
+ break
+ case 4:
+ return s.label++, { value: e[1], done: !1 }
+ case 5:
+ s.label++, (B = e[1]), (e = [0])
+ continue
+ case 7:
+ ;(e = s.ops.pop()), s.trys.pop()
+ continue
+ default:
+ if (
+ !(o = 0 < (o = s.trys).length && o[o.length - 1]) &&
+ (6 === e[0] || 2 === e[0])
+ ) {
+ s = 0
+ continue
+ }
+ if (3 === e[0] && (!o || (e[1] > o[0] && e[1] < o[3]))) {
+ s.label = e[1]
+ break
+ }
+ if (6 === e[0] && s.label < o[1]) {
+ ;(s.label = o[1]), (o = e)
+ break
+ }
+ if (o && s.label < o[2]) {
+ ;(s.label = o[2]), s.ops.push(e)
+ break
+ }
+ o[2] && s.ops.pop(), s.trys.pop()
+ continue
+ }
+ e = r.call(t, s)
+ } catch (A) {
+ ;(e = [6, A]), (B = 0)
+ } finally {
+ n = o = 0
+ }
+ if (5 & e[0]) throw e[1]
+ return { value: e[0] ? e[1] : void 0, done: !0 }
+ })([e, A])
+ }
+ }
+}
+function __spreadArray(A, e, t) {
+ if (t || 2 === arguments.length)
+ for (var r, n = 0, B = e.length; n < B; n++)
+ (!r && n in e) || ((r = r || Array.prototype.slice.call(e, 0, n))[n] = e[n])
+ return A.concat(r || e)
+}
+for (
+ var Bounds = (function () {
+ function n(A, e, t, r) {
+ ;(this.left = A), (this.top = e), (this.width = t), (this.height = r)
+ }
+ return (
+ (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, e) {
+ return new n(e.left + A.windowBounds.left, e.top + A.windowBounds.top, e.width, e.height)
+ }),
+ (n.fromDOMRectList = function (A, e) {
+ e = Array.from(e).find(function (A) {
+ return 0 !== A.width
+ })
+ return e
+ ? new n(e.left + A.windowBounds.left, e.top + A.windowBounds.top, e.width, e.height)
+ : n.EMPTY
+ }),
+ (n.EMPTY = new n(0, 0, 0, 0)),
+ n
+ )
+ })(),
+ parseBounds = function (A, e) {
+ return Bounds.fromClientRect(A, e.getBoundingClientRect())
+ },
+ parseDocumentSize = function (A) {
+ var e = A.body,
+ t = A.documentElement
+ if (!e || !t) throw new Error('Unable to get document size')
+ ;(A = Math.max(
+ Math.max(e.scrollWidth, t.scrollWidth),
+ Math.max(e.offsetWidth, t.offsetWidth),
+ Math.max(e.clientWidth, t.clientWidth),
+ )),
+ (t = Math.max(
+ Math.max(e.scrollHeight, t.scrollHeight),
+ Math.max(e.offsetHeight, t.offsetHeight),
+ Math.max(e.clientHeight, t.clientHeight),
+ ))
+ return new Bounds(0, 0, A, t)
+ },
+ toCodePoints$1 = function (A) {
+ for (var e = [], t = 0, r = A.length; t < r; ) {
+ var n,
+ B = A.charCodeAt(t++)
+ 55296 <= B && B <= 56319 && t < r
+ ? 56320 == (64512 & (n = A.charCodeAt(t++)))
+ ? e.push(((1023 & B) << 10) + (1023 & n) + 65536)
+ : (e.push(B), t--)
+ : e.push(B)
+ }
+ return e
+ },
+ fromCodePoint$1 = 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 o = A[n]
+ o <= 65535 ? r.push(o) : ((o -= 65536), r.push(55296 + (o >> 10), (o % 1024) + 56320)),
+ (n + 1 === t || 16384 < r.length) &&
+ ((B += String.fromCharCode.apply(String, r)), (r.length = 0))
+ }
+ return B
+ },
+ chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+ lookup$2 = 'undefined' == typeof Uint8Array ? [] : new Uint8Array(256),
+ i$2 = 0;
+ i$2 < chars$2.length;
+ i$2++
+)
+ lookup$2[chars$2.charCodeAt(i$2)] = i$2
+for (
+ var chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+ lookup$1$1 = 'undefined' == typeof Uint8Array ? [] : new Uint8Array(256),
+ i$1$1 = 0;
+ i$1$1 < chars$1$1.length;
+ i$1$1++
+)
+ lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1
+for (
+ var decode$1 = function (A) {
+ var e,
+ t,
+ r,
+ n,
+ B = 0.75 * A.length,
+ o = A.length,
+ s = 0
+ '=' === A[A.length - 1] && (B--, '=' === A[A.length - 2] && B--)
+ for (
+ var B = new (
+ 'undefined' != typeof ArrayBuffer &&
+ 'undefined' != typeof Uint8Array &&
+ void 0 !== Uint8Array.prototype.slice
+ ? ArrayBuffer
+ : Array
+ )(B),
+ i = Array.isArray(B) ? B : new Uint8Array(B),
+ a = 0;
+ a < o;
+ a += 4
+ )
+ (e = lookup$1$1[A.charCodeAt(a)]),
+ (t = lookup$1$1[A.charCodeAt(a + 1)]),
+ (r = lookup$1$1[A.charCodeAt(a + 2)]),
+ (n = lookup$1$1[A.charCodeAt(a + 3)]),
+ (i[s++] = (e << 2) | (t >> 4)),
+ (i[s++] = ((15 & t) << 4) | (r >> 2)),
+ (i[s++] = ((3 & r) << 6) | (63 & n))
+ return B
+ },
+ polyUint16Array$1 = function (A) {
+ for (var e = A.length, t = [], r = 0; r < e; r += 2) t.push((A[r + 1] << 8) | A[r])
+ return t
+ },
+ polyUint32Array$1 = 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
+ },
+ UTRIE2_SHIFT_2$1 = 5,
+ UTRIE2_SHIFT_1$1 = 11,
+ UTRIE2_INDEX_SHIFT$1 = 2,
+ UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1,
+ UTRIE2_LSCP_INDEX_2_OFFSET$1 = 65536 >> UTRIE2_SHIFT_2$1,
+ UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1,
+ UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1,
+ UTRIE2_LSCP_INDEX_2_LENGTH$1 = 1024 >> UTRIE2_SHIFT_2$1,
+ UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1,
+ UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1,
+ UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 32,
+ UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1,
+ UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 65536 >> UTRIE2_SHIFT_1$1,
+ UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1,
+ UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1,
+ slice16$1 = function (A, e, t) {
+ return A.slice ? A.slice(e, t) : new Uint16Array(Array.prototype.slice.call(A, e, t))
+ },
+ slice32$1 = function (A, e, t) {
+ return A.slice ? A.slice(e, t) : new Uint32Array(Array.prototype.slice.call(A, e, t))
+ },
+ createTrieFromBase64$1 = function (A, e) {
+ var t = decode$1(A),
+ r = Array.isArray(t) ? polyUint32Array$1(t) : new Uint32Array(t),
+ A = Array.isArray(t) ? polyUint16Array$1(t) : new Uint16Array(t),
+ t = slice16$1(A, 12, r[4] / 2),
+ A = 2 === r[5] ? slice16$1(A, (24 + r[4]) / 2) : slice32$1(r, Math.ceil((24 + r[4]) / 4))
+ return new Trie$1(r[0], r[1], r[2], r[3], t, A)
+ },
+ Trie$1 = (function () {
+ function A(A, e, t, r, n, B) {
+ ;(this.initialValue = A),
+ (this.errorValue = e),
+ (this.highStart = t),
+ (this.highValueIndex = r),
+ (this.index = n),
+ (this.data = B)
+ }
+ return (
+ (A.prototype.get = function (A) {
+ var e
+ if (0 <= A) {
+ if (A < 55296 || (56319 < A && A <= 65535))
+ return (
+ (e = this.index[A >> UTRIE2_SHIFT_2$1]),
+ this.data[(e = (e << UTRIE2_INDEX_SHIFT$1) + (A & UTRIE2_DATA_MASK$1))]
+ )
+ if (A <= 65535)
+ return (
+ (e = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((A - 55296) >> UTRIE2_SHIFT_2$1)]),
+ this.data[(e = (e << UTRIE2_INDEX_SHIFT$1) + (A & UTRIE2_DATA_MASK$1))]
+ )
+ if (A < this.highStart)
+ return (
+ (e =
+ this.index[
+ (e =
+ UTRIE2_INDEX_1_OFFSET$1 -
+ UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 +
+ (A >> UTRIE2_SHIFT_1$1))
+ ]),
+ (e = this.index[(e += (A >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1)]),
+ this.data[(e = (e << UTRIE2_INDEX_SHIFT$1) + (A & UTRIE2_DATA_MASK$1))]
+ )
+ if (A <= 1114111) return this.data[this.highValueIndex]
+ }
+ return this.errorValue
+ }),
+ A
+ )
+ })(),
+ chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+ lookup$3 = 'undefined' == typeof Uint8Array ? [] : new Uint8Array(256),
+ i$3 = 0;
+ i$3 < chars$3.length;
+ i$3++
+)
+ lookup$3[chars$3.charCodeAt(i$3)] = i$3
+var base64$1 =
+ 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==',
+ LETTER_NUMBER_MODIFIER = 50,
+ BK = 1,
+ CR$1 = 2,
+ LF$1 = 3,
+ CM = 4,
+ NL = 5,
+ WJ = 7,
+ ZW = 8,
+ GL = 9,
+ SP = 10,
+ ZWJ$1 = 11,
+ B2 = 12,
+ BA = 13,
+ BB = 14,
+ HY = 15,
+ CB = 16,
+ CL = 17,
+ CP = 18,
+ EX = 19,
+ IN = 20,
+ NS = 21,
+ OP = 22,
+ QU = 23,
+ IS = 24,
+ NU = 25,
+ PO = 26,
+ PR = 27,
+ SY = 28,
+ AI = 29,
+ AL = 30,
+ CJ = 31,
+ EB = 32,
+ EM = 33,
+ H2 = 34,
+ H3 = 35,
+ HL = 36,
+ ID = 37,
+ JL = 38,
+ JV = 39,
+ JT = 40,
+ RI$1 = 41,
+ SA = 42,
+ XX = 43,
+ ea_OP = [9001, 65288],
+ BREAK_MANDATORY = '!',
+ BREAK_NOT_ALLOWED$1 = '×',
+ BREAK_ALLOWED$1 = '÷',
+ UnicodeTrie$1 = createTrieFromBase64$1(base64$1),
+ ALPHABETICS = [AL, HL],
+ HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL],
+ SPACE$1 = [SP, ZW],
+ PREFIX_POSTFIX = [PR, PO],
+ LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1),
+ KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3],
+ HYPHEN = [HY, BA],
+ codePointsToCharacterClasses = function (A, r) {
+ void 0 === r && (r = 'strict')
+ var n = [],
+ B = [],
+ o = []
+ return (
+ A.forEach(function (A, e) {
+ var t = UnicodeTrie$1.get(A)
+ if (
+ (LETTER_NUMBER_MODIFIER < t ? (o.push(!0), (t -= LETTER_NUMBER_MODIFIER)) : o.push(!1),
+ -1 !== ['normal', 'auto', 'loose'].indexOf(r) &&
+ -1 !== [8208, 8211, 12316, 12448].indexOf(A))
+ )
+ return B.push(e), n.push(CB)
+ if (t !== CM && t !== ZWJ$1)
+ return (
+ B.push(e),
+ t === CJ
+ ? n.push('strict' === r ? NS : ID)
+ : t === SA || t === AI
+ ? n.push(AL)
+ : t === XX
+ ? (131072 <= A && A <= 196605) || (196608 <= A && A <= 262141)
+ ? n.push(ID)
+ : n.push(AL)
+ : void n.push(t)
+ )
+ if (0 === e) return B.push(e), n.push(AL)
+ t = n[e - 1]
+ return -1 === LINE_BREAKS.indexOf(t)
+ ? (B.push(B[e - 1]), n.push(t))
+ : (B.push(e), n.push(AL))
+ }),
+ [B, n, o]
+ )
+ },
+ isAdjacentWithSpaceIgnored = function (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 ((s = r[++B]) === e) return !0
+ if (s !== SP) break
+ }
+ if (n === SP)
+ for (B = t; 0 < B; ) {
+ var o = r[--B]
+ if (Array.isArray(A) ? -1 !== A.indexOf(o) : A === o)
+ for (var s, i = t; i <= r.length; ) {
+ if ((s = r[++i]) === e) return !0
+ if (s !== SP) break
+ }
+ if (o !== SP) break
+ }
+ return !1
+ },
+ previousNonSpaceClassType = function (A, e) {
+ for (var t = A; 0 <= t; ) {
+ var r = e[t]
+ if (r !== SP) return r
+ t--
+ }
+ return 0
+ },
+ _lineBreakAtIndex = function (A, e, t, r, n) {
+ if (0 === t[r]) return BREAK_NOT_ALLOWED$1
+ var B = r - 1
+ if (Array.isArray(n) && !0 === n[B]) return BREAK_NOT_ALLOWED$1
+ var o = B - 1,
+ s = 1 + B,
+ i = e[B],
+ r = 0 <= o ? e[o] : 0,
+ n = e[s]
+ if (i === CR$1 && n === LF$1) return BREAK_NOT_ALLOWED$1
+ if (-1 !== HARD_LINE_BREAKS.indexOf(i)) return BREAK_MANDATORY
+ if (-1 !== HARD_LINE_BREAKS.indexOf(n)) return BREAK_NOT_ALLOWED$1
+ if (-1 !== SPACE$1.indexOf(n)) return BREAK_NOT_ALLOWED$1
+ if (previousNonSpaceClassType(B, e) === ZW) return BREAK_ALLOWED$1
+ if (UnicodeTrie$1.get(A[B]) === ZWJ$1) return BREAK_NOT_ALLOWED$1
+ if ((i === EB || i === EM) && UnicodeTrie$1.get(A[s]) === ZWJ$1) return BREAK_NOT_ALLOWED$1
+ if (i === WJ || n === WJ) return BREAK_NOT_ALLOWED$1
+ if (i === GL) return BREAK_NOT_ALLOWED$1
+ if (-1 === [SP, BA, HY].indexOf(i) && n === GL) return BREAK_NOT_ALLOWED$1
+ if (-1 !== [CL, CP, EX, IS, SY].indexOf(n)) return BREAK_NOT_ALLOWED$1
+ if (previousNonSpaceClassType(B, e) === OP) return BREAK_NOT_ALLOWED$1
+ if (isAdjacentWithSpaceIgnored(QU, OP, B, e)) return BREAK_NOT_ALLOWED$1
+ if (isAdjacentWithSpaceIgnored([CL, CP], NS, B, e)) return BREAK_NOT_ALLOWED$1
+ if (isAdjacentWithSpaceIgnored(B2, B2, B, e)) return BREAK_NOT_ALLOWED$1
+ if (i === SP) return BREAK_ALLOWED$1
+ if (i === QU || n === QU) return BREAK_NOT_ALLOWED$1
+ if (n === CB || i === CB) return BREAK_ALLOWED$1
+ if (-1 !== [BA, HY, NS].indexOf(n) || i === BB) return BREAK_NOT_ALLOWED$1
+ if (r === HL && -1 !== HYPHEN.indexOf(i)) return BREAK_NOT_ALLOWED$1
+ if (i === SY && n === HL) return BREAK_NOT_ALLOWED$1
+ if (n === IN) return BREAK_NOT_ALLOWED$1
+ if ((-1 !== ALPHABETICS.indexOf(n) && i === NU) || (-1 !== ALPHABETICS.indexOf(i) && n === NU))
+ return BREAK_NOT_ALLOWED$1
+ if (
+ (i === PR && -1 !== [ID, EB, EM].indexOf(n)) ||
+ (-1 !== [ID, EB, EM].indexOf(i) && n === PO)
+ )
+ return BREAK_NOT_ALLOWED$1
+ if (
+ (-1 !== ALPHABETICS.indexOf(i) && -1 !== PREFIX_POSTFIX.indexOf(n)) ||
+ (-1 !== PREFIX_POSTFIX.indexOf(i) && -1 !== ALPHABETICS.indexOf(n))
+ )
+ return BREAK_NOT_ALLOWED$1
+ if (
+ (-1 !== [PR, PO].indexOf(i) &&
+ (n === NU || (-1 !== [OP, HY].indexOf(n) && e[1 + s] === NU))) ||
+ (-1 !== [OP, HY].indexOf(i) && n === NU) ||
+ (i === NU && -1 !== [NU, SY, IS].indexOf(n))
+ )
+ return BREAK_NOT_ALLOWED$1
+ if (-1 !== [NU, SY, IS, CL, CP].indexOf(n))
+ for (var a = B; 0 <= a; ) {
+ if ((c = e[a]) === NU) return BREAK_NOT_ALLOWED$1
+ if (-1 === [SY, IS].indexOf(c)) break
+ a--
+ }
+ if (-1 !== [PR, PO].indexOf(n))
+ for (var c, a = -1 !== [CL, CP].indexOf(i) ? o : B; 0 <= a; ) {
+ if ((c = e[a]) === NU) return BREAK_NOT_ALLOWED$1
+ if (-1 === [SY, IS].indexOf(c)) break
+ a--
+ }
+ if (
+ (JL === i && -1 !== [JL, JV, H2, H3].indexOf(n)) ||
+ (-1 !== [JV, H2].indexOf(i) && -1 !== [JV, JT].indexOf(n)) ||
+ (-1 !== [JT, H3].indexOf(i) && n === JT)
+ )
+ return BREAK_NOT_ALLOWED$1
+ if (
+ (-1 !== KOREAN_SYLLABLE_BLOCK.indexOf(i) && -1 !== [IN, PO].indexOf(n)) ||
+ (-1 !== KOREAN_SYLLABLE_BLOCK.indexOf(n) && i === PR)
+ )
+ return BREAK_NOT_ALLOWED$1
+ if (-1 !== ALPHABETICS.indexOf(i) && -1 !== ALPHABETICS.indexOf(n)) return BREAK_NOT_ALLOWED$1
+ if (i === IS && -1 !== ALPHABETICS.indexOf(n)) return BREAK_NOT_ALLOWED$1
+ if (
+ (-1 !== ALPHABETICS.concat(NU).indexOf(i) && n === OP && -1 === ea_OP.indexOf(A[s])) ||
+ (-1 !== ALPHABETICS.concat(NU).indexOf(n) && i === CP)
+ )
+ return BREAK_NOT_ALLOWED$1
+ if (i === RI$1 && n === RI$1) {
+ for (var g = t[B], Q = 1; 0 < g && e[--g] === RI$1; ) Q++
+ if (Q % 2 != 0) return BREAK_NOT_ALLOWED$1
+ }
+ return i === EB && n === EM ? BREAK_NOT_ALLOWED$1 : BREAK_ALLOWED$1
+ },
+ cssFormattedClasses = function (t, A) {
+ var e = codePointsToCharacterClasses(
+ t,
+ (A = A || { lineBreak: 'normal', wordBreak: 'normal' }).lineBreak,
+ ),
+ r = e[0],
+ n = e[1],
+ e = e[2]
+ return [
+ r,
+ (n =
+ 'break-all' === A.wordBreak || 'break-word' === A.wordBreak
+ ? n.map(function (A) {
+ return -1 !== [NU, AL, SA].indexOf(A) ? ID : A
+ })
+ : n),
+ 'keep-all' === A.wordBreak
+ ? e.map(function (A, e) {
+ return A && 19968 <= t[e] && t[e] <= 40959
+ })
+ : void 0,
+ ]
+ },
+ Break = (function () {
+ function A(A, e, t, r) {
+ ;(this.codePoints = A),
+ (this.required = e === BREAK_MANDATORY),
+ (this.start = t),
+ (this.end = r)
+ }
+ return (
+ (A.prototype.slice = function () {
+ return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end))
+ }),
+ A
+ )
+ })(),
+ LineBreaker = function (A, e) {
+ var t = toCodePoints$1(A),
+ e = cssFormattedClasses(t, e),
+ r = e[0],
+ n = e[1],
+ B = e[2],
+ o = t.length,
+ s = 0,
+ i = 0
+ return {
+ next: function () {
+ if (o <= i) return { done: !0, value: null }
+ for (
+ var A = BREAK_NOT_ALLOWED$1;
+ i < o && (A = _lineBreakAtIndex(t, n, r, ++i, B)) === BREAK_NOT_ALLOWED$1;
+
+ );
+ if (A === BREAK_NOT_ALLOWED$1 && i !== o) return { done: !0, value: null }
+ var e = new Break(t, A, s, i)
+ return (s = i), { value: e, done: !1 }
+ },
+ }
+ },
+ FLAG_UNRESTRICTED = 1,
+ FLAG_ID = 2,
+ FLAG_INTEGER = 4,
+ FLAG_NUMBER = 8,
+ LINE_FEED = 10,
+ SOLIDUS = 47,
+ REVERSE_SOLIDUS = 92,
+ CHARACTER_TABULATION = 9,
+ SPACE = 32,
+ QUOTATION_MARK = 34,
+ EQUALS_SIGN = 61,
+ NUMBER_SIGN = 35,
+ DOLLAR_SIGN = 36,
+ PERCENTAGE_SIGN = 37,
+ APOSTROPHE = 39,
+ LEFT_PARENTHESIS = 40,
+ RIGHT_PARENTHESIS = 41,
+ LOW_LINE = 95,
+ HYPHEN_MINUS = 45,
+ EXCLAMATION_MARK = 33,
+ LESS_THAN_SIGN = 60,
+ GREATER_THAN_SIGN = 62,
+ COMMERCIAL_AT = 64,
+ LEFT_SQUARE_BRACKET = 91,
+ RIGHT_SQUARE_BRACKET = 93,
+ CIRCUMFLEX_ACCENT = 61,
+ LEFT_CURLY_BRACKET = 123,
+ QUESTION_MARK = 63,
+ RIGHT_CURLY_BRACKET = 125,
+ VERTICAL_LINE = 124,
+ TILDE = 126,
+ CONTROL = 128,
+ REPLACEMENT_CHARACTER = 65533,
+ ASTERISK = 42,
+ PLUS_SIGN = 43,
+ COMMA = 44,
+ COLON = 58,
+ SEMICOLON = 59,
+ FULL_STOP = 46,
+ NULL = 0,
+ BACKSPACE = 8,
+ LINE_TABULATION = 11,
+ SHIFT_OUT = 14,
+ INFORMATION_SEPARATOR_ONE = 31,
+ DELETE = 127,
+ EOF = -1,
+ ZERO = 48,
+ a = 97,
+ e = 101,
+ f = 102,
+ u = 117,
+ z = 122,
+ A = 65,
+ E = 69,
+ F = 70,
+ U = 85,
+ Z = 90,
+ isDigit = function (A) {
+ return ZERO <= A && A <= 57
+ },
+ isSurrogateCodePoint = function (A) {
+ return 55296 <= A && A <= 57343
+ },
+ isHex = function (e) {
+ return isDigit(e) || (A <= e && e <= F) || (a <= e && e <= f)
+ },
+ isLowerCaseLetter = function (A) {
+ return a <= A && A <= z
+ },
+ isUpperCaseLetter = function (e) {
+ return A <= e && e <= Z
+ },
+ isLetter = function (A) {
+ return isLowerCaseLetter(A) || isUpperCaseLetter(A)
+ },
+ isNonASCIICodePoint = function (A) {
+ return CONTROL <= A
+ },
+ isWhiteSpace = function (A) {
+ return A === LINE_FEED || A === CHARACTER_TABULATION || A === SPACE
+ },
+ isNameStartCodePoint = function (A) {
+ return isLetter(A) || isNonASCIICodePoint(A) || A === LOW_LINE
+ },
+ isNameCodePoint = function (A) {
+ return isNameStartCodePoint(A) || isDigit(A) || A === HYPHEN_MINUS
+ },
+ isNonPrintableCodePoint = function (A) {
+ return (
+ (NULL <= A && A <= BACKSPACE) ||
+ A === LINE_TABULATION ||
+ (SHIFT_OUT <= A && A <= INFORMATION_SEPARATOR_ONE) ||
+ A === DELETE
+ )
+ },
+ isValidEscape = function (A, e) {
+ return A === REVERSE_SOLIDUS && e !== LINE_FEED
+ },
+ isIdentifierStart = function (A, e, t) {
+ return A === HYPHEN_MINUS
+ ? isNameStartCodePoint(e) || isValidEscape(e, t)
+ : !!isNameStartCodePoint(A) || !(A !== REVERSE_SOLIDUS || !isValidEscape(A, e))
+ },
+ isNumberStart = function (A, e, t) {
+ return A === PLUS_SIGN || A === HYPHEN_MINUS
+ ? !!isDigit(e) || (e === FULL_STOP && isDigit(t))
+ : isDigit(A === FULL_STOP ? e : A)
+ },
+ stringToNumber = function (A) {
+ var t = 0,
+ r = 1
+ ;(A[t] !== PLUS_SIGN && A[t] !== HYPHEN_MINUS) || (A[t] === HYPHEN_MINUS && (r = -1), t++)
+ for (var n = []; isDigit(A[t]); ) n.push(A[t++])
+ var B = n.length ? parseInt(fromCodePoint$1.apply(void 0, n), 10) : 0
+ A[t] === FULL_STOP && t++
+ for (var o = []; isDigit(A[t]); ) o.push(A[t++])
+ var s = o.length,
+ i = s ? parseInt(fromCodePoint$1.apply(void 0, o), 10) : 0
+ ;(A[t] !== E && A[t] !== e) || t++
+ var a = 1
+ ;(A[t] !== PLUS_SIGN && A[t] !== HYPHEN_MINUS) || (A[t] === HYPHEN_MINUS && (a = -1), t++)
+ for (var c = []; isDigit(A[t]); ) c.push(A[t++])
+ var g = c.length ? parseInt(fromCodePoint$1.apply(void 0, c), 10) : 0
+ return r * (B + i * Math.pow(10, -s)) * Math.pow(10, a * g)
+ },
+ LEFT_PARENTHESIS_TOKEN = { type: 2 },
+ RIGHT_PARENTHESIS_TOKEN = { type: 3 },
+ COMMA_TOKEN = { type: 4 },
+ SUFFIX_MATCH_TOKEN = { type: 13 },
+ PREFIX_MATCH_TOKEN = { type: 8 },
+ COLUMN_TOKEN = { type: 21 },
+ DASH_MATCH_TOKEN = { type: 9 },
+ INCLUDE_MATCH_TOKEN = { type: 10 },
+ LEFT_CURLY_BRACKET_TOKEN = { type: 11 },
+ RIGHT_CURLY_BRACKET_TOKEN = { type: 12 },
+ SUBSTRING_MATCH_TOKEN = { type: 14 },
+ BAD_URL_TOKEN = { type: 23 },
+ BAD_STRING_TOKEN = { type: 1 },
+ CDO_TOKEN = { type: 25 },
+ CDC_TOKEN = { type: 24 },
+ COLON_TOKEN = { type: 26 },
+ SEMICOLON_TOKEN = { type: 27 },
+ LEFT_SQUARE_BRACKET_TOKEN = { type: 28 },
+ RIGHT_SQUARE_BRACKET_TOKEN = { type: 29 },
+ WHITESPACE_TOKEN = { type: 31 },
+ EOF_TOKEN = { type: 32 },
+ Tokenizer = (function () {
+ function A() {
+ this._value = []
+ }
+ return (
+ (A.prototype.write = function (A) {
+ this._value = this._value.concat(toCodePoints$1(A))
+ }),
+ (A.prototype.read = function () {
+ for (var A = [], e = this.consumeToken(); e !== EOF_TOKEN; )
+ A.push(e), (e = this.consumeToken())
+ return A
+ }),
+ (A.prototype.consumeToken = function () {
+ var A = this.consumeCodePoint()
+ switch (A) {
+ case QUOTATION_MARK:
+ return this.consumeStringToken(QUOTATION_MARK)
+ case NUMBER_SIGN:
+ var e = this.peekCodePoint(0),
+ t = this.peekCodePoint(1),
+ r = this.peekCodePoint(2)
+ if (isNameCodePoint(e) || isValidEscape(t, r)) {
+ var n = isIdentifierStart(e, t, r) ? FLAG_ID : FLAG_UNRESTRICTED
+ return { type: 5, value: this.consumeName(), flags: n }
+ }
+ break
+ case DOLLAR_SIGN:
+ if (this.peekCodePoint(0) === EQUALS_SIGN)
+ return this.consumeCodePoint(), SUFFIX_MATCH_TOKEN
+ break
+ case APOSTROPHE:
+ return this.consumeStringToken(APOSTROPHE)
+ case LEFT_PARENTHESIS:
+ return LEFT_PARENTHESIS_TOKEN
+ case RIGHT_PARENTHESIS:
+ return RIGHT_PARENTHESIS_TOKEN
+ case ASTERISK:
+ if (this.peekCodePoint(0) === EQUALS_SIGN)
+ return this.consumeCodePoint(), SUBSTRING_MATCH_TOKEN
+ break
+ case PLUS_SIGN:
+ if (isNumberStart(A, this.peekCodePoint(0), this.peekCodePoint(1)))
+ return this.reconsumeCodePoint(A), this.consumeNumericToken()
+ break
+ case COMMA:
+ return COMMA_TOKEN
+ case HYPHEN_MINUS:
+ var r = A,
+ n = this.peekCodePoint(0),
+ B = this.peekCodePoint(1)
+ if (isNumberStart(r, n, B))
+ return this.reconsumeCodePoint(A), this.consumeNumericToken()
+ if (isIdentifierStart(r, n, B))
+ return this.reconsumeCodePoint(A), this.consumeIdentLikeToken()
+ if (n === HYPHEN_MINUS && B === GREATER_THAN_SIGN)
+ return this.consumeCodePoint(), this.consumeCodePoint(), CDC_TOKEN
+ break
+ case FULL_STOP:
+ if (isNumberStart(A, this.peekCodePoint(0), this.peekCodePoint(1)))
+ return this.reconsumeCodePoint(A), this.consumeNumericToken()
+ break
+ case SOLIDUS:
+ if (this.peekCodePoint(0) === ASTERISK)
+ for (this.consumeCodePoint(); ; ) {
+ var o = this.consumeCodePoint()
+ if (o === ASTERISK && (o = this.consumeCodePoint()) === SOLIDUS)
+ return this.consumeToken()
+ if (o === EOF) return this.consumeToken()
+ }
+ break
+ case COLON:
+ return COLON_TOKEN
+ case SEMICOLON:
+ return SEMICOLON_TOKEN
+ case LESS_THAN_SIGN:
+ if (
+ this.peekCodePoint(0) === EXCLAMATION_MARK &&
+ this.peekCodePoint(1) === HYPHEN_MINUS &&
+ this.peekCodePoint(2) === HYPHEN_MINUS
+ )
+ return this.consumeCodePoint(), this.consumeCodePoint(), CDO_TOKEN
+ break
+ case COMMERCIAL_AT:
+ var B = this.peekCodePoint(0),
+ s = this.peekCodePoint(1),
+ i = this.peekCodePoint(2)
+ if (isIdentifierStart(B, s, i)) return { type: 7, value: this.consumeName() }
+ break
+ case LEFT_SQUARE_BRACKET:
+ return LEFT_SQUARE_BRACKET_TOKEN
+ case REVERSE_SOLIDUS:
+ if (isValidEscape(A, this.peekCodePoint(0)))
+ return this.reconsumeCodePoint(A), this.consumeIdentLikeToken()
+ break
+ case RIGHT_SQUARE_BRACKET:
+ return RIGHT_SQUARE_BRACKET_TOKEN
+ case CIRCUMFLEX_ACCENT:
+ if (this.peekCodePoint(0) === EQUALS_SIGN)
+ return this.consumeCodePoint(), PREFIX_MATCH_TOKEN
+ break
+ case LEFT_CURLY_BRACKET:
+ return LEFT_CURLY_BRACKET_TOKEN
+ case RIGHT_CURLY_BRACKET:
+ return RIGHT_CURLY_BRACKET_TOKEN
+ case u:
+ case U:
+ ;(s = this.peekCodePoint(0)), (i = this.peekCodePoint(1))
+ return (
+ s !== PLUS_SIGN ||
+ (!isHex(i) && i !== QUESTION_MARK) ||
+ (this.consumeCodePoint(), this.consumeUnicodeRangeToken()),
+ this.reconsumeCodePoint(A),
+ this.consumeIdentLikeToken()
+ )
+ case VERTICAL_LINE:
+ if (this.peekCodePoint(0) === EQUALS_SIGN)
+ return this.consumeCodePoint(), DASH_MATCH_TOKEN
+ if (this.peekCodePoint(0) === VERTICAL_LINE)
+ return this.consumeCodePoint(), COLUMN_TOKEN
+ break
+ case TILDE:
+ if (this.peekCodePoint(0) === EQUALS_SIGN)
+ return this.consumeCodePoint(), INCLUDE_MATCH_TOKEN
+ break
+ case EOF:
+ return EOF_TOKEN
+ }
+ return isWhiteSpace(A)
+ ? (this.consumeWhiteSpace(), WHITESPACE_TOKEN)
+ : isDigit(A)
+ ? (this.reconsumeCodePoint(A), this.consumeNumericToken())
+ : isNameStartCodePoint(A)
+ ? (this.reconsumeCodePoint(A), this.consumeIdentLikeToken())
+ : { type: 6, value: fromCodePoint$1(A) }
+ }),
+ (A.prototype.consumeCodePoint = function () {
+ var A = this._value.shift()
+ return void 0 === A ? -1 : A
+ }),
+ (A.prototype.reconsumeCodePoint = function (A) {
+ this._value.unshift(A)
+ }),
+ (A.prototype.peekCodePoint = function (A) {
+ return A >= this._value.length ? -1 : this._value[A]
+ }),
+ (A.prototype.consumeUnicodeRangeToken = function () {
+ for (var A = [], e = this.consumeCodePoint(); isHex(e) && A.length < 6; )
+ A.push(e), (e = this.consumeCodePoint())
+ for (var t = !1; e === QUESTION_MARK && A.length < 6; )
+ A.push(e), (e = this.consumeCodePoint()), (t = !0)
+ if (t)
+ return {
+ type: 30,
+ start: parseInt(
+ fromCodePoint$1.apply(
+ void 0,
+ A.map(function (A) {
+ return A === QUESTION_MARK ? ZERO : A
+ }),
+ ),
+ 16,
+ ),
+ end: parseInt(
+ fromCodePoint$1.apply(
+ void 0,
+ A.map(function (A) {
+ return A === QUESTION_MARK ? F : A
+ }),
+ ),
+ 16,
+ ),
+ }
+ var r = parseInt(fromCodePoint$1.apply(void 0, A), 16)
+ if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {
+ this.consumeCodePoint()
+ for (var e = this.consumeCodePoint(), n = []; isHex(e) && n.length < 6; )
+ n.push(e), (e = this.consumeCodePoint())
+ return { type: 30, start: r, end: parseInt(fromCodePoint$1.apply(void 0, n), 16) }
+ }
+ return { type: 30, start: r, end: r }
+ }),
+ (A.prototype.consumeIdentLikeToken = function () {
+ var A = this.consumeName()
+ return 'url' === A.toLowerCase() && this.peekCodePoint(0) === LEFT_PARENTHESIS
+ ? (this.consumeCodePoint(), this.consumeUrlToken())
+ : this.peekCodePoint(0) === LEFT_PARENTHESIS
+ ? (this.consumeCodePoint(), { type: 19, value: A })
+ : { type: 20, value: A }
+ }),
+ (A.prototype.consumeUrlToken = function () {
+ var A = []
+ if ((this.consumeWhiteSpace(), this.peekCodePoint(0) === EOF))
+ return { type: 22, value: '' }
+ var e = this.peekCodePoint(0)
+ if (e === APOSTROPHE || e === QUOTATION_MARK) {
+ e = this.consumeStringToken(this.consumeCodePoint())
+ return 0 === e.type &&
+ (this.consumeWhiteSpace(),
+ this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS)
+ ? (this.consumeCodePoint(), { type: 22, value: e.value })
+ : (this.consumeBadUrlRemnants(), BAD_URL_TOKEN)
+ }
+ for (;;) {
+ var t = this.consumeCodePoint()
+ if (t === EOF || t === RIGHT_PARENTHESIS)
+ return { type: 22, value: fromCodePoint$1.apply(void 0, A) }
+ if (isWhiteSpace(t))
+ return (
+ this.consumeWhiteSpace(),
+ this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS
+ ? (this.consumeCodePoint(), { type: 22, value: fromCodePoint$1.apply(void 0, A) })
+ : (this.consumeBadUrlRemnants(), BAD_URL_TOKEN)
+ )
+ if (
+ t === QUOTATION_MARK ||
+ t === APOSTROPHE ||
+ t === LEFT_PARENTHESIS ||
+ isNonPrintableCodePoint(t)
+ )
+ return this.consumeBadUrlRemnants(), BAD_URL_TOKEN
+ if (t === REVERSE_SOLIDUS) {
+ if (!isValidEscape(t, this.peekCodePoint(0)))
+ return this.consumeBadUrlRemnants(), BAD_URL_TOKEN
+ A.push(this.consumeEscapedCodePoint())
+ } else A.push(t)
+ }
+ }),
+ (A.prototype.consumeWhiteSpace = function () {
+ for (; isWhiteSpace(this.peekCodePoint(0)); ) this.consumeCodePoint()
+ }),
+ (A.prototype.consumeBadUrlRemnants = function () {
+ for (;;) {
+ var A = this.consumeCodePoint()
+ if (A === RIGHT_PARENTHESIS || A === EOF) return
+ isValidEscape(A, this.peekCodePoint(0)) && this.consumeEscapedCodePoint()
+ }
+ }),
+ (A.prototype.consumeStringSlice = function (A) {
+ for (var e = ''; 0 < A; ) {
+ var t = Math.min(5e4, A)
+ ;(e += fromCodePoint$1.apply(void 0, this._value.splice(0, t))), (A -= t)
+ }
+ return this._value.shift(), e
+ }),
+ (A.prototype.consumeStringToken = function (A) {
+ for (var e = '', t = 0; ; ) {
+ var r,
+ n = this._value[t]
+ if (n === EOF || void 0 === n || n === A)
+ return { type: 0, value: (e += this.consumeStringSlice(t)) }
+ if (n === LINE_FEED) return this._value.splice(0, t), BAD_STRING_TOKEN
+ n !== REVERSE_SOLIDUS ||
+ ((r = this._value[t + 1]) !== EOF &&
+ void 0 !== r &&
+ (r === LINE_FEED
+ ? ((e += this.consumeStringSlice(t)), (t = -1), this._value.shift())
+ : isValidEscape(n, r) &&
+ ((e += this.consumeStringSlice(t)),
+ (e += fromCodePoint$1(this.consumeEscapedCodePoint())),
+ (t = -1)))),
+ t++
+ }
+ }),
+ (A.prototype.consumeNumber = function () {
+ var A = [],
+ t = FLAG_INTEGER
+ for (
+ ((r = this.peekCodePoint(0)) !== PLUS_SIGN && r !== HYPHEN_MINUS) ||
+ A.push(this.consumeCodePoint());
+ isDigit(this.peekCodePoint(0));
+
+ )
+ A.push(this.consumeCodePoint())
+ var r = this.peekCodePoint(0),
+ n = this.peekCodePoint(1)
+ if (r === FULL_STOP && isDigit(n))
+ for (
+ A.push(this.consumeCodePoint(), this.consumeCodePoint()), t = FLAG_NUMBER;
+ isDigit(this.peekCodePoint(0));
+
+ )
+ A.push(this.consumeCodePoint())
+ r = this.peekCodePoint(0)
+ var n = this.peekCodePoint(1),
+ B = this.peekCodePoint(2)
+ if (
+ (r === E || r === e) &&
+ (((n === PLUS_SIGN || n === HYPHEN_MINUS) && isDigit(B)) || isDigit(n))
+ )
+ for (
+ A.push(this.consumeCodePoint(), this.consumeCodePoint()), t = FLAG_NUMBER;
+ isDigit(this.peekCodePoint(0));
+
+ )
+ A.push(this.consumeCodePoint())
+ return [stringToNumber(A), t]
+ }),
+ (A.prototype.consumeNumericToken = function () {
+ var A = this.consumeNumber(),
+ e = A[0],
+ t = A[1],
+ r = this.peekCodePoint(0),
+ n = this.peekCodePoint(1),
+ A = this.peekCodePoint(2)
+ return isIdentifierStart(r, n, A)
+ ? { type: 15, number: e, flags: t, unit: this.consumeName() }
+ : r === PERCENTAGE_SIGN
+ ? (this.consumeCodePoint(), { type: 16, number: e, flags: t })
+ : { type: 17, number: e, flags: t }
+ }),
+ (A.prototype.consumeEscapedCodePoint = function () {
+ var A = this.consumeCodePoint()
+ if (isHex(A)) {
+ for (var e = fromCodePoint$1(A); isHex(this.peekCodePoint(0)) && e.length < 6; )
+ e += fromCodePoint$1(this.consumeCodePoint())
+ isWhiteSpace(this.peekCodePoint(0)) && this.consumeCodePoint()
+ var t = parseInt(e, 16)
+ return 0 === t || isSurrogateCodePoint(t) || 1114111 < t ? REPLACEMENT_CHARACTER : t
+ }
+ return A === EOF ? REPLACEMENT_CHARACTER : A
+ }),
+ (A.prototype.consumeName = function () {
+ for (var A = ''; ; ) {
+ var e = this.consumeCodePoint()
+ if (isNameCodePoint(e)) A += fromCodePoint$1(e)
+ else {
+ if (!isValidEscape(e, this.peekCodePoint(0))) return this.reconsumeCodePoint(e), A
+ A += fromCodePoint$1(this.consumeEscapedCodePoint())
+ }
+ }
+ }),
+ A
+ )
+ })(),
+ Parser = (function () {
+ function t(A) {
+ this._tokens = A
+ }
+ return (
+ (t.create = function (A) {
+ var e = new Tokenizer()
+ return e.write(A), new t(e.read())
+ }),
+ (t.parseValue = function (A) {
+ return t.create(A).parseComponentValue()
+ }),
+ (t.parseValues = function (A) {
+ return t.create(A).parseComponentValues()
+ }),
+ (t.prototype.parseComponentValue = function () {
+ for (var A = this.consumeToken(); 31 === A.type; ) A = this.consumeToken()
+ if (32 === A.type)
+ throw new SyntaxError('Error parsing CSS component value, unexpected EOF')
+ this.reconsumeToken(A)
+ for (var e = this.consumeComponentValue(); 31 === (A = this.consumeToken()).type; );
+ if (32 === A.type) return e
+ throw new SyntaxError(
+ 'Error parsing CSS component value, multiple values found when expecting only one',
+ )
+ }),
+ (t.prototype.parseComponentValues = function () {
+ for (var A = []; ; ) {
+ var e = this.consumeComponentValue()
+ if (32 === e.type) return A
+ A.push(e), A.push()
+ }
+ }),
+ (t.prototype.consumeComponentValue = function () {
+ var A = this.consumeToken()
+ switch (A.type) {
+ case 11:
+ case 28:
+ case 2:
+ return this.consumeSimpleBlock(A.type)
+ case 19:
+ return this.consumeFunction(A)
+ }
+ return A
+ }),
+ (t.prototype.consumeSimpleBlock = function (A) {
+ for (var e = { type: A, values: [] }, t = this.consumeToken(); ; ) {
+ if (32 === t.type || isEndingTokenFor(t, A)) return e
+ this.reconsumeToken(t),
+ e.values.push(this.consumeComponentValue()),
+ (t = this.consumeToken())
+ }
+ }),
+ (t.prototype.consumeFunction = function (A) {
+ for (var e = { name: A.value, values: [], type: 18 }; ; ) {
+ var t = this.consumeToken()
+ if (32 === t.type || 3 === t.type) return e
+ this.reconsumeToken(t), e.values.push(this.consumeComponentValue())
+ }
+ }),
+ (t.prototype.consumeToken = function () {
+ var A = this._tokens.shift()
+ return void 0 === A ? EOF_TOKEN : A
+ }),
+ (t.prototype.reconsumeToken = function (A) {
+ this._tokens.unshift(A)
+ }),
+ t
+ )
+ })(),
+ isDimensionToken = function (A) {
+ return 15 === A.type
+ },
+ isNumberToken = function (A) {
+ return 17 === A.type
+ },
+ isIdentToken = function (A) {
+ return 20 === A.type
+ },
+ isStringToken = function (A) {
+ return 0 === A.type
+ },
+ isIdentWithValue = function (A, e) {
+ return isIdentToken(A) && A.value === e
+ },
+ nonWhiteSpace = function (A) {
+ return 31 !== A.type
+ },
+ nonFunctionArgSeparator = function (A) {
+ return 31 !== A.type && 4 !== A.type
+ },
+ parseFunctionArgs = function (A) {
+ var e = [],
+ t = []
+ return (
+ A.forEach(function (A) {
+ if (4 === A.type) {
+ if (0 === t.length) throw new Error('Error parsing function args, zero tokens for arg')
+ return e.push(t), void (t = [])
+ }
+ 31 !== A.type && t.push(A)
+ }),
+ t.length && e.push(t),
+ e
+ )
+ },
+ isEndingTokenFor = function (A, e) {
+ return (11 === e && 12 === A.type) || (28 === e && 29 === A.type) || (2 === e && 3 === A.type)
+ },
+ isLength = function (A) {
+ return 17 === A.type || 15 === A.type
+ },
+ isLengthPercentage = function (A) {
+ return 16 === A.type || isLength(A)
+ },
+ parseLengthPercentageTuple = function (A) {
+ return 1 < A.length ? [A[0], A[1]] : [A[0]]
+ },
+ ZERO_LENGTH = { type: 17, number: 0, flags: FLAG_INTEGER },
+ FIFTY_PERCENT = { type: 16, number: 50, flags: FLAG_INTEGER },
+ HUNDRED_PERCENT = { type: 16, number: 100, flags: FLAG_INTEGER },
+ getAbsoluteValueForTuple = function (A, e, t) {
+ var r = A[0],
+ A = A[1]
+ return [getAbsoluteValue(r, e), getAbsoluteValue(void 0 !== A ? A : r, t)]
+ },
+ getAbsoluteValue = function (A, e) {
+ if (16 === A.type) return (A.number / 100) * e
+ if (isDimensionToken(A))
+ switch (A.unit) {
+ case 'rem':
+ case 'em':
+ return 16 * A.number
+ default:
+ return A.number
+ }
+ return A.number
+ },
+ DEG = 'deg',
+ GRAD = 'grad',
+ RAD = 'rad',
+ TURN = 'turn',
+ angle = {
+ name: 'angle',
+ parse: function (A, e) {
+ if (15 === e.type)
+ switch (e.unit) {
+ case DEG:
+ return (Math.PI * e.number) / 180
+ case GRAD:
+ return (Math.PI / 200) * e.number
+ case RAD:
+ return e.number
+ case TURN:
+ return 2 * Math.PI * e.number
+ }
+ throw new Error('Unsupported angle type')
+ },
+ },
+ isAngle = function (A) {
+ return 15 === A.type && (A.unit === DEG || A.unit === GRAD || A.unit === RAD || A.unit === TURN)
+ },
+ parseNamedSide = function (A) {
+ switch (
+ A.filter(isIdentToken)
+ .map(function (A) {
+ return A.value
+ })
+ .join(' ')
+ ) {
+ case 'to bottom right':
+ case 'to right bottom':
+ case 'left top':
+ case 'top left':
+ return [ZERO_LENGTH, ZERO_LENGTH]
+ case 'to top':
+ case 'bottom':
+ return deg(0)
+ case 'to bottom left':
+ case 'to left bottom':
+ case 'right top':
+ case 'top right':
+ return [ZERO_LENGTH, HUNDRED_PERCENT]
+ case 'to right':
+ case 'left':
+ return deg(90)
+ case 'to top left':
+ case 'to left top':
+ case 'right bottom':
+ case 'bottom right':
+ return [HUNDRED_PERCENT, HUNDRED_PERCENT]
+ case 'to bottom':
+ case 'top':
+ return deg(180)
+ case 'to top right':
+ case 'to right top':
+ case 'left bottom':
+ case 'bottom left':
+ return [HUNDRED_PERCENT, ZERO_LENGTH]
+ case 'to left':
+ case 'right':
+ return deg(270)
+ }
+ return 0
+ },
+ deg = function (A) {
+ return (Math.PI * A) / 180
+ },
+ color$1 = {
+ name: 'color',
+ parse: function (A, e) {
+ if (18 === e.type) {
+ var t = SUPPORTED_COLOR_FUNCTIONS[e.name]
+ if (void 0 === t)
+ throw new Error('Attempting to parse an unsupported color function "' + e.name + '"')
+ return t(A, e.values)
+ }
+ if (5 === e.type) {
+ if (3 === e.value.length) {
+ var r = e.value.substring(0, 1),
+ n = e.value.substring(1, 2),
+ B = e.value.substring(2, 3)
+ return pack(parseInt(r + r, 16), parseInt(n + n, 16), parseInt(B + B, 16), 1)
+ }
+ if (4 === e.value.length) {
+ var r = e.value.substring(0, 1),
+ n = e.value.substring(1, 2),
+ B = e.value.substring(2, 3),
+ o = e.value.substring(3, 4)
+ return pack(
+ parseInt(r + r, 16),
+ parseInt(n + n, 16),
+ parseInt(B + B, 16),
+ parseInt(o + o, 16) / 255,
+ )
+ }
+ if (6 === e.value.length) {
+ ;(r = e.value.substring(0, 2)),
+ (n = e.value.substring(2, 4)),
+ (B = e.value.substring(4, 6))
+ return pack(parseInt(r, 16), parseInt(n, 16), parseInt(B, 16), 1)
+ }
+ if (8 === e.value.length) {
+ ;(r = e.value.substring(0, 2)),
+ (n = e.value.substring(2, 4)),
+ (B = e.value.substring(4, 6)),
+ (o = e.value.substring(6, 8))
+ return pack(parseInt(r, 16), parseInt(n, 16), parseInt(B, 16), parseInt(o, 16) / 255)
+ }
+ }
+ if (20 === e.type) {
+ e = COLORS[e.value.toUpperCase()]
+ if (void 0 !== e) return e
+ }
+ return COLORS.TRANSPARENT
+ },
+ },
+ isTransparent = function (A) {
+ return 0 == (255 & A)
+ },
+ asString = function (A) {
+ var e = 255 & A,
+ t = 255 & (A >> 8),
+ r = 255 & (A >> 16),
+ A = 255 & (A >> 24)
+ return e < 255
+ ? 'rgba(' + A + ',' + r + ',' + t + ',' + e / 255 + ')'
+ : 'rgb(' + A + ',' + r + ',' + t + ')'
+ },
+ pack = function (A, e, t, r) {
+ return ((A << 24) | (e << 16) | (t << 8) | (Math.round(255 * r) << 0)) >>> 0
+ },
+ getTokenColorValue = function (A, e) {
+ if (17 === A.type) return A.number
+ if (16 !== A.type) return 0
+ var t = 3 === e ? 1 : 255
+ return 3 === e ? (A.number / 100) * t : Math.round((A.number / 100) * t)
+ },
+ rgb = function (A, e) {
+ e = e.filter(nonFunctionArgSeparator)
+ if (3 === e.length) {
+ var t = e.map(getTokenColorValue),
+ r = t[0],
+ n = t[1],
+ t = t[2]
+ return pack(r, n, t, 1)
+ }
+ if (4 !== e.length) return 0
+ ;(e = e.map(getTokenColorValue)), (r = e[0]), (n = e[1]), (t = e[2]), (e = e[3])
+ return pack(r, n, t, e)
+ }
+function hue2rgb(A, e, t) {
+ return (
+ t < 0 && (t += 1),
+ 1 <= t && --t,
+ t < 1 / 6 ? (e - A) * t * 6 + A : t < 0.5 ? e : t < 2 / 3 ? 6 * (e - A) * (2 / 3 - t) + A : A
+ )
+}
+var hsl = function (A, e) {
+ var t = e.filter(nonFunctionArgSeparator),
+ r = t[0],
+ n = t[1],
+ B = t[2],
+ e = t[3],
+ t = (17 === r.type ? deg(r.number) : angle.parse(A, r)) / (2 * Math.PI),
+ A = isLengthPercentage(n) ? n.number / 100 : 0,
+ r = isLengthPercentage(B) ? B.number / 100 : 0,
+ n = void 0 !== e && isLengthPercentage(e) ? getAbsoluteValue(e, 1) : 1
+ if (0 == A) return pack(255 * r, 255 * r, 255 * r, 1)
+ ;(B = r <= 0.5 ? r * (1 + A) : r + A - r * A),
+ (e = 2 * r - B),
+ (A = hue2rgb(e, B, t + 1 / 3)),
+ (r = hue2rgb(e, B, t)),
+ (t = hue2rgb(e, B, t - 1 / 3))
+ return pack(255 * A, 255 * r, 255 * t, n)
+ },
+ SUPPORTED_COLOR_FUNCTIONS = { hsl: hsl, hsla: hsl, rgb: rgb, rgba: rgb },
+ parseColor = function (A, e) {
+ return color$1.parse(A, Parser.create(e).parseComponentValue())
+ },
+ COLORS = {
+ 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,
+ },
+ backgroundClip = {
+ name: 'background-clip',
+ initialValue: 'border-box',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ return e.map(function (A) {
+ if (isIdentToken(A))
+ switch (A.value) {
+ case 'padding-box':
+ return 1
+ case 'content-box':
+ return 2
+ }
+ return 0
+ })
+ },
+ },
+ backgroundColor = {
+ name: 'background-color',
+ initialValue: 'transparent',
+ prefix: !1,
+ type: 3,
+ format: 'color',
+ },
+ parseColorStop = function (A, e) {
+ ;(A = color$1.parse(A, e[0])), (e = e[1])
+ return e && isLengthPercentage(e) ? { color: A, stop: e } : { color: A, stop: null }
+ },
+ processColorStops = function (A, t) {
+ var e = A[0],
+ r = A[A.length - 1]
+ null === e.stop && (e.stop = ZERO_LENGTH), null === r.stop && (r.stop = HUNDRED_PERCENT)
+ for (var n = [], B = 0, o = 0; o < A.length; o++) {
+ var s = A[o].stop
+ null !== s
+ ? (B < (s = getAbsoluteValue(s, t)) ? n.push(s) : n.push(B), (B = s))
+ : n.push(null)
+ }
+ for (var i = null, o = 0; o < n.length; o++) {
+ var a = n[o]
+ if (null === a) null === i && (i = o)
+ else if (null !== i) {
+ for (var c = o - i, g = (a - n[i - 1]) / (1 + c), Q = 1; Q <= c; Q++) n[i + Q - 1] = g * Q
+ i = null
+ }
+ }
+ return A.map(function (A, e) {
+ return { color: A.color, stop: Math.max(Math.min(1, n[e] / t), 0) }
+ })
+ },
+ getAngleFromCorner = function (A, e, t) {
+ var r = e / 2,
+ n = t / 2,
+ r = getAbsoluteValue(A[0], e) - r,
+ t = n - getAbsoluteValue(A[1], t)
+ return (Math.atan2(t, r) + 2 * Math.PI) % (2 * Math.PI)
+ },
+ calculateGradientDirection = function (A, e, t) {
+ var r = 'number' == typeof A ? A : getAngleFromCorner(A, e, t),
+ n = Math.abs(e * Math.sin(r)) + Math.abs(t * Math.cos(r)),
+ B = e / 2,
+ A = t / 2,
+ e = n / 2,
+ t = Math.sin(r - Math.PI / 2) * e,
+ e = Math.cos(r - Math.PI / 2) * e
+ return [n, B - e, B + e, A - t, A + t]
+ },
+ distance = function (A, e) {
+ return Math.sqrt(A * A + e * e)
+ },
+ findCorner = function (A, e, n, B, o) {
+ return [
+ [0, 0],
+ [0, e],
+ [A, 0],
+ [A, e],
+ ].reduce(
+ function (A, e) {
+ var t = e[0],
+ r = e[1],
+ r = distance(n - t, B - r)
+ return (o ? r < A.optimumDistance : r > A.optimumDistance)
+ ? { optimumCorner: e, optimumDistance: r }
+ : A
+ },
+ { optimumDistance: o ? 1 / 0 : -1 / 0, optimumCorner: null },
+ ).optimumCorner
+ },
+ calculateRadius = function (A, e, t, r, n) {
+ var B,
+ o,
+ s,
+ i,
+ a = 0,
+ c = 0
+ switch (A.size) {
+ case 0:
+ 0 === A.shape
+ ? (a = c = Math.min(Math.abs(e), Math.abs(e - r), Math.abs(t), Math.abs(t - n)))
+ : 1 === A.shape &&
+ ((a = Math.min(Math.abs(e), Math.abs(e - r))),
+ (c = Math.min(Math.abs(t), Math.abs(t - n))))
+ break
+ case 2:
+ 0 === A.shape
+ ? (a = c =
+ Math.min(
+ distance(e, t),
+ distance(e, t - n),
+ distance(e - r, t),
+ distance(e - r, t - n),
+ ))
+ : 1 === A.shape &&
+ ((B = Math.min(Math.abs(t), Math.abs(t - n)) / Math.min(Math.abs(e), Math.abs(e - r))),
+ (s = (o = findCorner(r, n, e, t, !0))[0]),
+ (i = o[1]),
+ (c = B * (a = distance(s - e, (i - t) / B))))
+ break
+ case 1:
+ 0 === A.shape
+ ? (a = c = Math.max(Math.abs(e), Math.abs(e - r), Math.abs(t), Math.abs(t - n)))
+ : 1 === A.shape &&
+ ((a = Math.max(Math.abs(e), Math.abs(e - r))),
+ (c = Math.max(Math.abs(t), Math.abs(t - n))))
+ break
+ case 3:
+ 0 === A.shape
+ ? (a = c =
+ Math.max(
+ distance(e, t),
+ distance(e, t - n),
+ distance(e - r, t),
+ distance(e - r, t - n),
+ ))
+ : 1 === A.shape &&
+ ((B = Math.max(Math.abs(t), Math.abs(t - n)) / Math.max(Math.abs(e), Math.abs(e - r))),
+ (s = (o = findCorner(r, n, e, t, !1))[0]),
+ (i = o[1]),
+ (c = B * (a = distance(s - e, (i - t) / B))))
+ }
+ return (
+ Array.isArray(A.size) &&
+ ((a = getAbsoluteValue(A.size[0], r)),
+ (c = 2 === A.size.length ? getAbsoluteValue(A.size[1], n) : a)),
+ [a, c]
+ )
+ },
+ linearGradient = function (t, A) {
+ var r = deg(180),
+ n = []
+ return (
+ parseFunctionArgs(A).forEach(function (A, e) {
+ if (0 === e) {
+ e = A[0]
+ if (20 === e.type && 'to' === e.value) return void (r = parseNamedSide(A))
+ if (isAngle(e)) return void (r = angle.parse(t, e))
+ }
+ A = parseColorStop(t, A)
+ n.push(A)
+ }),
+ { angle: r, stops: n, type: 1 }
+ )
+ },
+ prefixLinearGradient = function (t, A) {
+ var r = deg(180),
+ n = []
+ return (
+ parseFunctionArgs(A).forEach(function (A, e) {
+ if (0 === e) {
+ e = A[0]
+ if (20 === e.type && -1 !== ['top', 'left', 'right', 'bottom'].indexOf(e.value))
+ return void (r = parseNamedSide(A))
+ if (isAngle(e)) return void (r = (angle.parse(t, e) + deg(270)) % deg(360))
+ }
+ A = parseColorStop(t, A)
+ n.push(A)
+ }),
+ { angle: r, stops: n, type: 1 }
+ )
+ },
+ webkitGradient = function (r, A) {
+ var e = deg(180),
+ n = [],
+ B = 1
+ return (
+ parseFunctionArgs(A).forEach(function (A, e) {
+ var t,
+ A = A[0]
+ if (0 === e) {
+ if (isIdentToken(A) && 'linear' === A.value) return void (B = 1)
+ if (isIdentToken(A) && 'radial' === A.value) return void (B = 2)
+ }
+ 18 === A.type &&
+ ('from' === A.name
+ ? ((t = color$1.parse(r, A.values[0])), n.push({ stop: ZERO_LENGTH, color: t }))
+ : 'to' === A.name
+ ? ((t = color$1.parse(r, A.values[0])), n.push({ stop: HUNDRED_PERCENT, color: t }))
+ : 'color-stop' !== A.name ||
+ (2 === (A = A.values.filter(nonFunctionArgSeparator)).length &&
+ ((t = color$1.parse(r, A[1])),
+ (A = A[0]),
+ isNumberToken(A) &&
+ n.push({
+ stop: { type: 16, number: 100 * A.number, flags: A.flags },
+ color: t,
+ }))))
+ }),
+ 1 === B
+ ? { angle: (e + deg(180)) % deg(360), stops: n, type: B }
+ : { size: 3, shape: 0, stops: n, position: [], type: B }
+ )
+ },
+ CLOSEST_SIDE = 'closest-side',
+ FARTHEST_SIDE = 'farthest-side',
+ CLOSEST_CORNER = 'closest-corner',
+ FARTHEST_CORNER = 'farthest-corner',
+ CIRCLE = 'circle',
+ ELLIPSE = 'ellipse',
+ COVER = 'cover',
+ CONTAIN = 'contain',
+ radialGradient = function (n, A) {
+ var B = 0,
+ o = 3,
+ s = [],
+ i = []
+ return (
+ parseFunctionArgs(A).forEach(function (A, e) {
+ var t,
+ r = !0
+ 0 === e &&
+ ((t = !1),
+ (r = A.reduce(function (A, e) {
+ if (t)
+ if (isIdentToken(e))
+ switch (e.value) {
+ case 'center':
+ return i.push(FIFTY_PERCENT), A
+ case 'top':
+ case 'left':
+ return i.push(ZERO_LENGTH), A
+ case 'right':
+ case 'bottom':
+ return i.push(HUNDRED_PERCENT), A
+ }
+ else (isLengthPercentage(e) || isLength(e)) && i.push(e)
+ else if (isIdentToken(e))
+ switch (e.value) {
+ case CIRCLE:
+ return (B = 0), !1
+ case ELLIPSE:
+ return !(B = 1)
+ case 'at':
+ return !(t = !0)
+ case CLOSEST_SIDE:
+ return (o = 0), !1
+ case COVER:
+ case FARTHEST_SIDE:
+ return !(o = 1)
+ case CONTAIN:
+ case CLOSEST_CORNER:
+ return !(o = 2)
+ case FARTHEST_CORNER:
+ return !(o = 3)
+ }
+ else if (isLength(e) || isLengthPercentage(e))
+ return (o = !Array.isArray(o) ? [] : o).push(e), !1
+ return A
+ }, r))),
+ r && ((A = parseColorStop(n, A)), s.push(A))
+ }),
+ { size: o, shape: B, stops: s, position: i, type: 2 }
+ )
+ },
+ prefixRadialGradient = function (r, A) {
+ var n = 0,
+ B = 3,
+ o = [],
+ s = []
+ return (
+ parseFunctionArgs(A).forEach(function (A, e) {
+ var t = !0
+ 0 === e
+ ? (t = A.reduce(function (A, e) {
+ if (isIdentToken(e))
+ switch (e.value) {
+ case 'center':
+ return s.push(FIFTY_PERCENT), !1
+ case 'top':
+ case 'left':
+ return s.push(ZERO_LENGTH), !1
+ case 'right':
+ case 'bottom':
+ return s.push(HUNDRED_PERCENT), !1
+ }
+ else if (isLengthPercentage(e) || isLength(e)) return s.push(e), !1
+ return A
+ }, t))
+ : 1 === e &&
+ (t = A.reduce(function (A, e) {
+ if (isIdentToken(e))
+ switch (e.value) {
+ case CIRCLE:
+ return (n = 0), !1
+ case ELLIPSE:
+ return !(n = 1)
+ case CONTAIN:
+ case CLOSEST_SIDE:
+ return (B = 0), !1
+ case FARTHEST_SIDE:
+ return !(B = 1)
+ case CLOSEST_CORNER:
+ return !(B = 2)
+ case COVER:
+ case FARTHEST_CORNER:
+ return !(B = 3)
+ }
+ else if (isLength(e) || isLengthPercentage(e))
+ return (B = !Array.isArray(B) ? [] : B).push(e), !1
+ return A
+ }, t)),
+ t && ((A = parseColorStop(r, A)), o.push(A))
+ }),
+ { size: B, shape: n, stops: o, position: s, type: 2 }
+ )
+ },
+ isLinearGradient = function (A) {
+ return 1 === A.type
+ },
+ isRadialGradient = function (A) {
+ return 2 === A.type
+ },
+ image = {
+ name: 'image',
+ parse: function (A, e) {
+ if (22 === e.type) {
+ var t = { url: e.value, type: 0 }
+ return A.cache.addImage(e.value), t
+ }
+ if (18 !== e.type) throw new Error('Unsupported image type ' + e.type)
+ t = SUPPORTED_IMAGE_FUNCTIONS[e.name]
+ if (void 0 === t)
+ throw new Error('Attempting to parse an unsupported image function "' + e.name + '"')
+ return t(A, e.values)
+ },
+ }
+function isSupportedImage(A) {
+ return !(
+ (20 === A.type && 'none' === A.value) ||
+ (18 === A.type && !SUPPORTED_IMAGE_FUNCTIONS[A.name])
+ )
+}
+var BACKGROUND_SIZE,
+ SUPPORTED_IMAGE_FUNCTIONS = {
+ 'linear-gradient': linearGradient,
+ '-moz-linear-gradient': prefixLinearGradient,
+ '-ms-linear-gradient': prefixLinearGradient,
+ '-o-linear-gradient': prefixLinearGradient,
+ '-webkit-linear-gradient': prefixLinearGradient,
+ 'radial-gradient': radialGradient,
+ '-moz-radial-gradient': prefixRadialGradient,
+ '-ms-radial-gradient': prefixRadialGradient,
+ '-o-radial-gradient': prefixRadialGradient,
+ '-webkit-radial-gradient': prefixRadialGradient,
+ '-webkit-gradient': webkitGradient,
+ },
+ backgroundImage = {
+ name: 'background-image',
+ initialValue: 'none',
+ type: 1,
+ prefix: !1,
+ parse: function (e, A) {
+ if (0 === A.length) return []
+ var t = A[0]
+ return 20 === t.type && 'none' === t.value
+ ? []
+ : A.filter(function (A) {
+ return nonFunctionArgSeparator(A) && isSupportedImage(A)
+ }).map(function (A) {
+ return image.parse(e, A)
+ })
+ },
+ },
+ backgroundOrigin = {
+ name: 'background-origin',
+ initialValue: 'border-box',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ return e.map(function (A) {
+ if (isIdentToken(A))
+ switch (A.value) {
+ case 'padding-box':
+ return 1
+ case 'content-box':
+ return 2
+ }
+ return 0
+ })
+ },
+ },
+ backgroundPosition = {
+ name: 'background-position',
+ initialValue: '0% 0%',
+ type: 1,
+ prefix: !1,
+ parse: function (A, e) {
+ return parseFunctionArgs(e)
+ .map(function (A) {
+ return A.filter(isLengthPercentage)
+ })
+ .map(parseLengthPercentageTuple)
+ },
+ },
+ backgroundRepeat = {
+ name: 'background-repeat',
+ initialValue: 'repeat',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ return parseFunctionArgs(e)
+ .map(function (A) {
+ return A.filter(isIdentToken)
+ .map(function (A) {
+ return A.value
+ })
+ .join(' ')
+ })
+ .map(parseBackgroundRepeat)
+ },
+ },
+ parseBackgroundRepeat = function (A) {
+ switch (A) {
+ case 'no-repeat':
+ return 1
+ case 'repeat-x':
+ case 'repeat no-repeat':
+ return 2
+ case 'repeat-y':
+ case 'no-repeat repeat':
+ return 3
+ default:
+ return 0
+ }
+ }
+!(function (A) {
+ ;(A.AUTO = 'auto'), (A.CONTAIN = 'contain'), (A.COVER = 'cover')
+})((BACKGROUND_SIZE = BACKGROUND_SIZE || {}))
+var LINE_BREAK,
+ backgroundSize = {
+ name: 'background-size',
+ initialValue: '0',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ return parseFunctionArgs(e).map(function (A) {
+ return A.filter(isBackgroundSizeInfoToken)
+ })
+ },
+ },
+ isBackgroundSizeInfoToken = function (A) {
+ return isIdentToken(A) || isLengthPercentage(A)
+ },
+ borderColorForSide = function (A) {
+ return {
+ name: 'border-' + A + '-color',
+ initialValue: 'transparent',
+ prefix: !1,
+ type: 3,
+ format: 'color',
+ }
+ },
+ borderTopColor = borderColorForSide('top'),
+ borderRightColor = borderColorForSide('right'),
+ borderBottomColor = borderColorForSide('bottom'),
+ borderLeftColor = borderColorForSide('left'),
+ borderRadiusForSide = function (A) {
+ return {
+ name: 'border-radius-' + A,
+ initialValue: '0 0',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ return parseLengthPercentageTuple(e.filter(isLengthPercentage))
+ },
+ }
+ },
+ borderTopLeftRadius = borderRadiusForSide('top-left'),
+ borderTopRightRadius = borderRadiusForSide('top-right'),
+ borderBottomRightRadius = borderRadiusForSide('bottom-right'),
+ borderBottomLeftRadius = borderRadiusForSide('bottom-left'),
+ borderStyleForSide = function (A) {
+ return {
+ name: 'border-' + A + '-style',
+ initialValue: 'solid',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'none':
+ return 0
+ case 'dashed':
+ return 2
+ case 'dotted':
+ return 3
+ case 'double':
+ return 4
+ }
+ return 1
+ },
+ }
+ },
+ borderTopStyle = borderStyleForSide('top'),
+ borderRightStyle = borderStyleForSide('right'),
+ borderBottomStyle = borderStyleForSide('bottom'),
+ borderLeftStyle = borderStyleForSide('left'),
+ borderWidthForSide = function (A) {
+ return {
+ name: 'border-' + A + '-width',
+ initialValue: '0',
+ type: 0,
+ prefix: !1,
+ parse: function (A, e) {
+ return isDimensionToken(e) ? e.number : 0
+ },
+ }
+ },
+ borderTopWidth = borderWidthForSide('top'),
+ borderRightWidth = borderWidthForSide('right'),
+ borderBottomWidth = borderWidthForSide('bottom'),
+ borderLeftWidth = borderWidthForSide('left'),
+ color = { name: 'color', initialValue: 'transparent', prefix: !1, type: 3, format: 'color' },
+ direction = {
+ name: 'direction',
+ initialValue: 'ltr',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ return 'rtl' !== e ? 0 : 1
+ },
+ },
+ display = {
+ name: 'display',
+ initialValue: 'inline-block',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ return e.filter(isIdentToken).reduce(function (A, e) {
+ return A | parseDisplayValue(e.value)
+ }, 0)
+ },
+ },
+ parseDisplayValue = function (A) {
+ switch (A) {
+ case 'block':
+ case '-webkit-box':
+ 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
+ },
+ float = {
+ name: 'float',
+ initialValue: 'none',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'left':
+ return 1
+ case 'right':
+ return 2
+ case 'inline-start':
+ return 3
+ case 'inline-end':
+ return 4
+ }
+ return 0
+ },
+ },
+ letterSpacing = {
+ name: 'letter-spacing',
+ initialValue: '0',
+ prefix: !1,
+ type: 0,
+ parse: function (A, e) {
+ return !((20 === e.type && 'normal' === e.value) || (17 !== e.type && 15 !== e.type))
+ ? e.number
+ : 0
+ },
+ }
+!(function (A) {
+ ;(A.NORMAL = 'normal'), (A.STRICT = 'strict')
+})((LINE_BREAK = LINE_BREAK || {}))
+var WORD_BREAK,
+ lineBreak = {
+ name: 'line-break',
+ initialValue: 'normal',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ return 'strict' !== e ? LINE_BREAK.NORMAL : LINE_BREAK.STRICT
+ },
+ },
+ lineHeight = { name: 'line-height', initialValue: 'normal', prefix: !1, type: 4 },
+ computeLineHeight = function (A, e) {
+ return isIdentToken(A) && 'normal' === A.value
+ ? 1.2 * e
+ : 17 === A.type
+ ? e * A.number
+ : isLengthPercentage(A)
+ ? getAbsoluteValue(A, e)
+ : e
+ },
+ listStyleImage = {
+ name: 'list-style-image',
+ initialValue: 'none',
+ type: 0,
+ prefix: !1,
+ parse: function (A, e) {
+ return 20 === e.type && 'none' === e.value ? null : image.parse(A, e)
+ },
+ },
+ listStylePosition = {
+ name: 'list-style-position',
+ initialValue: 'outside',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ return 'inside' !== e ? 1 : 0
+ },
+ },
+ listStyleType = {
+ name: 'list-style-type',
+ initialValue: 'none',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'disc':
+ return 0
+ case 'circle':
+ return 1
+ case 'square':
+ return 2
+ case 'decimal':
+ return 3
+ case 'cjk-decimal':
+ return 4
+ case 'decimal-leading-zero':
+ return 5
+ case 'lower-roman':
+ return 6
+ case 'upper-roman':
+ return 7
+ case 'lower-greek':
+ return 8
+ case 'lower-alpha':
+ return 9
+ case 'upper-alpha':
+ return 10
+ case 'arabic-indic':
+ return 11
+ case 'armenian':
+ return 12
+ case 'bengali':
+ return 13
+ case 'cambodian':
+ return 14
+ case 'cjk-earthly-branch':
+ return 15
+ case 'cjk-heavenly-stem':
+ return 16
+ case 'cjk-ideographic':
+ return 17
+ case 'devanagari':
+ return 18
+ case 'ethiopic-numeric':
+ return 19
+ case 'georgian':
+ return 20
+ case 'gujarati':
+ return 21
+ case 'gurmukhi':
+ case 'hebrew':
+ return 22
+ case 'hiragana':
+ return 23
+ case 'hiragana-iroha':
+ return 24
+ case 'japanese-formal':
+ return 25
+ case 'japanese-informal':
+ return 26
+ case 'kannada':
+ return 27
+ case 'katakana':
+ return 28
+ case 'katakana-iroha':
+ return 29
+ case 'khmer':
+ return 30
+ case 'korean-hangul-formal':
+ return 31
+ case 'korean-hanja-formal':
+ return 32
+ case 'korean-hanja-informal':
+ return 33
+ case 'lao':
+ return 34
+ case 'lower-armenian':
+ return 35
+ case 'malayalam':
+ return 36
+ case 'mongolian':
+ return 37
+ case 'myanmar':
+ return 38
+ case 'oriya':
+ return 39
+ case 'persian':
+ return 40
+ case 'simp-chinese-formal':
+ return 41
+ case 'simp-chinese-informal':
+ return 42
+ case 'tamil':
+ return 43
+ case 'telugu':
+ return 44
+ case 'thai':
+ return 45
+ case 'tibetan':
+ return 46
+ case 'trad-chinese-formal':
+ return 47
+ case 'trad-chinese-informal':
+ return 48
+ case 'upper-armenian':
+ return 49
+ case 'disclosure-open':
+ return 50
+ case 'disclosure-closed':
+ return 51
+ default:
+ return -1
+ }
+ },
+ },
+ marginForSide = function (A) {
+ return { name: 'margin-' + A, initialValue: '0', prefix: !1, type: 4 }
+ },
+ marginTop = marginForSide('top'),
+ marginRight = marginForSide('right'),
+ marginBottom = marginForSide('bottom'),
+ marginLeft = marginForSide('left'),
+ overflow = {
+ name: 'overflow',
+ initialValue: 'visible',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ return e.filter(isIdentToken).map(function (A) {
+ switch (A.value) {
+ case 'hidden':
+ return 1
+ case 'scroll':
+ return 2
+ case 'clip':
+ return 3
+ case 'auto':
+ return 4
+ default:
+ return 0
+ }
+ })
+ },
+ },
+ overflowWrap = {
+ name: 'overflow-wrap',
+ initialValue: 'normal',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ return 'break-word' !== e ? 'normal' : 'break-word'
+ },
+ },
+ paddingForSide = function (A) {
+ return {
+ name: 'padding-' + A,
+ initialValue: '0',
+ prefix: !1,
+ type: 3,
+ format: 'length-percentage',
+ }
+ },
+ paddingTop = paddingForSide('top'),
+ paddingRight = paddingForSide('right'),
+ paddingBottom = paddingForSide('bottom'),
+ paddingLeft = paddingForSide('left'),
+ textAlign = {
+ name: 'text-align',
+ initialValue: 'left',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'right':
+ return 2
+ case 'center':
+ case 'justify':
+ return 1
+ default:
+ return 0
+ }
+ },
+ },
+ position = {
+ name: 'position',
+ initialValue: 'static',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'relative':
+ return 1
+ case 'absolute':
+ return 2
+ case 'fixed':
+ return 3
+ case 'sticky':
+ return 4
+ }
+ return 0
+ },
+ },
+ textShadow = {
+ name: 'text-shadow',
+ initialValue: 'none',
+ type: 1,
+ prefix: !1,
+ parse: function (B, A) {
+ return 1 === A.length && isIdentWithValue(A[0], 'none')
+ ? []
+ : parseFunctionArgs(A).map(function (A) {
+ for (
+ var e = {
+ color: COLORS.TRANSPARENT,
+ offsetX: ZERO_LENGTH,
+ offsetY: ZERO_LENGTH,
+ blur: ZERO_LENGTH,
+ },
+ t = 0,
+ r = 0;
+ r < A.length;
+ r++
+ ) {
+ var n = A[r]
+ isLength(n)
+ ? (0 === t ? (e.offsetX = n) : 1 === t ? (e.offsetY = n) : (e.blur = n), t++)
+ : (e.color = color$1.parse(B, n))
+ }
+ return e
+ })
+ },
+ },
+ textTransform = {
+ name: 'text-transform',
+ initialValue: 'none',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'uppercase':
+ return 2
+ case 'lowercase':
+ return 1
+ case 'capitalize':
+ return 3
+ }
+ return 0
+ },
+ },
+ transform$1 = {
+ name: 'transform',
+ initialValue: 'none',
+ prefix: !0,
+ type: 0,
+ parse: function (A, e) {
+ if (20 === e.type && 'none' === e.value) return null
+ if (18 !== e.type) return null
+ var t = SUPPORTED_TRANSFORM_FUNCTIONS[e.name]
+ if (void 0 === t)
+ throw new Error('Attempting to parse an unsupported transform function "' + e.name + '"')
+ return t(e.values)
+ },
+ },
+ matrix = function (A) {
+ A = A.filter(function (A) {
+ return 17 === A.type
+ }).map(function (A) {
+ return A.number
+ })
+ return 6 === A.length ? A : null
+ },
+ matrix3d = function (A) {
+ var e = A.filter(function (A) {
+ return 17 === A.type
+ }).map(function (A) {
+ return A.number
+ }),
+ t = e[0],
+ r = e[1]
+ e[2], e[3]
+ var n = e[4],
+ B = e[5]
+ e[6], e[7], e[8], e[9], e[10], e[11]
+ var o = e[12],
+ A = e[13]
+ return e[14], e[15], 16 === e.length ? [t, r, n, B, o, A] : null
+ },
+ SUPPORTED_TRANSFORM_FUNCTIONS = { matrix: matrix, matrix3d: matrix3d },
+ DEFAULT_VALUE = { type: 16, number: 50, flags: FLAG_INTEGER },
+ DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE],
+ transformOrigin = {
+ name: 'transform-origin',
+ initialValue: '50% 50%',
+ prefix: !0,
+ type: 1,
+ parse: function (A, e) {
+ e = e.filter(isLengthPercentage)
+ return 2 !== e.length ? DEFAULT : [e[0], e[1]]
+ },
+ },
+ visibility = {
+ name: 'visible',
+ initialValue: 'none',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'hidden':
+ return 1
+ case 'collapse':
+ return 2
+ default:
+ return 0
+ }
+ },
+ }
+!(function (A) {
+ ;(A.NORMAL = 'normal'), (A.BREAK_ALL = 'break-all'), (A.KEEP_ALL = 'keep-all')
+})((WORD_BREAK = WORD_BREAK || {}))
+for (
+ var wordBreak = {
+ name: 'word-break',
+ initialValue: 'normal',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'break-all':
+ return WORD_BREAK.BREAK_ALL
+ case 'keep-all':
+ return WORD_BREAK.KEEP_ALL
+ default:
+ return WORD_BREAK.NORMAL
+ }
+ },
+ },
+ zIndex = {
+ name: 'z-index',
+ initialValue: 'auto',
+ prefix: !1,
+ type: 0,
+ parse: function (A, e) {
+ if (20 === e.type) return { auto: !0, order: 0 }
+ if (isNumberToken(e)) return { auto: !1, order: e.number }
+ throw new Error('Invalid z-index number parsed')
+ },
+ },
+ time = {
+ name: 'time',
+ parse: function (A, e) {
+ if (15 === e.type)
+ switch (e.unit.toLowerCase()) {
+ case 's':
+ return 1e3 * e.number
+ case 'ms':
+ return e.number
+ }
+ throw new Error('Unsupported time type')
+ },
+ },
+ opacity = {
+ name: 'opacity',
+ initialValue: '1',
+ type: 0,
+ prefix: !1,
+ parse: function (A, e) {
+ return isNumberToken(e) ? e.number : 1
+ },
+ },
+ textDecorationColor = {
+ name: 'text-decoration-color',
+ initialValue: 'transparent',
+ prefix: !1,
+ type: 3,
+ format: 'color',
+ },
+ textDecorationLine = {
+ name: 'text-decoration-line',
+ initialValue: 'none',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ return e
+ .filter(isIdentToken)
+ .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
+ })
+ },
+ },
+ fontFamily = {
+ name: 'font-family',
+ initialValue: '',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ var t = [],
+ r = []
+ return (
+ e.forEach(function (A) {
+ switch (A.type) {
+ case 20:
+ case 0:
+ t.push(A.value)
+ break
+ case 17:
+ t.push(A.number.toString())
+ break
+ case 4:
+ r.push(t.join(' ')), (t.length = 0)
+ }
+ }),
+ t.length && r.push(t.join(' ')),
+ r.map(function (A) {
+ return -1 === A.indexOf(' ') ? A : "'" + A + "'"
+ })
+ )
+ },
+ },
+ fontSize = { name: 'font-size', initialValue: '0', prefix: !1, type: 3, format: 'length' },
+ fontWeight = {
+ name: 'font-weight',
+ initialValue: 'normal',
+ type: 0,
+ prefix: !1,
+ parse: function (A, e) {
+ return isNumberToken(e) ? e.number : !isIdentToken(e) || 'bold' !== e.value ? 400 : 700
+ },
+ },
+ fontVariant = {
+ name: 'font-variant',
+ initialValue: 'none',
+ type: 1,
+ prefix: !1,
+ parse: function (A, e) {
+ return e.filter(isIdentToken).map(function (A) {
+ return A.value
+ })
+ },
+ },
+ fontStyle = {
+ name: 'font-style',
+ initialValue: 'normal',
+ prefix: !1,
+ type: 2,
+ parse: function (A, e) {
+ switch (e) {
+ case 'oblique':
+ return 'oblique'
+ case 'italic':
+ return 'italic'
+ default:
+ return 'normal'
+ }
+ },
+ },
+ contains = function (A, e) {
+ return 0 != (A & e)
+ },
+ content = {
+ name: 'content',
+ initialValue: 'none',
+ type: 1,
+ prefix: !1,
+ parse: function (A, e) {
+ if (0 === e.length) return []
+ var t = e[0]
+ return 20 === t.type && 'none' === t.value ? [] : e
+ },
+ },
+ counterIncrement = {
+ name: 'counter-increment',
+ initialValue: 'none',
+ prefix: !0,
+ type: 1,
+ parse: function (A, e) {
+ if (0 === e.length) return null
+ var t = e[0]
+ if (20 === t.type && 'none' === t.value) return null
+ for (var r = [], n = e.filter(nonWhiteSpace), B = 0; B < n.length; B++) {
+ var o = n[B],
+ s = n[B + 1]
+ 20 === o.type &&
+ ((s = s && isNumberToken(s) ? s.number : 1), r.push({ counter: o.value, increment: s }))
+ }
+ return r
+ },
+ },
+ counterReset = {
+ name: 'counter-reset',
+ initialValue: 'none',
+ prefix: !0,
+ type: 1,
+ parse: function (A, e) {
+ if (0 === e.length) return []
+ for (var t = [], r = e.filter(nonWhiteSpace), n = 0; n < r.length; n++) {
+ var B = r[n],
+ o = r[n + 1]
+ isIdentToken(B) &&
+ 'none' !== B.value &&
+ ((o = o && isNumberToken(o) ? o.number : 0), t.push({ counter: B.value, reset: o }))
+ }
+ return t
+ },
+ },
+ duration = {
+ name: 'duration',
+ initialValue: '0s',
+ prefix: !1,
+ type: 1,
+ parse: function (e, A) {
+ return A.filter(isDimensionToken).map(function (A) {
+ return time.parse(e, A)
+ })
+ },
+ },
+ quotes = {
+ name: 'quotes',
+ initialValue: 'none',
+ prefix: !0,
+ type: 1,
+ parse: function (A, e) {
+ if (0 === e.length) return null
+ var t = e[0]
+ if (20 === t.type && 'none' === t.value) return null
+ var r = [],
+ n = e.filter(isStringToken)
+ if (n.length % 2 != 0) return null
+ for (var B = 0; B < n.length; B += 2) {
+ var o = n[B].value,
+ s = n[B + 1].value
+ r.push({ open: o, close: s })
+ }
+ return r
+ },
+ },
+ getQuote = function (A, e, t) {
+ if (!A) return ''
+ A = A[Math.min(e, A.length - 1)]
+ return A ? (t ? A.open : A.close) : ''
+ },
+ boxShadow = {
+ name: 'box-shadow',
+ initialValue: 'none',
+ type: 1,
+ prefix: !1,
+ parse: function (B, A) {
+ return 1 === A.length && isIdentWithValue(A[0], 'none')
+ ? []
+ : parseFunctionArgs(A).map(function (A) {
+ for (
+ var e = {
+ color: 255,
+ offsetX: ZERO_LENGTH,
+ offsetY: ZERO_LENGTH,
+ blur: ZERO_LENGTH,
+ spread: ZERO_LENGTH,
+ inset: !1,
+ },
+ t = 0,
+ r = 0;
+ r < A.length;
+ r++
+ ) {
+ var n = A[r]
+ isIdentWithValue(n, 'inset')
+ ? (e.inset = !0)
+ : isLength(n)
+ ? (0 === t
+ ? (e.offsetX = n)
+ : 1 === t
+ ? (e.offsetY = n)
+ : 2 === t
+ ? (e.blur = n)
+ : (e.spread = n),
+ t++)
+ : (e.color = color$1.parse(B, n))
+ }
+ return e
+ })
+ },
+ },
+ paintOrder = {
+ name: 'paint-order',
+ initialValue: 'normal',
+ prefix: !1,
+ type: 1,
+ parse: function (A, e) {
+ var t = []
+ return (
+ e.filter(isIdentToken).forEach(function (A) {
+ switch (A.value) {
+ case 'stroke':
+ t.push(1)
+ break
+ case 'fill':
+ t.push(0)
+ break
+ case 'markers':
+ t.push(2)
+ }
+ }),
+ [0, 1, 2].forEach(function (A) {
+ ;-1 === t.indexOf(A) && t.push(A)
+ }),
+ t
+ )
+ },
+ },
+ webkitTextStrokeColor = {
+ name: '-webkit-text-stroke-color',
+ initialValue: 'currentcolor',
+ prefix: !1,
+ type: 3,
+ format: 'color',
+ },
+ webkitTextStrokeWidth = {
+ name: '-webkit-text-stroke-width',
+ initialValue: '0',
+ type: 0,
+ prefix: !1,
+ parse: function (A, e) {
+ return isDimensionToken(e) ? e.number : 0
+ },
+ },
+ CSSParsedDeclaration = (function () {
+ function A(A, e) {
+ ;(this.animationDuration = parse(A, duration, e.animationDuration)),
+ (this.backgroundClip = parse(A, backgroundClip, e.backgroundClip)),
+ (this.backgroundColor = parse(A, backgroundColor, e.backgroundColor)),
+ (this.backgroundImage = parse(A, backgroundImage, e.backgroundImage)),
+ (this.backgroundOrigin = parse(A, backgroundOrigin, e.backgroundOrigin)),
+ (this.backgroundPosition = parse(A, backgroundPosition, e.backgroundPosition)),
+ (this.backgroundRepeat = parse(A, backgroundRepeat, e.backgroundRepeat)),
+ (this.backgroundSize = parse(A, backgroundSize, e.backgroundSize)),
+ (this.borderTopColor = parse(A, borderTopColor, e.borderTopColor)),
+ (this.borderRightColor = parse(A, borderRightColor, e.borderRightColor)),
+ (this.borderBottomColor = parse(A, borderBottomColor, e.borderBottomColor)),
+ (this.borderLeftColor = parse(A, borderLeftColor, e.borderLeftColor)),
+ (this.borderTopLeftRadius = parse(A, borderTopLeftRadius, e.borderTopLeftRadius)),
+ (this.borderTopRightRadius = parse(A, borderTopRightRadius, e.borderTopRightRadius)),
+ (this.borderBottomRightRadius = parse(
+ A,
+ borderBottomRightRadius,
+ e.borderBottomRightRadius,
+ )),
+ (this.borderBottomLeftRadius = parse(
+ A,
+ borderBottomLeftRadius,
+ e.borderBottomLeftRadius,
+ )),
+ (this.borderTopStyle = parse(A, borderTopStyle, e.borderTopStyle)),
+ (this.borderRightStyle = parse(A, borderRightStyle, e.borderRightStyle)),
+ (this.borderBottomStyle = parse(A, borderBottomStyle, e.borderBottomStyle)),
+ (this.borderLeftStyle = parse(A, borderLeftStyle, e.borderLeftStyle)),
+ (this.borderTopWidth = parse(A, borderTopWidth, e.borderTopWidth)),
+ (this.borderRightWidth = parse(A, borderRightWidth, e.borderRightWidth)),
+ (this.borderBottomWidth = parse(A, borderBottomWidth, e.borderBottomWidth)),
+ (this.borderLeftWidth = parse(A, borderLeftWidth, e.borderLeftWidth)),
+ (this.boxShadow = parse(A, boxShadow, e.boxShadow)),
+ (this.color = parse(A, color, e.color)),
+ (this.direction = parse(A, direction, e.direction)),
+ (this.display = parse(A, display, e.display)),
+ (this.float = parse(A, float, e.cssFloat)),
+ (this.fontFamily = parse(A, fontFamily, e.fontFamily)),
+ (this.fontSize = parse(A, fontSize, e.fontSize)),
+ (this.fontStyle = parse(A, fontStyle, e.fontStyle)),
+ (this.fontVariant = parse(A, fontVariant, e.fontVariant)),
+ (this.fontWeight = parse(A, fontWeight, e.fontWeight)),
+ (this.letterSpacing = parse(A, letterSpacing, e.letterSpacing)),
+ (this.lineBreak = parse(A, lineBreak, e.lineBreak)),
+ (this.lineHeight = parse(A, lineHeight, e.lineHeight)),
+ (this.listStyleImage = parse(A, listStyleImage, e.listStyleImage)),
+ (this.listStylePosition = parse(A, listStylePosition, e.listStylePosition)),
+ (this.listStyleType = parse(A, listStyleType, e.listStyleType)),
+ (this.marginTop = parse(A, marginTop, e.marginTop)),
+ (this.marginRight = parse(A, marginRight, e.marginRight)),
+ (this.marginBottom = parse(A, marginBottom, e.marginBottom)),
+ (this.marginLeft = parse(A, marginLeft, e.marginLeft)),
+ (this.opacity = parse(A, opacity, e.opacity))
+ var t = parse(A, overflow, e.overflow)
+ ;(this.overflowX = t[0]),
+ (this.overflowY = t[1 < t.length ? 1 : 0]),
+ (this.overflowWrap = parse(A, overflowWrap, e.overflowWrap)),
+ (this.paddingTop = parse(A, paddingTop, e.paddingTop)),
+ (this.paddingRight = parse(A, paddingRight, e.paddingRight)),
+ (this.paddingBottom = parse(A, paddingBottom, e.paddingBottom)),
+ (this.paddingLeft = parse(A, paddingLeft, e.paddingLeft)),
+ (this.paintOrder = parse(A, paintOrder, e.paintOrder)),
+ (this.position = parse(A, position, e.position)),
+ (this.textAlign = parse(A, textAlign, e.textAlign)),
+ (this.textDecorationColor = parse(
+ A,
+ textDecorationColor,
+ null !== (t = e.textDecorationColor) && void 0 !== t ? t : e.color,
+ )),
+ (this.textDecorationLine = parse(
+ A,
+ textDecorationLine,
+ null !== (t = e.textDecorationLine) && void 0 !== t ? t : e.textDecoration,
+ )),
+ (this.textShadow = parse(A, textShadow, e.textShadow)),
+ (this.textTransform = parse(A, textTransform, e.textTransform)),
+ (this.transform = parse(A, transform$1, e.transform)),
+ (this.transformOrigin = parse(A, transformOrigin, e.transformOrigin)),
+ (this.visibility = parse(A, visibility, e.visibility)),
+ (this.webkitTextStrokeColor = parse(A, webkitTextStrokeColor, e.webkitTextStrokeColor)),
+ (this.webkitTextStrokeWidth = parse(A, webkitTextStrokeWidth, e.webkitTextStrokeWidth)),
+ (this.wordBreak = parse(A, wordBreak, e.wordBreak)),
+ (this.zIndex = parse(A, zIndex, e.zIndex))
+ }
+ return (
+ (A.prototype.isVisible = function () {
+ return 0 < this.display && 0 < this.opacity && 0 === this.visibility
+ }),
+ (A.prototype.isTransparent = function () {
+ return isTransparent(this.backgroundColor)
+ }),
+ (A.prototype.isTransformed = function () {
+ return null !== this.transform
+ }),
+ (A.prototype.isPositioned = function () {
+ return 0 !== this.position
+ }),
+ (A.prototype.isPositionedWithZIndex = function () {
+ return this.isPositioned() && !this.zIndex.auto
+ }),
+ (A.prototype.isFloating = function () {
+ return 0 !== this.float
+ }),
+ (A.prototype.isInlineLevel = function () {
+ return (
+ contains(this.display, 4) ||
+ contains(this.display, 33554432) ||
+ contains(this.display, 268435456) ||
+ contains(this.display, 536870912) ||
+ contains(this.display, 67108864) ||
+ contains(this.display, 134217728)
+ )
+ }),
+ A
+ )
+ })(),
+ CSSParsedPseudoDeclaration = function (A, e) {
+ ;(this.content = parse(A, content, e.content)), (this.quotes = parse(A, quotes, e.quotes))
+ },
+ CSSParsedCounterDeclaration = function (A, e) {
+ ;(this.counterIncrement = parse(A, counterIncrement, e.counterIncrement)),
+ (this.counterReset = parse(A, counterReset, e.counterReset))
+ },
+ parse = function (A, e, t) {
+ var r = new Tokenizer(),
+ t = null != t ? t.toString() : e.initialValue
+ r.write(t)
+ var n = new Parser(r.read())
+ switch (e.type) {
+ case 2:
+ var B = n.parseComponentValue()
+ return e.parse(A, isIdentToken(B) ? B.value : e.initialValue)
+ case 0:
+ return e.parse(A, n.parseComponentValue())
+ case 1:
+ return e.parse(A, n.parseComponentValues())
+ case 4:
+ return n.parseComponentValue()
+ case 3:
+ switch (e.format) {
+ case 'angle':
+ return angle.parse(A, n.parseComponentValue())
+ case 'color':
+ return color$1.parse(A, n.parseComponentValue())
+ case 'image':
+ return image.parse(A, n.parseComponentValue())
+ case 'length':
+ var o = n.parseComponentValue()
+ return isLength(o) ? o : ZERO_LENGTH
+ case 'length-percentage':
+ o = n.parseComponentValue()
+ return isLengthPercentage(o) ? o : ZERO_LENGTH
+ case 'time':
+ return time.parse(A, n.parseComponentValue())
+ }
+ }
+ },
+ elementDebuggerAttribute = 'data-html2canvas-debug',
+ getElementDebugType = function (A) {
+ switch (A.getAttribute(elementDebuggerAttribute)) {
+ case 'all':
+ return 1
+ case 'clone':
+ return 2
+ case 'parse':
+ return 3
+ case 'render':
+ return 4
+ default:
+ return 0
+ }
+ },
+ isDebugging = function (A, e) {
+ A = getElementDebugType(A)
+ return 1 === A || e === A
+ },
+ ElementContainer = function (A, e) {
+ ;(this.context = A),
+ (this.textNodes = []),
+ (this.elements = []),
+ (this.flags = 0),
+ isDebugging(e, 3),
+ (this.styles = new CSSParsedDeclaration(A, window.getComputedStyle(e, null))),
+ isHTMLElementNode(e) &&
+ (this.styles.animationDuration.some(function (A) {
+ return 0 < A
+ }) && (e.style.animationDuration = '0s'),
+ null !== this.styles.transform && (e.style.transform = 'none')),
+ (this.bounds = parseBounds(this.context, e)),
+ isDebugging(e, 4) && (this.flags |= 16)
+ },
+ base64 =
+ 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=',
+ chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+ lookup$1 = 'undefined' == typeof Uint8Array ? [] : new Uint8Array(256),
+ i$1 = 0;
+ i$1 < chars$1.length;
+ i$1++
+)
+ lookup$1[chars$1.charCodeAt(i$1)] = i$1
+for (
+ var decode = function (A) {
+ var e,
+ t,
+ r,
+ n,
+ B = 0.75 * A.length,
+ o = A.length,
+ s = 0
+ '=' === A[A.length - 1] && (B--, '=' === A[A.length - 2] && B--)
+ for (
+ var B = new (
+ 'undefined' != typeof ArrayBuffer &&
+ 'undefined' != typeof Uint8Array &&
+ void 0 !== Uint8Array.prototype.slice
+ ? ArrayBuffer
+ : Array
+ )(B),
+ i = Array.isArray(B) ? B : new Uint8Array(B),
+ a = 0;
+ a < o;
+ a += 4
+ )
+ (e = lookup$1[A.charCodeAt(a)]),
+ (t = lookup$1[A.charCodeAt(a + 1)]),
+ (r = lookup$1[A.charCodeAt(a + 2)]),
+ (n = lookup$1[A.charCodeAt(a + 3)]),
+ (i[s++] = (e << 2) | (t >> 4)),
+ (i[s++] = ((15 & t) << 4) | (r >> 2)),
+ (i[s++] = ((3 & r) << 6) | (63 & n))
+ return B
+ },
+ polyUint16Array = function (A) {
+ for (var e = A.length, t = [], r = 0; r < e; r += 2) t.push((A[r + 1] << 8) | A[r])
+ return t
+ },
+ polyUint32Array = 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
+ },
+ UTRIE2_SHIFT_2 = 5,
+ UTRIE2_SHIFT_1 = 11,
+ UTRIE2_INDEX_SHIFT = 2,
+ UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2,
+ UTRIE2_LSCP_INDEX_2_OFFSET = 65536 >> UTRIE2_SHIFT_2,
+ UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2,
+ UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1,
+ UTRIE2_LSCP_INDEX_2_LENGTH = 1024 >> UTRIE2_SHIFT_2,
+ UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH,
+ UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH,
+ UTRIE2_UTF8_2B_INDEX_2_LENGTH = 32,
+ UTRIE2_INDEX_1_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH + UTRIE2_UTF8_2B_INDEX_2_LENGTH,
+ UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 65536 >> UTRIE2_SHIFT_1,
+ UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2,
+ UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1,
+ slice16 = function (A, e, t) {
+ return A.slice ? A.slice(e, t) : new Uint16Array(Array.prototype.slice.call(A, e, t))
+ },
+ slice32 = function (A, e, t) {
+ return A.slice ? A.slice(e, t) : new Uint32Array(Array.prototype.slice.call(A, e, t))
+ },
+ createTrieFromBase64 = function (A, e) {
+ var t = decode(A),
+ r = Array.isArray(t) ? polyUint32Array(t) : new Uint32Array(t),
+ A = Array.isArray(t) ? polyUint16Array(t) : new Uint16Array(t),
+ t = slice16(A, 12, r[4] / 2),
+ A = 2 === r[5] ? slice16(A, (24 + r[4]) / 2) : slice32(r, Math.ceil((24 + r[4]) / 4))
+ return new Trie(r[0], r[1], r[2], r[3], t, A)
+ },
+ Trie = (function () {
+ function A(A, e, t, r, n, B) {
+ ;(this.initialValue = A),
+ (this.errorValue = e),
+ (this.highStart = t),
+ (this.highValueIndex = r),
+ (this.index = n),
+ (this.data = B)
+ }
+ return (
+ (A.prototype.get = function (A) {
+ var e
+ if (0 <= A) {
+ if (A < 55296 || (56319 < A && A <= 65535))
+ return (
+ (e = this.index[A >> UTRIE2_SHIFT_2]),
+ this.data[(e = (e << UTRIE2_INDEX_SHIFT) + (A & UTRIE2_DATA_MASK))]
+ )
+ if (A <= 65535)
+ return (
+ (e = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((A - 55296) >> UTRIE2_SHIFT_2)]),
+ this.data[(e = (e << UTRIE2_INDEX_SHIFT) + (A & UTRIE2_DATA_MASK))]
+ )
+ if (A < this.highStart)
+ return (
+ (e =
+ this.index[
+ (e =
+ UTRIE2_INDEX_1_OFFSET -
+ UTRIE2_OMITTED_BMP_INDEX_1_LENGTH +
+ (A >> UTRIE2_SHIFT_1))
+ ]),
+ (e = this.index[(e += (A >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK)]),
+ this.data[(e = (e << UTRIE2_INDEX_SHIFT) + (A & UTRIE2_DATA_MASK))]
+ )
+ if (A <= 1114111) return this.data[this.highValueIndex]
+ }
+ return this.errorValue
+ }),
+ A
+ )
+ })(),
+ chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+ lookup = 'undefined' == typeof Uint8Array ? [] : new Uint8Array(256),
+ i = 0;
+ i < chars.length;
+ i++
+)
+ lookup[chars.charCodeAt(i)] = i
+var PseudoElementType,
+ Prepend = 1,
+ CR = 2,
+ LF = 3,
+ Control = 4,
+ Extend = 5,
+ SpacingMark = 7,
+ L = 8,
+ V = 9,
+ T = 10,
+ LV = 11,
+ LVT = 12,
+ ZWJ = 13,
+ Extended_Pictographic = 14,
+ RI = 15,
+ toCodePoints = function (A) {
+ for (var e = [], t = 0, r = A.length; t < r; ) {
+ var n,
+ B = A.charCodeAt(t++)
+ 55296 <= B && B <= 56319 && t < r
+ ? 56320 == (64512 & (n = A.charCodeAt(t++)))
+ ? e.push(((1023 & B) << 10) + (1023 & n) + 65536)
+ : (e.push(B), t--)
+ : e.push(B)
+ }
+ return e
+ },
+ fromCodePoint = 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 o = A[n]
+ o <= 65535 ? r.push(o) : ((o -= 65536), r.push(55296 + (o >> 10), (o % 1024) + 56320)),
+ (n + 1 === t || 16384 < r.length) &&
+ ((B += String.fromCharCode.apply(String, r)), (r.length = 0))
+ }
+ return B
+ },
+ UnicodeTrie = createTrieFromBase64(base64),
+ BREAK_NOT_ALLOWED = '×',
+ BREAK_ALLOWED = '÷',
+ codePointToClass = function (A) {
+ return UnicodeTrie.get(A)
+ },
+ _graphemeBreakAtIndex = function (A, e, t) {
+ var r = t - 2,
+ n = e[r],
+ B = e[t - 1],
+ t = e[t]
+ if (B === CR && t === LF) return BREAK_NOT_ALLOWED
+ if (B === CR || B === LF || B === Control) return BREAK_ALLOWED
+ if (t === CR || t === LF || t === Control) return BREAK_ALLOWED
+ if (B === L && -1 !== [L, V, LV, LVT].indexOf(t)) return BREAK_NOT_ALLOWED
+ if (!((B !== LV && B !== V) || (t !== V && t !== T))) return BREAK_NOT_ALLOWED
+ if ((B === LVT || B === T) && t === T) return BREAK_NOT_ALLOWED
+ if (t === ZWJ || t === Extend) return BREAK_NOT_ALLOWED
+ if (t === SpacingMark) return BREAK_NOT_ALLOWED
+ if (B === Prepend) return BREAK_NOT_ALLOWED
+ if (B === ZWJ && t === Extended_Pictographic) {
+ for (; n === Extend; ) n = e[--r]
+ if (n === Extended_Pictographic) return BREAK_NOT_ALLOWED
+ }
+ if (B === RI && t === RI) {
+ for (var o = 0; n === RI; ) o++, (n = e[--r])
+ if (o % 2 == 0) return BREAK_NOT_ALLOWED
+ }
+ return BREAK_ALLOWED
+ },
+ GraphemeBreaker = function (A) {
+ var t = toCodePoints(A),
+ r = t.length,
+ n = 0,
+ B = 0,
+ o = t.map(codePointToClass)
+ return {
+ next: function () {
+ if (r <= n) return { done: !0, value: null }
+ for (
+ var A = BREAK_NOT_ALLOWED;
+ n < r && (A = _graphemeBreakAtIndex(t, o, ++n)) === BREAK_NOT_ALLOWED;
+
+ );
+ if (A === BREAK_NOT_ALLOWED && n !== r) return { done: !0, value: null }
+ var e = fromCodePoint.apply(null, t.slice(B, n))
+ return (B = n), { value: e, done: !1 }
+ },
+ }
+ },
+ splitGraphemes = function (A) {
+ for (var e, t = GraphemeBreaker(A), r = []; !(e = t.next()).done; )
+ e.value && r.push(e.value.slice())
+ return r
+ },
+ testRangeBounds = 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)
+ ;(e = e.getBoundingClientRect()), (e = Math.round(e.height))
+ if ((A.body.removeChild(t), 123 === e)) return !0
+ }
+ }
+ return !1
+ },
+ testIOSLineBreak = function (A) {
+ var e = A.createElement('boundtest')
+ ;(e.style.width = '50px'),
+ (e.style.display = 'block'),
+ (e.style.fontSize = '12px'),
+ (e.style.letterSpacing = '0px'),
+ (e.style.wordSpacing = '0px'),
+ A.body.appendChild(e)
+ var r = A.createRange()
+ e.innerHTML = 'function' == typeof ''.repeat ? '👨'.repeat(10) : ''
+ var n = e.firstChild,
+ t = toCodePoints$1(n.data).map(function (A) {
+ return fromCodePoint$1(A)
+ }),
+ B = 0,
+ o = {},
+ t = t.every(function (A, e) {
+ r.setStart(n, B), r.setEnd(n, B + A.length)
+ var t = r.getBoundingClientRect()
+ B += A.length
+ A = t.x > o.x || t.y > o.y
+ return (o = t), 0 === e || A
+ })
+ return A.body.removeChild(e), t
+ },
+ testCORS = function () {
+ return void 0 !== new Image().crossOrigin
+ },
+ testResponseType = function () {
+ return 'string' == typeof new XMLHttpRequest().responseType
+ },
+ testSVG = function (A) {
+ var e = new Image(),
+ t = A.createElement('canvas'),
+ A = t.getContext('2d')
+ if (!A) return !1
+ e.src = "data:image/svg+xml,"
+ try {
+ A.drawImage(e, 0, 0), t.toDataURL()
+ } catch (A) {
+ return !1
+ }
+ return !0
+ },
+ isGreenPixel = function (A) {
+ return 0 === A[0] && 255 === A[1] && 0 === A[2] && 255 === A[3]
+ },
+ testForeignObject = function (t) {
+ var A = t.createElement('canvas'),
+ r = 100
+ ;(A.width = r), (A.height = r)
+ var n = A.getContext('2d')
+ if (!n) return Promise.reject(!1)
+ ;(n.fillStyle = 'rgb(0, 255, 0)'), n.fillRect(0, 0, r, r)
+ var e = new Image(),
+ B = A.toDataURL()
+ e.src = B
+ e = createForeignObjectSVG(r, r, 0, 0, e)
+ return (
+ (n.fillStyle = 'red'),
+ n.fillRect(0, 0, r, r),
+ loadSerializedSVG$1(e)
+ .then(function (A) {
+ n.drawImage(A, 0, 0)
+ var e = n.getImageData(0, 0, r, r).data
+ ;(n.fillStyle = 'red'), n.fillRect(0, 0, r, r)
+ A = t.createElement('div')
+ return (
+ (A.style.backgroundImage = 'url(' + B + ')'),
+ (A.style.height = '100px'),
+ isGreenPixel(e)
+ ? loadSerializedSVG$1(createForeignObjectSVG(r, r, 0, 0, A))
+ : Promise.reject(!1)
+ )
+ })
+ .then(function (A) {
+ return n.drawImage(A, 0, 0), isGreenPixel(n.getImageData(0, 0, r, r).data)
+ })
+ .catch(function () {
+ return !1
+ })
+ )
+ },
+ createForeignObjectSVG = function (A, e, t, r, n) {
+ var B = 'http://www.w3.org/2000/svg',
+ o = document.createElementNS(B, 'svg'),
+ B = document.createElementNS(B, 'foreignObject')
+ return (
+ o.setAttributeNS(null, 'width', A.toString()),
+ o.setAttributeNS(null, 'height', e.toString()),
+ B.setAttributeNS(null, 'width', '100%'),
+ B.setAttributeNS(null, 'height', '100%'),
+ B.setAttributeNS(null, 'x', t.toString()),
+ B.setAttributeNS(null, 'y', r.toString()),
+ B.setAttributeNS(null, 'externalResourcesRequired', 'true'),
+ o.appendChild(B),
+ B.appendChild(n),
+ o
+ )
+ },
+ loadSerializedSVG$1 = 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)))
+ })
+ },
+ FEATURES = {
+ get SUPPORT_RANGE_BOUNDS() {
+ var A = testRangeBounds(document)
+ return Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: A }), A
+ },
+ get SUPPORT_WORD_BREAKING() {
+ var A = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document)
+ return Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: A }), A
+ },
+ get SUPPORT_SVG_DRAWING() {
+ var A = testSVG(document)
+ return Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: A }), A
+ },
+ get SUPPORT_FOREIGNOBJECT_DRAWING() {
+ var A =
+ 'function' == typeof Array.from && 'function' == typeof window.fetch
+ ? testForeignObject(document)
+ : Promise.resolve(!1)
+ return Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: A }), A
+ },
+ get SUPPORT_CORS_IMAGES() {
+ var A = testCORS()
+ return Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: A }), A
+ },
+ get SUPPORT_RESPONSE_TYPE() {
+ var A = testResponseType()
+ return Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: A }), A
+ },
+ get SUPPORT_CORS_XHR() {
+ var A = 'withCredentials' in new XMLHttpRequest()
+ return Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: A }), A
+ },
+ get SUPPORT_NATIVE_TEXT_SEGMENTATION() {
+ var A = !('undefined' == typeof Intl || !Intl.Segmenter)
+ return Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: A }), A
+ },
+ },
+ TextBounds = function (A, e) {
+ ;(this.text = A), (this.bounds = e)
+ },
+ parseTextBounds = function (n, A, B, o) {
+ var A = breakText(A, B),
+ s = [],
+ i = 0
+ return (
+ A.forEach(function (A) {
+ var e, t, r
+ B.textDecorationLine.length || 0 < A.trim().length
+ ? FEATURES.SUPPORT_RANGE_BOUNDS
+ ? 1 < (r = createRange(o, i, A.length).getClientRects()).length
+ ? ((e = segmentGraphemes(A)),
+ (t = 0),
+ e.forEach(function (A) {
+ s.push(
+ new TextBounds(
+ A,
+ Bounds.fromDOMRectList(n, createRange(o, t + i, A.length).getClientRects()),
+ ),
+ ),
+ (t += A.length)
+ }))
+ : s.push(new TextBounds(A, Bounds.fromDOMRectList(n, r)))
+ : ((r = o.splitText(A.length)),
+ s.push(new TextBounds(A, getWrapperBounds(n, o))),
+ (o = r))
+ : FEATURES.SUPPORT_RANGE_BOUNDS || (o = o.splitText(A.length)),
+ (i += A.length)
+ }),
+ s
+ )
+ },
+ getWrapperBounds = function (A, e) {
+ var t = e.ownerDocument
+ if (t) {
+ var r = t.createElement('html2canvaswrapper')
+ r.appendChild(e.cloneNode(!0))
+ t = e.parentNode
+ if (t) {
+ t.replaceChild(r, e)
+ A = parseBounds(A, r)
+ return r.firstChild && t.replaceChild(r.firstChild, r), A
+ }
+ }
+ return Bounds.EMPTY
+ },
+ createRange = function (A, e, t) {
+ var r = A.ownerDocument
+ if (!r) throw new Error('Node has no owner document')
+ r = r.createRange()
+ return r.setStart(A, e), r.setEnd(A, e + t), r
+ },
+ segmentGraphemes = function (A) {
+ if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
+ var e = new Intl.Segmenter(void 0, { granularity: 'grapheme' })
+ return Array.from(e.segment(A)).map(function (A) {
+ return A.segment
+ })
+ }
+ return splitGraphemes(A)
+ },
+ segmentWords = function (A, e) {
+ if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
+ var t = new Intl.Segmenter(void 0, { granularity: 'word' })
+ return Array.from(t.segment(A)).map(function (A) {
+ return A.segment
+ })
+ }
+ return breakWords(A, e)
+ },
+ breakText = function (A, e) {
+ return 0 !== e.letterSpacing ? segmentGraphemes(A) : segmentWords(A, e)
+ },
+ wordSeparators = [32, 160, 4961, 65792, 65793, 4153, 4241],
+ breakWords = function (A, e) {
+ for (
+ var t,
+ r = LineBreaker(A, {
+ lineBreak: e.lineBreak,
+ wordBreak: 'break-word' === e.overflowWrap ? 'break-word' : e.wordBreak,
+ }),
+ n = [];
+ !(t = r.next()).done;
+
+ )
+ !(function () {
+ var A, e
+ t.value &&
+ ((A = t.value.slice()),
+ (A = toCodePoints$1(A)),
+ (e = ''),
+ A.forEach(function (A) {
+ ;-1 === wordSeparators.indexOf(A)
+ ? (e += fromCodePoint$1(A))
+ : (e.length && n.push(e), n.push(fromCodePoint$1(A)), (e = ''))
+ }),
+ e.length && n.push(e))
+ })()
+ return n
+ },
+ TextContainer = function (A, e, t) {
+ ;(this.text = transform(e.data, t.textTransform)),
+ (this.textBounds = parseTextBounds(A, this.text, t, e))
+ },
+ transform = function (A, e) {
+ switch (e) {
+ case 1:
+ return A.toLowerCase()
+ case 3:
+ return A.replace(CAPITALIZE, capitalize)
+ case 2:
+ return A.toUpperCase()
+ default:
+ return A
+ }
+ },
+ CAPITALIZE = /(^|\s|:|-|\(|\))([a-z])/g,
+ capitalize = function (A, e, t) {
+ return 0 < A.length ? e + t.toUpperCase() : A
+ },
+ ImageElementContainer = (function (t) {
+ function A(A, e) {
+ A = t.call(this, A, e) || this
+ return (
+ (A.src = e.currentSrc || e.src),
+ (A.intrinsicWidth = e.naturalWidth),
+ (A.intrinsicHeight = e.naturalHeight),
+ A.context.cache.addImage(A.src),
+ A
+ )
+ }
+ return __extends(A, t), A
+ })(ElementContainer),
+ CanvasElementContainer = (function (t) {
+ function A(A, e) {
+ A = t.call(this, A, e) || this
+ return (A.canvas = e), (A.intrinsicWidth = e.width), (A.intrinsicHeight = e.height), A
+ }
+ return __extends(A, t), A
+ })(ElementContainer),
+ SVGElementContainer = (function (n) {
+ function A(A, e) {
+ var t = n.call(this, A, e) || this,
+ r = new XMLSerializer(),
+ A = parseBounds(A, e)
+ return (
+ e.setAttribute('width', A.width + 'px'),
+ e.setAttribute('height', A.height + 'px'),
+ (t.svg = 'data:image/svg+xml,' + encodeURIComponent(r.serializeToString(e))),
+ (t.intrinsicWidth = e.width.baseVal.value),
+ (t.intrinsicHeight = e.height.baseVal.value),
+ t.context.cache.addImage(t.svg),
+ t
+ )
+ }
+ return __extends(A, n), A
+ })(ElementContainer),
+ LIElementContainer = (function (t) {
+ function A(A, e) {
+ A = t.call(this, A, e) || this
+ return (A.value = e.value), A
+ }
+ return __extends(A, t), A
+ })(ElementContainer),
+ OLElementContainer = (function (t) {
+ function A(A, e) {
+ A = t.call(this, A, e) || this
+ return (
+ (A.start = e.start), (A.reversed = 'boolean' == typeof e.reversed && !0 === e.reversed), A
+ )
+ }
+ return __extends(A, t), A
+ })(ElementContainer),
+ CHECKBOX_BORDER_RADIUS = [{ type: 15, flags: 0, unit: 'px', number: 3 }],
+ RADIO_BORDER_RADIUS = [{ type: 16, flags: 0, number: 50 }],
+ reformatInputBounds = function (A) {
+ return A.width > A.height
+ ? new Bounds(A.left + (A.width - A.height) / 2, A.top, A.height, A.height)
+ : A.width < A.height
+ ? new Bounds(A.left, A.top + (A.height - A.width) / 2, A.width, A.width)
+ : A
+ },
+ getInputValue = function (A) {
+ var e = A.type === PASSWORD ? new Array(A.value.length + 1).join('•') : A.value
+ return 0 === e.length ? A.placeholder || '' : e
+ },
+ CHECKBOX = 'checkbox',
+ RADIO = 'radio',
+ PASSWORD = 'password',
+ INPUT_COLOR = 707406591,
+ InputElementContainer = (function (r) {
+ function A(A, e) {
+ var t = r.call(this, A, e) || this
+ switch (
+ ((t.type = e.type.toLowerCase()),
+ (t.checked = e.checked),
+ (t.value = getInputValue(e)),
+ (t.type !== CHECKBOX && t.type !== RADIO) ||
+ ((t.styles.backgroundColor = 3739148031),
+ (t.styles.borderTopColor =
+ t.styles.borderRightColor =
+ t.styles.borderBottomColor =
+ t.styles.borderLeftColor =
+ 2779096575),
+ (t.styles.borderTopWidth =
+ t.styles.borderRightWidth =
+ t.styles.borderBottomWidth =
+ t.styles.borderLeftWidth =
+ 1),
+ (t.styles.borderTopStyle =
+ t.styles.borderRightStyle =
+ t.styles.borderBottomStyle =
+ t.styles.borderLeftStyle =
+ 1),
+ (t.styles.backgroundClip = [0]),
+ (t.styles.backgroundOrigin = [0]),
+ (t.bounds = reformatInputBounds(t.bounds))),
+ t.type)
+ ) {
+ case CHECKBOX:
+ t.styles.borderTopRightRadius =
+ t.styles.borderTopLeftRadius =
+ t.styles.borderBottomRightRadius =
+ t.styles.borderBottomLeftRadius =
+ CHECKBOX_BORDER_RADIUS
+ break
+ case RADIO:
+ t.styles.borderTopRightRadius =
+ t.styles.borderTopLeftRadius =
+ t.styles.borderBottomRightRadius =
+ t.styles.borderBottomLeftRadius =
+ RADIO_BORDER_RADIUS
+ }
+ return t
+ }
+ return __extends(A, r), A
+ })(ElementContainer),
+ SelectElementContainer = (function (t) {
+ function A(A, e) {
+ ;(A = t.call(this, A, e) || this), (e = e.options[e.selectedIndex || 0])
+ return (A.value = (e && e.text) || ''), A
+ }
+ return __extends(A, t), A
+ })(ElementContainer),
+ TextareaElementContainer = (function (t) {
+ function A(A, e) {
+ A = t.call(this, A, e) || this
+ return (A.value = e.value), A
+ }
+ return __extends(A, t), A
+ })(ElementContainer),
+ IFrameElementContainer = (function (B) {
+ function A(A, e) {
+ var t,
+ r,
+ n = B.call(this, A, e) || this
+ ;(n.src = e.src),
+ (n.width = parseInt(e.width, 10) || 0),
+ (n.height = parseInt(e.height, 10) || 0),
+ (n.backgroundColor = n.styles.backgroundColor)
+ try {
+ e.contentWindow &&
+ e.contentWindow.document &&
+ e.contentWindow.document.documentElement &&
+ ((n.tree = parseTree(A, e.contentWindow.document.documentElement)),
+ (t = e.contentWindow.document.documentElement
+ ? parseColor(
+ A,
+ getComputedStyle(e.contentWindow.document.documentElement).backgroundColor,
+ )
+ : COLORS.TRANSPARENT),
+ (r = e.contentWindow.document.body
+ ? parseColor(A, getComputedStyle(e.contentWindow.document.body).backgroundColor)
+ : COLORS.TRANSPARENT),
+ (n.backgroundColor = isTransparent(t)
+ ? isTransparent(r)
+ ? n.styles.backgroundColor
+ : r
+ : t))
+ } catch (A) {}
+ return n
+ }
+ return __extends(A, B), A
+ })(ElementContainer),
+ LIST_OWNERS = ['OL', 'UL', 'MENU'],
+ parseNodeTree = function (e, A, t, r) {
+ for (var n = A.firstChild; n; n = o) {
+ var B,
+ o = n.nextSibling
+ isTextNode(n) && 0 < n.data.trim().length
+ ? t.textNodes.push(new TextContainer(e, n, t.styles))
+ : isElementNode(n) &&
+ (isSlotElement(n) && n.assignedNodes
+ ? n.assignedNodes().forEach(function (A) {
+ return parseNodeTree(e, A, t, r)
+ })
+ : (B = createContainer(e, n)).styles.isVisible() &&
+ (createsRealStackingContext(n, B, r)
+ ? (B.flags |= 4)
+ : createsStackingContext(B.styles) && (B.flags |= 2),
+ -1 !== LIST_OWNERS.indexOf(n.tagName) && (B.flags |= 8),
+ t.elements.push(B),
+ n.slot,
+ n.shadowRoot
+ ? parseNodeTree(e, n.shadowRoot, B, r)
+ : isTextareaElement(n) ||
+ isSVGElement(n) ||
+ isSelectElement(n) ||
+ parseNodeTree(e, n, B, r)))
+ }
+ },
+ createContainer = function (A, e) {
+ return new (
+ isImageElement(e)
+ ? ImageElementContainer
+ : isCanvasElement(e)
+ ? CanvasElementContainer
+ : isSVGElement(e)
+ ? SVGElementContainer
+ : isLIElement(e)
+ ? LIElementContainer
+ : isOLElement(e)
+ ? OLElementContainer
+ : isInputElement(e)
+ ? InputElementContainer
+ : isSelectElement(e)
+ ? SelectElementContainer
+ : isTextareaElement(e)
+ ? TextareaElementContainer
+ : isIFrameElement(e)
+ ? IFrameElementContainer
+ : ElementContainer
+ )(A, e)
+ },
+ parseTree = function (A, e) {
+ var t = createContainer(A, e)
+ return (t.flags |= 4), parseNodeTree(A, e, t, t), t
+ },
+ createsRealStackingContext = function (A, e, t) {
+ return (
+ e.styles.isPositionedWithZIndex() ||
+ e.styles.opacity < 1 ||
+ e.styles.isTransformed() ||
+ (isBodyElement(A) && t.styles.isTransparent())
+ )
+ },
+ createsStackingContext = function (A) {
+ return A.isPositioned() || A.isFloating()
+ },
+ isTextNode = function (A) {
+ return A.nodeType === Node.TEXT_NODE
+ },
+ isElementNode = function (A) {
+ return A.nodeType === Node.ELEMENT_NODE
+ },
+ isHTMLElementNode = function (A) {
+ return isElementNode(A) && void 0 !== A.style && !isSVGElementNode(A)
+ },
+ isSVGElementNode = function (A) {
+ return 'object' == typeof A.className
+ },
+ isLIElement = function (A) {
+ return 'LI' === A.tagName
+ },
+ isOLElement = function (A) {
+ return 'OL' === A.tagName
+ },
+ isInputElement = function (A) {
+ return 'INPUT' === A.tagName
+ },
+ isHTMLElement = function (A) {
+ return 'HTML' === A.tagName
+ },
+ isSVGElement = function (A) {
+ return 'svg' === A.tagName
+ },
+ isBodyElement = function (A) {
+ return 'BODY' === A.tagName
+ },
+ isCanvasElement = function (A) {
+ return 'CANVAS' === A.tagName
+ },
+ isVideoElement = function (A) {
+ return 'VIDEO' === A.tagName
+ },
+ isImageElement = function (A) {
+ return 'IMG' === A.tagName
+ },
+ isIFrameElement = function (A) {
+ return 'IFRAME' === A.tagName
+ },
+ isStyleElement = function (A) {
+ return 'STYLE' === A.tagName
+ },
+ isScriptElement = function (A) {
+ return 'SCRIPT' === A.tagName
+ },
+ isTextareaElement = function (A) {
+ return 'TEXTAREA' === A.tagName
+ },
+ isSelectElement = function (A) {
+ return 'SELECT' === A.tagName
+ },
+ isSlotElement = function (A) {
+ return 'SLOT' === A.tagName
+ },
+ isCustomElement = function (A) {
+ return 0 < A.tagName.indexOf('-')
+ },
+ CounterState = (function () {
+ function A() {
+ this.counters = {}
+ }
+ return (
+ (A.prototype.getCounterValue = function (A) {
+ A = this.counters[A]
+ return A && A.length ? A[A.length - 1] : 1
+ }),
+ (A.prototype.getCounterValues = function (A) {
+ A = this.counters[A]
+ return A || []
+ }),
+ (A.prototype.pop = function (A) {
+ var e = this
+ A.forEach(function (A) {
+ return e.counters[A].pop()
+ })
+ }),
+ (A.prototype.parse = function (A) {
+ var t = this,
+ e = A.counterIncrement,
+ A = A.counterReset,
+ r = !0
+ null !== e &&
+ e.forEach(function (A) {
+ var e = t.counters[A.counter]
+ e &&
+ 0 !== A.increment &&
+ ((r = !1), e.length || e.push(1), (e[Math.max(0, e.length - 1)] += A.increment))
+ })
+ var n = []
+ return (
+ r &&
+ A.forEach(function (A) {
+ var e = t.counters[A.counter]
+ n.push(A.counter), (e = e || (t.counters[A.counter] = [])).push(A.reset)
+ }),
+ n
+ )
+ }),
+ A
+ )
+ })(),
+ ROMAN_UPPER = {
+ 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'],
+ },
+ ARMENIAN = {
+ 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: [
+ 'Ք',
+ 'Փ',
+ 'Ւ',
+ 'Ց',
+ 'Ր',
+ 'Տ',
+ 'Վ',
+ 'Ս',
+ 'Ռ',
+ 'Ջ',
+ 'Պ',
+ 'Չ',
+ 'Ո',
+ 'Շ',
+ 'Ն',
+ 'Յ',
+ 'Մ',
+ 'Ճ',
+ 'Ղ',
+ 'Ձ',
+ 'Հ',
+ 'Կ',
+ 'Ծ',
+ 'Խ',
+ 'Լ',
+ 'Ի',
+ 'Ժ',
+ 'Թ',
+ 'Ը',
+ 'Է',
+ 'Զ',
+ 'Ե',
+ 'Դ',
+ 'Գ',
+ 'Բ',
+ 'Ա',
+ ],
+ },
+ HEBREW = {
+ 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: [
+ 'י׳',
+ 'ט׳',
+ 'ח׳',
+ 'ז׳',
+ 'ו׳',
+ 'ה׳',
+ 'ד׳',
+ 'ג׳',
+ 'ב׳',
+ 'א׳',
+ 'ת',
+ 'ש',
+ 'ר',
+ 'ק',
+ 'צ',
+ 'פ',
+ 'ע',
+ 'ס',
+ 'נ',
+ 'מ',
+ 'ל',
+ 'כ',
+ 'יט',
+ 'יח',
+ 'יז',
+ 'טז',
+ 'טו',
+ 'י',
+ 'ט',
+ 'ח',
+ 'ז',
+ 'ו',
+ 'ה',
+ 'ד',
+ 'ג',
+ 'ב',
+ 'א',
+ ],
+ },
+ GEORGIAN = {
+ 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: [
+ 'ჵ',
+ 'ჰ',
+ 'ჯ',
+ 'ჴ',
+ 'ხ',
+ 'ჭ',
+ 'წ',
+ 'ძ',
+ 'ც',
+ 'ჩ',
+ 'შ',
+ 'ყ',
+ 'ღ',
+ 'ქ',
+ 'ფ',
+ 'ჳ',
+ 'ტ',
+ 'ს',
+ 'რ',
+ 'ჟ',
+ 'პ',
+ 'ო',
+ 'ჲ',
+ 'ნ',
+ 'მ',
+ 'ლ',
+ 'კ',
+ 'ი',
+ 'თ',
+ 'ჱ',
+ 'ზ',
+ 'ვ',
+ 'ე',
+ 'დ',
+ 'გ',
+ 'ბ',
+ 'ა',
+ ],
+ },
+ createAdditiveCounter = function (r, A, e, n, t, B) {
+ return r < A || e < r
+ ? createCounterText(r, t, 0 < B.length)
+ : n.integers.reduce(function (A, e, t) {
+ for (; e <= r; ) (r -= e), (A += n.values[t])
+ return A
+ }, '') + B
+ },
+ createCounterStyleWithSymbolResolver = function (A, e, t, r) {
+ for (var n = ''; t || A--, (n = r(A) + n), e <= (A /= e) * e; );
+ return n
+ },
+ createCounterStyleFromRange = function (A, e, t, r, n) {
+ var B = t - e + 1
+ return (
+ (A < 0 ? '-' : '') +
+ (createCounterStyleWithSymbolResolver(Math.abs(A), B, r, function (A) {
+ return fromCodePoint$1(Math.floor(A % B) + e)
+ }) +
+ n)
+ )
+ },
+ createCounterStyleFromSymbols = function (A, e, t) {
+ void 0 === t && (t = '. ')
+ var r = e.length
+ return (
+ createCounterStyleWithSymbolResolver(Math.abs(A), r, !1, function (A) {
+ return e[Math.floor(A % r)]
+ }) + t
+ )
+ },
+ CJK_ZEROS = 1,
+ CJK_TEN_COEFFICIENTS = 2,
+ CJK_TEN_HIGH_COEFFICIENTS = 4,
+ CJK_HUNDRED_COEFFICIENTS = 8,
+ createCJKCounter = function (A, e, t, r, n, B) {
+ if (A < -9999 || 9999 < A) return createCounterText(A, 4, 0 < n.length)
+ var o = Math.abs(A),
+ s = n
+ if (0 === o) return e[0] + s
+ for (var i = 0; 0 < o && i <= 4; i++) {
+ var a = o % 10
+ 0 == a && contains(B, CJK_ZEROS) && '' !== s
+ ? (s = e[a] + s)
+ : 1 < a ||
+ (1 == a && 0 === i) ||
+ (1 == a && 1 === i && contains(B, CJK_TEN_COEFFICIENTS)) ||
+ (1 == a && 1 === i && contains(B, CJK_TEN_HIGH_COEFFICIENTS) && 100 < A) ||
+ (1 == a && 1 < i && contains(B, CJK_HUNDRED_COEFFICIENTS))
+ ? (s = e[a] + (0 < i ? t[i - 1] : '') + s)
+ : 1 == a && 0 < i && (s = t[i - 1] + s),
+ (o = Math.floor(o / 10))
+ }
+ return (A < 0 ? r : '') + s
+ },
+ CHINESE_INFORMAL_MULTIPLIERS = '十百千萬',
+ CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬',
+ JAPANESE_NEGATIVE = 'マイナス',
+ KOREAN_NEGATIVE = '마이너스',
+ createCounterText = function (A, e, t) {
+ var r = t ? '. ' : '',
+ n = t ? '、' : '',
+ B = t ? ', ' : '',
+ o = t ? ' ' : ''
+ switch (e) {
+ case 0:
+ return '•' + o
+ case 1:
+ return '◦' + o
+ case 2:
+ return '◾' + o
+ case 5:
+ var s = createCounterStyleFromRange(A, 48, 57, !0, r)
+ return s.length < 4 ? '0' + s : s
+ case 4:
+ return createCounterStyleFromSymbols(A, '〇一二三四五六七八九', n)
+ case 6:
+ return createAdditiveCounter(A, 1, 3999, ROMAN_UPPER, 3, r).toLowerCase()
+ case 7:
+ return createAdditiveCounter(A, 1, 3999, ROMAN_UPPER, 3, r)
+ case 8:
+ return createCounterStyleFromRange(A, 945, 969, !1, r)
+ case 9:
+ return createCounterStyleFromRange(A, 97, 122, !1, r)
+ case 10:
+ return createCounterStyleFromRange(A, 65, 90, !1, r)
+ case 11:
+ return createCounterStyleFromRange(A, 1632, 1641, !0, r)
+ case 12:
+ case 49:
+ return createAdditiveCounter(A, 1, 9999, ARMENIAN, 3, r)
+ case 35:
+ return createAdditiveCounter(A, 1, 9999, ARMENIAN, 3, r).toLowerCase()
+ case 13:
+ return createCounterStyleFromRange(A, 2534, 2543, !0, r)
+ case 14:
+ case 30:
+ return createCounterStyleFromRange(A, 6112, 6121, !0, r)
+ case 15:
+ return createCounterStyleFromSymbols(A, '子丑寅卯辰巳午未申酉戌亥', n)
+ case 16:
+ return createCounterStyleFromSymbols(A, '甲乙丙丁戊己庚辛壬癸', n)
+ case 17:
+ case 48:
+ return createCJKCounter(
+ A,
+ '零一二三四五六七八九',
+ CHINESE_INFORMAL_MULTIPLIERS,
+ '負',
+ n,
+ CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS,
+ )
+ case 47:
+ return createCJKCounter(
+ A,
+ '零壹貳參肆伍陸柒捌玖',
+ CHINESE_FORMAL_MULTIPLIERS,
+ '負',
+ n,
+ CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS,
+ )
+ case 42:
+ return createCJKCounter(
+ A,
+ '零一二三四五六七八九',
+ CHINESE_INFORMAL_MULTIPLIERS,
+ '负',
+ n,
+ CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS,
+ )
+ case 41:
+ return createCJKCounter(
+ A,
+ '零壹贰叁肆伍陆柒捌玖',
+ CHINESE_FORMAL_MULTIPLIERS,
+ '负',
+ n,
+ CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS,
+ )
+ case 26:
+ return createCJKCounter(A, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, n, 0)
+ case 25:
+ return createCJKCounter(
+ A,
+ '零壱弐参四伍六七八九',
+ '拾百千万',
+ JAPANESE_NEGATIVE,
+ n,
+ CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS,
+ )
+ case 31:
+ return createCJKCounter(
+ A,
+ '영일이삼사오육칠팔구',
+ '십백천만',
+ KOREAN_NEGATIVE,
+ B,
+ CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS,
+ )
+ case 33:
+ return createCJKCounter(A, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, B, 0)
+ case 32:
+ return createCJKCounter(
+ A,
+ '零壹貳參四五六七八九',
+ '拾百千',
+ KOREAN_NEGATIVE,
+ B,
+ CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS,
+ )
+ case 18:
+ return createCounterStyleFromRange(A, 2406, 2415, !0, r)
+ case 20:
+ return createAdditiveCounter(A, 1, 19999, GEORGIAN, 3, r)
+ case 21:
+ return createCounterStyleFromRange(A, 2790, 2799, !0, r)
+ case 22:
+ return createCounterStyleFromRange(A, 2662, 2671, !0, r)
+ case 22:
+ return createAdditiveCounter(A, 1, 10999, HEBREW, 3, r)
+ case 23:
+ return createCounterStyleFromSymbols(
+ A,
+ 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん',
+ )
+ case 24:
+ return createCounterStyleFromSymbols(
+ A,
+ 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす',
+ )
+ case 27:
+ return createCounterStyleFromRange(A, 3302, 3311, !0, r)
+ case 28:
+ return createCounterStyleFromSymbols(
+ A,
+ 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン',
+ n,
+ )
+ case 29:
+ return createCounterStyleFromSymbols(
+ A,
+ 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス',
+ n,
+ )
+ case 34:
+ return createCounterStyleFromRange(A, 3792, 3801, !0, r)
+ case 37:
+ return createCounterStyleFromRange(A, 6160, 6169, !0, r)
+ case 38:
+ return createCounterStyleFromRange(A, 4160, 4169, !0, r)
+ case 39:
+ return createCounterStyleFromRange(A, 2918, 2927, !0, r)
+ case 40:
+ return createCounterStyleFromRange(A, 1776, 1785, !0, r)
+ case 43:
+ return createCounterStyleFromRange(A, 3046, 3055, !0, r)
+ case 44:
+ return createCounterStyleFromRange(A, 3174, 3183, !0, r)
+ case 45:
+ return createCounterStyleFromRange(A, 3664, 3673, !0, r)
+ case 46:
+ return createCounterStyleFromRange(A, 3872, 3881, !0, r)
+ default:
+ return createCounterStyleFromRange(A, 48, 57, !0, r)
+ }
+ },
+ IGNORE_ATTRIBUTE = 'data-html2canvas-ignore',
+ DocumentCloner = (function () {
+ function A(A, e, t) {
+ if (
+ ((this.context = A),
+ (this.options = t),
+ (this.scrolledElements = []),
+ (this.referenceElement = e),
+ (this.counters = new CounterState()),
+ (this.quoteDepth = 0),
+ !e.ownerDocument)
+ )
+ throw new Error('Cloned element does not have an owner document')
+ this.documentElement = this.cloneNode(e.ownerDocument.documentElement, !1)
+ }
+ return (
+ (A.prototype.toIFrame = function (A, r) {
+ var e = this,
+ n = createIFrameContainer(A, r)
+ if (!n.contentWindow) return Promise.reject('Unable to find iframe window')
+ var t = A.defaultView.pageXOffset,
+ B = A.defaultView.pageYOffset,
+ o = n.contentWindow,
+ s = o.document,
+ A = iframeLoader(n).then(function () {
+ return __awaiter(e, void 0, void 0, function () {
+ var e, t
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return (
+ this.scrolledElements.forEach(restoreNodeScroll),
+ o &&
+ (o.scrollTo(r.left, r.top),
+ !/(iPad|iPhone|iPod)/g.test(navigator.userAgent) ||
+ (o.scrollY === r.top && o.scrollX === r.left) ||
+ (this.context.logger.warn(
+ 'Unable to restore scroll position for cloned document',
+ ),
+ (this.context.windowBounds = this.context.windowBounds.add(
+ o.scrollX - r.left,
+ o.scrollY - r.top,
+ 0,
+ 0,
+ )))),
+ (e = this.options.onclone),
+ void 0 === (t = this.clonedReferenceElement)
+ ? [
+ 2,
+ Promise.reject(
+ 'Error finding the ' +
+ this.referenceElement.nodeName +
+ ' in the cloned document',
+ ),
+ ]
+ : s.fonts && s.fonts.ready
+ ? [4, s.fonts.ready]
+ : [3, 2]
+ )
+ case 1:
+ A.sent(), (A.label = 2)
+ case 2:
+ return /(AppleWebKit)/g.test(navigator.userAgent) ? [4, imagesReady(s)] : [3, 4]
+ case 3:
+ A.sent(), (A.label = 4)
+ case 4:
+ return 'function' == typeof e
+ ? [
+ 2,
+ Promise.resolve()
+ .then(function () {
+ return e(s, t)
+ })
+ .then(function () {
+ return n
+ }),
+ ]
+ : [2, n]
+ }
+ })
+ })
+ })
+ return (
+ s.open(),
+ s.write(serializeDoctype(document.doctype) + ''),
+ restoreOwnerScroll(this.referenceElement.ownerDocument, t, B),
+ s.replaceChild(s.adoptNode(this.documentElement), s.documentElement),
+ s.close(),
+ A
+ )
+ }),
+ (A.prototype.createElementClone = function (A) {
+ if ((isDebugging(A, 2), isCanvasElement(A))) return this.createCanvasClone(A)
+ if (isVideoElement(A)) return this.createVideoClone(A)
+ if (isStyleElement(A)) return this.createStyleClone(A)
+ var e = A.cloneNode(!1)
+ return (
+ isImageElement(e) &&
+ (isImageElement(A) &&
+ A.currentSrc &&
+ A.currentSrc !== A.src &&
+ ((e.src = A.currentSrc), (e.srcset = '')),
+ 'lazy' === e.loading && (e.loading = 'eager')),
+ isCustomElement(e) ? this.createCustomElementClone(e) : e
+ )
+ }),
+ (A.prototype.createCustomElementClone = function (A) {
+ var e = document.createElement('html2canvascustomelement')
+ return copyCSSStyles(A.style, e), e
+ }),
+ (A.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 (
+ (this.context.logger.error('Unable to access cssRules property', A),
+ 'SecurityError' !== A.name)
+ )
+ throw A
+ }
+ return A.cloneNode(!1)
+ }),
+ (A.prototype.createCanvasClone = function (e) {
+ var A
+ if (this.options.inlineImages && e.ownerDocument) {
+ var t = e.ownerDocument.createElement('img')
+ try {
+ return (t.src = e.toDataURL()), t
+ } catch (A) {
+ this.context.logger.info('Unable to inline canvas contents, canvas is tainted', e)
+ }
+ }
+ t = e.cloneNode(!1)
+ try {
+ ;(t.width = e.width), (t.height = e.height)
+ var r,
+ n,
+ B = e.getContext('2d'),
+ o = t.getContext('2d')
+ return (
+ o &&
+ (!this.options.allowTaint && B
+ ? o.putImageData(B.getImageData(0, 0, e.width, e.height), 0, 0)
+ : (!(r =
+ null !== (A = e.getContext('webgl2')) && void 0 !== A
+ ? A
+ : e.getContext('webgl')) ||
+ (!1 ===
+ (null == (n = r.getContextAttributes()) ? void 0 : n.preserveDrawingBuffer) &&
+ this.context.logger.warn(
+ 'Unable to clone WebGL context as it has preserveDrawingBuffer=false',
+ e,
+ )),
+ o.drawImage(e, 0, 0))),
+ t
+ )
+ } catch (A) {
+ this.context.logger.info('Unable to clone canvas as it is tainted', e)
+ }
+ return t
+ }),
+ (A.prototype.createVideoClone = function (e) {
+ var A = e.ownerDocument.createElement('canvas')
+ ;(A.width = e.offsetWidth), (A.height = e.offsetHeight)
+ var t = A.getContext('2d')
+ try {
+ return (
+ t &&
+ (t.drawImage(e, 0, 0, A.width, A.height),
+ this.options.allowTaint || t.getImageData(0, 0, A.width, A.height)),
+ A
+ )
+ } catch (A) {
+ this.context.logger.info('Unable to clone video as it is tainted', e)
+ }
+ A = e.ownerDocument.createElement('canvas')
+ return (A.width = e.offsetWidth), (A.height = e.offsetHeight), A
+ }),
+ (A.prototype.appendChildNode = function (A, e, t) {
+ ;(isElementNode(e) &&
+ (isScriptElement(e) ||
+ e.hasAttribute(IGNORE_ATTRIBUTE) ||
+ ('function' == typeof this.options.ignoreElements &&
+ this.options.ignoreElements(e)))) ||
+ (this.options.copyStyles && isElementNode(e) && isStyleElement(e)) ||
+ A.appendChild(this.cloneNode(e, t))
+ }),
+ (A.prototype.cloneChildNodes = function (A, e, t) {
+ for (var r, n = this, B = (A.shadowRoot || A).firstChild; B; B = B.nextSibling)
+ isElementNode(B) && isSlotElement(B) && 'function' == typeof B.assignedNodes
+ ? (r = B.assignedNodes()).length &&
+ r.forEach(function (A) {
+ return n.appendChildNode(e, A, t)
+ })
+ : this.appendChildNode(e, B, t)
+ }),
+ (A.prototype.cloneNode = function (A, e) {
+ if (isTextNode(A)) return document.createTextNode(A.data)
+ if (!A.ownerDocument) return A.cloneNode(!1)
+ var t = A.ownerDocument.defaultView
+ if (t && isElementNode(A) && (isHTMLElementNode(A) || isSVGElementNode(A))) {
+ var r = this.createElementClone(A)
+ r.style.transitionProperty = 'none'
+ var n = t.getComputedStyle(A),
+ B = t.getComputedStyle(A, ':before'),
+ o = t.getComputedStyle(A, ':after')
+ this.referenceElement === A && isHTMLElementNode(r) && (this.clonedReferenceElement = r),
+ isBodyElement(r) && createPseudoHideStyles(r)
+ ;(t = this.counters.parse(new CSSParsedCounterDeclaration(this.context, n))),
+ (B = this.resolvePseudoContent(A, r, B, PseudoElementType.BEFORE))
+ isCustomElement(A) && (e = !0),
+ isVideoElement(A) || this.cloneChildNodes(A, r, e),
+ B && r.insertBefore(B, r.firstChild)
+ o = this.resolvePseudoContent(A, r, o, PseudoElementType.AFTER)
+ return (
+ o && r.appendChild(o),
+ this.counters.pop(t),
+ ((n && (this.options.copyStyles || isSVGElementNode(A)) && !isIFrameElement(A)) || e) &&
+ copyCSSStyles(n, r),
+ (0 === A.scrollTop && 0 === A.scrollLeft) ||
+ this.scrolledElements.push([r, A.scrollLeft, A.scrollTop]),
+ (isTextareaElement(A) || isSelectElement(A)) &&
+ (isTextareaElement(r) || isSelectElement(r)) &&
+ (r.value = A.value),
+ r
+ )
+ }
+ return A.cloneNode(!1)
+ }),
+ (A.prototype.resolvePseudoContent = function (s, A, e, t) {
+ var i = this
+ if (e) {
+ var r = e.content,
+ a = A.ownerDocument
+ if (a && r && 'none' !== r && '-moz-alt-content' !== r && 'none' !== e.display) {
+ this.counters.parse(new CSSParsedCounterDeclaration(this.context, e))
+ var c = new CSSParsedPseudoDeclaration(this.context, e),
+ g = a.createElement('html2canvaspseudoelement')
+ copyCSSStyles(e, g),
+ c.content.forEach(function (A) {
+ if (0 === A.type) g.appendChild(a.createTextNode(A.value))
+ else if (22 === A.type) {
+ var e = a.createElement('img')
+ ;(e.src = A.value), (e.style.opacity = '1'), g.appendChild(e)
+ } else if (18 === A.type) {
+ var t, r, n, B, o
+ 'attr' === A.name
+ ? (e = A.values.filter(isIdentToken)).length &&
+ g.appendChild(a.createTextNode(s.getAttribute(e[0].value) || ''))
+ : 'counter' === A.name
+ ? ((n = (r = A.values.filter(nonFunctionArgSeparator))[0]),
+ (r = r[1]),
+ n &&
+ isIdentToken(n) &&
+ ((t = i.counters.getCounterValue(n.value)),
+ (o = r && isIdentToken(r) ? listStyleType.parse(i.context, r.value) : 3),
+ g.appendChild(a.createTextNode(createCounterText(t, o, !1)))))
+ : 'counters' === A.name &&
+ ((n = (t = A.values.filter(nonFunctionArgSeparator))[0]),
+ (o = t[1]),
+ (r = t[2]),
+ n &&
+ isIdentToken(n) &&
+ ((n = i.counters.getCounterValues(n.value)),
+ (B = r && isIdentToken(r) ? listStyleType.parse(i.context, r.value) : 3),
+ (o = o && 0 === o.type ? o.value : ''),
+ (o = n
+ .map(function (A) {
+ return createCounterText(A, B, !1)
+ })
+ .join(o)),
+ g.appendChild(a.createTextNode(o))))
+ } else if (20 === A.type)
+ switch (A.value) {
+ case 'open-quote':
+ g.appendChild(a.createTextNode(getQuote(c.quotes, i.quoteDepth++, !0)))
+ break
+ case 'close-quote':
+ g.appendChild(a.createTextNode(getQuote(c.quotes, --i.quoteDepth, !1)))
+ break
+ default:
+ g.appendChild(a.createTextNode(A.value))
+ }
+ }),
+ (g.className =
+ PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + ' ' + PSEUDO_HIDE_ELEMENT_CLASS_AFTER)
+ t =
+ t === PseudoElementType.BEFORE
+ ? ' ' + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE
+ : ' ' + PSEUDO_HIDE_ELEMENT_CLASS_AFTER
+ return isSVGElementNode(A) ? (A.className.baseValue += t) : (A.className += t), g
+ }
+ }
+ }),
+ (A.destroy = function (A) {
+ return !!A.parentNode && (A.parentNode.removeChild(A), !0)
+ }),
+ A
+ )
+ })()
+!(function (A) {
+ ;(A[(A.BEFORE = 0)] = 'BEFORE'), (A[(A.AFTER = 1)] = 'AFTER')
+})((PseudoElementType = PseudoElementType || {}))
+var CORNER,
+ createIFrameContainer = 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(IGNORE_ATTRIBUTE, 'true'),
+ A.body.appendChild(t),
+ t
+ )
+ },
+ imageReady = function (e) {
+ return new Promise(function (A) {
+ !e.complete && e.src ? ((e.onload = A), (e.onerror = A)) : A()
+ })
+ },
+ imagesReady = function (A) {
+ return Promise.all([].slice.call(A.images, 0).map(imageReady))
+ },
+ iframeLoader = 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 = function () {
+ t.onload = n.onload = null
+ var A = setInterval(function () {
+ 0 < r.body.childNodes.length && 'complete' === r.readyState && (clearInterval(A), e(n))
+ }, 50)
+ }
+ })
+ },
+ ignoredStyleProperties = ['all', 'd', 'content'],
+ copyCSSStyles = function (A, e) {
+ for (var t = A.length - 1; 0 <= t; t--) {
+ var r = A.item(t)
+ ;-1 === ignoredStyleProperties.indexOf(r) && e.style.setProperty(r, A.getPropertyValue(r))
+ }
+ return e
+ },
+ serializeDoctype = function (A) {
+ var e = ''
+ return (
+ A &&
+ ((e += '')),
+ e
+ )
+ },
+ restoreOwnerScroll = function (A, e, t) {
+ A &&
+ A.defaultView &&
+ (e !== A.defaultView.pageXOffset || t !== A.defaultView.pageYOffset) &&
+ A.defaultView.scrollTo(e, t)
+ },
+ restoreNodeScroll = function (A) {
+ var e = A[0],
+ t = A[1],
+ A = A[2]
+ ;(e.scrollLeft = t), (e.scrollTop = A)
+ },
+ PSEUDO_BEFORE = ':before',
+ PSEUDO_AFTER = ':after',
+ PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = '___html2canvas___pseudoelement_before',
+ PSEUDO_HIDE_ELEMENT_CLASS_AFTER = '___html2canvas___pseudoelement_after',
+ PSEUDO_HIDE_ELEMENT_STYLE = '{\n content: "" !important;\n display: none !important;\n}',
+ createPseudoHideStyles = function (A) {
+ createStyles(
+ A,
+ '.' +
+ PSEUDO_HIDE_ELEMENT_CLASS_BEFORE +
+ PSEUDO_BEFORE +
+ PSEUDO_HIDE_ELEMENT_STYLE +
+ '\n .' +
+ PSEUDO_HIDE_ELEMENT_CLASS_AFTER +
+ PSEUDO_AFTER +
+ PSEUDO_HIDE_ELEMENT_STYLE,
+ )
+ },
+ createStyles = function (A, e) {
+ var t = A.ownerDocument
+ t && (((t = t.createElement('style')).textContent = e), A.appendChild(t))
+ },
+ CacheStorage = (function () {
+ function t() {}
+ return (
+ (t.getOrigin = function (A) {
+ var e = t._link
+ return e
+ ? ((e.href = A), (e.href = e.href), e.protocol + e.hostname + e.port)
+ : 'about:blank'
+ }),
+ (t.isSameOrigin = function (A) {
+ return t.getOrigin(A) === t._origin
+ }),
+ (t.setContext = function (A) {
+ ;(t._link = A.document.createElement('a')), (t._origin = t.getOrigin(A.location.href))
+ }),
+ (t._origin = 'about:blank'),
+ t
+ )
+ })(),
+ Cache = (function () {
+ function A(A, e) {
+ ;(this.context = A), (this._options = e), (this._cache = {})
+ }
+ return (
+ (A.prototype.addImage = function (A) {
+ var e = Promise.resolve()
+ return (
+ this.has(A) ||
+ ((isBlobImage(A) || isRenderable(A)) &&
+ (this._cache[A] = this.loadImage(A)).catch(function () {})),
+ e
+ )
+ }),
+ (A.prototype.match = function (A) {
+ return this._cache[A]
+ }),
+ (A.prototype.loadImage = function (o) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e,
+ r,
+ t,
+ n,
+ B = this
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return ((e = CacheStorage.isSameOrigin(o)),
+ (r =
+ !isInlineImage(o) &&
+ !0 === this._options.useCORS &&
+ FEATURES.SUPPORT_CORS_IMAGES &&
+ !e),
+ (t =
+ !isInlineImage(o) &&
+ !e &&
+ !isBlobImage(o) &&
+ 'string' == typeof this._options.proxy &&
+ FEATURES.SUPPORT_CORS_XHR &&
+ !r),
+ e ||
+ !1 !== this._options.allowTaint ||
+ isInlineImage(o) ||
+ isBlobImage(o) ||
+ t ||
+ r)
+ ? ((n = o), t ? [4, this.proxy(n)] : [3, 2])
+ : [2]
+ case 1:
+ ;(n = A.sent()), (A.label = 2)
+ case 2:
+ return (
+ this.context.logger.debug('Added image ' + o.substring(0, 256)),
+ [
+ 4,
+ new Promise(function (A, e) {
+ var t = new Image()
+ ;(t.onload = function () {
+ return A(t)
+ }),
+ (t.onerror = e),
+ (isInlineBase64Image(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()]
+ }
+ })
+ })
+ }),
+ (A.prototype.has = function (A) {
+ return void 0 !== this._cache[A]
+ }),
+ (A.prototype.keys = function () {
+ return Promise.resolve(Object.keys(this._cache))
+ }),
+ (A.prototype.proxy = function (o) {
+ var s = this,
+ i = this._options.proxy
+ if (!i) throw new Error('No proxy defined')
+ var a = o.substring(0, 256)
+ return new Promise(function (e, t) {
+ var r = FEATURES.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text',
+ n = new XMLHttpRequest()
+ ;(n.onload = function () {
+ var A
+ 200 === n.status
+ ? 'text' == r
+ ? e(n.response)
+ : ((A = new FileReader()).addEventListener(
+ 'load',
+ function () {
+ return e(A.result)
+ },
+ !1,
+ ),
+ A.addEventListener(
+ 'error',
+ function (A) {
+ return t(A)
+ },
+ !1,
+ ),
+ A.readAsDataURL(n.response))
+ : t('Failed to proxy resource ' + a + ' with status code ' + n.status)
+ }),
+ (n.onerror = t)
+ var A,
+ B = -1 < i.indexOf('?') ? '&' : '?'
+ n.open('GET', i + B + 'url=' + encodeURIComponent(o) + '&responseType=' + r),
+ 'text' != r && n instanceof XMLHttpRequest && (n.responseType = r),
+ s._options.imageTimeout &&
+ ((A = s._options.imageTimeout),
+ (n.timeout = A),
+ (n.ontimeout = function () {
+ return t('Timed out (' + A + 'ms) proxying ' + a)
+ })),
+ n.send()
+ })
+ }),
+ A
+ )
+ })(),
+ INLINE_SVG = /^data:image\/svg\+xml/i,
+ INLINE_BASE64 = /^data:image\/.*;base64,/i,
+ INLINE_IMG = /^data:image\/.*/i,
+ isRenderable = function (A) {
+ return FEATURES.SUPPORT_SVG_DRAWING || !isSVG(A)
+ },
+ isInlineImage = function (A) {
+ return INLINE_IMG.test(A)
+ },
+ isInlineBase64Image = function (A) {
+ return INLINE_BASE64.test(A)
+ },
+ isBlobImage = function (A) {
+ return 'blob' === A.substr(0, 4)
+ },
+ isSVG = function (A) {
+ return 'svg' === A.substr(-3).toLowerCase() || INLINE_SVG.test(A)
+ },
+ Vector = (function () {
+ function t(A, e) {
+ ;(this.type = 0), (this.x = A), (this.y = e)
+ }
+ return (
+ (t.prototype.add = function (A, e) {
+ return new t(this.x + A, this.y + e)
+ }),
+ t
+ )
+ })(),
+ lerp = function (A, e, t) {
+ return new Vector(A.x + (e.x - A.x) * t, A.y + (e.y - A.y) * t)
+ },
+ BezierCurve = (function () {
+ function o(A, e, t, r) {
+ ;(this.type = 1),
+ (this.start = A),
+ (this.startControl = e),
+ (this.endControl = t),
+ (this.end = r)
+ }
+ return (
+ (o.prototype.subdivide = function (A, e) {
+ var t = lerp(this.start, this.startControl, A),
+ r = lerp(this.startControl, this.endControl, A),
+ n = lerp(this.endControl, this.end, A),
+ B = lerp(t, r, A),
+ r = lerp(r, n, A),
+ A = lerp(B, r, A)
+ return e ? new o(this.start, t, B, A) : new o(A, r, n, this.end)
+ }),
+ (o.prototype.add = function (A, e) {
+ return new o(
+ this.start.add(A, e),
+ this.startControl.add(A, e),
+ this.endControl.add(A, e),
+ this.end.add(A, e),
+ )
+ }),
+ (o.prototype.reverse = function () {
+ return new o(this.end, this.endControl, this.startControl, this.start)
+ }),
+ o
+ )
+ })(),
+ isBezierCurve = function (A) {
+ return 1 === A.type
+ },
+ BoundCurves = function (A) {
+ var e = A.styles,
+ t = A.bounds,
+ r = (w = getAbsoluteValueForTuple(e.borderTopLeftRadius, t.width, t.height))[0],
+ n = w[1],
+ B = (U = getAbsoluteValueForTuple(e.borderTopRightRadius, t.width, t.height))[0],
+ o = U[1],
+ s = (F = getAbsoluteValueForTuple(e.borderBottomRightRadius, t.width, t.height))[0],
+ i = F[1],
+ a = (E = getAbsoluteValueForTuple(e.borderBottomLeftRadius, t.width, t.height))[0],
+ c = E[1]
+ ;(d = []).push((r + B) / t.width),
+ d.push((a + s) / t.width),
+ d.push((n + c) / t.height),
+ d.push((o + i) / t.height),
+ 1 < (h = Math.max.apply(Math, d)) &&
+ ((r /= h), (n /= h), (B /= h), (o /= h), (s /= h), (i /= h), (a /= h), (c /= h))
+ var g = t.width - B,
+ Q = t.height - i,
+ C = t.width - s,
+ l = t.height - c,
+ u = e.borderTopWidth,
+ w = e.borderRightWidth,
+ U = e.borderBottomWidth,
+ F = e.borderLeftWidth,
+ E = getAbsoluteValue(e.paddingTop, A.bounds.width),
+ d = getAbsoluteValue(e.paddingRight, A.bounds.width),
+ h = getAbsoluteValue(e.paddingBottom, A.bounds.width),
+ A = getAbsoluteValue(e.paddingLeft, A.bounds.width)
+ ;(this.topLeftBorderDoubleOuterBox =
+ 0 < r || 0 < n
+ ? getCurvePoints(t.left + F / 3, t.top + u / 3, r - F / 3, n - u / 3, CORNER.TOP_LEFT)
+ : new Vector(t.left + F / 3, t.top + u / 3)),
+ (this.topRightBorderDoubleOuterBox =
+ 0 < r || 0 < n
+ ? getCurvePoints(t.left + g, t.top + u / 3, B - w / 3, o - u / 3, CORNER.TOP_RIGHT)
+ : new Vector(t.left + t.width - w / 3, t.top + u / 3)),
+ (this.bottomRightBorderDoubleOuterBox =
+ 0 < s || 0 < i
+ ? getCurvePoints(t.left + C, t.top + Q, s - w / 3, i - U / 3, CORNER.BOTTOM_RIGHT)
+ : new Vector(t.left + t.width - w / 3, t.top + t.height - U / 3)),
+ (this.bottomLeftBorderDoubleOuterBox =
+ 0 < a || 0 < c
+ ? getCurvePoints(t.left + F / 3, t.top + l, a - F / 3, c - U / 3, CORNER.BOTTOM_LEFT)
+ : new Vector(t.left + F / 3, t.top + t.height - U / 3)),
+ (this.topLeftBorderDoubleInnerBox =
+ 0 < r || 0 < n
+ ? getCurvePoints(
+ t.left + (2 * F) / 3,
+ t.top + (2 * u) / 3,
+ r - (2 * F) / 3,
+ n - (2 * u) / 3,
+ CORNER.TOP_LEFT,
+ )
+ : new Vector(t.left + (2 * F) / 3, t.top + (2 * u) / 3)),
+ (this.topRightBorderDoubleInnerBox =
+ 0 < r || 0 < n
+ ? getCurvePoints(
+ t.left + g,
+ t.top + (2 * u) / 3,
+ B - (2 * w) / 3,
+ o - (2 * u) / 3,
+ CORNER.TOP_RIGHT,
+ )
+ : new Vector(t.left + t.width - (2 * w) / 3, t.top + (2 * u) / 3)),
+ (this.bottomRightBorderDoubleInnerBox =
+ 0 < s || 0 < i
+ ? getCurvePoints(
+ t.left + C,
+ t.top + Q,
+ s - (2 * w) / 3,
+ i - (2 * U) / 3,
+ CORNER.BOTTOM_RIGHT,
+ )
+ : new Vector(t.left + t.width - (2 * w) / 3, t.top + t.height - (2 * U) / 3)),
+ (this.bottomLeftBorderDoubleInnerBox =
+ 0 < a || 0 < c
+ ? getCurvePoints(
+ t.left + (2 * F) / 3,
+ t.top + l,
+ a - (2 * F) / 3,
+ c - (2 * U) / 3,
+ CORNER.BOTTOM_LEFT,
+ )
+ : new Vector(t.left + (2 * F) / 3, t.top + t.height - (2 * U) / 3)),
+ (this.topLeftBorderStroke =
+ 0 < r || 0 < n
+ ? getCurvePoints(t.left + F / 2, t.top + u / 2, r - F / 2, n - u / 2, CORNER.TOP_LEFT)
+ : new Vector(t.left + F / 2, t.top + u / 2)),
+ (this.topRightBorderStroke =
+ 0 < r || 0 < n
+ ? getCurvePoints(t.left + g, t.top + u / 2, B - w / 2, o - u / 2, CORNER.TOP_RIGHT)
+ : new Vector(t.left + t.width - w / 2, t.top + u / 2)),
+ (this.bottomRightBorderStroke =
+ 0 < s || 0 < i
+ ? getCurvePoints(t.left + C, t.top + Q, s - w / 2, i - U / 2, CORNER.BOTTOM_RIGHT)
+ : new Vector(t.left + t.width - w / 2, t.top + t.height - U / 2)),
+ (this.bottomLeftBorderStroke =
+ 0 < a || 0 < c
+ ? getCurvePoints(t.left + F / 2, t.top + l, a - F / 2, c - U / 2, CORNER.BOTTOM_LEFT)
+ : new Vector(t.left + F / 2, t.top + t.height - U / 2)),
+ (this.topLeftBorderBox =
+ 0 < r || 0 < n
+ ? getCurvePoints(t.left, t.top, r, n, CORNER.TOP_LEFT)
+ : new Vector(t.left, t.top)),
+ (this.topRightBorderBox =
+ 0 < B || 0 < o
+ ? getCurvePoints(t.left + g, t.top, B, o, CORNER.TOP_RIGHT)
+ : new Vector(t.left + t.width, t.top)),
+ (this.bottomRightBorderBox =
+ 0 < s || 0 < i
+ ? getCurvePoints(t.left + C, t.top + Q, s, i, CORNER.BOTTOM_RIGHT)
+ : new Vector(t.left + t.width, t.top + t.height)),
+ (this.bottomLeftBorderBox =
+ 0 < a || 0 < c
+ ? getCurvePoints(t.left, t.top + l, a, c, CORNER.BOTTOM_LEFT)
+ : new Vector(t.left, t.top + t.height)),
+ (this.topLeftPaddingBox =
+ 0 < r || 0 < n
+ ? getCurvePoints(
+ t.left + F,
+ t.top + u,
+ Math.max(0, r - F),
+ Math.max(0, n - u),
+ CORNER.TOP_LEFT,
+ )
+ : new Vector(t.left + F, t.top + u)),
+ (this.topRightPaddingBox =
+ 0 < B || 0 < o
+ ? getCurvePoints(
+ t.left + Math.min(g, t.width - w),
+ t.top + u,
+ g > t.width + w ? 0 : Math.max(0, B - w),
+ Math.max(0, o - u),
+ CORNER.TOP_RIGHT,
+ )
+ : new Vector(t.left + t.width - w, t.top + u)),
+ (this.bottomRightPaddingBox =
+ 0 < s || 0 < i
+ ? getCurvePoints(
+ t.left + Math.min(C, t.width - F),
+ t.top + Math.min(Q, t.height - U),
+ Math.max(0, s - w),
+ Math.max(0, i - U),
+ CORNER.BOTTOM_RIGHT,
+ )
+ : new Vector(t.left + t.width - w, t.top + t.height - U)),
+ (this.bottomLeftPaddingBox =
+ 0 < a || 0 < c
+ ? getCurvePoints(
+ t.left + F,
+ t.top + Math.min(l, t.height - U),
+ Math.max(0, a - F),
+ Math.max(0, c - U),
+ CORNER.BOTTOM_LEFT,
+ )
+ : new Vector(t.left + F, t.top + t.height - U)),
+ (this.topLeftContentBox =
+ 0 < r || 0 < n
+ ? getCurvePoints(
+ t.left + F + A,
+ t.top + u + E,
+ Math.max(0, r - (F + A)),
+ Math.max(0, n - (u + E)),
+ CORNER.TOP_LEFT,
+ )
+ : new Vector(t.left + F + A, t.top + u + E)),
+ (this.topRightContentBox =
+ 0 < B || 0 < o
+ ? getCurvePoints(
+ t.left + Math.min(g, t.width + F + A),
+ t.top + u + E,
+ g > t.width + F + A ? 0 : B - F + A,
+ o - (u + E),
+ CORNER.TOP_RIGHT,
+ )
+ : new Vector(t.left + t.width - (w + d), t.top + u + E)),
+ (this.bottomRightContentBox =
+ 0 < s || 0 < i
+ ? getCurvePoints(
+ t.left + Math.min(C, t.width - (F + A)),
+ t.top + Math.min(Q, t.height + u + E),
+ Math.max(0, s - (w + d)),
+ i - (U + h),
+ CORNER.BOTTOM_RIGHT,
+ )
+ : new Vector(t.left + t.width - (w + d), t.top + t.height - (U + h))),
+ (this.bottomLeftContentBox =
+ 0 < a || 0 < c
+ ? getCurvePoints(
+ t.left + F + A,
+ t.top + l,
+ Math.max(0, a - (F + A)),
+ c - (U + h),
+ CORNER.BOTTOM_LEFT,
+ )
+ : new Vector(t.left + F + A, t.top + t.height - (U + h)))
+ }
+!(function (A) {
+ ;(A[(A.TOP_LEFT = 0)] = 'TOP_LEFT'),
+ (A[(A.TOP_RIGHT = 1)] = 'TOP_RIGHT'),
+ (A[(A.BOTTOM_RIGHT = 2)] = 'BOTTOM_RIGHT'),
+ (A[(A.BOTTOM_LEFT = 3)] = 'BOTTOM_LEFT')
+})((CORNER = CORNER || {}))
+var getCurvePoints = function (A, e, t, r, n) {
+ var B = ((Math.sqrt(2) - 1) / 3) * 4,
+ o = t * B,
+ s = r * B,
+ i = A + t,
+ a = e + r
+ switch (n) {
+ case CORNER.TOP_LEFT:
+ return new BezierCurve(
+ new Vector(A, a),
+ new Vector(A, a - s),
+ new Vector(i - o, e),
+ new Vector(i, e),
+ )
+ case CORNER.TOP_RIGHT:
+ return new BezierCurve(
+ new Vector(A, e),
+ new Vector(A + o, e),
+ new Vector(i, a - s),
+ new Vector(i, a),
+ )
+ case CORNER.BOTTOM_RIGHT:
+ return new BezierCurve(
+ new Vector(i, e),
+ new Vector(i, e + s),
+ new Vector(A + o, a),
+ new Vector(A, a),
+ )
+ default:
+ CORNER.BOTTOM_LEFT
+ return new BezierCurve(
+ new Vector(i, a),
+ new Vector(i - o, a),
+ new Vector(A, e + s),
+ new Vector(A, e),
+ )
+ }
+ },
+ calculateBorderBoxPath = function (A) {
+ return [A.topLeftBorderBox, A.topRightBorderBox, A.bottomRightBorderBox, A.bottomLeftBorderBox]
+ },
+ calculateContentBoxPath = function (A) {
+ return [
+ A.topLeftContentBox,
+ A.topRightContentBox,
+ A.bottomRightContentBox,
+ A.bottomLeftContentBox,
+ ]
+ },
+ calculatePaddingBoxPath = function (A) {
+ return [
+ A.topLeftPaddingBox,
+ A.topRightPaddingBox,
+ A.bottomRightPaddingBox,
+ A.bottomLeftPaddingBox,
+ ]
+ },
+ TransformEffect = function (A, e, t) {
+ ;(this.offsetX = A), (this.offsetY = e), (this.matrix = t), (this.type = 0), (this.target = 6)
+ },
+ ClipEffect = function (A, e) {
+ ;(this.path = A), (this.target = e), (this.type = 1)
+ },
+ OpacityEffect = function (A) {
+ ;(this.opacity = A), (this.type = 2), (this.target = 6)
+ },
+ isTransformEffect = function (A) {
+ return 0 === A.type
+ },
+ isClipEffect = function (A) {
+ return 1 === A.type
+ },
+ isOpacityEffect = function (A) {
+ return 2 === A.type
+ },
+ equalPath = function (A, t) {
+ return (
+ A.length === t.length &&
+ A.some(function (A, e) {
+ return A === t[e]
+ })
+ )
+ },
+ transformPath = 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
+ })
+ },
+ StackingContext = function (A) {
+ ;(this.element = A),
+ (this.inlineLevel = []),
+ (this.nonInlineLevel = []),
+ (this.negativeZIndex = []),
+ (this.zeroOrAutoZIndexOrTransformedOrOpacity = []),
+ (this.positiveZIndex = []),
+ (this.nonPositionedFloats = []),
+ (this.nonPositionedInlineLevel = [])
+ },
+ ElementPaint = (function () {
+ function A(A, e) {
+ var t, r
+ ;(this.container = A),
+ (this.parent = e),
+ (this.effects = []),
+ (this.curves = new BoundCurves(this.container)),
+ this.container.styles.opacity < 1 &&
+ this.effects.push(new OpacityEffect(this.container.styles.opacity)),
+ null !== this.container.styles.transform &&
+ ((e = this.container.bounds.left + this.container.styles.transformOrigin[0].number),
+ (t = this.container.bounds.top + this.container.styles.transformOrigin[1].number),
+ (r = this.container.styles.transform),
+ this.effects.push(new TransformEffect(e, t, r))),
+ 0 !== this.container.styles.overflowX &&
+ ((t = calculateBorderBoxPath(this.curves)),
+ (r = calculatePaddingBoxPath(this.curves)),
+ equalPath(t, r)
+ ? this.effects.push(new ClipEffect(t, 6))
+ : (this.effects.push(new ClipEffect(t, 2)), this.effects.push(new ClipEffect(r, 4))))
+ }
+ return (
+ (A.prototype.getEffects = function (e) {
+ for (
+ var A = -1 === [2, 3].indexOf(this.container.styles.position),
+ t = this.parent,
+ r = this.effects.slice(0);
+ t;
+
+ ) {
+ var n,
+ B,
+ o = t.effects.filter(function (A) {
+ return !isClipEffect(A)
+ })
+ A || 0 !== t.container.styles.position || !t.parent
+ ? (r.unshift.apply(r, o),
+ (A = -1 === [2, 3].indexOf(t.container.styles.position)),
+ 0 !== t.container.styles.overflowX &&
+ ((n = calculateBorderBoxPath(t.curves)),
+ (B = calculatePaddingBoxPath(t.curves)),
+ equalPath(n, B) || r.unshift(new ClipEffect(B, 6))))
+ : r.unshift.apply(r, o),
+ (t = t.parent)
+ }
+ return r.filter(function (A) {
+ return contains(A.target, e)
+ })
+ }),
+ A
+ )
+ })(),
+ parseStackTree = function (a, c, g, Q) {
+ a.container.elements.forEach(function (A) {
+ var e = contains(A.flags, 4),
+ t = contains(A.flags, 2),
+ r = new ElementPaint(A, a)
+ contains(A.styles.display, 2048) && Q.push(r)
+ var n,
+ B,
+ o,
+ s,
+ i = contains(A.flags, 8) ? [] : Q
+ e || t
+ ? ((n = e || A.styles.isPositioned() ? g : c),
+ (t = new StackingContext(r)),
+ A.styles.isPositioned() || A.styles.opacity < 1 || A.styles.isTransformed()
+ ? (B = A.styles.zIndex.order) < 0
+ ? ((o = 0),
+ n.negativeZIndex.some(function (A, e) {
+ return B > A.element.container.styles.zIndex.order ? ((o = e), !1) : 0 < o
+ }),
+ n.negativeZIndex.splice(o, 0, t))
+ : 0 < B
+ ? ((s = 0),
+ n.positiveZIndex.some(function (A, e) {
+ return B >= A.element.container.styles.zIndex.order ? ((s = e + 1), !1) : 0 < s
+ }),
+ n.positiveZIndex.splice(s, 0, t))
+ : n.zeroOrAutoZIndexOrTransformedOrOpacity.push(t)
+ : (A.styles.isFloating() ? n.nonPositionedFloats : n.nonPositionedInlineLevel).push(t),
+ parseStackTree(r, t, e ? t : g, i))
+ : ((A.styles.isInlineLevel() ? c.inlineLevel : c.nonInlineLevel).push(r),
+ parseStackTree(r, c, g, i)),
+ contains(A.flags, 8) && processListItems(A, i)
+ })
+ },
+ processListItems = function (A, e) {
+ for (
+ var t = A instanceof OLElementContainer ? A.start : 1,
+ r = A instanceof OLElementContainer && A.reversed,
+ n = 0;
+ n < e.length;
+ n++
+ ) {
+ var B = e[n]
+ B.container instanceof LIElementContainer &&
+ 'number' == typeof B.container.value &&
+ 0 !== B.container.value &&
+ (t = B.container.value),
+ (B.listValue = createCounterText(t, B.container.styles.listStyleType, !0)),
+ (t += r ? -1 : 1)
+ }
+ },
+ parseStackingContexts = function (A) {
+ var e = new ElementPaint(A, null),
+ t = new StackingContext(e),
+ A = []
+ return parseStackTree(e, t, t, A), processListItems(e.container, A), t
+ },
+ parsePathForBorder = function (A, e) {
+ switch (e) {
+ case 0:
+ return createPathFromCurves(
+ A.topLeftBorderBox,
+ A.topLeftPaddingBox,
+ A.topRightBorderBox,
+ A.topRightPaddingBox,
+ )
+ case 1:
+ return createPathFromCurves(
+ A.topRightBorderBox,
+ A.topRightPaddingBox,
+ A.bottomRightBorderBox,
+ A.bottomRightPaddingBox,
+ )
+ case 2:
+ return createPathFromCurves(
+ A.bottomRightBorderBox,
+ A.bottomRightPaddingBox,
+ A.bottomLeftBorderBox,
+ A.bottomLeftPaddingBox,
+ )
+ default:
+ return createPathFromCurves(
+ A.bottomLeftBorderBox,
+ A.bottomLeftPaddingBox,
+ A.topLeftBorderBox,
+ A.topLeftPaddingBox,
+ )
+ }
+ },
+ parsePathForBorderDoubleOuter = function (A, e) {
+ switch (e) {
+ case 0:
+ return createPathFromCurves(
+ A.topLeftBorderBox,
+ A.topLeftBorderDoubleOuterBox,
+ A.topRightBorderBox,
+ A.topRightBorderDoubleOuterBox,
+ )
+ case 1:
+ return createPathFromCurves(
+ A.topRightBorderBox,
+ A.topRightBorderDoubleOuterBox,
+ A.bottomRightBorderBox,
+ A.bottomRightBorderDoubleOuterBox,
+ )
+ case 2:
+ return createPathFromCurves(
+ A.bottomRightBorderBox,
+ A.bottomRightBorderDoubleOuterBox,
+ A.bottomLeftBorderBox,
+ A.bottomLeftBorderDoubleOuterBox,
+ )
+ default:
+ return createPathFromCurves(
+ A.bottomLeftBorderBox,
+ A.bottomLeftBorderDoubleOuterBox,
+ A.topLeftBorderBox,
+ A.topLeftBorderDoubleOuterBox,
+ )
+ }
+ },
+ parsePathForBorderDoubleInner = function (A, e) {
+ switch (e) {
+ case 0:
+ return createPathFromCurves(
+ A.topLeftBorderDoubleInnerBox,
+ A.topLeftPaddingBox,
+ A.topRightBorderDoubleInnerBox,
+ A.topRightPaddingBox,
+ )
+ case 1:
+ return createPathFromCurves(
+ A.topRightBorderDoubleInnerBox,
+ A.topRightPaddingBox,
+ A.bottomRightBorderDoubleInnerBox,
+ A.bottomRightPaddingBox,
+ )
+ case 2:
+ return createPathFromCurves(
+ A.bottomRightBorderDoubleInnerBox,
+ A.bottomRightPaddingBox,
+ A.bottomLeftBorderDoubleInnerBox,
+ A.bottomLeftPaddingBox,
+ )
+ default:
+ return createPathFromCurves(
+ A.bottomLeftBorderDoubleInnerBox,
+ A.bottomLeftPaddingBox,
+ A.topLeftBorderDoubleInnerBox,
+ A.topLeftPaddingBox,
+ )
+ }
+ },
+ parsePathForBorderStroke = function (A, e) {
+ switch (e) {
+ case 0:
+ return createStrokePathFromCurves(A.topLeftBorderStroke, A.topRightBorderStroke)
+ case 1:
+ return createStrokePathFromCurves(A.topRightBorderStroke, A.bottomRightBorderStroke)
+ case 2:
+ return createStrokePathFromCurves(A.bottomRightBorderStroke, A.bottomLeftBorderStroke)
+ default:
+ return createStrokePathFromCurves(A.bottomLeftBorderStroke, A.topLeftBorderStroke)
+ }
+ },
+ createStrokePathFromCurves = function (A, e) {
+ var t = []
+ return (
+ isBezierCurve(A) ? t.push(A.subdivide(0.5, !1)) : t.push(A),
+ isBezierCurve(e) ? t.push(e.subdivide(0.5, !0)) : t.push(e),
+ t
+ )
+ },
+ createPathFromCurves = function (A, e, t, r) {
+ var n = []
+ return (
+ isBezierCurve(A) ? n.push(A.subdivide(0.5, !1)) : n.push(A),
+ isBezierCurve(t) ? n.push(t.subdivide(0.5, !0)) : n.push(t),
+ isBezierCurve(r) ? n.push(r.subdivide(0.5, !0).reverse()) : n.push(r),
+ isBezierCurve(e) ? n.push(e.subdivide(0.5, !1).reverse()) : n.push(e),
+ n
+ )
+ },
+ paddingBox = function (A) {
+ var e = A.bounds,
+ A = A.styles
+ return e.add(
+ A.borderLeftWidth,
+ A.borderTopWidth,
+ -(A.borderRightWidth + A.borderLeftWidth),
+ -(A.borderTopWidth + A.borderBottomWidth),
+ )
+ },
+ contentBox = function (A) {
+ var e = A.styles,
+ t = A.bounds,
+ r = getAbsoluteValue(e.paddingLeft, t.width),
+ n = getAbsoluteValue(e.paddingRight, t.width),
+ B = getAbsoluteValue(e.paddingTop, t.width),
+ A = getAbsoluteValue(e.paddingBottom, t.width)
+ return t.add(
+ r + e.borderLeftWidth,
+ B + e.borderTopWidth,
+ -(e.borderRightWidth + e.borderLeftWidth + r + n),
+ -(e.borderTopWidth + e.borderBottomWidth + B + A),
+ )
+ },
+ calculateBackgroundPositioningArea = function (A, e) {
+ return 0 === A ? e.bounds : (2 === A ? contentBox : paddingBox)(e)
+ },
+ calculateBackgroundPaintingArea = function (A, e) {
+ return 0 === A ? e.bounds : (2 === A ? contentBox : paddingBox)(e)
+ },
+ calculateBackgroundRendering = function (A, e, t) {
+ var r = calculateBackgroundPositioningArea(
+ getBackgroundValueForIndex(A.styles.backgroundOrigin, e),
+ A,
+ ),
+ n = calculateBackgroundPaintingArea(
+ getBackgroundValueForIndex(A.styles.backgroundClip, e),
+ A,
+ ),
+ B = calculateBackgroundSize(getBackgroundValueForIndex(A.styles.backgroundSize, e), t, r),
+ o = B[0],
+ s = B[1],
+ t = getAbsoluteValueForTuple(
+ getBackgroundValueForIndex(A.styles.backgroundPosition, e),
+ r.width - o,
+ r.height - s,
+ )
+ return [
+ calculateBackgroundRepeatPath(
+ getBackgroundValueForIndex(A.styles.backgroundRepeat, e),
+ t,
+ B,
+ r,
+ n,
+ ),
+ Math.round(r.left + t[0]),
+ Math.round(r.top + t[1]),
+ o,
+ s,
+ ]
+ },
+ isAuto = function (A) {
+ return isIdentToken(A) && A.value === BACKGROUND_SIZE.AUTO
+ },
+ hasIntrinsicValue = function (A) {
+ return 'number' == typeof A
+ },
+ calculateBackgroundSize = function (A, e, t) {
+ var r = e[0],
+ n = e[1],
+ B = e[2],
+ o = A[0],
+ s = A[1]
+ if (!o) return [0, 0]
+ if (isLengthPercentage(o) && s && isLengthPercentage(s))
+ return [getAbsoluteValue(o, t.width), getAbsoluteValue(s, t.height)]
+ var i = hasIntrinsicValue(B)
+ if (
+ isIdentToken(o) &&
+ (o.value === BACKGROUND_SIZE.CONTAIN || o.value === BACKGROUND_SIZE.COVER)
+ )
+ return hasIntrinsicValue(B)
+ ? t.width / t.height < B != (o.value === BACKGROUND_SIZE.COVER)
+ ? [t.width, t.width / B]
+ : [t.height * B, t.height]
+ : [t.width, t.height]
+ var a = hasIntrinsicValue(r),
+ e = hasIntrinsicValue(n),
+ A = a || e
+ if (isAuto(o) && (!s || isAuto(s)))
+ return a && e
+ ? [r, n]
+ : i || A
+ ? A && i
+ ? [a ? r : n * B, e ? n : r / B]
+ : [a ? r : t.width, e ? n : t.height]
+ : [t.width, t.height]
+ if (i) {
+ var c = 0,
+ g = 0
+ return (
+ isLengthPercentage(o)
+ ? (c = getAbsoluteValue(o, t.width))
+ : isLengthPercentage(s) && (g = getAbsoluteValue(s, t.height)),
+ isAuto(o) ? (c = g * B) : (s && !isAuto(s)) || (g = c / B),
+ [c, g]
+ )
+ }
+ ;(c = null), (g = null)
+ if (
+ (isLengthPercentage(o)
+ ? (c = getAbsoluteValue(o, t.width))
+ : s && isLengthPercentage(s) && (g = getAbsoluteValue(s, t.height)),
+ null !==
+ (c =
+ null !== (g = null !== c && (!s || isAuto(s)) ? (a && e ? (c / r) * n : t.height) : g) &&
+ isAuto(o)
+ ? a && e
+ ? (g / n) * r
+ : t.width
+ : c) && null !== g)
+ )
+ return [c, g]
+ throw new Error('Unable to calculate background-size for element')
+ },
+ getBackgroundValueForIndex = function (A, e) {
+ e = A[e]
+ return void 0 === e ? A[0] : e
+ },
+ calculateBackgroundRepeatPath = function (A, e, t, r, n) {
+ var B = e[0],
+ o = e[1],
+ s = t[0],
+ i = t[1]
+ switch (A) {
+ case 2:
+ return [
+ new Vector(Math.round(r.left), Math.round(r.top + o)),
+ new Vector(Math.round(r.left + r.width), Math.round(r.top + o)),
+ new Vector(Math.round(r.left + r.width), Math.round(i + r.top + o)),
+ new Vector(Math.round(r.left), Math.round(i + r.top + o)),
+ ]
+ case 3:
+ return [
+ new Vector(Math.round(r.left + B), Math.round(r.top)),
+ new Vector(Math.round(r.left + B + s), Math.round(r.top)),
+ new Vector(Math.round(r.left + B + s), Math.round(r.height + r.top)),
+ new Vector(Math.round(r.left + B), Math.round(r.height + r.top)),
+ ]
+ case 1:
+ return [
+ new Vector(Math.round(r.left + B), Math.round(r.top + o)),
+ new Vector(Math.round(r.left + B + s), Math.round(r.top + o)),
+ new Vector(Math.round(r.left + B + s), Math.round(r.top + o + i)),
+ new Vector(Math.round(r.left + B), Math.round(r.top + o + i)),
+ ]
+ default:
+ return [
+ new Vector(Math.round(n.left), Math.round(n.top)),
+ new Vector(Math.round(n.left + n.width), Math.round(n.top)),
+ new Vector(Math.round(n.left + n.width), Math.round(n.height + n.top)),
+ new Vector(Math.round(n.left), Math.round(n.height + n.top)),
+ ]
+ }
+ },
+ SMALL_IMAGE = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
+ SAMPLE_TEXT = 'Hidden Text',
+ FontMetrics = (function () {
+ function A(A) {
+ ;(this._data = {}), (this._document = A)
+ }
+ return (
+ (A.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'),
+ (t.style.whiteSpace = 'nowrap'),
+ B.appendChild(t),
+ (r.src = SMALL_IMAGE),
+ (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(SAMPLE_TEXT)),
+ t.appendChild(n),
+ t.appendChild(r)
+ e = r.offsetTop - n.offsetTop + 2
+ t.removeChild(n),
+ t.appendChild(this._document.createTextNode(SAMPLE_TEXT)),
+ (t.style.lineHeight = 'normal'),
+ (r.style.verticalAlign = 'super')
+ r = r.offsetTop - t.offsetTop + 2
+ return B.removeChild(t), { baseline: e, middle: r }
+ }),
+ (A.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]
+ }),
+ A
+ )
+ })(),
+ Renderer = function (A, e) {
+ ;(this.context = A), (this.options = e)
+ },
+ MASK_OFFSET = 1e4,
+ CanvasRenderer = (function (t) {
+ function l(A, e) {
+ A = t.call(this, A, e) || this
+ return (
+ (A._activeEffects = []),
+ (A.canvas = e.canvas || document.createElement('canvas')),
+ (A.ctx = A.canvas.getContext('2d')),
+ e.canvas ||
+ ((A.canvas.width = Math.floor(e.width * e.scale)),
+ (A.canvas.height = Math.floor(e.height * e.scale)),
+ (A.canvas.style.width = e.width + 'px'),
+ (A.canvas.style.height = e.height + 'px')),
+ (A.fontMetrics = new FontMetrics(document)),
+ A.ctx.scale(A.options.scale, A.options.scale),
+ A.ctx.translate(-e.x, -e.y),
+ (A.ctx.textBaseline = 'bottom'),
+ (A._activeEffects = []),
+ A.context.logger.debug(
+ 'Canvas renderer initialized (' + e.width + 'x' + e.height + ') with scale ' + e.scale,
+ ),
+ A
+ )
+ }
+ return (
+ __extends(l, t),
+ (l.prototype.applyEffects = function (A) {
+ for (var e = this; this._activeEffects.length; ) this.popEffect()
+ A.forEach(function (A) {
+ return e.applyEffect(A)
+ })
+ }),
+ (l.prototype.applyEffect = function (A) {
+ this.ctx.save(),
+ isOpacityEffect(A) && (this.ctx.globalAlpha = A.opacity),
+ isTransformEffect(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)),
+ isClipEffect(A) && (this.path(A.path), this.ctx.clip()),
+ this._activeEffects.push(A)
+ }),
+ (l.prototype.popEffect = function () {
+ this._activeEffects.pop(), this.ctx.restore()
+ }),
+ (l.prototype.renderStack = function (e) {
+ return __awaiter(this, void 0, void 0, function () {
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return e.element.container.styles.isVisible()
+ ? [4, this.renderStackContent(e)]
+ : [3, 2]
+ case 1:
+ A.sent(), (A.label = 2)
+ case 2:
+ return [2]
+ }
+ })
+ })
+ }),
+ (l.prototype.renderNode = function (e) {
+ return __awaiter(this, void 0, void 0, function () {
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return (
+ contains(e.container.flags, 16),
+ 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]
+ }
+ })
+ })
+ }),
+ (l.prototype.renderTextWithLetterSpacing = function (t, A, r) {
+ var n = this
+ 0 === A
+ ? this.ctx.fillText(t.text, t.bounds.left, t.bounds.top + r)
+ : segmentGraphemes(t.text).reduce(function (A, e) {
+ return n.ctx.fillText(e, A, t.bounds.top + r), A + n.ctx.measureText(e).width
+ }, t.bounds.left)
+ }),
+ (l.prototype.createFontStyle = function (A) {
+ var e = A.fontVariant
+ .filter(function (A) {
+ return 'normal' === A || 'small-caps' === A
+ })
+ .join(''),
+ t = fixIOSSystemFonts(A.fontFamily).join(', '),
+ r = isDimensionToken(A.fontSize)
+ ? '' + A.fontSize.number + A.fontSize.unit
+ : A.fontSize.number + 'px'
+ return [[A.fontStyle, e, A.fontWeight, r, t].join(' '), t, r]
+ }),
+ (l.prototype.renderTextNode = function (i, a) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e,
+ t,
+ r,
+ n,
+ B,
+ o,
+ s = this
+ return __generator(this, function (A) {
+ return (
+ (r = this.createFontStyle(a)),
+ (e = r[0]),
+ (t = r[1]),
+ (r = r[2]),
+ (this.ctx.font = e),
+ (this.ctx.direction = 1 === a.direction ? 'rtl' : 'ltr'),
+ (this.ctx.textAlign = 'left'),
+ (this.ctx.textBaseline = 'alphabetic'),
+ (r = this.fontMetrics.getMetrics(t, r)),
+ (n = r.baseline),
+ (B = r.middle),
+ (o = a.paintOrder),
+ i.textBounds.forEach(function (t) {
+ o.forEach(function (A) {
+ switch (A) {
+ case 0:
+ ;(s.ctx.fillStyle = asString(a.color)),
+ s.renderTextWithLetterSpacing(t, a.letterSpacing, n)
+ var e = a.textShadow
+ e.length &&
+ t.text.trim().length &&
+ (e
+ .slice(0)
+ .reverse()
+ .forEach(function (A) {
+ ;(s.ctx.shadowColor = asString(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.renderTextWithLetterSpacing(t, a.letterSpacing, n)
+ }),
+ (s.ctx.shadowColor = ''),
+ (s.ctx.shadowOffsetX = 0),
+ (s.ctx.shadowOffsetY = 0),
+ (s.ctx.shadowBlur = 0)),
+ a.textDecorationLine.length &&
+ ((s.ctx.fillStyle = asString(a.textDecorationColor || a.color)),
+ a.textDecorationLine.forEach(function (A) {
+ switch (A) {
+ case 1:
+ s.ctx.fillRect(
+ t.bounds.left,
+ Math.round(t.bounds.top + n),
+ t.bounds.width,
+ 1,
+ )
+ break
+ case 2:
+ s.ctx.fillRect(
+ t.bounds.left,
+ Math.round(t.bounds.top),
+ t.bounds.width,
+ 1,
+ )
+ break
+ case 3:
+ s.ctx.fillRect(
+ t.bounds.left,
+ Math.ceil(t.bounds.top + B),
+ t.bounds.width,
+ 1,
+ )
+ }
+ }))
+ break
+ case 1:
+ a.webkitTextStrokeWidth &&
+ t.text.trim().length &&
+ ((s.ctx.strokeStyle = asString(a.webkitTextStrokeColor)),
+ (s.ctx.lineWidth = a.webkitTextStrokeWidth),
+ (s.ctx.lineJoin = window.chrome ? 'miter' : 'round'),
+ s.ctx.strokeText(t.text, t.bounds.left, t.bounds.top + n)),
+ (s.ctx.strokeStyle = ''),
+ (s.ctx.lineWidth = 0),
+ (s.ctx.lineJoin = 'miter')
+ }
+ })
+ }),
+ [2]
+ )
+ })
+ })
+ }),
+ (l.prototype.renderReplacedElement = function (A, e, t) {
+ var r
+ t &&
+ 0 < A.intrinsicWidth &&
+ 0 < A.intrinsicHeight &&
+ ((r = contentBox(A)),
+ (e = calculatePaddingBoxPath(e)),
+ this.path(e),
+ 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())
+ }),
+ (l.prototype.renderNodeContent = function (C) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e, t, r, n, B, o, s, i, a, c, g, Q
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ this.applyEffects(C.getEffects(4)),
+ (e = C.container),
+ (t = C.curves),
+ (r = e.styles),
+ (n = 0),
+ (B = e.textNodes),
+ (A.label = 1)
+ case 1:
+ return n < B.length ? ((o = B[n]), [4, this.renderTextNode(o, r)]) : [3, 4]
+ case 2:
+ A.sent(), (A.label = 3)
+ case 3:
+ return n++, [3, 1]
+ case 4:
+ if (!(e instanceof ImageElementContainer)) return [3, 8]
+ A.label = 5
+ case 5:
+ return A.trys.push([5, 7, , 8]), [4, this.context.cache.match(e.src)]
+ case 6:
+ return (a = A.sent()), this.renderReplacedElement(e, t, a), [3, 8]
+ case 7:
+ return A.sent(), this.context.logger.error('Error loading image ' + e.src), [3, 8]
+ case 8:
+ if (
+ (e instanceof CanvasElementContainer &&
+ this.renderReplacedElement(e, t, e.canvas),
+ !(e instanceof SVGElementContainer))
+ )
+ return [3, 12]
+ A.label = 9
+ case 9:
+ return A.trys.push([9, 11, , 12]), [4, this.context.cache.match(e.svg)]
+ case 10:
+ return (a = A.sent()), this.renderReplacedElement(e, t, a), [3, 12]
+ case 11:
+ return (
+ A.sent(),
+ this.context.logger.error('Error loading svg ' + e.svg.substring(0, 255)),
+ [3, 12]
+ )
+ case 12:
+ return e instanceof IFrameElementContainer && e.tree
+ ? [
+ 4,
+ new l(this.context, {
+ scale: this.options.scale,
+ backgroundColor: e.backgroundColor,
+ x: 0,
+ y: 0,
+ width: e.width,
+ height: 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 InputElementContainer &&
+ ((i = Math.min(e.bounds.width, e.bounds.height)),
+ e.type === CHECKBOX
+ ? e.checked &&
+ (this.ctx.save(),
+ this.path([
+ new Vector(e.bounds.left + 0.39363 * i, e.bounds.top + 0.79 * i),
+ new Vector(e.bounds.left + 0.16 * i, e.bounds.top + 0.5549 * i),
+ new Vector(e.bounds.left + 0.27347 * i, e.bounds.top + 0.44071 * i),
+ new Vector(e.bounds.left + 0.39694 * i, e.bounds.top + 0.5649 * i),
+ new Vector(e.bounds.left + 0.72983 * i, e.bounds.top + 0.23 * i),
+ new Vector(e.bounds.left + 0.84 * i, e.bounds.top + 0.34085 * i),
+ new Vector(e.bounds.left + 0.39363 * i, e.bounds.top + 0.79 * i),
+ ]),
+ (this.ctx.fillStyle = asString(INPUT_COLOR)),
+ this.ctx.fill(),
+ this.ctx.restore())
+ : e.type === RADIO &&
+ 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 = asString(INPUT_COLOR)),
+ this.ctx.fill(),
+ this.ctx.restore())),
+ isTextInputElement(e) && e.value.length)
+ ) {
+ switch (
+ ((c = this.createFontStyle(r)),
+ (g = c[0]),
+ (i = c[1]),
+ (c = this.fontMetrics.getMetrics(g, i).baseline),
+ (this.ctx.font = g),
+ (this.ctx.fillStyle = asString(r.color)),
+ (this.ctx.textBaseline = 'alphabetic'),
+ (this.ctx.textAlign = canvasTextAlign(e.styles.textAlign)),
+ (Q = contentBox(e)),
+ (s = 0),
+ e.styles.textAlign)
+ ) {
+ case 1:
+ s += Q.width / 2
+ break
+ case 2:
+ s += Q.width
+ }
+ ;(i = Q.add(s, 0, 0, -Q.height / 2 + 1)),
+ this.ctx.save(),
+ this.path([
+ new Vector(Q.left, Q.top),
+ new Vector(Q.left + Q.width, Q.top),
+ new Vector(Q.left + Q.width, Q.top + Q.height),
+ new Vector(Q.left, Q.top + Q.height),
+ ]),
+ this.ctx.clip(),
+ this.renderTextWithLetterSpacing(
+ new TextBounds(e.value, i),
+ r.letterSpacing,
+ c,
+ ),
+ this.ctx.restore(),
+ (this.ctx.textBaseline = 'alphabetic'),
+ (this.ctx.textAlign = 'left')
+ }
+ if (!contains(e.styles.display, 2048)) return [3, 20]
+ if (null === e.styles.listStyleImage) return [3, 19]
+ if (0 !== (c = e.styles.listStyleImage).type) return [3, 18]
+ ;(a = void 0), (c = c.url), (A.label = 15)
+ case 15:
+ return A.trys.push([15, 17, , 18]), [4, this.context.cache.match(c)]
+ case 16:
+ return (
+ (a = A.sent()),
+ this.ctx.drawImage(a, e.bounds.left - (a.width + 10), e.bounds.top),
+ [3, 18]
+ )
+ case 17:
+ return (
+ A.sent(),
+ this.context.logger.error('Error loading list-style-image ' + c),
+ [3, 18]
+ )
+ case 18:
+ return [3, 20]
+ case 19:
+ C.listValue &&
+ -1 !== e.styles.listStyleType &&
+ ((g = this.createFontStyle(r)[0]),
+ (this.ctx.font = g),
+ (this.ctx.fillStyle = asString(r.color)),
+ (this.ctx.textBaseline = 'middle'),
+ (this.ctx.textAlign = 'right'),
+ (Q = new Bounds(
+ e.bounds.left,
+ e.bounds.top + getAbsoluteValue(e.styles.paddingTop, e.bounds.width),
+ e.bounds.width,
+ computeLineHeight(r.lineHeight, r.fontSize.number) / 2 + 1,
+ )),
+ this.renderTextWithLetterSpacing(
+ new TextBounds(C.listValue, Q),
+ r.letterSpacing,
+ computeLineHeight(r.lineHeight, r.fontSize.number) / 2 + 2,
+ ),
+ (this.ctx.textBaseline = 'bottom'),
+ (this.ctx.textAlign = 'left')),
+ (A.label = 20)
+ case 20:
+ return [2]
+ }
+ })
+ })
+ }),
+ (l.prototype.renderStackContent = function (w) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e, t, r, n, B, o, s, i, a, c, g, Q, C, l, u
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return (
+ contains(w.element.container.flags, 16),
+ [4, this.renderNodeBackgroundAndBorders(w.element)]
+ )
+ case 1:
+ A.sent(), (e = 0), (t = w.negativeZIndex), (A.label = 2)
+ case 2:
+ return e < t.length ? ((u = t[e]), [4, this.renderStack(u)]) : [3, 5]
+ case 3:
+ A.sent(), (A.label = 4)
+ case 4:
+ return e++, [3, 2]
+ case 5:
+ return [4, this.renderNodeContent(w.element)]
+ case 6:
+ A.sent(), (r = 0), (n = w.nonInlineLevel), (A.label = 7)
+ case 7:
+ return r < n.length ? ((u = n[r]), [4, this.renderNode(u)]) : [3, 10]
+ case 8:
+ A.sent(), (A.label = 9)
+ case 9:
+ return r++, [3, 7]
+ case 10:
+ ;(B = 0), (o = w.nonPositionedFloats), (A.label = 11)
+ case 11:
+ return B < o.length ? ((u = o[B]), [4, this.renderStack(u)]) : [3, 14]
+ case 12:
+ A.sent(), (A.label = 13)
+ case 13:
+ return B++, [3, 11]
+ case 14:
+ ;(s = 0), (i = w.nonPositionedInlineLevel), (A.label = 15)
+ case 15:
+ return s < i.length ? ((u = i[s]), [4, this.renderStack(u)]) : [3, 18]
+ case 16:
+ A.sent(), (A.label = 17)
+ case 17:
+ return s++, [3, 15]
+ case 18:
+ ;(a = 0), (c = w.inlineLevel), (A.label = 19)
+ case 19:
+ return a < c.length ? ((u = c[a]), [4, this.renderNode(u)]) : [3, 22]
+ case 20:
+ A.sent(), (A.label = 21)
+ case 21:
+ return a++, [3, 19]
+ case 22:
+ ;(g = 0), (Q = w.zeroOrAutoZIndexOrTransformedOrOpacity), (A.label = 23)
+ case 23:
+ return g < Q.length ? ((u = Q[g]), [4, this.renderStack(u)]) : [3, 26]
+ case 24:
+ A.sent(), (A.label = 25)
+ case 25:
+ return g++, [3, 23]
+ case 26:
+ ;(C = 0), (l = w.positiveZIndex), (A.label = 27)
+ case 27:
+ return C < l.length ? ((u = l[C]), [4, this.renderStack(u)]) : [3, 30]
+ case 28:
+ A.sent(), (A.label = 29)
+ case 29:
+ return C++, [3, 27]
+ case 30:
+ return [2]
+ }
+ })
+ })
+ }),
+ (l.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()
+ }),
+ (l.prototype.path = function (A) {
+ this.ctx.beginPath(), this.formatPath(A), this.ctx.closePath()
+ }),
+ (l.prototype.formatPath = function (A) {
+ var r = this
+ A.forEach(function (A, e) {
+ var t = isBezierCurve(A) ? A.start : A
+ 0 === e ? r.ctx.moveTo(t.x, t.y) : r.ctx.lineTo(t.x, t.y),
+ isBezierCurve(A) &&
+ r.ctx.bezierCurveTo(
+ A.startControl.x,
+ A.startControl.y,
+ A.endControl.x,
+ A.endControl.y,
+ A.end.x,
+ A.end.y,
+ )
+ })
+ }),
+ (l.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)
+ }),
+ (l.prototype.resizeImage = function (A, e, t) {
+ if (A.width === e && A.height === t) return A
+ var r = (
+ null !== (r = this.canvas.ownerDocument) && void 0 !== r ? r : document
+ ).createElement('canvas')
+ return (
+ (r.width = Math.max(1, e)),
+ (r.height = Math.max(1, t)),
+ r.getContext('2d').drawImage(A, 0, 0, A.width, A.height, 0, 0, e, t),
+ r
+ )
+ }),
+ (l.prototype.renderBackgroundImage = function (h) {
+ return __awaiter(this, void 0, void 0, function () {
+ var E, e, d, t, r, n
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ ;(E = h.styles.backgroundImage.length - 1),
+ (e = function (e) {
+ var t, r, n, B, o, s, i, a, c, g, Q, C, l, u, w, U, F
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ if (0 !== e.type) return [3, 5]
+ ;(t = void 0), (r = e.url), (A.label = 1)
+ case 1:
+ return A.trys.push([1, 3, , 4]), [4, d.context.cache.match(r)]
+ case 2:
+ return (t = A.sent()), [3, 4]
+ case 3:
+ return (
+ A.sent(),
+ d.context.logger.error('Error loading background-image ' + r),
+ [3, 4]
+ )
+ case 4:
+ return (
+ t &&
+ ((n = calculateBackgroundRendering(h, E, [
+ t.width,
+ t.height,
+ t.width / t.height,
+ ])),
+ (s = n[0]),
+ (Q = n[1]),
+ (C = n[2]),
+ (c = n[3]),
+ (g = n[4]),
+ (o = d.ctx.createPattern(d.resizeImage(t, c, g), 'repeat')),
+ d.renderRepeat(s, o, Q, C)),
+ [3, 6]
+ )
+ case 5:
+ isLinearGradient(e)
+ ? ((F = calculateBackgroundRendering(h, E, [null, null, null])),
+ (s = F[0]),
+ (Q = F[1]),
+ (C = F[2]),
+ (c = F[3]),
+ (g = F[4]),
+ (w = calculateGradientDirection(e.angle, c, g)),
+ (u = w[0]),
+ (n = w[1]),
+ (i = w[2]),
+ (U = w[3]),
+ (a = w[4]),
+ ((F = document.createElement('canvas')).width = c),
+ (F.height = g),
+ (w = F.getContext('2d')),
+ (B = w.createLinearGradient(n, U, i, a)),
+ processColorStops(e.stops, u).forEach(function (A) {
+ return B.addColorStop(A.stop, asString(A.color))
+ }),
+ (w.fillStyle = B),
+ w.fillRect(0, 0, c, g),
+ 0 < c &&
+ 0 < g &&
+ ((o = d.ctx.createPattern(F, 'repeat')),
+ d.renderRepeat(s, o, Q, C)))
+ : isRadialGradient(e) &&
+ ((U = calculateBackgroundRendering(h, E, [null, null, null])),
+ (s = U[0]),
+ (i = U[1]),
+ (a = U[2]),
+ (c = U[3]),
+ (g = U[4]),
+ (u = 0 === e.position.length ? [FIFTY_PERCENT] : e.position),
+ (Q = getAbsoluteValue(u[0], c)),
+ (C = getAbsoluteValue(u[u.length - 1], g)),
+ (w = calculateRadius(e, Q, C, c, g)),
+ (F = w[0]),
+ (U = w[1]),
+ 0 < F &&
+ 0 < U &&
+ ((l = d.ctx.createRadialGradient(i + Q, a + C, 0, i + Q, a + C, F)),
+ processColorStops(e.stops, 2 * F).forEach(function (A) {
+ return l.addColorStop(A.stop, asString(A.color))
+ }),
+ d.path(s),
+ (d.ctx.fillStyle = l),
+ F !== U
+ ? ((u = h.bounds.left + 0.5 * h.bounds.width),
+ (w = h.bounds.top + 0.5 * h.bounds.height),
+ (F = 1 / (U = U / F)),
+ d.ctx.save(),
+ d.ctx.translate(u, w),
+ d.ctx.transform(1, 0, 0, U, 0, 0),
+ d.ctx.translate(-u, -w),
+ d.ctx.fillRect(i, F * (a - w) + w, c, g * F),
+ d.ctx.restore())
+ : d.ctx.fill())),
+ (A.label = 6)
+ case 6:
+ return E--, [2]
+ }
+ })
+ }),
+ (d = this),
+ (t = 0),
+ (r = h.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]
+ }
+ })
+ })
+ }),
+ (l.prototype.renderSolidBorder = function (e, t, r) {
+ return __awaiter(this, void 0, void 0, function () {
+ return __generator(this, function (A) {
+ return (
+ this.path(parsePathForBorder(r, t)),
+ (this.ctx.fillStyle = asString(e)),
+ this.ctx.fill(),
+ [2]
+ )
+ })
+ })
+ }),
+ (l.prototype.renderDoubleBorder = function (t, r, n, B) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return r < 3 ? [4, this.renderSolidBorder(t, n, B)] : [3, 2]
+ case 1:
+ return A.sent(), [2]
+ case 2:
+ return (
+ (e = parsePathForBorderDoubleOuter(B, n)),
+ this.path(e),
+ (this.ctx.fillStyle = asString(t)),
+ this.ctx.fill(),
+ (e = parsePathForBorderDoubleInner(B, n)),
+ this.path(e),
+ this.ctx.fill(),
+ [2]
+ )
+ }
+ })
+ })
+ }),
+ (l.prototype.renderNodeBackgroundAndBorders = function (c) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e,
+ t,
+ r,
+ n,
+ B,
+ o,
+ s,
+ i,
+ a = this
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return (this.applyEffects(c.getEffects(2)),
+ (e = c.container.styles),
+ (t = !isTransparent(e.backgroundColor) || e.backgroundImage.length),
+ (r = [
+ { style: e.borderTopStyle, color: e.borderTopColor, width: e.borderTopWidth },
+ {
+ style: e.borderRightStyle,
+ color: e.borderRightColor,
+ width: e.borderRightWidth,
+ },
+ {
+ style: e.borderBottomStyle,
+ color: e.borderBottomColor,
+ width: e.borderBottomWidth,
+ },
+ { style: e.borderLeftStyle, color: e.borderLeftColor, width: e.borderLeftWidth },
+ ]),
+ (n = calculateBackgroundCurvedPaintingArea(
+ getBackgroundValueForIndex(e.backgroundClip, 0),
+ c.curves,
+ )),
+ t || e.boxShadow.length)
+ ? (this.ctx.save(),
+ this.path(n),
+ this.ctx.clip(),
+ isTransparent(e.backgroundColor) ||
+ ((this.ctx.fillStyle = asString(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 = calculateBorderBoxPath(c.curves),
+ t = A.inset ? 0 : MASK_OFFSET,
+ r = transformPath(
+ 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 = asString(A.color)),
+ (a.ctx.shadowBlur = A.blur.number),
+ (a.ctx.fillStyle = A.inset ? asString(A.color) : 'rgba(0,0,0,1)'),
+ a.ctx.fill(),
+ a.ctx.restore()
+ }),
+ (A.label = 2)
+ case 2:
+ ;(o = B = 0), (s = r), (A.label = 3)
+ case 3:
+ return o < s.length
+ ? 0 !== (i = s[o]).style && !isTransparent(i.color) && 0 < i.width
+ ? 2 !== i.style
+ ? [3, 5]
+ : [4, this.renderDashedDottedBorder(i.color, i.width, B, c.curves, 2)]
+ : [3, 11]
+ : [3, 13]
+ case 4:
+ return A.sent(), [3, 11]
+ case 5:
+ return 3 !== i.style
+ ? [3, 7]
+ : [4, this.renderDashedDottedBorder(i.color, i.width, B, c.curves, 3)]
+ case 6:
+ return A.sent(), [3, 11]
+ case 7:
+ return 4 !== i.style
+ ? [3, 9]
+ : [4, this.renderDoubleBorder(i.color, i.width, B, c.curves)]
+ case 8:
+ return A.sent(), [3, 11]
+ case 9:
+ return [4, this.renderSolidBorder(i.color, B, c.curves)]
+ case 10:
+ A.sent(), (A.label = 11)
+ case 11:
+ B++, (A.label = 12)
+ case 12:
+ return o++, [3, 3]
+ case 13:
+ return [2]
+ }
+ })
+ })
+ }),
+ (l.prototype.renderDashedDottedBorder = function (Q, C, l, u, w) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e, t, r, n, B, o, s, i, a, c, g
+ return __generator(this, function (A) {
+ return (
+ this.ctx.save(),
+ (a = parsePathForBorderStroke(u, l)),
+ (e = parsePathForBorder(u, l)),
+ 2 === w && (this.path(e), this.ctx.clip()),
+ (o = isBezierCurve(e[0])
+ ? ((t = e[0].start.x), e[0].start.y)
+ : ((t = e[0].x), e[0].y)),
+ (s = isBezierCurve(e[1]) ? ((r = e[1].end.x), e[1].end.y) : ((r = e[1].x), e[1].y)),
+ (n = 0 === l || 2 === l ? Math.abs(t - r) : Math.abs(o - s)),
+ this.ctx.beginPath(),
+ 3 === w ? this.formatPath(a) : this.formatPath(e.slice(0, 2)),
+ (B = C < 3 ? 3 * C : 2 * C),
+ (o = C < 3 ? 2 * C : C),
+ 3 === w && (o = B = C),
+ (s = !0),
+ n <= 2 * B
+ ? (s = !1)
+ : n <= 2 * B + o
+ ? ((B *= i = n / (2 * B + o)), (o *= i))
+ : ((a = Math.floor((n + o) / (B + o))),
+ (i = (n - a * B) / (a - 1)),
+ (o =
+ (a = (n - (a + 1) * B) / a) <= 0 || Math.abs(o - i) < Math.abs(o - a)
+ ? i
+ : a)),
+ s && (3 === w ? this.ctx.setLineDash([0, B + o]) : this.ctx.setLineDash([B, o])),
+ 3 === w
+ ? ((this.ctx.lineCap = 'round'), (this.ctx.lineWidth = C))
+ : (this.ctx.lineWidth = 2 * C + 1.1),
+ (this.ctx.strokeStyle = asString(Q)),
+ this.ctx.stroke(),
+ this.ctx.setLineDash([]),
+ 2 === w &&
+ (isBezierCurve(e[0]) &&
+ ((c = e[3]),
+ (g = e[0]),
+ this.ctx.beginPath(),
+ this.formatPath([new Vector(c.end.x, c.end.y), new Vector(g.start.x, g.start.y)]),
+ this.ctx.stroke()),
+ isBezierCurve(e[1]) &&
+ ((c = e[1]),
+ (g = e[2]),
+ this.ctx.beginPath(),
+ this.formatPath([new Vector(c.end.x, c.end.y), new Vector(g.start.x, g.start.y)]),
+ this.ctx.stroke())),
+ this.ctx.restore(),
+ [2]
+ )
+ })
+ })
+ }),
+ (l.prototype.render = function (t) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return (
+ this.options.backgroundColor &&
+ ((this.ctx.fillStyle = asString(this.options.backgroundColor)),
+ this.ctx.fillRect(
+ this.options.x,
+ this.options.y,
+ this.options.width,
+ this.options.height,
+ )),
+ (e = parseStackingContexts(t)),
+ [4, this.renderStack(e)]
+ )
+ case 1:
+ return A.sent(), this.applyEffects([]), [2, this.canvas]
+ }
+ })
+ })
+ }),
+ l
+ )
+ })(Renderer),
+ isTextInputElement = function (A) {
+ return (
+ A instanceof TextareaElementContainer ||
+ A instanceof SelectElementContainer ||
+ (A instanceof InputElementContainer && A.type !== RADIO && A.type !== CHECKBOX)
+ )
+ },
+ calculateBackgroundCurvedPaintingArea = function (A, e) {
+ switch (A) {
+ case 0:
+ return calculateBorderBoxPath(e)
+ case 2:
+ return calculateContentBoxPath(e)
+ default:
+ return calculatePaddingBoxPath(e)
+ }
+ },
+ canvasTextAlign = function (A) {
+ switch (A) {
+ case 1:
+ return 'center'
+ case 2:
+ return 'right'
+ default:
+ return 'left'
+ }
+ },
+ iOSBrokenFonts = ['-apple-system', 'system-ui'],
+ fixIOSSystemFonts = function (A) {
+ return /iPhone OS 15_(0|1)/.test(window.navigator.userAgent)
+ ? A.filter(function (A) {
+ return -1 === iOSBrokenFonts.indexOf(A)
+ })
+ : A
+ },
+ ForeignObjectRenderer = (function (t) {
+ function A(A, e) {
+ A = t.call(this, A, e) || this
+ return (
+ (A.canvas = e.canvas || document.createElement('canvas')),
+ (A.ctx = A.canvas.getContext('2d')),
+ (A.options = e),
+ (A.canvas.width = Math.floor(e.width * e.scale)),
+ (A.canvas.height = Math.floor(e.height * e.scale)),
+ (A.canvas.style.width = e.width + 'px'),
+ (A.canvas.style.height = e.height + 'px'),
+ A.ctx.scale(A.options.scale, A.options.scale),
+ A.ctx.translate(-e.x, -e.y),
+ A.context.logger.debug(
+ 'EXPERIMENTAL ForeignObject renderer initialized (' +
+ e.width +
+ 'x' +
+ e.height +
+ ' at ' +
+ e.x +
+ ',' +
+ e.y +
+ ') with scale ' +
+ e.scale,
+ ),
+ A
+ )
+ }
+ return (
+ __extends(A, t),
+ (A.prototype.render = function (t) {
+ return __awaiter(this, void 0, void 0, function () {
+ var e
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ return (
+ (e = createForeignObjectSVG(
+ this.options.width * this.options.scale,
+ this.options.height * this.options.scale,
+ this.options.scale,
+ this.options.scale,
+ t,
+ )),
+ [4, loadSerializedSVG(e)]
+ )
+ case 1:
+ return (
+ (e = A.sent()),
+ this.options.backgroundColor &&
+ ((this.ctx.fillStyle = asString(this.options.backgroundColor)),
+ this.ctx.fillRect(
+ 0,
+ 0,
+ this.options.width * this.options.scale,
+ this.options.height * this.options.scale,
+ )),
+ this.ctx.drawImage(
+ e,
+ -this.options.x * this.options.scale,
+ -this.options.y * this.options.scale,
+ ),
+ [2, this.canvas]
+ )
+ }
+ })
+ })
+ }),
+ A
+ )
+ })(Renderer),
+ loadSerializedSVG = 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)))
+ })
+ },
+ Logger = (function () {
+ function A(A) {
+ var e = A.id,
+ A = A.enabled
+ ;(this.id = e), (this.enabled = A), (this.start = Date.now())
+ }
+ return (
+ (A.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, __spreadArray([this.id, this.getTime() + 'ms'], A))
+ : this.info.apply(this, A))
+ }),
+ (A.prototype.getTime = function () {
+ return Date.now() - this.start
+ }),
+ (A.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, __spreadArray([this.id, this.getTime() + 'ms'], A))
+ }),
+ (A.prototype.warn = function () {
+ for (var A = [], e = 0; e < arguments.length; e++) A[e] = arguments[e]
+ this.enabled &&
+ ('undefined' != typeof window && window.console && 'function' == typeof console.warn
+ ? console.warn.apply(console, __spreadArray([this.id, this.getTime() + 'ms'], A))
+ : this.info.apply(this, A))
+ }),
+ (A.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, __spreadArray([this.id, this.getTime() + 'ms'], A))
+ : this.info.apply(this, A))
+ }),
+ (A.instances = {}),
+ A
+ )
+ })(),
+ Context = (function () {
+ function t(A, e) {
+ ;(this.windowBounds = e),
+ (this.instanceName = '#' + t.instanceCount++),
+ (this.logger = new Logger({ id: this.instanceName, enabled: A.logging })),
+ (this.cache = null !== (e = A.cache) && void 0 !== e ? e : new Cache(this, A))
+ }
+ return (t.instanceCount = 1), t
+ })(),
+ html2canvas = function (A, e) {
+ return renderElement(A, (e = void 0 === e ? {} : e))
+ }
+'undefined' != typeof window && CacheStorage.setContext(window)
+var renderElement = function (U, F) {
+ return __awaiter(void 0, void 0, void 0, function () {
+ var e, t, r, n, B, o, s, i, a, c, g, Q, C, l, u, w
+ return __generator(this, function (A) {
+ switch (A.label) {
+ case 0:
+ if (!U || 'object' != typeof U)
+ return [2, Promise.reject('Invalid element provided as first argument')]
+ if (!(e = U.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 (
+ (C = {
+ allowTaint: null !== (l = F.allowTaint) && void 0 !== l && l,
+ imageTimeout: null !== (c = F.imageTimeout) && void 0 !== c ? c : 15e3,
+ proxy: F.proxy,
+ useCORS: null !== (g = F.useCORS) && void 0 !== g && g,
+ }),
+ (l = __assign(
+ { logging: null === (Q = F.logging) || void 0 === Q || Q, cache: F.cache },
+ C,
+ )),
+ (c = {
+ windowWidth: null !== (c = F.windowWidth) && void 0 !== c ? c : t.innerWidth,
+ windowHeight: null !== (g = F.windowHeight) && void 0 !== g ? g : t.innerHeight,
+ scrollX: null !== (Q = F.scrollX) && void 0 !== Q ? Q : t.pageXOffset,
+ scrollY: null !== (C = F.scrollY) && void 0 !== C ? C : t.pageYOffset,
+ }),
+ (g = new Bounds(c.scrollX, c.scrollY, c.windowWidth, c.windowHeight)),
+ (Q = new Context(l, g)),
+ (c = null !== (C = F.foreignObjectRendering) && void 0 !== C && C),
+ (C = {
+ allowTaint: null !== (l = F.allowTaint) && void 0 !== l && l,
+ onclone: F.onclone,
+ ignoreElements: F.ignoreElements,
+ inlineImages: c,
+ copyStyles: c,
+ }),
+ Q.logger.debug(
+ 'Starting document clone with size ' +
+ g.width +
+ 'x' +
+ g.height +
+ ' scrolled to ' +
+ -g.left +
+ ',' +
+ -g.top,
+ ),
+ (l = new DocumentCloner(Q, U, C)),
+ (C = l.clonedReferenceElement)
+ ? [4, l.toIFrame(e, g)]
+ : [2, Promise.reject('Unable to find element in cloned iframe')]
+ )
+ case 1:
+ return ((r = A.sent()),
+ (u =
+ isBodyElement(C) || isHTMLElement(C)
+ ? parseDocumentSize(C.ownerDocument)
+ : parseBounds(Q, C)),
+ (n = u.width),
+ (B = u.height),
+ (o = u.left),
+ (s = u.top),
+ (i = parseBackgroundColor(Q, C, F.backgroundColor)),
+ (u = {
+ canvas: F.canvas,
+ backgroundColor: i,
+ scale:
+ null !== (u = null !== (u = F.scale) && void 0 !== u ? u : t.devicePixelRatio) &&
+ void 0 !== u
+ ? u
+ : 1,
+ x: (null !== (u = F.x) && void 0 !== u ? u : 0) + o,
+ y: (null !== (u = F.y) && void 0 !== u ? u : 0) + s,
+ width: null !== (u = F.width) && void 0 !== u ? u : Math.ceil(n),
+ height: null !== (u = F.height) && void 0 !== u ? u : Math.ceil(B),
+ }),
+ c)
+ ? (Q.logger.debug('Document cloned, using foreign object rendering'),
+ [4, new ForeignObjectRenderer(Q, u).render(C)])
+ : [3, 3]
+ case 2:
+ return (a = A.sent()), [3, 5]
+ case 3:
+ return (
+ Q.logger.debug(
+ 'Document cloned, element located at ' +
+ o +
+ ',' +
+ s +
+ ' with size ' +
+ n +
+ 'x' +
+ B +
+ ' using computed rendering',
+ ),
+ Q.logger.debug('Starting DOM parsing'),
+ (w = parseTree(Q, C)),
+ i === w.styles.backgroundColor && (w.styles.backgroundColor = COLORS.TRANSPARENT),
+ Q.logger.debug(
+ 'Starting renderer for element at ' +
+ u.x +
+ ',' +
+ u.y +
+ ' with size ' +
+ u.width +
+ 'x' +
+ u.height,
+ ),
+ [4, new CanvasRenderer(Q, u).render(w)]
+ )
+ case 4:
+ ;(a = A.sent()), (A.label = 5)
+ case 5:
+ return (
+ (null !== (w = F.removeContainer) && void 0 !== w && !w) ||
+ DocumentCloner.destroy(r) ||
+ Q.logger.error('Cannot detach cloned iframe as it is not in the DOM anymore'),
+ Q.logger.debug('Finished rendering'),
+ [2, a]
+ )
+ }
+ })
+ })
+ },
+ parseBackgroundColor = function (A, e, t) {
+ var r = e.ownerDocument,
+ n = r.documentElement
+ ? parseColor(A, getComputedStyle(r.documentElement).backgroundColor)
+ : COLORS.TRANSPARENT,
+ B = r.body ? parseColor(A, getComputedStyle(r.body).backgroundColor) : COLORS.TRANSPARENT,
+ t = 'string' == typeof t ? parseColor(A, t) : null === t ? COLORS.TRANSPARENT : 4294967295
+ return e === r.documentElement ? (isTransparent(n) ? (isTransparent(B) ? t : B) : n) : t
+ }
+export default html2canvas
diff --git a/src/pages-sub/components/dragSort/DragSort.vue b/src/pages-sub/components/dragSort/DragSort.vue
index 90e8e4d..c583995 100644
--- a/src/pages-sub/components/dragSort/DragSort.vue
+++ b/src/pages-sub/components/dragSort/DragSort.vue
@@ -24,8 +24,8 @@
:style="[
{ 'z-index': activeIndex === index ? 9 : 1 },
{ top: activeIndex === index ? scrollInfo.y + 'px' : 0 },
-
isList ? { height: item.height + 'px' } : getItemStyle,
+ { position: 'absolute' },
]"
class="base-drag-wrapper"
>
@@ -58,6 +58,7 @@
{ 'z-index': activeIndex === index ? 9 : 1 },
{ top: activeIndex === index ? scrollInfo.y + 'px' : 0 },
isList ? { height: item.height + 'px' } : getItemStyle,
+ { position: 'absolute' },
]"
class="base-drag-wrapper"
>
@@ -260,10 +261,13 @@ const getAreaStyle = computed(() => {
const w = getRealWidth(width.value)
let h: string | number = props.height
if (h === 'auto') {
- // 长度/横排的数量 * 高度 = 总高度; 不能使用viewMaxHeight的高度,因为这是根据每个item的高度分别增加的,而不是根据 最高的item增加的。
- h = isList.value
- ? viewMaxHeight.value
- : Math.ceil(showList.value.length / props.column) * getItemHeight.value
+ if (isList.value) {
+ // 列表模式下,计算所有元素的总高度
+ h = showList.value.reduce((total, item) => total + (item.height || defaultHeight), 0)
+ } else {
+ // 网格模式下,根据列数和每行高度计算
+ h = Math.ceil(showList.value.length / props.column) * getItemHeight.value
+ }
}
let style = {
width: w + 'px',
@@ -329,115 +333,182 @@ const getPosition = (index: number, list = cloneList.value): [number, number] =>
return [x, y]
}
-// 初始化
+// 添加任务调度系统
+interface Task {
+ index: number
+ priority: number
+ timestamp: number
+}
+
+const taskQueue = ref([])
+const isProcessing = ref(false)
+const lastFrameTime = ref(0)
+const FRAME_DURATION = 16 // 16ms 每帧
+const IDLE_TIMEOUT = 50 // 空闲超时时间
+const defaultHeight = 400 // 默认高度 400rpx
+const viewportTop = ref(0)
+const viewportHeight = ref(0)
+const viewportBottom = computed(() => viewportTop.value + viewportHeight.value)
+
+// 计算元素优先级
+const calculatePriority = (index: number, y: number, height: number): number => {
+ let priority = 0
+ // 在视口中的元素优先级最高
+ if (y <= viewportBottom.value && y + height >= viewportTop.value) {
+ priority = 3
+ }
+ // 即将进入视口的元素次之
+ else if (y < viewportBottom.value + 200) {
+ priority = 2
+ }
+ // 其他元素优先级最低
+ else {
+ priority = 1
+ }
+ return priority
+}
+
+// 任务处理函数
+const processTask = (task: Task) => {
+ return new Promise((resolve) => {
+ const item = showList.value[task.index]
+ if (!item) {
+ resolve()
+ return
+ }
+
+ // 获取元素实际高度
+ const query = uni.createSelectorQuery().in(instance.proxy)
+ query
+ .selectAll('.slotContent')
+ .boundingClientRect((data) => {
+ if (data && Array.isArray(data) && data[task.index]) {
+ // 更新高度
+ item.height = data[task.index].height
+
+ // 计算y值:累加之前所有元素的高度
+ let y = 0
+ for (let i = 0; i < task.index; i++) {
+ y += data[i].height || defaultHeight
+ }
+
+ // 计算x值
+ const x = (task.index % props.column) * Number(getItemWidth.value)
+
+ // 更新位置
+ item.x = x
+ item.y = y
+
+ // 更新列表
+ showList.value[task.index] = { ...item }
+ console.log('更新高度和位置:', task.index, item.height, item.x, item.y)
+ }
+ resolve()
+ })
+ .exec()
+ })
+}
+
+// 任务调度器
+const scheduleTask = async () => {
+ if (isProcessing.value || taskQueue.value.length === 0) return
+
+ isProcessing.value = true
+ const currentTime = Date.now()
+ const timeSinceLastFrame = currentTime - lastFrameTime.value
+
+ // 如果距离上一帧时间太短,等待下一帧
+ if (timeSinceLastFrame < FRAME_DURATION) {
+ await new Promise((resolve) => setTimeout(resolve, FRAME_DURATION - timeSinceLastFrame))
+ }
+
+ // 获取优先级最高的任务
+ const task = taskQueue.value.reduce((prev, curr) => (prev.priority > curr.priority ? prev : curr))
+
+ // 从队列中移除
+ taskQueue.value = taskQueue.value.filter((t) => t.index !== task.index)
+
+ // 处理任务
+ await processTask(task)
+
+ lastFrameTime.value = Date.now()
+ isProcessing.value = false
+
+ // 如果还有任务,继续调度
+ if (taskQueue.value.length > 0) {
+ setTimeout(() => {
+ scheduleTask()
+ }, 0)
+ }
+}
+
+// 修改初始化列表方法
const initList = (list: ItemType[] = [], changeheight: boolean = false): Promise => {
return new Promise((resolve) => {
const newList = deepCopy(list)
- // 给每个item添加一x,y和key
+
+ // 初始化显示列表,使用默认高度
showList.value = newList.map((item, index) => {
- const [x, y] = getPosition(index)
- let data = {
+ let y = 0
+ // 计算当前元素之前所有元素的高度总和
+ for (let i = 0; i < index; i++) {
+ y += newList[i]?.height || defaultHeight
+ }
+
+ const x = (index % props.column) * Number(getItemWidth.value)
+ return {
...item,
x,
y,
+ height: item.height || defaultHeight,
dropId: index + 1,
+ key: 'slot' + Math.random() + index,
}
- let key = 'slot' + Math.random() + index
- // 如果x轴和y轴没变,那么不用更新key来刷新状态
- if (x === item?.x && y === item?.y) {
- if (activeIndex.value !== index) {
- // 非当前点击的下标和目标下标的下标不需要生成新的key
- key = item.key
- }
- }
- // 判断拖动位置的元素是那个
- data.key = key
- return data
})
+
cloneList.value = deepCopy(showList.value)
- nextTick(() => {
- showArea.value = true
- })
if (changeheight && props.itemHeight === 'auto') {
- // 获取到最高的item
- setTimeout(async () => {
- // #ifdef APP-NVUE
- showArea.value = false
+ // 初始化任务队列
+ taskQueue.value = showList.value.map((_, index) => ({
+ index,
+ priority: 0,
+ timestamp: Date.now(),
+ }))
- const calculateHeights = async () => {
- let max = 0
- let viewMaxHeightVal = 0
-
- const promises = slotContent.value.map((content, index) => {
- return new Promise((resolve) => {
- dom.getComponentRect(content, (res: any) => {
- let size = res.size
- if (isList.value) {
- cloneList.value[index].height = size.height
- }
- viewMaxHeightVal += size.height
- if (size.height > max) {
- max = size.height
- }
- resolve()
- })
- })
- })
-
- await Promise.all(promises)
- viewMaxHeight.value = viewMaxHeightVal
- itemMaxHeight.value = max + 'px'
- nextTick(() => {
- initList(cloneList.value).then(resolve)
- })
- }
-
- await calculateHeights()
- // #endif
-
- // #ifndef APP-NVUE
- const query = uni.createSelectorQuery().in(instance.proxy)
- query
- .selectAll('.slotContent')
- .boundingClientRect((data) => {
- let domList = JSON.parse(JSON.stringify(data))
- let max = 0
- let viewMaxHeightVal = 0
-
- for (let i = 0; i < domList.length; i++) {
- let height = domList[i].height
- if (isList.value) {
- cloneList.value[i].height = height
- }
- viewMaxHeightVal += height
- if (height > max) {
- max = height
- }
- }
- viewMaxHeight.value = viewMaxHeightVal // 内容区域总高度
- itemMaxHeight.value = max + 'px'
- initList(cloneList.value).then(resolve)
- })
- .exec()
- // #endif
- }, 0)
+ // 开始任务调度
+ nextTick(() => {
+ console.log('开始处理任务队列:', taskQueue.value.length)
+ scheduleTask()
+ })
} else {
resolve()
}
})
}
+// 修改滚动处理函数
+const handleScroll = (e: any) => {
+ const scrollTop = e.detail.scrollTop
+ viewportTop.value = scrollTop
+
+ // 更新任务队列优先级
+ taskQueue.value = taskQueue.value.map((task) => ({
+ ...task,
+ priority: calculatePriority(
+ task.index,
+ showList.value[task.index].y,
+ showList.value[task.index].height,
+ ),
+ }))
+}
+
// 方法
// 显示占位
const showPlaceholder = (i: number): boolean => {
// 位于底部或者指定位置等于活动位置时,都不会显示占位
let isShow = false
if (moveToIndex.value > activeIndex.value) {
- // 指定下标位置大于活动下标,i-1; 目的是为了用指定位置的下一级判断占位
- if (moveToIndex.value === i - 1) {
- isShow = true
- }
} else if (moveToIndex.value === activeIndex.value) {
return false // 位置不变时
} else if (moveToIndex.value < activeIndex.value) {
@@ -663,8 +734,10 @@ const getViewCallback = (data: any, size: number) => {
return
}
width.value = data.width
+ showArea.value = true // 确保显示区域
nextTick(() => {
- initList(showList.value, true) // 初始化 dom
+ console.log('初始化列表,数据长度:', showList.value.length)
+ initList(showList.value, true)
})
}
@@ -693,7 +766,9 @@ showList.value = deepCopy(props.list) || []
// 组件挂载后初始化
onMounted(() => {
- setLeoDrag()
+ nextTick(() => {
+ setLeoDrag()
+ })
})
// 暴露方法给父组件调用
@@ -712,12 +787,21 @@ defineExpose({
display: flex;
align-items: center;
transition: top 0.4s;
-
+ position: absolute;
+ left: 0;
+ top: 0;
flex-wrap: wrap;
/* #ifndef APP-NVUE */
width: 100%;
/* #endif */
}
+
+.movable-area {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+
.slotContent {
display: flex;
/* #ifndef APP-NVUE */
diff --git a/src/pages-sub/components/navbar/Navbar.vue b/src/pages-sub/components/navbar/Navbar.vue
index dabc287..4328467 100644
--- a/src/pages-sub/components/navbar/Navbar.vue
+++ b/src/pages-sub/components/navbar/Navbar.vue
@@ -91,13 +91,15 @@ const props = defineProps({
const emit = defineEmits(['clickLeft'])
// 获取系统信息
-const systemInfo = uni.getSystemInfoSync()
+const systemInfo = uni.getWindowInfo()
+const deviceInfo = uni.getDeviceInfo()
const statusBarHeight = systemInfo.statusBarHeight || 0
// 动态计算导航栏高度
const navHeight = computed(() => {
// 获取屏幕信息
- const { platform, screenWidth } = systemInfo
+ const { screenWidth } = systemInfo
+ const { platform } = deviceInfo
// 将px转换为rpx的比例
const ratio = 750 / screenWidth
diff --git a/src/pages-sub/components/overlay/Overlay.vue b/src/pages-sub/components/overlay/Overlay.vue
index f7ba9b3..efd973f 100644
--- a/src/pages-sub/components/overlay/Overlay.vue
+++ b/src/pages-sub/components/overlay/Overlay.vue
@@ -23,7 +23,7 @@ withDefaults(
}>(),
{
backgroundColor: 'rgba(0, 0, 0, 0.7)',
- zIndex: 1000,
+ zIndex: 10,
lockScroll: true,
},
)
diff --git a/src/pages-sub/home/wishesList/components/DataTable.vue b/src/pages-sub/home/wishesList/components/DataTable.vue
index c1b2a41..e55b788 100644
--- a/src/pages-sub/home/wishesList/components/DataTable.vue
+++ b/src/pages-sub/home/wishesList/components/DataTable.vue
@@ -89,8 +89,6 @@ const rankDiff = (index: number, item) => {
const recompileData = computed(() => {
let _data = props.data.map((item, index) => {
- console.log(props.score)
-
item['rankDiff'] = rankDiff(index, item)
item['lineDiff'] = item['score'] - props.score
return item
diff --git a/src/pages-sub/home/wishesList/components/HeaderModelTip.vue b/src/pages-sub/home/wishesList/components/HeaderModelTip.vue
new file mode 100644
index 0000000..b0c48c5
--- /dev/null
+++ b/src/pages-sub/home/wishesList/components/HeaderModelTip.vue
@@ -0,0 +1,21 @@
+
+
+
+
+ {{ calcTypeName(model.type)?.text }}({{ model.count }})
+
+
+
+
+
diff --git a/src/pages-sub/home/wishesList/components/HeaderTip.vue b/src/pages-sub/home/wishesList/components/HeaderTip.vue
index 487ec76..490b4e1 100644
--- a/src/pages-sub/home/wishesList/components/HeaderTip.vue
+++ b/src/pages-sub/home/wishesList/components/HeaderTip.vue
@@ -14,24 +14,12 @@
-
-
-
- {{ calcTypeName(model.type)?.text }}({{ model.count }})
-
-
+
diff --git a/src/static/images/ucenter/vip.png b/src/static/images/ucenter/vip.png
new file mode 100644
index 0000000..0ef002a
Binary files /dev/null and b/src/static/images/ucenter/vip.png differ
diff --git a/src/types/uni-pages.d.ts b/src/types/uni-pages.d.ts
index b5763b3..4c5519a 100644
--- a/src/types/uni-pages.d.ts
+++ b/src/types/uni-pages.d.ts
@@ -9,6 +9,7 @@ interface NavigateToOptions {
"/pages/evaluation/index/index" |
"/pages/expert/index/index" |
"/pages/ucenter/index/index" |
+ "/pages-sub/ucenter/openVip" |
"/pages-sub/customerService/index/index" |
"/pages-sub/home/autoFill/index" |
"/pages-sub/home/career/index" |
diff --git a/src/utils/http.ts b/src/utils/http.ts
index 0db7deb..5738407 100644
--- a/src/utils/http.ts
+++ b/src/utils/http.ts
@@ -1,8 +1,5 @@
import { CustomRequestOptions } from '@/interceptors/request'
import { staticBaseUrl, baseUrl } from '@/utils/index'
-import { useUserStore } from '@/store'
-
-const userStore = useUserStore()
export const http = (options: CustomRequestOptions) => {
// 1. 返回 Promise 对象
diff --git a/tsconfig.json b/tsconfig.json
index e21bf93..3ec4739 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -34,7 +34,8 @@
"src/**/*.tsx",
"src/**/*.jsx",
"src/**/*.vue",
- "src/**/*.json"
+ "src/**/*.json",
+ "src/pages-sub/components/canvas/html2canvas.min.js"
],
"files": ["src/pages-evaluation-sub/uni_modules/lime-echart/static/echarts.min.js"]
}