@syncfusion/ej2-base 25.2.7 → 26.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +3 -2
- package/{README.md → ReadMe.md} +1 -1
- package/bin/syncfusion-license.js +1 -1
- package/dist/ej2-base.min.js +1 -10
- package/dist/ej2-base.umd.min.js +1 -10
- package/dist/ej2-base.umd.min.js.map +1 -1
- package/dist/es6/ej2-base.es2015.js +340 -566
- package/dist/es6/ej2-base.es2015.js.map +1 -1
- package/dist/es6/ej2-base.es5.js +181 -404
- package/dist/es6/ej2-base.es5.js.map +1 -1
- package/dist/global/ej2-base.min.js +1 -10
- package/dist/global/ej2-base.min.js.map +1 -1
- package/dist/global/index.d.ts +0 -9
- package/package.json +225 -161
- package/src/ajax.d.ts +1 -1
- package/src/ajax.js +3 -7
- package/src/animation.d.ts +1 -1
- package/src/animation.js +1 -3
- package/src/base.d.ts +2 -1
- package/src/base.js +4 -13
- package/src/browser.d.ts +1 -1
- package/src/browser.js +3 -4
- package/src/child-property.d.ts +1 -0
- package/src/child-property.js +2 -2
- package/src/component.d.ts +4 -0
- package/src/component.js +9 -17
- package/src/dom.js +4 -11
- package/src/draggable.js +1 -22
- package/src/droppable.js +0 -1
- package/src/event-handler.js +2 -6
- package/src/fetch.js +1 -2
- package/src/hijri-parser.js +3 -3
- package/src/internationalization.js +0 -5
- package/src/intl/date-formatter.js +19 -33
- package/src/intl/date-parser.js +33 -62
- package/src/intl/intl-base.d.ts +7 -0
- package/src/intl/intl-base.js +16 -16
- package/src/intl/number-formatter.js +5 -5
- package/src/intl/number-parser.js +2 -6
- package/src/intl/parser-base.js +6 -11
- package/src/keyboard.js +0 -1
- package/src/module-loader.js +1 -0
- package/src/notify-property-change.d.ts +0 -20
- package/src/notify-property-change.js +16 -55
- package/src/observer.js +3 -6
- package/src/sanitize-helper.js +0 -1
- package/src/template-engine.js +1 -7
- package/src/template.js +13 -18
- package/src/touch.js +3 -8
- package/src/util.d.ts +4 -4
- package/src/util.js +12 -37
- package/src/validate-lic.js +4 -3
- package/styles/_bootstrap5.3-dark-definition.scss +8 -0
- package/styles/_bootstrap5.3-definition.scss +8 -0
- package/styles/_fluent2-dark-definition.scss +9 -0
- package/styles/_fluent2-definition.scss +9 -0
- package/styles/_fluent2-highcontrast-definition.scss +9 -0
- package/styles/animation/_all.scss +0 -1
- package/styles/bootstrap-dark.css +865 -143
- package/styles/bootstrap.css +865 -143
- package/styles/bootstrap4.css +865 -143
- package/styles/bootstrap5-dark.css +865 -143
- package/styles/bootstrap5.css +865 -143
- package/styles/common/_core.scss +3 -7
- package/styles/definition/_bds-dark.scss +45 -156
- package/styles/definition/_bds.scss +71 -202
- package/styles/definition/_bootstrap-dark.scss +1 -13
- package/styles/definition/_bootstrap.scss +0 -13
- package/styles/definition/_bootstrap4.scss +24 -38
- package/styles/definition/_bootstrap5-dark.scss +69 -88
- package/styles/definition/_bootstrap5.3-dark.scss +853 -0
- package/styles/definition/_bootstrap5.3.scss +1486 -0
- package/styles/definition/_bootstrap5.scss +64 -84
- package/styles/definition/_fabric-dark.scss +0 -12
- package/styles/definition/_fabric.scss +0 -12
- package/styles/definition/_fluent-dark.scss +27 -96
- package/styles/definition/_fluent.scss +27 -97
- package/styles/definition/_fluent2-dark.scss +1506 -0
- package/styles/definition/_fluent2-highcontrast.scss +1506 -0
- package/styles/definition/_fluent2.scss +2264 -0
- package/styles/definition/_fusionnew-dark.scss +40 -78
- package/styles/definition/_fusionnew.scss +36 -75
- package/styles/definition/_highcontrast-light.scss +0 -10
- package/styles/definition/_highcontrast.scss +0 -12
- package/styles/definition/_material-dark.scss +0 -11
- package/styles/definition/_material.scss +1 -13
- package/styles/definition/_material3-dark.scss +15 -71
- package/styles/definition/_material3.scss +15 -84
- package/styles/definition/_tailwind-dark.scss +17 -66
- package/styles/definition/_tailwind.scss +18 -66
- package/styles/fabric-dark.css +865 -143
- package/styles/fabric.css +865 -143
- package/styles/fluent-dark.css +865 -143
- package/styles/fluent.css +865 -143
- package/styles/fluent2.css +3825 -0
- package/styles/fluent2.scss +3 -0
- package/styles/highcontrast-light.css +865 -143
- package/styles/highcontrast.css +865 -143
- package/styles/material-dark.css +865 -143
- package/styles/material.css +865 -143
- package/styles/material3-dark.css +865 -144
- package/styles/material3.css +865 -144
- package/styles/offline-theme/material-dark.css +865 -143
- package/styles/offline-theme/material.css +865 -143
- package/styles/offline-theme/tailwind-dark.css +866 -144
- package/styles/offline-theme/tailwind.css +866 -144
- package/styles/tailwind-dark.css +866 -144
- package/styles/tailwind.css +866 -144
- package/CHANGELOG.md +0 -649
|
@@ -18,7 +18,6 @@ function disableBlazorMode() {
|
|
|
18
18
|
* @returns {any} ?
|
|
19
19
|
* @private
|
|
20
20
|
*/
|
|
21
|
-
// eslint-disable-next-line
|
|
22
21
|
function createInstance(classFunction, params) {
|
|
23
22
|
const arrayParam = params;
|
|
24
23
|
arrayParam.unshift(undefined);
|
|
@@ -33,12 +32,10 @@ function createInstance(classFunction, params) {
|
|
|
33
32
|
*/
|
|
34
33
|
function setImmediate(handler) {
|
|
35
34
|
let unbind;
|
|
36
|
-
// eslint-disable-next-line
|
|
37
35
|
const num = new Uint16Array(5);
|
|
38
36
|
const intCrypto = window.msCrypto || window.crypto;
|
|
39
37
|
intCrypto.getRandomValues(num);
|
|
40
38
|
let secret = 'ej2' + combineArray(num);
|
|
41
|
-
// eslint-disable-next-line
|
|
42
39
|
let messageHandler = (event) => {
|
|
43
40
|
if (event.source === window && typeof event.data === 'string' && event.data.length <= 32 && event.data === secret) {
|
|
44
41
|
handler();
|
|
@@ -60,9 +57,7 @@ function setImmediate(handler) {
|
|
|
60
57
|
* @returns {any} ?
|
|
61
58
|
* @private
|
|
62
59
|
*/
|
|
63
|
-
// eslint-disable-next-line
|
|
64
60
|
function getValue(nameSpace, obj) {
|
|
65
|
-
// eslint-disable-next-line
|
|
66
61
|
let value = obj;
|
|
67
62
|
const splits = nameSpace.replace(/\[/g, '.').replace(/\]/g, '').split('.');
|
|
68
63
|
for (let i = 0; i < splits.length && !isUndefined(value); i++) {
|
|
@@ -79,12 +74,9 @@ function getValue(nameSpace, obj) {
|
|
|
79
74
|
* @returns {any} ?
|
|
80
75
|
* @private
|
|
81
76
|
*/
|
|
82
|
-
// eslint-disable-next-line
|
|
83
77
|
function setValue(nameSpace, value, obj) {
|
|
84
78
|
const keys = nameSpace.replace(/\[/g, '.').replace(/\]/g, '').split('.');
|
|
85
|
-
// eslint-disable-next-line
|
|
86
79
|
const start = obj || {};
|
|
87
|
-
// eslint-disable-next-line
|
|
88
80
|
let fromObj = start;
|
|
89
81
|
let i;
|
|
90
82
|
const length = keys.length;
|
|
@@ -109,14 +101,12 @@ function setValue(nameSpace, value, obj) {
|
|
|
109
101
|
* @returns {void} ?
|
|
110
102
|
* @private
|
|
111
103
|
*/
|
|
112
|
-
// eslint-disable-next-line
|
|
113
104
|
function deleteObject(obj, key) {
|
|
114
105
|
delete obj[`${key}`];
|
|
115
106
|
}
|
|
116
107
|
/**
|
|
117
108
|
*@private
|
|
118
109
|
*/
|
|
119
|
-
// eslint-disable-next-line
|
|
120
110
|
const containerObject = typeof window !== 'undefined' ? window : {};
|
|
121
111
|
/**
|
|
122
112
|
* Check weather the given argument is only object.
|
|
@@ -125,7 +115,6 @@ const containerObject = typeof window !== 'undefined' ? window : {};
|
|
|
125
115
|
* @returns {boolean} ?
|
|
126
116
|
* @private
|
|
127
117
|
*/
|
|
128
|
-
// eslint-disable-next-line
|
|
129
118
|
function isObject(obj) {
|
|
130
119
|
const objCon = {};
|
|
131
120
|
return (!isNullOrUndefined(obj) && obj.constructor === objCon.constructor);
|
|
@@ -138,10 +127,8 @@ function isObject(obj) {
|
|
|
138
127
|
* @returns {any} ?
|
|
139
128
|
* @private
|
|
140
129
|
*/
|
|
141
|
-
// eslint-disable-next-line
|
|
142
130
|
function getEnumValue(enumObject, enumValue) {
|
|
143
|
-
|
|
144
|
-
return enumObject[enumValue];
|
|
131
|
+
return enumObject[`${enumValue}`];
|
|
145
132
|
}
|
|
146
133
|
/**
|
|
147
134
|
* Merge the source object into destination object.
|
|
@@ -181,28 +168,25 @@ function merge(source, destination) {
|
|
|
181
168
|
function extend(copied, first, second, deep) {
|
|
182
169
|
const result = copied && typeof copied === 'object' ? copied : {};
|
|
183
170
|
let length = arguments.length;
|
|
171
|
+
const args = [copied, first, second, deep];
|
|
184
172
|
if (deep) {
|
|
185
173
|
length = length - 1;
|
|
186
174
|
}
|
|
187
175
|
for (let i = 1; i < length; i++) {
|
|
188
|
-
|
|
189
|
-
if (!arguments[i]) {
|
|
176
|
+
if (!args[parseInt(i.toString(), 10)]) {
|
|
190
177
|
continue;
|
|
191
178
|
}
|
|
192
|
-
|
|
193
|
-
let obj1 = arguments[i];
|
|
179
|
+
const obj1 = args[parseInt(i.toString(), 10)];
|
|
194
180
|
Object.keys(obj1).forEach((key) => {
|
|
195
181
|
const src = result[`${key}`];
|
|
196
182
|
const copy = obj1[`${key}`];
|
|
197
183
|
let clone;
|
|
198
184
|
const isArrayChanged = Array.isArray(copy) && Array.isArray(src) && (copy.length !== src.length);
|
|
199
|
-
// eslint-disable-next-line
|
|
200
185
|
const blazorEventExtend = isBlazor() ? (!(src instanceof Event) && !isArrayChanged) : true;
|
|
201
186
|
if (deep && blazorEventExtend && (isObject(copy) || Array.isArray(copy))) {
|
|
202
187
|
if (isObject(copy)) {
|
|
203
188
|
clone = src ? src : {};
|
|
204
|
-
|
|
205
|
-
if (Array.isArray(clone) && clone.hasOwnProperty('isComplexArray')) {
|
|
189
|
+
if (Array.isArray(clone) && Object.prototype.hasOwnProperty.call(clone, 'isComplexArray')) {
|
|
206
190
|
extend(clone, {}, copy, deep);
|
|
207
191
|
}
|
|
208
192
|
else {
|
|
@@ -212,7 +196,6 @@ function extend(copied, first, second, deep) {
|
|
|
212
196
|
else {
|
|
213
197
|
/* istanbul ignore next */
|
|
214
198
|
clone = isBlazor() ? src && Object.keys(copy).length : src ? src : [];
|
|
215
|
-
// eslint-disable-next-line
|
|
216
199
|
result[`${key}`] = extend([], clone, copy, (clone && clone.length) || (copy && copy.length));
|
|
217
200
|
}
|
|
218
201
|
}
|
|
@@ -226,7 +209,7 @@ function extend(copied, first, second, deep) {
|
|
|
226
209
|
/**
|
|
227
210
|
* To check whether the object is null or undefined.
|
|
228
211
|
*
|
|
229
|
-
* @param {
|
|
212
|
+
* @param {any} value - To check the object is null or undefined
|
|
230
213
|
* @returns {boolean} ?
|
|
231
214
|
* @private
|
|
232
215
|
*/
|
|
@@ -236,7 +219,7 @@ function isNullOrUndefined(value) {
|
|
|
236
219
|
/**
|
|
237
220
|
* To check whether the object is undefined.
|
|
238
221
|
*
|
|
239
|
-
* @param {
|
|
222
|
+
* @param {any} value - To check the object is undefined
|
|
240
223
|
* @returns {boolean} ?
|
|
241
224
|
* @private
|
|
242
225
|
*/
|
|
@@ -262,11 +245,8 @@ function getUniqueID(definedName) {
|
|
|
262
245
|
* @private
|
|
263
246
|
*/
|
|
264
247
|
function debounce(eventFunction, delay) {
|
|
265
|
-
// eslint-disable-next-line
|
|
266
248
|
let out;
|
|
267
|
-
return function () {
|
|
268
|
-
// eslint-disable-next-line
|
|
269
|
-
const args = arguments;
|
|
249
|
+
return function (...args) {
|
|
270
250
|
const later = () => {
|
|
271
251
|
out = null;
|
|
272
252
|
return eventFunction.apply(this, args);
|
|
@@ -282,7 +262,6 @@ function debounce(eventFunction, delay) {
|
|
|
282
262
|
* @returns {string} ?
|
|
283
263
|
* @private
|
|
284
264
|
*/
|
|
285
|
-
// eslint-disable-next-line
|
|
286
265
|
function queryParams(data) {
|
|
287
266
|
const array = [];
|
|
288
267
|
const keys = Object.keys(data);
|
|
@@ -339,8 +318,7 @@ function throwError(message) {
|
|
|
339
318
|
throw new Error(message);
|
|
340
319
|
}
|
|
341
320
|
catch (e) {
|
|
342
|
-
|
|
343
|
-
throw e.message + '\n' + e.stack;
|
|
321
|
+
throw new Error(e.message + '\n' + e.stack);
|
|
344
322
|
}
|
|
345
323
|
}
|
|
346
324
|
/**
|
|
@@ -372,7 +350,6 @@ function print(element, printWindow) {
|
|
|
372
350
|
'<script> (function() { window.ready = true; })(); </script>' + '</body></html>');
|
|
373
351
|
printWindow.document.close();
|
|
374
352
|
printWindow.focus();
|
|
375
|
-
// eslint-disable-next-line
|
|
376
353
|
const interval = setInterval(() => {
|
|
377
354
|
if (printWindow.ready) {
|
|
378
355
|
printWindow.print();
|
|
@@ -436,10 +413,8 @@ function getElement(element) {
|
|
|
436
413
|
* @returns {Object} ?
|
|
437
414
|
* @private
|
|
438
415
|
*/
|
|
439
|
-
// eslint-disable-next-line
|
|
440
416
|
function getInstance(element, component) {
|
|
441
|
-
|
|
442
|
-
let elem = (typeof (element) === 'string') ? document.querySelector(element) : element;
|
|
417
|
+
const elem = (typeof (element) === 'string') ? document.querySelector(element) : element;
|
|
443
418
|
if (elem[`${instances}`]) {
|
|
444
419
|
for (const inst of elem[`${instances}`]) {
|
|
445
420
|
if (inst instanceof component) {
|
|
@@ -458,8 +433,7 @@ function getInstance(element, component) {
|
|
|
458
433
|
* @private
|
|
459
434
|
*/
|
|
460
435
|
function addInstance(element, instance) {
|
|
461
|
-
|
|
462
|
-
let elem = (typeof (element) === 'string') ? document.querySelector(element) : element;
|
|
436
|
+
const elem = (typeof (element) === 'string') ? document.querySelector(element) : element;
|
|
463
437
|
if (elem[`${instances}`]) {
|
|
464
438
|
elem[`${instances}`].push(instance);
|
|
465
439
|
}
|
|
@@ -473,13 +447,11 @@ function addInstance(element, instance) {
|
|
|
473
447
|
* @returns {any} ?
|
|
474
448
|
* @private
|
|
475
449
|
*/
|
|
476
|
-
// eslint-disable-next-line
|
|
477
450
|
function uniqueID() {
|
|
478
451
|
if ((typeof window) === 'undefined') {
|
|
479
452
|
return;
|
|
480
453
|
}
|
|
481
|
-
|
|
482
|
-
let num = new Uint16Array(5);
|
|
454
|
+
const num = new Uint16Array(5);
|
|
483
455
|
const intCrypto = window.msCrypto || window.crypto;
|
|
484
456
|
return intCrypto.getRandomValues(num);
|
|
485
457
|
}
|
|
@@ -496,6 +468,7 @@ function combineArray(num) {
|
|
|
496
468
|
return ret;
|
|
497
469
|
}
|
|
498
470
|
|
|
471
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
499
472
|
/**
|
|
500
473
|
* Parser
|
|
501
474
|
*/
|
|
@@ -553,10 +526,8 @@ class ParserBase {
|
|
|
553
526
|
const propKeys = keys || Object.keys(prop);
|
|
554
527
|
const res = {};
|
|
555
528
|
for (const key of propKeys) {
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
// eslint-disable-next-line
|
|
559
|
-
res[prop[key]] = key;
|
|
529
|
+
if (!Object.prototype.hasOwnProperty.call(res, prop[`${key}`])) {
|
|
530
|
+
res[prop[`${key}`]] = key;
|
|
560
531
|
}
|
|
561
532
|
}
|
|
562
533
|
return res;
|
|
@@ -583,8 +554,7 @@ class ParserBase {
|
|
|
583
554
|
const matchKeys = Object.keys(defaultNumberSymbols);
|
|
584
555
|
const ret = {};
|
|
585
556
|
for (const key of matchKeys) {
|
|
586
|
-
|
|
587
|
-
ret[prop[key]] = defaultNumberSymbols[key];
|
|
557
|
+
ret[prop[`${key}`]] = defaultNumberSymbols[`${key}`];
|
|
588
558
|
}
|
|
589
559
|
return ret;
|
|
590
560
|
}
|
|
@@ -617,8 +587,7 @@ class ParserBase {
|
|
|
617
587
|
*/
|
|
618
588
|
static convertValueParts(value, regex, obj) {
|
|
619
589
|
return value.replace(regex, (str) => {
|
|
620
|
-
|
|
621
|
-
return obj[str];
|
|
590
|
+
return obj[`${str}`];
|
|
622
591
|
});
|
|
623
592
|
}
|
|
624
593
|
/**
|
|
@@ -670,7 +639,6 @@ class ParserBase {
|
|
|
670
639
|
* @param {boolean} isNumber ?
|
|
671
640
|
* @returns {NumberMapper} ?
|
|
672
641
|
*/
|
|
673
|
-
// eslint-disable-next-line
|
|
674
642
|
static getNumberMapper(curObj, numberSystem, isNumber) {
|
|
675
643
|
const ret = { mapper: {} };
|
|
676
644
|
const cur = this.getDefaultNumberingSystem(curObj);
|
|
@@ -681,8 +649,7 @@ class ParserBase {
|
|
|
681
649
|
const digits = getValue(cur.nSystem + '._digits', numberSystem);
|
|
682
650
|
if (!isUndefined(digits)) {
|
|
683
651
|
for (const i of latnNumberSystem) {
|
|
684
|
-
|
|
685
|
-
ret.mapper[i] = digits[i];
|
|
652
|
+
ret.mapper[parseInt(i.toString(), 10)] = digits[parseInt(i.toString(), 10)];
|
|
686
653
|
}
|
|
687
654
|
}
|
|
688
655
|
}
|
|
@@ -863,7 +830,7 @@ function getBlazorCurrencySymbol(currencyCode) {
|
|
|
863
830
|
/***
|
|
864
831
|
* Hijri parser
|
|
865
832
|
*/
|
|
866
|
-
// eslint-disable-next-line
|
|
833
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
867
834
|
var HijriParser;
|
|
868
835
|
(function (HijriParser) {
|
|
869
836
|
const dateCorrection = [28607, 28636, 28665, 28695, 28724, 28754, 28783, 28813, 28843, 28872, 28901, 28931, 28960, 28990,
|
|
@@ -979,7 +946,7 @@ var HijriParser;
|
|
|
979
946
|
tYear -= 1;
|
|
980
947
|
tMonth += 12;
|
|
981
948
|
}
|
|
982
|
-
let yPrefix = Math.floor(tYear / 100
|
|
949
|
+
let yPrefix = Math.floor(tYear / 100);
|
|
983
950
|
let julilanOffset = yPrefix - Math.floor(yPrefix / 4.) - 2;
|
|
984
951
|
const julianNumber = Math.floor(365.25 * (tYear + 4716)) + Math.floor(30.6001 * (tMonth + 1)) + day - julilanOffset - 1524;
|
|
985
952
|
yPrefix = Math.floor((julianNumber - 1867216.25) / 36524.25);
|
|
@@ -998,7 +965,7 @@ var HijriParser;
|
|
|
998
965
|
year = c - 4716;
|
|
999
966
|
const modifiedJulianDate = julianNumber - 2400000;
|
|
1000
967
|
// date calculation for year after 2077
|
|
1001
|
-
const iyear = 10631
|
|
968
|
+
const iyear = 10631 / 30;
|
|
1002
969
|
let z = julianNumber - 1948084;
|
|
1003
970
|
const cyc = Math.floor(z / 10631.);
|
|
1004
971
|
z = z - 10631 * cyc;
|
|
@@ -1068,7 +1035,6 @@ var HijriParser;
|
|
|
1068
1035
|
const abbreviateRegexGlobal = /\/MMMMM|MMMM|MMM|a|LLLL|LLL|EEEEE|EEEE|E|K|cccc|ccc|WW|W|G+|z+/gi;
|
|
1069
1036
|
const standalone = 'stand-alone';
|
|
1070
1037
|
const weekdayKey = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];
|
|
1071
|
-
|
|
1072
1038
|
const timeSetter = {
|
|
1073
1039
|
m: 'getMinutes',
|
|
1074
1040
|
h: 'getHours',
|
|
@@ -1095,7 +1061,6 @@ const datePartMatcher = {
|
|
|
1095
1061
|
'f': 'milliseconds'
|
|
1096
1062
|
};
|
|
1097
1063
|
const timeSeparator = 'timeSeparator';
|
|
1098
|
-
/* tslint:disable no-any */
|
|
1099
1064
|
/**
|
|
1100
1065
|
* Date Format is a framework provides support for date formatting.
|
|
1101
1066
|
*
|
|
@@ -1143,34 +1108,30 @@ class DateFormat {
|
|
|
1143
1108
|
case 'E':
|
|
1144
1109
|
case 'c':
|
|
1145
1110
|
if (isBlazor()) {
|
|
1146
|
-
|
|
1147
|
-
formatOptions.weekday = getValue('days.' + IntlBase.monthIndex[len], dateObject);
|
|
1111
|
+
formatOptions.weekday = getValue('days.' + IntlBase.monthIndex[`${len}`], dateObject);
|
|
1148
1112
|
}
|
|
1149
1113
|
else {
|
|
1150
|
-
|
|
1151
|
-
formatOptions.weekday = dependable.dateObject[IntlBase.days][standalone][IntlBase.monthIndex[len]];
|
|
1114
|
+
formatOptions.weekday = dependable.dateObject[`${IntlBase.days}`][`${standalone}`][IntlBase.monthIndex[`${len}`]];
|
|
1152
1115
|
}
|
|
1153
1116
|
break;
|
|
1154
1117
|
case 'M':
|
|
1155
1118
|
case 'L':
|
|
1156
1119
|
if (isBlazor()) {
|
|
1157
|
-
|
|
1158
|
-
formatOptions.month = getValue('months.' + IntlBase.monthIndex[len], dateObject);
|
|
1120
|
+
formatOptions.month = getValue('months.' + IntlBase.monthIndex[`${len}`], dateObject);
|
|
1159
1121
|
}
|
|
1160
1122
|
else {
|
|
1161
|
-
|
|
1162
|
-
formatOptions.month = dependable.dateObject[IntlBase.month][standalone][IntlBase.monthIndex[len]];
|
|
1123
|
+
formatOptions.month = dependable.dateObject[`${IntlBase.month}`][`${standalone}`][IntlBase.monthIndex[`${len}`]];
|
|
1163
1124
|
}
|
|
1164
1125
|
break;
|
|
1165
1126
|
case 'a':
|
|
1166
1127
|
formatOptions.designator = isBlazor() ?
|
|
1167
1128
|
getValue('dayPeriods', dateObject) : getValue('dayPeriods.format.wide', dateObject);
|
|
1168
1129
|
break;
|
|
1169
|
-
case 'G':
|
|
1170
|
-
// eslint-disable-next-line
|
|
1130
|
+
case 'G': {
|
|
1171
1131
|
const eText = (len <= 3) ? 'eraAbbr' : (len === 4) ? 'eraNames' : 'eraNarrow';
|
|
1172
1132
|
formatOptions.era = isBlazor() ? getValue('eras', dateObject) : getValue('eras.' + eText, dependable.dateObject);
|
|
1173
1133
|
break;
|
|
1134
|
+
}
|
|
1174
1135
|
case 'z':
|
|
1175
1136
|
formatOptions.timeZone = getValue('dates.timeZoneNames', dependable.parserObject);
|
|
1176
1137
|
break;
|
|
@@ -1212,8 +1173,7 @@ class DateFormat {
|
|
|
1212
1173
|
case 'L':
|
|
1213
1174
|
curval = dObject.month;
|
|
1214
1175
|
if (length > 2) {
|
|
1215
|
-
|
|
1216
|
-
ret += options.month[curval];
|
|
1176
|
+
ret += options.month[`${curval}`];
|
|
1217
1177
|
}
|
|
1218
1178
|
else {
|
|
1219
1179
|
isNumber = true;
|
|
@@ -1221,8 +1181,7 @@ class DateFormat {
|
|
|
1221
1181
|
break;
|
|
1222
1182
|
case 'E':
|
|
1223
1183
|
case 'c':
|
|
1224
|
-
|
|
1225
|
-
ret += options.weekday[weekdayKey[value.getDay()]];
|
|
1184
|
+
ret += options.weekday[`${weekdayKey[value.getDay()]}`];
|
|
1226
1185
|
break;
|
|
1227
1186
|
case 'H':
|
|
1228
1187
|
case 'h':
|
|
@@ -1237,8 +1196,7 @@ class DateFormat {
|
|
|
1237
1196
|
else if (char === 'f') {
|
|
1238
1197
|
isNumber = false;
|
|
1239
1198
|
processNumber = true;
|
|
1240
|
-
|
|
1241
|
-
curvalstr = value[timeSetter[char]]().toString();
|
|
1199
|
+
curvalstr = value[`${timeSetter[`${char}`]}`]().toString();
|
|
1242
1200
|
curvalstr = curvalstr.substring(0, length);
|
|
1243
1201
|
const curlength = curvalstr.length;
|
|
1244
1202
|
if (length !== curlength) {
|
|
@@ -1252,8 +1210,7 @@ class DateFormat {
|
|
|
1252
1210
|
curstr += curvalstr;
|
|
1253
1211
|
}
|
|
1254
1212
|
else {
|
|
1255
|
-
|
|
1256
|
-
curval = value[timeSetter[char]]();
|
|
1213
|
+
curval = value[`${timeSetter[`${char}`]}`]();
|
|
1257
1214
|
}
|
|
1258
1215
|
if (char === 'h') {
|
|
1259
1216
|
curval = curval % 12 || 12;
|
|
@@ -1266,30 +1223,25 @@ class DateFormat {
|
|
|
1266
1223
|
curstr = curstr.substr(curstr.length - 2);
|
|
1267
1224
|
}
|
|
1268
1225
|
break;
|
|
1269
|
-
case 'a':
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
// eslint-disable-next-line
|
|
1273
|
-
ret += options.designator[desig];
|
|
1226
|
+
case 'a': {
|
|
1227
|
+
const desig = value.getHours() < 12 ? 'am' : 'pm';
|
|
1228
|
+
ret += options.designator[`${desig}`];
|
|
1274
1229
|
break;
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
let retu = options.era[dec];
|
|
1230
|
+
}
|
|
1231
|
+
case 'G': {
|
|
1232
|
+
const dec = value.getFullYear() < 0 ? 0 : 1;
|
|
1233
|
+
let retu = options.era[`${dec}`];
|
|
1280
1234
|
if (isNullOrUndefined(retu)) {
|
|
1281
|
-
// eslint-disable-next-line
|
|
1282
1235
|
retu = options.era[dec ? 0 : 1];
|
|
1283
1236
|
}
|
|
1284
1237
|
ret += retu || '';
|
|
1285
1238
|
break;
|
|
1239
|
+
}
|
|
1286
1240
|
case '\'':
|
|
1287
1241
|
ret += (match === '\'\'') ? '\'' : match.replace(/'/g, '');
|
|
1288
1242
|
break;
|
|
1289
|
-
case 'z':
|
|
1290
|
-
|
|
1291
|
-
let timezone = value.getTimezoneOffset();
|
|
1292
|
-
// eslint-disable-next-line
|
|
1243
|
+
case 'z': {
|
|
1244
|
+
const timezone = value.getTimezoneOffset();
|
|
1293
1245
|
let pattern = (length < 4) ? '+H;-H' : options.timeZone.hourFormat;
|
|
1294
1246
|
pattern = pattern.replace(/:/g, options.numMapper.timeSeparator);
|
|
1295
1247
|
if (timezone === 0) {
|
|
@@ -1301,9 +1253,9 @@ class DateFormat {
|
|
|
1301
1253
|
}
|
|
1302
1254
|
curstr = options.timeZone.gmtFormat.replace(/\{0\}/, curstr);
|
|
1303
1255
|
break;
|
|
1256
|
+
}
|
|
1304
1257
|
case ':':
|
|
1305
|
-
|
|
1306
|
-
ret += options.numMapper.numberSymbols[timeSeparator];
|
|
1258
|
+
ret += options.numMapper.numberSymbols[`${timeSeparator}`];
|
|
1307
1259
|
break;
|
|
1308
1260
|
case '/':
|
|
1309
1261
|
ret += options.dateSeperator;
|
|
@@ -1365,6 +1317,7 @@ class DateFormat {
|
|
|
1365
1317
|
}
|
|
1366
1318
|
}
|
|
1367
1319
|
|
|
1320
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
1368
1321
|
const errorText = {
|
|
1369
1322
|
'ms': 'minimumSignificantDigits',
|
|
1370
1323
|
'ls': 'maximumSignificantDigits',
|
|
@@ -1373,7 +1326,7 @@ const errorText = {
|
|
|
1373
1326
|
};
|
|
1374
1327
|
const percentSign = 'percentSign';
|
|
1375
1328
|
const minusSign = 'minusSign';
|
|
1376
|
-
const mapper
|
|
1329
|
+
const mapper = ['infinity', 'nan', 'group', 'decimal', 'exponential'];
|
|
1377
1330
|
/**
|
|
1378
1331
|
* Module for number formatting.
|
|
1379
1332
|
*
|
|
@@ -1398,7 +1351,6 @@ class NumberFormat {
|
|
|
1398
1351
|
dOptions.numberMapper = isBlazor() ? extend({}, numObject) :
|
|
1399
1352
|
ParserBase.getNumberMapper(dependable.parserObject, ParserBase.getNumberingSystem(cldr), true);
|
|
1400
1353
|
dOptions.currencySymbol = isBlazor() ? getValue('currencySymbol', numObject) : IntlBase.getCurrencySymbol(dependable.numericObject, fOptions.currency || defaultCurrencyCode, option.altSymbol);
|
|
1401
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
1402
1354
|
dOptions.percentSymbol = isBlazor() ? getValue('numberSymbols.percentSign', numObject) :
|
|
1403
1355
|
dOptions.numberMapper.numberSymbols[`${percentSign}`];
|
|
1404
1356
|
dOptions.minusSymbol = isBlazor() ? getValue('numberSymbols.minusSign', numObject) :
|
|
@@ -1406,6 +1358,9 @@ class NumberFormat {
|
|
|
1406
1358
|
const symbols = dOptions.numberMapper.numberSymbols;
|
|
1407
1359
|
if ((option.format) && !(IntlBase.formatRegex.test(option.format))) {
|
|
1408
1360
|
cOptions = IntlBase.customFormat(option.format, dOptions, dependable.numericObject);
|
|
1361
|
+
if (!isUndefined(fOptions.useGrouping) && fOptions.useGrouping) {
|
|
1362
|
+
fOptions.useGrouping = cOptions.pData.useGrouping;
|
|
1363
|
+
}
|
|
1409
1364
|
}
|
|
1410
1365
|
else {
|
|
1411
1366
|
extend(fOptions, IntlBase.getProperNumericSkeleton(option.format || 'N'));
|
|
@@ -1430,7 +1385,7 @@ class NumberFormat {
|
|
|
1430
1385
|
cOptions.nData = IntlBase.getFormatData(split[1] || '-' + split[0], true, dOptions.currencySymbol);
|
|
1431
1386
|
cOptions.pData = IntlBase.getFormatData(split[0], false, dOptions.currencySymbol);
|
|
1432
1387
|
if (fOptions.useGrouping) {
|
|
1433
|
-
fOptions.groupSeparator = symbols[mapper
|
|
1388
|
+
fOptions.groupSeparator = symbols[mapper[2]];
|
|
1434
1389
|
fOptions.groupData = this.getGroupingDetails(split[0]);
|
|
1435
1390
|
}
|
|
1436
1391
|
}
|
|
@@ -1461,10 +1416,10 @@ class NumberFormat {
|
|
|
1461
1416
|
extend(cOptions.pData, fOptions);
|
|
1462
1417
|
return (value) => {
|
|
1463
1418
|
if (isNaN(value)) {
|
|
1464
|
-
return symbols[mapper
|
|
1419
|
+
return symbols[mapper[1]];
|
|
1465
1420
|
}
|
|
1466
1421
|
else if (!isFinite(value)) {
|
|
1467
|
-
return symbols[mapper
|
|
1422
|
+
return symbols[mapper[0]];
|
|
1468
1423
|
}
|
|
1469
1424
|
return this.intNumberFormatter(value, cOptions, dOptions, option);
|
|
1470
1425
|
};
|
|
@@ -1505,8 +1460,7 @@ class NumberFormat {
|
|
|
1505
1460
|
const decide = isFraction ? 'f' : 's';
|
|
1506
1461
|
let dint = 0;
|
|
1507
1462
|
const str1 = errorText['l' + decide];
|
|
1508
|
-
|
|
1509
|
-
let str2 = errorText['m' + decide];
|
|
1463
|
+
const str2 = errorText['m' + decide];
|
|
1510
1464
|
if (!isUndefined(val1)) {
|
|
1511
1465
|
this.checkRange(val1, str1, isFraction);
|
|
1512
1466
|
dint++;
|
|
@@ -1585,7 +1539,7 @@ class NumberFormat {
|
|
|
1585
1539
|
let decimalPart = temp[1];
|
|
1586
1540
|
const len = decimalPart.length;
|
|
1587
1541
|
for (let i = len - 1; i >= 0; i--) {
|
|
1588
|
-
if (decimalPart[
|
|
1542
|
+
if (decimalPart[parseInt(i.toString(), 10)] === '0' && i >= curData.minimumFractionDigits) {
|
|
1589
1543
|
decimalPart = decimalPart.slice(0, i);
|
|
1590
1544
|
}
|
|
1591
1545
|
else {
|
|
@@ -1597,13 +1551,12 @@ class NumberFormat {
|
|
|
1597
1551
|
}
|
|
1598
1552
|
if (curData.type === 'scientific') {
|
|
1599
1553
|
fValue = value.toExponential(curData.maximumFractionDigits);
|
|
1600
|
-
fValue = fValue.replace('e', dOptions.numberMapper.numberSymbols[mapper
|
|
1554
|
+
fValue = fValue.replace('e', dOptions.numberMapper.numberSymbols[mapper[4]]);
|
|
1601
1555
|
}
|
|
1602
|
-
fValue = fValue.replace('.', dOptions.numberMapper.numberSymbols[mapper
|
|
1556
|
+
fValue = fValue.replace('.', dOptions.numberMapper.numberSymbols[mapper[3]]);
|
|
1603
1557
|
fValue = curData.format === '#,###,,;(#,###,,)' ? this.customPivotFormat(parseInt(fValue, 10)) : fValue;
|
|
1604
1558
|
if (curData.useGrouping) {
|
|
1605
|
-
|
|
1606
|
-
fValue = this.groupNumbers(fValue, curData.groupData.primary, curData.groupSeparator || ',', dOptions.numberMapper.numberSymbols[mapper$1[3]] || '.', curData.groupData.secondary);
|
|
1559
|
+
fValue = this.groupNumbers(fValue, curData.groupData.primary, curData.groupSeparator || ',', dOptions.numberMapper.numberSymbols[mapper[3]] || '.', curData.groupData.secondary);
|
|
1607
1560
|
}
|
|
1608
1561
|
fValue = ParserBase.convertValueParts(fValue, IntlBase.latnParseRegex, dOptions.numberMapper.mapper);
|
|
1609
1562
|
if (curData.nlead === 'N/A') {
|
|
@@ -1729,7 +1682,6 @@ class NumberFormat {
|
|
|
1729
1682
|
static customPivotFormat(value) {
|
|
1730
1683
|
if (value >= 500000) {
|
|
1731
1684
|
value /= 1000000;
|
|
1732
|
-
// eslint-disable-next-line
|
|
1733
1685
|
const [integer, decimal] = value.toString().split('.');
|
|
1734
1686
|
return decimal && +decimal.substring(0, 1) >= 5
|
|
1735
1687
|
? Math.ceil(value).toString()
|
|
@@ -1750,7 +1702,6 @@ const timeSetter$1 = {
|
|
|
1750
1702
|
milliseconds: 'setMilliseconds'
|
|
1751
1703
|
};
|
|
1752
1704
|
const month = 'months';
|
|
1753
|
-
/* tslint:disable no-any */
|
|
1754
1705
|
/**
|
|
1755
1706
|
* Date Parser.
|
|
1756
1707
|
*
|
|
@@ -1788,17 +1739,15 @@ class DateParser {
|
|
|
1788
1739
|
let zCorrectTemp = 0;
|
|
1789
1740
|
let isgmtTraversed = false;
|
|
1790
1741
|
const nRegx = numOptions.numericRegex;
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
ParserBase.getNumberMapper(dependable.parserObject, ParserBase.getNumberingSystem(cldr));
|
|
1742
|
+
const numMapper = isBlazor() ? dependable.parserObject.numbers
|
|
1743
|
+
: ParserBase.getNumberMapper(dependable.parserObject, ParserBase.getNumberingSystem(cldr));
|
|
1794
1744
|
for (let i = 0; i < length; i++) {
|
|
1795
1745
|
const str = patternMatch[parseInt(i.toString(), 10)];
|
|
1796
1746
|
const len = str.length;
|
|
1797
1747
|
const char = (str[0] === 'K') ? 'h' : str[0];
|
|
1798
1748
|
let isNumber;
|
|
1799
1749
|
let canUpdate;
|
|
1800
|
-
|
|
1801
|
-
let charKey = datePartMatcher[char];
|
|
1750
|
+
const charKey = datePartMatcher[`${char}`];
|
|
1802
1751
|
const optional = (len === 2) ? '' : '?';
|
|
1803
1752
|
if (isgmtTraversed) {
|
|
1804
1753
|
gmtCorrection = zCorrectTemp;
|
|
@@ -1806,22 +1755,18 @@ class DateParser {
|
|
|
1806
1755
|
}
|
|
1807
1756
|
switch (char) {
|
|
1808
1757
|
case 'E':
|
|
1809
|
-
case 'c':
|
|
1810
|
-
// eslint-disable-next-line
|
|
1758
|
+
case 'c': {
|
|
1811
1759
|
let weekData;
|
|
1812
1760
|
if (isBlazor()) {
|
|
1813
|
-
|
|
1814
|
-
weekData = getValue('days.' + IntlBase.monthIndex[len], dependable.dateObject);
|
|
1761
|
+
weekData = getValue('days.' + IntlBase.monthIndex[`${len}`], dependable.dateObject);
|
|
1815
1762
|
}
|
|
1816
1763
|
else {
|
|
1817
|
-
|
|
1818
|
-
weekData = dependable.dateObject[IntlBase.days][standalone$1][IntlBase.monthIndex[len]];
|
|
1764
|
+
weekData = dependable.dateObject[`${IntlBase.days}`][`${standalone$1}`][IntlBase.monthIndex[`${len}`]];
|
|
1819
1765
|
}
|
|
1820
|
-
|
|
1821
|
-
let weekObject = ParserBase.reverseObject(weekData);
|
|
1822
|
-
// tslint:enable
|
|
1766
|
+
const weekObject = ParserBase.reverseObject(weekData);
|
|
1823
1767
|
regexString += '(' + Object.keys(weekObject).join('|') + ')';
|
|
1824
1768
|
break;
|
|
1769
|
+
}
|
|
1825
1770
|
case 'M':
|
|
1826
1771
|
case 'L':
|
|
1827
1772
|
case 'd':
|
|
@@ -1834,17 +1779,13 @@ class DateParser {
|
|
|
1834
1779
|
if ((char === 'M' || char === 'L') && len > 2) {
|
|
1835
1780
|
let monthData;
|
|
1836
1781
|
if (isBlazor()) {
|
|
1837
|
-
|
|
1838
|
-
monthData = getValue('months.' + IntlBase.monthIndex[len], dependable.dateObject);
|
|
1782
|
+
monthData = getValue('months.' + IntlBase.monthIndex[`${len}`], dependable.dateObject);
|
|
1839
1783
|
}
|
|
1840
1784
|
else {
|
|
1841
|
-
|
|
1842
|
-
monthData = dependable.dateObject[month][standalone$1][IntlBase.monthIndex[len]];
|
|
1785
|
+
monthData = dependable.dateObject[`${month}`][`${standalone$1}`][IntlBase.monthIndex[`${len}`]];
|
|
1843
1786
|
}
|
|
1844
|
-
|
|
1845
|
-
parseOptions[charKey]
|
|
1846
|
-
// eslint-disable-next-line
|
|
1847
|
-
regexString += '(' + Object.keys(parseOptions[charKey]).join('|') + ')';
|
|
1787
|
+
parseOptions[`${charKey}`] = ParserBase.reverseObject(monthData);
|
|
1788
|
+
regexString += '(' + Object.keys(parseOptions[`${charKey}`]).join('|') + ')';
|
|
1848
1789
|
}
|
|
1849
1790
|
else if (char === 'f') {
|
|
1850
1791
|
if (len > 3) {
|
|
@@ -1861,11 +1802,11 @@ class DateParser {
|
|
|
1861
1802
|
parseOptions.hour12 = true;
|
|
1862
1803
|
}
|
|
1863
1804
|
break;
|
|
1864
|
-
case 'W':
|
|
1865
|
-
|
|
1866
|
-
let opt = len === 1 ? '?' : '';
|
|
1805
|
+
case 'W': {
|
|
1806
|
+
const opt = len === 1 ? '?' : '';
|
|
1867
1807
|
regexString += '(' + nRegx + opt + nRegx + ')';
|
|
1868
1808
|
break;
|
|
1809
|
+
}
|
|
1869
1810
|
case 'y':
|
|
1870
1811
|
canUpdate = isNumber = true;
|
|
1871
1812
|
if (len === 2) {
|
|
@@ -1875,48 +1816,41 @@ class DateParser {
|
|
|
1875
1816
|
regexString += '(' + nRegx + '{' + len + ',})';
|
|
1876
1817
|
}
|
|
1877
1818
|
break;
|
|
1878
|
-
case 'a':
|
|
1819
|
+
case 'a': {
|
|
1879
1820
|
canUpdate = true;
|
|
1880
|
-
|
|
1881
|
-
let periodValur = isBlazor() ?
|
|
1821
|
+
const periodValur = isBlazor() ?
|
|
1882
1822
|
getValue('dayPeriods', dependable.dateObject) :
|
|
1883
1823
|
getValue('dayPeriods.format.wide', dependable.dateObject);
|
|
1884
|
-
|
|
1885
|
-
parseOptions[charKey]
|
|
1886
|
-
// eslint-disable-next-line
|
|
1887
|
-
regexString += '(' + Object.keys(parseOptions[charKey]).join('|') + ')';
|
|
1824
|
+
parseOptions[`${charKey}`] = ParserBase.reverseObject(periodValur);
|
|
1825
|
+
regexString += '(' + Object.keys(parseOptions[`${charKey}`]).join('|') + ')';
|
|
1888
1826
|
break;
|
|
1889
|
-
|
|
1827
|
+
}
|
|
1828
|
+
case 'G': {
|
|
1890
1829
|
canUpdate = true;
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
// eslint-disable-next-line
|
|
1894
|
-
parseOptions[charKey] = ParserBase.reverseObject(isBlazor() ?
|
|
1830
|
+
const eText = (len <= 3) ? 'eraAbbr' : (len === 4) ? 'eraNames' : 'eraNarrow';
|
|
1831
|
+
parseOptions[`${charKey}`] = ParserBase.reverseObject(isBlazor() ?
|
|
1895
1832
|
getValue('eras', dependable.dateObject) : getValue('eras.' + eText, dependable.dateObject));
|
|
1896
|
-
|
|
1897
|
-
regexString += '(' + Object.keys(parseOptions[charKey]).join('|') + '?)';
|
|
1833
|
+
regexString += '(' + Object.keys(parseOptions[`${charKey}`]).join('|') + '?)';
|
|
1898
1834
|
break;
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1835
|
+
}
|
|
1836
|
+
case 'z': {
|
|
1837
|
+
const tval = new Date().getTimezoneOffset();
|
|
1902
1838
|
canUpdate = (tval !== 0);
|
|
1903
|
-
|
|
1904
|
-
parseOptions[charKey]
|
|
1905
|
-
// eslint-disable-next-line
|
|
1906
|
-
let tzone = parseOptions[charKey];
|
|
1839
|
+
parseOptions[`${charKey}`] = getValue('dates.timeZoneNames', dependable.parserObject);
|
|
1840
|
+
const tzone = parseOptions[`${charKey}`];
|
|
1907
1841
|
hourOnly = (len < 4);
|
|
1908
|
-
// eslint-disable-next-line
|
|
1909
1842
|
let hpattern = hourOnly ? '+H;-H' : tzone.hourFormat;
|
|
1910
1843
|
hpattern = hpattern.replace(/:/g, numMapper.timeSeparator);
|
|
1911
1844
|
regexString += '(' + this.parseTimeZoneRegx(hpattern, tzone, nRegx) + ')?';
|
|
1912
1845
|
isgmtTraversed = true;
|
|
1913
1846
|
zCorrectTemp = hourOnly ? 6 : 12;
|
|
1914
1847
|
break;
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1848
|
+
}
|
|
1849
|
+
case '\'': {
|
|
1850
|
+
const iString = str.replace(/'/g, '');
|
|
1918
1851
|
regexString += '(' + iString + ')?';
|
|
1919
1852
|
break;
|
|
1853
|
+
}
|
|
1920
1854
|
default:
|
|
1921
1855
|
regexString += '([\\D])';
|
|
1922
1856
|
break;
|
|
@@ -1948,7 +1882,6 @@ class DateParser {
|
|
|
1948
1882
|
if (is2DigitYear) {
|
|
1949
1883
|
tYear = parseInt((dobj.year + '').slice(0, 2) + ystrig, 10);
|
|
1950
1884
|
}
|
|
1951
|
-
// tslint:disable-next-line
|
|
1952
1885
|
const dateObject = HijriParser.toGregorian(tYear || dobj.year, tMonth || dobj.month, tDate || dobj.date);
|
|
1953
1886
|
parsedDateParts.year = dateObject.getFullYear();
|
|
1954
1887
|
parsedDateParts.month = dateObject.getMonth() + 1;
|
|
@@ -1957,7 +1890,6 @@ class DateParser {
|
|
|
1957
1890
|
return this.getDateObject(parsedDateParts);
|
|
1958
1891
|
};
|
|
1959
1892
|
}
|
|
1960
|
-
/* tslint:disable */
|
|
1961
1893
|
/**
|
|
1962
1894
|
* Returns date object for provided date options
|
|
1963
1895
|
*
|
|
@@ -1981,8 +1913,7 @@ class DateParser {
|
|
|
1981
1913
|
res.setFullYear(y);
|
|
1982
1914
|
}
|
|
1983
1915
|
for (const key of tKeys) {
|
|
1984
|
-
|
|
1985
|
-
let tValue = options[key];
|
|
1916
|
+
let tValue = options[`${key}`];
|
|
1986
1917
|
if (isUndefined(tValue) && key === 'day') {
|
|
1987
1918
|
res.setDate(1);
|
|
1988
1919
|
}
|
|
@@ -1994,8 +1925,7 @@ class DateParser {
|
|
|
1994
1925
|
}
|
|
1995
1926
|
const pDate = res.getDate();
|
|
1996
1927
|
res.setDate(1);
|
|
1997
|
-
|
|
1998
|
-
res[timeSetter$1[key]](tValue);
|
|
1928
|
+
res[timeSetter$1[`${key}`]](tValue);
|
|
1999
1929
|
const lDate = new Date(res.getFullYear(), tValue + 1, 0).getDate();
|
|
2000
1930
|
res.setDate(pDate < lDate ? pDate : lDate);
|
|
2001
1931
|
}
|
|
@@ -2006,8 +1936,7 @@ class DateParser {
|
|
|
2006
1936
|
return null;
|
|
2007
1937
|
}
|
|
2008
1938
|
}
|
|
2009
|
-
|
|
2010
|
-
res[timeSetter$1[key]](tValue);
|
|
1939
|
+
res[`${timeSetter$1[`${key}`]}`](tValue);
|
|
2011
1940
|
}
|
|
2012
1941
|
}
|
|
2013
1942
|
}
|
|
@@ -2048,8 +1977,7 @@ class DateParser {
|
|
|
2048
1977
|
const curObject = parseOptions.evalposition[`${prop}`];
|
|
2049
1978
|
let matchString = matches[curObject.pos];
|
|
2050
1979
|
if (curObject.isNumber) {
|
|
2051
|
-
|
|
2052
|
-
retOptions[prop] = this.internalNumberParser(matchString, num);
|
|
1980
|
+
retOptions[`${prop}`] = this.internalNumberParser(matchString, num);
|
|
2053
1981
|
}
|
|
2054
1982
|
else {
|
|
2055
1983
|
if (prop === 'timeZone' && !isUndefined(matchString)) {
|
|
@@ -2070,14 +1998,11 @@ class DateParser {
|
|
|
2070
1998
|
}
|
|
2071
1999
|
else {
|
|
2072
2000
|
const cultureOptions = ['en-US', 'en-MH', 'en-MP'];
|
|
2073
|
-
// eslint-disable-next-line
|
|
2074
2001
|
matchString = ((prop === 'month') && (!parseOptions.isIslamic) && (parseOptions.culture === 'en' || parseOptions.culture === 'en-GB' || parseOptions.culture === 'en-US'))
|
|
2075
2002
|
? matchString[0].toUpperCase() + matchString.substring(1).toLowerCase() : matchString;
|
|
2076
|
-
// eslint-disable-next-line
|
|
2077
2003
|
matchString = ((prop !== 'month') && (prop === 'designator') && parseOptions.culture && parseOptions.culture.indexOf('en-') !== -1 && cultureOptions.indexOf(parseOptions.culture) === -1)
|
|
2078
2004
|
? matchString.toLowerCase() : matchString;
|
|
2079
|
-
|
|
2080
|
-
retOptions[prop] = parseOptions[prop][matchString];
|
|
2005
|
+
retOptions[`${prop}`] = parseOptions[`${prop}`][`${matchString}`];
|
|
2081
2006
|
}
|
|
2082
2007
|
}
|
|
2083
2008
|
}
|
|
@@ -2113,7 +2038,6 @@ class DateParser {
|
|
|
2113
2038
|
const pattern = tZone.gmtFormat;
|
|
2114
2039
|
let ret;
|
|
2115
2040
|
const cRegex = '(' + nRegex + ')' + '(' + nRegex + ')';
|
|
2116
|
-
let splitStr;
|
|
2117
2041
|
ret = hourFormat.replace('+', '\\+');
|
|
2118
2042
|
if (hourFormat.indexOf('HH') !== -1) {
|
|
2119
2043
|
ret = ret.replace(/HH|mm/g, '(' + cRegex + ')');
|
|
@@ -2121,8 +2045,7 @@ class DateParser {
|
|
|
2121
2045
|
else {
|
|
2122
2046
|
ret = ret.replace(/H|m/g, '(' + cRegex + '?)');
|
|
2123
2047
|
}
|
|
2124
|
-
|
|
2125
|
-
splitStr = (ret.split(';').map((str) => {
|
|
2048
|
+
const splitStr = (ret.split(';').map((str) => {
|
|
2126
2049
|
return pattern.replace('{0}', str);
|
|
2127
2050
|
}));
|
|
2128
2051
|
ret = splitStr.join('|') + '|' + tZone.gmtZeroFormat;
|
|
@@ -2150,9 +2073,8 @@ class DateParser {
|
|
|
2150
2073
|
}
|
|
2151
2074
|
}
|
|
2152
2075
|
|
|
2153
|
-
const regExp
|
|
2154
|
-
|
|
2155
|
-
const parseRegex = new regExp$1('^([^0-9]*)' + '(([0-9,]*[0-9]+)(\.[0-9]+)?)' + '([Ee][+-]?[0-9]+)?([^0-9]*)$');
|
|
2076
|
+
const regExp = RegExp;
|
|
2077
|
+
const parseRegex = new regExp('^([^0-9]*)' + '(([0-9,]*[0-9]+)(.[0-9]+)?)' + '([Ee][+-]?[0-9]+)?([^0-9]*)$');
|
|
2156
2078
|
const groupRegex = /,/g;
|
|
2157
2079
|
const keys = ['minusSign', 'infinity'];
|
|
2158
2080
|
/**
|
|
@@ -2172,7 +2094,6 @@ class NumberParser {
|
|
|
2172
2094
|
static numberParser(culture, option, cldr) {
|
|
2173
2095
|
const dependable = IntlBase.getDependables(cldr, culture, '', true);
|
|
2174
2096
|
const parseOptions = { custom: true };
|
|
2175
|
-
let numOptions;
|
|
2176
2097
|
if ((IntlBase.formatRegex.test(option.format)) || !(option.format)) {
|
|
2177
2098
|
extend(parseOptions, IntlBase.getProperNumericSkeleton(option.format || 'N'));
|
|
2178
2099
|
parseOptions.custom = false;
|
|
@@ -2186,10 +2107,8 @@ class NumberParser {
|
|
|
2186
2107
|
extend(parseOptions, IntlBase.customFormat(option.format, null, null));
|
|
2187
2108
|
}
|
|
2188
2109
|
const numbers = getValue('numbers', dependable.parserObject);
|
|
2189
|
-
|
|
2190
|
-
numOptions = ParserBase.getCurrentNumericOptions(dependable.parserObject, ParserBase.getNumberingSystem(cldr), true, isBlazor());
|
|
2110
|
+
const numOptions = ParserBase.getCurrentNumericOptions(dependable.parserObject, ParserBase.getNumberingSystem(cldr), true, isBlazor());
|
|
2191
2111
|
parseOptions.symbolRegex = ParserBase.getSymbolRegex(Object.keys(numOptions.symbolMatch));
|
|
2192
|
-
// eslint-disable-next-line
|
|
2193
2112
|
parseOptions.infinity = numOptions.symbolNumberSystem[keys[1]];
|
|
2194
2113
|
let symbolpattern;
|
|
2195
2114
|
if (!isBlazor()) {
|
|
@@ -2281,6 +2200,7 @@ class NumberParser {
|
|
|
2281
2200
|
}
|
|
2282
2201
|
}
|
|
2283
2202
|
|
|
2203
|
+
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */
|
|
2284
2204
|
class Observer {
|
|
2285
2205
|
constructor(context) {
|
|
2286
2206
|
this.ranArray = [];
|
|
@@ -2419,7 +2339,6 @@ class Observer {
|
|
|
2419
2339
|
}
|
|
2420
2340
|
}
|
|
2421
2341
|
}
|
|
2422
|
-
// eslint-disable-next-line
|
|
2423
2342
|
dateReviver(key, value) {
|
|
2424
2343
|
const dPattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/;
|
|
2425
2344
|
if (isBlazor && typeof value === 'string' && value.match(dPattern) !== null) {
|
|
@@ -2450,12 +2369,10 @@ class Observer {
|
|
|
2450
2369
|
* @returns {void} ?
|
|
2451
2370
|
*/
|
|
2452
2371
|
offIntlEvents() {
|
|
2453
|
-
// eslint-disable-next-line
|
|
2454
2372
|
const eventsArr = this.boundedEvents['notifyExternalChange'];
|
|
2455
2373
|
if (eventsArr) {
|
|
2456
2374
|
for (let i = 0; i < eventsArr.length; i++) {
|
|
2457
|
-
|
|
2458
|
-
const curContext = eventsArr[`${i}`].context;
|
|
2375
|
+
const curContext = eventsArr[parseInt(i.toString(), 10)].context;
|
|
2459
2376
|
if (curContext && curContext.detectFunction && curContext.randomId && !curContext.isRendered) {
|
|
2460
2377
|
this.off('notifyExternalChange', curContext.detectFunction, curContext.randomId);
|
|
2461
2378
|
i--;
|
|
@@ -2473,8 +2390,7 @@ class Observer {
|
|
|
2473
2390
|
* @returns {boolean} ?
|
|
2474
2391
|
*/
|
|
2475
2392
|
notExist(prop) {
|
|
2476
|
-
|
|
2477
|
-
return this.boundedEvents.hasOwnProperty(prop) === false || this.boundedEvents[prop].length <= 0;
|
|
2393
|
+
return Object.prototype.hasOwnProperty.call(this.boundedEvents, prop) === false || this.boundedEvents[`${prop}`].length <= 0;
|
|
2478
2394
|
}
|
|
2479
2395
|
/**
|
|
2480
2396
|
* Returns if the handler is present.
|
|
@@ -2519,7 +2435,7 @@ let defaultCulture = 'en-US';
|
|
|
2519
2435
|
* @private
|
|
2520
2436
|
*/
|
|
2521
2437
|
let defaultCurrencyCode = 'USD';
|
|
2522
|
-
const mapper = ['numericObject', 'dateObject'];
|
|
2438
|
+
const mapper$1 = ['numericObject', 'dateObject'];
|
|
2523
2439
|
/**
|
|
2524
2440
|
* Internationalization class provides support to parse and format the number and date object to the desired format.
|
|
2525
2441
|
* ```typescript
|
|
@@ -2736,10 +2652,8 @@ function enableRtl(status = true) {
|
|
|
2736
2652
|
* @private
|
|
2737
2653
|
*/
|
|
2738
2654
|
function getNumericObject(locale, type) {
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
// eslint-disable-next-line
|
|
2742
|
-
const dateObject = IntlBase.getDependables(cldrData, locale, '')[mapper[1]];
|
|
2655
|
+
const numObject = IntlBase.getDependables(cldrData, locale, '', true)[mapper$1[0]];
|
|
2656
|
+
const dateObject = IntlBase.getDependables(cldrData, locale, '')[mapper$1[1]];
|
|
2743
2657
|
const numSystem = getValue('defaultNumberingSystem', numObject);
|
|
2744
2658
|
const symbPattern = isBlazor() ? getValue('numberSymbols', numObject) : getValue('symbols-numberSystem-' + numSystem, numObject);
|
|
2745
2659
|
const pattern = IntlBase.getSymbolPattern(type || 'decimal', numSystem, numObject, false);
|
|
@@ -2755,9 +2669,7 @@ function getNumericObject(locale, type) {
|
|
|
2755
2669
|
* @private
|
|
2756
2670
|
*/
|
|
2757
2671
|
function getNumberDependable(locale, currency) {
|
|
2758
|
-
// eslint-disable-next-line
|
|
2759
2672
|
const numObject = IntlBase.getDependables(cldrData, locale, '', true);
|
|
2760
|
-
// eslint-disable-next-line
|
|
2761
2673
|
return IntlBase.getCurrencySymbol(numObject.numericObject, currency);
|
|
2762
2674
|
}
|
|
2763
2675
|
/**
|
|
@@ -2769,11 +2681,11 @@ function getNumberDependable(locale, currency) {
|
|
|
2769
2681
|
* @private
|
|
2770
2682
|
*/
|
|
2771
2683
|
function getDefaultDateObject(mode) {
|
|
2772
|
-
|
|
2773
|
-
return IntlBase.getDependables(cldrData, '', mode, false)[mapper[1]];
|
|
2684
|
+
return IntlBase.getDependables(cldrData, '', mode, false)[mapper$1[1]];
|
|
2774
2685
|
}
|
|
2775
2686
|
|
|
2776
|
-
|
|
2687
|
+
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */
|
|
2688
|
+
const regExp$1 = RegExp;
|
|
2777
2689
|
const blazorCultureFormats = {
|
|
2778
2690
|
'en-US': {
|
|
2779
2691
|
'd': 'M/d/y',
|
|
@@ -2798,13 +2710,13 @@ const blazorCultureFormats = {
|
|
|
2798
2710
|
/**
|
|
2799
2711
|
* Date base common constants and function for date parser and formatter.
|
|
2800
2712
|
*/
|
|
2801
|
-
// eslint-disable-next-line
|
|
2713
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
2802
2714
|
var IntlBase;
|
|
2803
2715
|
(function (IntlBase) {
|
|
2804
|
-
|
|
2805
|
-
// tslint:disable-next-line:max-line-length.
|
|
2716
|
+
// eslint-disable-next-line security/detect-unsafe-regex
|
|
2806
2717
|
IntlBase.negativeDataRegex = /^(('[^']+'|''|[^*#@0,.E])*)(\*.)?((([#,]*[0,]*0+)(\.0*[0-9]*#*)?)|([#,]*@+#*))(E\+?0+)?(('[^']+'|''|[^*#@0,.E])*)$/;
|
|
2807
|
-
|
|
2718
|
+
// eslint-disable-next-line security/detect-unsafe-regex
|
|
2719
|
+
IntlBase.customRegex = /^(('[^']+'|''|[^*#@0,.])*)(\*.)?((([0#,]*[0,]*[0#]*[0# ]*)(\.[0#]*)?)|([#,]*@+#*))(E\+?0+)?(('[^']+'|''|[^*#@0,.E])*)$/;
|
|
2808
2720
|
IntlBase.latnParseRegex = /0|1|2|3|4|5|6|7|8|9/g;
|
|
2809
2721
|
const fractionRegex = /[0-9]/g;
|
|
2810
2722
|
IntlBase.defaultCurrency = '$';
|
|
@@ -2835,8 +2747,8 @@ var IntlBase;
|
|
|
2835
2747
|
'fri': 5,
|
|
2836
2748
|
'sat': 6
|
|
2837
2749
|
};
|
|
2838
|
-
IntlBase.formatRegex = new regExp(
|
|
2839
|
-
IntlBase.currencyFormatRegex = new regExp(
|
|
2750
|
+
IntlBase.formatRegex = new regExp$1('(^[ncpae]{1})([0-1]?[0-9]|20)?$', 'i');
|
|
2751
|
+
IntlBase.currencyFormatRegex = new regExp$1('(^[ca]{1})([0-1]?[0-9]|20)?$', 'i');
|
|
2840
2752
|
IntlBase.curWithoutNumberRegex = /(c|a)$/ig;
|
|
2841
2753
|
const typeMapper = {
|
|
2842
2754
|
'$': 'isCurrency',
|
|
@@ -2847,7 +2759,6 @@ var IntlBase;
|
|
|
2847
2759
|
};
|
|
2848
2760
|
IntlBase.dateParseRegex = /([a-z])\1*|'([^']|'')+'|''|./gi;
|
|
2849
2761
|
IntlBase.basicPatterns = ['short', 'medium', 'long', 'full'];
|
|
2850
|
-
/* tslint:disable:quotemark */
|
|
2851
2762
|
IntlBase.defaultObject = {
|
|
2852
2763
|
'dates': {
|
|
2853
2764
|
'calendars': {
|
|
@@ -3398,7 +3309,6 @@ var IntlBase;
|
|
|
3398
3309
|
}
|
|
3399
3310
|
}
|
|
3400
3311
|
};
|
|
3401
|
-
/* tslint:enable:quotemark */
|
|
3402
3312
|
IntlBase.monthIndex = {
|
|
3403
3313
|
3: 'abbreviated',
|
|
3404
3314
|
4: 'wide',
|
|
@@ -3542,7 +3452,7 @@ var IntlBase;
|
|
|
3542
3452
|
const ret = {};
|
|
3543
3453
|
const pattern = matches[1].toUpperCase();
|
|
3544
3454
|
ret.isAccount = (pattern === 'A');
|
|
3545
|
-
ret.type = IntlBase.patternMatcher[pattern];
|
|
3455
|
+
ret.type = IntlBase.patternMatcher[`${pattern}`];
|
|
3546
3456
|
if (skeleton.length > 1) {
|
|
3547
3457
|
ret.fractionDigits = parseInt(matches[2], 10);
|
|
3548
3458
|
}
|
|
@@ -3629,7 +3539,7 @@ var IntlBase;
|
|
|
3629
3539
|
const formatSplit = format.split(';');
|
|
3630
3540
|
const data = ['pData', 'nData', 'zeroData'];
|
|
3631
3541
|
for (let i = 0; i < formatSplit.length; i++) {
|
|
3632
|
-
options[data[i]] = customNumberFormat(formatSplit[i], dOptions, obj);
|
|
3542
|
+
options[`${data[parseInt(i.toString(), 10)]}`] = customNumberFormat(formatSplit[parseInt(i.toString(), 10)], dOptions, obj);
|
|
3633
3543
|
}
|
|
3634
3544
|
if (isNullOrUndefined(options.nData)) {
|
|
3635
3545
|
options.nData = extend({}, options.pData);
|
|
@@ -3657,8 +3567,8 @@ var IntlBase;
|
|
|
3657
3567
|
cOptions.nlead = pattern[1];
|
|
3658
3568
|
cOptions.nend = pattern[10];
|
|
3659
3569
|
let integerPart = pattern[6];
|
|
3660
|
-
const spaceCapture = integerPart.match(
|
|
3661
|
-
const spaceGrouping = integerPart.replace(
|
|
3570
|
+
const spaceCapture = integerPart.match(/ $/g) ? true : false;
|
|
3571
|
+
const spaceGrouping = integerPart.replace(/ $/g, '').indexOf(' ') !== -1;
|
|
3662
3572
|
cOptions.useGrouping = integerPart.indexOf(',') !== -1 || spaceGrouping;
|
|
3663
3573
|
integerPart = integerPart.replace(/,/g, '');
|
|
3664
3574
|
const fractionPart = pattern[7];
|
|
@@ -3712,8 +3622,8 @@ var IntlBase;
|
|
|
3712
3622
|
const part = parts[parseInt(i.toString(), 10)];
|
|
3713
3623
|
const loc = part.indexOf(actual);
|
|
3714
3624
|
if ((loc !== -1) && ((loc < part.indexOf('\'')) || (loc > part.lastIndexOf('\'')))) {
|
|
3715
|
-
options[typeMapper[i]] = part.substr(0, loc) + symbol + part.substr(loc + 1);
|
|
3716
|
-
options[typeMapper[actual]] = true;
|
|
3625
|
+
options[`${typeMapper[parseInt(i.toString(), 10)]}`] = part.substr(0, loc) + symbol + part.substr(loc + 1);
|
|
3626
|
+
options[`${typeMapper[`${actual}`]}`] = true;
|
|
3717
3627
|
options.type = options.isCurrency ? 'currency' : 'percent';
|
|
3718
3628
|
break;
|
|
3719
3629
|
}
|
|
@@ -3729,7 +3639,7 @@ var IntlBase;
|
|
|
3729
3639
|
* @returns {string} ?
|
|
3730
3640
|
*/
|
|
3731
3641
|
function getDateSeparator(dateObj) {
|
|
3732
|
-
const value = (getValue('dateFormats.short', dateObj) || '').match(/[
|
|
3642
|
+
const value = (getValue('dateFormats.short', dateObj) || '').match(/[dM]([^dM])[dM]/i);
|
|
3733
3643
|
return value ? value[1] : '/';
|
|
3734
3644
|
}
|
|
3735
3645
|
IntlBase.getDateSeparator = getDateSeparator;
|
|
@@ -3751,7 +3661,7 @@ var IntlBase;
|
|
|
3751
3661
|
let actualPattern = options.format || getResultantPattern(options.skeleton, dependable.dateObject, options.type);
|
|
3752
3662
|
if (isExcelFormat) {
|
|
3753
3663
|
actualPattern = actualPattern.replace(patternRegex, (pattern) => {
|
|
3754
|
-
return patternMatch[pattern];
|
|
3664
|
+
return patternMatch[`${pattern}`];
|
|
3755
3665
|
});
|
|
3756
3666
|
if (actualPattern.indexOf('z') !== -1) {
|
|
3757
3667
|
const tLength = actualPattern.match(/z/g).length;
|
|
@@ -3785,7 +3695,7 @@ var IntlBase;
|
|
|
3785
3695
|
*/
|
|
3786
3696
|
function processSymbol(actual, option) {
|
|
3787
3697
|
if (actual.indexOf(',') !== -1) {
|
|
3788
|
-
|
|
3698
|
+
const split = actual.split(',');
|
|
3789
3699
|
actual = (split[0] + getValue('numberMapper.numberSymbols.group', option) +
|
|
3790
3700
|
split[1].replace('.', getValue('numberMapper.numberSymbols.decimal', option)));
|
|
3791
3701
|
}
|
|
@@ -3794,6 +3704,7 @@ var IntlBase;
|
|
|
3794
3704
|
}
|
|
3795
3705
|
return actual;
|
|
3796
3706
|
}
|
|
3707
|
+
IntlBase.processSymbol = processSymbol;
|
|
3797
3708
|
/**
|
|
3798
3709
|
* Returns Native Number pattern
|
|
3799
3710
|
*
|
|
@@ -4051,7 +3962,7 @@ class Ajax {
|
|
|
4051
3962
|
* Send the request to server.
|
|
4052
3963
|
*
|
|
4053
3964
|
* @param {any} data - To send the user data
|
|
4054
|
-
* @
|
|
3965
|
+
* @returns {Promise} ?
|
|
4055
3966
|
*/
|
|
4056
3967
|
send(data) {
|
|
4057
3968
|
this.data = isNullOrUndefined(data) ? this.data : data;
|
|
@@ -4145,21 +4056,18 @@ class Ajax {
|
|
|
4145
4056
|
* @returns {string} ?
|
|
4146
4057
|
*/
|
|
4147
4058
|
getResponseHeader(key) {
|
|
4148
|
-
|
|
4149
|
-
let header;
|
|
4150
|
-
// eslint-disable-next-line
|
|
4151
|
-
responseHeaders = {};
|
|
4059
|
+
const responseHeaders = {};
|
|
4152
4060
|
let headers = headerRegex.exec(this.httpRequest.getAllResponseHeaders());
|
|
4153
4061
|
while (headers) {
|
|
4154
4062
|
responseHeaders[headers[1].toLowerCase()] = headers[2];
|
|
4155
4063
|
headers = headerRegex.exec(this.httpRequest.getAllResponseHeaders());
|
|
4156
4064
|
}
|
|
4157
|
-
|
|
4158
|
-
header = responseHeaders[key.toLowerCase()];
|
|
4065
|
+
const header = responseHeaders[key.toLowerCase()];
|
|
4159
4066
|
return isNullOrUndefined(header) ? null : header;
|
|
4160
4067
|
}
|
|
4161
4068
|
}
|
|
4162
4069
|
|
|
4070
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4163
4071
|
/**
|
|
4164
4072
|
* The Fetch class provides a way to make asynchronous network requests, typically to retrieve resources from a server.
|
|
4165
4073
|
* ```typescript
|
|
@@ -4247,11 +4155,9 @@ class Fetch {
|
|
|
4247
4155
|
}
|
|
4248
4156
|
}
|
|
4249
4157
|
return response[responseType]();
|
|
4250
|
-
// eslint-disable-next-line
|
|
4251
4158
|
}).then((data) => {
|
|
4252
4159
|
this.triggerEvent(this['onSuccess'], data, this);
|
|
4253
4160
|
return data;
|
|
4254
|
-
// eslint-disable-next-line
|
|
4255
4161
|
}).catch((error) => {
|
|
4256
4162
|
let returnVal = {};
|
|
4257
4163
|
if (this.emitError) {
|
|
@@ -4272,6 +4178,7 @@ class Fetch {
|
|
|
4272
4178
|
}
|
|
4273
4179
|
}
|
|
4274
4180
|
|
|
4181
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4275
4182
|
const REGX_MOBILE = /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini|mobile/i;
|
|
4276
4183
|
const REGX_IE = /msie|trident/i;
|
|
4277
4184
|
const REGX_IE11 = /Trident\/7\./;
|
|
@@ -4311,8 +4218,7 @@ class Browser {
|
|
|
4311
4218
|
browserInfo.name = (clientInfo[1].toLowerCase() === 'crios' ? 'chrome' : browserInfo.name);
|
|
4312
4219
|
browserInfo.version = clientInfo[2];
|
|
4313
4220
|
browserInfo.culture.name = browserInfo.culture.language = navigator.language;
|
|
4314
|
-
|
|
4315
|
-
if (!!Browser.userAgent.match(REGX_IE11)) {
|
|
4221
|
+
if (Browser.userAgent.match(REGX_IE11)) {
|
|
4316
4222
|
browserInfo.name = 'msie';
|
|
4317
4223
|
break;
|
|
4318
4224
|
}
|
|
@@ -4329,10 +4235,9 @@ class Browser {
|
|
|
4329
4235
|
* To get events from the browser
|
|
4330
4236
|
*
|
|
4331
4237
|
* @param {string} event - type of event triggered.
|
|
4332
|
-
* @returns {
|
|
4238
|
+
* @returns {string} ?
|
|
4333
4239
|
*/
|
|
4334
4240
|
static getEvent(event) {
|
|
4335
|
-
// eslint-disable-next-line
|
|
4336
4241
|
const events = {
|
|
4337
4242
|
start: {
|
|
4338
4243
|
isPointer: 'pointerdown', isTouch: 'touchstart', isDevice: 'mousedown'
|
|
@@ -4688,12 +4593,8 @@ class EventHandler {
|
|
|
4688
4593
|
* @returns {void} ?
|
|
4689
4594
|
*/
|
|
4690
4595
|
static clearEvents(element) {
|
|
4691
|
-
|
|
4692
|
-
|
|
4693
|
-
// eslint-disable-next-line
|
|
4694
|
-
eventData = EventHandler.addOrGetEventData(element);
|
|
4695
|
-
// eslint-disable-next-line
|
|
4696
|
-
copyData = extend([], copyData, eventData);
|
|
4596
|
+
const eventData = EventHandler.addOrGetEventData(element);
|
|
4597
|
+
const copyData = extend([], undefined, eventData);
|
|
4697
4598
|
for (let i = 0; i < copyData.length; i++) {
|
|
4698
4599
|
const parseValue = copyData[parseInt(i.toString(), 10)];
|
|
4699
4600
|
element.removeEventListener(parseValue.name, parseValue.debounce);
|
|
@@ -4719,9 +4620,7 @@ class EventHandler {
|
|
|
4719
4620
|
}
|
|
4720
4621
|
}
|
|
4721
4622
|
|
|
4722
|
-
|
|
4723
|
-
* Functions related to dom operations.
|
|
4724
|
-
*/
|
|
4623
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4725
4624
|
const SVG_REG = /^svg|^path|^g/;
|
|
4726
4625
|
/**
|
|
4727
4626
|
* Function to create Html element.
|
|
@@ -4916,7 +4815,6 @@ function executeScript(ele) {
|
|
|
4916
4815
|
* @returns {any} ?
|
|
4917
4816
|
* @private
|
|
4918
4817
|
*/
|
|
4919
|
-
// eslint-disable-next-line
|
|
4920
4818
|
function detach(element) {
|
|
4921
4819
|
const parentNode = element.parentNode;
|
|
4922
4820
|
if (parentNode) {
|
|
@@ -4943,7 +4841,6 @@ function remove(element) {
|
|
|
4943
4841
|
* @returns {Element} ?
|
|
4944
4842
|
* @private
|
|
4945
4843
|
*/
|
|
4946
|
-
// eslint-disable-next-line
|
|
4947
4844
|
function attributes(element, attributes) {
|
|
4948
4845
|
const keys = Object.keys(attributes);
|
|
4949
4846
|
const ele = element;
|
|
@@ -4970,7 +4867,6 @@ function attributes(element, attributes) {
|
|
|
4970
4867
|
* @returns {any} ?
|
|
4971
4868
|
* @private
|
|
4972
4869
|
*/
|
|
4973
|
-
// eslint-disable-next-line
|
|
4974
4870
|
function select(selector, context = document, needsVDOM) {
|
|
4975
4871
|
selector = querySelectId(selector);
|
|
4976
4872
|
return context.querySelector(selector);
|
|
@@ -4984,7 +4880,6 @@ function select(selector, context = document, needsVDOM) {
|
|
|
4984
4880
|
* @returns {HTMLElement[]} ?
|
|
4985
4881
|
* @private
|
|
4986
4882
|
*/
|
|
4987
|
-
// eslint-disable-next-line
|
|
4988
4883
|
function selectAll(selector, context = document, needsVDOM) {
|
|
4989
4884
|
selector = querySelectId(selector);
|
|
4990
4885
|
const nodeList = context.querySelectorAll(selector);
|
|
@@ -5099,8 +4994,7 @@ function getAttributeOrDefault(element, property, value) {
|
|
|
5099
4994
|
function setStyleAttribute(element, attrs) {
|
|
5100
4995
|
if (attrs !== undefined) {
|
|
5101
4996
|
Object.keys(attrs).forEach((key) => {
|
|
5102
|
-
|
|
5103
|
-
element.style[key] = attrs[key];
|
|
4997
|
+
element.style[`${key}`] = attrs[`${key}`];
|
|
5104
4998
|
});
|
|
5105
4999
|
}
|
|
5106
5000
|
}
|
|
@@ -5126,8 +5020,7 @@ function classList(element, addClasses, removeClasses) {
|
|
|
5126
5020
|
* @private
|
|
5127
5021
|
*/
|
|
5128
5022
|
function matches(element, selector) {
|
|
5129
|
-
|
|
5130
|
-
let matches = element.matches || element.msMatchesSelector || element.webkitMatchesSelector;
|
|
5023
|
+
const matches = element.matches || element.msMatchesSelector || element.webkitMatchesSelector;
|
|
5131
5024
|
if (matches) {
|
|
5132
5025
|
return matches.call(element, selector);
|
|
5133
5026
|
}
|
|
@@ -5154,11 +5047,10 @@ function includeInnerHTML(ele, innerHTML) {
|
|
|
5154
5047
|
* @returns {any} ?
|
|
5155
5048
|
* @private
|
|
5156
5049
|
*/
|
|
5157
|
-
// eslint-disable-next-line
|
|
5158
5050
|
function containsClass(ele, className) {
|
|
5159
5051
|
if (isObject(ele)) {
|
|
5160
|
-
|
|
5161
|
-
return new
|
|
5052
|
+
const regExp = RegExp;
|
|
5053
|
+
return new regExp('\\b' + className + '\\b', 'i').test(ele.attributes.className);
|
|
5162
5054
|
}
|
|
5163
5055
|
else {
|
|
5164
5056
|
return ele.classList.contains(className);
|
|
@@ -5172,7 +5064,6 @@ function containsClass(ele, className) {
|
|
|
5172
5064
|
* @returns {any} ?
|
|
5173
5065
|
* @private
|
|
5174
5066
|
*/
|
|
5175
|
-
// eslint-disable-next-line
|
|
5176
5067
|
function cloneNode(element, deep) {
|
|
5177
5068
|
if (isObject(element)) {
|
|
5178
5069
|
if (deep) {
|
|
@@ -5184,12 +5075,13 @@ function cloneNode(element, deep) {
|
|
|
5184
5075
|
}
|
|
5185
5076
|
}
|
|
5186
5077
|
|
|
5078
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5187
5079
|
const isColEName = new RegExp(']');
|
|
5188
|
-
/* tslint:enable:no-any */
|
|
5189
5080
|
/**
|
|
5190
5081
|
* Base library module is common module for Framework modules like touch,keyboard and etc.,
|
|
5191
5082
|
*
|
|
5192
5083
|
* @private
|
|
5084
|
+
* @returns {void} ?
|
|
5193
5085
|
*/
|
|
5194
5086
|
class Base {
|
|
5195
5087
|
/**
|
|
@@ -5210,7 +5102,6 @@ class Base {
|
|
|
5210
5102
|
this.bulkChanges = {};
|
|
5211
5103
|
this.refreshing = false;
|
|
5212
5104
|
this.ignoreCollectionWatch = false;
|
|
5213
|
-
// eslint-disable-next-line
|
|
5214
5105
|
this.finalUpdate = () => { };
|
|
5215
5106
|
this.childChangedProperties = {};
|
|
5216
5107
|
this.modelObserver = new Observer(this);
|
|
@@ -5263,7 +5154,6 @@ class Base {
|
|
|
5263
5154
|
* @param {Object} parent ?
|
|
5264
5155
|
* @returns {void} ?
|
|
5265
5156
|
*/
|
|
5266
|
-
// tslint:disable-next-line:no-any
|
|
5267
5157
|
static callChildDataBind(obj, parent) {
|
|
5268
5158
|
const keys = Object.keys(obj);
|
|
5269
5159
|
for (const key of keys) {
|
|
@@ -5302,7 +5192,6 @@ class Base {
|
|
|
5302
5192
|
this.isProtectedOnChange = prevDetection;
|
|
5303
5193
|
}
|
|
5304
5194
|
}
|
|
5305
|
-
/* tslint:disable:no-any */
|
|
5306
5195
|
serverDataBind(newChanges) {
|
|
5307
5196
|
if (!isBlazor()) {
|
|
5308
5197
|
return;
|
|
@@ -5315,10 +5204,8 @@ class Base {
|
|
|
5315
5204
|
this.bulkChanges = {};
|
|
5316
5205
|
}
|
|
5317
5206
|
}
|
|
5318
|
-
/* tslint:enable:no-any */
|
|
5319
5207
|
saveChanges(key, newValue, oldValue) {
|
|
5320
5208
|
if (isBlazor()) {
|
|
5321
|
-
// tslint:disable-next-line:no-any
|
|
5322
5209
|
const newChanges = {};
|
|
5323
5210
|
newChanges[`${key}`] = newValue;
|
|
5324
5211
|
this.serverDataBind(newChanges);
|
|
@@ -5434,7 +5321,7 @@ class Base {
|
|
|
5434
5321
|
* @returns {void} ?
|
|
5435
5322
|
*/
|
|
5436
5323
|
destroy() {
|
|
5437
|
-
// eslint-disable-next-line
|
|
5324
|
+
// eslint-disable-next-line camelcase
|
|
5438
5325
|
this.element.ej2_instances =
|
|
5439
5326
|
this.element.ej2_instances ?
|
|
5440
5327
|
this.element.ej2_instances.filter((i) => {
|
|
@@ -5461,7 +5348,6 @@ class Base {
|
|
|
5461
5348
|
* @param {string} comp Specifies the component module name or Component.
|
|
5462
5349
|
* @returns {any} ?
|
|
5463
5350
|
*/
|
|
5464
|
-
// tslint:disable-next-line:no-any
|
|
5465
5351
|
function getComponent(elem, comp) {
|
|
5466
5352
|
let instance;
|
|
5467
5353
|
let i;
|
|
@@ -5475,7 +5361,6 @@ function getComponent(elem, comp) {
|
|
|
5475
5361
|
}
|
|
5476
5362
|
}
|
|
5477
5363
|
else {
|
|
5478
|
-
// tslint:disable-next-line:no-any
|
|
5479
5364
|
if (instance instanceof comp) {
|
|
5480
5365
|
return instance;
|
|
5481
5366
|
}
|
|
@@ -5487,16 +5372,13 @@ function getComponent(elem, comp) {
|
|
|
5487
5372
|
* Function to remove the child instances.
|
|
5488
5373
|
*
|
|
5489
5374
|
* @param {HTMLElement} element ?
|
|
5490
|
-
* @
|
|
5375
|
+
* @returns {void} ?
|
|
5491
5376
|
* @private
|
|
5492
5377
|
*/
|
|
5493
|
-
// tslint:disable-next-line:no-any
|
|
5494
5378
|
function removeChildInstance(element) {
|
|
5495
|
-
// tslint:disable-next-line:no-any
|
|
5496
5379
|
const childEle = [].slice.call(element.getElementsByClassName('e-control'));
|
|
5497
5380
|
for (let i = 0; i < childEle.length; i++) {
|
|
5498
5381
|
const compName = childEle[parseInt(i.toString(), 10)].classList[1].split('e-')[1];
|
|
5499
|
-
// tslint:disable-next-line:no-any
|
|
5500
5382
|
const compInstance = getComponent(childEle[parseInt(i.toString(), 10)], compName);
|
|
5501
5383
|
if (!isUndefined(compInstance)) {
|
|
5502
5384
|
compInstance.destroy();
|
|
@@ -5506,6 +5388,7 @@ function removeChildInstance(element) {
|
|
|
5506
5388
|
let proxyToRaw;
|
|
5507
5389
|
const setProxyToRaw = (toRaw) => { proxyToRaw = toRaw; };
|
|
5508
5390
|
|
|
5391
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5509
5392
|
/**
|
|
5510
5393
|
* Returns the Class Object
|
|
5511
5394
|
*
|
|
@@ -5515,10 +5398,8 @@ const setProxyToRaw = (toRaw) => { proxyToRaw = toRaw; };
|
|
|
5515
5398
|
* @param {Object[]} type ?
|
|
5516
5399
|
* @returns {ClassObject} ?
|
|
5517
5400
|
*/
|
|
5518
|
-
// eslint-disable-next-line
|
|
5519
5401
|
function getObject(instance, curKey, defaultValue, type) {
|
|
5520
|
-
|
|
5521
|
-
if (!instance.properties.hasOwnProperty(curKey) || !(instance.properties[curKey] instanceof type)) {
|
|
5402
|
+
if (!Object.prototype.hasOwnProperty.call(instance.properties, curKey) || !(instance.properties[`${curKey}`] instanceof type)) {
|
|
5522
5403
|
instance.properties[`${curKey}`] = createInstance(type, [instance, curKey, defaultValue]);
|
|
5523
5404
|
}
|
|
5524
5405
|
return instance.properties[`${curKey}`];
|
|
@@ -5534,7 +5415,6 @@ function getObject(instance, curKey, defaultValue, type) {
|
|
|
5534
5415
|
* @param {boolean} isFactory ?
|
|
5535
5416
|
* @returns {Object[]} ?
|
|
5536
5417
|
*/
|
|
5537
|
-
// eslint-disable-next-line
|
|
5538
5418
|
function getObjectArray(instance, curKey, defaultValue, type, isSetter, isFactory) {
|
|
5539
5419
|
const result = [];
|
|
5540
5420
|
const len = defaultValue ? defaultValue.length : 0;
|
|
@@ -5563,8 +5443,7 @@ function getObjectArray(instance, curKey, defaultValue, type, isSetter, isFactor
|
|
|
5563
5443
|
*/
|
|
5564
5444
|
function propertyGetter(defaultValue, curKey) {
|
|
5565
5445
|
return function () {
|
|
5566
|
-
|
|
5567
|
-
if (!this.properties.hasOwnProperty(curKey)) {
|
|
5446
|
+
if (!Object.prototype.hasOwnProperty.call(this.properties, curKey)) {
|
|
5568
5447
|
this.properties[`${curKey}`] = defaultValue;
|
|
5569
5448
|
}
|
|
5570
5449
|
return this.properties[`${curKey}`];
|
|
@@ -5580,8 +5459,7 @@ function propertyGetter(defaultValue, curKey) {
|
|
|
5580
5459
|
function propertySetter(defaultValue, curKey) {
|
|
5581
5460
|
return function (newValue) {
|
|
5582
5461
|
if (this.properties[`${curKey}`] !== newValue) {
|
|
5583
|
-
|
|
5584
|
-
let oldVal = this.properties.hasOwnProperty(curKey) ? this.properties[curKey] : defaultValue;
|
|
5462
|
+
const oldVal = Object.prototype.hasOwnProperty.call(this.properties, curKey) ? this.properties[`${curKey}`] : defaultValue;
|
|
5585
5463
|
this.saveChanges(curKey, newValue, oldVal);
|
|
5586
5464
|
this.properties[`${curKey}`] = newValue;
|
|
5587
5465
|
}
|
|
@@ -5595,7 +5473,6 @@ function propertySetter(defaultValue, curKey) {
|
|
|
5595
5473
|
* @param {Object[]} type ?
|
|
5596
5474
|
* @returns {void} ?
|
|
5597
5475
|
*/
|
|
5598
|
-
// eslint-disable-next-line
|
|
5599
5476
|
function complexGetter(defaultValue, curKey, type) {
|
|
5600
5477
|
return function () {
|
|
5601
5478
|
return getObject(this, curKey, defaultValue, type);
|
|
@@ -5621,12 +5498,10 @@ function complexSetter(defaultValue, curKey, type) {
|
|
|
5621
5498
|
* @param {FunctionConstructor} type ?
|
|
5622
5499
|
* @returns {void} ?
|
|
5623
5500
|
*/
|
|
5624
|
-
// eslint-disable-next-line
|
|
5625
5501
|
function complexFactoryGetter(defaultValue, curKey, type) {
|
|
5626
5502
|
return function () {
|
|
5627
5503
|
const curType = type({});
|
|
5628
|
-
|
|
5629
|
-
if (this.properties.hasOwnProperty(curKey)) {
|
|
5504
|
+
if (Object.prototype.hasOwnProperty.call(this.properties, curKey)) {
|
|
5630
5505
|
return this.properties[`${curKey}`];
|
|
5631
5506
|
}
|
|
5632
5507
|
else {
|
|
@@ -5656,15 +5531,13 @@ function complexFactorySetter(defaultValue, curKey, type) {
|
|
|
5656
5531
|
*/
|
|
5657
5532
|
function complexArrayGetter(defaultValue, curKey, type) {
|
|
5658
5533
|
return function () {
|
|
5659
|
-
|
|
5660
|
-
if (!this.properties.hasOwnProperty(curKey)) {
|
|
5534
|
+
if (!Object.prototype.hasOwnProperty.call(this.properties, curKey)) {
|
|
5661
5535
|
const defCollection = getObjectArray(this, curKey, defaultValue, type, false);
|
|
5662
5536
|
this.properties[`${curKey}`] = defCollection;
|
|
5663
5537
|
}
|
|
5664
5538
|
const ignore = ((this.controlParent !== undefined && this.controlParent.ignoreCollectionWatch)
|
|
5665
5539
|
|| this.ignoreCollectionWatch);
|
|
5666
|
-
|
|
5667
|
-
if (!this.properties[curKey].hasOwnProperty('push') && !ignore) {
|
|
5540
|
+
if (!Object.prototype.hasOwnProperty.call(this.properties[`${curKey}`], 'push') && !ignore) {
|
|
5668
5541
|
['push', 'pop'].forEach((extendFunc) => {
|
|
5669
5542
|
const descriptor = {
|
|
5670
5543
|
value: complexArrayDefinedCallback(extendFunc, curKey, type, this.properties[`${curKey}`]).bind(this),
|
|
@@ -5673,8 +5546,7 @@ function complexArrayGetter(defaultValue, curKey, type) {
|
|
|
5673
5546
|
Object.defineProperty(this.properties[`${curKey}`], extendFunc, descriptor);
|
|
5674
5547
|
});
|
|
5675
5548
|
}
|
|
5676
|
-
|
|
5677
|
-
if (!this.properties[curKey].hasOwnProperty('isComplexArray')) {
|
|
5549
|
+
if (!Object.prototype.hasOwnProperty.call(this.properties[`${curKey}`], 'isComplexArray')) {
|
|
5678
5550
|
Object.defineProperty(this.properties[`${curKey}`], 'isComplexArray', { value: true });
|
|
5679
5551
|
}
|
|
5680
5552
|
return this.properties[`${curKey}`];
|
|
@@ -5706,8 +5578,7 @@ function complexArraySetter(defaultValue, curKey, type) {
|
|
|
5706
5578
|
*/
|
|
5707
5579
|
function complexArrayFactorySetter(defaultValue, curKey, type) {
|
|
5708
5580
|
return function (newValue) {
|
|
5709
|
-
|
|
5710
|
-
const oldValueCollection = this.properties.hasOwnProperty(curKey) ? this.properties[curKey] : defaultValue;
|
|
5581
|
+
const oldValueCollection = Object.prototype.hasOwnProperty.call(this.properties, curKey) ? this.properties[`${curKey}`] : defaultValue;
|
|
5711
5582
|
const newValCollection = getObjectArray(this, curKey, newValue, type, true, true);
|
|
5712
5583
|
this.saveChanges(curKey, newValCollection, oldValueCollection);
|
|
5713
5584
|
this.properties[`${curKey}`] = newValCollection;
|
|
@@ -5723,8 +5594,7 @@ function complexArrayFactorySetter(defaultValue, curKey, type) {
|
|
|
5723
5594
|
function complexArrayFactoryGetter(defaultValue, curKey, type) {
|
|
5724
5595
|
return function () {
|
|
5725
5596
|
const curType = type({});
|
|
5726
|
-
|
|
5727
|
-
if (!this.properties.hasOwnProperty(curKey)) {
|
|
5597
|
+
if (!Object.prototype.hasOwnProperty.call(this.properties, curKey)) {
|
|
5728
5598
|
const defCollection = getObjectArray(this, curKey, defaultValue, curType, false);
|
|
5729
5599
|
this.properties[`${curKey}`] = defCollection;
|
|
5730
5600
|
}
|
|
@@ -5740,7 +5610,6 @@ function complexArrayFactoryGetter(defaultValue, curKey, type) {
|
|
|
5740
5610
|
* @returns {Object} ?
|
|
5741
5611
|
*/
|
|
5742
5612
|
function complexArrayDefinedCallback(dFunc, curKey, type, prop) {
|
|
5743
|
-
/* tslint:disable no-function-expression */
|
|
5744
5613
|
return function (...newValue) {
|
|
5745
5614
|
const keyString = this.propName ? this.getParentKey() + '.' + curKey + '-' : curKey + '-';
|
|
5746
5615
|
switch (dFunc) {
|
|
@@ -5752,12 +5621,12 @@ function complexArrayDefinedCallback(dFunc, curKey, type, prop) {
|
|
|
5752
5621
|
this.serverDataBind(model, newValue[parseInt(i.toString(), 10)], false, dFunc);
|
|
5753
5622
|
}
|
|
5754
5623
|
break;
|
|
5755
|
-
case 'pop':
|
|
5624
|
+
case 'pop': {
|
|
5756
5625
|
Array.prototype[`${dFunc}`].apply(prop);
|
|
5757
|
-
|
|
5758
|
-
let model = getArrayModel(keyString + prop.length, null, !this.controlParent, dFunc);
|
|
5626
|
+
const model = getArrayModel(keyString + prop.length, null, !this.controlParent, dFunc);
|
|
5759
5627
|
this.serverDataBind(model, { ejsAction: 'pop' }, false, dFunc);
|
|
5760
5628
|
break;
|
|
5629
|
+
}
|
|
5761
5630
|
}
|
|
5762
5631
|
return prop;
|
|
5763
5632
|
};
|
|
@@ -5782,16 +5651,11 @@ function getArrayModel(keyString, value, isControlParent, arrayFunction) {
|
|
|
5782
5651
|
}
|
|
5783
5652
|
return modelObject;
|
|
5784
5653
|
}
|
|
5785
|
-
// eslint-disable-next-line
|
|
5786
5654
|
/**
|
|
5787
5655
|
* Method used to create property. General syntax below.
|
|
5788
5656
|
*
|
|
5789
5657
|
* @param {Object} defaultValue - Specifies the default value of property.
|
|
5790
5658
|
* @returns {PropertyDecorator} ?
|
|
5791
|
-
* ```
|
|
5792
|
-
* @Property('TypeScript')
|
|
5793
|
-
* propertyName: Type;
|
|
5794
|
-
* ```
|
|
5795
5659
|
* @private
|
|
5796
5660
|
*/
|
|
5797
5661
|
function Property(defaultValue) {
|
|
@@ -5941,25 +5805,8 @@ function Event$1() {
|
|
|
5941
5805
|
*
|
|
5942
5806
|
* @param {Function} classConstructor ?
|
|
5943
5807
|
* @returns {void} ?
|
|
5944
|
-
* ```
|
|
5945
|
-
* @NotifyPropertyChanges
|
|
5946
|
-
* class DemoClass implements INotifyPropertyChanged {
|
|
5947
|
-
*
|
|
5948
|
-
* @Property()
|
|
5949
|
-
* property1: string;
|
|
5950
|
-
*
|
|
5951
|
-
* dataBind: () => void;
|
|
5952
|
-
*
|
|
5953
|
-
* constructor() { }
|
|
5954
|
-
*
|
|
5955
|
-
* onPropertyChanged(newProp: any, oldProp: any) {
|
|
5956
|
-
* // Called when property changed
|
|
5957
|
-
* }
|
|
5958
|
-
* }
|
|
5959
|
-
* ```
|
|
5960
5808
|
* @private
|
|
5961
5809
|
*/
|
|
5962
|
-
// eslint-disable-next-line
|
|
5963
5810
|
function NotifyPropertyChanges(classConstructor) {
|
|
5964
5811
|
/** Need to code */
|
|
5965
5812
|
}
|
|
@@ -5987,13 +5834,11 @@ function addPropertyCollection(target, key, propertyType, defaultValue, type) {
|
|
|
5987
5834
|
eventNames: []
|
|
5988
5835
|
};
|
|
5989
5836
|
}
|
|
5990
|
-
// eslint-disable-next-line
|
|
5991
5837
|
target.propList[propertyType + 's'].push({
|
|
5992
5838
|
propertyName: key,
|
|
5993
5839
|
defaultValue: defaultValue,
|
|
5994
5840
|
type: type
|
|
5995
5841
|
});
|
|
5996
|
-
// eslint-disable-next-line
|
|
5997
5842
|
target.propList[propertyType + 'Names'].push(key);
|
|
5998
5843
|
}
|
|
5999
5844
|
/**
|
|
@@ -6057,8 +5902,7 @@ function CreateBuilder(component) {
|
|
|
6057
5902
|
return this;
|
|
6058
5903
|
};
|
|
6059
5904
|
const instanceFunction = (element) => {
|
|
6060
|
-
|
|
6061
|
-
if (!builderFunction.prototype.hasOwnProperty('create')) {
|
|
5905
|
+
if (!Object.prototype.hasOwnProperty.call(builderFunction, 'create')) {
|
|
6062
5906
|
builderFunction.prototype = getBuilderProperties(component);
|
|
6063
5907
|
builderFunction.prototype.create = function () {
|
|
6064
5908
|
const temp = extend({}, {}, this.properties);
|
|
@@ -6079,8 +5923,7 @@ function CreateBuilder(component) {
|
|
|
6079
5923
|
* @private
|
|
6080
5924
|
*/
|
|
6081
5925
|
function getParentContext(context, prefix) {
|
|
6082
|
-
|
|
6083
|
-
if (context.hasOwnProperty('parentObj') === false) {
|
|
5926
|
+
if (Object.prototype.hasOwnProperty.call(context, 'parentObj') === false) {
|
|
6084
5927
|
return { context: context, prefix: prefix };
|
|
6085
5928
|
}
|
|
6086
5929
|
else {
|
|
@@ -6154,7 +5997,7 @@ let Animation = Animation_1 = class Animation extends Base {
|
|
|
6154
5997
|
*
|
|
6155
5998
|
* @param {HTMLElement} element - Element which needs to be stop the animation.
|
|
6156
5999
|
* @param {AnimationOptions} model - Handling the animation model at stop function.
|
|
6157
|
-
* @
|
|
6000
|
+
* @returns {void}
|
|
6158
6001
|
*/
|
|
6159
6002
|
static stop(element, model) {
|
|
6160
6003
|
element.style.animation = '';
|
|
@@ -6283,7 +6126,6 @@ let Animation = Animation_1 = class Animation extends Base {
|
|
|
6283
6126
|
* @param {AnimationModel} oldProp ?
|
|
6284
6127
|
* @returns {void} ?
|
|
6285
6128
|
*/
|
|
6286
|
-
// eslint-disable-next-line
|
|
6287
6129
|
onPropertyChanged(newProp, oldProp) {
|
|
6288
6130
|
// no code needed
|
|
6289
6131
|
}
|
|
@@ -6470,7 +6312,6 @@ function removeRipple(e, eventArgs) {
|
|
|
6470
6312
|
if (eventArgs.parent !== element) {
|
|
6471
6313
|
EventHandler.remove(element, 'mouseleave', rippleLeaveHandler);
|
|
6472
6314
|
}
|
|
6473
|
-
/* tslint:disable:align */
|
|
6474
6315
|
setTimeout(() => {
|
|
6475
6316
|
if (rippleElement && rippleElement.parentNode) {
|
|
6476
6317
|
rippleElement.parentNode.removeChild(rippleElement);
|
|
@@ -6528,9 +6369,7 @@ var GlobalAnimationMode;
|
|
|
6528
6369
|
GlobalAnimationMode["Disable"] = "Disable";
|
|
6529
6370
|
})(GlobalAnimationMode || (GlobalAnimationMode = {}));
|
|
6530
6371
|
|
|
6531
|
-
|
|
6532
|
-
* Module loading operations
|
|
6533
|
-
*/
|
|
6372
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6534
6373
|
const MODULE_SUFFIX = 'Module';
|
|
6535
6374
|
class ModuleLoader {
|
|
6536
6375
|
constructor(parent) {
|
|
@@ -6640,10 +6479,12 @@ class ModuleLoader {
|
|
|
6640
6479
|
}
|
|
6641
6480
|
}
|
|
6642
6481
|
|
|
6482
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6643
6483
|
/**
|
|
6644
6484
|
* To detect the changes for inner properties.
|
|
6645
6485
|
*
|
|
6646
6486
|
* @private
|
|
6487
|
+
* @returns {void} ?
|
|
6647
6488
|
*/
|
|
6648
6489
|
class ChildProperty {
|
|
6649
6490
|
constructor(parent, propName, defaultValue, isArray) {
|
|
@@ -6652,7 +6493,6 @@ class ChildProperty {
|
|
|
6652
6493
|
this.changedProperties = {};
|
|
6653
6494
|
this.childChangedProperties = {};
|
|
6654
6495
|
this.oldProperties = {};
|
|
6655
|
-
// eslint-disable-next-line
|
|
6656
6496
|
this.finalUpdate = () => { };
|
|
6657
6497
|
this.callChildDataBind = getValue('callChildDataBind', Base);
|
|
6658
6498
|
this.parentObj = parent;
|
|
@@ -6796,7 +6636,6 @@ class ChildProperty {
|
|
|
6796
6636
|
}
|
|
6797
6637
|
}
|
|
6798
6638
|
getParentKey(isSaveChanges) {
|
|
6799
|
-
// eslint-disable-next-line
|
|
6800
6639
|
let index = '';
|
|
6801
6640
|
let propName = this.propName;
|
|
6802
6641
|
/* istanbul ignore next */
|
|
@@ -6828,7 +6667,7 @@ class LicenseValidator {
|
|
|
6828
6667
|
constructor(key) {
|
|
6829
6668
|
this.isValidated = false;
|
|
6830
6669
|
this.isLicensed = true;
|
|
6831
|
-
this.version = '
|
|
6670
|
+
this.version = '26';
|
|
6832
6671
|
this.platform = /JavaScript|ASPNET|ASPNETCORE|ASPNETMVC|FileFormats|essentialstudio/i;
|
|
6833
6672
|
this.errors = {
|
|
6834
6673
|
noLicense: '<span>This application was built using a trial version of Syncfusion Essential Studio.' +
|
|
@@ -6931,26 +6770,26 @@ class LicenseValidator {
|
|
|
6931
6770
|
}
|
|
6932
6771
|
}
|
|
6933
6772
|
if (validateMsg && typeof document !== 'undefined' && !isNullOrUndefined(document)) {
|
|
6934
|
-
accountURL = (validateURL && validateURL !== '') ? validateURL : 'https://www.syncfusion.com/account/claim-license-key?pl=SmF2YVNjcmlwdA==&vs=
|
|
6773
|
+
accountURL = (validateURL && validateURL !== '') ? validateURL : 'https://www.syncfusion.com/account/claim-license-key?pl=SmF2YVNjcmlwdA==&vs=MjY=&utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information';
|
|
6935
6774
|
const errorDiv = createElement('div', {
|
|
6936
|
-
innerHTML: `<img src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE5OV80KSI+CjxwYXRoIGQ9Ik0xMiAyMUMxNi45NzA2IDIxIDIxIDE2Ljk3MDYgMjEgMTJDMjEgNy4wMjk0NCAxNi45NzA2IDMgMTIgM0M3LjAyOTQ0IDMgMyA3LjAyOTQ0IDMgMTJDMyAxNi45NzA2IDcuMDI5NDQgMjEgMTIgMjFaIiBzdHJva2U9IiM3MzczNzMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMS4yNSAxMS4yNUgxMlYxNi41SDEyLjc1IiBmaWxsPSIjNjE2MDYzIi8+CjxwYXRoIGQ9Ik0xMS4yNSAxMS4yNUgxMlYxNi41SDEyLjc1IiBzdHJva2U9IiM3MzczNzMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMS44MTI1IDlDMTIuNDMzOCA5IDEyLjkzNzUgOC40OTYzMiAxMi45Mzc1IDcuODc1QzEyLjkzNzUgNy4yNTM2OCAxMi40MzM4IDYuNzUgMTEuODEyNSA2Ljc1QzExLjE5MTIgNi43NSAxMC42ODc1IDcuMjUzNjggMTAuNjg3NSA3Ljg3NUMxMC42ODc1IDguNDk2MzIgMTEuMTkxMiA5IDExLjgxMjUgOVoiIGZpbGw9IiM3MzczNzMiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xOTlfNCI+CjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K' style="top: 6px;
|
|
6937
|
-
position: absolute;
|
|
6938
|
-
left: 16px;
|
|
6939
|
-
width: 24px;
|
|
6775
|
+
innerHTML: `<img src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE5OV80KSI+CjxwYXRoIGQ9Ik0xMiAyMUMxNi45NzA2IDIxIDIxIDE2Ljk3MDYgMjEgMTJDMjEgNy4wMjk0NCAxNi45NzA2IDMgMTIgM0M3LjAyOTQ0IDMgMyA3LjAyOTQ0IDMgMTJDMyAxNi45NzA2IDcuMDI5NDQgMjEgMTIgMjFaIiBzdHJva2U9IiM3MzczNzMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMS4yNSAxMS4yNUgxMlYxNi41SDEyLjc1IiBmaWxsPSIjNjE2MDYzIi8+CjxwYXRoIGQ9Ik0xMS4yNSAxMS4yNUgxMlYxNi41SDEyLjc1IiBzdHJva2U9IiM3MzczNzMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMS44MTI1IDlDMTIuNDMzOCA5IDEyLjkzNzUgOC40OTYzMiAxMi45Mzc1IDcuODc1QzEyLjkzNzUgNy4yNTM2OCAxMi40MzM4IDYuNzUgMTEuODEyNSA2Ljc1QzExLjE5MTIgNi43NSAxMC42ODc1IDcuMjUzNjggMTAuNjg3NSA3Ljg3NUMxMC42ODc1IDguNDk2MzIgMTEuMTkxMiA5IDExLjgxMjUgOVoiIGZpbGw9IiM3MzczNzMiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xOTlfNCI+CjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K' style="top: 6px;
|
|
6776
|
+
position: absolute;
|
|
6777
|
+
left: 16px;
|
|
6778
|
+
width: 24px;
|
|
6940
6779
|
height: 24px;"/>` + validateMsg + ' ' + '<a style="text-decoration: none;color: #0D6EFD;font-weight: 500;" href=' + accountURL + '>Claim your free account</a>'
|
|
6941
6780
|
});
|
|
6942
|
-
errorDiv.setAttribute('style', `position: fixed;
|
|
6943
|
-
top: 10px;
|
|
6944
|
-
left: 10px;
|
|
6945
|
-
right: 10px;
|
|
6946
|
-
font-size: 14px;
|
|
6947
|
-
background: #EEF2FF;
|
|
6948
|
-
color: #222222;
|
|
6949
|
-
z-index: 999999999;
|
|
6950
|
-
text-align: left;
|
|
6951
|
-
border: 1px solid #EEEEEE;
|
|
6952
|
-
padding: 10px 11px 10px 50px;
|
|
6953
|
-
border-radius: 8px;
|
|
6781
|
+
errorDiv.setAttribute('style', `position: fixed;
|
|
6782
|
+
top: 10px;
|
|
6783
|
+
left: 10px;
|
|
6784
|
+
right: 10px;
|
|
6785
|
+
font-size: 14px;
|
|
6786
|
+
background: #EEF2FF;
|
|
6787
|
+
color: #222222;
|
|
6788
|
+
z-index: 999999999;
|
|
6789
|
+
text-align: left;
|
|
6790
|
+
border: 1px solid #EEEEEE;
|
|
6791
|
+
padding: 10px 11px 10px 50px;
|
|
6792
|
+
border-radius: 8px;
|
|
6954
6793
|
font-family: Helvetica Neue, Helvetica, Arial;`);
|
|
6955
6794
|
document.body.appendChild(errorDiv);
|
|
6956
6795
|
this.isLicensed = false;
|
|
@@ -7011,7 +6850,8 @@ class LicenseValidator {
|
|
|
7011
6850
|
const charKey = decodeStr[decodeStr.length - 1];
|
|
7012
6851
|
const decryptedKey = [];
|
|
7013
6852
|
for (let i = 0; i < decodeStr.length; i++) {
|
|
7014
|
-
decryptedKey[
|
|
6853
|
+
decryptedKey[parseInt(i.toString(), 10)] = decodeStr[parseInt(i.toString(), 10)].charCodeAt(0)
|
|
6854
|
+
- charKey.charCodeAt(0);
|
|
7015
6855
|
}
|
|
7016
6856
|
for (let i = 0; i < decryptedKey.length; i++) {
|
|
7017
6857
|
buffr += String.fromCharCode(decryptedKey[parseInt(i.toString(), 10)]);
|
|
@@ -7077,134 +6917,134 @@ const getVersion = () => {
|
|
|
7077
6917
|
};
|
|
7078
6918
|
// Method for create overlay over the sample
|
|
7079
6919
|
const createLicenseOverlay = () => {
|
|
7080
|
-
const bannerTemplate = `
|
|
7081
|
-
<div style="
|
|
7082
|
-
position: fixed;
|
|
7083
|
-
width: 100%;
|
|
7084
|
-
height: 100%;
|
|
7085
|
-
top: 0;
|
|
7086
|
-
left: 0;
|
|
7087
|
-
right: 0;
|
|
7088
|
-
bottom: 0;
|
|
7089
|
-
background-color: rgba(0, 0, 0, 0.5);
|
|
7090
|
-
z-index: 99999;
|
|
7091
|
-
">
|
|
7092
|
-
<div style="
|
|
7093
|
-
background: #FFFFFF;
|
|
7094
|
-
height: 455px;
|
|
7095
|
-
width: 840px;
|
|
7096
|
-
font-family: Helvetica Neue, Helvetica, Arial;
|
|
7097
|
-
color: #000000;
|
|
7098
|
-
box-shadow: 0px 4.8px 14.4px rgb(0 0 0 / 18%), 0px 25.6px 57.6px rgb(0 0 0 / 22%);
|
|
7099
|
-
display: block;
|
|
7100
|
-
margin: 8% auto;
|
|
7101
|
-
border-radius: 20px;
|
|
7102
|
-
">
|
|
7103
|
-
<div style="
|
|
7104
|
-
position: absolute;
|
|
7105
|
-
width: 838px;
|
|
7106
|
-
height: 62px;
|
|
7107
|
-
background-color: #F9F9F9;
|
|
7108
|
-
border: 1px solid #EEEEEE;
|
|
7109
|
-
border-top-left-radius: 20px;
|
|
7110
|
-
border-top-right-radius: 20px;
|
|
7111
|
-
">
|
|
7112
|
-
<img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQ2IiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMTQ2IDMyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNDAuNTk2NSAxNS4wMDc4SDMyLjQyNUMzMS41NTU3IDE1LjAwNzggMzAuOTAzNyAxNS4xODEyIDMwLjUxMjUgMTUuNDg0NkMzMC4xMjEzIDE1LjgzMTQgMjkuOTA0IDE2LjMwODIgMjkuOTA0IDE3LjA0NTFDMjkuOTA0IDE3LjYwODYgMzAuMDc3OCAxOC4wNDIxIDMwLjQyNTYgMTguMzAyMkMzMC43NzMzIDE4LjYwNTYgMzEuMjk0OSAxOC43MzU2IDMxLjk5MDMgMTguNzM1NkgzNi4zMzY5QzM4LjExODkgMTguNzM1NiAzOS40MjI5IDE5LjA4MjQgNDAuMTYxOCAxOS43MzI2QzQwLjk0NDIgMjAuNDI2MiA0MS4yOTE5IDIxLjU1MzIgNDEuMjkxOSAyMy4xMTM3QzQxLjI5MTkgMjQuNzE3NiA0MC44NTcyIDI1Ljg4OCAzOS45ODc5IDI2LjY2ODJDMzkuMTE4NiAyNy40MDUxIDM3LjcyNzcgMjcuNzk1MyAzNS44NTg3IDI3Ljc5NTNIMjcuMDc4N1YyNS4wMjFIMzUuMzM3MkMzNi4yOTM0IDI1LjAyMSAzNi45NDU0IDI0Ljg5MSAzNy4zMzY2IDI0LjYzMDlDMzcuNzI3NyAyNC4zNzA4IDM3LjkwMTYgMjMuODk0IDM3LjkwMTYgMjMuMjg3MUMzNy45MDE2IDIyLjYzNjkgMzcuNzI3NyAyMi4xNjAxIDM3LjM4IDIxLjlDMzcuMDMyMyAyMS42Mzk5IDM2LjQyMzggMjEuNDY2NSAzNS41NTQ1IDIxLjQ2NjVIMzEuNjQyNkMyOS44NjA1IDIxLjQ2NjUgMjguNTEzMSAyMS4xMTk4IDI3LjY4NzMgMjAuMzgyOEMyNi44NjE0IDE5LjY0NTkgMjYuNDI2OCAxOC41MTg5IDI2LjQyNjggMTcuMDAxN0MyNi40MjY4IDE1LjM1NDUgMjYuODYxNCAxNC4xNDA4IDI3LjczMDcgMTMuMzYwNkMyOC42IDEyLjU4MDMgMjkuOTkwOSAxMi4yMzM1IDMxLjkwMzQgMTIuMjMzNUg0MC41OTY1VjE1LjAwNzhaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik00OC4wNzI3IDI1LjI4MTFINTAuNTA2OFYxNi4zOTQ5SDUzLjU0OTNWMjcuNTM1MkM1My41NDkzIDI5LjA1MjQgNTMuMjAxNiAzMC4xNzk0IDUyLjUwNjIgMzAuOTE2M0M1MS44MTA3IDMxLjY1MzIgNTAuNzI0MSAzMiA0OS4yNDYzIDMySDQzLjMzNVYyOS42NTkySDQ4LjcyNDdDNDkuMjg5NyAyOS42NTkyIDQ5Ljc2NzkgMjkuNTI5MiA1MC4wNzIxIDI5LjIyNThDNTAuMzc2NCAyOC45NjU3IDUwLjU1MDIgMjguNTMyMiA1MC41NTAyIDI4LjAxMlYyNy44Mzg2SDQ3Ljg5ODlDNDYuMjAzNyAyNy44Mzg2IDQ0Ljk0MzIgMjcuNDkxOSA0NC4yNDc4IDI2Ljg0MTZDNDMuNTA4OSAyNi4xNDgxIDQzLjE2MTEgMjUuMDY0NCA0My4xNjExIDIzLjQ2MDVWMTYuMzk0OUg0Ni4xNjAyVjIzLjIwMDVDNDYuMTYwMiAyNC4wNjc0IDQ2LjI5MDYgMjQuNjMwOSA0Ni41NTE0IDI0Ljg5MUM0Ni43MjUzIDI1LjE1MTEgNDcuMjQ2OSAyNS4yODExIDQ4LjA3MjcgMjUuMjgxMVoiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTU1Ljg5NjUgMTYuMzk0OUg2MS41OTA0QzYzLjMyOTEgMTYuMzk0OSA2NC41NDYxIDE2LjY5ODMgNjUuMjg1IDE3LjM0ODVDNjYuMDIzOSAxNy45OTg4IDY2LjM3MTYgMTkuMDgyNCA2Ni4zNzE2IDIwLjU1NjNWMjcuNzk1M0g2My4zMjkxVjIwLjk0NjRDNjMuMzI5MSAyMC4wNzk0IDYzLjE5ODcgMTkuNTE1OSA2Mi45Mzc5IDE5LjI5OTJDNjIuNjc3MSAxOS4wMzkxIDYyLjE1NTUgMTguOTA5MSA2MS4zMjk3IDE4LjkwOTFINTguODk1NlYyNy44Mzg2SDU1Ljg1M1YxNi4zOTQ5SDU1Ljg5NjVaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik03NC45MzQyIDI1LjM2NzhINzguMTUwNlYyNy43OTUySDc0LjAyMTRDNzIuOTc4MiAyNy43OTUyIDcyLjEwODkgMjcuNjY1MiA3MS40NTcgMjcuNDkxOEM3MC44MDUgMjcuMjc1IDcwLjE5NjUgMjYuOTI4MyA2OS43MTgzIDI2LjQ1MTRDNjkuMTk2OCAyNS45MzEzIDY4Ljc2MjEgMjUuMjgxMSA2OC40NTc4IDI0LjU0NDJDNjguMTUzNiAyMy44MDcyIDY4LjAyMzIgMjIuOTgzNiA2OC4wMjMyIDIyLjE2QzY4LjAyMzIgMjEuMjkzMSA2OC4xNTM2IDIwLjQ2OTUgNjguNDU3OCAxOS42ODkyQzY4Ljc2MjEgMTguOTA5IDY5LjE1MzMgMTguMzAyMSA2OS43MTgzIDE3Ljc4MTlDNzAuMjM5OSAxNy4zMDUxIDcwLjgwNSAxNi45NTgzIDcxLjUwMDQgMTYuNzQxNkM3Mi4xOTU5IDE2LjUyNDkgNzMuMDIxNyAxNi40MzgyIDc0LjA2NDkgMTYuNDM4Mkg3OC4xOTQxVjE4LjkwOUg3NC45MzQyQzczLjQ5OTggMTguOTA5IDcyLjU0MzYgMTkuMTY5MSA3MS45Nzg1IDE5LjY0NTlDNzEuNDU2OSAyMC4xMjI3IDcxLjE1MjcgMjAuOTg5NyA3MS4xNTI3IDIyLjIwMzRDNzEuMTUyNyAyMi44OTY5IDcxLjI4MzEgMjMuNDYwNSA3MS41MDA0IDIzLjkzNzNDNzEuNzE3NyAyNC40MTQxIDcyLjA2NTUgMjQuNzYwOSA3Mi41MDAxIDI1LjA2NDNDNzIuNzE3NCAyNS4xOTQ0IDcyLjk3ODIgMjUuMjgxMSA3My4yODI1IDI1LjM2NzhDNzMuNjMwMiAyNS4zMjQ0IDc0LjE1MTggMjUuMzY3OCA3NC45MzQyIDI1LjM2NzhaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik04MC44NDU2IDE4LjY0ODlINzguNjcyNFYxNi4zNTE1SDgwLjg0NTZWMTUuMTgxMUM4MC44NDU2IDE0LjAxMDggODEuMDYzIDEzLjIzMDUgODEuNDk3NiAxMi44NDA0QzgxLjkzMjMgMTIuNDUwMyA4Mi43NTgxIDEyLjIzMzUgODMuOTc1MSAxMi4yMzM1SDg2Ljg0MzhWMTQuNDAwOUg4NS40MDk1Qzg0Ljg4NzkgMTQuNDAwOSA4NC41NDAyIDE0LjQ4NzYgODQuMzIyOSAxNC42NjFDODQuMTA1NSAxNC44MzQ0IDgzLjk3NTEgMTUuMDk0NSA4My45NzUxIDE1LjQ0MTJWMTYuMzUxNUg4Ni44NDM4VjE4LjY0ODlIODMuOTc1MVYyNy43OTUzSDgwLjg0NTZWMTguNjQ4OVoiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTk4LjQwNTYgMjcuNzk1M0g5Mi43MTE2QzkxLjAxNjUgMjcuNzk1MyA4OS44NDI5IDI3LjQ0ODUgODkuMDYwNSAyNi43OTgzQzg4LjMyMTYgMjYuMTQ4MSA4Ny45MzA0IDI1LjA2NDQgODcuOTMwNCAyMy41OTA2VjE2LjM5NDlIOTAuOTI5NVYyMy40MTcyQzkwLjkyOTUgMjQuMTk3NCA5MS4wNTk5IDI0LjY3NDMgOTEuMzIwNyAyNC45MzQ0QzkxLjU4MTUgMjUuMTk0NCA5Mi4xMDMxIDI1LjMyNDUgOTIuOTI4OSAyNS4zMjQ1SDk1LjM2M1YxNi4zOTQ5SDk4LjQwNTZWMjcuNzk1M1oiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTEwMC42MjIgMjUuNDExMkgxMDcuMDExQzEwNy41NzcgMjUuNDExMiAxMDguMDExIDI1LjMyNDUgMTA4LjI3MiAyNS4xNTExQzEwOC41MzMgMjQuOTc3NyAxMDguNjYzIDI0LjY3NDMgMTA4LjY2MyAyNC4zMjc1QzEwOC42NjMgMjMuOTM3NCAxMDguNTMzIDIzLjY3NzMgMTA4LjI3MiAyMy40NjA1QzEwOC4wMTEgMjMuMjg3MSAxMDcuNTc3IDIzLjIwMDUgMTA3LjA1NSAyMy4yMDA1SDEwNC40NDdDMTAyLjg4MiAyMy4yMDA1IDEwMS44MzkgMjIuOTgzNyAxMDEuMzE4IDIyLjUwNjlDMTAwLjc1MiAyMi4wMzAxIDEwMC40OTIgMjEuMjA2NSAxMDAuNDkyIDE5Ljk5MjdDMTAwLjQ5MiAxOC43NzkgMTAwLjgzOSAxNy44Njg3IDEwMS40OTEgMTcuMjYxOEMxMDIuMTQzIDE2LjY5ODMgMTAzLjE4NyAxNi4zOTQ5IDEwNC41MzQgMTYuMzk0OUgxMTEuMDU0VjE4Ljc3OUgxMDUuNzA4QzEwNC44MzggMTguNzc5IDEwNC4yNzMgMTguODY1NyAxMDQuMDEyIDE4Ljk5NTdDMTAzLjc1MiAxOS4xNjkxIDEwMy42MjEgMTkuNDI5MiAxMDMuNjIxIDE5LjgxOTRDMTAzLjYyMSAyMC4xNjYxIDEwMy43NTIgMjAuNDI2MiAxMDMuOTY5IDIwLjU5OTZDMTA0LjE4NiAyMC43NzMgMTA0LjU3NyAyMC44NTk3IDEwNS4wNTYgMjAuODU5N0gxMDcuNzk0QzEwOS4wNTQgMjAuODU5NyAxMTAuMDExIDIxLjE2MzEgMTEwLjY2MyAyMS43MjY2QzExMS4zMTUgMjIuMjkwMiAxMTEuNjYyIDIzLjE1NzEgMTExLjY2MiAyNC4yNDA4QzExMS42NjIgMjUuMjgxMSAxMTEuMzU4IDI2LjE0ODEgMTEwLjc5MyAyNi43OTgzQzExMC4yMjggMjcuNDQ4NSAxMDkuNDQ2IDI3Ljc5NTMgMTA4LjUzMyAyNy43OTUzSDEwMC43MDlWMjUuNDExMkgxMDAuNjIyWiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMTE2LjU3NCAxNS4wOTQ0SDExMy40MDFWMTIuMjc2OUgxMTYuNTc0VjE1LjA5NDRaTTExNi41NzQgMjcuNzk1M0gxMTMuNDAxVjE2LjM5NDlIMTE2LjU3NFYyNy43OTUzWiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMTMwLjMwOSAyMi4xMTY3QzEzMC4zMDkgMjMuODkzOSAxMjkuNzQ0IDI1LjMyNDQgMTI4LjY1NyAyNi40MDgxQzEyNy41NzEgMjcuNDkxOCAxMjYuMDkzIDI4LjAxMiAxMjQuMjI0IDI4LjAxMkMxMjIuMzU1IDI4LjAxMiAxMjAuODc3IDI3LjQ5MTggMTE5Ljc5IDI2LjQwODFDMTE4LjcwNCAyNS4zMjQ0IDExOC4xMzkgMjMuODkzOSAxMTguMTM5IDIyLjExNjdDMTE4LjEzOSAyMC4zMzk0IDExOC43MDQgMTguOTA5IDExOS43OSAxNy44MjUzQzEyMC44NzcgMTYuNzQxNiAxMjIuMzk4IDE2LjIyMTQgMTI0LjIyNCAxNi4yMjE0QzEyNi4wNDkgMTYuMjIxNCAxMjcuNTI3IDE2Ljc0MTYgMTI4LjY1NyAxNy44MjUzQzEyOS43NDQgMTguODY1NiAxMzAuMzA5IDIwLjI5NjEgMTMwLjMwOSAyMi4xMTY3Wk0xMjEuMjY4IDIyLjExNjdDMTIxLjI2OCAyMy4yMDA0IDEyMS41MjkgMjQuMDY3MyAxMjIuMDUxIDI0LjY3NDJDMTIyLjU3MiAyNS4yODExIDEyMy4yNjggMjUuNTg0NSAxMjQuMTggMjUuNTg0NUMxMjUuMDkzIDI1LjU4NDUgMTI1Ljc4OSAyNS4yODExIDEyNi4zMSAyNC42NzQyQzEyNi44MzIgMjQuMDY3MyAxMjcuMDkzIDIzLjIwMDQgMTI3LjA5MyAyMi4xMTY3QzEyNy4wOTMgMjEuMDMzIDEyNi44MzIgMjAuMTY2MSAxMjYuMzEgMTkuNjAyNUMxMjUuNzg5IDE4Ljk5NTcgMTI1LjA5MyAxOC42OTIyIDEyNC4xMzcgMTguNjkyMkMxMjMuMjI0IDE4LjY5MjIgMTIyLjUyOSAxOC45OTU3IDEyMi4wMDcgMTkuNjAyNUMxMjEuNTI5IDIwLjE2NjEgMTIxLjI2OCAyMS4wMzMgMTIxLjI2OCAyMi4xMTY3WiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMTMxLjc4NyAxNi4zOTQ5SDEzNy40ODFDMTM5LjIxOSAxNi4zOTQ5IDE0MC40MzYgMTYuNjk4MyAxNDEuMTc1IDE3LjM0ODVDMTQxLjkxNCAxNy45OTg4IDE0Mi4yNjIgMTkuMDgyNCAxNDIuMjYyIDIwLjU1NjNWMjcuNzk1M0gxMzkuMjE5VjIwLjk0NjRDMTM5LjIxOSAyMC4wNzk0IDEzOS4wODkgMTkuNTE1OSAxMzguODI4IDE5LjI5OTJDMTM4LjU2NyAxOS4wMzkxIDEzOC4wNDYgMTguOTA5MSAxMzcuMjIgMTguOTA5MUgxMzQuNzg2VjI3LjgzODZIMTMxLjc0M1YxNi4zOTQ5SDEzMS43ODdaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik03LjEyODMxIDMuNzM3NDNIMFYxMC44NDY0SDcuMTI4MzFWMy43Mzc0M1oiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTIzLjI1MTMgLTIuMTU3MjVlLTA1TDE4LjU1MTMgNS41MTY4NUwyNC4wODMxIDEwLjIwNDFMMjguNzgzMSA0LjY4NzI1TDIzLjI1MTMgLTIuMTU3MjVlLTA1WiIgZmlsbD0iI0ZGODYwMCIvPgo8cGF0aCBkPSJNMTUuNjA0MSAzLjczNzQzSDguNDc1ODNWMTAuODQ2NEgxNS42MDQxVjMuNzM3NDNaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik03LjEyODMxIDEyLjE5MDJIMFYxOS4yOTkySDcuMTI4MzFWMTIuMTkwMloiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTE1LjYwNDEgMTIuMTkwMkg4LjQ3NTgzVjE5LjI5OTJIMTUuNjA0MVYxMi4xOTAyWiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMjQuMDc5NyAxMi4xOTAySDE2Ljk1MTRWMTkuMjk5MkgyNC4wNzk3VjEyLjE5MDJaIiBmaWxsPSIjRkY4NjAwIi8+CjxwYXRoIGQ9Ik03LjEyODMxIDIwLjY4NjNIMFYyNy43OTUzSDcuMTI4MzFWMjAuNjg2M1oiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTE1LjYwNDEgMjAuNjg2M0g4LjQ3NTgzVjI3Ljc5NTNIMTUuNjA0MVYyMC42ODYzWiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMjQuMTIzMiAyMC42ODYzSDE2Ljk5NDlWMjcuNzk1M0gyNC4xMjMyVjIwLjY4NjNaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik0xNDYgMTUuODMxM0MxNDYgMTYuODcxNyAxNDUuMTc0IDE3LjY5NTMgMTQ0LjEzMSAxNy42OTUzQzE0My4wODggMTcuNjk1MyAxNDIuMjYyIDE2Ljg3MTcgMTQyLjI2MiAxNS44MzEzQzE0Mi4yNjIgMTQuNzkxIDE0My4wODggMTQuMDEwNyAxNDQuMTMxIDE0LjAxMDdDMTQ1LjEzMSAxMy45Njc0IDE0NiAxNC43OTEgMTQ2IDE1LjgzMTNaTTE0Mi45NTcgMTQuNzkxQzE0Mi42OTcgMTUuMDUxMSAxNDIuNTY2IDE1LjQ0MTIgMTQyLjU2NiAxNS44MzEzQzE0Mi41NjYgMTYuNjk4MyAxNDMuMjYyIDE3LjM5MTggMTQ0LjEzMSAxNy4zOTE4QzE0NSAxNy4zOTE4IDE0NS42OTYgMTYuNjk4MyAxNDUuNjk2IDE1LjgzMTNDMTQ1LjY5NiAxNS4wMDc3IDE0NSAxNC4yNzA4IDE0NC4xNzQgMTQuMjcwOEMxNDMuNjUzIDE0LjI3MDggMTQzLjI2MiAxNC40NDQyIDE0Mi45NTcgMTQuNzkxWk0xNDQuODcgMTYuOTE1SDE0NC40NzlMMTQzLjkxNCAxNi4wOTE0VjE2LjkxNUgxNDMuNjA5VjE0Ljc0NzZIMTQzLjk1N0MxNDQuNDM1IDE0Ljc0NzYgMTQ0LjY1MyAxNC45NjQ0IDE0NC42NTMgMTUuMzU0NUMxNDQuNjUzIDE1LjY1NzkgMTQ0LjQ3OSAxNS44NzQ3IDE0NC4xNzQgMTUuOTYxNEwxNDQuODcgMTYuOTE1Wk0xNDQuMDQ0IDE1LjY1NzlDMTQ0LjI2MSAxNS42NTc5IDE0NC4zOTIgMTUuNTI3OSAxNDQuMzkyIDE1LjM1NDVDMTQ0LjM5MiAxNS4xMzc4IDE0NC4yNjEgMTUuMDUxMSAxNDQuMDAxIDE1LjA1MTFIMTQzLjkxNFYxNS42NTc5SDE0NC4wNDRaIiBmaWxsPSIjMzU0M0E4Ii8+Cjwvc3ZnPgo=" style="
|
|
7113
|
-
text-align: left;
|
|
7114
|
-
width: 146px;
|
|
7115
|
-
position: absolute;
|
|
7116
|
-
top: 14px;
|
|
7117
|
-
left: 31px;
|
|
7118
|
-
">
|
|
7119
|
-
</div>
|
|
7120
|
-
<div style="
|
|
7121
|
-
position: relative;
|
|
7122
|
-
top: 80px;
|
|
7123
|
-
left: 32px;
|
|
7124
|
-
font-size: 20px;
|
|
7125
|
-
text-align: left;
|
|
7126
|
-
font-weight: 700;
|
|
7127
|
-
letter-spacing: 0.02em;
|
|
7128
|
-
font-style: normal;
|
|
7129
|
-
line-height: 125%;
|
|
7130
|
-
">Claim your FREE account and get a key in less than a minute</div>
|
|
7131
|
-
<ul style="
|
|
7132
|
-
font-size: 15px;
|
|
7133
|
-
font-weight: 400;
|
|
7134
|
-
color: #333333;
|
|
7135
|
-
letter-spacing: 0.01em;
|
|
7136
|
-
position: relative;
|
|
7137
|
-
left: 32px;
|
|
7138
|
-
top: 88px;
|
|
7139
|
-
line-height: 180%;
|
|
7140
|
-
">
|
|
7141
|
-
<li><span>Access to a 30-day free trial of any of our products.</span></li>
|
|
7142
|
-
<li><span>Access to 24x5 support by developers via the <a href="https://support.syncfusion.com/create?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information" style="text-decoration: none;
|
|
7143
|
-
color: #0D6EFD;
|
|
7144
|
-
font-weight: 500;">support tickets</a>, <a href="https://www.syncfusion.com/forums?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information" style="text-decoration: none;
|
|
7145
|
-
color: #0D6EFD;
|
|
7146
|
-
font-weight: 500;">forum</a>, <a href="https://www.syncfusion.com/feedback?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information
|
|
7147
|
-
" style="text-decoration: none;
|
|
7148
|
-
color: #0D6EFD;
|
|
7149
|
-
font-weight: 500;">feature & feedback page</a> and chat.</span></li>
|
|
7150
|
-
<li><span>200+ <a href="https://www.syncfusion.com/succinctly-free-ebooks?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information" style="text-decoration: none;
|
|
7151
|
-
color: #0D6EFD;
|
|
7152
|
-
font-weight: 500;">ebooks </a>on the latest technologies, industry trends, and research topics.</span>
|
|
7153
|
-
</li>
|
|
7154
|
-
<li><span>Largest collection of over 7,000 flat and wireframe icons for free with Syncfusion <a href="https://www.syncfusion.com/downloads/metrostudio?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information
|
|
7155
|
-
" style="text-decoration: none;
|
|
7156
|
-
color: #0D6EFD;
|
|
7157
|
-
font-weight: 500;">Metro Studio.</a></span></li>
|
|
7158
|
-
<li><span>Free and unlimited access to Syncfusion technical <a href="https://www.syncfusion.com/blogs/?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information
|
|
7159
|
-
" style="text-decoration: none;
|
|
7160
|
-
color: #0D6EFD;
|
|
7161
|
-
font-weight: 500;">blogs</a> and <a href="https://www.syncfusion.com/resources/techportal/whitepapers?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information" style="text-decoration: none;
|
|
7162
|
-
color: #0D6EFD;
|
|
7163
|
-
font-weight: 500;">whitepapers.</a></span></li>
|
|
7164
|
-
</ul>
|
|
7165
|
-
<div style="
|
|
7166
|
-
font-size: 18px;
|
|
7167
|
-
font-weight: 700;
|
|
7168
|
-
position: relative;
|
|
7169
|
-
line-height: 125%;
|
|
7170
|
-
letter-spacing: 0.02em;
|
|
7171
|
-
top: 90px;
|
|
7172
|
-
left: 32px;
|
|
7173
|
-
">Syncfusion is trusted by 29,000+ businesses worldwide</div>
|
|
7174
|
-
<img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODIwIiBoZWlnaHQ9IjU2IiB2aWV3Qm94PSIwIDAgODIwIDU2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MjcuNjE3IDIyLjU2NTlWMjQuNzIyNkM0MjYuNTU4IDI0LjM2MzggNDI1LjM5OCAyNC4xNTQ0IDQyNC40NzQgMjQuMTU0NEM0MjMuMzMzIDI0LjE1NDQgNDIyLjY5OCAyNC40OTEyIDQyMi42OTggMjUuMDk2M0M0MjIuNjk4IDI1LjQ4MjQgNDIyLjk3NiAyNS43MzgzIDQyMy43NzMgMjYuMDg1NEw0MjUuOTE3IDI3LjAxNzRDNDI3LjYzMyAyNy43NjM5IDQyOC40OTcgMjguODUzIDQyOC40OTcgMzAuMjY4MUM0MjguNDk3IDMyLjQ1MjIgNDI2LjU0NiAzMy44MyA0MjMuNDUyIDMzLjgzQzQyMi4zMjQgMzMuODMgNDIxLjAxOCAzMy42NzM2IDQxOS42MzYgMzMuMzcwOVYzMS4xNDE2QzQyMS4wMDYgMzEuNTAyOCA0MjIuMjYyIDMxLjY5NTcgNDIzLjIzOSAzMS42OTU3QzQyNC41MTggMzEuNjk1NyA0MjUuMjAzIDMxLjM1MDYgNDI1LjIwMyAzMC43MDc0QzQyNS4yMDMgMzAuMzIwOCA0MjQuOTM1IDMwLjAzNjcgNDI0LjMyMiAyOS43NzE3TDQyMS45NzUgMjguNzU5M0M0MjAuMjM2IDI4LjAwNzggNDE5LjQzMyAyNi45OTU0IDQxOS40MzMgMjUuNTUyMUM0MTkuNDMzIDIzLjQ4MzcgNDIxLjMxNCAyMi4xNjQ5IDQyNC4yNjUgMjIuMTY0OUM0MjUuMjk4IDIyLjE2NDkgNDI2LjU3IDIyLjMxNzEgNDI3LjYxNyAyMi41NjU5VjIyLjU2NTlaTTQzMC4xNjcgMjIuMzkwOUg0MzMuNjM1VjMzLjYwMzlINDMwLjE2N1YyMi4zOTA5Wk00NDQuOTExIDIyLjM5MDlWMjQuNDQ1MUg0MzkuNjc1VjI2Ljk3NDJINDQ0LjI0OVYyOC44MzIzSDQzOS42NzVWMzEuNDU0M0g0NDQuOTc4VjMzLjYwMzlINDM2LjMwNVYyMi4zOTA5SDQ0NC45MTFaTTQ2MS4yOTQgMjIuMzkwOVYzMy42MDM5SDQ1Ny45MzlWMjYuMjIzNkw0NTQuNjUyIDMzLjY5MTVINDUyLjUzMUw0NDkuMjY2IDI2LjIyMzZWMzMuNjAzOUg0NDYuOTQ5VjIyLjM5MDlINDUxLjE4NEw0NTQuMTc4IDI5LjIxMTRMNDU3LjE1NiAyMi4zOTA5SDQ2MS4yOTRWMjIuMzkwOVpNNDcyLjU3OSAyMi4zOTA5VjI0LjQ0NTFINDY3LjMzNVYyNi45NzQySDQ3MS45MDhWMjguODMyM0g0NjcuMzM1VjMxLjQ1NDNINDcyLjYzOFYzMy42MDM5SDQ2My45NTdWMjIuMzkwOUg0NzIuNTc5Wk00ODQuNzk0IDIyLjM5MDlWMzMuNjAzOUg0ODEuMDkzTDQ3Ni45MjYgMjYuNDEyM1YzMy42MDM5SDQ3NC42MDhWMjIuMzkwOUg0NzguNDA3TDQ4Mi40ODQgMjkuNDg3NlYyMi4zOTA5SDQ4NC43OTRaTTQ5NC44NTggMjIuNTY1OVYyNC43MjI2QzQ5My44MDcgMjQuMzY2MyA0OTIuNjQgMjQuMTU0NCA0OTEuNzMyIDI0LjE1NDRDNDkwLjU3MyAyNC4xNTQ0IDQ4OS45MzkgMjQuNDg1OCA0ODkuOTM5IDI1LjA5M0M0ODkuOTM5IDI1LjQ4ODYgNDkwLjE5OCAyNS43MjUgNDkxLjAyMyAyNi4wODU5TDQ5My4xNTcgMjcuMDE3OEM0OTQuODg1IDI3Ljc3MjIgNDk1LjczOSAyOC44NTE4IDQ5NS43MzkgMzAuMjgzNUM0OTUuNzM5IDMyLjQ1NTkgNDkzLjc4NiAzMy44MzA4IDQ5MC42OTkgMzMuODMwOEM0ODkuNTY5IDMzLjgzMDggNDg4LjI1OSAzMy42NzM2IDQ4Ni44NzggMzMuMzcxN1YzMS4xNDI0QzQ4OC4yNDcgMzEuNTAyOCA0ODkuNDk5IDMxLjY5NjUgNDkwLjQ3IDMxLjY5NjVDNDkxLjc0IDMxLjY5NjUgNDkyLjQ0NCAzMS4zNTE1IDQ5Mi40NDQgMzAuNzI4NUM0OTIuNDQ0IDMwLjMxNjMgNDkyLjE5NyAzMC4wNTA0IDQ5MS41NTUgMjkuNzcyNUw0ODkuMjE4IDI4Ljc2MDFDNDg3LjQ2NyAyOC4wMDI4IDQ4Ni42NzQgMjcuMDAyIDQ4Ni42NzQgMjUuNTUzM0M0ODYuNjc0IDIzLjQ4NjIgNDg4LjU1NiAyMi4xNjY1IDQ5MS41IDIyLjE2NjVDNDkyLjUzNiAyMi4xNjUzIDQ5My44MTMgMjIuMzE3MSA0OTQuODU4IDIyLjU2NTlWMjIuNTY1OVoiIGZpbGw9IiMwMEEwQjAiLz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzUyLjQxMyAyNi44MTlDMzUwLjk5MiAyNS4yNzU5IDM0OS42MzggMjMuODMxNSAzNDguMzQ5IDIyLjE1NzRMMzQ3LjkyIDIxLjU5OTVDMzQ5LjQwNiAyMS4zNjkzIDM1MC42OTUgMjAuMzg0OCAzNTAuNjk1IDE4Ljc0MzNDMzUwLjY5NSAxNy4yMzMxIDM0OS41MzkgMTYuMjQ4MiAzNDcuODIxIDE2LjI0ODJDMzQ2LjU5OCAxNi4yNDgyIDM0NS43MDYgMTYuMzEzNyAzNDUuMjQzIDE2LjMxMzdDMzQ0LjcxNSAxNi4zMTM3IDM0NC4yODUgMTYuMzEzNyAzNDMuNzkgMTYuMjgwOEMzNDMuODU2IDE4LjE1MjEgMzQzLjg4OSAxOC4yODM0IDM0My44ODkgMTkuNDMyMlYyMy42MzQzQzM0My44ODkgMjQuNDU1MyAzNDMuODU2IDI1LjI3NTkgMzQzLjc5IDI2LjgxODZDMzQ0LjE1MyAyNi43MjAyIDM0NC41MTcgMjYuNzIwMiAzNDQuNzgxIDI2LjcyMDJDMzQ1LjA0NSAyNi43MjAyIDM0NS40MDkgMjYuNzUzMSAzNDUuNzA2IDI2LjgxODZDMzQ1LjY0IDI1Ljc2NzkgMzQ1LjYwNyAyNC4wMjgzIDM0NS42MDcgMjMuNjM0M1YyMS4yMDUxQzM0Ny4xNiAyMy4yMDc3IDM0OS4yMDkgMjUuNjY5NSAzNTAuMDAxIDI2LjgxODZDMzUwLjM5OCAyNi43MjAyIDM1MC43MjggMjYuNzIwMiAzNTEuMTI0IDI2LjcyMDJDMzUxLjQ1NSAyNi43MjA2IDM1MS45MTggMjYuNzIwNiAzNTIuNDEzIDI2LjgxOVYyNi44MTlaTTM0OC44NzggMTkuMDA2QzM0OC44NzggMjAuMDIzNCAzNDguMzE3IDIxLjIwNTQgMzQ2Ljc5NyAyMS4yMDU0QzM0Ni40IDIxLjIwNTQgMzQ2LjAwMyAyMS4yMDU0IDM0NS42MDcgMjEuMTcyNVYxNy4wNjg4QzM0Ni4wMDMgMTYuOTcwNCAzNDYuNDk5IDE2LjkwNDYgMzQ2Ljc2MyAxNi45MDQ2QzM0OC4wODUgMTYuOTA0OSAzNDguODc4IDE3LjY2IDM0OC44NzggMTkuMDA2VjE5LjAwNlpNMzgyLjM4IDI2Ljg4NDVDMzgxLjgxOSAyNi4yOTM2IDM4MC45NiAyNS4zNDE3IDM4MC4xMzQgMjQuNDIyM0MzODAuODI4IDIzLjY2NzIgMzgxLjU1NSAyMi41NTEgMzgxLjk4NCAyMS41OTkxQzM4MS43MTkgMjEuNDY3OCAzODEuMzU2IDIxLjIwNTEgMzgxLjA5MiAyMC45NzUzQzM4MC45OTMgMjEuNzk1OSAzODAuNDMyIDIyLjg3OTIgMzc5LjYzOSAyMy44MzE1QzM3OC41MTUgMjIuNTE4NSAzNzguMjE4IDIyLjE1NzQgMzc3LjE5MyAyMC43Nzg1QzM3OC41ODEgMTkuODkyMSAzNzkuMjQyIDE4Ljg3NDMgMzc5LjI0MiAxOC4wNTM3QzM3OS4yNDIgMTcuMTAxNyAzNzguNTgxIDE2LjExNjkgMzc2Ljk2MiAxNi4xMTY5QzM3NS4yMTEgMTYuMTE2OSAzNzQuMzUyIDE3LjIwMDIgMzc0LjM1MiAxOC40ODAzQzM3NC4zNTIgMTkuMjM1NCAzNzQuNTUgMTkuODkxNyAzNzUuMzc2IDIwLjk3NTNDMzc0LjA1NCAyMS42OTc1IDM3Mi43NjYgMjIuNzQ3OSAzNzIuNzY2IDI0LjQyMjNDMzcyLjc2NiAyNi4wNjM5IDM3NC4wODcgMjYuOTE3NCAzNzUuNzA3IDI2LjkxNzRDMzc3LjE5MyAyNi45MTc0IDM3OC4xNTEgMjYuMzI2NiAzNzguOTEyIDI1LjYzNjlMMzc5LjkwMiAyNi44MTlDMzgwLjIgMjYuNzg2MSAzODAuNTMxIDI2LjcyMDYgMzgwLjg2MSAyNi43MjA2QzM4MS4zMjQgMjYuNzIwNiAzODEuODUyIDI2Ljc4NjEgMzgyLjM4IDI2Ljg4NDVWMjYuODg0NVpNMzgzLjM3MiA0MC4wMTU4QzM4MS45MTggMzguNDczIDM4MC41OTcgMzcuMDYxMiAzNzkuMzA4IDM1LjM4NzFMMzc4Ljg3OCAzNC44Mjg4QzM4MC4zMzIgMzQuNTk5MSAzODEuNjU0IDMzLjYxNSAzODEuNjU0IDMxLjk0MDFDMzgxLjY1NCAzMC40NjMyIDM4MC40OTggMjkuNDQ1NCAzNzguNzc5IDI5LjQ0NTRDMzc3LjU1NyAyOS40NDU0IDM3Ni42MzIgMjkuNTQzNSAzNzYuMTY5IDI5LjU0MzVDMzc1LjY3MyAyOS41NDM1IDM3NS4yNDQgMjkuNTQzNSAzNzQuNzQ4IDI5LjQ3NzZDMzc0LjgxNCAzMS4zODIyIDM3NC44NDggMzEuNDgwMiAzNzQuODQ4IDMyLjYyOTRWMzYuODMxMUMzNzQuODQ4IDM3LjY1MjQgMzc0LjgxNCAzOC41MDUyIDM3NC43NDggNDAuMDE1NEMzNzUuMTEyIDM5Ljk0OTYgMzc1LjQ3NSAzOS45NDk2IDM3NS43MDcgMzkuOTQ5NkMzNzYuMDA0IDM5Ljk0OTYgMzc2LjM2OCAzOS45NDk2IDM3Ni42MzIgNDAuMDE1NEMzNzYuNTY1IDM4Ljk5OCAzNzYuNTMzIDM3LjI1ODEgMzc2LjUzMyAzNi44MzExVjM0LjQzNDhDMzc4LjExOSAzNi40MDQyIDM4MC4xNjcgMzguODk5NiAzODAuOTYgNDAuMDE1NEMzODEuMzU2IDM5Ljk0OTYgMzgxLjY4NyAzOS45NDk2IDM4Mi4wODMgMzkuOTQ5NkMzODIuMzggMzkuOTUgMzgyLjg3NiAzOS45NSAzODMuMzcyIDQwLjAxNThaTTM2Mi4xNiAyNi44MTlDMzYwLjk3MSAyNS41NzE1IDM1OC44ODkgMjIuOTc4IDM1OC4wNjMgMjEuOTkzNUwzNTcuMjM3IDIwLjk3NTdDMzU4LjA5NiAxOS45NTgzIDM1OC42OSAxOS4zMzQxIDM1OS4zMTkgMTguNTc5QzM2MC4wNDUgMTcuNzkxIDM2MC43MDYgMTYuOTcwNCAzNjEuNDk5IDE2LjI0ODJDMzYxLjEzNiAxNi4zMTM3IDM2MC45MzcgMTYuMzEzNyAzNjAuNzM5IDE2LjMxMzdDMzYwLjU0MSAxNi4zMTM3IDM2MC4zNDMgMTYuMzEzNyAzNjAuMTQ0IDE2LjI0ODJDMzU5LjkxMyAxNi42MDkzIDM1OS41NSAxNy4wNjg4IDM1OS4xNTMgMTcuNTI4N0MzNTguNzU2IDE3Ljk1NTYgMzU4LjM2IDE4LjM4MjIgMzU4LjA2MyAxOC43NDMzQzM1Ny4yMzYgMTkuNjk1MiAzNTYuNzc0IDIwLjE1NDcgMzU1LjU4NSAyMS4yNzA5VjE5LjQ2NTVDMzU1LjU4NSAxOC40MTUxIDM1NS41ODUgMTcuNzI1NSAzNTUuNjUxIDE2LjI0ODJDMzU1LjMyMSAxNi4zMTM3IDM1NC45NTcgMTYuMzEzNyAzNTQuNzI2IDE2LjMxMzdDMzU0LjQ2MSAxNi4zMTM3IDM1NC4wMzIgMTYuMzEzNyAzNTMuNzY4IDE2LjI0ODJDMzUzLjgzMyAxNy44MjM5IDM1My44NjcgMTguMjgzNCAzNTMuODY3IDE5LjQzMjVWMjMuNjM0N0MzNTMuODY3IDI0LjY4NSAzNTMuODMzIDI1LjMwODggMzUzLjc2OCAyNi44MTlDMzU0LjE2NCAyNi43MjA2IDM1NC40OTUgMjYuNzIwNiAzNTQuNzI2IDI2LjcyMDZDMzU0Ljk1NyAyNi43MjA2IDM1NS4zNTMgMjYuNzUzNSAzNTUuNjUxIDI2LjgxOUMzNTUuNTg1IDI1LjE0NDkgMzU1LjU4NSAyNC4xNTk3IDM1NS41ODUgMjMuNjM0N1YyMS40MzUyQzM1Ni44MDcgMjIuODc5NiAzNTguNjkgMjUuMjQzMyAzNTkuNzQ4IDI2LjgxOUMzNjAuMTMgMjYuNzU2MyAzNjAuNTE3IDI2LjcyMzQgMzYwLjkwNSAyNi43MjA2QzM2MS4yMDIgMjYuNzIwNiAzNjEuNjY1IDI2LjcyMDYgMzYyLjE2IDI2LjgxOVYyNi44MTlaTTM3Mi42MDEgNDAuMDE1OEMzNzIuNTY4IDM5Ljg1MTkgMzcyLjUzNSAzOS43MjA2IDM3Mi41MzUgMzkuNTIzNEMzNzIuNTM1IDM5LjM5MjggMzcyLjU2OCAzOS4yMjgxIDM3Mi42MDEgMzkuMDk2NEMzNzEuMjggMzkuMTI5NyAzNjguOTAxIDM5LjE5NTIgMzY4LjM3MiAzOS4xOTUyVjM0LjY2NDlDMzY5LjY5NCAzNC42NjQ5IDM3MC45ODIgMzQuNjY0OSAzNzIuMjcgMzQuNzk2M0MzNzIuMjM4IDM0LjYzMjQgMzcyLjIwNCAzNC40Njc3IDM3Mi4yMDQgMzQuMzM2NEMzNzIuMjA0IDM0LjIwNTggMzcyLjIwNCAzNC4wNDE5IDM3Mi4yNyAzMy44NDQ3QzM3MS4zNDYgMzMuOTQyOCAzNjkuMTk4IDMzLjk3NiAzNjguMzcyIDMzLjk3NlYzMC4yNjZDMzY5LjgyNiAzMC4yNjYgMzcwLjY4NSAzMC4yNjYgMzcxLjE4IDMwLjI5OTNMMzcyLjUwMiAzMC4zNjUxQzM3Mi40MzYgMzAuMTY3OSAzNzIuNDM2IDMwLjA2OTIgMzcyLjQzNiAyOS45MDUzQzM3Mi40MzYgMjkuNzQxNCAzNzIuNDM2IDI5LjcwODEgMzcyLjUwMiAyOS40NDU4QzM3MS40MTEgMjkuNDc4MyAzNjkuOTI1IDI5LjU0MzggMzY5LjI2NCAyOS41NDM4QzM2OC44MDIgMjkuNTQzOCAzNjcuMzQ4IDI5LjUxMTMgMzY2LjU4NyAyOS40NDU4QzM2Ni42NTQgMzAuMjY2NCAzNjYuNjg2IDMxLjYxMjMgMzY2LjY4NiAzMi41NjQyVjM2Ljg2NTFDMzY2LjY4NiAzNy40ODg1IDM2Ni42MiAzOC43MzU3IDM2Ni41ODcgNDAuMDE2MkMzNjcuNTEzIDM5Ljk1MDMgMzY4LjgwMiAzOS45NTAzIDM2OS4yNjQgMzkuOTUwM0MzNzAuMDI0IDM5Ljk1IDM3MS42NDMgMzkuOTUgMzcyLjYwMSA0MC4wMTU4Wk0zNjQuNjA1IDM5LjEyOTRDMzY0LjQ0IDM4LjgwMDggMzY0LjM0MSAzOC4zMDg4IDM2NC4yNzUgMzguMDQ2MUMzNjIuOTIgMzkuMTYxOSAzNjEuOTk1IDM5LjM5MjQgMzYwLjkzOCAzOS4zOTI0QzM1OC41OTIgMzkuMzkyNCAzNTcuMzM3IDM3LjI5MTMgMzU3LjMzNyAzNC42NjQ5QzM1Ny4zMzcgMzEuNzQzNiAzNTguNzU3IDMwLjAzNjIgMzYxLjE2OSAzMC4wMzYyQzM2Mi40MjUgMzAuMDM2MiAzNjMuNjE0IDMwLjU5NDUgMzY0LjE3NiAzMS4xNTI4QzM2NC4yMDggMzAuODg5OCAzNjQuMzA4IDMwLjM2NDggMzY0LjQ3MyAzMC4wNjg4QzM2My4zMTYgMjkuNTExMyAzNjIuMjU5IDI5LjM0NjYgMzYxLjEwMiAyOS4zNDY2QzM1Ny4yMzcgMjkuMzQ2NiAzNTUuNDUzIDMxLjc0MzYgMzU1LjQ1MyAzNC44Mjg4QzM1NS40NTMgMzguMzA5MSAzNTcuNzk4IDQwLjE0NzEgMzYwLjczOSA0MC4xNDcxQzM2Mi40MjUgNDAuMTQ3MSAzNjMuODEyIDM5LjYyMjIgMzY0LjYwNSAzOS4xMjk0VjM5LjEyOTRaTTM0Mi4zMDMgMjYuODE5QzM0MC41MTkgMjMuNDA0OSAzMzguOCAxOS4xMzczIDMzNy41NzggMTYuMTE2OUgzMzcuMzhDMzM2LjU4NyAxOC4wMjA3IDMzNS4xMzMgMjEuMjcwOSAzMzQuNzM3IDIyLjE4OTlDMzM0LjI3NCAyMy4zMDYxIDMzMy4yNSAyNS41MDU2IDMzMi41ODkgMjYuODE4NkMzMzIuODAzIDI2Ljc1MzggMzMzLjAyNiAyNi43MjA2IDMzMy4yNSAyNi43MjAyQzMzMy40NDggMjYuNzIwMiAzMzMuNjEzIDI2Ljc1MzEgMzMzLjg0NSAyNi44MTg2QzMzNC4xNzUgMjUuOTMyMiAzMzQuNjM4IDI0LjgxNiAzMzUuMTMzIDIzLjYzNDNDMzM1Ljc5NCAyMy42MDE0IDMzNi4zODkgMjMuNTY4OCAzMzYuOTg0IDIzLjU2ODhDMzM3LjYxMiAyMy41Njg4IDMzOC4yNzIgMjMuNjAxNCAzMzguOTMzIDIzLjYzNDNMMzM5LjU5NCAyNS4yMUwzNDAuMjU1IDI2LjgxODZDMzQwLjcxNyAyNi43MjAyIDM0MS4wOCAyNi43MjAyIDM0MS4zMTIgMjYuNzIwMkMzNDEuNjA5IDI2LjcyMDYgMzQxLjg3MyAyNi43MjA2IDM0Mi4zMDMgMjYuODE5VjI2LjgxOVpNMzUzLjYzNiAyOS40NDU0QzM1My40MzggMjkuNTExMyAzNTMuMjczIDI5LjU0MzUgMzUzLjEwNyAyOS41NDM1QzM1Mi45MDkgMjkuNTQzNSAzNTIuNzQ0IDI5LjUxMDkgMzUyLjU0NiAyOS40NDU0QzM1Mi42NDQgMzAuNzU4NCAzNTIuNjc4IDMyLjA3MTQgMzUyLjY3OCAzMy4zNTE5VjM2LjczMzRDMzUyLjE0OSAzNi4yNzM2IDM1MC44NiAzNS4wOTE5IDM0OS4zNzQgMzMuNzEzQzM0Ny44NiAzMi4zMDc0IDM0Ni4zOTQgMzAuODUxMSAzNDQuOTc5IDI5LjM0NjZIMzQ0Ljc0OEMzNDQuNzgxIDMwLjgyNDMgMzQ0LjgxNCAzMi40IDM0NC44MTQgMzMuODExNFYzNS44Nzk5QzM0NC44MTQgMzcuNjUyOCAzNDQuODE0IDM4LjYwNDcgMzQ0LjcxNSA0MC4wMTYyQzM0NC45OCAzOS45NTAzIDM0NS4xMTIgMzkuOTUwMyAzNDUuMzEgMzkuOTUwM0MzNDUuNDQyIDM5Ljk1MDMgMzQ1LjU3NSAzOS45NTAzIDM0NS44MDYgNDAuMDE2MkMzNDUuNzQgMzguNjcwNiAzNDUuNzA3IDM2LjQ3MDggMzQ1LjcwNyAzNS44Nzk5VjMyLjU5NjhDMzQ4LjE4NSAzNC44NjI1IDM1MS4yMjQgMzcuODgyNiAzNTMuNDcxIDQwLjE0NzVIMzUzLjYwM0MzNTMuNjAzIDM4LjkzMjkgMzUzLjUzNyAzNy43MTc5IDM1My41MzcgMzYuNTA0VjM0LjYzMjdDMzUzLjUzNiAzMi40MzI1IDM1My41MzYgMzEuMzQ5MyAzNTMuNjM2IDI5LjQ0NTRaTTM0Mi41NjcgNDAuMDE1OEMzNDIuNTM0IDM5Ljg1MTkgMzQyLjUwMSAzOS43MjA2IDM0Mi41MDEgMzkuNTIzNEMzNDIuNTAxIDM5LjM5MjggMzQyLjUzNCAzOS4yMjgxIDM0Mi41NjcgMzkuMDk2NEMzNDEuMjQ2IDM5LjEyOTcgMzM4Ljg2NyAzOS4xOTUyIDMzOC4zNzEgMzkuMTk1MlYzNC42NjQ5QzMzOS42NiAzNC42NjQ5IDM0MC45NDggMzQuNjY0OSAzNDIuMjM3IDM0Ljc5NjNDMzQyLjIwNCAzNC42MzI0IDM0Mi4xNzEgMzQuNDY3NyAzNDIuMTcxIDM0LjMzNjRDMzQyLjE3MSAzNC4yMDU4IDM0Mi4xNzEgMzQuMDQxOSAzNDIuMjM3IDMzLjg0NDdDMzQxLjMxMiAzMy45NDI4IDMzOS4xOTcgMzMuOTc2IDMzOC4zNzEgMzMuOTc2VjMwLjI2NkMzMzkuNzkyIDMwLjI2NiAzNDAuNjUxIDMwLjI2NiAzNDEuMTc5IDMwLjI5OTNMMzQyLjQ2OCAzMC4zNjUxQzM0Mi40MzUgMzAuMTY3OSAzNDIuNDM1IDMwLjA2OTIgMzQyLjQzNSAyOS45MDUzQzM0Mi40MzUgMjkuNzQxNCAzNDIuNDM1IDI5LjY3NTUgMzQyLjQ2OCAyOS40NDU4QzM0MS4zNzggMjkuNDc4MyAzMzkuODkxIDI5LjU0MzggMzM5LjIzIDI5LjU0MzhDMzM4Ljc2NyAyOS41NDM4IDMzNy4zMTQgMjkuNTExMyAzMzYuNTU0IDI5LjQ0NThDMzM2LjYyIDMwLjI2NjQgMzM2LjY1MyAzMS42MTIzIDMzNi42NTMgMzIuNTY0MlYzNi44NjUxQzMzNi42NTMgMzcuNDg4NSAzMzYuNTg3IDM4LjczNTcgMzM2LjU1NCA0MC4wMTYyQzMzNy41MTIgMzkuOTUwMyAzMzguNzY3IDM5Ljk1MDMgMzM5LjIzIDM5Ljk1MDNDMzM5Ljk5IDM5Ljk1IDM0MS42NDIgMzkuOTUgMzQyLjU2NyA0MC4wMTU4VjQwLjAxNThaTTMzMS4yMDEgMjYuODE5QzMzMC42NzMgMjMuMjQwNiAzMzAuMjEgMTkuNDk4NCAzMjkuODQ3IDE2LjExNjlDMzI5Ljc0OCAxNi4xNDk4IDMyOS43MTQgMTYuMTQ5OCAzMjkuNjQ5IDE2LjExNjlDMzI4Ljk1NSAxNy4zMzE1IDMyOC4xNjIgMTguNjQ0NSAzMjcuNTY3IDE5LjU2MzlDMzI3LjAwNiAyMC40NTAzIDMyNi4zNDUgMjEuNTAwNyAzMjUuNTg1IDIyLjYxNjlDMzIzLjk5OSAyMC41ODE3IDMyMi4zNDcgMTguMDIxMSAzMjEuMjU2IDE2LjExNjlDMzIxLjE5IDE2LjE0OTggMzIxLjE1NyAxNi4xMTY5IDMyMS4wOTEgMTYuMTE2OUMzMjAuNzI4IDE5LjQ5OCAzMjAuMjMyIDIzLjI3MzIgMzE5LjczNiAyNi44MTlDMzIwLjAwMSAyNi43MjA2IDMyMC4xNjYgMjYuNzIwNiAzMjAuMjk4IDI2LjcyMDZDMzIwLjQ5NiAyNi43MjA2IDMyMC42MjggMjYuNzUzNSAzMjAuODU5IDI2LjgxOUMzMjAuOTkyIDI0LjQ1NTMgMzIxLjI1NiAyMi4xMjQ0IDMyMS41NTMgMTkuNjYyM0MzMjIuODQyIDIxLjUzMzYgMzIzLjk2NSAyMy4xNDIyIDMyNS4yMjEgMjQuODQ5M0MzMjYuMjc4IDIzLjIwNzcgMzI3LjM2OCAyMS40MzQ4IDMyOC41NTggMTkuNjI5NEMzMjguODg4IDIyLjE1NyAzMjkuMTg2IDI0LjQ1NTMgMzI5LjM1MSAyNi44MTlDMzI5Ljc4IDI2LjcyMDYgMzMwLjA3OCAyNi43MjA2IDMzMC4yNzYgMjYuNzIwNkMzMzAuNTQgMjYuNzIwNiAzMzAuODA1IDI2LjcyMDYgMzMxLjIwMSAyNi44MTlWMjYuODE5Wk0zMzQuOTY4IDMyLjIwMjhDMzM0Ljk2OCAzMC4yOTg5IDMzMy40NDggMjkuNDQ1NCAzMzEuNTk4IDI5LjQ0NTRDMzMwLjc3MiAyOS40NDU0IDMyOS44OCAyOS41NDM1IDMyOS4yNTIgMjkuNTQzNUMzMjkuMDIxIDI5LjU0MzUgMzI4LjUyNSAyOS41NDM1IDMyNy45OTcgMjkuNDc3NkMzMjguMDMgMzAuNTI4MyAzMjguMDk2IDMxLjQxNDggMzI4LjA5NiAzMi40MzIyVjM2LjkyOTVDMzI4LjA5NiAzNy45MTQ4IDMyOC4wMyAzOC45OTggMzI3Ljk5NyA0MC4wMTU0QzMyOC40MjYgMzkuOTQ5NiAzMjguNzI0IDM5Ljk0OTYgMzI4LjkyMiAzOS45NDk2QzMyOS4xNTMgMzkuOTQ5NiAzMjkuNDg0IDM5Ljk0OTYgMzI5Ljg4IDQwLjAxNTRDMzI5LjgxNSAzOS4wMzE5IDMyOS43ODIgMzguMDQ2NSAzMjkuNzgxIDM3LjA2MDlWMzUuNDJDMzMwLjE0NSAzNS40NTI2IDMzMC41MDggMzUuNDUyNiAzMzAuOTA1IDM1LjQ1MjZDMzMyLjgyIDM1LjQ1MjYgMzM0Ljk2OCAzNC43MzA0IDMzNC45NjggMzIuMjAyOFYzMi4yMDI4Wk0zMjYuMDE0IDM2Ljg5NzNDMzI2LjAxNCAzNS4yNTU4IDMyNC45MjQgMzQuNTMzNiAzMjMuMDQgMzMuNzQ1NkMzMjEuNjg2IDMzLjE4OCAzMjAuOTkyIDMyLjY5NTYgMzIwLjk5MiAzMS42NDQ1QzMyMC45OTIgMzAuNjYgMzIxLjc1MiAzMC4wMzYyIDMyMy4wMDggMzAuMDM2MkMzMjMuODM0IDMwLjAzNjIgMzI0LjU2MSAzMC4zMzE1IDMyNS4yMjIgMzAuODU2OEMzMjUuMjg3IDMwLjQ5NTcgMzI1LjQ1MyAzMC4xMzQ3IDMyNS42NTEgMjkuODM5NEMzMjQuODU4IDI5LjQ3ODMgMzIzLjk5OSAyOS4zNDcgMzIzLjA3NCAyOS4zNDdDMzIwLjM2NSAyOS4zNDcgMzE5LjUwNSAzMC44OTA1IDMxOS41MDUgMzIuMjAzNUMzMTkuNTA1IDMzLjgxMTggMzIwLjI5OSAzNC41NjcyIDMyMi4zNDcgMzUuMzU1M0MzMjMuNjM2IDM1Ljg0NyAzMjQuMjk2IDM2LjQ3MTEgMzI0LjI5NiAzNy41NTQ0QzMyNC4yOTYgMzguNzAzNSAzMjMuNDM3IDM5LjQyNTcgMzIyLjI0OCAzOS40MjU3QzMyMS41NTQgMzkuNDI1NyAzMjAuMzY1IDM5LjA2NDYgMzE5LjUzOSAzOC4zMDk5QzMxOS41MDUgMzguNzM2MSAzMTkuNTA1IDM5LjEzMDQgMzE5LjM3MyAzOS40OTE1QzMxOS45MDIgMzkuNzU0NiAzMjEuMTI1IDQwLjE0NzkgMzIyLjIxNSA0MC4xNDc5QzMyNC45OSA0MC4xNDcxIDMyNi4wMTQgMzguNDM5NyAzMjYuMDE0IDM2Ljg5NzNWMzYuODk3M1pNMzc4LjE1MiAxNy45ODgyQzM3OC4xNTIgMTguOTczIDM3Ny40NTggMTkuNjYyMyAzNzYuNzY0IDIwLjIyMDJDMzc2LjMwMSAxOS41NjM5IDM3NS43NCAxOC42NzcxIDM3NS43NCAxNy45ODgyQzM3NS43NCAxNy4yMzMxIDM3Ni4yNjggMTYuODA2MSAzNzYuOTk1IDE2LjgwNjFDMzc3Ljk4NyAxNi44MDY1IDM3OC4xNTIgMTcuNjkyNiAzNzguMTUyIDE3Ljk4ODJWMTcuOTg4MlpNMzc4LjQ4MiAyNS4wMTMyQzM3OC4xMTkgMjUuMzQxNyAzNzcuMjYgMjUuOTY1NSAzNzYuNTMzIDI1Ljk2NTVDMzc1LjU3NCAyNS45NjU1IDM3NC40MTggMjUuMjc1OSAzNzQuNDE4IDIzLjc5ODZDMzc0LjQxOCAyMi40ODU1IDM3NS4yNzcgMjEuODk0NyAzNzUuODA2IDIxLjU2NjVDMzc3LjAyOCAyMy4yNDA2IDM3Ny4wOTUgMjMuMzM5MSAzNzguNDgyIDI1LjAxMzJaTTM3OS44MDQgMzIuMjAyOEMzNzkuODA0IDMzLjI1MzUgMzc5LjI3NSAzNC40MDI2IDM3Ny43NTUgMzQuNDAyNkMzNzcuMzI2IDM0LjQwMjYgMzc2LjkyOSAzNC40MDI2IDM3Ni41MzMgMzQuMzY5M1YzMC4yNjU2QzM3Ni45MjkgMzAuMTY3NiAzNzcuNDI1IDMwLjEzNDMgMzc3LjcyMiAzMC4xMzQzQzM3OS4wMTEgMzAuMTM0MyAzNzkuODA0IDMwLjg4OTggMzc5LjgwNCAzMi4yMDI4Wk0zMzguNjAyIDIyLjgxNDFDMzM3LjkwOSAyMi44NDY2IDMzNy41NDUgMjIuODQ2NiAzMzcuMDgyIDIyLjg0NjZDMzM2LjUyMSAyMi44NDY2IDMzNi4xOSAyMi44NDY2IDMzNS40NjMgMjIuODE0MUwzMzcuMDgyIDE5LjAwNkwzMzguNjAyIDIyLjgxNDFaTTMzMy4xNTEgMzIuMzAwOEMzMzMuMTUxIDMzLjgxMTEgMzMyLjI1OCAzNC43OTU5IDMzMC44MDUgMzQuNzk1OUMzMzAuNTA3IDM0Ljc5NTkgMzMwLjE3NyAzNC43OTU5IDMyOS43OCAzNC43MzAxVjMwLjIzMjdDMzMwLjI0MyAzMC4xNjY5IDMzMC42MzkgMzAuMTMzOSAzMzEuMDM2IDMwLjEzMzlDMzMyLjQyNCAzMC4xMzQzIDMzMy4xNTEgMzEuMDIxMSAzMzMuMTUxIDMyLjMwMDhaTTM2OS41MjggMjMuNjY3NkMzNjkuNTI4IDIyLjAyNiAzNjguNDM4IDIxLjMwMzkgMzY2LjU1NSAyMC41MTYyQzM2NS4yIDE5Ljk1ODMgMzY0LjUwNiAxOS40OTg4IDM2NC41MDYgMTguNDE1MUMzNjQuNTA2IDE3LjQ2MzIgMzY1LjI2NiAxNi44MDY1IDM2Ni41MjEgMTYuODA2NUMzNjcuMzQ4IDE2LjgwNjUgMzY4LjA3NSAxNy4xMDE3IDM2OC43MzUgMTcuNjI3NUMzNjguODAyIDE3LjI2NjQgMzY4Ljk2NyAxNi45MDQ5IDM2OS4xMzEgMTYuNjQyMkMzNjguMzcyIDE2LjI4MTEgMzY3LjQ3OSAxNi4xMTcyIDM2Ni41ODcgMTYuMTE3MkMzNjMuOTQ0IDE2LjExNzIgMzYyLjk4NiAxNy42NiAzNjIuOTg2IDE5LjAwNkMzNjIuOTg2IDIwLjU4MTcgMzYzLjgxMiAyMS4zMzY4IDM2NS44NjEgMjIuMTI0NEMzNjcuMTQ5IDIyLjYxNjkgMzY3LjgxIDIzLjI0MDYgMzY3LjgxIDI0LjM1NjhDMzY3LjgxIDI1LjQ3MyAzNjYuOTUxIDI2LjE5NTIgMzY1Ljc2MiAyNi4xOTUyQzM2NS4wMzUgMjYuMTk1MiAzNjMuODc5IDI1LjgzNDEgMzYzLjA1MiAyNS4xMTE5QzM2My4wMiAyNS41Mzg5IDM2Mi45ODYgMjUuOSAzNjIuODg3IDI2LjI2MTFDMzYzLjM4MyAyNi41MjM4IDM2NC42MDYgMjYuOTE3NCAzNjUuNzI5IDI2LjkxNzRDMzY4LjUwNCAyNi45MTc0IDM2OS41MjggMjUuMjQzMyAzNjkuNTI4IDIzLjY2NzZWMjMuNjY3NloiIGZpbGw9IiMwMzY1NTUiLz4NCjxwYXRoIGQ9Ik02NDAuNDE2IDIwLjU1NzNDNjM4LjY3MSAxOS44MzU0IDYzNy42MzEgMTkuNTU1MSA2MzYuNTk4IDE5LjU1NTFDNjM1LjUxNCAxOS41NTUxIDYzNC44MTkgMTkuOTE3IDYzNC44MTkgMjAuNDc2NUM2MzQuODE5IDIyLjE2NDUgNjQwLjk2MiAyMS42ODkzIDY0MC45NjIgMjUuNTkzNkM2NDAuOTYyIDI3Ljc0NjQgNjM5LjAyNCAyOC45OTc0IDYzNi4zMzIgMjguOTk3NEM2MzQuMjIgMjguOTk3NCA2MzMuMTggMjguNDg4IDYzMS45ODMgMjcuOTExNlYyNS40OTYyQzYzMy43MSAyNi41NjM1IDYzNC43NjggMjYuOTQwMSA2MzYuMTAxIDI2Ljk0MDFDNjM3LjI1NiAyNi45NDAxIDYzNy44NzkgMjYuNTYzNSA2MzcuODc5IDI1LjkwNjNDNjM3Ljg3OSAyNC4wNjg1IDYzMS43MzcgMjQuNzQxNSA2MzEuNzM3IDIwLjcyMTNDNjMxLjczNyAxOC43ODI3IDYzMy41MzQgMTcuNDk5IDYzNi4zMzIgMTcuNDk5QzYzNy42ODIgMTcuNDk5IDYzOC45MDEgMTcuNzYzNSA2NDAuNDE2IDE4LjM3MDdWMjAuNTU3M1pNNjQ5LjAxNiAyOC40ODQxQzY0Ny45OTIgMjguODMwNiA2NDcuMTI2IDI4Ljk5NTQgNjQ2LjI2MiAyOC45OTU0QzY0My40MDIgMjguOTk1NCA2NDEuNTUyIDI3LjQ0MjIgNjQxLjU1MiAyNS4wNzkyQzY0MS41NTIgMjIuNzU5NCA2NDMuNDczIDIxLjEyMDIgNjQ2LjE1NiAyMS4xMjAyQzY0Ni45ODUgMjEuMTIwMiA2NDguMDQ0IDIxLjMxODIgNjQ4Ljg5MSAyMS42MTIzVjIzLjM4ODFDNjQ4LjIyMSAyMy4wNTYyIDY0Ny40NDQgMjIuODc0MSA2NDYuODA5IDIyLjg3NDFDNjQ1LjI3MyAyMi44NzQxIDY0NC4yODYgMjMuNzM0MyA2NDQuMjg2IDI1LjA2MTlDNjQ0LjI4NiAyNi40MDggNjQ1LjI1NiAyNy4yOTQgNjQ2LjcyIDI3LjI5NEM2NDcuMzM3IDI3LjI5NCA2NDcuODg2IDI3LjE2MjMgNjQ5LjAxNiAyNi43NjhMNjQ5LjAxNiAyOC40ODQxWk02NzEuMzIgMjQuMjA5QzY3MS40MjUgMjMuMTU0OCA2NzIuMDgxIDIyLjU0NTcgNjczLjA4NyAyMi41NDU3QzY3NC4wNzYgMjIuNTQ1NyA2NzQuNzQ2IDIzLjE3MjEgNjc0Ljg1MiAyNC4yMDlINjcxLjMyWk02NzIuOTEgMjEuMTIyOUM2NzAuNCAyMS4xMjI5IDY2OC42MTQgMjIuNzc1NSA2NjguNjE0IDI1LjEwMTJDNjY4LjYxNCAyNy40NDQxIDY3MC40NzEgMjguOTk1NCA2NzMuMzM1IDI4Ljk5NTRDNjczLjk3IDI4Ljk5NTQgNjc1LjUwNCAyOC45OTU0IDY3Ni45NjYgMjcuOTg3VjI2LjUwNDJDNjc1Ljc2OSAyNy4yOTkzIDY3NC45NzcgMjcuNTczMSA2NzMuOTU1IDI3LjU3MzFDNjcyLjM0MSAyNy41NzMxIDY3MS4zNTQgMjYuNzk0OSA2NzEuMjY1IDI1LjQ2NjZINjc3LjExQzY3Ny4yMzIgMjIuNjkzOSA2NzUuMjc5IDIxLjEyMjkgNjcyLjkxIDIxLjEyMjlWMjEuMTIyOVpNNjc4LjA5OSAyOC44NTcySDY4MC42NTRWMjEuMjYyN0g2NzguMDk5VjI4Ljg1NzJaTTY4Ny43NjcgMjYuNzgxNUM2ODcuMjM0IDI3LjIyODEgNjg2Ljc5MiAyNy40MDcyIDY4Ni4yNDYgMjcuNDA3MkM2ODUuMDQzIDI3LjQwNzIgNjg0LjI4MSAyNi40ODM4IDY4NC4yODEgMjUuMTAwNEM2ODQuMjgxIDIzLjU4NDEgNjg1LjA0MyAyMi43MTAxIDY4Ni4zMzEgMjIuNzEwMUM2ODYuNzkyIDIyLjcxMDEgNjg3LjM5NCAyMi45MDggNjg3Ljc2NyAyMy4xNTU5VjI2Ljc4MTVaTTY4Ny43NjcgMTcuNjM5MVYyMS41OTU4QzY4Ny4wNzYgMjEuMjg0NyA2ODYuMzg4IDIxLjEyMDIgNjg1LjY0NCAyMS4xMjAyQzY4My4zMTMgMjEuMTIwMiA2ODEuNyAyMi43MjY2IDY4MS43IDI1LjA1MDdDNjgxLjcgMjcuMzI0OCA2ODMuMzEzIDI4Ljk5NzQgNjg1LjUgMjguOTk3NEM2ODYuMzY3IDI4Ljk5NzQgNjg3LjAzNyAyOC43ODU2IDY4Ny43NjcgMjguMjQzNVYyOC44NTQ5SDY5MC4zMjJWMTcuNjM5MUg2ODcuNzY3Wk02OTQuMTA1IDI0LjIwOUM2OTQuMjExIDIzLjE1NDggNjk0Ljg2NCAyMi41NDU3IDY5NS44NjggMjIuNTQ1N0M2OTYuODU4IDIyLjU0NTcgNjk3LjUzNSAyMy4xNzIxIDY5Ny42NDEgMjQuMjA5SDY5NC4xMDVaTTY5NS42OTQgMjEuMTIyOUM2OTMuMTg0IDIxLjEyMjkgNjkxLjQgMjIuNzc1NSA2OTEuNCAyNS4xMDEyQzY5MS40IDI3LjQ0NDEgNjkzLjI1OSAyOC45OTU0IDY5Ni4xMTkgMjguOTk1NEM2OTYuNzUzIDI4Ljk5NTQgNjk4LjI5IDI4Ljk5NTQgNjk5Ljc1NSAyNy45ODdWMjYuNTA0MkM2OTguNTU3IDI3LjI5OTMgNjk3Ljc2MyAyNy41NzMxIDY5Ni43MzYgMjcuNTczMUM2OTUuMTMxIDI3LjU3MzEgNjk0LjE0IDI2Ljc5NDkgNjk0LjA1MSAyNS40NjY2SDY5OS44OTRDNzAwLjAxNSAyMi42OTM5IDY5OC4wNjEgMjEuMTIyOSA2OTUuNjk0IDIxLjEyMjkiIGZpbGw9IiMwMDlFNEQiLz4NCjxwYXRoIGQ9Ik03MDMuNzIxIDIzLjQzNjhINzAzLjc1OEM3MDQuNTE3IDIxLjg1NjIgNzA1LjM2NiAyMS4xMTUgNzA2LjM1MiAyMS4xMTVDNzA2Ljg2MiAyMS4xMTUgNzA3LjMwMyAyMS4yOTY0IDcwOC4wNDQgMjEuODA3Nkw3MDcuMzQxIDIzLjkxMzNDNzA2LjY3IDIzLjUxODYgNzA2LjIyOSAyMy4zNTM1IDcwNS44MjMgMjMuMzUzNUM3MDQuODg2IDIzLjM1MzUgNzA0LjI4NiAyNC4xNzc1IDcwMy43MjEgMjUuNTcwNFYyOC44NDY2SDcwMS4xNjJWMjEuMjU0MUg3MDMuNzIxVjIzLjQzNjhaTTY4MC43NzUgMTguMDY3NEM2ODEuMDE1IDE4LjY1NzUgNjgwLjU4MyAxOS40ODA1IDY3OS44MTQgMTkuOTA0QzY3OS4wNDEgMjAuMzI3MSA2NzguMjI0IDIwLjE5MjggNjc3Ljk4NiAxOS42MDI3QzY3Ny43NDMgMTkuMDExNyA2NzguMTczIDE4LjE4NzcgNjc4Ljk0NSAxNy43NjY2QzY3OS43MTYgMTcuMzQxMSA2ODAuNTMzIDE3LjQ3NTkgNjgwLjc3NSAxOC4wNjc0WiIgZmlsbD0iIzAwOUU0RCIvPg0KPHBhdGggZD0iTTY1OC4yMiAyNC4wMjMxQzY1OC4yMiAyMS45NjUxIDY1Ni43MTkgMjEuMTIyNiA2NTUuMjM5IDIxLjEyMjZDNjU0LjIzMiAyMS4xMjI2IDY1My40MDQgMjEuNTE4NCA2NTIuNjY0IDIyLjM5MjFINjUyLjYyOVYxNy42MzkySDY1MC4wNzFWMjguODM1M0g2NTIuNjI5VjI0LjAyMzFDNjUzLjIyOCAyMy4yMTYxIDY1My43MzggMjIuODcxMSA2NTQuMzM4IDIyLjg3MTFDNjU1LjEzNCAyMi44NzExIDY1NS42NjIgMjMuMzk4NiA2NTUuNjYyIDI0LjUzMjlWMjcuMjAwOEM2NTYuNTIgMjYuNzg5NiA2NTcuMzkzIDI2LjUzNzQgNjU4LjIyIDI2LjQ0MzhWMjQuMDIzMVpNNjY0LjYzNiAyMS4xMTk5QzY2My41OTQgMjEuMTE5OSA2NjIuNzk5IDIxLjQ4MTEgNjYxLjk4NCAyMi4zNDkzVjIxLjI2MjRINjU5LjQyOFYyNi40MjM0QzY2MC4zMTMgMjYuNTA1OCA2NjEuNDQzIDI2Ljg4NDcgNjYxLjk4NCAyNy41MTA0VjIzLjk2MzRDNjYyLjY1NyAyMy4wMjMyIDY2My4xMzQgMjIuNzA5NyA2NjMuNzcgMjIuNzA5N0M2NjQuNDk0IDIyLjcwOTcgNjY1LjA0NSAyMy4xNTU2IDY2NS4wNDUgMjQuMjI2NFYyOC44MzcySDY2Ny42MDJWMjQuMDI4OUM2NjcuNjAyIDIxLjc5MjYgNjY1LjkwOCAyMS4xMTk5IDY2NC42MzYgMjEuMTE5OVYyMS4xMTk5Wk02NjkuMDE1IDMxLjAxODFINjY2LjA0M1YzMi45ODY0SDY2OC45MDlWMzMuODMxMkg2NjYuMDQzVjM1Ljg2MTlINjY5LjEwM1YzNi43MDU1SDY2NS4wNDZWMzAuMTc1Mkg2NjkuMDE1TDY2OS4wMTUgMzEuMDE4MVpNNjcxLjQ0MiAzNi43MDkzSDY3Mi4zNTJWMzAuMTczM0g2NzEuNDQyVjM2LjcwOTNaTTY3Ni44NTkgMzMuMDQ4NEM2NzcuNTA0IDMzLjA0ODQgNjc3LjkwNCAzMy40NjMxIDY3Ny45MzUgMzQuMTE0Mkg2NzUuNjE2QzY3NS43NDIgMzMuNDM0MiA2NzYuMTYxIDMzLjA0ODQgNjc2Ljg1OSAzMy4wNDg0Wk02NzUuNiAzNC42ODFINjc4Ljg0MkM2NzguODQyIDMzLjA4NjkgNjc4LjA2MiAzMi4zMTggNjc2LjgzOCAzMi4zMThDNjc1LjU2OSAzMi4zMTggNjc0LjY4OCAzMy4xOTI0IDY3NC42ODggMzQuNDk2OUM2NzQuNjg4IDM1LjY4OSA2NzUuNDg0IDM2Ljc4OTggNjc2LjkxNyAzNi43ODk4QzY3Ny42OTggMzYuNzg5OCA2NzguMjAzIDM2LjYyODEgNjc4Ljc2MyAzNi4yODJWMzUuNDU2QzY3OC4yMjIgMzUuNzg1NiA2NzcuNjk4IDM1Ljk3NTggNjc3LjE0NyAzNS45NzU4QzY3Ni4yNjUgMzUuOTc1OCA2NzUuNzQyIDM1LjUzNSA2NzUuNiAzNC42ODA2VjM0LjY4MVpNNjg0Ljc4NiAzMy41MzA5QzY4NC4yNjMgMzMuMTk2NiA2ODMuOTE0IDMzLjA5ODUgNjgzLjUxNSAzMy4wOTg1QzY4Mi42ODIgMzMuMDk4NSA2ODIuMTA1IDMzLjY5NDUgNjgyLjEwNSAzNC41NjdDNjgyLjEwNSAzNS40NTYgNjgyLjcxOSAzNS45OTE2IDY4My42NjggMzUuOTkxNkM2ODQuMDU4IDM1Ljk5MTYgNjg0LjQzIDM1Ljg5NzMgNjg0Ljg4OCAzNS43MDU5VjM2LjU0MjZDNjg0LjU4MiAzNi42Nzc0IDY4My45OTcgMzYuNzg5OCA2ODMuNTE1IDM2Ljc4OThDNjgyLjEzNiAzNi43ODk4IDY4MS4xOCAzNS45MDYyIDY4MS4xOCAzNC42NDMyQzY4MS4xOCAzMy4yMTc4IDY4Mi4wNTQgMzIuMzE4IDY4My40NTMgMzIuMzE4QzY4My45ODcgMzIuMzE4IDY4NC4zNDYgMzIuNDMzOSA2ODQuNzg3IDMyLjYxNDVMNjg0Ljc4NiAzMy41MzA5Wk02ODguOTM0IDMyLjQwMDRINjkwLjM5NVYzMy4xNjUxSDY4OC45MzRWMzUuMzc1MkM2ODguOTM0IDM1Ljg4MTEgNjg5LjMyNyAzNi4wMjc0IDY4OS41OTMgMzYuMDI3NEM2ODkuOTIyIDM2LjAyNzQgNjkwLjI2MiAzNS45MiA2OTAuNjMgMzUuNzA3OVYzNi41MDM3QzY5MC4zMSAzNi42Njc4IDY4OS44MiAzNi43ODk4IDY4OS41MTkgMzYuNzg5OEM2ODguNTI4IDM2Ljc4OTggNjg4LjAyNyAzNi4yMTYxIDY4OC4wMjcgMzUuNDM5MVYzMy4xNjUxSDY4Ny4yMjRWMzMuMDcwM0w2ODguOTM0IDMxLjUxMDJWMzIuNDAwNFpNNjkzLjg3NiAzMi40MDA0VjMzLjM5NjlINjkzLjg5NUM2OTQuMzU5IDMyLjYzNDUgNjk0LjggMzIuMzE4IDY5NS4yMyAzMi4zMThDNjk1LjYwMSAzMi4zMTggNjk1Ljk0NyAzMi40ODAxIDY5Ni4zMjkgMzIuODE2Nkw2OTUuODQ3IDMzLjU2NDRDNjk1LjU3IDMzLjMwOTEgNjk1LjIxMSAzMy4xMzMxIDY5NC45OTUgMzMuMTMzMUM2OTQuMzY4IDMzLjEzMzEgNjkzLjg3NiAzMy43MjY4IDY5My44NzYgMzQuNDYyNlYzNi43MDkzSDY5Mi45NjdWMzIuNDAwNEg2OTMuODc2Wk03MDUuNjU3IDMzLjUzMDlDNzA1LjEzMSAzMy4xOTY2IDcwNC43ODIgMzMuMDk4NSA3MDQuMzgxIDMzLjA5ODVDNzAzLjU0OSAzMy4wOTg1IDcwMi45NzcgMzMuNjk0NSA3MDIuOTc3IDM0LjU2N0M3MDIuOTc3IDM1LjQ1NiA3MDMuNTkyIDM1Ljk5MTYgNzA0LjUzNSAzNS45OTE2QzcwNC45MjUgMzUuOTkxNiA3MDUuMjk1IDM1Ljg5NzMgNzA1Ljc2IDM1LjcwNTlWMzYuNTQyNkM3MDUuNDQ3IDM2LjY3NzQgNzA0Ljg2MiAzNi43ODk4IDcwNC4zOCAzNi43ODk4QzcwMy4wMDQgMzYuNzg5OCA3MDIuMDQ0IDM1LjkwNjIgNzAyLjA0NCAzNC42NDMyQzcwMi4wNDQgMzMuMjE3OCA3MDIuOTIyIDMyLjMxOCA3MDQuMzIgMzIuMzE4QzcwNC44NTUgMzIuMzE4IDcwNS4yMTIgMzIuNDMzOSA3MDUuNjU3IDMyLjYxNDVMNzA1LjY1NyAzMy41MzA5Wk02OTguNzQyIDM2LjcwOTNINjk5LjY1MlYzMi40MDA4SDY5OC43NDJWMzYuNzA5M1oiIGZpbGw9IiMwMDlFNEQiLz4NCjxwYXRoIGQ9Ik02OTkuNjg0IDMwLjg1MjVDNjk5Ljc3MyAzMS4wNjA0IDY5OS42MTggMzEuMzU0NCA2OTkuMzQ0IDMxLjUwNDFDNjk5LjA2OCAzMS42NTQzIDY5OC43NzYgMzEuNjA2MiA2OTguNjkzIDMxLjM5NzhDNjk4LjYxIDMxLjE4NzQgNjk4Ljc2MSAzMC44OTU4IDY5OS4wMzggMzAuNzQ1NkM2OTkuMzExIDMwLjU5MzUgNjk5LjYwMSAzMC42NDIxIDY5OS42ODQgMzAuODUyNVYzMC44NTI1Wk02NTguOTQgMzEuMjAwOUM2NTguNzc5IDMxLjIwMDkgNjU4LjcxMSAzMS4yMjU1IDY1OC42NDYgMzEuMjkzOEM2NTguNjIgMzEuMzIwMyA2NTguNjEgMzEuMzQ3MiA2NTguNiAzMS40MDExTDY1Ny43ODQgMzQuMjg3QzY1Ny41OTMgMzUuMjk5MiA2NTYuMjU5IDM2LjMwOTkgNjU0LjUyMSAzNi4zMDk5SDY1Mi4xMDRMNjUyLjUyMyAzNC44MjdINjU0LjA3NkM2NTQuMjM0IDM0LjgyNyA2NTQuMzU4IDM0Ljc3MjEgNjU0LjQ2MiAzNC42NjQzQzY1NC41IDM0LjYyMjUgNjU0LjU1IDM0LjU1NyA2NTQuNTU2IDM0LjQ4OTZMNjU1LjIwMSAzMS45NjgxQzY1NS4zOTEgMzAuOTU1NSA2NTYuNTM4IDI5LjgzNjkgNjU4LjI3NiAyOS44MzY5SDY2MC43NTFMNjYwLjQzNSAzMS4yMDA5SDY1OC45NFpNNjU5LjQ5NyAzMi45NTk2TDY1OS43NzMgMzIuMDI1OUg2NjIuMjg4QzY2Mi41OTggMzAuNjcyIDY2Mi4zNTQgMjkuNDE3NyA2NjEuNDczIDI4LjU5NjFDNjU5LjY4OSAyNi45MzMyIDY1NS45NTcgMjcuNDk4MyA2NTMuMTc3IDI5Ljk3NzlDNjUyLjc0MyAzMC4zNjMgNjUyLjM3NiAzMC43NzkzIDY1Mi4wNDIgMzEuMjA0OEg2NTMuNTU2TDY1My4yMDQgMzIuMTQwNEg2NTEuMzk1QzY1MS4yMjIgMzIuNDM1NCA2NTEuMDYgMzIuNzI4MSA2NTAuOTM2IDMzLjAyNUg2NTMuMDgxTDY1Mi43MzcgMzMuOTYwN0g2NTAuNjNDNjUwLjI2OSAzNS4zOTAxIDY1MC40OTkgMzYuNzIzMyA2NTEuNDA2IDM3LjU2OTlDNjUzLjE2NyAzOS4yMTE2IDY1Ni44ODggMzguNjM0NiA2NTkuNjY3IDM2LjE1NTRDNjYwLjE1MyAzNS43MjQyIDY2MC41NTUgMzUuMjU4NyA2NjAuOTE4IDM0Ljc4MDhINjU4Ljk3M0w2NTkuMjY5IDMzLjg0NzFINjYxLjU0M0M2NjEuNzEgMzMuNTUwMSA2NjEuODYzIDMzLjI1NjUgNjYxLjk4MyAzMi45NTk2SDY1OS40OTdaIiBmaWxsPSIjMDA5RTREIi8+DQo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNThfMTExKSI+DQo8cGF0aCBkPSJNNzc1LjA2OCA0MS4yMjc0Qzc2Ni4yODUgNDIuMDQ2MyA3NTcuMTMxIDQwLjc1NjQgNzU1Ljg0OCAzMy44MTlDNzU1LjIyMSAzMC4zOTkgNzU2Ljc2NSAyNi43NzI1IDc1OC44MSAyNC41MTg0VjIzLjMxNDhDNzU1LjEyNiAyNi41OCA3NTMuMTMgMzAuNzExNSA3NTQuMjggMzUuNTkyQzc1NS43NDggNDEuODUxOCA3NjMuNjAzIDQ1LjM5NjcgNzc1LjU5NSA0NC4yMTk1Qzc4MC4zNDIgNDMuNzU0NSA3ODYuNTUgNDIuMjEyIDc5MC44NjkgMzkuODE0NFYzNi40MTA5Qzc4Ni45NDkgMzguNzcxMyA3ODAuNDY4IDQwLjcyMTEgNzc1LjA2OCA0MS4yMjc0VjQxLjIyNzRaTTc5OC4yMDUgMjMuMjMzNUM3OTYuMTIyIDEyLjk1MzMgNzc2LjM3MyAxMi4zMDE2IDc2My42NDMgMjAuMTMzOFYyMC45OTg5Qzc3Ni4zNTkgMTQuMzkxNSA3OTQuMzk1IDE0LjQzMTcgNzk2LjAzNyAyMy45MDE2Qzc5Ni41ODkgMjcuMDM0MiA3OTQuODQzIDMwLjI5NzggNzkxLjcyMyAzMi4xNzdWMzQuNjM0MkM3OTUuNDc2IDMzLjI0MzIgNzk5LjMyNCAyOC43NDQyIDc5OC4yMDUgMjMuMjMzNVYyMy4yMzM1WiIgZmlsbD0iIzBFN0RDMiIvPg0KPHBhdGggZD0iTTc5MC4xNTkgMjEuNzM2OEg3ODcuODU2VjMyLjEwM0M3ODcuODU2IDMzLjMxNzkgNzg4LjQzNyAzNC4zNzQ0IDc5MC4xNTkgMzQuNTQzMlYyMS43MzY4Wk03NjIuNzM5IDI1LjUyMTdINzYwLjQzMkw3NjAuNDMxIDMyLjI5NDNDNzYwLjQzMSAzMy41MTM0IDc2MS4wMTMgMzQuNTY4OCA3NjIuNzM5IDM0LjczNDRWMjUuNTIxN1YyNS41MjE3Wk03NjAuNDMyIDIyLjA1MjFINzYyLjczMlYyNC4yNTg0SDc2MC40MzJWMjIuMDUyMVpNNzc2LjUzIDM0LjYyNzJDNzc0LjY2NiAzNC42MjcyIDc3My44NzcgMzMuMzE3NyA3NzMuODc3IDMyLjAyOFYyMy4wMzU1SDc3Ni4xNlYyNS41MjE3SDc3Ny44NzlWMjcuMzg1M0g3NzYuMTZWMzEuODg1NEM3NzYuMTYgMzIuNDExMyA3NzYuNDA3IDMyLjcwNDQgNzc2Ljk1IDMyLjcwNDRINzc3Ljg3OVYzNC42MjcyTDc3Ni41MyAzNC42MjcyVjM0LjYyNzJaTTc4MC43MzEgMzAuNzk2MUM3ODAuNzMxIDMxLjk3NjggNzgxLjQ2MSAzMi44NDQ2IDc4Mi43NTQgMzIuODQ0NkM3ODMuNzY2IDMyLjg0NDYgNzg0LjI2NiAzMi41NjA1IDc4NC44NSAzMS45NzY4TDc4Ni4yNjEgMzMuMzM0OUM3ODUuMzU3IDM0LjIzNzkgNzg0LjQwOSAzNC43ODcgNzgyLjczNyAzNC43ODdDNzgwLjU1MiAzNC43ODcgNzc4LjQ1OSAzMy41ODE5IDc3OC40NTkgMzAuMDY4NkM3NzguNDU5IDI3LjA2NTEgNzgwLjI4OCAyNS4zNjczIDc4Mi42ODYgMjUuMzY3M0M3ODUuMTI0IDI1LjM2NzMgNzg2LjUyNSAyNy4zNTQ5IDc4Ni41MjUgMjkuOTYzOVYzMC43OTYzSDc4MC43MzFWMzAuNzk2MVpNNzgyLjU4NiAyNy4yNzU2Qzc4MS44MDUgMjcuMjc1NiA3ODEuMjA0IDI3LjY4MjMgNzgwLjk1IDI4LjIzMDlDNzgwLjgwMiAyOC41NjA3IDc4MC43NDcgMjguODE3NyA3ODAuNzMxIDI5LjIyMjlINzg0LjI0OUM3ODQuMjA0IDI4LjIzMDkgNzgzLjc1OSAyNy4yNzU2IDc4Mi41ODYgMjcuMjc1NlpNNzY4LjkzOSAyNy4zODUzQzc2OS42MDggMjcuMzg1MyA3NjkuODg3IDI3LjcxOTggNzY5Ljg4NyAyOC4yNjI2VjM0LjY0MDZINzcyLjE3VjI4LjI0OTJDNzcyLjE3IDI2Ljk1NDIgNzcxLjQ4NyAyNS41MjQxIDc2OS40ODIgMjUuNTI0MUw3NjQuNzY2IDI1LjUyMTdWMzQuNjQwNkg3NjcuMDVWMjcuMzg1M0g3NjguOTM5VjI3LjM4NTNaTTc5Mi42MzcgMjMuNTg5MUM3OTIuMTI5IDIzLjU4OTEgNzkxLjcyNCAyMy4xNzU0IDc5MS43MjQgMjIuNjYyOUM3OTEuNzI0IDIyLjE1MjkgNzkyLjEyOSAyMS43MzY4IDc5Mi42MzcgMjEuNzM2OEM3OTMuMTQyIDIxLjczNjggNzkzLjU1NiAyMi4xNTI5IDc5My41NTYgMjIuNjYyOUM3OTMuNTU2IDIzLjE3NTQgNzkzLjE0MiAyMy41ODkxIDc5Mi42MzcgMjMuNTg5MVpNNzkyLjYzNyAyMS44OTEyQzc5Mi4yMTggMjEuODkxMiA3OTEuODgyIDIyLjI0MDcgNzkxLjg4MiAyMi42NjI5Qzc5MS44ODIgMjMuMDg3NiA3OTIuMjE4IDIzLjQzMDkgNzkyLjYzNyAyMy40MzA5Qzc5My4wNTUgMjMuNDMwOSA3OTMuNDAyIDIzLjA4NzYgNzkzLjQwMiAyMi42NjI5Qzc5My40MDIgMjIuMjQwNyA3OTMuMDU1IDIxLjg5MTIgNzkyLjYzNyAyMS44OTEyWk03OTMuMDQzIDIzLjIxOEg3OTIuODcyQzc5Mi44NjQgMjMuMjE3OSA3OTIuODU3IDIzLjIxNTcgNzkyLjg1MSAyMy4yMTE2Qzc5Mi44NDUgMjMuMjA3NSA3OTIuODQgMjMuMjAxNyA3OTIuODM3IDIzLjE5NDlMNzkyLjYwNSAyMi43OTdDNzkyLjU5OCAyMi43ODg1IDc5Mi41NzkgMjIuNzc4OCA3OTIuNTczIDIyLjc3ODhINzkyLjQ2N1YyMy4xNzU0Qzc5Mi40NjcgMjMuMTk1IDc5Mi40NTMgMjMuMjE4MSA3OTIuNDI4IDIzLjIxODFINzkyLjI3NEM3OTIuMjUxIDIzLjIxODEgNzkyLjIzNSAyMy4xOTUgNzkyLjIzNSAyMy4xNzU0VjIyLjE3NDlDNzkyLjIzNSAyMi4xMTY0IDc5Mi4yNTQgMjIuMDkyNCA3OTIuMzA1IDIyLjA4NUM3OTIuMzYxIDIyLjA3OSA3OTIuNTA1IDIyLjA3MTYgNzkyLjU4NiAyMi4wNzE2Qzc5Mi44NzIgMjIuMDcxNiA3OTMuMDM5IDIyLjE1NjYgNzkzLjAzOSAyMi40MjQ0VjIyLjQ0NEM3OTMuMDM5IDIyLjYwOTQgNzkyLjk1OSAyMi42OTk1IDc5Mi44MzMgMjIuNzM5N0w3OTMuMDc0IDIzLjE1NDdDNzkzLjA3OCAyMy4xNjQgNzkzLjA4IDIzLjE3MzkgNzkzLjA4IDIzLjE4NEM3OTMuMDggMjMuMTk5NyA3OTMuMDcyIDIzLjIxOCA3OTMuMDQzIDIzLjIxOFYyMy4yMThaTTc5Mi44MjEgMjIuNDI0NEM3OTIuODIxIDIyLjMxMjcgNzkyLjc1MiAyMi4yNzczIDc5Mi42MDUgMjIuMjc3M0g3OTIuNDU5VjIyLjU5NDdDNzkyLjQ4MiAyMi41OTQ3IDc5Mi41ODYgMjIuNTk5NiA3OTIuNjA1IDIyLjU5OTZDNzkyLjc1MiAyMi41OTk2IDc5Mi44MjEgMjIuNTUgNzkyLjgyMSAyMi40NDRWMjIuNDI0NFoiIGZpbGw9IiMwRTdEQzIiLz4NCjwvZz4NCjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMV81OF8xMTEpIj4NCjxwYXRoIGQ9Ik01MzMuNzczIDIwLjk5MTFDNTI5LjI2MyAyMC45OTExIDUyNS41OTkgMjQuNjU0NyA1MjUuNTk5IDI5LjE2NDRDNTI1LjU5OSAzMy42NzQxIDUyOS4yNjMgMzcuMzM3NyA1MzMuNzczIDM3LjMzNzdDNTM4LjI4MiAzNy4zMzc3IDU0MS45NDYgMzMuNjc0MSA1NDEuOTQ2IDI5LjE2NDRDNTQxLjk0NiAyNC42NTQ3IDUzOC4yODIgMjAuOTkxMSA1MzMuNzczIDIwLjk5MTFaTTUzMy43NzMgMzYuNTE4NkM1MjkuNzEzIDM2LjUxODYgNTI2LjQxOSAzMy4yMTUgNTI2LjQxOSAyOS4xNjQ0QzUyNi40MTkgMjUuMTEzNyA1MjkuNzEzIDIxLjgxMDIgNTMzLjc3MyAyMS44MTAyQzUzNy44MzIgMjEuODEwMiA1NDEuMTI3IDI1LjExMzcgNTQxLjEyNyAyOS4xNjQ0QzU0MS4xMjcgMzMuMjE1IDUzNy44MzIgMzYuNTE4NiA1MzMuNzczIDM2LjUxODZaIiBmaWxsPSJibGFjayIvPg0KPHBhdGggZD0iTTUzNi42OSAyMy45MjUyQzUzNi42NjMgMjMuOTA3MiA1MzYuNjI3IDIzLjg5ODIgNTM2LjU5MSAyMy44OTgyQzUzNi40ODMgMjMuODk4MiA1MzYuNDAyIDIzLjk3OTIgNTM2LjQwMiAyNC4wODczVjI2LjY0MzdDNTM2LjQwMiAyNi43MzM3IDUzNi4zMyAyNi44MDU3IDUzNi4yNCAyNi44MDU3SDUzMS4yOUM1MzEuMiAyNi44MDU3IDUzMS4xMzcgMjYuNzMzNyA1MzEuMTI4IDI2LjY0MzdWMjQuMDg3M0M1MzEuMTI4IDI0LjA1MTMgNTMxLjExOSAyNC4wMjQyIDUzMS4xMDEgMjMuOTg4MkM1MzEuMDQ3IDIzLjg5ODIgNTMwLjkzIDIzLjg3MTIgNTMwLjgzOSAyMy45MjUyQzUyOS4wMTIgMjUuMDUwNCA1MjcuOTA1IDI3LjAwMzcgNTI3LjkwNSAyOS4xNjQxQzUyNy45MDUgMzEuMzI0NCA1MjkuMDEyIDMzLjI3NzcgNTMwLjg1NyAzNC40MDI5QzUzMC44ODUgMzQuNDIwOSA1MzAuOTIxIDM0LjQyOTkgNTMwLjk1NyAzNC40Mjk5QzUzMS4wNjUgMzQuNDI5OSA1MzEuMTQ2IDM0LjM0ODkgNTMxLjE0NiAzNC4yNDA5VjMxLjY4NDVDNTMxLjE0NiAzMS41OTQ0IDUzMS4yMTggMzEuNTMxNCA1MzEuMzA4IDMxLjUyMjRINTM2LjI1OEM1MzYuMzQ4IDMxLjUyMjQgNTM2LjQyIDMxLjU5NDQgNTM2LjQyIDMxLjY4NDVWMzQuMjQwOUM1MzYuNDIgMzQuMjc2OSA1MzYuNDI5IDM0LjMwMzkgNTM2LjQ0NyAzNC4zMzk5QzUzNi41MDEgMzQuNDI5OSA1MzYuNjE4IDM0LjQ1NjkgNTM2LjcwOCAzNC40MDI5QzUzOC41NTQgMzMuMjc3NyA1MzkuNjYxIDMxLjMyNDQgNTM5LjY2MSAyOS4xNjQxQzUzOS42NjEgMjcuMDAzNyA1MzguNTM2IDI1LjA1MDQgNTM2LjY5IDIzLjkyNTJWMjMuOTI1MlpNNTMwLjE5MSAzMi4zNjg2TDUzMC4yMTggMzIuNjc0Nkw1MzAuMDIgMzIuNDMxNkM1MjguNDk5IDMwLjUxNDMgNTI4LjQ5OSAyNy44MDQ4IDUzMC4wMiAyNS44ODc1TDUzMC4xOTEgMjUuNjcxNUw1MzAuMjE4IDI1LjY0NDVMNTMwLjE5MSAyNS45NTk2QzUzMC4xNjQgMjYuMjExNiA1MzAuMTU1IDI2LjQ3MjYgNTMwLjE1NSAyNi43MzM3VjMxLjU4NTRDNTMwLjE1NSAzMS44NDY1IDUzMC4xNzMgMzIuMTA3NSA1MzAuMTkxIDMyLjM2ODZaTTUzNi40MDIgMzAuMzg4M0M1MzYuNDAyIDMwLjQ3ODMgNTM2LjMzIDMwLjU1MDMgNTM2LjI0IDMwLjU1MDNINTMxLjI5QzUzMS4yIDMwLjU1MDMgNTMxLjEzNyAzMC40NzgzIDUzMS4xMjggMzAuMzg4M1YyNy45Mzk5QzUzMS4xMjggMjcuODQ5OSA1MzEuMiAyNy43Nzc4IDUzMS4yOSAyNy43Nzc4SDUzNi4yNEM1MzYuMzMgMjcuNzc3OCA1MzYuNDAyIDI3Ljg0OTkgNTM2LjQwMiAyNy45Mzk5VjMwLjM4ODNaTTUzNy41MTkgMzIuNDMxNkw1MzcuMzIxIDMyLjY3NDZMNTM3LjM0OCAzMi4zNjg2QzUzNy4zNzUgMzIuMTE2NSA1MzcuMzg0IDMxLjg1NTUgNTM3LjM4NCAzMS41OTQ0VjI2LjczMzdDNTM3LjM4NCAyNi40NzI2IDUzNy4zNzUgMjYuMjExNiA1MzcuMzQ4IDI1Ljk1OTZMNTM3LjMzOSAyNS44MjQ1TDUzNy4zMyAyNS42ODA1VjI1LjY0NDVMNTM3LjUxOSAyNS44ODc1QzUzOC4yNTcgMjYuODA1NyA1MzguNjYyIDI3Ljk3NTkgNTM4LjY2MiAyOS4xNTUxQzUzOC42NjIgMzAuMzM0MiA1MzguMjU3IDMxLjUxMzQgNTM3LjUxOSAzMi40MzE2VjMyLjQzMTZaIiBmaWxsPSJibGFjayIvPg0KPHBhdGggZD0iTTU1NC4yNzYgMjkuMDIwMkM1NTQuMjMxIDI5LjAwMjIgNTU0LjE3NyAyOC45ODQyIDU1NC4xNzcgMjguOTMwMkM1NTQuMTc3IDI4Ljg5NDIgNTU0LjE5NSAyOC44NjcyIDU1NC4yMzEgMjguODQ5MkM1NTQuMjk0IDI4LjgyMjIgNTU1Ljg1MSAyOC4yNjQxIDU1NS44NTEgMjYuNDI3OEM1NTUuODUxIDI0LjM4NDUgNTU0LjQ3NCAyMy4xNjkzIDU1Mi4xNTIgMjMuMTY5M0g1NDYuNTI2VjM1LjE3NzJINTUyLjY2NUM1NTQuNDU2IDM1LjE3NzIgNTU2LjM4MiAzMy45MDggNTU2LjM4MiAzMS44NjQ2QzU1Ni4zODIgMjkuOTExMyA1NTQuOTA2IDI5LjIyNzIgNTU0LjI3NiAyOS4wMjAyVjI5LjAyMDJaTTU0OS4zNjEgMjUuNjI2N0M1NDkuMzYxIDI1LjU4MTcgNTQ5LjM5NyAyNS41NDU2IDU0OS40NDIgMjUuNTQ1Nkg1NTEuNjc1QzU1Mi40MTMgMjUuNTQ1NiA1NTIuOTE3IDI2LjA0MDcgNTUyLjkxNyAyNi43Nzg4QzU1Mi45MTcgMjcuMzU0OSA1NTIuNDY3IDI3Ljk3NiA1NTEuNjIxIDI3Ljk3Nkg1NDkuNDQyQzU0OS4zOTcgMjcuOTc2IDU0OS4zNjEgMjcuOTQgNTQ5LjM2MSAyNy44OTVWMjUuNjI2N1pNNTUxLjY3NSAzMi44MDk4SDU0OS40NDJDNTQ5LjM5NyAzMi44MDk4IDU0OS4zNjEgMzIuNzczOCA1NDkuMzYxIDMyLjcyODhWMzAuMzM0NEM1NDkuMzYxIDMwLjI4OTQgNTQ5LjM5NyAzMC4yNTM0IDU0OS40NDIgMzAuMjUzNEg1NTEuNjIxQzU1Mi42OTIgMzAuMjUzNCA1NTMuMzA0IDMwLjcxMjUgNTUzLjMwNCAzMS41MjI2QzU1My4zMDQgMzIuMzU5NyA1NTIuNzM3IDMyLjgwOTggNTUxLjY3NSAzMi44MDk4VjMyLjgwOThaTTU3NS4zODQgMjcuOTQ5TDU3NC45NTIgMjcuODU5QzU3My45OCAyNy42NTIgNTczLjAzNSAyNy4zOTA5IDU3My4wMzUgMjYuNTUzOEM1NzMuMDM1IDI1LjcxNjcgNTczLjgxOCAyNS4zMzg2IDU3NC41OTIgMjUuMzM4NkM1NzUuNTAxIDI1LjMzODYgNTc2LjQwMSAyNS43NDM3IDU3Ny4wODYgMjYuNDQ1OEw1NzguODY4IDI0LjY4MTVDNTc4LjEwMyAyMy44MzU0IDU3Ni43NDQgMjIuODYzMiA1NzQuNTQ3IDIyLjg2MzJDNTcxLjkwMSAyMi44NjMyIDU3MC4xMTggMjQuMzY2NSA1NzAuMTE4IDI2LjYwNzhDNTcwLjExOCAyOC45NzUyIDU3MS45ODIgMjkuODY2MyA1NzMuNTQ4IDMwLjE5OTRMNTczLjk3MSAzMC4yODk0QzU3NS40OTIgMzAuNjEzNSA1NzYuMjEyIDMwLjg1NjUgNTc2LjIxMiAzMS43MjA2QzU3Ni4yMTIgMzIuNDk0NyA1NzUuNTE5IDMzLjAwNzggNTc0LjQ5MyAzMy4wMDc4QzU3My4yODcgMzMuMDA3OCA1NzIuMjE2IDMyLjQ3NjcgNTcxLjQwNiAzMS40Nzc2TDU2OS41NzggMzMuMjY4OUM1NzAuNTUxIDM0LjQyMTEgNTcxLjgzOCAzNS40NjUyIDU3NC41MjkgMzUuNDY1MkM1NzYuODI1IDM1LjQ2NTIgNTc5LjE1NiAzNC4xMzMgNTc5LjE1NiAzMS41NzY2QzU3OS4xNDcgMjguOTU3MiA1NzcuMzY1IDI4LjM2MzEgNTc1LjM4NCAyNy45NDlWMjcuOTQ5Wk01OTkuMTAzIDIzLjE2OTNWMjcuNTYyQzU5OS4xMDMgMjcuNjA3IDU5OS4wNjcgMjcuNjQzIDU5OS4wMjIgMjcuNjQzSDU5NS4zMzFDNTk1LjI4NiAyNy42NDMgNTk1LjI1IDI3LjYwNyA1OTUuMjUgMjcuNTYyVjIzLjE2OTNINTkyLjIyNlYzNS4xNzcySDU5NS4yNVYzMC40NjA0QzU5NS4yNSAzMC40MTU0IDU5NS4yODYgMzAuMzc5NCA1OTUuMzMxIDMwLjM3OTRINTk5LjAyMkM1OTkuMDY3IDMwLjM3OTQgNTk5LjEwMyAzMC40MTU0IDU5OS4xMDMgMzAuNDYwNFYzNS4xNzcySDYwMi4xNDZWMjMuMTY5M0g1OTkuMTAzWk01ODYuMTQxIDMyLjcxOThDNTg0Ljc4MiAzMi43MTk4IDU4My4zMTUgMzEuNTg1NiA1ODMuMzE1IDI5LjA5MjJDNTgzLjMxNSAyNi44MTQ4IDU4NC42OTIgMjUuNjI2NyA1ODYuMDUxIDI1LjYyNjdDNTg3LjA0MSAyNS42MjY3IDU4Ny43MzQgMjYuMDQwNyA1ODguMjgzIDI2Ljk1ODlMNTkwLjYwNiAyNS40MTk2QzU4OS40MTggMjMuNjczMyA1ODguMDA0IDIyLjg4MTIgNTg2LjAzMyAyMi44ODEyQzU4Mi4xNzEgMjIuODgxMiA1ODAuNDQzIDI2LjAwNDcgNTgwLjQ0MyAyOS4wOTIyQzU4MC40NDMgMzIuODQ1OCA1ODIuNzI5IDM1LjQ2NTIgNTg1Ljk5NyAzNS40NjUyQzU4OC40MjcgMzUuNDY1MiA1ODkuNTM1IDM0LjU3NDEgNTkwLjY5NiAzMi45MjY4TDU4OC4zNTUgMzEuMzUxNkM1ODcuODMzIDMyLjE5NzcgNTg3LjI2NiAzMi43MTk4IDU4Ni4xNDEgMzIuNzE5OFpNNTYzLjE3OCAyMi44NjMyQzU1OS44NzUgMjIuODYzMiA1NTcuNjYxIDI1LjM5MjYgNTU3LjY2MSAyOS4xNjQyQzU1Ny42NjEgMzIuOTM1OCA1NTkuODc1IDM1LjQ2NTIgNTYzLjE3OCAzNS40NjUyQzU2Ni40ODIgMzUuNDY1MiA1NjguNjk2IDMyLjkzNTggNTY4LjY5NiAyOS4xNjQyQzU2OC42OTYgMjUuMzkyNiA1NjYuNDgyIDIyLjg2MzIgNTYzLjE3OCAyMi44NjMyVjIyLjg2MzJaTTU2My4xNzggMzIuNzE5OEM1NjEuNTU4IDMyLjcxOTggNTYwLjUxNCAzMS4zMjQ2IDU2MC41MTQgMjkuMTY0MkM1NjAuNTE0IDI3LjAxMjkgNTYxLjU1OCAyNS42MjY3IDU2My4xNzggMjUuNjI2N0M1NjQuODA4IDI1LjYyNjcgNTY1Ljg2MSAyNy4wMTI5IDU2NS44NjEgMjkuMTY0MkM1NjUuODYxIDMxLjMyNDYgNTY0LjgwOCAzMi43MTk4IDU2My4xNzggMzIuNzE5OFoiIGZpbGw9IiNGODAwMDAiLz4NCjwvZz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTQ2LjM0NCAyMi4xODExQzE0Ny41OTUgMjIuMjg1NCAxNDguODQ1IDIxLjU1NTMgMTQ5LjYyNyAyMC42Mjk4QzE1MC4zOTUgMTkuNjc4MSAxNTAuOTAzIDE4LjQwMDUgMTUwLjc3MyAxNy4wOTY5QzE0OS42NjYgMTcuMTQ5MSAxNDguMjk4IDE3LjgyNjkgMTQ3LjUxNyAxOC43Nzg2QzE0Ni44IDE5LjU5OTkgMTQ2LjE4OCAyMC45Mjk2IDE0Ni4zNDQgMjIuMTgxMVpNMTQ3Ljg0MSAyMy4wNzk3QzE0OC42NTMgMjIuNzYwNiAxNDkuNjU4IDIyLjM2NTYgMTUwLjc2IDIyLjQyOTFDMTUxLjQ2MyAyMi40ODEyIDE1My40OTUgMjIuNjg5OCAxNTQuNzk4IDI0LjYxOTJDMTU0Ljc5MiAyNC42MjM3IDE1NC43NzggMjQuNjMyMyAxNTQuNzU5IDI0LjY0NUMxNTQuNDM2IDI0Ljg1NDggMTUyLjM5IDI2LjE4NzEgMTUyLjQxNCAyOC44MTY5QzE1Mi40MzkgMzEuOTQ5OSAxNTQuOTg4IDMzLjExODMgMTU1LjMyMiAzMy4yNzExQzE1NS4zNDQgMzMuMjgxMSAxNTUuMzU2IDMzLjI4NjcgMTU1LjM1OCAzMy4yODgzQzE1NS4zNTYgMzMuMjkyNiAxNTUuMzU0IDMzLjMwMSAxNTUuMzUgMzMuMzEzM0MxNTUuMjgzIDMzLjUyODggMTU0Ljg0NSAzNC45NDg5IDE1My44NDcgMzYuNDA0QzE1Mi45MjIgMzcuNzU5OCAxNTEuOTcxIDM5LjA4OTUgMTUwLjQ2IDM5LjExNTZDMTQ5Ljc0OSAzOS4xMjgzIDE0OS4yNyAzOC45MjExIDE0OC43NzIgMzguNzA1NEMxNDguMjQ3IDM4LjQ3ODUgMTQ3LjcwMSAzOC4yNDIyIDE0Ni44NCAzOC4yNDIyQzE0NS45NDcgMzguMjQyMiAxNDUuMzc2IDM4LjQ4NDggMTQ0LjgyNiAzOC43MTg0QzE0NC4zNDggMzguOTIxNCAxNDMuODg3IDM5LjExNzQgMTQzLjI0NSAzOS4xNDE3QzE0MS43ODYgMzkuMTkzOCAxNDAuNjc5IDM3LjcwNzcgMTM5Ljc1NCAzNi4zNTE5QzEzNy44NjYgMzMuNjE0MyAxMzYuNDIgMjguNjM0NCAxMzguMzc0IDI1LjI3MUMxMzkuMzI1IDIzLjU4OTMgMTQxLjA1NyAyMi41MzM0IDE0Mi45MTkgMjIuNTA3M0MxNDMuNzMyIDIyLjQ5MjUgMTQ0LjUwNyAyMi44MDA2IDE0NS4xODQgMjMuMDcwMUMxNDUuNzAyIDIzLjI3NTggMTQ2LjE2MiAyMy40NTg5IDE0Ni41NCAyMy40NTg5QzE0Ni44NzcgMjMuNDU4OSAxNDcuMzE5IDIzLjI4NTEgMTQ3Ljg0MSAyMy4wNzk3WiIgZmlsbD0iYmxhY2siLz4NCjxwYXRoIGQ9Ik0zNi44NTg3IDM3LjUyNDFIMzEuOTg3NEwzNS4wMzQyIDE5LjY2NjhIMzkuOTA1MkwzNi44NTg3IDM3LjUyNDFaIiBmaWxsPSIjMDA1NzlGIi8+DQo8cGF0aCBkPSJNNTQuNTE1NyAyMC4xMDQxQzUzLjU1NDkgMTkuNzQyOCA1Mi4wMzA5IDE5LjM0MzggNTAuMTQ2NiAxOS4zNDM4QzQ1LjMzNjEgMTkuMzQzOCA0MS45NDg2IDIxLjc3NTMgNDEuOTI3OCAyNS4yNTE2QzQxLjg4NzggMjcuODE2NSA0NC4zNTMxIDI5LjI0MSA0Ni4xOTcgMzAuMDk2MkM0OC4wODE2IDMwLjk3MDEgNDguNzIyMyAzMS41NDA1IDQ4LjcyMjMgMzIuMzE5NEM0OC43MDMxIDMzLjUxNTcgNDcuMTk5NCAzNC4wNjcyIDQ1Ljc5NjkgMzQuMDY3MkM0My44NTIxIDM0LjA2NzIgNDIuODEgMzMuNzgyOSA0MS4yMjY0IDMzLjExNzNMNDAuNTg1IDMyLjgzMkwzOS45MDMzIDM2Ljg0MDZDNDEuMDQ1OCAzNy4zMzM5IDQzLjE1MDcgMzcuNzcxNyA0NS4zMzYxIDM3Ljc5MDlDNTAuNDQ3MyAzNy43OTA5IDUzLjc3NDkgMzUuMzk3MSA1My44MTQzIDMxLjY5MjVDNTMuODMzOCAyOS42NTk3IDUyLjUzMiAyOC4xMDIgNDkuNzI1NCAyNi44MjkyQzQ4LjAyMTcgMjYuMDEyMSA0Ni45NzgzIDI1LjQ2MTIgNDYuOTc4MyAyNC42MjUyQzQ2Ljk5ODMgMjMuODY1MiA0Ny44NjA4IDIzLjA4NjggNDkuNzg0IDIzLjA4NjhDNTEuMzY3NyAyMy4wNDg2IDUyLjUzMTIgMjMuNDA5NCA1My40MTI2IDIzLjc3MDVMNTMuODUzMiAyMy45NjAxTDU0LjUxNTcgMjAuMTA0MVoiIGZpbGw9IiMwMDU3OUYiLz4NCjxwYXRoIGQ9Ik02MC45OTI0IDMxLjE5NzlDNjEuMzkzNiAzMC4xNzIgNjIuOTM3MiAyNi4yMDE2IDYyLjkzNzIgMjYuMjAxNkM2Mi45MTcgMjYuMjM5NyA2My4zMzc2IDI1LjE1NjggNjMuNTc4MSAyNC40OTE5TDYzLjkxODYgMjYuMDMwNkM2My45MTg2IDI2LjAzMDYgNjQuODQxIDMwLjMwNTEgNjUuMDQxNCAzMS4xOTc5QzY0LjI4IDMxLjE5NzkgNjEuOTU0NiAzMS4xOTc5IDYwLjk5MjQgMzEuMTk3OVpNNjcuMDA1NCAxOS42NjY4SDYzLjIzNzRDNjIuMDc1NSAxOS42NjY4IDYxLjE5MjcgMTkuOTg5NSA2MC42OTE0IDIxLjE0ODRMNTMuNDU1OCAzNy41MjM5SDU4LjU2NzFDNTguNTY3MSAzNy41MjM5IDU5LjQwODUgMzUuMzE5OSA1OS41ODk0IDM0Ljg0NTJDNjAuMTUwMSAzNC44NDUyIDY1LjEyMjMgMzQuODQ1MiA2NS44NDM3IDM0Ljg0NTJDNjUuOTgzNSAzNS40NzIxIDY2LjQyNDkgMzcuNTIzOSA2Ni40MjQ5IDM3LjUyMzlINzAuOTM1Mkw2Ny4wMDU0IDE5LjY2NjhWMTkuNjY2OFoiIGZpbGw9IiMwMDU3OUYiLz4NCjxwYXRoIGQ9Ik0yNy45MTggMTkuNjY2OEwyMy4xNDc1IDMxLjg0MzhMMjIuNjI2MiAyOS4zNzQxQzIxLjc0NDIgMjYuNTI0NSAxOC45NzgxIDIzLjQyODQgMTUuODkxNCAyMS44ODlMMjAuMjYxIDM3LjUwNTJIMjUuNDEyMkwzMy4wNjkgMTkuNjY2OEgyNy45MThWMTkuNjY2OFoiIGZpbGw9IiMwMDU3OUYiLz4NCjxwYXRoIGQ9Ik0xOC43MTg0IDE5LjY2NjhIMTAuODgxMUwxMC44MDA5IDIwLjAyNzZDMTYuOTE0NSAyMS41MDk1IDIwLjk2MzUgMjUuMDgxNSAyMi42MjcgMjkuMzc0OUwyMC45MjMyIDIxLjE2NzlDMjAuNjQyNyAyMC4wMjc0IDE5Ljc4MDcgMTkuNzA0NCAxOC43MTg0IDE5LjY2NjhaIiBmaWxsPSIjRkFBNjFBIi8+DQo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDJfNThfMTExKSI+DQo8cGF0aCBkPSJNMjIxLjE1OCAxNy40OTlWMTguOTM1NkgyMzEuMzA2VjE3LjQ5OUgyMjEuMTU4Wk0yMzIuNzQ0IDE3LjQ5OVYxOC45MzU2SDI0Ny4yMDZDMjQ3LjIwNiAxOC45MzU2IDI0NS43MjkgMTcuNDk5IDI0My43NzMgMTcuNDk5SDIzMi43NDRaTTI1MC4wNDMgMTcuNDk5VjE4LjkzNTZIMjU4Ljc5M0wyNTguMjczIDE3LjQ5OUgyNTAuMDQzWk0yNjUuMDY1IDE3LjQ5OUwyNjQuNTQ2IDE4LjkzNTZIMjczLjIxNlYxNy40OTlIMjY1LjA2NVpNMjIxLjE1OCAyMC4yOTI5VjIxLjcyOTZIMjMxLjMwNlYyMC4yOTI5SDIyMS4xNThaTTIzMi43NDQgMjAuMjk1VjIxLjcyOTdIMjQ4Ljg4NEMyNDguODg0IDIxLjcyOTcgMjQ4LjY5NiAyMC42MjM5IDI0OC4zNjcgMjAuMjk1SDIzMi43NDRaTTI1MC4wNDMgMjAuMjk1VjIxLjcyOTdIMjU5Ljc1MkwyNTkuMjcxIDIwLjI5NUgyNTAuMDQzWk0yNjQuMDI3IDIwLjI5NUwyNjMuNTQ2IDIxLjcyOTdIMjczLjIxNlYyMC4yOTVIMjY0LjAyN1YyMC4yOTVaTTIyNC4wNzQgMjMuMDg2OVYyNC41MjU3SDIyOC40NjlWMjMuMDg2OUgyMjQuMDc0VjIzLjA4NjlaTTIzNS42NjEgMjMuMDg2OVYyNC41MjU3SDI0MC4wNTZWMjMuMDg2OUgyMzUuNjYxVjIzLjA4NjlaTTI0NC4zMzEgMjMuMDg2OVYyNC41MjU3SDI0OC43MjZDMjQ4LjcyNiAyNC41MjU3IDI0OS4wMDUgMjMuNzY1OSAyNDkuMDA1IDIzLjA4NjlIMjQ0LjMzMVYyMy4wODY5Wk0yNTIuOTYgMjMuMDg2OVYyNC41MjU3SDI2MC43NTJMMjYwLjIzMiAyMy4wODY5SDI1Mi45NlYyMy4wODY5Wk0yNjMuMDY5IDIzLjA4NjlMMjYyLjU0OCAyNC41MjU3SDI3MC4zNzlWMjMuMDg2OUgyNjMuMDY5VjIzLjA4NjlaTTIyNC4wNzQgMjUuODgzVjI3LjMxOTdIMjI4LjQ2OVYyNS44ODNIMjI0LjA3NFYyNS44ODNaTTIzNS42NjEgMjUuODgzVjI3LjMxOTdIMjQ2Ljg4N0MyNDYuODg3IDI3LjMxOTcgMjQ3LjgyNiAyNi41ODI1IDI0OC4xMjUgMjUuODgzSDIzNS42NjFaTTI1Mi45NiAyNS44ODNWMjcuMzE5N0gyNTcuMzU1VjI2LjUyTDI1Ny42MzQgMjcuMzE5N0gyNjUuNjg0TDI2NS45ODQgMjYuNTJWMjcuMzE5N0gyNzAuMzc5VjI1Ljg4M0gyNjIuMTI5TDI2MS42OTEgMjcuMDk5OUwyNjEuMjUxIDI1Ljg4M0gyNTIuOTZaTTIyNC4wNzQgMjguNjc3VjMwLjExMzdIMjI4LjQ2OVYyOC42NzdIMjI0LjA3NFpNMjM1LjY2MSAyOC42NzdWMzAuMTEzN0gyNDguMTI1QzI0Ny44MjYgMjkuNDE2NSAyNDYuODg3IDI4LjY3NyAyNDYuODg3IDI4LjY3N0gyMzUuNjYxWk0yNTIuOTYgMjguNjc3VjMwLjExMzdIMjU3LjM1NVYyOC42NzdIMjUyLjk2Wk0yNTguMTUzIDI4LjY3N0wyNTguNjg1IDMwLjExMzdIMjY0LjcyMUwyNjUuMjI2IDI4LjY3N0gyNTguMTUzWk0yNjUuOTg0IDI4LjY3N1YzMC4xMTM3SDI3MC4zNzlWMjguNjc3SDI2NS45ODRaTTIyNC4wNzQgMzEuNDcxVjMyLjkwNzZIMjI4LjQ2OVYzMS40NzFIMjI0LjA3NFpNMjM1LjY2MSAzMS40NzFWMzIuOTA3NkgyNDAuMDU2VjMxLjQ3MUgyMzUuNjYxWk0yNDQuMzMxIDMxLjQ3MVYzMi45MDc2SDI0OS4wMDVDMjQ5LjAwNSAzMi4yMjk2IDI0OC43MjYgMzEuNDcxIDI0OC43MjYgMzEuNDcxSDI0NC4zMzFWMzEuNDcxWk0yNTIuOTYgMzEuNDcxVjMyLjkwNzZIMjU3LjM1NVYzMS40NzFIMjUyLjk2Wk0yNTkuMTUxIDMxLjQ3MUwyNTkuNjY2IDMyLjkwNzZIMjYzLjcxM0wyNjQuMjMyIDMxLjQ3MUgyNTkuMTUxWk0yNjUuOTg0IDMxLjQ3MVYzMi45MDc2SDI3MC4zNzlWMzEuNDcxSDI2NS45ODRaTTIyMS4yMzcgMzQuMjY1VjM1LjcwMzdIMjMxLjM4NlYzNC4yNjVIMjIxLjIzN1pNMjMyLjc0NCAzNC4yNjVWMzUuNzAzN0gyNDguMzY3QzI0OC42OTYgMzUuMzc0MyAyNDguODg0IDM0LjI2NSAyNDguODg0IDM0LjI2NUgyMzIuNzQ0VjM0LjI2NVpNMjUwLjEyMyAzNC4yNjVWMzUuNzAzN0gyNTcuMzU1VjM0LjI2NUgyNTAuMTIzWk0yNjAuMTUxIDM0LjI2NUwyNjAuNjggMzUuNzAzN0gyNjIuNzM5TDI2My4yMzYgMzQuMjY1SDI2MC4xNTFaTTI2NS45ODQgMzQuMjY1VjM1LjcwMzdIMjczLjI5NVYzNC4yNjVIMjY1Ljk4NFpNMjIxLjIzNyAzNy4wNjFWMzguNDk3N0gyMzEuMzg2VjM3LjA2MUgyMjEuMjM3Wk0yMzIuNzQ0IDM3LjA2MVYzOC40OTU2SDI0My43NzNDMjQ1LjcyOSAzOC40OTU2IDI0Ny4yMDYgMzcuMDYxIDI0Ny4yMDYgMzcuMDYxSDIzMi43NDRaTTI1MC4xMjMgMzcuMDYxVjM4LjQ5NzdIMjU3LjM1NVYzNy4wNjFIMjUwLjEyM1pNMjYxLjE1NSAzNy4wNjFMMjYxLjY2NCAzOC40OTM2TDI2MS43NTIgMzguNDk1NkwyNjIuMjY5IDM3LjA2MUgyNjEuMTU1VjM3LjA2MVpNMjY1Ljk4NCAzNy4wNjFWMzguNDk3N0gyNzMuMjk1VjM3LjA2MUgyNjUuOTg0WiIgZmlsbD0iIzFGNzBDMSIvPg0KPC9nPg0KPGRlZnM+DQo8Y2xpcFBhdGggaWQ9ImNsaXAwXzU4XzExMSI+DQo8cmVjdCB3aWR0aD0iNDQuNDQ3MyIgaGVpZ2h0PSIyOS42MzE1IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzUzLjk1NSAxNC44MTU1KSIvPg0KPC9jbGlwUGF0aD4NCjxjbGlwUGF0aCBpZD0iY2xpcDFfNThfMTExIj4NCjxyZWN0IHdpZHRoPSI3Ni41NDgxIiBoZWlnaHQ9IjE2LjM1MDciIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MjUuNTk5IDIwLjk4ODkpIi8+DQo8L2NsaXBQYXRoPg0KPGNsaXBQYXRoIGlkPSJjbGlwMl81OF8xMTEiPg0KPHJlY3Qgd2lkdGg9IjUyLjEzNzIiIGhlaWdodD0iMjAuOTk4NyIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMS4xNTggMTcuNDk5KSIvPg0KPC9jbGlwUGF0aD4NCjwvZGVmcz4NCjwvc3ZnPg0K" style="
|
|
7175
|
-
width: 742.5px;
|
|
7176
|
-
position: relative;
|
|
7177
|
-
top: 107px;
|
|
7178
|
-
left: 32px;
|
|
7179
|
-
">
|
|
7180
|
-
<a href=${accountURL} style="
|
|
7181
|
-
float: left;
|
|
7182
|
-
border-radius: 56px;
|
|
7183
|
-
background: #0D6EFD;
|
|
7184
|
-
padding-top: 8px;
|
|
7185
|
-
width: 280px;
|
|
7186
|
-
height: 38px;
|
|
7187
|
-
text-align: center;
|
|
7188
|
-
position: relative;
|
|
7189
|
-
top: 127px;
|
|
7190
|
-
left: 274px;
|
|
7191
|
-
font-size: 16px;
|
|
7192
|
-
color: white;
|
|
7193
|
-
text-decoration: none;
|
|
7194
|
-
letter-spacing: 0.02em;
|
|
7195
|
-
">Claim your FREE account</a>
|
|
7196
|
-
<div style="
|
|
7197
|
-
font-size: 14px;
|
|
7198
|
-
position: relative;
|
|
7199
|
-
top: 180px;
|
|
7200
|
-
left: 19px;
|
|
7201
|
-
letter-spacing: 0.02em;
|
|
7202
|
-
font-weight: 500;
|
|
7203
|
-
line-height: 125%;
|
|
7204
|
-
">have a Syncfusion account? <a href="https://www.syncfusion.com/account/login?ReturnUrl=/account/login" style="text-decoration: none;
|
|
7205
|
-
color: #0D6EFD;
|
|
7206
|
-
font-weight: 500;">Sign In</a></div>
|
|
7207
|
-
</div>
|
|
6920
|
+
const bannerTemplate = `
|
|
6921
|
+
<div style="
|
|
6922
|
+
position: fixed;
|
|
6923
|
+
width: 100%;
|
|
6924
|
+
height: 100%;
|
|
6925
|
+
top: 0;
|
|
6926
|
+
left: 0;
|
|
6927
|
+
right: 0;
|
|
6928
|
+
bottom: 0;
|
|
6929
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
6930
|
+
z-index: 99999;
|
|
6931
|
+
">
|
|
6932
|
+
<div style="
|
|
6933
|
+
background: #FFFFFF;
|
|
6934
|
+
height: 455px;
|
|
6935
|
+
width: 840px;
|
|
6936
|
+
font-family: Helvetica Neue, Helvetica, Arial;
|
|
6937
|
+
color: #000000;
|
|
6938
|
+
box-shadow: 0px 4.8px 14.4px rgb(0 0 0 / 18%), 0px 25.6px 57.6px rgb(0 0 0 / 22%);
|
|
6939
|
+
display: block;
|
|
6940
|
+
margin: 8% auto;
|
|
6941
|
+
border-radius: 20px;
|
|
6942
|
+
">
|
|
6943
|
+
<div style="
|
|
6944
|
+
position: absolute;
|
|
6945
|
+
width: 838px;
|
|
6946
|
+
height: 62px;
|
|
6947
|
+
background-color: #F9F9F9;
|
|
6948
|
+
border: 1px solid #EEEEEE;
|
|
6949
|
+
border-top-left-radius: 20px;
|
|
6950
|
+
border-top-right-radius: 20px;
|
|
6951
|
+
">
|
|
6952
|
+
<img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQ2IiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMTQ2IDMyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNDAuNTk2NSAxNS4wMDc4SDMyLjQyNUMzMS41NTU3IDE1LjAwNzggMzAuOTAzNyAxNS4xODEyIDMwLjUxMjUgMTUuNDg0NkMzMC4xMjEzIDE1LjgzMTQgMjkuOTA0IDE2LjMwODIgMjkuOTA0IDE3LjA0NTFDMjkuOTA0IDE3LjYwODYgMzAuMDc3OCAxOC4wNDIxIDMwLjQyNTYgMTguMzAyMkMzMC43NzMzIDE4LjYwNTYgMzEuMjk0OSAxOC43MzU2IDMxLjk5MDMgMTguNzM1NkgzNi4zMzY5QzM4LjExODkgMTguNzM1NiAzOS40MjI5IDE5LjA4MjQgNDAuMTYxOCAxOS43MzI2QzQwLjk0NDIgMjAuNDI2MiA0MS4yOTE5IDIxLjU1MzIgNDEuMjkxOSAyMy4xMTM3QzQxLjI5MTkgMjQuNzE3NiA0MC44NTcyIDI1Ljg4OCAzOS45ODc5IDI2LjY2ODJDMzkuMTE4NiAyNy40MDUxIDM3LjcyNzcgMjcuNzk1MyAzNS44NTg3IDI3Ljc5NTNIMjcuMDc4N1YyNS4wMjFIMzUuMzM3MkMzNi4yOTM0IDI1LjAyMSAzNi45NDU0IDI0Ljg5MSAzNy4zMzY2IDI0LjYzMDlDMzcuNzI3NyAyNC4zNzA4IDM3LjkwMTYgMjMuODk0IDM3LjkwMTYgMjMuMjg3MUMzNy45MDE2IDIyLjYzNjkgMzcuNzI3NyAyMi4xNjAxIDM3LjM4IDIxLjlDMzcuMDMyMyAyMS42Mzk5IDM2LjQyMzggMjEuNDY2NSAzNS41NTQ1IDIxLjQ2NjVIMzEuNjQyNkMyOS44NjA1IDIxLjQ2NjUgMjguNTEzMSAyMS4xMTk4IDI3LjY4NzMgMjAuMzgyOEMyNi44NjE0IDE5LjY0NTkgMjYuNDI2OCAxOC41MTg5IDI2LjQyNjggMTcuMDAxN0MyNi40MjY4IDE1LjM1NDUgMjYuODYxNCAxNC4xNDA4IDI3LjczMDcgMTMuMzYwNkMyOC42IDEyLjU4MDMgMjkuOTkwOSAxMi4yMzM1IDMxLjkwMzQgMTIuMjMzNUg0MC41OTY1VjE1LjAwNzhaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik00OC4wNzI3IDI1LjI4MTFINTAuNTA2OFYxNi4zOTQ5SDUzLjU0OTNWMjcuNTM1MkM1My41NDkzIDI5LjA1MjQgNTMuMjAxNiAzMC4xNzk0IDUyLjUwNjIgMzAuOTE2M0M1MS44MTA3IDMxLjY1MzIgNTAuNzI0MSAzMiA0OS4yNDYzIDMySDQzLjMzNVYyOS42NTkySDQ4LjcyNDdDNDkuMjg5NyAyOS42NTkyIDQ5Ljc2NzkgMjkuNTI5MiA1MC4wNzIxIDI5LjIyNThDNTAuMzc2NCAyOC45NjU3IDUwLjU1MDIgMjguNTMyMiA1MC41NTAyIDI4LjAxMlYyNy44Mzg2SDQ3Ljg5ODlDNDYuMjAzNyAyNy44Mzg2IDQ0Ljk0MzIgMjcuNDkxOSA0NC4yNDc4IDI2Ljg0MTZDNDMuNTA4OSAyNi4xNDgxIDQzLjE2MTEgMjUuMDY0NCA0My4xNjExIDIzLjQ2MDVWMTYuMzk0OUg0Ni4xNjAyVjIzLjIwMDVDNDYuMTYwMiAyNC4wNjc0IDQ2LjI5MDYgMjQuNjMwOSA0Ni41NTE0IDI0Ljg5MUM0Ni43MjUzIDI1LjE1MTEgNDcuMjQ2OSAyNS4yODExIDQ4LjA3MjcgMjUuMjgxMVoiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTU1Ljg5NjUgMTYuMzk0OUg2MS41OTA0QzYzLjMyOTEgMTYuMzk0OSA2NC41NDYxIDE2LjY5ODMgNjUuMjg1IDE3LjM0ODVDNjYuMDIzOSAxNy45OTg4IDY2LjM3MTYgMTkuMDgyNCA2Ni4zNzE2IDIwLjU1NjNWMjcuNzk1M0g2My4zMjkxVjIwLjk0NjRDNjMuMzI5MSAyMC4wNzk0IDYzLjE5ODcgMTkuNTE1OSA2Mi45Mzc5IDE5LjI5OTJDNjIuNjc3MSAxOS4wMzkxIDYyLjE1NTUgMTguOTA5MSA2MS4zMjk3IDE4LjkwOTFINTguODk1NlYyNy44Mzg2SDU1Ljg1M1YxNi4zOTQ5SDU1Ljg5NjVaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik03NC45MzQyIDI1LjM2NzhINzguMTUwNlYyNy43OTUySDc0LjAyMTRDNzIuOTc4MiAyNy43OTUyIDcyLjEwODkgMjcuNjY1MiA3MS40NTcgMjcuNDkxOEM3MC44MDUgMjcuMjc1IDcwLjE5NjUgMjYuOTI4MyA2OS43MTgzIDI2LjQ1MTRDNjkuMTk2OCAyNS45MzEzIDY4Ljc2MjEgMjUuMjgxMSA2OC40NTc4IDI0LjU0NDJDNjguMTUzNiAyMy44MDcyIDY4LjAyMzIgMjIuOTgzNiA2OC4wMjMyIDIyLjE2QzY4LjAyMzIgMjEuMjkzMSA2OC4xNTM2IDIwLjQ2OTUgNjguNDU3OCAxOS42ODkyQzY4Ljc2MjEgMTguOTA5IDY5LjE1MzMgMTguMzAyMSA2OS43MTgzIDE3Ljc4MTlDNzAuMjM5OSAxNy4zMDUxIDcwLjgwNSAxNi45NTgzIDcxLjUwMDQgMTYuNzQxNkM3Mi4xOTU5IDE2LjUyNDkgNzMuMDIxNyAxNi40MzgyIDc0LjA2NDkgMTYuNDM4Mkg3OC4xOTQxVjE4LjkwOUg3NC45MzQyQzczLjQ5OTggMTguOTA5IDcyLjU0MzYgMTkuMTY5MSA3MS45Nzg1IDE5LjY0NTlDNzEuNDU2OSAyMC4xMjI3IDcxLjE1MjcgMjAuOTg5NyA3MS4xNTI3IDIyLjIwMzRDNzEuMTUyNyAyMi44OTY5IDcxLjI4MzEgMjMuNDYwNSA3MS41MDA0IDIzLjkzNzNDNzEuNzE3NyAyNC40MTQxIDcyLjA2NTUgMjQuNzYwOSA3Mi41MDAxIDI1LjA2NDNDNzIuNzE3NCAyNS4xOTQ0IDcyLjk3ODIgMjUuMjgxMSA3My4yODI1IDI1LjM2NzhDNzMuNjMwMiAyNS4zMjQ0IDc0LjE1MTggMjUuMzY3OCA3NC45MzQyIDI1LjM2NzhaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik04MC44NDU2IDE4LjY0ODlINzguNjcyNFYxNi4zNTE1SDgwLjg0NTZWMTUuMTgxMUM4MC44NDU2IDE0LjAxMDggODEuMDYzIDEzLjIzMDUgODEuNDk3NiAxMi44NDA0QzgxLjkzMjMgMTIuNDUwMyA4Mi43NTgxIDEyLjIzMzUgODMuOTc1MSAxMi4yMzM1SDg2Ljg0MzhWMTQuNDAwOUg4NS40MDk1Qzg0Ljg4NzkgMTQuNDAwOSA4NC41NDAyIDE0LjQ4NzYgODQuMzIyOSAxNC42NjFDODQuMTA1NSAxNC44MzQ0IDgzLjk3NTEgMTUuMDk0NSA4My45NzUxIDE1LjQ0MTJWMTYuMzUxNUg4Ni44NDM4VjE4LjY0ODlIODMuOTc1MVYyNy43OTUzSDgwLjg0NTZWMTguNjQ4OVoiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTk4LjQwNTYgMjcuNzk1M0g5Mi43MTE2QzkxLjAxNjUgMjcuNzk1MyA4OS44NDI5IDI3LjQ0ODUgODkuMDYwNSAyNi43OTgzQzg4LjMyMTYgMjYuMTQ4MSA4Ny45MzA0IDI1LjA2NDQgODcuOTMwNCAyMy41OTA2VjE2LjM5NDlIOTAuOTI5NVYyMy40MTcyQzkwLjkyOTUgMjQuMTk3NCA5MS4wNTk5IDI0LjY3NDMgOTEuMzIwNyAyNC45MzQ0QzkxLjU4MTUgMjUuMTk0NCA5Mi4xMDMxIDI1LjMyNDUgOTIuOTI4OSAyNS4zMjQ1SDk1LjM2M1YxNi4zOTQ5SDk4LjQwNTZWMjcuNzk1M1oiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTEwMC42MjIgMjUuNDExMkgxMDcuMDExQzEwNy41NzcgMjUuNDExMiAxMDguMDExIDI1LjMyNDUgMTA4LjI3MiAyNS4xNTExQzEwOC41MzMgMjQuOTc3NyAxMDguNjYzIDI0LjY3NDMgMTA4LjY2MyAyNC4zMjc1QzEwOC42NjMgMjMuOTM3NCAxMDguNTMzIDIzLjY3NzMgMTA4LjI3MiAyMy40NjA1QzEwOC4wMTEgMjMuMjg3MSAxMDcuNTc3IDIzLjIwMDUgMTA3LjA1NSAyMy4yMDA1SDEwNC40NDdDMTAyLjg4MiAyMy4yMDA1IDEwMS44MzkgMjIuOTgzNyAxMDEuMzE4IDIyLjUwNjlDMTAwLjc1MiAyMi4wMzAxIDEwMC40OTIgMjEuMjA2NSAxMDAuNDkyIDE5Ljk5MjdDMTAwLjQ5MiAxOC43NzkgMTAwLjgzOSAxNy44Njg3IDEwMS40OTEgMTcuMjYxOEMxMDIuMTQzIDE2LjY5ODMgMTAzLjE4NyAxNi4zOTQ5IDEwNC41MzQgMTYuMzk0OUgxMTEuMDU0VjE4Ljc3OUgxMDUuNzA4QzEwNC44MzggMTguNzc5IDEwNC4yNzMgMTguODY1NyAxMDQuMDEyIDE4Ljk5NTdDMTAzLjc1MiAxOS4xNjkxIDEwMy42MjEgMTkuNDI5MiAxMDMuNjIxIDE5LjgxOTRDMTAzLjYyMSAyMC4xNjYxIDEwMy43NTIgMjAuNDI2MiAxMDMuOTY5IDIwLjU5OTZDMTA0LjE4NiAyMC43NzMgMTA0LjU3NyAyMC44NTk3IDEwNS4wNTYgMjAuODU5N0gxMDcuNzk0QzEwOS4wNTQgMjAuODU5NyAxMTAuMDExIDIxLjE2MzEgMTEwLjY2MyAyMS43MjY2QzExMS4zMTUgMjIuMjkwMiAxMTEuNjYyIDIzLjE1NzEgMTExLjY2MiAyNC4yNDA4QzExMS42NjIgMjUuMjgxMSAxMTEuMzU4IDI2LjE0ODEgMTEwLjc5MyAyNi43OTgzQzExMC4yMjggMjcuNDQ4NSAxMDkuNDQ2IDI3Ljc5NTMgMTA4LjUzMyAyNy43OTUzSDEwMC43MDlWMjUuNDExMkgxMDAuNjIyWiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMTE2LjU3NCAxNS4wOTQ0SDExMy40MDFWMTIuMjc2OUgxMTYuNTc0VjE1LjA5NDRaTTExNi41NzQgMjcuNzk1M0gxMTMuNDAxVjE2LjM5NDlIMTE2LjU3NFYyNy43OTUzWiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMTMwLjMwOSAyMi4xMTY3QzEzMC4zMDkgMjMuODkzOSAxMjkuNzQ0IDI1LjMyNDQgMTI4LjY1NyAyNi40MDgxQzEyNy41NzEgMjcuNDkxOCAxMjYuMDkzIDI4LjAxMiAxMjQuMjI0IDI4LjAxMkMxMjIuMzU1IDI4LjAxMiAxMjAuODc3IDI3LjQ5MTggMTE5Ljc5IDI2LjQwODFDMTE4LjcwNCAyNS4zMjQ0IDExOC4xMzkgMjMuODkzOSAxMTguMTM5IDIyLjExNjdDMTE4LjEzOSAyMC4zMzk0IDExOC43MDQgMTguOTA5IDExOS43OSAxNy44MjUzQzEyMC44NzcgMTYuNzQxNiAxMjIuMzk4IDE2LjIyMTQgMTI0LjIyNCAxNi4yMjE0QzEyNi4wNDkgMTYuMjIxNCAxMjcuNTI3IDE2Ljc0MTYgMTI4LjY1NyAxNy44MjUzQzEyOS43NDQgMTguODY1NiAxMzAuMzA5IDIwLjI5NjEgMTMwLjMwOSAyMi4xMTY3Wk0xMjEuMjY4IDIyLjExNjdDMTIxLjI2OCAyMy4yMDA0IDEyMS41MjkgMjQuMDY3MyAxMjIuMDUxIDI0LjY3NDJDMTIyLjU3MiAyNS4yODExIDEyMy4yNjggMjUuNTg0NSAxMjQuMTggMjUuNTg0NUMxMjUuMDkzIDI1LjU4NDUgMTI1Ljc4OSAyNS4yODExIDEyNi4zMSAyNC42NzQyQzEyNi44MzIgMjQuMDY3MyAxMjcuMDkzIDIzLjIwMDQgMTI3LjA5MyAyMi4xMTY3QzEyNy4wOTMgMjEuMDMzIDEyNi44MzIgMjAuMTY2MSAxMjYuMzEgMTkuNjAyNUMxMjUuNzg5IDE4Ljk5NTcgMTI1LjA5MyAxOC42OTIyIDEyNC4xMzcgMTguNjkyMkMxMjMuMjI0IDE4LjY5MjIgMTIyLjUyOSAxOC45OTU3IDEyMi4wMDcgMTkuNjAyNUMxMjEuNTI5IDIwLjE2NjEgMTIxLjI2OCAyMS4wMzMgMTIxLjI2OCAyMi4xMTY3WiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMTMxLjc4NyAxNi4zOTQ5SDEzNy40ODFDMTM5LjIxOSAxNi4zOTQ5IDE0MC40MzYgMTYuNjk4MyAxNDEuMTc1IDE3LjM0ODVDMTQxLjkxNCAxNy45OTg4IDE0Mi4yNjIgMTkuMDgyNCAxNDIuMjYyIDIwLjU1NjNWMjcuNzk1M0gxMzkuMjE5VjIwLjk0NjRDMTM5LjIxOSAyMC4wNzk0IDEzOS4wODkgMTkuNTE1OSAxMzguODI4IDE5LjI5OTJDMTM4LjU2NyAxOS4wMzkxIDEzOC4wNDYgMTguOTA5MSAxMzcuMjIgMTguOTA5MUgxMzQuNzg2VjI3LjgzODZIMTMxLjc0M1YxNi4zOTQ5SDEzMS43ODdaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik03LjEyODMxIDMuNzM3NDNIMFYxMC44NDY0SDcuMTI4MzFWMy43Mzc0M1oiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTIzLjI1MTMgLTIuMTU3MjVlLTA1TDE4LjU1MTMgNS41MTY4NUwyNC4wODMxIDEwLjIwNDFMMjguNzgzMSA0LjY4NzI1TDIzLjI1MTMgLTIuMTU3MjVlLTA1WiIgZmlsbD0iI0ZGODYwMCIvPgo8cGF0aCBkPSJNMTUuNjA0MSAzLjczNzQzSDguNDc1ODNWMTAuODQ2NEgxNS42MDQxVjMuNzM3NDNaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik03LjEyODMxIDEyLjE5MDJIMFYxOS4yOTkySDcuMTI4MzFWMTIuMTkwMloiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTE1LjYwNDEgMTIuMTkwMkg4LjQ3NTgzVjE5LjI5OTJIMTUuNjA0MVYxMi4xOTAyWiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMjQuMDc5NyAxMi4xOTAySDE2Ljk1MTRWMTkuMjk5MkgyNC4wNzk3VjEyLjE5MDJaIiBmaWxsPSIjRkY4NjAwIi8+CjxwYXRoIGQ9Ik03LjEyODMxIDIwLjY4NjNIMFYyNy43OTUzSDcuMTI4MzFWMjAuNjg2M1oiIGZpbGw9IiMzNTQzQTgiLz4KPHBhdGggZD0iTTE1LjYwNDEgMjAuNjg2M0g4LjQ3NTgzVjI3Ljc5NTNIMTUuNjA0MVYyMC42ODYzWiIgZmlsbD0iIzM1NDNBOCIvPgo8cGF0aCBkPSJNMjQuMTIzMiAyMC42ODYzSDE2Ljk5NDlWMjcuNzk1M0gyNC4xMjMyVjIwLjY4NjNaIiBmaWxsPSIjMzU0M0E4Ii8+CjxwYXRoIGQ9Ik0xNDYgMTUuODMxM0MxNDYgMTYuODcxNyAxNDUuMTc0IDE3LjY5NTMgMTQ0LjEzMSAxNy42OTUzQzE0My4wODggMTcuNjk1MyAxNDIuMjYyIDE2Ljg3MTcgMTQyLjI2MiAxNS44MzEzQzE0Mi4yNjIgMTQuNzkxIDE0My4wODggMTQuMDEwNyAxNDQuMTMxIDE0LjAxMDdDMTQ1LjEzMSAxMy45Njc0IDE0NiAxNC43OTEgMTQ2IDE1LjgzMTNaTTE0Mi45NTcgMTQuNzkxQzE0Mi42OTcgMTUuMDUxMSAxNDIuNTY2IDE1LjQ0MTIgMTQyLjU2NiAxNS44MzEzQzE0Mi41NjYgMTYuNjk4MyAxNDMuMjYyIDE3LjM5MTggMTQ0LjEzMSAxNy4zOTE4QzE0NSAxNy4zOTE4IDE0NS42OTYgMTYuNjk4MyAxNDUuNjk2IDE1LjgzMTNDMTQ1LjY5NiAxNS4wMDc3IDE0NSAxNC4yNzA4IDE0NC4xNzQgMTQuMjcwOEMxNDMuNjUzIDE0LjI3MDggMTQzLjI2MiAxNC40NDQyIDE0Mi45NTcgMTQuNzkxWk0xNDQuODcgMTYuOTE1SDE0NC40NzlMMTQzLjkxNCAxNi4wOTE0VjE2LjkxNUgxNDMuNjA5VjE0Ljc0NzZIMTQzLjk1N0MxNDQuNDM1IDE0Ljc0NzYgMTQ0LjY1MyAxNC45NjQ0IDE0NC42NTMgMTUuMzU0NUMxNDQuNjUzIDE1LjY1NzkgMTQ0LjQ3OSAxNS44NzQ3IDE0NC4xNzQgMTUuOTYxNEwxNDQuODcgMTYuOTE1Wk0xNDQuMDQ0IDE1LjY1NzlDMTQ0LjI2MSAxNS42NTc5IDE0NC4zOTIgMTUuNTI3OSAxNDQuMzkyIDE1LjM1NDVDMTQ0LjM5MiAxNS4xMzc4IDE0NC4yNjEgMTUuMDUxMSAxNDQuMDAxIDE1LjA1MTFIMTQzLjkxNFYxNS42NTc5SDE0NC4wNDRaIiBmaWxsPSIjMzU0M0E4Ii8+Cjwvc3ZnPgo=" style="
|
|
6953
|
+
text-align: left;
|
|
6954
|
+
width: 146px;
|
|
6955
|
+
position: absolute;
|
|
6956
|
+
top: 14px;
|
|
6957
|
+
left: 31px;
|
|
6958
|
+
">
|
|
6959
|
+
</div>
|
|
6960
|
+
<div style="
|
|
6961
|
+
position: relative;
|
|
6962
|
+
top: 80px;
|
|
6963
|
+
left: 32px;
|
|
6964
|
+
font-size: 20px;
|
|
6965
|
+
text-align: left;
|
|
6966
|
+
font-weight: 700;
|
|
6967
|
+
letter-spacing: 0.02em;
|
|
6968
|
+
font-style: normal;
|
|
6969
|
+
line-height: 125%;
|
|
6970
|
+
">Claim your FREE account and get a key in less than a minute</div>
|
|
6971
|
+
<ul style="
|
|
6972
|
+
font-size: 15px;
|
|
6973
|
+
font-weight: 400;
|
|
6974
|
+
color: #333333;
|
|
6975
|
+
letter-spacing: 0.01em;
|
|
6976
|
+
position: relative;
|
|
6977
|
+
left: 32px;
|
|
6978
|
+
top: 88px;
|
|
6979
|
+
line-height: 180%;
|
|
6980
|
+
">
|
|
6981
|
+
<li><span>Access to a 30-day free trial of any of our products.</span></li>
|
|
6982
|
+
<li><span>Access to 24x5 support by developers via the <a href="https://support.syncfusion.com/create?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information" style="text-decoration: none;
|
|
6983
|
+
color: #0D6EFD;
|
|
6984
|
+
font-weight: 500;">support tickets</a>, <a href="https://www.syncfusion.com/forums?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information" style="text-decoration: none;
|
|
6985
|
+
color: #0D6EFD;
|
|
6986
|
+
font-weight: 500;">forum</a>, <a href="https://www.syncfusion.com/feedback?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information
|
|
6987
|
+
" style="text-decoration: none;
|
|
6988
|
+
color: #0D6EFD;
|
|
6989
|
+
font-weight: 500;">feature & feedback page</a> and chat.</span></li>
|
|
6990
|
+
<li><span>200+ <a href="https://www.syncfusion.com/succinctly-free-ebooks?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information" style="text-decoration: none;
|
|
6991
|
+
color: #0D6EFD;
|
|
6992
|
+
font-weight: 500;">ebooks </a>on the latest technologies, industry trends, and research topics.</span>
|
|
6993
|
+
</li>
|
|
6994
|
+
<li><span>Largest collection of over 7,000 flat and wireframe icons for free with Syncfusion <a href="https://www.syncfusion.com/downloads/metrostudio?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information
|
|
6995
|
+
" style="text-decoration: none;
|
|
6996
|
+
color: #0D6EFD;
|
|
6997
|
+
font-weight: 500;">Metro Studio.</a></span></li>
|
|
6998
|
+
<li><span>Free and unlimited access to Syncfusion technical <a href="https://www.syncfusion.com/blogs/?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information
|
|
6999
|
+
" style="text-decoration: none;
|
|
7000
|
+
color: #0D6EFD;
|
|
7001
|
+
font-weight: 500;">blogs</a> and <a href="https://www.syncfusion.com/resources/techportal/whitepapers?utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information" style="text-decoration: none;
|
|
7002
|
+
color: #0D6EFD;
|
|
7003
|
+
font-weight: 500;">whitepapers.</a></span></li>
|
|
7004
|
+
</ul>
|
|
7005
|
+
<div style="
|
|
7006
|
+
font-size: 18px;
|
|
7007
|
+
font-weight: 700;
|
|
7008
|
+
position: relative;
|
|
7009
|
+
line-height: 125%;
|
|
7010
|
+
letter-spacing: 0.02em;
|
|
7011
|
+
top: 90px;
|
|
7012
|
+
left: 32px;
|
|
7013
|
+
">Syncfusion is trusted by 29,000+ businesses worldwide</div>
|
|
7014
|
+
<img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODIwIiBoZWlnaHQ9IjU2IiB2aWV3Qm94PSIwIDAgODIwIDU2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MjcuNjE3IDIyLjU2NTlWMjQuNzIyNkM0MjYuNTU4IDI0LjM2MzggNDI1LjM5OCAyNC4xNTQ0IDQyNC40NzQgMjQuMTU0NEM0MjMuMzMzIDI0LjE1NDQgNDIyLjY5OCAyNC40OTEyIDQyMi42OTggMjUuMDk2M0M0MjIuNjk4IDI1LjQ4MjQgNDIyLjk3NiAyNS43MzgzIDQyMy43NzMgMjYuMDg1NEw0MjUuOTE3IDI3LjAxNzRDNDI3LjYzMyAyNy43NjM5IDQyOC40OTcgMjguODUzIDQyOC40OTcgMzAuMjY4MUM0MjguNDk3IDMyLjQ1MjIgNDI2LjU0NiAzMy44MyA0MjMuNDUyIDMzLjgzQzQyMi4zMjQgMzMuODMgNDIxLjAxOCAzMy42NzM2IDQxOS42MzYgMzMuMzcwOVYzMS4xNDE2QzQyMS4wMDYgMzEuNTAyOCA0MjIuMjYyIDMxLjY5NTcgNDIzLjIzOSAzMS42OTU3QzQyNC41MTggMzEuNjk1NyA0MjUuMjAzIDMxLjM1MDYgNDI1LjIwMyAzMC43MDc0QzQyNS4yMDMgMzAuMzIwOCA0MjQuOTM1IDMwLjAzNjcgNDI0LjMyMiAyOS43NzE3TDQyMS45NzUgMjguNzU5M0M0MjAuMjM2IDI4LjAwNzggNDE5LjQzMyAyNi45OTU0IDQxOS40MzMgMjUuNTUyMUM0MTkuNDMzIDIzLjQ4MzcgNDIxLjMxNCAyMi4xNjQ5IDQyNC4yNjUgMjIuMTY0OUM0MjUuMjk4IDIyLjE2NDkgNDI2LjU3IDIyLjMxNzEgNDI3LjYxNyAyMi41NjU5VjIyLjU2NTlaTTQzMC4xNjcgMjIuMzkwOUg0MzMuNjM1VjMzLjYwMzlINDMwLjE2N1YyMi4zOTA5Wk00NDQuOTExIDIyLjM5MDlWMjQuNDQ1MUg0MzkuNjc1VjI2Ljk3NDJINDQ0LjI0OVYyOC44MzIzSDQzOS42NzVWMzEuNDU0M0g0NDQuOTc4VjMzLjYwMzlINDM2LjMwNVYyMi4zOTA5SDQ0NC45MTFaTTQ2MS4yOTQgMjIuMzkwOVYzMy42MDM5SDQ1Ny45MzlWMjYuMjIzNkw0NTQuNjUyIDMzLjY5MTVINDUyLjUzMUw0NDkuMjY2IDI2LjIyMzZWMzMuNjAzOUg0NDYuOTQ5VjIyLjM5MDlINDUxLjE4NEw0NTQuMTc4IDI5LjIxMTRMNDU3LjE1NiAyMi4zOTA5SDQ2MS4yOTRWMjIuMzkwOVpNNDcyLjU3OSAyMi4zOTA5VjI0LjQ0NTFINDY3LjMzNVYyNi45NzQySDQ3MS45MDhWMjguODMyM0g0NjcuMzM1VjMxLjQ1NDNINDcyLjYzOFYzMy42MDM5SDQ2My45NTdWMjIuMzkwOUg0NzIuNTc5Wk00ODQuNzk0IDIyLjM5MDlWMzMuNjAzOUg0ODEuMDkzTDQ3Ni45MjYgMjYuNDEyM1YzMy42MDM5SDQ3NC42MDhWMjIuMzkwOUg0NzguNDA3TDQ4Mi40ODQgMjkuNDg3NlYyMi4zOTA5SDQ4NC43OTRaTTQ5NC44NTggMjIuNTY1OVYyNC43MjI2QzQ5My44MDcgMjQuMzY2MyA0OTIuNjQgMjQuMTU0NCA0OTEuNzMyIDI0LjE1NDRDNDkwLjU3MyAyNC4xNTQ0IDQ4OS45MzkgMjQuNDg1OCA0ODkuOTM5IDI1LjA5M0M0ODkuOTM5IDI1LjQ4ODYgNDkwLjE5OCAyNS43MjUgNDkxLjAyMyAyNi4wODU5TDQ5My4xNTcgMjcuMDE3OEM0OTQuODg1IDI3Ljc3MjIgNDk1LjczOSAyOC44NTE4IDQ5NS43MzkgMzAuMjgzNUM0OTUuNzM5IDMyLjQ1NTkgNDkzLjc4NiAzMy44MzA4IDQ5MC42OTkgMzMuODMwOEM0ODkuNTY5IDMzLjgzMDggNDg4LjI1OSAzMy42NzM2IDQ4Ni44NzggMzMuMzcxN1YzMS4xNDI0QzQ4OC4yNDcgMzEuNTAyOCA0ODkuNDk5IDMxLjY5NjUgNDkwLjQ3IDMxLjY5NjVDNDkxLjc0IDMxLjY5NjUgNDkyLjQ0NCAzMS4zNTE1IDQ5Mi40NDQgMzAuNzI4NUM0OTIuNDQ0IDMwLjMxNjMgNDkyLjE5NyAzMC4wNTA0IDQ5MS41NTUgMjkuNzcyNUw0ODkuMjE4IDI4Ljc2MDFDNDg3LjQ2NyAyOC4wMDI4IDQ4Ni42NzQgMjcuMDAyIDQ4Ni42NzQgMjUuNTUzM0M0ODYuNjc0IDIzLjQ4NjIgNDg4LjU1NiAyMi4xNjY1IDQ5MS41IDIyLjE2NjVDNDkyLjUzNiAyMi4xNjUzIDQ5My44MTMgMjIuMzE3MSA0OTQuODU4IDIyLjU2NTlWMjIuNTY1OVoiIGZpbGw9IiMwMEEwQjAiLz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzUyLjQxMyAyNi44MTlDMzUwLjk5MiAyNS4yNzU5IDM0OS42MzggMjMuODMxNSAzNDguMzQ5IDIyLjE1NzRMMzQ3LjkyIDIxLjU5OTVDMzQ5LjQwNiAyMS4zNjkzIDM1MC42OTUgMjAuMzg0OCAzNTAuNjk1IDE4Ljc0MzNDMzUwLjY5NSAxNy4yMzMxIDM0OS41MzkgMTYuMjQ4MiAzNDcuODIxIDE2LjI0ODJDMzQ2LjU5OCAxNi4yNDgyIDM0NS43MDYgMTYuMzEzNyAzNDUuMjQzIDE2LjMxMzdDMzQ0LjcxNSAxNi4zMTM3IDM0NC4yODUgMTYuMzEzNyAzNDMuNzkgMTYuMjgwOEMzNDMuODU2IDE4LjE1MjEgMzQzLjg4OSAxOC4yODM0IDM0My44ODkgMTkuNDMyMlYyMy42MzQzQzM0My44ODkgMjQuNDU1MyAzNDMuODU2IDI1LjI3NTkgMzQzLjc5IDI2LjgxODZDMzQ0LjE1MyAyNi43MjAyIDM0NC41MTcgMjYuNzIwMiAzNDQuNzgxIDI2LjcyMDJDMzQ1LjA0NSAyNi43MjAyIDM0NS40MDkgMjYuNzUzMSAzNDUuNzA2IDI2LjgxODZDMzQ1LjY0IDI1Ljc2NzkgMzQ1LjYwNyAyNC4wMjgzIDM0NS42MDcgMjMuNjM0M1YyMS4yMDUxQzM0Ny4xNiAyMy4yMDc3IDM0OS4yMDkgMjUuNjY5NSAzNTAuMDAxIDI2LjgxODZDMzUwLjM5OCAyNi43MjAyIDM1MC43MjggMjYuNzIwMiAzNTEuMTI0IDI2LjcyMDJDMzUxLjQ1NSAyNi43MjA2IDM1MS45MTggMjYuNzIwNiAzNTIuNDEzIDI2LjgxOVYyNi44MTlaTTM0OC44NzggMTkuMDA2QzM0OC44NzggMjAuMDIzNCAzNDguMzE3IDIxLjIwNTQgMzQ2Ljc5NyAyMS4yMDU0QzM0Ni40IDIxLjIwNTQgMzQ2LjAwMyAyMS4yMDU0IDM0NS42MDcgMjEuMTcyNVYxNy4wNjg4QzM0Ni4wMDMgMTYuOTcwNCAzNDYuNDk5IDE2LjkwNDYgMzQ2Ljc2MyAxNi45MDQ2QzM0OC4wODUgMTYuOTA0OSAzNDguODc4IDE3LjY2IDM0OC44NzggMTkuMDA2VjE5LjAwNlpNMzgyLjM4IDI2Ljg4NDVDMzgxLjgxOSAyNi4yOTM2IDM4MC45NiAyNS4zNDE3IDM4MC4xMzQgMjQuNDIyM0MzODAuODI4IDIzLjY2NzIgMzgxLjU1NSAyMi41NTEgMzgxLjk4NCAyMS41OTkxQzM4MS43MTkgMjEuNDY3OCAzODEuMzU2IDIxLjIwNTEgMzgxLjA5MiAyMC45NzUzQzM4MC45OTMgMjEuNzk1OSAzODAuNDMyIDIyLjg3OTIgMzc5LjYzOSAyMy44MzE1QzM3OC41MTUgMjIuNTE4NSAzNzguMjE4IDIyLjE1NzQgMzc3LjE5MyAyMC43Nzg1QzM3OC41ODEgMTkuODkyMSAzNzkuMjQyIDE4Ljg3NDMgMzc5LjI0MiAxOC4wNTM3QzM3OS4yNDIgMTcuMTAxNyAzNzguNTgxIDE2LjExNjkgMzc2Ljk2MiAxNi4xMTY5QzM3NS4yMTEgMTYuMTE2OSAzNzQuMzUyIDE3LjIwMDIgMzc0LjM1MiAxOC40ODAzQzM3NC4zNTIgMTkuMjM1NCAzNzQuNTUgMTkuODkxNyAzNzUuMzc2IDIwLjk3NTNDMzc0LjA1NCAyMS42OTc1IDM3Mi43NjYgMjIuNzQ3OSAzNzIuNzY2IDI0LjQyMjNDMzcyLjc2NiAyNi4wNjM5IDM3NC4wODcgMjYuOTE3NCAzNzUuNzA3IDI2LjkxNzRDMzc3LjE5MyAyNi45MTc0IDM3OC4xNTEgMjYuMzI2NiAzNzguOTEyIDI1LjYzNjlMMzc5LjkwMiAyNi44MTlDMzgwLjIgMjYuNzg2MSAzODAuNTMxIDI2LjcyMDYgMzgwLjg2MSAyNi43MjA2QzM4MS4zMjQgMjYuNzIwNiAzODEuODUyIDI2Ljc4NjEgMzgyLjM4IDI2Ljg4NDVWMjYuODg0NVpNMzgzLjM3MiA0MC4wMTU4QzM4MS45MTggMzguNDczIDM4MC41OTcgMzcuMDYxMiAzNzkuMzA4IDM1LjM4NzFMMzc4Ljg3OCAzNC44Mjg4QzM4MC4zMzIgMzQuNTk5MSAzODEuNjU0IDMzLjYxNSAzODEuNjU0IDMxLjk0MDFDMzgxLjY1NCAzMC40NjMyIDM4MC40OTggMjkuNDQ1NCAzNzguNzc5IDI5LjQ0NTRDMzc3LjU1NyAyOS40NDU0IDM3Ni42MzIgMjkuNTQzNSAzNzYuMTY5IDI5LjU0MzVDMzc1LjY3MyAyOS41NDM1IDM3NS4yNDQgMjkuNTQzNSAzNzQuNzQ4IDI5LjQ3NzZDMzc0LjgxNCAzMS4zODIyIDM3NC44NDggMzEuNDgwMiAzNzQuODQ4IDMyLjYyOTRWMzYuODMxMUMzNzQuODQ4IDM3LjY1MjQgMzc0LjgxNCAzOC41MDUyIDM3NC43NDggNDAuMDE1NEMzNzUuMTEyIDM5Ljk0OTYgMzc1LjQ3NSAzOS45NDk2IDM3NS43MDcgMzkuOTQ5NkMzNzYuMDA0IDM5Ljk0OTYgMzc2LjM2OCAzOS45NDk2IDM3Ni42MzIgNDAuMDE1NEMzNzYuNTY1IDM4Ljk5OCAzNzYuNTMzIDM3LjI1ODEgMzc2LjUzMyAzNi44MzExVjM0LjQzNDhDMzc4LjExOSAzNi40MDQyIDM4MC4xNjcgMzguODk5NiAzODAuOTYgNDAuMDE1NEMzODEuMzU2IDM5Ljk0OTYgMzgxLjY4NyAzOS45NDk2IDM4Mi4wODMgMzkuOTQ5NkMzODIuMzggMzkuOTUgMzgyLjg3NiAzOS45NSAzODMuMzcyIDQwLjAxNThaTTM2Mi4xNiAyNi44MTlDMzYwLjk3MSAyNS41NzE1IDM1OC44ODkgMjIuOTc4IDM1OC4wNjMgMjEuOTkzNUwzNTcuMjM3IDIwLjk3NTdDMzU4LjA5NiAxOS45NTgzIDM1OC42OSAxOS4zMzQxIDM1OS4zMTkgMTguNTc5QzM2MC4wNDUgMTcuNzkxIDM2MC43MDYgMTYuOTcwNCAzNjEuNDk5IDE2LjI0ODJDMzYxLjEzNiAxNi4zMTM3IDM2MC45MzcgMTYuMzEzNyAzNjAuNzM5IDE2LjMxMzdDMzYwLjU0MSAxNi4zMTM3IDM2MC4zNDMgMTYuMzEzNyAzNjAuMTQ0IDE2LjI0ODJDMzU5LjkxMyAxNi42MDkzIDM1OS41NSAxNy4wNjg4IDM1OS4xNTMgMTcuNTI4N0MzNTguNzU2IDE3Ljk1NTYgMzU4LjM2IDE4LjM4MjIgMzU4LjA2MyAxOC43NDMzQzM1Ny4yMzYgMTkuNjk1MiAzNTYuNzc0IDIwLjE1NDcgMzU1LjU4NSAyMS4yNzA5VjE5LjQ2NTVDMzU1LjU4NSAxOC40MTUxIDM1NS41ODUgMTcuNzI1NSAzNTUuNjUxIDE2LjI0ODJDMzU1LjMyMSAxNi4zMTM3IDM1NC45NTcgMTYuMzEzNyAzNTQuNzI2IDE2LjMxMzdDMzU0LjQ2MSAxNi4zMTM3IDM1NC4wMzIgMTYuMzEzNyAzNTMuNzY4IDE2LjI0ODJDMzUzLjgzMyAxNy44MjM5IDM1My44NjcgMTguMjgzNCAzNTMuODY3IDE5LjQzMjVWMjMuNjM0N0MzNTMuODY3IDI0LjY4NSAzNTMuODMzIDI1LjMwODggMzUzLjc2OCAyNi44MTlDMzU0LjE2NCAyNi43MjA2IDM1NC40OTUgMjYuNzIwNiAzNTQuNzI2IDI2LjcyMDZDMzU0Ljk1NyAyNi43MjA2IDM1NS4zNTMgMjYuNzUzNSAzNTUuNjUxIDI2LjgxOUMzNTUuNTg1IDI1LjE0NDkgMzU1LjU4NSAyNC4xNTk3IDM1NS41ODUgMjMuNjM0N1YyMS40MzUyQzM1Ni44MDcgMjIuODc5NiAzNTguNjkgMjUuMjQzMyAzNTkuNzQ4IDI2LjgxOUMzNjAuMTMgMjYuNzU2MyAzNjAuNTE3IDI2LjcyMzQgMzYwLjkwNSAyNi43MjA2QzM2MS4yMDIgMjYuNzIwNiAzNjEuNjY1IDI2LjcyMDYgMzYyLjE2IDI2LjgxOVYyNi44MTlaTTM3Mi42MDEgNDAuMDE1OEMzNzIuNTY4IDM5Ljg1MTkgMzcyLjUzNSAzOS43MjA2IDM3Mi41MzUgMzkuNTIzNEMzNzIuNTM1IDM5LjM5MjggMzcyLjU2OCAzOS4yMjgxIDM3Mi42MDEgMzkuMDk2NEMzNzEuMjggMzkuMTI5NyAzNjguOTAxIDM5LjE5NTIgMzY4LjM3MiAzOS4xOTUyVjM0LjY2NDlDMzY5LjY5NCAzNC42NjQ5IDM3MC45ODIgMzQuNjY0OSAzNzIuMjcgMzQuNzk2M0MzNzIuMjM4IDM0LjYzMjQgMzcyLjIwNCAzNC40Njc3IDM3Mi4yMDQgMzQuMzM2NEMzNzIuMjA0IDM0LjIwNTggMzcyLjIwNCAzNC4wNDE5IDM3Mi4yNyAzMy44NDQ3QzM3MS4zNDYgMzMuOTQyOCAzNjkuMTk4IDMzLjk3NiAzNjguMzcyIDMzLjk3NlYzMC4yNjZDMzY5LjgyNiAzMC4yNjYgMzcwLjY4NSAzMC4yNjYgMzcxLjE4IDMwLjI5OTNMMzcyLjUwMiAzMC4zNjUxQzM3Mi40MzYgMzAuMTY3OSAzNzIuNDM2IDMwLjA2OTIgMzcyLjQzNiAyOS45MDUzQzM3Mi40MzYgMjkuNzQxNCAzNzIuNDM2IDI5LjcwODEgMzcyLjUwMiAyOS40NDU4QzM3MS40MTEgMjkuNDc4MyAzNjkuOTI1IDI5LjU0MzggMzY5LjI2NCAyOS41NDM4QzM2OC44MDIgMjkuNTQzOCAzNjcuMzQ4IDI5LjUxMTMgMzY2LjU4NyAyOS40NDU4QzM2Ni42NTQgMzAuMjY2NCAzNjYuNjg2IDMxLjYxMjMgMzY2LjY4NiAzMi41NjQyVjM2Ljg2NTFDMzY2LjY4NiAzNy40ODg1IDM2Ni42MiAzOC43MzU3IDM2Ni41ODcgNDAuMDE2MkMzNjcuNTEzIDM5Ljk1MDMgMzY4LjgwMiAzOS45NTAzIDM2OS4yNjQgMzkuOTUwM0MzNzAuMDI0IDM5Ljk1IDM3MS42NDMgMzkuOTUgMzcyLjYwMSA0MC4wMTU4Wk0zNjQuNjA1IDM5LjEyOTRDMzY0LjQ0IDM4LjgwMDggMzY0LjM0MSAzOC4zMDg4IDM2NC4yNzUgMzguMDQ2MUMzNjIuOTIgMzkuMTYxOSAzNjEuOTk1IDM5LjM5MjQgMzYwLjkzOCAzOS4zOTI0QzM1OC41OTIgMzkuMzkyNCAzNTcuMzM3IDM3LjI5MTMgMzU3LjMzNyAzNC42NjQ5QzM1Ny4zMzcgMzEuNzQzNiAzNTguNzU3IDMwLjAzNjIgMzYxLjE2OSAzMC4wMzYyQzM2Mi40MjUgMzAuMDM2MiAzNjMuNjE0IDMwLjU5NDUgMzY0LjE3NiAzMS4xNTI4QzM2NC4yMDggMzAuODg5OCAzNjQuMzA4IDMwLjM2NDggMzY0LjQ3MyAzMC4wNjg4QzM2My4zMTYgMjkuNTExMyAzNjIuMjU5IDI5LjM0NjYgMzYxLjEwMiAyOS4zNDY2QzM1Ny4yMzcgMjkuMzQ2NiAzNTUuNDUzIDMxLjc0MzYgMzU1LjQ1MyAzNC44Mjg4QzM1NS40NTMgMzguMzA5MSAzNTcuNzk4IDQwLjE0NzEgMzYwLjczOSA0MC4xNDcxQzM2Mi40MjUgNDAuMTQ3MSAzNjMuODEyIDM5LjYyMjIgMzY0LjYwNSAzOS4xMjk0VjM5LjEyOTRaTTM0Mi4zMDMgMjYuODE5QzM0MC41MTkgMjMuNDA0OSAzMzguOCAxOS4xMzczIDMzNy41NzggMTYuMTE2OUgzMzcuMzhDMzM2LjU4NyAxOC4wMjA3IDMzNS4xMzMgMjEuMjcwOSAzMzQuNzM3IDIyLjE4OTlDMzM0LjI3NCAyMy4zMDYxIDMzMy4yNSAyNS41MDU2IDMzMi41ODkgMjYuODE4NkMzMzIuODAzIDI2Ljc1MzggMzMzLjAyNiAyNi43MjA2IDMzMy4yNSAyNi43MjAyQzMzMy40NDggMjYuNzIwMiAzMzMuNjEzIDI2Ljc1MzEgMzMzLjg0NSAyNi44MTg2QzMzNC4xNzUgMjUuOTMyMiAzMzQuNjM4IDI0LjgxNiAzMzUuMTMzIDIzLjYzNDNDMzM1Ljc5NCAyMy42MDE0IDMzNi4zODkgMjMuNTY4OCAzMzYuOTg0IDIzLjU2ODhDMzM3LjYxMiAyMy41Njg4IDMzOC4yNzIgMjMuNjAxNCAzMzguOTMzIDIzLjYzNDNMMzM5LjU5NCAyNS4yMUwzNDAuMjU1IDI2LjgxODZDMzQwLjcxNyAyNi43MjAyIDM0MS4wOCAyNi43MjAyIDM0MS4zMTIgMjYuNzIwMkMzNDEuNjA5IDI2LjcyMDYgMzQxLjg3MyAyNi43MjA2IDM0Mi4zMDMgMjYuODE5VjI2LjgxOVpNMzUzLjYzNiAyOS40NDU0QzM1My40MzggMjkuNTExMyAzNTMuMjczIDI5LjU0MzUgMzUzLjEwNyAyOS41NDM1QzM1Mi45MDkgMjkuNTQzNSAzNTIuNzQ0IDI5LjUxMDkgMzUyLjU0NiAyOS40NDU0QzM1Mi42NDQgMzAuNzU4NCAzNTIuNjc4IDMyLjA3MTQgMzUyLjY3OCAzMy4zNTE5VjM2LjczMzRDMzUyLjE0OSAzNi4yNzM2IDM1MC44NiAzNS4wOTE5IDM0OS4zNzQgMzMuNzEzQzM0Ny44NiAzMi4zMDc0IDM0Ni4zOTQgMzAuODUxMSAzNDQuOTc5IDI5LjM0NjZIMzQ0Ljc0OEMzNDQuNzgxIDMwLjgyNDMgMzQ0LjgxNCAzMi40IDM0NC44MTQgMzMuODExNFYzNS44Nzk5QzM0NC44MTQgMzcuNjUyOCAzNDQuODE0IDM4LjYwNDcgMzQ0LjcxNSA0MC4wMTYyQzM0NC45OCAzOS45NTAzIDM0NS4xMTIgMzkuOTUwMyAzNDUuMzEgMzkuOTUwM0MzNDUuNDQyIDM5Ljk1MDMgMzQ1LjU3NSAzOS45NTAzIDM0NS44MDYgNDAuMDE2MkMzNDUuNzQgMzguNjcwNiAzNDUuNzA3IDM2LjQ3MDggMzQ1LjcwNyAzNS44Nzk5VjMyLjU5NjhDMzQ4LjE4NSAzNC44NjI1IDM1MS4yMjQgMzcuODgyNiAzNTMuNDcxIDQwLjE0NzVIMzUzLjYwM0MzNTMuNjAzIDM4LjkzMjkgMzUzLjUzNyAzNy43MTc5IDM1My41MzcgMzYuNTA0VjM0LjYzMjdDMzUzLjUzNiAzMi40MzI1IDM1My41MzYgMzEuMzQ5MyAzNTMuNjM2IDI5LjQ0NTRaTTM0Mi41NjcgNDAuMDE1OEMzNDIuNTM0IDM5Ljg1MTkgMzQyLjUwMSAzOS43MjA2IDM0Mi41MDEgMzkuNTIzNEMzNDIuNTAxIDM5LjM5MjggMzQyLjUzNCAzOS4yMjgxIDM0Mi41NjcgMzkuMDk2NEMzNDEuMjQ2IDM5LjEyOTcgMzM4Ljg2NyAzOS4xOTUyIDMzOC4zNzEgMzkuMTk1MlYzNC42NjQ5QzMzOS42NiAzNC42NjQ5IDM0MC45NDggMzQuNjY0OSAzNDIuMjM3IDM0Ljc5NjNDMzQyLjIwNCAzNC42MzI0IDM0Mi4xNzEgMzQuNDY3NyAzNDIuMTcxIDM0LjMzNjRDMzQyLjE3MSAzNC4yMDU4IDM0Mi4xNzEgMzQuMDQxOSAzNDIuMjM3IDMzLjg0NDdDMzQxLjMxMiAzMy45NDI4IDMzOS4xOTcgMzMuOTc2IDMzOC4zNzEgMzMuOTc2VjMwLjI2NkMzMzkuNzkyIDMwLjI2NiAzNDAuNjUxIDMwLjI2NiAzNDEuMTc5IDMwLjI5OTNMMzQyLjQ2OCAzMC4zNjUxQzM0Mi40MzUgMzAuMTY3OSAzNDIuNDM1IDMwLjA2OTIgMzQyLjQzNSAyOS45MDUzQzM0Mi40MzUgMjkuNzQxNCAzNDIuNDM1IDI5LjY3NTUgMzQyLjQ2OCAyOS40NDU4QzM0MS4zNzggMjkuNDc4MyAzMzkuODkxIDI5LjU0MzggMzM5LjIzIDI5LjU0MzhDMzM4Ljc2NyAyOS41NDM4IDMzNy4zMTQgMjkuNTExMyAzMzYuNTU0IDI5LjQ0NThDMzM2LjYyIDMwLjI2NjQgMzM2LjY1MyAzMS42MTIzIDMzNi42NTMgMzIuNTY0MlYzNi44NjUxQzMzNi42NTMgMzcuNDg4NSAzMzYuNTg3IDM4LjczNTcgMzM2LjU1NCA0MC4wMTYyQzMzNy41MTIgMzkuOTUwMyAzMzguNzY3IDM5Ljk1MDMgMzM5LjIzIDM5Ljk1MDNDMzM5Ljk5IDM5Ljk1IDM0MS42NDIgMzkuOTUgMzQyLjU2NyA0MC4wMTU4VjQwLjAxNThaTTMzMS4yMDEgMjYuODE5QzMzMC42NzMgMjMuMjQwNiAzMzAuMjEgMTkuNDk4NCAzMjkuODQ3IDE2LjExNjlDMzI5Ljc0OCAxNi4xNDk4IDMyOS43MTQgMTYuMTQ5OCAzMjkuNjQ5IDE2LjExNjlDMzI4Ljk1NSAxNy4zMzE1IDMyOC4xNjIgMTguNjQ0NSAzMjcuNTY3IDE5LjU2MzlDMzI3LjAwNiAyMC40NTAzIDMyNi4zNDUgMjEuNTAwNyAzMjUuNTg1IDIyLjYxNjlDMzIzLjk5OSAyMC41ODE3IDMyMi4zNDcgMTguMDIxMSAzMjEuMjU2IDE2LjExNjlDMzIxLjE5IDE2LjE0OTggMzIxLjE1NyAxNi4xMTY5IDMyMS4wOTEgMTYuMTE2OUMzMjAuNzI4IDE5LjQ5OCAzMjAuMjMyIDIzLjI3MzIgMzE5LjczNiAyNi44MTlDMzIwLjAwMSAyNi43MjA2IDMyMC4xNjYgMjYuNzIwNiAzMjAuMjk4IDI2LjcyMDZDMzIwLjQ5NiAyNi43MjA2IDMyMC42MjggMjYuNzUzNSAzMjAuODU5IDI2LjgxOUMzMjAuOTkyIDI0LjQ1NTMgMzIxLjI1NiAyMi4xMjQ0IDMyMS41NTMgMTkuNjYyM0MzMjIuODQyIDIxLjUzMzYgMzIzLjk2NSAyMy4xNDIyIDMyNS4yMjEgMjQuODQ5M0MzMjYuMjc4IDIzLjIwNzcgMzI3LjM2OCAyMS40MzQ4IDMyOC41NTggMTkuNjI5NEMzMjguODg4IDIyLjE1NyAzMjkuMTg2IDI0LjQ1NTMgMzI5LjM1MSAyNi44MTlDMzI5Ljc4IDI2LjcyMDYgMzMwLjA3OCAyNi43MjA2IDMzMC4yNzYgMjYuNzIwNkMzMzAuNTQgMjYuNzIwNiAzMzAuODA1IDI2LjcyMDYgMzMxLjIwMSAyNi44MTlWMjYuODE5Wk0zMzQuOTY4IDMyLjIwMjhDMzM0Ljk2OCAzMC4yOTg5IDMzMy40NDggMjkuNDQ1NCAzMzEuNTk4IDI5LjQ0NTRDMzMwLjc3MiAyOS40NDU0IDMyOS44OCAyOS41NDM1IDMyOS4yNTIgMjkuNTQzNUMzMjkuMDIxIDI5LjU0MzUgMzI4LjUyNSAyOS41NDM1IDMyNy45OTcgMjkuNDc3NkMzMjguMDMgMzAuNTI4MyAzMjguMDk2IDMxLjQxNDggMzI4LjA5NiAzMi40MzIyVjM2LjkyOTVDMzI4LjA5NiAzNy45MTQ4IDMyOC4wMyAzOC45OTggMzI3Ljk5NyA0MC4wMTU0QzMyOC40MjYgMzkuOTQ5NiAzMjguNzI0IDM5Ljk0OTYgMzI4LjkyMiAzOS45NDk2QzMyOS4xNTMgMzkuOTQ5NiAzMjkuNDg0IDM5Ljk0OTYgMzI5Ljg4IDQwLjAxNTRDMzI5LjgxNSAzOS4wMzE5IDMyOS43ODIgMzguMDQ2NSAzMjkuNzgxIDM3LjA2MDlWMzUuNDJDMzMwLjE0NSAzNS40NTI2IDMzMC41MDggMzUuNDUyNiAzMzAuOTA1IDM1LjQ1MjZDMzMyLjgyIDM1LjQ1MjYgMzM0Ljk2OCAzNC43MzA0IDMzNC45NjggMzIuMjAyOFYzMi4yMDI4Wk0zMjYuMDE0IDM2Ljg5NzNDMzI2LjAxNCAzNS4yNTU4IDMyNC45MjQgMzQuNTMzNiAzMjMuMDQgMzMuNzQ1NkMzMjEuNjg2IDMzLjE4OCAzMjAuOTkyIDMyLjY5NTYgMzIwLjk5MiAzMS42NDQ1QzMyMC45OTIgMzAuNjYgMzIxLjc1MiAzMC4wMzYyIDMyMy4wMDggMzAuMDM2MkMzMjMuODM0IDMwLjAzNjIgMzI0LjU2MSAzMC4zMzE1IDMyNS4yMjIgMzAuODU2OEMzMjUuMjg3IDMwLjQ5NTcgMzI1LjQ1MyAzMC4xMzQ3IDMyNS42NTEgMjkuODM5NEMzMjQuODU4IDI5LjQ3ODMgMzIzLjk5OSAyOS4zNDcgMzIzLjA3NCAyOS4zNDdDMzIwLjM2NSAyOS4zNDcgMzE5LjUwNSAzMC44OTA1IDMxOS41MDUgMzIuMjAzNUMzMTkuNTA1IDMzLjgxMTggMzIwLjI5OSAzNC41NjcyIDMyMi4zNDcgMzUuMzU1M0MzMjMuNjM2IDM1Ljg0NyAzMjQuMjk2IDM2LjQ3MTEgMzI0LjI5NiAzNy41NTQ0QzMyNC4yOTYgMzguNzAzNSAzMjMuNDM3IDM5LjQyNTcgMzIyLjI0OCAzOS40MjU3QzMyMS41NTQgMzkuNDI1NyAzMjAuMzY1IDM5LjA2NDYgMzE5LjUzOSAzOC4zMDk5QzMxOS41MDUgMzguNzM2MSAzMTkuNTA1IDM5LjEzMDQgMzE5LjM3MyAzOS40OTE1QzMxOS45MDIgMzkuNzU0NiAzMjEuMTI1IDQwLjE0NzkgMzIyLjIxNSA0MC4xNDc5QzMyNC45OSA0MC4xNDcxIDMyNi4wMTQgMzguNDM5NyAzMjYuMDE0IDM2Ljg5NzNWMzYuODk3M1pNMzc4LjE1MiAxNy45ODgyQzM3OC4xNTIgMTguOTczIDM3Ny40NTggMTkuNjYyMyAzNzYuNzY0IDIwLjIyMDJDMzc2LjMwMSAxOS41NjM5IDM3NS43NCAxOC42NzcxIDM3NS43NCAxNy45ODgyQzM3NS43NCAxNy4yMzMxIDM3Ni4yNjggMTYuODA2MSAzNzYuOTk1IDE2LjgwNjFDMzc3Ljk4NyAxNi44MDY1IDM3OC4xNTIgMTcuNjkyNiAzNzguMTUyIDE3Ljk4ODJWMTcuOTg4MlpNMzc4LjQ4MiAyNS4wMTMyQzM3OC4xMTkgMjUuMzQxNyAzNzcuMjYgMjUuOTY1NSAzNzYuNTMzIDI1Ljk2NTVDMzc1LjU3NCAyNS45NjU1IDM3NC40MTggMjUuMjc1OSAzNzQuNDE4IDIzLjc5ODZDMzc0LjQxOCAyMi40ODU1IDM3NS4yNzcgMjEuODk0NyAzNzUuODA2IDIxLjU2NjVDMzc3LjAyOCAyMy4yNDA2IDM3Ny4wOTUgMjMuMzM5MSAzNzguNDgyIDI1LjAxMzJaTTM3OS44MDQgMzIuMjAyOEMzNzkuODA0IDMzLjI1MzUgMzc5LjI3NSAzNC40MDI2IDM3Ny43NTUgMzQuNDAyNkMzNzcuMzI2IDM0LjQwMjYgMzc2LjkyOSAzNC40MDI2IDM3Ni41MzMgMzQuMzY5M1YzMC4yNjU2QzM3Ni45MjkgMzAuMTY3NiAzNzcuNDI1IDMwLjEzNDMgMzc3LjcyMiAzMC4xMzQzQzM3OS4wMTEgMzAuMTM0MyAzNzkuODA0IDMwLjg4OTggMzc5LjgwNCAzMi4yMDI4Wk0zMzguNjAyIDIyLjgxNDFDMzM3LjkwOSAyMi44NDY2IDMzNy41NDUgMjIuODQ2NiAzMzcuMDgyIDIyLjg0NjZDMzM2LjUyMSAyMi44NDY2IDMzNi4xOSAyMi44NDY2IDMzNS40NjMgMjIuODE0MUwzMzcuMDgyIDE5LjAwNkwzMzguNjAyIDIyLjgxNDFaTTMzMy4xNTEgMzIuMzAwOEMzMzMuMTUxIDMzLjgxMTEgMzMyLjI1OCAzNC43OTU5IDMzMC44MDUgMzQuNzk1OUMzMzAuNTA3IDM0Ljc5NTkgMzMwLjE3NyAzNC43OTU5IDMyOS43OCAzNC43MzAxVjMwLjIzMjdDMzMwLjI0MyAzMC4xNjY5IDMzMC42MzkgMzAuMTMzOSAzMzEuMDM2IDMwLjEzMzlDMzMyLjQyNCAzMC4xMzQzIDMzMy4xNTEgMzEuMDIxMSAzMzMuMTUxIDMyLjMwMDhaTTM2OS41MjggMjMuNjY3NkMzNjkuNTI4IDIyLjAyNiAzNjguNDM4IDIxLjMwMzkgMzY2LjU1NSAyMC41MTYyQzM2NS4yIDE5Ljk1ODMgMzY0LjUwNiAxOS40OTg4IDM2NC41MDYgMTguNDE1MUMzNjQuNTA2IDE3LjQ2MzIgMzY1LjI2NiAxNi44MDY1IDM2Ni41MjEgMTYuODA2NUMzNjcuMzQ4IDE2LjgwNjUgMzY4LjA3NSAxNy4xMDE3IDM2OC43MzUgMTcuNjI3NUMzNjguODAyIDE3LjI2NjQgMzY4Ljk2NyAxNi45MDQ5IDM2OS4xMzEgMTYuNjQyMkMzNjguMzcyIDE2LjI4MTEgMzY3LjQ3OSAxNi4xMTcyIDM2Ni41ODcgMTYuMTE3MkMzNjMuOTQ0IDE2LjExNzIgMzYyLjk4NiAxNy42NiAzNjIuOTg2IDE5LjAwNkMzNjIuOTg2IDIwLjU4MTcgMzYzLjgxMiAyMS4zMzY4IDM2NS44NjEgMjIuMTI0NEMzNjcuMTQ5IDIyLjYxNjkgMzY3LjgxIDIzLjI0MDYgMzY3LjgxIDI0LjM1NjhDMzY3LjgxIDI1LjQ3MyAzNjYuOTUxIDI2LjE5NTIgMzY1Ljc2MiAyNi4xOTUyQzM2NS4wMzUgMjYuMTk1MiAzNjMuODc5IDI1LjgzNDEgMzYzLjA1MiAyNS4xMTE5QzM2My4wMiAyNS41Mzg5IDM2Mi45ODYgMjUuOSAzNjIuODg3IDI2LjI2MTFDMzYzLjM4MyAyNi41MjM4IDM2NC42MDYgMjYuOTE3NCAzNjUuNzI5IDI2LjkxNzRDMzY4LjUwNCAyNi45MTc0IDM2OS41MjggMjUuMjQzMyAzNjkuNTI4IDIzLjY2NzZWMjMuNjY3NloiIGZpbGw9IiMwMzY1NTUiLz4NCjxwYXRoIGQ9Ik02NDAuNDE2IDIwLjU1NzNDNjM4LjY3MSAxOS44MzU0IDYzNy42MzEgMTkuNTU1MSA2MzYuNTk4IDE5LjU1NTFDNjM1LjUxNCAxOS41NTUxIDYzNC44MTkgMTkuOTE3IDYzNC44MTkgMjAuNDc2NUM2MzQuODE5IDIyLjE2NDUgNjQwLjk2MiAyMS42ODkzIDY0MC45NjIgMjUuNTkzNkM2NDAuOTYyIDI3Ljc0NjQgNjM5LjAyNCAyOC45OTc0IDYzNi4zMzIgMjguOTk3NEM2MzQuMjIgMjguOTk3NCA2MzMuMTggMjguNDg4IDYzMS45ODMgMjcuOTExNlYyNS40OTYyQzYzMy43MSAyNi41NjM1IDYzNC43NjggMjYuOTQwMSA2MzYuMTAxIDI2Ljk0MDFDNjM3LjI1NiAyNi45NDAxIDYzNy44NzkgMjYuNTYzNSA2MzcuODc5IDI1LjkwNjNDNjM3Ljg3OSAyNC4wNjg1IDYzMS43MzcgMjQuNzQxNSA2MzEuNzM3IDIwLjcyMTNDNjMxLjczNyAxOC43ODI3IDYzMy41MzQgMTcuNDk5IDYzNi4zMzIgMTcuNDk5QzYzNy42ODIgMTcuNDk5IDYzOC45MDEgMTcuNzYzNSA2NDAuNDE2IDE4LjM3MDdWMjAuNTU3M1pNNjQ5LjAxNiAyOC40ODQxQzY0Ny45OTIgMjguODMwNiA2NDcuMTI2IDI4Ljk5NTQgNjQ2LjI2MiAyOC45OTU0QzY0My40MDIgMjguOTk1NCA2NDEuNTUyIDI3LjQ0MjIgNjQxLjU1MiAyNS4wNzkyQzY0MS41NTIgMjIuNzU5NCA2NDMuNDczIDIxLjEyMDIgNjQ2LjE1NiAyMS4xMjAyQzY0Ni45ODUgMjEuMTIwMiA2NDguMDQ0IDIxLjMxODIgNjQ4Ljg5MSAyMS42MTIzVjIzLjM4ODFDNjQ4LjIyMSAyMy4wNTYyIDY0Ny40NDQgMjIuODc0MSA2NDYuODA5IDIyLjg3NDFDNjQ1LjI3MyAyMi44NzQxIDY0NC4yODYgMjMuNzM0MyA2NDQuMjg2IDI1LjA2MTlDNjQ0LjI4NiAyNi40MDggNjQ1LjI1NiAyNy4yOTQgNjQ2LjcyIDI3LjI5NEM2NDcuMzM3IDI3LjI5NCA2NDcuODg2IDI3LjE2MjMgNjQ5LjAxNiAyNi43NjhMNjQ5LjAxNiAyOC40ODQxWk02NzEuMzIgMjQuMjA5QzY3MS40MjUgMjMuMTU0OCA2NzIuMDgxIDIyLjU0NTcgNjczLjA4NyAyMi41NDU3QzY3NC4wNzYgMjIuNTQ1NyA2NzQuNzQ2IDIzLjE3MjEgNjc0Ljg1MiAyNC4yMDlINjcxLjMyWk02NzIuOTEgMjEuMTIyOUM2NzAuNCAyMS4xMjI5IDY2OC42MTQgMjIuNzc1NSA2NjguNjE0IDI1LjEwMTJDNjY4LjYxNCAyNy40NDQxIDY3MC40NzEgMjguOTk1NCA2NzMuMzM1IDI4Ljk5NTRDNjczLjk3IDI4Ljk5NTQgNjc1LjUwNCAyOC45OTU0IDY3Ni45NjYgMjcuOTg3VjI2LjUwNDJDNjc1Ljc2OSAyNy4yOTkzIDY3NC45NzcgMjcuNTczMSA2NzMuOTU1IDI3LjU3MzFDNjcyLjM0MSAyNy41NzMxIDY3MS4zNTQgMjYuNzk0OSA2NzEuMjY1IDI1LjQ2NjZINjc3LjExQzY3Ny4yMzIgMjIuNjkzOSA2NzUuMjc5IDIxLjEyMjkgNjcyLjkxIDIxLjEyMjlWMjEuMTIyOVpNNjc4LjA5OSAyOC44NTcySDY4MC42NTRWMjEuMjYyN0g2NzguMDk5VjI4Ljg1NzJaTTY4Ny43NjcgMjYuNzgxNUM2ODcuMjM0IDI3LjIyODEgNjg2Ljc5MiAyNy40MDcyIDY4Ni4yNDYgMjcuNDA3MkM2ODUuMDQzIDI3LjQwNzIgNjg0LjI4MSAyNi40ODM4IDY4NC4yODEgMjUuMTAwNEM2ODQuMjgxIDIzLjU4NDEgNjg1LjA0MyAyMi43MTAxIDY4Ni4zMzEgMjIuNzEwMUM2ODYuNzkyIDIyLjcxMDEgNjg3LjM5NCAyMi45MDggNjg3Ljc2NyAyMy4xNTU5VjI2Ljc4MTVaTTY4Ny43NjcgMTcuNjM5MVYyMS41OTU4QzY4Ny4wNzYgMjEuMjg0NyA2ODYuMzg4IDIxLjEyMDIgNjg1LjY0NCAyMS4xMjAyQzY4My4zMTMgMjEuMTIwMiA2ODEuNyAyMi43MjY2IDY4MS43IDI1LjA1MDdDNjgxLjcgMjcuMzI0OCA2ODMuMzEzIDI4Ljk5NzQgNjg1LjUgMjguOTk3NEM2ODYuMzY3IDI4Ljk5NzQgNjg3LjAzNyAyOC43ODU2IDY4Ny43NjcgMjguMjQzNVYyOC44NTQ5SDY5MC4zMjJWMTcuNjM5MUg2ODcuNzY3Wk02OTQuMTA1IDI0LjIwOUM2OTQuMjExIDIzLjE1NDggNjk0Ljg2NCAyMi41NDU3IDY5NS44NjggMjIuNTQ1N0M2OTYuODU4IDIyLjU0NTcgNjk3LjUzNSAyMy4xNzIxIDY5Ny42NDEgMjQuMjA5SDY5NC4xMDVaTTY5NS42OTQgMjEuMTIyOUM2OTMuMTg0IDIxLjEyMjkgNjkxLjQgMjIuNzc1NSA2OTEuNCAyNS4xMDEyQzY5MS40IDI3LjQ0NDEgNjkzLjI1OSAyOC45OTU0IDY5Ni4xMTkgMjguOTk1NEM2OTYuNzUzIDI4Ljk5NTQgNjk4LjI5IDI4Ljk5NTQgNjk5Ljc1NSAyNy45ODdWMjYuNTA0MkM2OTguNTU3IDI3LjI5OTMgNjk3Ljc2MyAyNy41NzMxIDY5Ni43MzYgMjcuNTczMUM2OTUuMTMxIDI3LjU3MzEgNjk0LjE0IDI2Ljc5NDkgNjk0LjA1MSAyNS40NjY2SDY5OS44OTRDNzAwLjAxNSAyMi42OTM5IDY5OC4wNjEgMjEuMTIyOSA2OTUuNjk0IDIxLjEyMjkiIGZpbGw9IiMwMDlFNEQiLz4NCjxwYXRoIGQ9Ik03MDMuNzIxIDIzLjQzNjhINzAzLjc1OEM3MDQuNTE3IDIxLjg1NjIgNzA1LjM2NiAyMS4xMTUgNzA2LjM1MiAyMS4xMTVDNzA2Ljg2MiAyMS4xMTUgNzA3LjMwMyAyMS4yOTY0IDcwOC4wNDQgMjEuODA3Nkw3MDcuMzQxIDIzLjkxMzNDNzA2LjY3IDIzLjUxODYgNzA2LjIyOSAyMy4zNTM1IDcwNS44MjMgMjMuMzUzNUM3MDQuODg2IDIzLjM1MzUgNzA0LjI4NiAyNC4xNzc1IDcwMy43MjEgMjUuNTcwNFYyOC44NDY2SDcwMS4xNjJWMjEuMjU0MUg3MDMuNzIxVjIzLjQzNjhaTTY4MC43NzUgMTguMDY3NEM2ODEuMDE1IDE4LjY1NzUgNjgwLjU4MyAxOS40ODA1IDY3OS44MTQgMTkuOTA0QzY3OS4wNDEgMjAuMzI3MSA2NzguMjI0IDIwLjE5MjggNjc3Ljk4NiAxOS42MDI3QzY3Ny43NDMgMTkuMDExNyA2NzguMTczIDE4LjE4NzcgNjc4Ljk0NSAxNy43NjY2QzY3OS43MTYgMTcuMzQxMSA2ODAuNTMzIDE3LjQ3NTkgNjgwLjc3NSAxOC4wNjc0WiIgZmlsbD0iIzAwOUU0RCIvPg0KPHBhdGggZD0iTTY1OC4yMiAyNC4wMjMxQzY1OC4yMiAyMS45NjUxIDY1Ni43MTkgMjEuMTIyNiA2NTUuMjM5IDIxLjEyMjZDNjU0LjIzMiAyMS4xMjI2IDY1My40MDQgMjEuNTE4NCA2NTIuNjY0IDIyLjM5MjFINjUyLjYyOVYxNy42MzkySDY1MC4wNzFWMjguODM1M0g2NTIuNjI5VjI0LjAyMzFDNjUzLjIyOCAyMy4yMTYxIDY1My43MzggMjIuODcxMSA2NTQuMzM4IDIyLjg3MTFDNjU1LjEzNCAyMi44NzExIDY1NS42NjIgMjMuMzk4NiA2NTUuNjYyIDI0LjUzMjlWMjcuMjAwOEM2NTYuNTIgMjYuNzg5NiA2NTcuMzkzIDI2LjUzNzQgNjU4LjIyIDI2LjQ0MzhWMjQuMDIzMVpNNjY0LjYzNiAyMS4xMTk5QzY2My41OTQgMjEuMTE5OSA2NjIuNzk5IDIxLjQ4MTEgNjYxLjk4NCAyMi4zNDkzVjIxLjI2MjRINjU5LjQyOFYyNi40MjM0QzY2MC4zMTMgMjYuNTA1OCA2NjEuNDQzIDI2Ljg4NDcgNjYxLjk4NCAyNy41MTA0VjIzLjk2MzRDNjYyLjY1NyAyMy4wMjMyIDY2My4xMzQgMjIuNzA5NyA2NjMuNzcgMjIuNzA5N0M2NjQuNDk0IDIyLjcwOTcgNjY1LjA0NSAyMy4xNTU2IDY2NS4wNDUgMjQuMjI2NFYyOC44MzcySDY2Ny42MDJWMjQuMDI4OUM2NjcuNjAyIDIxLjc5MjYgNjY1LjkwOCAyMS4xMTk5IDY2NC42MzYgMjEuMTE5OVYyMS4xMTk5Wk02NjkuMDE1IDMxLjAxODFINjY2LjA0M1YzMi45ODY0SDY2OC45MDlWMzMuODMxMkg2NjYuMDQzVjM1Ljg2MTlINjY5LjEwM1YzNi43MDU1SDY2NS4wNDZWMzAuMTc1Mkg2NjkuMDE1TDY2OS4wMTUgMzEuMDE4MVpNNjcxLjQ0MiAzNi43MDkzSDY3Mi4zNTJWMzAuMTczM0g2NzEuNDQyVjM2LjcwOTNaTTY3Ni44NTkgMzMuMDQ4NEM2NzcuNTA0IDMzLjA0ODQgNjc3LjkwNCAzMy40NjMxIDY3Ny45MzUgMzQuMTE0Mkg2NzUuNjE2QzY3NS43NDIgMzMuNDM0MiA2NzYuMTYxIDMzLjA0ODQgNjc2Ljg1OSAzMy4wNDg0Wk02NzUuNiAzNC42ODFINjc4Ljg0MkM2NzguODQyIDMzLjA4NjkgNjc4LjA2MiAzMi4zMTggNjc2LjgzOCAzMi4zMThDNjc1LjU2OSAzMi4zMTggNjc0LjY4OCAzMy4xOTI0IDY3NC42ODggMzQuNDk2OUM2NzQuNjg4IDM1LjY4OSA2NzUuNDg0IDM2Ljc4OTggNjc2LjkxNyAzNi43ODk4QzY3Ny42OTggMzYuNzg5OCA2NzguMjAzIDM2LjYyODEgNjc4Ljc2MyAzNi4yODJWMzUuNDU2QzY3OC4yMjIgMzUuNzg1NiA2NzcuNjk4IDM1Ljk3NTggNjc3LjE0NyAzNS45NzU4QzY3Ni4yNjUgMzUuOTc1OCA2NzUuNzQyIDM1LjUzNSA2NzUuNiAzNC42ODA2VjM0LjY4MVpNNjg0Ljc4NiAzMy41MzA5QzY4NC4yNjMgMzMuMTk2NiA2ODMuOTE0IDMzLjA5ODUgNjgzLjUxNSAzMy4wOTg1QzY4Mi42ODIgMzMuMDk4NSA2ODIuMTA1IDMzLjY5NDUgNjgyLjEwNSAzNC41NjdDNjgyLjEwNSAzNS40NTYgNjgyLjcxOSAzNS45OTE2IDY4My42NjggMzUuOTkxNkM2ODQuMDU4IDM1Ljk5MTYgNjg0LjQzIDM1Ljg5NzMgNjg0Ljg4OCAzNS43MDU5VjM2LjU0MjZDNjg0LjU4MiAzNi42Nzc0IDY4My45OTcgMzYuNzg5OCA2ODMuNTE1IDM2Ljc4OThDNjgyLjEzNiAzNi43ODk4IDY4MS4xOCAzNS45MDYyIDY4MS4xOCAzNC42NDMyQzY4MS4xOCAzMy4yMTc4IDY4Mi4wNTQgMzIuMzE4IDY4My40NTMgMzIuMzE4QzY4My45ODcgMzIuMzE4IDY4NC4zNDYgMzIuNDMzOSA2ODQuNzg3IDMyLjYxNDVMNjg0Ljc4NiAzMy41MzA5Wk02ODguOTM0IDMyLjQwMDRINjkwLjM5NVYzMy4xNjUxSDY4OC45MzRWMzUuMzc1MkM2ODguOTM0IDM1Ljg4MTEgNjg5LjMyNyAzNi4wMjc0IDY4OS41OTMgMzYuMDI3NEM2ODkuOTIyIDM2LjAyNzQgNjkwLjI2MiAzNS45MiA2OTAuNjMgMzUuNzA3OVYzNi41MDM3QzY5MC4zMSAzNi42Njc4IDY4OS44MiAzNi43ODk4IDY4OS41MTkgMzYuNzg5OEM2ODguNTI4IDM2Ljc4OTggNjg4LjAyNyAzNi4yMTYxIDY4OC4wMjcgMzUuNDM5MVYzMy4xNjUxSDY4Ny4yMjRWMzMuMDcwM0w2ODguOTM0IDMxLjUxMDJWMzIuNDAwNFpNNjkzLjg3NiAzMi40MDA0VjMzLjM5NjlINjkzLjg5NUM2OTQuMzU5IDMyLjYzNDUgNjk0LjggMzIuMzE4IDY5NS4yMyAzMi4zMThDNjk1LjYwMSAzMi4zMTggNjk1Ljk0NyAzMi40ODAxIDY5Ni4zMjkgMzIuODE2Nkw2OTUuODQ3IDMzLjU2NDRDNjk1LjU3IDMzLjMwOTEgNjk1LjIxMSAzMy4xMzMxIDY5NC45OTUgMzMuMTMzMUM2OTQuMzY4IDMzLjEzMzEgNjkzLjg3NiAzMy43MjY4IDY5My44NzYgMzQuNDYyNlYzNi43MDkzSDY5Mi45NjdWMzIuNDAwNEg2OTMuODc2Wk03MDUuNjU3IDMzLjUzMDlDNzA1LjEzMSAzMy4xOTY2IDcwNC43ODIgMzMuMDk4NSA3MDQuMzgxIDMzLjA5ODVDNzAzLjU0OSAzMy4wOTg1IDcwMi45NzcgMzMuNjk0NSA3MDIuOTc3IDM0LjU2N0M3MDIuOTc3IDM1LjQ1NiA3MDMuNTkyIDM1Ljk5MTYgNzA0LjUzNSAzNS45OTE2QzcwNC45MjUgMzUuOTkxNiA3MDUuMjk1IDM1Ljg5NzMgNzA1Ljc2IDM1LjcwNTlWMzYuNTQyNkM3MDUuNDQ3IDM2LjY3NzQgNzA0Ljg2MiAzNi43ODk4IDcwNC4zOCAzNi43ODk4QzcwMy4wMDQgMzYuNzg5OCA3MDIuMDQ0IDM1LjkwNjIgNzAyLjA0NCAzNC42NDMyQzcwMi4wNDQgMzMuMjE3OCA3MDIuOTIyIDMyLjMxOCA3MDQuMzIgMzIuMzE4QzcwNC44NTUgMzIuMzE4IDcwNS4yMTIgMzIuNDMzOSA3MDUuNjU3IDMyLjYxNDVMNzA1LjY1NyAzMy41MzA5Wk02OTguNzQyIDM2LjcwOTNINjk5LjY1MlYzMi40MDA4SDY5OC43NDJWMzYuNzA5M1oiIGZpbGw9IiMwMDlFNEQiLz4NCjxwYXRoIGQ9Ik02OTkuNjg0IDMwLjg1MjVDNjk5Ljc3MyAzMS4wNjA0IDY5OS42MTggMzEuMzU0NCA2OTkuMzQ0IDMxLjUwNDFDNjk5LjA2OCAzMS42NTQzIDY5OC43NzYgMzEuNjA2MiA2OTguNjkzIDMxLjM5NzhDNjk4LjYxIDMxLjE4NzQgNjk4Ljc2MSAzMC44OTU4IDY5OS4wMzggMzAuNzQ1NkM2OTkuMzExIDMwLjU5MzUgNjk5LjYwMSAzMC42NDIxIDY5OS42ODQgMzAuODUyNVYzMC44NTI1Wk02NTguOTQgMzEuMjAwOUM2NTguNzc5IDMxLjIwMDkgNjU4LjcxMSAzMS4yMjU1IDY1OC42NDYgMzEuMjkzOEM2NTguNjIgMzEuMzIwMyA2NTguNjEgMzEuMzQ3MiA2NTguNiAzMS40MDExTDY1Ny43ODQgMzQuMjg3QzY1Ny41OTMgMzUuMjk5MiA2NTYuMjU5IDM2LjMwOTkgNjU0LjUyMSAzNi4zMDk5SDY1Mi4xMDRMNjUyLjUyMyAzNC44MjdINjU0LjA3NkM2NTQuMjM0IDM0LjgyNyA2NTQuMzU4IDM0Ljc3MjEgNjU0LjQ2MiAzNC42NjQzQzY1NC41IDM0LjYyMjUgNjU0LjU1IDM0LjU1NyA2NTQuNTU2IDM0LjQ4OTZMNjU1LjIwMSAzMS45NjgxQzY1NS4zOTEgMzAuOTU1NSA2NTYuNTM4IDI5LjgzNjkgNjU4LjI3NiAyOS44MzY5SDY2MC43NTFMNjYwLjQzNSAzMS4yMDA5SDY1OC45NFpNNjU5LjQ5NyAzMi45NTk2TDY1OS43NzMgMzIuMDI1OUg2NjIuMjg4QzY2Mi41OTggMzAuNjcyIDY2Mi4zNTQgMjkuNDE3NyA2NjEuNDczIDI4LjU5NjFDNjU5LjY4OSAyNi45MzMyIDY1NS45NTcgMjcuNDk4MyA2NTMuMTc3IDI5Ljk3NzlDNjUyLjc0MyAzMC4zNjMgNjUyLjM3NiAzMC43NzkzIDY1Mi4wNDIgMzEuMjA0OEg2NTMuNTU2TDY1My4yMDQgMzIuMTQwNEg2NTEuMzk1QzY1MS4yMjIgMzIuNDM1NCA2NTEuMDYgMzIuNzI4MSA2NTAuOTM2IDMzLjAyNUg2NTMuMDgxTDY1Mi43MzcgMzMuOTYwN0g2NTAuNjNDNjUwLjI2OSAzNS4zOTAxIDY1MC40OTkgMzYuNzIzMyA2NTEuNDA2IDM3LjU2OTlDNjUzLjE2NyAzOS4yMTE2IDY1Ni44ODggMzguNjM0NiA2NTkuNjY3IDM2LjE1NTRDNjYwLjE1MyAzNS43MjQyIDY2MC41NTUgMzUuMjU4NyA2NjAuOTE4IDM0Ljc4MDhINjU4Ljk3M0w2NTkuMjY5IDMzLjg0NzFINjYxLjU0M0M2NjEuNzEgMzMuNTUwMSA2NjEuODYzIDMzLjI1NjUgNjYxLjk4MyAzMi45NTk2SDY1OS40OTdaIiBmaWxsPSIjMDA5RTREIi8+DQo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNThfMTExKSI+DQo8cGF0aCBkPSJNNzc1LjA2OCA0MS4yMjc0Qzc2Ni4yODUgNDIuMDQ2MyA3NTcuMTMxIDQwLjc1NjQgNzU1Ljg0OCAzMy44MTlDNzU1LjIyMSAzMC4zOTkgNzU2Ljc2NSAyNi43NzI1IDc1OC44MSAyNC41MTg0VjIzLjMxNDhDNzU1LjEyNiAyNi41OCA3NTMuMTMgMzAuNzExNSA3NTQuMjggMzUuNTkyQzc1NS43NDggNDEuODUxOCA3NjMuNjAzIDQ1LjM5NjcgNzc1LjU5NSA0NC4yMTk1Qzc4MC4zNDIgNDMuNzU0NSA3ODYuNTUgNDIuMjEyIDc5MC44NjkgMzkuODE0NFYzNi40MTA5Qzc4Ni45NDkgMzguNzcxMyA3ODAuNDY4IDQwLjcyMTEgNzc1LjA2OCA0MS4yMjc0VjQxLjIyNzRaTTc5OC4yMDUgMjMuMjMzNUM3OTYuMTIyIDEyLjk1MzMgNzc2LjM3MyAxMi4zMDE2IDc2My42NDMgMjAuMTMzOFYyMC45OTg5Qzc3Ni4zNTkgMTQuMzkxNSA3OTQuMzk1IDE0LjQzMTcgNzk2LjAzNyAyMy45MDE2Qzc5Ni41ODkgMjcuMDM0MiA3OTQuODQzIDMwLjI5NzggNzkxLjcyMyAzMi4xNzdWMzQuNjM0MkM3OTUuNDc2IDMzLjI0MzIgNzk5LjMyNCAyOC43NDQyIDc5OC4yMDUgMjMuMjMzNVYyMy4yMzM1WiIgZmlsbD0iIzBFN0RDMiIvPg0KPHBhdGggZD0iTTc5MC4xNTkgMjEuNzM2OEg3ODcuODU2VjMyLjEwM0M3ODcuODU2IDMzLjMxNzkgNzg4LjQzNyAzNC4zNzQ0IDc5MC4xNTkgMzQuNTQzMlYyMS43MzY4Wk03NjIuNzM5IDI1LjUyMTdINzYwLjQzMkw3NjAuNDMxIDMyLjI5NDNDNzYwLjQzMSAzMy41MTM0IDc2MS4wMTMgMzQuNTY4OCA3NjIuNzM5IDM0LjczNDRWMjUuNTIxN1YyNS41MjE3Wk03NjAuNDMyIDIyLjA1MjFINzYyLjczMlYyNC4yNTg0SDc2MC40MzJWMjIuMDUyMVpNNzc2LjUzIDM0LjYyNzJDNzc0LjY2NiAzNC42MjcyIDc3My44NzcgMzMuMzE3NyA3NzMuODc3IDMyLjAyOFYyMy4wMzU1SDc3Ni4xNlYyNS41MjE3SDc3Ny44NzlWMjcuMzg1M0g3NzYuMTZWMzEuODg1NEM3NzYuMTYgMzIuNDExMyA3NzYuNDA3IDMyLjcwNDQgNzc2Ljk1IDMyLjcwNDRINzc3Ljg3OVYzNC42MjcyTDc3Ni41MyAzNC42MjcyVjM0LjYyNzJaTTc4MC43MzEgMzAuNzk2MUM3ODAuNzMxIDMxLjk3NjggNzgxLjQ2MSAzMi44NDQ2IDc4Mi43NTQgMzIuODQ0NkM3ODMuNzY2IDMyLjg0NDYgNzg0LjI2NiAzMi41NjA1IDc4NC44NSAzMS45NzY4TDc4Ni4yNjEgMzMuMzM0OUM3ODUuMzU3IDM0LjIzNzkgNzg0LjQwOSAzNC43ODcgNzgyLjczNyAzNC43ODdDNzgwLjU1MiAzNC43ODcgNzc4LjQ1OSAzMy41ODE5IDc3OC40NTkgMzAuMDY4NkM3NzguNDU5IDI3LjA2NTEgNzgwLjI4OCAyNS4zNjczIDc4Mi42ODYgMjUuMzY3M0M3ODUuMTI0IDI1LjM2NzMgNzg2LjUyNSAyNy4zNTQ5IDc4Ni41MjUgMjkuOTYzOVYzMC43OTYzSDc4MC43MzFWMzAuNzk2MVpNNzgyLjU4NiAyNy4yNzU2Qzc4MS44MDUgMjcuMjc1NiA3ODEuMjA0IDI3LjY4MjMgNzgwLjk1IDI4LjIzMDlDNzgwLjgwMiAyOC41NjA3IDc4MC43NDcgMjguODE3NyA3ODAuNzMxIDI5LjIyMjlINzg0LjI0OUM3ODQuMjA0IDI4LjIzMDkgNzgzLjc1OSAyNy4yNzU2IDc4Mi41ODYgMjcuMjc1NlpNNzY4LjkzOSAyNy4zODUzQzc2OS42MDggMjcuMzg1MyA3NjkuODg3IDI3LjcxOTggNzY5Ljg4NyAyOC4yNjI2VjM0LjY0MDZINzcyLjE3VjI4LjI0OTJDNzcyLjE3IDI2Ljk1NDIgNzcxLjQ4NyAyNS41MjQxIDc2OS40ODIgMjUuNTI0MUw3NjQuNzY2IDI1LjUyMTdWMzQuNjQwNkg3NjcuMDVWMjcuMzg1M0g3NjguOTM5VjI3LjM4NTNaTTc5Mi42MzcgMjMuNTg5MUM3OTIuMTI5IDIzLjU4OTEgNzkxLjcyNCAyMy4xNzU0IDc5MS43MjQgMjIuNjYyOUM3OTEuNzI0IDIyLjE1MjkgNzkyLjEyOSAyMS43MzY4IDc5Mi42MzcgMjEuNzM2OEM3OTMuMTQyIDIxLjczNjggNzkzLjU1NiAyMi4xNTI5IDc5My41NTYgMjIuNjYyOUM3OTMuNTU2IDIzLjE3NTQgNzkzLjE0MiAyMy41ODkxIDc5Mi42MzcgMjMuNTg5MVpNNzkyLjYzNyAyMS44OTEyQzc5Mi4yMTggMjEuODkxMiA3OTEuODgyIDIyLjI0MDcgNzkxLjg4MiAyMi42NjI5Qzc5MS44ODIgMjMuMDg3NiA3OTIuMjE4IDIzLjQzMDkgNzkyLjYzNyAyMy40MzA5Qzc5My4wNTUgMjMuNDMwOSA3OTMuNDAyIDIzLjA4NzYgNzkzLjQwMiAyMi42NjI5Qzc5My40MDIgMjIuMjQwNyA3OTMuMDU1IDIxLjg5MTIgNzkyLjYzNyAyMS44OTEyWk03OTMuMDQzIDIzLjIxOEg3OTIuODcyQzc5Mi44NjQgMjMuMjE3OSA3OTIuODU3IDIzLjIxNTcgNzkyLjg1MSAyMy4yMTE2Qzc5Mi44NDUgMjMuMjA3NSA3OTIuODQgMjMuMjAxNyA3OTIuODM3IDIzLjE5NDlMNzkyLjYwNSAyMi43OTdDNzkyLjU5OCAyMi43ODg1IDc5Mi41NzkgMjIuNzc4OCA3OTIuNTczIDIyLjc3ODhINzkyLjQ2N1YyMy4xNzU0Qzc5Mi40NjcgMjMuMTk1IDc5Mi40NTMgMjMuMjE4MSA3OTIuNDI4IDIzLjIxODFINzkyLjI3NEM3OTIuMjUxIDIzLjIxODEgNzkyLjIzNSAyMy4xOTUgNzkyLjIzNSAyMy4xNzU0VjIyLjE3NDlDNzkyLjIzNSAyMi4xMTY0IDc5Mi4yNTQgMjIuMDkyNCA3OTIuMzA1IDIyLjA4NUM3OTIuMzYxIDIyLjA3OSA3OTIuNTA1IDIyLjA3MTYgNzkyLjU4NiAyMi4wNzE2Qzc5Mi44NzIgMjIuMDcxNiA3OTMuMDM5IDIyLjE1NjYgNzkzLjAzOSAyMi40MjQ0VjIyLjQ0NEM3OTMuMDM5IDIyLjYwOTQgNzkyLjk1OSAyMi42OTk1IDc5Mi44MzMgMjIuNzM5N0w3OTMuMDc0IDIzLjE1NDdDNzkzLjA3OCAyMy4xNjQgNzkzLjA4IDIzLjE3MzkgNzkzLjA4IDIzLjE4NEM3OTMuMDggMjMuMTk5NyA3OTMuMDcyIDIzLjIxOCA3OTMuMDQzIDIzLjIxOFYyMy4yMThaTTc5Mi44MjEgMjIuNDI0NEM3OTIuODIxIDIyLjMxMjcgNzkyLjc1MiAyMi4yNzczIDc5Mi42MDUgMjIuMjc3M0g3OTIuNDU5VjIyLjU5NDdDNzkyLjQ4MiAyMi41OTQ3IDc5Mi41ODYgMjIuNTk5NiA3OTIuNjA1IDIyLjU5OTZDNzkyLjc1MiAyMi41OTk2IDc5Mi44MjEgMjIuNTUgNzkyLjgyMSAyMi40NDRWMjIuNDI0NFoiIGZpbGw9IiMwRTdEQzIiLz4NCjwvZz4NCjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMV81OF8xMTEpIj4NCjxwYXRoIGQ9Ik01MzMuNzczIDIwLjk5MTFDNTI5LjI2MyAyMC45OTExIDUyNS41OTkgMjQuNjU0NyA1MjUuNTk5IDI5LjE2NDRDNTI1LjU5OSAzMy42NzQxIDUyOS4yNjMgMzcuMzM3NyA1MzMuNzczIDM3LjMzNzdDNTM4LjI4MiAzNy4zMzc3IDU0MS45NDYgMzMuNjc0MSA1NDEuOTQ2IDI5LjE2NDRDNTQxLjk0NiAyNC42NTQ3IDUzOC4yODIgMjAuOTkxMSA1MzMuNzczIDIwLjk5MTFaTTUzMy43NzMgMzYuNTE4NkM1MjkuNzEzIDM2LjUxODYgNTI2LjQxOSAzMy4yMTUgNTI2LjQxOSAyOS4xNjQ0QzUyNi40MTkgMjUuMTEzNyA1MjkuNzEzIDIxLjgxMDIgNTMzLjc3MyAyMS44MTAyQzUzNy44MzIgMjEuODEwMiA1NDEuMTI3IDI1LjExMzcgNTQxLjEyNyAyOS4xNjQ0QzU0MS4xMjcgMzMuMjE1IDUzNy44MzIgMzYuNTE4NiA1MzMuNzczIDM2LjUxODZaIiBmaWxsPSJibGFjayIvPg0KPHBhdGggZD0iTTUzNi42OSAyMy45MjUyQzUzNi42NjMgMjMuOTA3MiA1MzYuNjI3IDIzLjg5ODIgNTM2LjU5MSAyMy44OTgyQzUzNi40ODMgMjMuODk4MiA1MzYuNDAyIDIzLjk3OTIgNTM2LjQwMiAyNC4wODczVjI2LjY0MzdDNTM2LjQwMiAyNi43MzM3IDUzNi4zMyAyNi44MDU3IDUzNi4yNCAyNi44MDU3SDUzMS4yOUM1MzEuMiAyNi44MDU3IDUzMS4xMzcgMjYuNzMzNyA1MzEuMTI4IDI2LjY0MzdWMjQuMDg3M0M1MzEuMTI4IDI0LjA1MTMgNTMxLjExOSAyNC4wMjQyIDUzMS4xMDEgMjMuOTg4MkM1MzEuMDQ3IDIzLjg5ODIgNTMwLjkzIDIzLjg3MTIgNTMwLjgzOSAyMy45MjUyQzUyOS4wMTIgMjUuMDUwNCA1MjcuOTA1IDI3LjAwMzcgNTI3LjkwNSAyOS4xNjQxQzUyNy45MDUgMzEuMzI0NCA1MjkuMDEyIDMzLjI3NzcgNTMwLjg1NyAzNC40MDI5QzUzMC44ODUgMzQuNDIwOSA1MzAuOTIxIDM0LjQyOTkgNTMwLjk1NyAzNC40Mjk5QzUzMS4wNjUgMzQuNDI5OSA1MzEuMTQ2IDM0LjM0ODkgNTMxLjE0NiAzNC4yNDA5VjMxLjY4NDVDNTMxLjE0NiAzMS41OTQ0IDUzMS4yMTggMzEuNTMxNCA1MzEuMzA4IDMxLjUyMjRINTM2LjI1OEM1MzYuMzQ4IDMxLjUyMjQgNTM2LjQyIDMxLjU5NDQgNTM2LjQyIDMxLjY4NDVWMzQuMjQwOUM1MzYuNDIgMzQuMjc2OSA1MzYuNDI5IDM0LjMwMzkgNTM2LjQ0NyAzNC4zMzk5QzUzNi41MDEgMzQuNDI5OSA1MzYuNjE4IDM0LjQ1NjkgNTM2LjcwOCAzNC40MDI5QzUzOC41NTQgMzMuMjc3NyA1MzkuNjYxIDMxLjMyNDQgNTM5LjY2MSAyOS4xNjQxQzUzOS42NjEgMjcuMDAzNyA1MzguNTM2IDI1LjA1MDQgNTM2LjY5IDIzLjkyNTJWMjMuOTI1MlpNNTMwLjE5MSAzMi4zNjg2TDUzMC4yMTggMzIuNjc0Nkw1MzAuMDIgMzIuNDMxNkM1MjguNDk5IDMwLjUxNDMgNTI4LjQ5OSAyNy44MDQ4IDUzMC4wMiAyNS44ODc1TDUzMC4xOTEgMjUuNjcxNUw1MzAuMjE4IDI1LjY0NDVMNTMwLjE5MSAyNS45NTk2QzUzMC4xNjQgMjYuMjExNiA1MzAuMTU1IDI2LjQ3MjYgNTMwLjE1NSAyNi43MzM3VjMxLjU4NTRDNTMwLjE1NSAzMS44NDY1IDUzMC4xNzMgMzIuMTA3NSA1MzAuMTkxIDMyLjM2ODZaTTUzNi40MDIgMzAuMzg4M0M1MzYuNDAyIDMwLjQ3ODMgNTM2LjMzIDMwLjU1MDMgNTM2LjI0IDMwLjU1MDNINTMxLjI5QzUzMS4yIDMwLjU1MDMgNTMxLjEzNyAzMC40NzgzIDUzMS4xMjggMzAuMzg4M1YyNy45Mzk5QzUzMS4xMjggMjcuODQ5OSA1MzEuMiAyNy43Nzc4IDUzMS4yOSAyNy43Nzc4SDUzNi4yNEM1MzYuMzMgMjcuNzc3OCA1MzYuNDAyIDI3Ljg0OTkgNTM2LjQwMiAyNy45Mzk5VjMwLjM4ODNaTTUzNy41MTkgMzIuNDMxNkw1MzcuMzIxIDMyLjY3NDZMNTM3LjM0OCAzMi4zNjg2QzUzNy4zNzUgMzIuMTE2NSA1MzcuMzg0IDMxLjg1NTUgNTM3LjM4NCAzMS41OTQ0VjI2LjczMzdDNTM3LjM4NCAyNi40NzI2IDUzNy4zNzUgMjYuMjExNiA1MzcuMzQ4IDI1Ljk1OTZMNTM3LjMzOSAyNS44MjQ1TDUzNy4zMyAyNS42ODA1VjI1LjY0NDVMNTM3LjUxOSAyNS44ODc1QzUzOC4yNTcgMjYuODA1NyA1MzguNjYyIDI3Ljk3NTkgNTM4LjY2MiAyOS4xNTUxQzUzOC42NjIgMzAuMzM0MiA1MzguMjU3IDMxLjUxMzQgNTM3LjUxOSAzMi40MzE2VjMyLjQzMTZaIiBmaWxsPSJibGFjayIvPg0KPHBhdGggZD0iTTU1NC4yNzYgMjkuMDIwMkM1NTQuMjMxIDI5LjAwMjIgNTU0LjE3NyAyOC45ODQyIDU1NC4xNzcgMjguOTMwMkM1NTQuMTc3IDI4Ljg5NDIgNTU0LjE5NSAyOC44NjcyIDU1NC4yMzEgMjguODQ5MkM1NTQuMjk0IDI4LjgyMjIgNTU1Ljg1MSAyOC4yNjQxIDU1NS44NTEgMjYuNDI3OEM1NTUuODUxIDI0LjM4NDUgNTU0LjQ3NCAyMy4xNjkzIDU1Mi4xNTIgMjMuMTY5M0g1NDYuNTI2VjM1LjE3NzJINTUyLjY2NUM1NTQuNDU2IDM1LjE3NzIgNTU2LjM4MiAzMy45MDggNTU2LjM4MiAzMS44NjQ2QzU1Ni4zODIgMjkuOTExMyA1NTQuOTA2IDI5LjIyNzIgNTU0LjI3NiAyOS4wMjAyVjI5LjAyMDJaTTU0OS4zNjEgMjUuNjI2N0M1NDkuMzYxIDI1LjU4MTcgNTQ5LjM5NyAyNS41NDU2IDU0OS40NDIgMjUuNTQ1Nkg1NTEuNjc1QzU1Mi40MTMgMjUuNTQ1NiA1NTIuOTE3IDI2LjA0MDcgNTUyLjkxNyAyNi43Nzg4QzU1Mi45MTcgMjcuMzU0OSA1NTIuNDY3IDI3Ljk3NiA1NTEuNjIxIDI3Ljk3Nkg1NDkuNDQyQzU0OS4zOTcgMjcuOTc2IDU0OS4zNjEgMjcuOTQgNTQ5LjM2MSAyNy44OTVWMjUuNjI2N1pNNTUxLjY3NSAzMi44MDk4SDU0OS40NDJDNTQ5LjM5NyAzMi44MDk4IDU0OS4zNjEgMzIuNzczOCA1NDkuMzYxIDMyLjcyODhWMzAuMzM0NEM1NDkuMzYxIDMwLjI4OTQgNTQ5LjM5NyAzMC4yNTM0IDU0OS40NDIgMzAuMjUzNEg1NTEuNjIxQzU1Mi42OTIgMzAuMjUzNCA1NTMuMzA0IDMwLjcxMjUgNTUzLjMwNCAzMS41MjI2QzU1My4zMDQgMzIuMzU5NyA1NTIuNzM3IDMyLjgwOTggNTUxLjY3NSAzMi44MDk4VjMyLjgwOThaTTU3NS4zODQgMjcuOTQ5TDU3NC45NTIgMjcuODU5QzU3My45OCAyNy42NTIgNTczLjAzNSAyNy4zOTA5IDU3My4wMzUgMjYuNTUzOEM1NzMuMDM1IDI1LjcxNjcgNTczLjgxOCAyNS4zMzg2IDU3NC41OTIgMjUuMzM4NkM1NzUuNTAxIDI1LjMzODYgNTc2LjQwMSAyNS43NDM3IDU3Ny4wODYgMjYuNDQ1OEw1NzguODY4IDI0LjY4MTVDNTc4LjEwMyAyMy44MzU0IDU3Ni43NDQgMjIuODYzMiA1NzQuNTQ3IDIyLjg2MzJDNTcxLjkwMSAyMi44NjMyIDU3MC4xMTggMjQuMzY2NSA1NzAuMTE4IDI2LjYwNzhDNTcwLjExOCAyOC45NzUyIDU3MS45ODIgMjkuODY2MyA1NzMuNTQ4IDMwLjE5OTRMNTczLjk3MSAzMC4yODk0QzU3NS40OTIgMzAuNjEzNSA1NzYuMjEyIDMwLjg1NjUgNTc2LjIxMiAzMS43MjA2QzU3Ni4yMTIgMzIuNDk0NyA1NzUuNTE5IDMzLjAwNzggNTc0LjQ5MyAzMy4wMDc4QzU3My4yODcgMzMuMDA3OCA1NzIuMjE2IDMyLjQ3NjcgNTcxLjQwNiAzMS40Nzc2TDU2OS41NzggMzMuMjY4OUM1NzAuNTUxIDM0LjQyMTEgNTcxLjgzOCAzNS40NjUyIDU3NC41MjkgMzUuNDY1MkM1NzYuODI1IDM1LjQ2NTIgNTc5LjE1NiAzNC4xMzMgNTc5LjE1NiAzMS41NzY2QzU3OS4xNDcgMjguOTU3MiA1NzcuMzY1IDI4LjM2MzEgNTc1LjM4NCAyNy45NDlWMjcuOTQ5Wk01OTkuMTAzIDIzLjE2OTNWMjcuNTYyQzU5OS4xMDMgMjcuNjA3IDU5OS4wNjcgMjcuNjQzIDU5OS4wMjIgMjcuNjQzSDU5NS4zMzFDNTk1LjI4NiAyNy42NDMgNTk1LjI1IDI3LjYwNyA1OTUuMjUgMjcuNTYyVjIzLjE2OTNINTkyLjIyNlYzNS4xNzcySDU5NS4yNVYzMC40NjA0QzU5NS4yNSAzMC40MTU0IDU5NS4yODYgMzAuMzc5NCA1OTUuMzMxIDMwLjM3OTRINTk5LjAyMkM1OTkuMDY3IDMwLjM3OTQgNTk5LjEwMyAzMC40MTU0IDU5OS4xMDMgMzAuNDYwNFYzNS4xNzcySDYwMi4xNDZWMjMuMTY5M0g1OTkuMTAzWk01ODYuMTQxIDMyLjcxOThDNTg0Ljc4MiAzMi43MTk4IDU4My4zMTUgMzEuNTg1NiA1ODMuMzE1IDI5LjA5MjJDNTgzLjMxNSAyNi44MTQ4IDU4NC42OTIgMjUuNjI2NyA1ODYuMDUxIDI1LjYyNjdDNTg3LjA0MSAyNS42MjY3IDU4Ny43MzQgMjYuMDQwNyA1ODguMjgzIDI2Ljk1ODlMNTkwLjYwNiAyNS40MTk2QzU4OS40MTggMjMuNjczMyA1ODguMDA0IDIyLjg4MTIgNTg2LjAzMyAyMi44ODEyQzU4Mi4xNzEgMjIuODgxMiA1ODAuNDQzIDI2LjAwNDcgNTgwLjQ0MyAyOS4wOTIyQzU4MC40NDMgMzIuODQ1OCA1ODIuNzI5IDM1LjQ2NTIgNTg1Ljk5NyAzNS40NjUyQzU4OC40MjcgMzUuNDY1MiA1ODkuNTM1IDM0LjU3NDEgNTkwLjY5NiAzMi45MjY4TDU4OC4zNTUgMzEuMzUxNkM1ODcuODMzIDMyLjE5NzcgNTg3LjI2NiAzMi43MTk4IDU4Ni4xNDEgMzIuNzE5OFpNNTYzLjE3OCAyMi44NjMyQzU1OS44NzUgMjIuODYzMiA1NTcuNjYxIDI1LjM5MjYgNTU3LjY2MSAyOS4xNjQyQzU1Ny42NjEgMzIuOTM1OCA1NTkuODc1IDM1LjQ2NTIgNTYzLjE3OCAzNS40NjUyQzU2Ni40ODIgMzUuNDY1MiA1NjguNjk2IDMyLjkzNTggNTY4LjY5NiAyOS4xNjQyQzU2OC42OTYgMjUuMzkyNiA1NjYuNDgyIDIyLjg2MzIgNTYzLjE3OCAyMi44NjMyVjIyLjg2MzJaTTU2My4xNzggMzIuNzE5OEM1NjEuNTU4IDMyLjcxOTggNTYwLjUxNCAzMS4zMjQ2IDU2MC41MTQgMjkuMTY0MkM1NjAuNTE0IDI3LjAxMjkgNTYxLjU1OCAyNS42MjY3IDU2My4xNzggMjUuNjI2N0M1NjQuODA4IDI1LjYyNjcgNTY1Ljg2MSAyNy4wMTI5IDU2NS44NjEgMjkuMTY0MkM1NjUuODYxIDMxLjMyNDYgNTY0LjgwOCAzMi43MTk4IDU2My4xNzggMzIuNzE5OFoiIGZpbGw9IiNGODAwMDAiLz4NCjwvZz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTQ2LjM0NCAyMi4xODExQzE0Ny41OTUgMjIuMjg1NCAxNDguODQ1IDIxLjU1NTMgMTQ5LjYyNyAyMC42Mjk4QzE1MC4zOTUgMTkuNjc4MSAxNTAuOTAzIDE4LjQwMDUgMTUwLjc3MyAxNy4wOTY5QzE0OS42NjYgMTcuMTQ5MSAxNDguMjk4IDE3LjgyNjkgMTQ3LjUxNyAxOC43Nzg2QzE0Ni44IDE5LjU5OTkgMTQ2LjE4OCAyMC45Mjk2IDE0Ni4zNDQgMjIuMTgxMVpNMTQ3Ljg0MSAyMy4wNzk3QzE0OC42NTMgMjIuNzYwNiAxNDkuNjU4IDIyLjM2NTYgMTUwLjc2IDIyLjQyOTFDMTUxLjQ2MyAyMi40ODEyIDE1My40OTUgMjIuNjg5OCAxNTQuNzk4IDI0LjYxOTJDMTU0Ljc5MiAyNC42MjM3IDE1NC43NzggMjQuNjMyMyAxNTQuNzU5IDI0LjY0NUMxNTQuNDM2IDI0Ljg1NDggMTUyLjM5IDI2LjE4NzEgMTUyLjQxNCAyOC44MTY5QzE1Mi40MzkgMzEuOTQ5OSAxNTQuOTg4IDMzLjExODMgMTU1LjMyMiAzMy4yNzExQzE1NS4zNDQgMzMuMjgxMSAxNTUuMzU2IDMzLjI4NjcgMTU1LjM1OCAzMy4yODgzQzE1NS4zNTYgMzMuMjkyNiAxNTUuMzU0IDMzLjMwMSAxNTUuMzUgMzMuMzEzM0MxNTUuMjgzIDMzLjUyODggMTU0Ljg0NSAzNC45NDg5IDE1My44NDcgMzYuNDA0QzE1Mi45MjIgMzcuNzU5OCAxNTEuOTcxIDM5LjA4OTUgMTUwLjQ2IDM5LjExNTZDMTQ5Ljc0OSAzOS4xMjgzIDE0OS4yNyAzOC45MjExIDE0OC43NzIgMzguNzA1NEMxNDguMjQ3IDM4LjQ3ODUgMTQ3LjcwMSAzOC4yNDIyIDE0Ni44NCAzOC4yNDIyQzE0NS45NDcgMzguMjQyMiAxNDUuMzc2IDM4LjQ4NDggMTQ0LjgyNiAzOC43MTg0QzE0NC4zNDggMzguOTIxNCAxNDMuODg3IDM5LjExNzQgMTQzLjI0NSAzOS4xNDE3QzE0MS43ODYgMzkuMTkzOCAxNDAuNjc5IDM3LjcwNzcgMTM5Ljc1NCAzNi4zNTE5QzEzNy44NjYgMzMuNjE0MyAxMzYuNDIgMjguNjM0NCAxMzguMzc0IDI1LjI3MUMxMzkuMzI1IDIzLjU4OTMgMTQxLjA1NyAyMi41MzM0IDE0Mi45MTkgMjIuNTA3M0MxNDMuNzMyIDIyLjQ5MjUgMTQ0LjUwNyAyMi44MDA2IDE0NS4xODQgMjMuMDcwMUMxNDUuNzAyIDIzLjI3NTggMTQ2LjE2MiAyMy40NTg5IDE0Ni41NCAyMy40NTg5QzE0Ni44NzcgMjMuNDU4OSAxNDcuMzE5IDIzLjI4NTEgMTQ3Ljg0MSAyMy4wNzk3WiIgZmlsbD0iYmxhY2siLz4NCjxwYXRoIGQ9Ik0zNi44NTg3IDM3LjUyNDFIMzEuOTg3NEwzNS4wMzQyIDE5LjY2NjhIMzkuOTA1MkwzNi44NTg3IDM3LjUyNDFaIiBmaWxsPSIjMDA1NzlGIi8+DQo8cGF0aCBkPSJNNTQuNTE1NyAyMC4xMDQxQzUzLjU1NDkgMTkuNzQyOCA1Mi4wMzA5IDE5LjM0MzggNTAuMTQ2NiAxOS4zNDM4QzQ1LjMzNjEgMTkuMzQzOCA0MS45NDg2IDIxLjc3NTMgNDEuOTI3OCAyNS4yNTE2QzQxLjg4NzggMjcuODE2NSA0NC4zNTMxIDI5LjI0MSA0Ni4xOTcgMzAuMDk2MkM0OC4wODE2IDMwLjk3MDEgNDguNzIyMyAzMS41NDA1IDQ4LjcyMjMgMzIuMzE5NEM0OC43MDMxIDMzLjUxNTcgNDcuMTk5NCAzNC4wNjcyIDQ1Ljc5NjkgMzQuMDY3MkM0My44NTIxIDM0LjA2NzIgNDIuODEgMzMuNzgyOSA0MS4yMjY0IDMzLjExNzNMNDAuNTg1IDMyLjgzMkwzOS45MDMzIDM2Ljg0MDZDNDEuMDQ1OCAzNy4zMzM5IDQzLjE1MDcgMzcuNzcxNyA0NS4zMzYxIDM3Ljc5MDlDNTAuNDQ3MyAzNy43OTA5IDUzLjc3NDkgMzUuMzk3MSA1My44MTQzIDMxLjY5MjVDNTMuODMzOCAyOS42NTk3IDUyLjUzMiAyOC4xMDIgNDkuNzI1NCAyNi44MjkyQzQ4LjAyMTcgMjYuMDEyMSA0Ni45NzgzIDI1LjQ2MTIgNDYuOTc4MyAyNC42MjUyQzQ2Ljk5ODMgMjMuODY1MiA0Ny44NjA4IDIzLjA4NjggNDkuNzg0IDIzLjA4NjhDNTEuMzY3NyAyMy4wNDg2IDUyLjUzMTIgMjMuNDA5NCA1My40MTI2IDIzLjc3MDVMNTMuODUzMiAyMy45NjAxTDU0LjUxNTcgMjAuMTA0MVoiIGZpbGw9IiMwMDU3OUYiLz4NCjxwYXRoIGQ9Ik02MC45OTI0IDMxLjE5NzlDNjEuMzkzNiAzMC4xNzIgNjIuOTM3MiAyNi4yMDE2IDYyLjkzNzIgMjYuMjAxNkM2Mi45MTcgMjYuMjM5NyA2My4zMzc2IDI1LjE1NjggNjMuNTc4MSAyNC40OTE5TDYzLjkxODYgMjYuMDMwNkM2My45MTg2IDI2LjAzMDYgNjQuODQxIDMwLjMwNTEgNjUuMDQxNCAzMS4xOTc5QzY0LjI4IDMxLjE5NzkgNjEuOTU0NiAzMS4xOTc5IDYwLjk5MjQgMzEuMTk3OVpNNjcuMDA1NCAxOS42NjY4SDYzLjIzNzRDNjIuMDc1NSAxOS42NjY4IDYxLjE5MjcgMTkuOTg5NSA2MC42OTE0IDIxLjE0ODRMNTMuNDU1OCAzNy41MjM5SDU4LjU2NzFDNTguNTY3MSAzNy41MjM5IDU5LjQwODUgMzUuMzE5OSA1OS41ODk0IDM0Ljg0NTJDNjAuMTUwMSAzNC44NDUyIDY1LjEyMjMgMzQuODQ1MiA2NS44NDM3IDM0Ljg0NTJDNjUuOTgzNSAzNS40NzIxIDY2LjQyNDkgMzcuNTIzOSA2Ni40MjQ5IDM3LjUyMzlINzAuOTM1Mkw2Ny4wMDU0IDE5LjY2NjhWMTkuNjY2OFoiIGZpbGw9IiMwMDU3OUYiLz4NCjxwYXRoIGQ9Ik0yNy45MTggMTkuNjY2OEwyMy4xNDc1IDMxLjg0MzhMMjIuNjI2MiAyOS4zNzQxQzIxLjc0NDIgMjYuNTI0NSAxOC45NzgxIDIzLjQyODQgMTUuODkxNCAyMS44ODlMMjAuMjYxIDM3LjUwNTJIMjUuNDEyMkwzMy4wNjkgMTkuNjY2OEgyNy45MThWMTkuNjY2OFoiIGZpbGw9IiMwMDU3OUYiLz4NCjxwYXRoIGQ9Ik0xOC43MTg0IDE5LjY2NjhIMTAuODgxMUwxMC44MDA5IDIwLjAyNzZDMTYuOTE0NSAyMS41MDk1IDIwLjk2MzUgMjUuMDgxNSAyMi42MjcgMjkuMzc0OUwyMC45MjMyIDIxLjE2NzlDMjAuNjQyNyAyMC4wMjc0IDE5Ljc4MDcgMTkuNzA0NCAxOC43MTg0IDE5LjY2NjhaIiBmaWxsPSIjRkFBNjFBIi8+DQo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDJfNThfMTExKSI+DQo8cGF0aCBkPSJNMjIxLjE1OCAxNy40OTlWMTguOTM1NkgyMzEuMzA2VjE3LjQ5OUgyMjEuMTU4Wk0yMzIuNzQ0IDE3LjQ5OVYxOC45MzU2SDI0Ny4yMDZDMjQ3LjIwNiAxOC45MzU2IDI0NS43MjkgMTcuNDk5IDI0My43NzMgMTcuNDk5SDIzMi43NDRaTTI1MC4wNDMgMTcuNDk5VjE4LjkzNTZIMjU4Ljc5M0wyNTguMjczIDE3LjQ5OUgyNTAuMDQzWk0yNjUuMDY1IDE3LjQ5OUwyNjQuNTQ2IDE4LjkzNTZIMjczLjIxNlYxNy40OTlIMjY1LjA2NVpNMjIxLjE1OCAyMC4yOTI5VjIxLjcyOTZIMjMxLjMwNlYyMC4yOTI5SDIyMS4xNThaTTIzMi43NDQgMjAuMjk1VjIxLjcyOTdIMjQ4Ljg4NEMyNDguODg0IDIxLjcyOTcgMjQ4LjY5NiAyMC42MjM5IDI0OC4zNjcgMjAuMjk1SDIzMi43NDRaTTI1MC4wNDMgMjAuMjk1VjIxLjcyOTdIMjU5Ljc1MkwyNTkuMjcxIDIwLjI5NUgyNTAuMDQzWk0yNjQuMDI3IDIwLjI5NUwyNjMuNTQ2IDIxLjcyOTdIMjczLjIxNlYyMC4yOTVIMjY0LjAyN1YyMC4yOTVaTTIyNC4wNzQgMjMuMDg2OVYyNC41MjU3SDIyOC40NjlWMjMuMDg2OUgyMjQuMDc0VjIzLjA4NjlaTTIzNS42NjEgMjMuMDg2OVYyNC41MjU3SDI0MC4wNTZWMjMuMDg2OUgyMzUuNjYxVjIzLjA4NjlaTTI0NC4zMzEgMjMuMDg2OVYyNC41MjU3SDI0OC43MjZDMjQ4LjcyNiAyNC41MjU3IDI0OS4wMDUgMjMuNzY1OSAyNDkuMDA1IDIzLjA4NjlIMjQ0LjMzMVYyMy4wODY5Wk0yNTIuOTYgMjMuMDg2OVYyNC41MjU3SDI2MC43NTJMMjYwLjIzMiAyMy4wODY5SDI1Mi45NlYyMy4wODY5Wk0yNjMuMDY5IDIzLjA4NjlMMjYyLjU0OCAyNC41MjU3SDI3MC4zNzlWMjMuMDg2OUgyNjMuMDY5VjIzLjA4NjlaTTIyNC4wNzQgMjUuODgzVjI3LjMxOTdIMjI4LjQ2OVYyNS44ODNIMjI0LjA3NFYyNS44ODNaTTIzNS42NjEgMjUuODgzVjI3LjMxOTdIMjQ2Ljg4N0MyNDYuODg3IDI3LjMxOTcgMjQ3LjgyNiAyNi41ODI1IDI0OC4xMjUgMjUuODgzSDIzNS42NjFaTTI1Mi45NiAyNS44ODNWMjcuMzE5N0gyNTcuMzU1VjI2LjUyTDI1Ny42MzQgMjcuMzE5N0gyNjUuNjg0TDI2NS45ODQgMjYuNTJWMjcuMzE5N0gyNzAuMzc5VjI1Ljg4M0gyNjIuMTI5TDI2MS42OTEgMjcuMDk5OUwyNjEuMjUxIDI1Ljg4M0gyNTIuOTZaTTIyNC4wNzQgMjguNjc3VjMwLjExMzdIMjI4LjQ2OVYyOC42NzdIMjI0LjA3NFpNMjM1LjY2MSAyOC42NzdWMzAuMTEzN0gyNDguMTI1QzI0Ny44MjYgMjkuNDE2NSAyNDYuODg3IDI4LjY3NyAyNDYuODg3IDI4LjY3N0gyMzUuNjYxWk0yNTIuOTYgMjguNjc3VjMwLjExMzdIMjU3LjM1NVYyOC42NzdIMjUyLjk2Wk0yNTguMTUzIDI4LjY3N0wyNTguNjg1IDMwLjExMzdIMjY0LjcyMUwyNjUuMjI2IDI4LjY3N0gyNTguMTUzWk0yNjUuOTg0IDI4LjY3N1YzMC4xMTM3SDI3MC4zNzlWMjguNjc3SDI2NS45ODRaTTIyNC4wNzQgMzEuNDcxVjMyLjkwNzZIMjI4LjQ2OVYzMS40NzFIMjI0LjA3NFpNMjM1LjY2MSAzMS40NzFWMzIuOTA3NkgyNDAuMDU2VjMxLjQ3MUgyMzUuNjYxWk0yNDQuMzMxIDMxLjQ3MVYzMi45MDc2SDI0OS4wMDVDMjQ5LjAwNSAzMi4yMjk2IDI0OC43MjYgMzEuNDcxIDI0OC43MjYgMzEuNDcxSDI0NC4zMzFWMzEuNDcxWk0yNTIuOTYgMzEuNDcxVjMyLjkwNzZIMjU3LjM1NVYzMS40NzFIMjUyLjk2Wk0yNTkuMTUxIDMxLjQ3MUwyNTkuNjY2IDMyLjkwNzZIMjYzLjcxM0wyNjQuMjMyIDMxLjQ3MUgyNTkuMTUxWk0yNjUuOTg0IDMxLjQ3MVYzMi45MDc2SDI3MC4zNzlWMzEuNDcxSDI2NS45ODRaTTIyMS4yMzcgMzQuMjY1VjM1LjcwMzdIMjMxLjM4NlYzNC4yNjVIMjIxLjIzN1pNMjMyLjc0NCAzNC4yNjVWMzUuNzAzN0gyNDguMzY3QzI0OC42OTYgMzUuMzc0MyAyNDguODg0IDM0LjI2NSAyNDguODg0IDM0LjI2NUgyMzIuNzQ0VjM0LjI2NVpNMjUwLjEyMyAzNC4yNjVWMzUuNzAzN0gyNTcuMzU1VjM0LjI2NUgyNTAuMTIzWk0yNjAuMTUxIDM0LjI2NUwyNjAuNjggMzUuNzAzN0gyNjIuNzM5TDI2My4yMzYgMzQuMjY1SDI2MC4xNTFaTTI2NS45ODQgMzQuMjY1VjM1LjcwMzdIMjczLjI5NVYzNC4yNjVIMjY1Ljk4NFpNMjIxLjIzNyAzNy4wNjFWMzguNDk3N0gyMzEuMzg2VjM3LjA2MUgyMjEuMjM3Wk0yMzIuNzQ0IDM3LjA2MVYzOC40OTU2SDI0My43NzNDMjQ1LjcyOSAzOC40OTU2IDI0Ny4yMDYgMzcuMDYxIDI0Ny4yMDYgMzcuMDYxSDIzMi43NDRaTTI1MC4xMjMgMzcuMDYxVjM4LjQ5NzdIMjU3LjM1NVYzNy4wNjFIMjUwLjEyM1pNMjYxLjE1NSAzNy4wNjFMMjYxLjY2NCAzOC40OTM2TDI2MS43NTIgMzguNDk1NkwyNjIuMjY5IDM3LjA2MUgyNjEuMTU1VjM3LjA2MVpNMjY1Ljk4NCAzNy4wNjFWMzguNDk3N0gyNzMuMjk1VjM3LjA2MUgyNjUuOTg0WiIgZmlsbD0iIzFGNzBDMSIvPg0KPC9nPg0KPGRlZnM+DQo8Y2xpcFBhdGggaWQ9ImNsaXAwXzU4XzExMSI+DQo8cmVjdCB3aWR0aD0iNDQuNDQ3MyIgaGVpZ2h0PSIyOS42MzE1IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzUzLjk1NSAxNC44MTU1KSIvPg0KPC9jbGlwUGF0aD4NCjxjbGlwUGF0aCBpZD0iY2xpcDFfNThfMTExIj4NCjxyZWN0IHdpZHRoPSI3Ni41NDgxIiBoZWlnaHQ9IjE2LjM1MDciIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MjUuNTk5IDIwLjk4ODkpIi8+DQo8L2NsaXBQYXRoPg0KPGNsaXBQYXRoIGlkPSJjbGlwMl81OF8xMTEiPg0KPHJlY3Qgd2lkdGg9IjUyLjEzNzIiIGhlaWdodD0iMjAuOTk4NyIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMS4xNTggMTcuNDk5KSIvPg0KPC9jbGlwUGF0aD4NCjwvZGVmcz4NCjwvc3ZnPg0K" style="
|
|
7015
|
+
width: 742.5px;
|
|
7016
|
+
position: relative;
|
|
7017
|
+
top: 107px;
|
|
7018
|
+
left: 32px;
|
|
7019
|
+
">
|
|
7020
|
+
<a href=${accountURL} style="
|
|
7021
|
+
float: left;
|
|
7022
|
+
border-radius: 56px;
|
|
7023
|
+
background: #0D6EFD;
|
|
7024
|
+
padding-top: 8px;
|
|
7025
|
+
width: 280px;
|
|
7026
|
+
height: 38px;
|
|
7027
|
+
text-align: center;
|
|
7028
|
+
position: relative;
|
|
7029
|
+
top: 127px;
|
|
7030
|
+
left: 274px;
|
|
7031
|
+
font-size: 16px;
|
|
7032
|
+
color: white;
|
|
7033
|
+
text-decoration: none;
|
|
7034
|
+
letter-spacing: 0.02em;
|
|
7035
|
+
">Claim your FREE account</a>
|
|
7036
|
+
<div style="
|
|
7037
|
+
font-size: 14px;
|
|
7038
|
+
position: relative;
|
|
7039
|
+
top: 180px;
|
|
7040
|
+
left: 19px;
|
|
7041
|
+
letter-spacing: 0.02em;
|
|
7042
|
+
font-weight: 500;
|
|
7043
|
+
line-height: 125%;
|
|
7044
|
+
">have a Syncfusion account? <a href="https://www.syncfusion.com/account/login?ReturnUrl=/account/login" style="text-decoration: none;
|
|
7045
|
+
color: #0D6EFD;
|
|
7046
|
+
font-weight: 500;">Sign In</a></div>
|
|
7047
|
+
</div>
|
|
7208
7048
|
</div>`;
|
|
7209
7049
|
if (typeof document !== 'undefined' && !isNullOrUndefined(document)) {
|
|
7210
7050
|
const errorBackground = createElement('div', {
|
|
@@ -7260,6 +7100,9 @@ let Component = class Component extends Base {
|
|
|
7260
7100
|
this.isStringTemplate = false;
|
|
7261
7101
|
this.needsID = false;
|
|
7262
7102
|
this.isReactHybrid = false;
|
|
7103
|
+
this.isAngular = false;
|
|
7104
|
+
this.isReact = false;
|
|
7105
|
+
this.isVue = false;
|
|
7263
7106
|
if (isNullOrUndefined(this.enableRtl)) {
|
|
7264
7107
|
this.setProperties({ 'enableRtl': rightToLeft }, true);
|
|
7265
7108
|
}
|
|
@@ -7268,7 +7111,6 @@ let Component = class Component extends Base {
|
|
|
7268
7111
|
}
|
|
7269
7112
|
this.moduleLoader = new ModuleLoader(this);
|
|
7270
7113
|
this.localObserver = new Observer(this);
|
|
7271
|
-
// tslint:disable-next-line:no-function-constructor-with-string-args
|
|
7272
7114
|
onIntlChange.on('notifyExternalChange', this.detectFunction, this, this.randomId);
|
|
7273
7115
|
// Based on the considered control list we have count the instance
|
|
7274
7116
|
if (typeof window !== 'undefined' && typeof document !== 'undefined' && !validateLicense()) {
|
|
@@ -7337,7 +7179,6 @@ let Component = class Component extends Base {
|
|
|
7337
7179
|
*/
|
|
7338
7180
|
getRootElement() {
|
|
7339
7181
|
if (this.isReactHybrid) {
|
|
7340
|
-
// eslint-disable-next-line
|
|
7341
7182
|
return this.actualElement;
|
|
7342
7183
|
}
|
|
7343
7184
|
else {
|
|
@@ -7349,7 +7190,6 @@ let Component = class Component extends Base {
|
|
|
7349
7190
|
*
|
|
7350
7191
|
* @returns {any} ?
|
|
7351
7192
|
*/
|
|
7352
|
-
// eslint-disable-next-line
|
|
7353
7193
|
getLocalData() {
|
|
7354
7194
|
const eleId = this.getModuleName() + this.element.id;
|
|
7355
7195
|
if (versionBasedStatePersistence) {
|
|
@@ -7424,7 +7264,8 @@ let Component = class Component extends Base {
|
|
|
7424
7264
|
treegrid: ['filter'],
|
|
7425
7265
|
gantt: ['tooltip'],
|
|
7426
7266
|
chart: ['Export', 'Zoom'],
|
|
7427
|
-
accumulationchart: ['Export']
|
|
7267
|
+
accumulationchart: ['Export'],
|
|
7268
|
+
'query-builder': 'all'
|
|
7428
7269
|
};
|
|
7429
7270
|
const component = this.getModuleName();
|
|
7430
7271
|
if (this.requiredModules && (!ignoredComponents[`${component}`] || ignoredComponents[`${component}`] !== 'all')) {
|
|
@@ -7461,8 +7302,7 @@ let Component = class Component extends Base {
|
|
|
7461
7302
|
renderComplete(wrapperElement) {
|
|
7462
7303
|
if (isBlazor()) {
|
|
7463
7304
|
const sfBlazor = 'sfBlazor';
|
|
7464
|
-
|
|
7465
|
-
window[sfBlazor].renderComplete(this.element, wrapperElement);
|
|
7305
|
+
window[`${sfBlazor}`].renderComplete(this.element, wrapperElement);
|
|
7466
7306
|
}
|
|
7467
7307
|
this.isRendered = true;
|
|
7468
7308
|
}
|
|
@@ -7560,7 +7400,6 @@ let Component = class Component extends Base {
|
|
|
7560
7400
|
* @returns {any} ?
|
|
7561
7401
|
* @private
|
|
7562
7402
|
*/
|
|
7563
|
-
// eslint-disable-next-line
|
|
7564
7403
|
createElement(tagName, prop, isVDOM) {
|
|
7565
7404
|
return createElement(tagName, prop);
|
|
7566
7405
|
}
|
|
@@ -7571,15 +7410,12 @@ let Component = class Component extends Base {
|
|
|
7571
7410
|
* @returns {void} .
|
|
7572
7411
|
* @private
|
|
7573
7412
|
*/
|
|
7574
|
-
// eslint-disable-next-line
|
|
7575
7413
|
triggerStateChange(handler, argument) {
|
|
7576
7414
|
if (this.isReactHybrid) {
|
|
7577
|
-
// eslint-disable-next-line
|
|
7578
7415
|
this.setState();
|
|
7579
7416
|
this.currentContext = { calls: handler, args: argument };
|
|
7580
7417
|
}
|
|
7581
7418
|
}
|
|
7582
|
-
// tslint: enable: no-any
|
|
7583
7419
|
injectModules() {
|
|
7584
7420
|
if (this.injectedModules && this.injectedModules.length) {
|
|
7585
7421
|
this.moduleLoader.inject(this.requiredModules(), this.injectedModules);
|
|
@@ -7614,13 +7450,11 @@ let Component = class Component extends Base {
|
|
|
7614
7450
|
}
|
|
7615
7451
|
}
|
|
7616
7452
|
}
|
|
7617
|
-
// eslint-disable-next-line
|
|
7618
7453
|
renderReactTemplates(callback) {
|
|
7619
7454
|
if (!isNullOrUndefined(callback)) {
|
|
7620
7455
|
callback();
|
|
7621
7456
|
}
|
|
7622
7457
|
}
|
|
7623
|
-
// eslint-disable-next-line
|
|
7624
7458
|
clearTemplate(templateName, index) {
|
|
7625
7459
|
//No Code
|
|
7626
7460
|
}
|
|
@@ -7650,9 +7484,7 @@ let Component = class Component extends Base {
|
|
|
7650
7484
|
addOnPersist(options) {
|
|
7651
7485
|
const persistObj = {};
|
|
7652
7486
|
for (const key of options) {
|
|
7653
|
-
|
|
7654
|
-
// eslint-disable-next-line
|
|
7655
|
-
objValue = getValue(key, this);
|
|
7487
|
+
const objValue = getValue(key, this);
|
|
7656
7488
|
if (!isUndefined(objValue)) {
|
|
7657
7489
|
setValue(key, this.getActualProperties(objValue), persistObj);
|
|
7658
7490
|
}
|
|
@@ -7676,8 +7508,7 @@ let Component = class Component extends Base {
|
|
|
7676
7508
|
const newObj = {};
|
|
7677
7509
|
for (const key of Object.keys(obj)) {
|
|
7678
7510
|
if (ignoreList.indexOf(key) === -1) {
|
|
7679
|
-
|
|
7680
|
-
const value = obj[key];
|
|
7511
|
+
const value = obj[`${key}`];
|
|
7681
7512
|
if (typeof value === 'object' && !(value instanceof Array)) {
|
|
7682
7513
|
const newList = ignoreList.filter((str) => {
|
|
7683
7514
|
const regExp = RegExp;
|
|
@@ -7766,7 +7597,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
7766
7597
|
this.prevTop = 0;
|
|
7767
7598
|
this.dragProcessStarted = false;
|
|
7768
7599
|
this.eleTop = 0;
|
|
7769
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7770
7600
|
this.tapHoldTimer = 0;
|
|
7771
7601
|
this.externalInitialize = false;
|
|
7772
7602
|
this.diffY = 0;
|
|
@@ -7849,7 +7679,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
7849
7679
|
return this.getScrollableParent(element.parentNode, axis);
|
|
7850
7680
|
}
|
|
7851
7681
|
}
|
|
7852
|
-
/* eslint-disable */
|
|
7853
7682
|
getScrollableValues() {
|
|
7854
7683
|
this.parentScrollX = 0;
|
|
7855
7684
|
this.parentScrollY = 0;
|
|
@@ -7857,7 +7686,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
7857
7686
|
const verticalScrollParent = this.getScrollableParent(this.element.parentNode, 'vertical');
|
|
7858
7687
|
const horizontalScrollParent = this.getScrollableParent(this.element.parentNode, 'horizontal');
|
|
7859
7688
|
}
|
|
7860
|
-
/* eslint-enable */
|
|
7861
7689
|
initialize(evt, curTarget) {
|
|
7862
7690
|
this.currentStateTarget = evt.target;
|
|
7863
7691
|
if (this.isDragStarted()) {
|
|
@@ -7870,8 +7698,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
7870
7698
|
this.target = (evt.currentTarget || curTarget);
|
|
7871
7699
|
this.dragProcessStarted = false;
|
|
7872
7700
|
if (this.abort) {
|
|
7873
|
-
/* tslint:disable no-any */
|
|
7874
|
-
// eslint-disable-next-line
|
|
7875
7701
|
let abortSelectors = this.abort;
|
|
7876
7702
|
if (typeof abortSelectors === 'string') {
|
|
7877
7703
|
abortSelectors = [abortSelectors];
|
|
@@ -7942,7 +7768,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
7942
7768
|
}
|
|
7943
7769
|
/* istanbul ignore next */
|
|
7944
7770
|
if (this.isReplaceDragEle) {
|
|
7945
|
-
// eslint-disable-next-line
|
|
7946
7771
|
element = this.currentStateCheck(evt.target, element);
|
|
7947
7772
|
}
|
|
7948
7773
|
this.offset = this.calculateParentPosition(element);
|
|
@@ -8059,7 +7884,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8059
7884
|
top: (rect.top + window.pageYOffset) - parseInt(style.marginTop, 10)
|
|
8060
7885
|
};
|
|
8061
7886
|
}
|
|
8062
|
-
// tslint:disable-next-line:max-func-body-length
|
|
8063
7887
|
intDrag(evt) {
|
|
8064
7888
|
if (!isUndefined(evt.changedTouches) && (evt.changedTouches.length !== 1)) {
|
|
8065
7889
|
return;
|
|
@@ -8084,7 +7908,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8084
7908
|
}
|
|
8085
7909
|
const eleObj = this.checkTargetElement(evt);
|
|
8086
7910
|
if (eleObj.target && eleObj.instance) {
|
|
8087
|
-
/* tslint:disable no-any */
|
|
8088
7911
|
let flag = true;
|
|
8089
7912
|
if (this.hoverObject) {
|
|
8090
7913
|
if (this.hoverObject.instance !== eleObj.instance) {
|
|
@@ -8095,7 +7918,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8095
7918
|
}
|
|
8096
7919
|
}
|
|
8097
7920
|
if (flag) {
|
|
8098
|
-
// eslint-disable-next-line
|
|
8099
7921
|
eleObj.instance.dragData[this.scope] = this.droppables[this.scope];
|
|
8100
7922
|
eleObj.instance.intOver(evt, eleObj.target);
|
|
8101
7923
|
this.hoverObject = eleObj;
|
|
@@ -8244,8 +8066,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8244
8066
|
if (elements.length === 0) {
|
|
8245
8067
|
elements = this.getPathElements(evt);
|
|
8246
8068
|
}
|
|
8247
|
-
/* tslint:disable no-any */
|
|
8248
|
-
// eslint-disable-next-line
|
|
8249
8069
|
let scrollParent = this.getScrollParent(elements, false);
|
|
8250
8070
|
if (this.elementInViewport(this.helperElement)) {
|
|
8251
8071
|
this.getScrollPosition(scrollParent, draEleTop);
|
|
@@ -8267,11 +8087,7 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8267
8087
|
this.pageX = pagex;
|
|
8268
8088
|
this.pageY = pagey;
|
|
8269
8089
|
}
|
|
8270
|
-
/* tslint:disable no-any */
|
|
8271
|
-
// eslint-disable-next-line
|
|
8272
8090
|
getScrollParent(node, reverse) {
|
|
8273
|
-
/* tslint:disable no-any */
|
|
8274
|
-
// eslint-disable-next-line
|
|
8275
8091
|
const nodeEl = reverse ? node.reverse() : node;
|
|
8276
8092
|
let hasScroll;
|
|
8277
8093
|
for (let i = nodeEl.length - 1; i >= 0; i--) {
|
|
@@ -8355,7 +8171,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8355
8171
|
const eleObj = this.checkTargetElement(evt);
|
|
8356
8172
|
if (eleObj.target && eleObj.instance) {
|
|
8357
8173
|
eleObj.instance.dragStopCalled = true;
|
|
8358
|
-
// eslint-disable-next-line
|
|
8359
8174
|
eleObj.instance.dragData[this.scope] = this.droppables[this.scope];
|
|
8360
8175
|
eleObj.instance.intDrop(evt, eleObj.target);
|
|
8361
8176
|
}
|
|
@@ -8367,7 +8182,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8367
8182
|
* @returns {void}
|
|
8368
8183
|
* @private
|
|
8369
8184
|
*/
|
|
8370
|
-
// eslint-disable-next-line
|
|
8371
8185
|
intDestroy(evt) {
|
|
8372
8186
|
this.dragProcessStarted = false;
|
|
8373
8187
|
this.toggleEvents();
|
|
@@ -8382,7 +8196,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8382
8196
|
}
|
|
8383
8197
|
}
|
|
8384
8198
|
// triggers when property changed
|
|
8385
|
-
// eslint-disable-next-line
|
|
8386
8199
|
onPropertyChanged(newProp, oldProp) {
|
|
8387
8200
|
//No Code to handle
|
|
8388
8201
|
}
|
|
@@ -8413,7 +8226,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8413
8226
|
eleWidthBound = ele.scrollWidth ? ele.scrollWidth : elementArea.right - elementArea.left;
|
|
8414
8227
|
eleHeightBound = ele.scrollHeight ? (this.dragArea && !isNullOrUndefined(this.helperElement) && this.helperElement.classList.contains('e-treeview')) ? ele.clientHeight : ele.scrollHeight : elementArea.bottom - elementArea.top;
|
|
8415
8228
|
const keys = ['Top', 'Left', 'Bottom', 'Right'];
|
|
8416
|
-
/* eslint-disable */
|
|
8417
8229
|
const styles = getComputedStyle(ele);
|
|
8418
8230
|
for (let i = 0; i < keys.length; i++) {
|
|
8419
8231
|
const key = keys[parseInt(i.toString(), 10)];
|
|
@@ -8423,7 +8235,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8423
8235
|
this.borderWidth[`${lowerKey}`] = isNaN(parseFloat(tborder)) ? 0 : parseFloat(tborder);
|
|
8424
8236
|
this.padding[`${lowerKey}`] = isNaN(parseFloat(tpadding)) ? 0 : parseFloat(tpadding);
|
|
8425
8237
|
}
|
|
8426
|
-
/* eslint-enable */
|
|
8427
8238
|
if (this.dragArea && !isNullOrUndefined(this.helperElement) && this.helperElement.classList.contains('e-treeview')) {
|
|
8428
8239
|
top = elementArea.top + document.scrollingElement.scrollTop;
|
|
8429
8240
|
}
|
|
@@ -8464,8 +8275,6 @@ let Draggable = Draggable_1 = class Draggable extends Base {
|
|
|
8464
8275
|
return elem;
|
|
8465
8276
|
}
|
|
8466
8277
|
getMousePosition(evt, isdragscroll) {
|
|
8467
|
-
/* tslint:disable no-any */
|
|
8468
|
-
// eslint-disable-next-line
|
|
8469
8278
|
const dragEle = evt.srcElement !== undefined ? evt.srcElement : evt.target;
|
|
8470
8279
|
const intCoord = this.getCoordinates(evt);
|
|
8471
8280
|
let pageX;
|
|
@@ -8665,7 +8474,6 @@ let Droppable = class Droppable extends Base {
|
|
|
8665
8474
|
EventHandler.add(this.element, Browser.isSafari() ? 'touchend' : Browser.touchEndEvent, this.intDrop, this);
|
|
8666
8475
|
}
|
|
8667
8476
|
// triggers when property changed
|
|
8668
|
-
// eslint-disable-next-line
|
|
8669
8477
|
onPropertyChanged(newProp, oldProp) {
|
|
8670
8478
|
//No Code to handle
|
|
8671
8479
|
}
|
|
@@ -8869,7 +8677,6 @@ let KeyboardEvents = KeyboardEvents_1 = class KeyboardEvents extends Base {
|
|
|
8869
8677
|
* @returns {void} ?
|
|
8870
8678
|
* @private
|
|
8871
8679
|
*/
|
|
8872
|
-
// eslint-disable-next-line
|
|
8873
8680
|
onPropertyChanged(newProp, oldProp) {
|
|
8874
8681
|
// No code are needed
|
|
8875
8682
|
}
|
|
@@ -9182,10 +8989,8 @@ let Touch = class Touch extends Base {
|
|
|
9182
8989
|
velocity: this.getVelocity(point)
|
|
9183
8990
|
};
|
|
9184
8991
|
if (this.isTouchMoved) {
|
|
9185
|
-
let eSwipeArgs;
|
|
9186
8992
|
const tDistance = this.swipeSettings.swipeThresholdDistance;
|
|
9187
|
-
|
|
9188
|
-
eSwipeArgs = extend(eSwipeArgs, this.defaultArgs, swipeArgs);
|
|
8993
|
+
const eSwipeArgs = extend(undefined, this.defaultArgs, swipeArgs);
|
|
9189
8994
|
let canTrigger = false;
|
|
9190
8995
|
const ele = this.element;
|
|
9191
8996
|
const scrollBool = this.isScrollable(ele);
|
|
@@ -9223,7 +9028,6 @@ let Touch = class Touch extends Base {
|
|
|
9223
9028
|
* @param {TouchModel} oldProp ?
|
|
9224
9029
|
* @returns {void} ?
|
|
9225
9030
|
*/
|
|
9226
|
-
// eslint-disable-next-line
|
|
9227
9031
|
onPropertyChanged(newProp, oldProp) {
|
|
9228
9032
|
//No Code to handle
|
|
9229
9033
|
}
|
|
@@ -9280,11 +9084,9 @@ let Touch = class Touch extends Base {
|
|
|
9280
9084
|
tapHoldEvent(evt) {
|
|
9281
9085
|
this.tapCount = 0;
|
|
9282
9086
|
this.touchAction = true;
|
|
9283
|
-
let eTapArgs;
|
|
9284
9087
|
EventHandler.remove(this.element, Browser.touchMoveEvent, this.moveEvent);
|
|
9285
9088
|
EventHandler.remove(this.element, Browser.touchEndEvent, this.endEvent);
|
|
9286
|
-
|
|
9287
|
-
eTapArgs = { originalEvent: evt };
|
|
9089
|
+
const eTapArgs = { originalEvent: evt };
|
|
9288
9090
|
this.trigger('tapHold', eTapArgs);
|
|
9289
9091
|
EventHandler.remove(this.element, Browser.touchCancelEvent, this.cancelEvent);
|
|
9290
9092
|
}
|
|
@@ -9323,7 +9125,6 @@ let Touch = class Touch extends Base {
|
|
|
9323
9125
|
const interval = newT - this.tStampStart;
|
|
9324
9126
|
return Math.sqrt(xDist * xDist + yDist * yDist) / interval;
|
|
9325
9127
|
}
|
|
9326
|
-
// eslint-disable-next-line
|
|
9327
9128
|
checkSwipe(ele, flag) {
|
|
9328
9129
|
const keys = ['scroll', 'offset'];
|
|
9329
9130
|
const temp = flag ? ['Height', 'Top'] : ['Width', 'Left'];
|
|
@@ -9363,6 +9164,7 @@ Touch = __decorate$5([
|
|
|
9363
9164
|
NotifyPropertyChanges
|
|
9364
9165
|
], Touch);
|
|
9365
9166
|
|
|
9167
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
9366
9168
|
/**
|
|
9367
9169
|
* Template Engine
|
|
9368
9170
|
*/
|
|
@@ -9385,14 +9187,6 @@ const SINGLE_SLASH = /\\/gi;
|
|
|
9385
9187
|
const DOUBLE_SLASH = /\\\\/gi;
|
|
9386
9188
|
const WORDFUNC = new RegExp('[\\w"\'@#$.\\s+]+', 'g');
|
|
9387
9189
|
const WINDOWFUNC = /\window\./gm;
|
|
9388
|
-
/**
|
|
9389
|
-
* The function to set regular expression for template expression string.
|
|
9390
|
-
*
|
|
9391
|
-
* @param {RegExp} value - Value expression.
|
|
9392
|
-
* @returns {RegExp} ?
|
|
9393
|
-
* @private
|
|
9394
|
-
*/
|
|
9395
|
-
|
|
9396
9190
|
// /**
|
|
9397
9191
|
// * To render the template string from the given data.
|
|
9398
9192
|
// * @param {string} template - String Template.
|
|
@@ -9418,14 +9212,13 @@ const WINDOWFUNC = /\window\./gm;
|
|
|
9418
9212
|
* @returns {string} ?
|
|
9419
9213
|
* @private
|
|
9420
9214
|
*/
|
|
9421
|
-
function compile
|
|
9215
|
+
function compile(template, helper, ignorePrefix) {
|
|
9422
9216
|
if (typeof template === 'function') {
|
|
9423
9217
|
return template;
|
|
9424
9218
|
}
|
|
9425
9219
|
else {
|
|
9426
9220
|
const argName = 'data';
|
|
9427
9221
|
const evalExpResult = evalExp(template, argName, helper, ignorePrefix);
|
|
9428
|
-
/* eslint-disable */
|
|
9429
9222
|
const condtion = `var valueRegEx = (/value=\\'([A-Za-z0-9 _]*)((.)([\\w)(!-;?-■\\s]+)['])/g);
|
|
9430
9223
|
var hrefRegex = (/(?:href)([\\s='"./]+)([\\w-./?=&\\\\#"]+)((.)([\\w)(!-;/?-■\\s]+)['])/g);
|
|
9431
9224
|
if(str.match(valueRegEx)){
|
|
@@ -9433,8 +9226,8 @@ function compile$1(template, helper, ignorePrefix) {
|
|
|
9433
9226
|
var str1 = str;
|
|
9434
9227
|
for (var i=0; i < check.length; i++) {
|
|
9435
9228
|
var check1 = str.match(valueRegEx)[i].split('value=')[1];
|
|
9436
|
-
var change = check1.match(/^'/) !== null ? check1.replace(/^'/, '
|
|
9437
|
-
change =change.match(/.$/)[0] === '\\'' ? change.replace(/.$/,'
|
|
9229
|
+
var change = check1.match(/^'/) !== null ? check1.replace(/^'/, '"') : check1;
|
|
9230
|
+
change =change.match(/.$/)[0] === '\\'' ? change.replace(/.$/,'"') : change;
|
|
9438
9231
|
str1 = str1.replace(check1, change);
|
|
9439
9232
|
}
|
|
9440
9233
|
str = str.replace(str, str1);
|
|
@@ -9446,8 +9239,8 @@ function compile$1(template, helper, ignorePrefix) {
|
|
|
9446
9239
|
for (var i=0; i < check.length; i++) {
|
|
9447
9240
|
var check1 = str.match(hrefRegex)[i].split('href=')[1];
|
|
9448
9241
|
if (check1) {
|
|
9449
|
-
var change = check1.match(/^'/) !== null ? check1.replace(/^'/, '
|
|
9450
|
-
change =change.match(/.$/)[0] === '\\'' ? change.replace(/.$/,'
|
|
9242
|
+
var change = check1.match(/^'/) !== null ? check1.replace(/^'/, '"') : check1;
|
|
9243
|
+
change =change.match(/.$/)[0] === '\\'' ? change.replace(/.$/,'"') : change;
|
|
9451
9244
|
str1 = str1.replace(check1, change);
|
|
9452
9245
|
}
|
|
9453
9246
|
}
|
|
@@ -9455,8 +9248,7 @@ function compile$1(template, helper, ignorePrefix) {
|
|
|
9455
9248
|
}
|
|
9456
9249
|
}
|
|
9457
9250
|
`;
|
|
9458
|
-
const fnCode = 'var str
|
|
9459
|
-
/* eslint-enable */
|
|
9251
|
+
const fnCode = 'var str="' + evalExpResult + '";' + condtion + ' return str;';
|
|
9460
9252
|
const fn = new Function(argName, fnCode);
|
|
9461
9253
|
return fn.bind(helper);
|
|
9462
9254
|
}
|
|
@@ -9500,9 +9292,7 @@ function evalExp(str, nameSpace, helper, ignorePrefix) {
|
|
|
9500
9292
|
else {
|
|
9501
9293
|
str = str.replace(/\\?"/g, '\\"');
|
|
9502
9294
|
}
|
|
9503
|
-
return str.replace(LINES, '').replace(DBL_QUOTED_STR, '\'$1\'').replace(exp,
|
|
9504
|
-
// eslint-disable-next-line
|
|
9505
|
-
(match, cnt, offset, matchStr) => {
|
|
9295
|
+
return str.replace(LINES, '').replace(DBL_QUOTED_STR, '\'$1\'').replace(exp, (match, cnt, offset, matchStr) => {
|
|
9506
9296
|
const SPECIAL_CHAR = /@|#|\$/gm;
|
|
9507
9297
|
const matches = cnt.match(CALL_FUNCTION);
|
|
9508
9298
|
// matches to detect any function calls
|
|
@@ -9525,12 +9315,10 @@ function evalExp(str, nameSpace, helper, ignorePrefix) {
|
|
|
9525
9315
|
//handling for condition
|
|
9526
9316
|
const rlStr = matches[1].split(' of ');
|
|
9527
9317
|
// replace for each into actual JavaScript
|
|
9528
|
-
// eslint-disable-next-line
|
|
9529
9318
|
cnt = '"; ' + cnt.replace(matches[1], (mtc) => {
|
|
9530
9319
|
localKeys.push(rlStr[0]);
|
|
9531
9320
|
localKeys.push(rlStr[0] + 'Index');
|
|
9532
9321
|
varCOunt = varCOunt + 1;
|
|
9533
|
-
// tslint:disable-next-line
|
|
9534
9322
|
return 'var i' + varCOunt + '=0; i' + varCOunt + ' < ' + addNameSpace(rlStr[1], true, nameSpace, localKeys, ignorePrefix) + '.length; i' + varCOunt + '++';
|
|
9535
9323
|
}) + '{ \n ' + rlStr[0] + '= ' + addNameSpace(rlStr[1], true, nameSpace, localKeys, ignorePrefix)
|
|
9536
9324
|
+ '[i' + varCOunt + ']; \n var ' + rlStr[0] + 'Index=i' + varCOunt + '; \n str = str + "';
|
|
@@ -9538,8 +9326,7 @@ function evalExp(str, nameSpace, helper, ignorePrefix) {
|
|
|
9538
9326
|
else {
|
|
9539
9327
|
//helper function handling
|
|
9540
9328
|
const fnStr = cnt.split('(');
|
|
9541
|
-
|
|
9542
|
-
let fNameSpace = (helper && helper.hasOwnProperty(fnStr[0]) ? 'this.' : 'global');
|
|
9329
|
+
let fNameSpace = (helper && Object.prototype.hasOwnProperty.call(helper, fnStr[0]) ? 'this.' : 'global');
|
|
9543
9330
|
fNameSpace = (/\./.test(fnStr[0]) ? '' : fNameSpace);
|
|
9544
9331
|
const ftArray = matches[1].split(',');
|
|
9545
9332
|
if (matches[1].length !== 0 && !(/data/).test(ftArray[0]) && !(/window./).test(ftArray[0])) {
|
|
@@ -9550,7 +9337,6 @@ function evalExp(str, nameSpace, helper, ignorePrefix) {
|
|
|
9550
9337
|
if (WINDOWFUNC.test(cnt) && arrObj.test(cnt) || splRegexp.test(cnt)) {
|
|
9551
9338
|
const splArrRegexp = /@|\$|#|\]\./gm;
|
|
9552
9339
|
if (splArrRegexp.test(cnt)) {
|
|
9553
|
-
// tslint:disable-next-line
|
|
9554
9340
|
cnt = '"+ ' + (fNameSpace === 'global' ? '' : fNameSpace) + cnt.replace(matches[1], rlStr.replace(WORDFUNC, (strs) => {
|
|
9555
9341
|
return HandleSpecialCharArrObj(strs, nameSpace, localKeys, ignorePrefix);
|
|
9556
9342
|
})) + '+ "';
|
|
@@ -9566,9 +9352,8 @@ function evalExp(str, nameSpace, helper, ignorePrefix) {
|
|
|
9566
9352
|
else if (ELSE_STMT.test(cnt)) {
|
|
9567
9353
|
// handling else condition
|
|
9568
9354
|
cnt = '"; ' + cnt.replace(ELSE_STMT, '} else { \n str = str + "');
|
|
9569
|
-
// eslint-disable-next-line
|
|
9570
9355
|
}
|
|
9571
|
-
else if (
|
|
9356
|
+
else if (cnt.match(IF_OR_FOR)) {
|
|
9572
9357
|
// close condition
|
|
9573
9358
|
cnt = cnt.replace(IF_OR_FOR, '"; \n } \n str = str + "');
|
|
9574
9359
|
}
|
|
@@ -9633,17 +9418,20 @@ function NameSpaceArrObj(str, addNS, nameSpace, ignoreList) {
|
|
|
9633
9418
|
function NameSpaceForspecialChar(str, addNS, nameSpace, ignoreList) {
|
|
9634
9419
|
return ((addNS && !(NOT_NUMBER.test(str)) && ignoreList.indexOf(str.split('.')[0]) === -1) ? nameSpace + '["' + str : str);
|
|
9635
9420
|
}
|
|
9636
|
-
|
|
9421
|
+
/**
|
|
9422
|
+
* Replace double slashes to single slash.
|
|
9423
|
+
*
|
|
9424
|
+
* @param {string} tempStr ?
|
|
9425
|
+
* @returns {any} ?
|
|
9426
|
+
*/
|
|
9637
9427
|
function SlashReplace(tempStr) {
|
|
9638
9428
|
const double = '\\\\';
|
|
9639
9429
|
if (tempStr.match(DOUBLE_SLASH)) {
|
|
9640
|
-
|
|
9641
|
-
tempStr = tempStr;
|
|
9430
|
+
return tempStr;
|
|
9642
9431
|
}
|
|
9643
9432
|
else {
|
|
9644
|
-
|
|
9433
|
+
return tempStr.replace(SINGLE_SLASH, double);
|
|
9645
9434
|
}
|
|
9646
|
-
return tempStr;
|
|
9647
9435
|
}
|
|
9648
9436
|
/**
|
|
9649
9437
|
*
|
|
@@ -9674,9 +9462,7 @@ function HandleSpecialCharArrObj(str, nameSpaceNew, keys, ignorePrefix) {
|
|
|
9674
9462
|
}
|
|
9675
9463
|
}
|
|
9676
9464
|
|
|
9677
|
-
|
|
9678
|
-
* Template Engine Bridge
|
|
9679
|
-
*/
|
|
9465
|
+
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */
|
|
9680
9466
|
const HAS_ROW = /^[\n\r.]+<tr|^<tr/;
|
|
9681
9467
|
const HAS_SVG = /^[\n\r.]+<svg|^<path|^<g/;
|
|
9682
9468
|
const blazorTemplates = {};
|
|
@@ -9696,10 +9482,8 @@ function getRandomId() {
|
|
|
9696
9482
|
* @returns {NodeList} ?
|
|
9697
9483
|
* @private
|
|
9698
9484
|
*/
|
|
9699
|
-
|
|
9700
|
-
function compile$$1(templateString, helper, ignorePrefix) {
|
|
9485
|
+
function compile$1(templateString, helper, ignorePrefix) {
|
|
9701
9486
|
const compiler = engineObj.compile(templateString, helper, ignorePrefix);
|
|
9702
|
-
// eslint-disable-next-line
|
|
9703
9487
|
return (data, component, propName, templateId, isStringTemplate, index, element, root) => {
|
|
9704
9488
|
const result = compiler(data, component, propName, element, root);
|
|
9705
9489
|
const blazorTemplateId = 'BlazorTemplateId';
|
|
@@ -9724,9 +9508,7 @@ function compile$$1(templateString, helper, ignorePrefix) {
|
|
|
9724
9508
|
data[`${blazorTemplateId}`] = blazorId;
|
|
9725
9509
|
blazorTemplates[`${templateId}`].push(data);
|
|
9726
9510
|
}
|
|
9727
|
-
// eslint-disable-next-line
|
|
9728
9511
|
return propName === 'rowTemplate' ? [createElement('tr', { id: blazorId, className: 'e-blazor-template' })] :
|
|
9729
|
-
// eslint-disable-next-line
|
|
9730
9512
|
[createElement('div', { id: blazorId, className: 'e-blazor-template' })];
|
|
9731
9513
|
}
|
|
9732
9514
|
if (typeof result === 'string') {
|
|
@@ -9772,7 +9554,6 @@ function updateBlazorTemplate(templateId, templateName, comp, isEmpty, callBack)
|
|
|
9772
9554
|
function resetBlazorTemplate(templateId, templateName, index) {
|
|
9773
9555
|
const templateDiv = document.getElementById(templateId);
|
|
9774
9556
|
if (templateDiv) {
|
|
9775
|
-
// eslint-disable-next-line
|
|
9776
9557
|
const innerTemplates = templateDiv.getElementsByClassName('blazor-inner-template');
|
|
9777
9558
|
for (let i = 0; i < innerTemplates.length; i++) {
|
|
9778
9559
|
let tempId = ' ';
|
|
@@ -9825,7 +9606,6 @@ function getTemplateEngine() {
|
|
|
9825
9606
|
* @returns {Function} ?
|
|
9826
9607
|
* @private
|
|
9827
9608
|
*/
|
|
9828
|
-
// eslint-disable-next-line
|
|
9829
9609
|
function initializeCSPTemplate(template, helper) {
|
|
9830
9610
|
let boundFunc;
|
|
9831
9611
|
template.prototype.CSPTemplate = true;
|
|
@@ -9840,9 +9620,8 @@ function initializeCSPTemplate(template, helper) {
|
|
|
9840
9620
|
}
|
|
9841
9621
|
//Default Engine Class
|
|
9842
9622
|
class Engine {
|
|
9843
|
-
// eslint-disable-next-line
|
|
9844
9623
|
compile(templateString, helper = {}, ignorePrefix) {
|
|
9845
|
-
return compile
|
|
9624
|
+
return compile(templateString, helper);
|
|
9846
9625
|
}
|
|
9847
9626
|
}
|
|
9848
9627
|
const engineObj = { compile: new Engine().compile };
|
|
@@ -10023,7 +9802,6 @@ class SanitizeHtmlHelper {
|
|
|
10023
9802
|
}
|
|
10024
9803
|
}
|
|
10025
9804
|
static removeXssAttrs() {
|
|
10026
|
-
// eslint-disable-next-line
|
|
10027
9805
|
this.removeAttrs.forEach((item, index) => {
|
|
10028
9806
|
const elements = this.wrapElement.querySelectorAll(item.selector);
|
|
10029
9807
|
if (elements.length > 0) {
|
|
@@ -10035,9 +9813,5 @@ class SanitizeHtmlHelper {
|
|
|
10035
9813
|
}
|
|
10036
9814
|
}
|
|
10037
9815
|
|
|
10038
|
-
|
|
10039
|
-
* Base modules
|
|
10040
|
-
*/
|
|
10041
|
-
|
|
10042
|
-
export { blazorCultureFormats, IntlBase, Ajax, Fetch, Animation, rippleEffect, isRippleEnabled, enableRipple, animationMode, setGlobalAnimation, GlobalAnimationMode, Base, getComponent, removeChildInstance, proxyToRaw, setProxyToRaw, Browser, versionBasedStatePersistence, enableVersionBasedPersistence, Component, ChildProperty, Position, Draggable, Droppable, EventHandler, onIntlChange, rightToLeft, cldrData, defaultCulture, defaultCurrencyCode, Internationalization, setCulture, setCurrencyCode, loadCldr, enableRtl, getNumericObject, getNumberDependable, getDefaultDateObject, KeyboardEvents, L10n, ModuleLoader, Property, Complex, ComplexFactory, Collection, CollectionFactory, Event$1 as Event, NotifyPropertyChanges, CreateBuilder, SwipeSettings, Touch, HijriParser, blazorTemplates, getRandomId, compile$$1 as compile, updateBlazorTemplate, resetBlazorTemplate, setTemplateEngine, getTemplateEngine, initializeCSPTemplate, disableBlazorMode, createInstance, setImmediate, getValue, setValue, deleteObject, containerObject, isObject, getEnumValue, merge, extend, isNullOrUndefined, isUndefined, getUniqueID, debounce, queryParams, isObjectArray, compareElementParent, throwError, print, formatUnit, enableBlazorMode, isBlazor, getElement, getInstance, addInstance, uniqueID, createElement, addClass, removeClass, isVisible, prepend, append, detach, remove, attributes, select, selectAll, closest, siblings, getAttributeOrDefault, setStyleAttribute, classList, matches, includeInnerHTML, containsClass, cloneNode, Observer, SanitizeHtmlHelper, componentList, registerLicense, validateLicense, getVersion, createLicenseOverlay };
|
|
9816
|
+
export { Ajax, Animation, Base, Browser, ChildProperty, Collection, CollectionFactory, Complex, ComplexFactory, Component, CreateBuilder, Draggable, Droppable, Event$1 as Event, EventHandler, Fetch, GlobalAnimationMode, HijriParser, Internationalization, IntlBase, KeyboardEvents, L10n, ModuleLoader, NotifyPropertyChanges, Observer, Position, Property, SanitizeHtmlHelper, SwipeSettings, Touch, addClass, addInstance, animationMode, append, attributes, blazorCultureFormats, blazorTemplates, classList, cldrData, cloneNode, closest, compareElementParent, compile$1 as compile, componentList, containerObject, containsClass, createElement, createInstance, createLicenseOverlay, debounce, defaultCulture, defaultCurrencyCode, deleteObject, detach, disableBlazorMode, enableBlazorMode, enableRipple, enableRtl, enableVersionBasedPersistence, extend, formatUnit, getAttributeOrDefault, getComponent, getDefaultDateObject, getElement, getEnumValue, getInstance, getNumberDependable, getNumericObject, getRandomId, getTemplateEngine, getUniqueID, getValue, getVersion, includeInnerHTML, initializeCSPTemplate, isBlazor, isNullOrUndefined, isObject, isObjectArray, isRippleEnabled, isUndefined, isVisible, loadCldr, matches, merge, onIntlChange, prepend, print, proxyToRaw, queryParams, registerLicense, remove, removeChildInstance, removeClass, resetBlazorTemplate, rightToLeft, rippleEffect, select, selectAll, setCulture, setCurrencyCode, setGlobalAnimation, setImmediate, setProxyToRaw, setStyleAttribute, setTemplateEngine, setValue, siblings, throwError, uniqueID, updateBlazorTemplate, validateLicense, versionBasedStatePersistence };
|
|
10043
9817
|
//# sourceMappingURL=ej2-base.es2015.js.map
|