6759 lines
1.1 MiB
Plaintext
6759 lines
1.1 MiB
Plaintext
var __create = Object.create;
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __getProtoOf = Object.getPrototypeOf;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __esm = (fn, res) => function __init() {
|
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
};
|
|
var __commonJS = (cb, mod) => function __require() {
|
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
};
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __toESM = (mod, isNodeMode, target22) => (target22 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
// file that has been converted to a CommonJS file using a Babel-
|
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target22, "default", { value: mod, enumerable: true }) : target22,
|
|
mod
|
|
));
|
|
|
|
// ../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/esm_shims.js
|
|
var init_esm_shims = __esm({
|
|
"../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/esm_shims.js"() {
|
|
"use strict";
|
|
}
|
|
});
|
|
|
|
// ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js
|
|
var require_speakingurl = __commonJS({
|
|
"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(exports, module) {
|
|
"use strict";
|
|
init_esm_shims();
|
|
(function(root) {
|
|
"use strict";
|
|
var charMap = {
|
|
// latin
|
|
"\xC0": "A",
|
|
"\xC1": "A",
|
|
"\xC2": "A",
|
|
"\xC3": "A",
|
|
"\xC4": "Ae",
|
|
"\xC5": "A",
|
|
"\xC6": "AE",
|
|
"\xC7": "C",
|
|
"\xC8": "E",
|
|
"\xC9": "E",
|
|
"\xCA": "E",
|
|
"\xCB": "E",
|
|
"\xCC": "I",
|
|
"\xCD": "I",
|
|
"\xCE": "I",
|
|
"\xCF": "I",
|
|
"\xD0": "D",
|
|
"\xD1": "N",
|
|
"\xD2": "O",
|
|
"\xD3": "O",
|
|
"\xD4": "O",
|
|
"\xD5": "O",
|
|
"\xD6": "Oe",
|
|
"\u0150": "O",
|
|
"\xD8": "O",
|
|
"\xD9": "U",
|
|
"\xDA": "U",
|
|
"\xDB": "U",
|
|
"\xDC": "Ue",
|
|
"\u0170": "U",
|
|
"\xDD": "Y",
|
|
"\xDE": "TH",
|
|
"\xDF": "ss",
|
|
"\xE0": "a",
|
|
"\xE1": "a",
|
|
"\xE2": "a",
|
|
"\xE3": "a",
|
|
"\xE4": "ae",
|
|
"\xE5": "a",
|
|
"\xE6": "ae",
|
|
"\xE7": "c",
|
|
"\xE8": "e",
|
|
"\xE9": "e",
|
|
"\xEA": "e",
|
|
"\xEB": "e",
|
|
"\xEC": "i",
|
|
"\xED": "i",
|
|
"\xEE": "i",
|
|
"\xEF": "i",
|
|
"\xF0": "d",
|
|
"\xF1": "n",
|
|
"\xF2": "o",
|
|
"\xF3": "o",
|
|
"\xF4": "o",
|
|
"\xF5": "o",
|
|
"\xF6": "oe",
|
|
"\u0151": "o",
|
|
"\xF8": "o",
|
|
"\xF9": "u",
|
|
"\xFA": "u",
|
|
"\xFB": "u",
|
|
"\xFC": "ue",
|
|
"\u0171": "u",
|
|
"\xFD": "y",
|
|
"\xFE": "th",
|
|
"\xFF": "y",
|
|
"\u1E9E": "SS",
|
|
// language specific
|
|
// Arabic
|
|
"\u0627": "a",
|
|
"\u0623": "a",
|
|
"\u0625": "i",
|
|
"\u0622": "aa",
|
|
"\u0624": "u",
|
|
"\u0626": "e",
|
|
"\u0621": "a",
|
|
"\u0628": "b",
|
|
"\u062A": "t",
|
|
"\u062B": "th",
|
|
"\u062C": "j",
|
|
"\u062D": "h",
|
|
"\u062E": "kh",
|
|
"\u062F": "d",
|
|
"\u0630": "th",
|
|
"\u0631": "r",
|
|
"\u0632": "z",
|
|
"\u0633": "s",
|
|
"\u0634": "sh",
|
|
"\u0635": "s",
|
|
"\u0636": "dh",
|
|
"\u0637": "t",
|
|
"\u0638": "z",
|
|
"\u0639": "a",
|
|
"\u063A": "gh",
|
|
"\u0641": "f",
|
|
"\u0642": "q",
|
|
"\u0643": "k",
|
|
"\u0644": "l",
|
|
"\u0645": "m",
|
|
"\u0646": "n",
|
|
"\u0647": "h",
|
|
"\u0648": "w",
|
|
"\u064A": "y",
|
|
"\u0649": "a",
|
|
"\u0629": "h",
|
|
"\uFEFB": "la",
|
|
"\uFEF7": "laa",
|
|
"\uFEF9": "lai",
|
|
"\uFEF5": "laa",
|
|
// Persian additional characters than Arabic
|
|
"\u06AF": "g",
|
|
"\u0686": "ch",
|
|
"\u067E": "p",
|
|
"\u0698": "zh",
|
|
"\u06A9": "k",
|
|
"\u06CC": "y",
|
|
// Arabic diactrics
|
|
"\u064E": "a",
|
|
"\u064B": "an",
|
|
"\u0650": "e",
|
|
"\u064D": "en",
|
|
"\u064F": "u",
|
|
"\u064C": "on",
|
|
"\u0652": "",
|
|
// Arabic numbers
|
|
"\u0660": "0",
|
|
"\u0661": "1",
|
|
"\u0662": "2",
|
|
"\u0663": "3",
|
|
"\u0664": "4",
|
|
"\u0665": "5",
|
|
"\u0666": "6",
|
|
"\u0667": "7",
|
|
"\u0668": "8",
|
|
"\u0669": "9",
|
|
// Persian numbers
|
|
"\u06F0": "0",
|
|
"\u06F1": "1",
|
|
"\u06F2": "2",
|
|
"\u06F3": "3",
|
|
"\u06F4": "4",
|
|
"\u06F5": "5",
|
|
"\u06F6": "6",
|
|
"\u06F7": "7",
|
|
"\u06F8": "8",
|
|
"\u06F9": "9",
|
|
// Burmese consonants
|
|
"\u1000": "k",
|
|
"\u1001": "kh",
|
|
"\u1002": "g",
|
|
"\u1003": "ga",
|
|
"\u1004": "ng",
|
|
"\u1005": "s",
|
|
"\u1006": "sa",
|
|
"\u1007": "z",
|
|
"\u1005\u103B": "za",
|
|
"\u100A": "ny",
|
|
"\u100B": "t",
|
|
"\u100C": "ta",
|
|
"\u100D": "d",
|
|
"\u100E": "da",
|
|
"\u100F": "na",
|
|
"\u1010": "t",
|
|
"\u1011": "ta",
|
|
"\u1012": "d",
|
|
"\u1013": "da",
|
|
"\u1014": "n",
|
|
"\u1015": "p",
|
|
"\u1016": "pa",
|
|
"\u1017": "b",
|
|
"\u1018": "ba",
|
|
"\u1019": "m",
|
|
"\u101A": "y",
|
|
"\u101B": "ya",
|
|
"\u101C": "l",
|
|
"\u101D": "w",
|
|
"\u101E": "th",
|
|
"\u101F": "h",
|
|
"\u1020": "la",
|
|
"\u1021": "a",
|
|
// consonant character combos
|
|
"\u103C": "y",
|
|
"\u103B": "ya",
|
|
"\u103D": "w",
|
|
"\u103C\u103D": "yw",
|
|
"\u103B\u103D": "ywa",
|
|
"\u103E": "h",
|
|
// independent vowels
|
|
"\u1027": "e",
|
|
"\u104F": "-e",
|
|
"\u1023": "i",
|
|
"\u1024": "-i",
|
|
"\u1009": "u",
|
|
"\u1026": "-u",
|
|
"\u1029": "aw",
|
|
"\u101E\u103C\u1031\u102C": "aw",
|
|
"\u102A": "aw",
|
|
// numbers
|
|
"\u1040": "0",
|
|
"\u1041": "1",
|
|
"\u1042": "2",
|
|
"\u1043": "3",
|
|
"\u1044": "4",
|
|
"\u1045": "5",
|
|
"\u1046": "6",
|
|
"\u1047": "7",
|
|
"\u1048": "8",
|
|
"\u1049": "9",
|
|
// virama and tone marks which are silent in transliteration
|
|
"\u1039": "",
|
|
"\u1037": "",
|
|
"\u1038": "",
|
|
// Czech
|
|
"\u010D": "c",
|
|
"\u010F": "d",
|
|
"\u011B": "e",
|
|
"\u0148": "n",
|
|
"\u0159": "r",
|
|
"\u0161": "s",
|
|
"\u0165": "t",
|
|
"\u016F": "u",
|
|
"\u017E": "z",
|
|
"\u010C": "C",
|
|
"\u010E": "D",
|
|
"\u011A": "E",
|
|
"\u0147": "N",
|
|
"\u0158": "R",
|
|
"\u0160": "S",
|
|
"\u0164": "T",
|
|
"\u016E": "U",
|
|
"\u017D": "Z",
|
|
// Dhivehi
|
|
"\u0780": "h",
|
|
"\u0781": "sh",
|
|
"\u0782": "n",
|
|
"\u0783": "r",
|
|
"\u0784": "b",
|
|
"\u0785": "lh",
|
|
"\u0786": "k",
|
|
"\u0787": "a",
|
|
"\u0788": "v",
|
|
"\u0789": "m",
|
|
"\u078A": "f",
|
|
"\u078B": "dh",
|
|
"\u078C": "th",
|
|
"\u078D": "l",
|
|
"\u078E": "g",
|
|
"\u078F": "gn",
|
|
"\u0790": "s",
|
|
"\u0791": "d",
|
|
"\u0792": "z",
|
|
"\u0793": "t",
|
|
"\u0794": "y",
|
|
"\u0795": "p",
|
|
"\u0796": "j",
|
|
"\u0797": "ch",
|
|
"\u0798": "tt",
|
|
"\u0799": "hh",
|
|
"\u079A": "kh",
|
|
"\u079B": "th",
|
|
"\u079C": "z",
|
|
"\u079D": "sh",
|
|
"\u079E": "s",
|
|
"\u079F": "d",
|
|
"\u07A0": "t",
|
|
"\u07A1": "z",
|
|
"\u07A2": "a",
|
|
"\u07A3": "gh",
|
|
"\u07A4": "q",
|
|
"\u07A5": "w",
|
|
"\u07A6": "a",
|
|
"\u07A7": "aa",
|
|
"\u07A8": "i",
|
|
"\u07A9": "ee",
|
|
"\u07AA": "u",
|
|
"\u07AB": "oo",
|
|
"\u07AC": "e",
|
|
"\u07AD": "ey",
|
|
"\u07AE": "o",
|
|
"\u07AF": "oa",
|
|
"\u07B0": "",
|
|
// Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian
|
|
// National system (2002)
|
|
"\u10D0": "a",
|
|
"\u10D1": "b",
|
|
"\u10D2": "g",
|
|
"\u10D3": "d",
|
|
"\u10D4": "e",
|
|
"\u10D5": "v",
|
|
"\u10D6": "z",
|
|
"\u10D7": "t",
|
|
"\u10D8": "i",
|
|
"\u10D9": "k",
|
|
"\u10DA": "l",
|
|
"\u10DB": "m",
|
|
"\u10DC": "n",
|
|
"\u10DD": "o",
|
|
"\u10DE": "p",
|
|
"\u10DF": "zh",
|
|
"\u10E0": "r",
|
|
"\u10E1": "s",
|
|
"\u10E2": "t",
|
|
"\u10E3": "u",
|
|
"\u10E4": "p",
|
|
"\u10E5": "k",
|
|
"\u10E6": "gh",
|
|
"\u10E7": "q",
|
|
"\u10E8": "sh",
|
|
"\u10E9": "ch",
|
|
"\u10EA": "ts",
|
|
"\u10EB": "dz",
|
|
"\u10EC": "ts",
|
|
"\u10ED": "ch",
|
|
"\u10EE": "kh",
|
|
"\u10EF": "j",
|
|
"\u10F0": "h",
|
|
// Greek
|
|
"\u03B1": "a",
|
|
"\u03B2": "v",
|
|
"\u03B3": "g",
|
|
"\u03B4": "d",
|
|
"\u03B5": "e",
|
|
"\u03B6": "z",
|
|
"\u03B7": "i",
|
|
"\u03B8": "th",
|
|
"\u03B9": "i",
|
|
"\u03BA": "k",
|
|
"\u03BB": "l",
|
|
"\u03BC": "m",
|
|
"\u03BD": "n",
|
|
"\u03BE": "ks",
|
|
"\u03BF": "o",
|
|
"\u03C0": "p",
|
|
"\u03C1": "r",
|
|
"\u03C3": "s",
|
|
"\u03C4": "t",
|
|
"\u03C5": "y",
|
|
"\u03C6": "f",
|
|
"\u03C7": "x",
|
|
"\u03C8": "ps",
|
|
"\u03C9": "o",
|
|
"\u03AC": "a",
|
|
"\u03AD": "e",
|
|
"\u03AF": "i",
|
|
"\u03CC": "o",
|
|
"\u03CD": "y",
|
|
"\u03AE": "i",
|
|
"\u03CE": "o",
|
|
"\u03C2": "s",
|
|
"\u03CA": "i",
|
|
"\u03B0": "y",
|
|
"\u03CB": "y",
|
|
"\u0390": "i",
|
|
"\u0391": "A",
|
|
"\u0392": "B",
|
|
"\u0393": "G",
|
|
"\u0394": "D",
|
|
"\u0395": "E",
|
|
"\u0396": "Z",
|
|
"\u0397": "I",
|
|
"\u0398": "TH",
|
|
"\u0399": "I",
|
|
"\u039A": "K",
|
|
"\u039B": "L",
|
|
"\u039C": "M",
|
|
"\u039D": "N",
|
|
"\u039E": "KS",
|
|
"\u039F": "O",
|
|
"\u03A0": "P",
|
|
"\u03A1": "R",
|
|
"\u03A3": "S",
|
|
"\u03A4": "T",
|
|
"\u03A5": "Y",
|
|
"\u03A6": "F",
|
|
"\u03A7": "X",
|
|
"\u03A8": "PS",
|
|
"\u03A9": "O",
|
|
"\u0386": "A",
|
|
"\u0388": "E",
|
|
"\u038A": "I",
|
|
"\u038C": "O",
|
|
"\u038E": "Y",
|
|
"\u0389": "I",
|
|
"\u038F": "O",
|
|
"\u03AA": "I",
|
|
"\u03AB": "Y",
|
|
// Latvian
|
|
"\u0101": "a",
|
|
// 'č': 'c', // duplicate
|
|
"\u0113": "e",
|
|
"\u0123": "g",
|
|
"\u012B": "i",
|
|
"\u0137": "k",
|
|
"\u013C": "l",
|
|
"\u0146": "n",
|
|
// 'š': 's', // duplicate
|
|
"\u016B": "u",
|
|
// 'ž': 'z', // duplicate
|
|
"\u0100": "A",
|
|
// 'Č': 'C', // duplicate
|
|
"\u0112": "E",
|
|
"\u0122": "G",
|
|
"\u012A": "I",
|
|
"\u0136": "k",
|
|
"\u013B": "L",
|
|
"\u0145": "N",
|
|
// 'Š': 'S', // duplicate
|
|
"\u016A": "U",
|
|
// 'Ž': 'Z', // duplicate
|
|
// Macedonian
|
|
"\u040C": "Kj",
|
|
"\u045C": "kj",
|
|
"\u0409": "Lj",
|
|
"\u0459": "lj",
|
|
"\u040A": "Nj",
|
|
"\u045A": "nj",
|
|
"\u0422\u0441": "Ts",
|
|
"\u0442\u0441": "ts",
|
|
// Polish
|
|
"\u0105": "a",
|
|
"\u0107": "c",
|
|
"\u0119": "e",
|
|
"\u0142": "l",
|
|
"\u0144": "n",
|
|
// 'ó': 'o', // duplicate
|
|
"\u015B": "s",
|
|
"\u017A": "z",
|
|
"\u017C": "z",
|
|
"\u0104": "A",
|
|
"\u0106": "C",
|
|
"\u0118": "E",
|
|
"\u0141": "L",
|
|
"\u0143": "N",
|
|
"\u015A": "S",
|
|
"\u0179": "Z",
|
|
"\u017B": "Z",
|
|
// Ukranian
|
|
"\u0404": "Ye",
|
|
"\u0406": "I",
|
|
"\u0407": "Yi",
|
|
"\u0490": "G",
|
|
"\u0454": "ye",
|
|
"\u0456": "i",
|
|
"\u0457": "yi",
|
|
"\u0491": "g",
|
|
// Romanian
|
|
"\u0103": "a",
|
|
"\u0102": "A",
|
|
"\u0219": "s",
|
|
"\u0218": "S",
|
|
// 'ş': 's', // duplicate
|
|
// 'Ş': 'S', // duplicate
|
|
"\u021B": "t",
|
|
"\u021A": "T",
|
|
"\u0163": "t",
|
|
"\u0162": "T",
|
|
// Russian https://en.wikipedia.org/wiki/Romanization_of_Russian
|
|
// ICAO
|
|
"\u0430": "a",
|
|
"\u0431": "b",
|
|
"\u0432": "v",
|
|
"\u0433": "g",
|
|
"\u0434": "d",
|
|
"\u0435": "e",
|
|
"\u0451": "yo",
|
|
"\u0436": "zh",
|
|
"\u0437": "z",
|
|
"\u0438": "i",
|
|
"\u0439": "i",
|
|
"\u043A": "k",
|
|
"\u043B": "l",
|
|
"\u043C": "m",
|
|
"\u043D": "n",
|
|
"\u043E": "o",
|
|
"\u043F": "p",
|
|
"\u0440": "r",
|
|
"\u0441": "s",
|
|
"\u0442": "t",
|
|
"\u0443": "u",
|
|
"\u0444": "f",
|
|
"\u0445": "kh",
|
|
"\u0446": "c",
|
|
"\u0447": "ch",
|
|
"\u0448": "sh",
|
|
"\u0449": "sh",
|
|
"\u044A": "",
|
|
"\u044B": "y",
|
|
"\u044C": "",
|
|
"\u044D": "e",
|
|
"\u044E": "yu",
|
|
"\u044F": "ya",
|
|
"\u0410": "A",
|
|
"\u0411": "B",
|
|
"\u0412": "V",
|
|
"\u0413": "G",
|
|
"\u0414": "D",
|
|
"\u0415": "E",
|
|
"\u0401": "Yo",
|
|
"\u0416": "Zh",
|
|
"\u0417": "Z",
|
|
"\u0418": "I",
|
|
"\u0419": "I",
|
|
"\u041A": "K",
|
|
"\u041B": "L",
|
|
"\u041C": "M",
|
|
"\u041D": "N",
|
|
"\u041E": "O",
|
|
"\u041F": "P",
|
|
"\u0420": "R",
|
|
"\u0421": "S",
|
|
"\u0422": "T",
|
|
"\u0423": "U",
|
|
"\u0424": "F",
|
|
"\u0425": "Kh",
|
|
"\u0426": "C",
|
|
"\u0427": "Ch",
|
|
"\u0428": "Sh",
|
|
"\u0429": "Sh",
|
|
"\u042A": "",
|
|
"\u042B": "Y",
|
|
"\u042C": "",
|
|
"\u042D": "E",
|
|
"\u042E": "Yu",
|
|
"\u042F": "Ya",
|
|
// Serbian
|
|
"\u0452": "dj",
|
|
"\u0458": "j",
|
|
// 'љ': 'lj', // duplicate
|
|
// 'њ': 'nj', // duplicate
|
|
"\u045B": "c",
|
|
"\u045F": "dz",
|
|
"\u0402": "Dj",
|
|
"\u0408": "j",
|
|
// 'Љ': 'Lj', // duplicate
|
|
// 'Њ': 'Nj', // duplicate
|
|
"\u040B": "C",
|
|
"\u040F": "Dz",
|
|
// Slovak
|
|
"\u013E": "l",
|
|
"\u013A": "l",
|
|
"\u0155": "r",
|
|
"\u013D": "L",
|
|
"\u0139": "L",
|
|
"\u0154": "R",
|
|
// Turkish
|
|
"\u015F": "s",
|
|
"\u015E": "S",
|
|
"\u0131": "i",
|
|
"\u0130": "I",
|
|
// 'ç': 'c', // duplicate
|
|
// 'Ç': 'C', // duplicate
|
|
// 'ü': 'u', // duplicate, see langCharMap
|
|
// 'Ü': 'U', // duplicate, see langCharMap
|
|
// 'ö': 'o', // duplicate, see langCharMap
|
|
// 'Ö': 'O', // duplicate, see langCharMap
|
|
"\u011F": "g",
|
|
"\u011E": "G",
|
|
// Vietnamese
|
|
"\u1EA3": "a",
|
|
"\u1EA2": "A",
|
|
"\u1EB3": "a",
|
|
"\u1EB2": "A",
|
|
"\u1EA9": "a",
|
|
"\u1EA8": "A",
|
|
"\u0111": "d",
|
|
"\u0110": "D",
|
|
"\u1EB9": "e",
|
|
"\u1EB8": "E",
|
|
"\u1EBD": "e",
|
|
"\u1EBC": "E",
|
|
"\u1EBB": "e",
|
|
"\u1EBA": "E",
|
|
"\u1EBF": "e",
|
|
"\u1EBE": "E",
|
|
"\u1EC1": "e",
|
|
"\u1EC0": "E",
|
|
"\u1EC7": "e",
|
|
"\u1EC6": "E",
|
|
"\u1EC5": "e",
|
|
"\u1EC4": "E",
|
|
"\u1EC3": "e",
|
|
"\u1EC2": "E",
|
|
"\u1ECF": "o",
|
|
"\u1ECD": "o",
|
|
"\u1ECC": "o",
|
|
"\u1ED1": "o",
|
|
"\u1ED0": "O",
|
|
"\u1ED3": "o",
|
|
"\u1ED2": "O",
|
|
"\u1ED5": "o",
|
|
"\u1ED4": "O",
|
|
"\u1ED9": "o",
|
|
"\u1ED8": "O",
|
|
"\u1ED7": "o",
|
|
"\u1ED6": "O",
|
|
"\u01A1": "o",
|
|
"\u01A0": "O",
|
|
"\u1EDB": "o",
|
|
"\u1EDA": "O",
|
|
"\u1EDD": "o",
|
|
"\u1EDC": "O",
|
|
"\u1EE3": "o",
|
|
"\u1EE2": "O",
|
|
"\u1EE1": "o",
|
|
"\u1EE0": "O",
|
|
"\u1EDE": "o",
|
|
"\u1EDF": "o",
|
|
"\u1ECB": "i",
|
|
"\u1ECA": "I",
|
|
"\u0129": "i",
|
|
"\u0128": "I",
|
|
"\u1EC9": "i",
|
|
"\u1EC8": "i",
|
|
"\u1EE7": "u",
|
|
"\u1EE6": "U",
|
|
"\u1EE5": "u",
|
|
"\u1EE4": "U",
|
|
"\u0169": "u",
|
|
"\u0168": "U",
|
|
"\u01B0": "u",
|
|
"\u01AF": "U",
|
|
"\u1EE9": "u",
|
|
"\u1EE8": "U",
|
|
"\u1EEB": "u",
|
|
"\u1EEA": "U",
|
|
"\u1EF1": "u",
|
|
"\u1EF0": "U",
|
|
"\u1EEF": "u",
|
|
"\u1EEE": "U",
|
|
"\u1EED": "u",
|
|
"\u1EEC": "\u01B0",
|
|
"\u1EF7": "y",
|
|
"\u1EF6": "y",
|
|
"\u1EF3": "y",
|
|
"\u1EF2": "Y",
|
|
"\u1EF5": "y",
|
|
"\u1EF4": "Y",
|
|
"\u1EF9": "y",
|
|
"\u1EF8": "Y",
|
|
"\u1EA1": "a",
|
|
"\u1EA0": "A",
|
|
"\u1EA5": "a",
|
|
"\u1EA4": "A",
|
|
"\u1EA7": "a",
|
|
"\u1EA6": "A",
|
|
"\u1EAD": "a",
|
|
"\u1EAC": "A",
|
|
"\u1EAB": "a",
|
|
"\u1EAA": "A",
|
|
// 'ă': 'a', // duplicate
|
|
// 'Ă': 'A', // duplicate
|
|
"\u1EAF": "a",
|
|
"\u1EAE": "A",
|
|
"\u1EB1": "a",
|
|
"\u1EB0": "A",
|
|
"\u1EB7": "a",
|
|
"\u1EB6": "A",
|
|
"\u1EB5": "a",
|
|
"\u1EB4": "A",
|
|
"\u24EA": "0",
|
|
"\u2460": "1",
|
|
"\u2461": "2",
|
|
"\u2462": "3",
|
|
"\u2463": "4",
|
|
"\u2464": "5",
|
|
"\u2465": "6",
|
|
"\u2466": "7",
|
|
"\u2467": "8",
|
|
"\u2468": "9",
|
|
"\u2469": "10",
|
|
"\u246A": "11",
|
|
"\u246B": "12",
|
|
"\u246C": "13",
|
|
"\u246D": "14",
|
|
"\u246E": "15",
|
|
"\u246F": "16",
|
|
"\u2470": "17",
|
|
"\u2471": "18",
|
|
"\u2472": "18",
|
|
"\u2473": "18",
|
|
"\u24F5": "1",
|
|
"\u24F6": "2",
|
|
"\u24F7": "3",
|
|
"\u24F8": "4",
|
|
"\u24F9": "5",
|
|
"\u24FA": "6",
|
|
"\u24FB": "7",
|
|
"\u24FC": "8",
|
|
"\u24FD": "9",
|
|
"\u24FE": "10",
|
|
"\u24FF": "0",
|
|
"\u24EB": "11",
|
|
"\u24EC": "12",
|
|
"\u24ED": "13",
|
|
"\u24EE": "14",
|
|
"\u24EF": "15",
|
|
"\u24F0": "16",
|
|
"\u24F1": "17",
|
|
"\u24F2": "18",
|
|
"\u24F3": "19",
|
|
"\u24F4": "20",
|
|
"\u24B6": "A",
|
|
"\u24B7": "B",
|
|
"\u24B8": "C",
|
|
"\u24B9": "D",
|
|
"\u24BA": "E",
|
|
"\u24BB": "F",
|
|
"\u24BC": "G",
|
|
"\u24BD": "H",
|
|
"\u24BE": "I",
|
|
"\u24BF": "J",
|
|
"\u24C0": "K",
|
|
"\u24C1": "L",
|
|
"\u24C2": "M",
|
|
"\u24C3": "N",
|
|
"\u24C4": "O",
|
|
"\u24C5": "P",
|
|
"\u24C6": "Q",
|
|
"\u24C7": "R",
|
|
"\u24C8": "S",
|
|
"\u24C9": "T",
|
|
"\u24CA": "U",
|
|
"\u24CB": "V",
|
|
"\u24CC": "W",
|
|
"\u24CD": "X",
|
|
"\u24CE": "Y",
|
|
"\u24CF": "Z",
|
|
"\u24D0": "a",
|
|
"\u24D1": "b",
|
|
"\u24D2": "c",
|
|
"\u24D3": "d",
|
|
"\u24D4": "e",
|
|
"\u24D5": "f",
|
|
"\u24D6": "g",
|
|
"\u24D7": "h",
|
|
"\u24D8": "i",
|
|
"\u24D9": "j",
|
|
"\u24DA": "k",
|
|
"\u24DB": "l",
|
|
"\u24DC": "m",
|
|
"\u24DD": "n",
|
|
"\u24DE": "o",
|
|
"\u24DF": "p",
|
|
"\u24E0": "q",
|
|
"\u24E1": "r",
|
|
"\u24E2": "s",
|
|
"\u24E3": "t",
|
|
"\u24E4": "u",
|
|
"\u24E6": "v",
|
|
"\u24E5": "w",
|
|
"\u24E7": "x",
|
|
"\u24E8": "y",
|
|
"\u24E9": "z",
|
|
// symbols
|
|
"\u201C": '"',
|
|
"\u201D": '"',
|
|
"\u2018": "'",
|
|
"\u2019": "'",
|
|
"\u2202": "d",
|
|
"\u0192": "f",
|
|
"\u2122": "(TM)",
|
|
"\xA9": "(C)",
|
|
"\u0153": "oe",
|
|
"\u0152": "OE",
|
|
"\xAE": "(R)",
|
|
"\u2020": "+",
|
|
"\u2120": "(SM)",
|
|
"\u2026": "...",
|
|
"\u02DA": "o",
|
|
"\xBA": "o",
|
|
"\xAA": "a",
|
|
"\u2022": "*",
|
|
"\u104A": ",",
|
|
"\u104B": ".",
|
|
// currency
|
|
"$": "USD",
|
|
"\u20AC": "EUR",
|
|
"\u20A2": "BRN",
|
|
"\u20A3": "FRF",
|
|
"\xA3": "GBP",
|
|
"\u20A4": "ITL",
|
|
"\u20A6": "NGN",
|
|
"\u20A7": "ESP",
|
|
"\u20A9": "KRW",
|
|
"\u20AA": "ILS",
|
|
"\u20AB": "VND",
|
|
"\u20AD": "LAK",
|
|
"\u20AE": "MNT",
|
|
"\u20AF": "GRD",
|
|
"\u20B1": "ARS",
|
|
"\u20B2": "PYG",
|
|
"\u20B3": "ARA",
|
|
"\u20B4": "UAH",
|
|
"\u20B5": "GHS",
|
|
"\xA2": "cent",
|
|
"\xA5": "CNY",
|
|
"\u5143": "CNY",
|
|
"\u5186": "YEN",
|
|
"\uFDFC": "IRR",
|
|
"\u20A0": "EWE",
|
|
"\u0E3F": "THB",
|
|
"\u20A8": "INR",
|
|
"\u20B9": "INR",
|
|
"\u20B0": "PF",
|
|
"\u20BA": "TRY",
|
|
"\u060B": "AFN",
|
|
"\u20BC": "AZN",
|
|
"\u043B\u0432": "BGN",
|
|
"\u17DB": "KHR",
|
|
"\u20A1": "CRC",
|
|
"\u20B8": "KZT",
|
|
"\u0434\u0435\u043D": "MKD",
|
|
"z\u0142": "PLN",
|
|
"\u20BD": "RUB",
|
|
"\u20BE": "GEL"
|
|
};
|
|
var lookAheadCharArray = [
|
|
// burmese
|
|
"\u103A",
|
|
// Dhivehi
|
|
"\u07B0"
|
|
];
|
|
var diatricMap = {
|
|
// Burmese
|
|
// dependent vowels
|
|
"\u102C": "a",
|
|
"\u102B": "a",
|
|
"\u1031": "e",
|
|
"\u1032": "e",
|
|
"\u102D": "i",
|
|
"\u102E": "i",
|
|
"\u102D\u102F": "o",
|
|
"\u102F": "u",
|
|
"\u1030": "u",
|
|
"\u1031\u102B\u1004\u103A": "aung",
|
|
"\u1031\u102C": "aw",
|
|
"\u1031\u102C\u103A": "aw",
|
|
"\u1031\u102B": "aw",
|
|
"\u1031\u102B\u103A": "aw",
|
|
"\u103A": "\u103A",
|
|
// this is special case but the character will be converted to latin in the code
|
|
"\u1000\u103A": "et",
|
|
"\u102D\u102F\u1000\u103A": "aik",
|
|
"\u1031\u102C\u1000\u103A": "auk",
|
|
"\u1004\u103A": "in",
|
|
"\u102D\u102F\u1004\u103A": "aing",
|
|
"\u1031\u102C\u1004\u103A": "aung",
|
|
"\u1005\u103A": "it",
|
|
"\u100A\u103A": "i",
|
|
"\u1010\u103A": "at",
|
|
"\u102D\u1010\u103A": "eik",
|
|
"\u102F\u1010\u103A": "ok",
|
|
"\u103D\u1010\u103A": "ut",
|
|
"\u1031\u1010\u103A": "it",
|
|
"\u1012\u103A": "d",
|
|
"\u102D\u102F\u1012\u103A": "ok",
|
|
"\u102F\u1012\u103A": "ait",
|
|
"\u1014\u103A": "an",
|
|
"\u102C\u1014\u103A": "an",
|
|
"\u102D\u1014\u103A": "ein",
|
|
"\u102F\u1014\u103A": "on",
|
|
"\u103D\u1014\u103A": "un",
|
|
"\u1015\u103A": "at",
|
|
"\u102D\u1015\u103A": "eik",
|
|
"\u102F\u1015\u103A": "ok",
|
|
"\u103D\u1015\u103A": "ut",
|
|
"\u1014\u103A\u102F\u1015\u103A": "nub",
|
|
"\u1019\u103A": "an",
|
|
"\u102D\u1019\u103A": "ein",
|
|
"\u102F\u1019\u103A": "on",
|
|
"\u103D\u1019\u103A": "un",
|
|
"\u101A\u103A": "e",
|
|
"\u102D\u102F\u101C\u103A": "ol",
|
|
"\u1009\u103A": "in",
|
|
"\u1036": "an",
|
|
"\u102D\u1036": "ein",
|
|
"\u102F\u1036": "on",
|
|
// Dhivehi
|
|
"\u07A6\u0787\u07B0": "ah",
|
|
"\u07A6\u0781\u07B0": "ah"
|
|
};
|
|
var langCharMap = {
|
|
"en": {},
|
|
// default language
|
|
"az": {
|
|
// Azerbaijani
|
|
"\xE7": "c",
|
|
"\u0259": "e",
|
|
"\u011F": "g",
|
|
"\u0131": "i",
|
|
"\xF6": "o",
|
|
"\u015F": "s",
|
|
"\xFC": "u",
|
|
"\xC7": "C",
|
|
"\u018F": "E",
|
|
"\u011E": "G",
|
|
"\u0130": "I",
|
|
"\xD6": "O",
|
|
"\u015E": "S",
|
|
"\xDC": "U"
|
|
},
|
|
"cs": {
|
|
// Czech
|
|
"\u010D": "c",
|
|
"\u010F": "d",
|
|
"\u011B": "e",
|
|
"\u0148": "n",
|
|
"\u0159": "r",
|
|
"\u0161": "s",
|
|
"\u0165": "t",
|
|
"\u016F": "u",
|
|
"\u017E": "z",
|
|
"\u010C": "C",
|
|
"\u010E": "D",
|
|
"\u011A": "E",
|
|
"\u0147": "N",
|
|
"\u0158": "R",
|
|
"\u0160": "S",
|
|
"\u0164": "T",
|
|
"\u016E": "U",
|
|
"\u017D": "Z"
|
|
},
|
|
"fi": {
|
|
// Finnish
|
|
// 'å': 'a', duplicate see charMap/latin
|
|
// 'Å': 'A', duplicate see charMap/latin
|
|
"\xE4": "a",
|
|
// ok
|
|
"\xC4": "A",
|
|
// ok
|
|
"\xF6": "o",
|
|
// ok
|
|
"\xD6": "O"
|
|
// ok
|
|
},
|
|
"hu": {
|
|
// Hungarian
|
|
"\xE4": "a",
|
|
// ok
|
|
"\xC4": "A",
|
|
// ok
|
|
// 'á': 'a', duplicate see charMap/latin
|
|
// 'Á': 'A', duplicate see charMap/latin
|
|
"\xF6": "o",
|
|
// ok
|
|
"\xD6": "O",
|
|
// ok
|
|
// 'ő': 'o', duplicate see charMap/latin
|
|
// 'Ő': 'O', duplicate see charMap/latin
|
|
"\xFC": "u",
|
|
"\xDC": "U",
|
|
"\u0171": "u",
|
|
"\u0170": "U"
|
|
},
|
|
"lt": {
|
|
// Lithuanian
|
|
"\u0105": "a",
|
|
"\u010D": "c",
|
|
"\u0119": "e",
|
|
"\u0117": "e",
|
|
"\u012F": "i",
|
|
"\u0161": "s",
|
|
"\u0173": "u",
|
|
"\u016B": "u",
|
|
"\u017E": "z",
|
|
"\u0104": "A",
|
|
"\u010C": "C",
|
|
"\u0118": "E",
|
|
"\u0116": "E",
|
|
"\u012E": "I",
|
|
"\u0160": "S",
|
|
"\u0172": "U",
|
|
"\u016A": "U"
|
|
},
|
|
"lv": {
|
|
// Latvian
|
|
"\u0101": "a",
|
|
"\u010D": "c",
|
|
"\u0113": "e",
|
|
"\u0123": "g",
|
|
"\u012B": "i",
|
|
"\u0137": "k",
|
|
"\u013C": "l",
|
|
"\u0146": "n",
|
|
"\u0161": "s",
|
|
"\u016B": "u",
|
|
"\u017E": "z",
|
|
"\u0100": "A",
|
|
"\u010C": "C",
|
|
"\u0112": "E",
|
|
"\u0122": "G",
|
|
"\u012A": "i",
|
|
"\u0136": "k",
|
|
"\u013B": "L",
|
|
"\u0145": "N",
|
|
"\u0160": "S",
|
|
"\u016A": "u",
|
|
"\u017D": "Z"
|
|
},
|
|
"pl": {
|
|
// Polish
|
|
"\u0105": "a",
|
|
"\u0107": "c",
|
|
"\u0119": "e",
|
|
"\u0142": "l",
|
|
"\u0144": "n",
|
|
"\xF3": "o",
|
|
"\u015B": "s",
|
|
"\u017A": "z",
|
|
"\u017C": "z",
|
|
"\u0104": "A",
|
|
"\u0106": "C",
|
|
"\u0118": "e",
|
|
"\u0141": "L",
|
|
"\u0143": "N",
|
|
"\xD3": "O",
|
|
"\u015A": "S",
|
|
"\u0179": "Z",
|
|
"\u017B": "Z"
|
|
},
|
|
"sv": {
|
|
// Swedish
|
|
// 'å': 'a', duplicate see charMap/latin
|
|
// 'Å': 'A', duplicate see charMap/latin
|
|
"\xE4": "a",
|
|
// ok
|
|
"\xC4": "A",
|
|
// ok
|
|
"\xF6": "o",
|
|
// ok
|
|
"\xD6": "O"
|
|
// ok
|
|
},
|
|
"sk": {
|
|
// Slovak
|
|
"\xE4": "a",
|
|
"\xC4": "A"
|
|
},
|
|
"sr": {
|
|
// Serbian
|
|
"\u0459": "lj",
|
|
"\u045A": "nj",
|
|
"\u0409": "Lj",
|
|
"\u040A": "Nj",
|
|
"\u0111": "dj",
|
|
"\u0110": "Dj"
|
|
},
|
|
"tr": {
|
|
// Turkish
|
|
"\xDC": "U",
|
|
"\xD6": "O",
|
|
"\xFC": "u",
|
|
"\xF6": "o"
|
|
}
|
|
};
|
|
var symbolMap = {
|
|
"ar": {
|
|
"\u2206": "delta",
|
|
"\u221E": "la-nihaya",
|
|
"\u2665": "hob",
|
|
"&": "wa",
|
|
"|": "aw",
|
|
"<": "aqal-men",
|
|
">": "akbar-men",
|
|
"\u2211": "majmou",
|
|
"\xA4": "omla"
|
|
},
|
|
"az": {},
|
|
"ca": {
|
|
"\u2206": "delta",
|
|
"\u221E": "infinit",
|
|
"\u2665": "amor",
|
|
"&": "i",
|
|
"|": "o",
|
|
"<": "menys que",
|
|
">": "mes que",
|
|
"\u2211": "suma dels",
|
|
"\xA4": "moneda"
|
|
},
|
|
"cs": {
|
|
"\u2206": "delta",
|
|
"\u221E": "nekonecno",
|
|
"\u2665": "laska",
|
|
"&": "a",
|
|
"|": "nebo",
|
|
"<": "mensi nez",
|
|
">": "vetsi nez",
|
|
"\u2211": "soucet",
|
|
"\xA4": "mena"
|
|
},
|
|
"de": {
|
|
"\u2206": "delta",
|
|
"\u221E": "unendlich",
|
|
"\u2665": "Liebe",
|
|
"&": "und",
|
|
"|": "oder",
|
|
"<": "kleiner als",
|
|
">": "groesser als",
|
|
"\u2211": "Summe von",
|
|
"\xA4": "Waehrung"
|
|
},
|
|
"dv": {
|
|
"\u2206": "delta",
|
|
"\u221E": "kolunulaa",
|
|
"\u2665": "loabi",
|
|
"&": "aai",
|
|
"|": "noonee",
|
|
"<": "ah vure kuda",
|
|
">": "ah vure bodu",
|
|
"\u2211": "jumula",
|
|
"\xA4": "faisaa"
|
|
},
|
|
"en": {
|
|
"\u2206": "delta",
|
|
"\u221E": "infinity",
|
|
"\u2665": "love",
|
|
"&": "and",
|
|
"|": "or",
|
|
"<": "less than",
|
|
">": "greater than",
|
|
"\u2211": "sum",
|
|
"\xA4": "currency"
|
|
},
|
|
"es": {
|
|
"\u2206": "delta",
|
|
"\u221E": "infinito",
|
|
"\u2665": "amor",
|
|
"&": "y",
|
|
"|": "u",
|
|
"<": "menos que",
|
|
">": "mas que",
|
|
"\u2211": "suma de los",
|
|
"\xA4": "moneda"
|
|
},
|
|
"fa": {
|
|
"\u2206": "delta",
|
|
"\u221E": "bi-nahayat",
|
|
"\u2665": "eshgh",
|
|
"&": "va",
|
|
"|": "ya",
|
|
"<": "kamtar-az",
|
|
">": "bishtar-az",
|
|
"\u2211": "majmooe",
|
|
"\xA4": "vahed"
|
|
},
|
|
"fi": {
|
|
"\u2206": "delta",
|
|
"\u221E": "aarettomyys",
|
|
"\u2665": "rakkaus",
|
|
"&": "ja",
|
|
"|": "tai",
|
|
"<": "pienempi kuin",
|
|
">": "suurempi kuin",
|
|
"\u2211": "summa",
|
|
"\xA4": "valuutta"
|
|
},
|
|
"fr": {
|
|
"\u2206": "delta",
|
|
"\u221E": "infiniment",
|
|
"\u2665": "Amour",
|
|
"&": "et",
|
|
"|": "ou",
|
|
"<": "moins que",
|
|
">": "superieure a",
|
|
"\u2211": "somme des",
|
|
"\xA4": "monnaie"
|
|
},
|
|
"ge": {
|
|
"\u2206": "delta",
|
|
"\u221E": "usasruloba",
|
|
"\u2665": "siqvaruli",
|
|
"&": "da",
|
|
"|": "an",
|
|
"<": "naklebi",
|
|
">": "meti",
|
|
"\u2211": "jami",
|
|
"\xA4": "valuta"
|
|
},
|
|
"gr": {},
|
|
"hu": {
|
|
"\u2206": "delta",
|
|
"\u221E": "vegtelen",
|
|
"\u2665": "szerelem",
|
|
"&": "es",
|
|
"|": "vagy",
|
|
"<": "kisebb mint",
|
|
">": "nagyobb mint",
|
|
"\u2211": "szumma",
|
|
"\xA4": "penznem"
|
|
},
|
|
"it": {
|
|
"\u2206": "delta",
|
|
"\u221E": "infinito",
|
|
"\u2665": "amore",
|
|
"&": "e",
|
|
"|": "o",
|
|
"<": "minore di",
|
|
">": "maggiore di",
|
|
"\u2211": "somma",
|
|
"\xA4": "moneta"
|
|
},
|
|
"lt": {
|
|
"\u2206": "delta",
|
|
"\u221E": "begalybe",
|
|
"\u2665": "meile",
|
|
"&": "ir",
|
|
"|": "ar",
|
|
"<": "maziau nei",
|
|
">": "daugiau nei",
|
|
"\u2211": "suma",
|
|
"\xA4": "valiuta"
|
|
},
|
|
"lv": {
|
|
"\u2206": "delta",
|
|
"\u221E": "bezgaliba",
|
|
"\u2665": "milestiba",
|
|
"&": "un",
|
|
"|": "vai",
|
|
"<": "mazak neka",
|
|
">": "lielaks neka",
|
|
"\u2211": "summa",
|
|
"\xA4": "valuta"
|
|
},
|
|
"my": {
|
|
"\u2206": "kwahkhyaet",
|
|
"\u221E": "asaonasme",
|
|
"\u2665": "akhyait",
|
|
"&": "nhin",
|
|
"|": "tho",
|
|
"<": "ngethaw",
|
|
">": "kyithaw",
|
|
"\u2211": "paungld",
|
|
"\xA4": "ngwekye"
|
|
},
|
|
"mk": {},
|
|
"nl": {
|
|
"\u2206": "delta",
|
|
"\u221E": "oneindig",
|
|
"\u2665": "liefde",
|
|
"&": "en",
|
|
"|": "of",
|
|
"<": "kleiner dan",
|
|
">": "groter dan",
|
|
"\u2211": "som",
|
|
"\xA4": "valuta"
|
|
},
|
|
"pl": {
|
|
"\u2206": "delta",
|
|
"\u221E": "nieskonczonosc",
|
|
"\u2665": "milosc",
|
|
"&": "i",
|
|
"|": "lub",
|
|
"<": "mniejsze niz",
|
|
">": "wieksze niz",
|
|
"\u2211": "suma",
|
|
"\xA4": "waluta"
|
|
},
|
|
"pt": {
|
|
"\u2206": "delta",
|
|
"\u221E": "infinito",
|
|
"\u2665": "amor",
|
|
"&": "e",
|
|
"|": "ou",
|
|
"<": "menor que",
|
|
">": "maior que",
|
|
"\u2211": "soma",
|
|
"\xA4": "moeda"
|
|
},
|
|
"ro": {
|
|
"\u2206": "delta",
|
|
"\u221E": "infinit",
|
|
"\u2665": "dragoste",
|
|
"&": "si",
|
|
"|": "sau",
|
|
"<": "mai mic ca",
|
|
">": "mai mare ca",
|
|
"\u2211": "suma",
|
|
"\xA4": "valuta"
|
|
},
|
|
"ru": {
|
|
"\u2206": "delta",
|
|
"\u221E": "beskonechno",
|
|
"\u2665": "lubov",
|
|
"&": "i",
|
|
"|": "ili",
|
|
"<": "menshe",
|
|
">": "bolshe",
|
|
"\u2211": "summa",
|
|
"\xA4": "valjuta"
|
|
},
|
|
"sk": {
|
|
"\u2206": "delta",
|
|
"\u221E": "nekonecno",
|
|
"\u2665": "laska",
|
|
"&": "a",
|
|
"|": "alebo",
|
|
"<": "menej ako",
|
|
">": "viac ako",
|
|
"\u2211": "sucet",
|
|
"\xA4": "mena"
|
|
},
|
|
"sr": {},
|
|
"tr": {
|
|
"\u2206": "delta",
|
|
"\u221E": "sonsuzluk",
|
|
"\u2665": "ask",
|
|
"&": "ve",
|
|
"|": "veya",
|
|
"<": "kucuktur",
|
|
">": "buyuktur",
|
|
"\u2211": "toplam",
|
|
"\xA4": "para birimi"
|
|
},
|
|
"uk": {
|
|
"\u2206": "delta",
|
|
"\u221E": "bezkinechnist",
|
|
"\u2665": "lubov",
|
|
"&": "i",
|
|
"|": "abo",
|
|
"<": "menshe",
|
|
">": "bilshe",
|
|
"\u2211": "suma",
|
|
"\xA4": "valjuta"
|
|
},
|
|
"vn": {
|
|
"\u2206": "delta",
|
|
"\u221E": "vo cuc",
|
|
"\u2665": "yeu",
|
|
"&": "va",
|
|
"|": "hoac",
|
|
"<": "nho hon",
|
|
">": "lon hon",
|
|
"\u2211": "tong",
|
|
"\xA4": "tien te"
|
|
}
|
|
};
|
|
var uricChars = [";", "?", ":", "@", "&", "=", "+", "$", ",", "/"].join("");
|
|
var uricNoSlashChars = [";", "?", ":", "@", "&", "=", "+", "$", ","].join("");
|
|
var markChars = [".", "!", "~", "*", "'", "(", ")"].join("");
|
|
var getSlug = function getSlug2(input, opts) {
|
|
var separator = "-";
|
|
var result = "";
|
|
var diatricString = "";
|
|
var convertSymbols = true;
|
|
var customReplacements = {};
|
|
var maintainCase;
|
|
var titleCase;
|
|
var truncate;
|
|
var uricFlag;
|
|
var uricNoSlashFlag;
|
|
var markFlag;
|
|
var symbol;
|
|
var langChar;
|
|
var lucky;
|
|
var i;
|
|
var ch;
|
|
var l;
|
|
var lastCharWasSymbol;
|
|
var lastCharWasDiatric;
|
|
var allowedChars = "";
|
|
if (typeof input !== "string") {
|
|
return "";
|
|
}
|
|
if (typeof opts === "string") {
|
|
separator = opts;
|
|
}
|
|
symbol = symbolMap.en;
|
|
langChar = langCharMap.en;
|
|
if (typeof opts === "object") {
|
|
maintainCase = opts.maintainCase || false;
|
|
customReplacements = opts.custom && typeof opts.custom === "object" ? opts.custom : customReplacements;
|
|
truncate = +opts.truncate > 1 && opts.truncate || false;
|
|
uricFlag = opts.uric || false;
|
|
uricNoSlashFlag = opts.uricNoSlash || false;
|
|
markFlag = opts.mark || false;
|
|
convertSymbols = opts.symbols === false || opts.lang === false ? false : true;
|
|
separator = opts.separator || separator;
|
|
if (uricFlag) {
|
|
allowedChars += uricChars;
|
|
}
|
|
if (uricNoSlashFlag) {
|
|
allowedChars += uricNoSlashChars;
|
|
}
|
|
if (markFlag) {
|
|
allowedChars += markChars;
|
|
}
|
|
symbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {};
|
|
langChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en;
|
|
if (opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) {
|
|
opts.titleCase.forEach(function(v) {
|
|
customReplacements[v + ""] = v + "";
|
|
});
|
|
titleCase = true;
|
|
} else {
|
|
titleCase = !!opts.titleCase;
|
|
}
|
|
if (opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) {
|
|
opts.custom.forEach(function(v) {
|
|
customReplacements[v + ""] = v + "";
|
|
});
|
|
}
|
|
Object.keys(customReplacements).forEach(function(v) {
|
|
var r;
|
|
if (v.length > 1) {
|
|
r = new RegExp("\\b" + escapeChars(v) + "\\b", "gi");
|
|
} else {
|
|
r = new RegExp(escapeChars(v), "gi");
|
|
}
|
|
input = input.replace(r, customReplacements[v]);
|
|
});
|
|
for (ch in customReplacements) {
|
|
allowedChars += ch;
|
|
}
|
|
}
|
|
allowedChars += separator;
|
|
allowedChars = escapeChars(allowedChars);
|
|
input = input.replace(/(^\s+|\s+$)/g, "");
|
|
lastCharWasSymbol = false;
|
|
lastCharWasDiatric = false;
|
|
for (i = 0, l = input.length; i < l; i++) {
|
|
ch = input[i];
|
|
if (isReplacedCustomChar(ch, customReplacements)) {
|
|
lastCharWasSymbol = false;
|
|
} else if (langChar[ch]) {
|
|
ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? " " + langChar[ch] : langChar[ch];
|
|
lastCharWasSymbol = false;
|
|
} else if (ch in charMap) {
|
|
if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) {
|
|
diatricString += ch;
|
|
ch = "";
|
|
} else if (lastCharWasDiatric === true) {
|
|
ch = diatricMap[diatricString] + charMap[ch];
|
|
diatricString = "";
|
|
} else {
|
|
ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? " " + charMap[ch] : charMap[ch];
|
|
}
|
|
lastCharWasSymbol = false;
|
|
lastCharWasDiatric = false;
|
|
} else if (ch in diatricMap) {
|
|
diatricString += ch;
|
|
ch = "";
|
|
if (i === l - 1) {
|
|
ch = diatricMap[diatricString];
|
|
}
|
|
lastCharWasDiatric = true;
|
|
} else if (
|
|
// process symbol chars
|
|
symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1)
|
|
) {
|
|
ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch];
|
|
ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : "";
|
|
lastCharWasSymbol = true;
|
|
} else {
|
|
if (lastCharWasDiatric === true) {
|
|
ch = diatricMap[diatricString] + ch;
|
|
diatricString = "";
|
|
lastCharWasDiatric = false;
|
|
} else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) {
|
|
ch = " " + ch;
|
|
}
|
|
lastCharWasSymbol = false;
|
|
}
|
|
result += ch.replace(new RegExp("[^\\w\\s" + allowedChars + "_-]", "g"), separator);
|
|
}
|
|
if (titleCase) {
|
|
result = result.replace(/(\w)(\S*)/g, function(_, i2, r) {
|
|
var j = i2.toUpperCase() + (r !== null ? r : "");
|
|
return Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase();
|
|
});
|
|
}
|
|
result = result.replace(/\s+/g, separator).replace(new RegExp("\\" + separator + "+", "g"), separator).replace(new RegExp("(^\\" + separator + "+|\\" + separator + "+$)", "g"), "");
|
|
if (truncate && result.length > truncate) {
|
|
lucky = result.charAt(truncate) === separator;
|
|
result = result.slice(0, truncate);
|
|
if (!lucky) {
|
|
result = result.slice(0, result.lastIndexOf(separator));
|
|
}
|
|
}
|
|
if (!maintainCase && !titleCase) {
|
|
result = result.toLowerCase();
|
|
}
|
|
return result;
|
|
};
|
|
var createSlug = function createSlug2(opts) {
|
|
return function getSlugWithConfig(input) {
|
|
return getSlug(input, opts);
|
|
};
|
|
};
|
|
var escapeChars = function escapeChars2(input) {
|
|
return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, "\\$&");
|
|
};
|
|
var isReplacedCustomChar = function(ch, customReplacements) {
|
|
for (var c in customReplacements) {
|
|
if (customReplacements[c] === ch) {
|
|
return true;
|
|
}
|
|
}
|
|
};
|
|
if (typeof module !== "undefined" && module.exports) {
|
|
module.exports = getSlug;
|
|
module.exports.createSlug = createSlug;
|
|
} else if (typeof define !== "undefined" && define.amd) {
|
|
define([], function() {
|
|
return getSlug;
|
|
});
|
|
} else {
|
|
try {
|
|
if (root.getSlug || root.createSlug) {
|
|
throw "speakingurl: globals exists /(getSlug|createSlug)/";
|
|
} else {
|
|
root.getSlug = getSlug;
|
|
root.createSlug = createSlug;
|
|
}
|
|
} catch (e) {
|
|
}
|
|
}
|
|
})(exports);
|
|
}
|
|
});
|
|
|
|
// ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js
|
|
var require_speakingurl2 = __commonJS({
|
|
"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(exports, module) {
|
|
"use strict";
|
|
init_esm_shims();
|
|
module.exports = require_speakingurl();
|
|
}
|
|
});
|
|
|
|
// src/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/index.ts
|
|
init_esm_shims();
|
|
import { isNuxtApp, target as target13 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/compat/index.ts
|
|
init_esm_shims();
|
|
import { target } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
function onLegacyDevToolsPluginApiAvailable(cb) {
|
|
if (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__) {
|
|
cb();
|
|
return;
|
|
}
|
|
Object.defineProperty(target, "__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__", {
|
|
set(value) {
|
|
if (value)
|
|
cb();
|
|
},
|
|
configurable: true
|
|
});
|
|
}
|
|
|
|
// src/ctx/index.ts
|
|
init_esm_shims();
|
|
import { target as target11 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/ctx/api.ts
|
|
init_esm_shims();
|
|
import { target as target9 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/core/component-highlighter/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/component/state/bounding-rect.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/component/utils/index.ts
|
|
init_esm_shims();
|
|
import { basename, classify } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
function getComponentTypeName(options) {
|
|
var _a25;
|
|
const name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name;
|
|
if (name === "index" && ((_a25 = options.__file) == null ? void 0 : _a25.endsWith("index.vue"))) {
|
|
return "";
|
|
}
|
|
return name;
|
|
}
|
|
function getComponentFileName(options) {
|
|
const file = options.__file;
|
|
if (file)
|
|
return classify(basename(file, ".vue"));
|
|
}
|
|
function getComponentName(options) {
|
|
const name = options.displayName || options.name || options._componentTag;
|
|
if (name)
|
|
return name;
|
|
return getComponentFileName(options);
|
|
}
|
|
function saveComponentGussedName(instance, name) {
|
|
instance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name;
|
|
return name;
|
|
}
|
|
function getAppRecord(instance) {
|
|
if (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__)
|
|
return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
|
|
else if (instance.root)
|
|
return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
|
|
}
|
|
async function getComponentId(options) {
|
|
const { app, uid, instance } = options;
|
|
try {
|
|
if (instance.__VUE_DEVTOOLS_NEXT_UID__)
|
|
return instance.__VUE_DEVTOOLS_NEXT_UID__;
|
|
const appRecord = await getAppRecord(app);
|
|
if (!appRecord)
|
|
return null;
|
|
const isRoot = appRecord.rootInstance === instance;
|
|
return `${appRecord.id}:${isRoot ? "root" : uid}`;
|
|
} catch (e) {
|
|
}
|
|
}
|
|
function isFragment(instance) {
|
|
var _a25, _b25;
|
|
const subTreeType = (_a25 = instance.subTree) == null ? void 0 : _a25.type;
|
|
const appRecord = getAppRecord(instance);
|
|
if (appRecord) {
|
|
return ((_b25 = appRecord == null ? void 0 : appRecord.types) == null ? void 0 : _b25.Fragment) === subTreeType;
|
|
}
|
|
return false;
|
|
}
|
|
function isBeingDestroyed(instance) {
|
|
return instance._isBeingDestroyed || instance.isUnmounted;
|
|
}
|
|
function getInstanceName(instance) {
|
|
var _a25, _b25, _c;
|
|
const name = getComponentTypeName((instance == null ? void 0 : instance.type) || {});
|
|
if (name)
|
|
return name;
|
|
if ((instance == null ? void 0 : instance.root) === instance)
|
|
return "Root";
|
|
for (const key in (_b25 = (_a25 = instance.parent) == null ? void 0 : _a25.type) == null ? void 0 : _b25.components) {
|
|
if (instance.parent.type.components[key] === (instance == null ? void 0 : instance.type))
|
|
return saveComponentGussedName(instance, key);
|
|
}
|
|
for (const key in (_c = instance.appContext) == null ? void 0 : _c.components) {
|
|
if (instance.appContext.components[key] === (instance == null ? void 0 : instance.type))
|
|
return saveComponentGussedName(instance, key);
|
|
}
|
|
const fileName = getComponentFileName((instance == null ? void 0 : instance.type) || {});
|
|
if (fileName)
|
|
return fileName;
|
|
return "Anonymous Component";
|
|
}
|
|
function getUniqueComponentId(instance) {
|
|
var _a25, _b25, _c;
|
|
const appId = (_c = (_b25 = (_a25 = instance == null ? void 0 : instance.appContext) == null ? void 0 : _a25.app) == null ? void 0 : _b25.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__) != null ? _c : 0;
|
|
const instanceId = instance === (instance == null ? void 0 : instance.root) ? "root" : instance.uid;
|
|
return `${appId}:${instanceId}`;
|
|
}
|
|
function getRenderKey(value) {
|
|
if (value == null)
|
|
return "";
|
|
if (typeof value === "number")
|
|
return value;
|
|
else if (typeof value === "string")
|
|
return `'${value}'`;
|
|
else if (Array.isArray(value))
|
|
return "Array";
|
|
else
|
|
return "Object";
|
|
}
|
|
function returnError(cb) {
|
|
try {
|
|
return cb();
|
|
} catch (e) {
|
|
return e;
|
|
}
|
|
}
|
|
function getComponentInstance(appRecord, instanceId) {
|
|
instanceId = instanceId || `${appRecord.id}:root`;
|
|
const instance = appRecord.instanceMap.get(instanceId);
|
|
return instance || appRecord.instanceMap.get(":root");
|
|
}
|
|
function ensurePropertyExists(obj, key, skipObjCheck = false) {
|
|
return skipObjCheck ? key in obj : typeof obj === "object" && obj !== null ? key in obj : false;
|
|
}
|
|
|
|
// src/core/component/state/bounding-rect.ts
|
|
function createRect() {
|
|
const rect = {
|
|
top: 0,
|
|
bottom: 0,
|
|
left: 0,
|
|
right: 0,
|
|
get width() {
|
|
return rect.right - rect.left;
|
|
},
|
|
get height() {
|
|
return rect.bottom - rect.top;
|
|
}
|
|
};
|
|
return rect;
|
|
}
|
|
var range;
|
|
function getTextRect(node) {
|
|
if (!range)
|
|
range = document.createRange();
|
|
range.selectNode(node);
|
|
return range.getBoundingClientRect();
|
|
}
|
|
function getFragmentRect(vnode) {
|
|
const rect = createRect();
|
|
if (!vnode.children)
|
|
return rect;
|
|
for (let i = 0, l = vnode.children.length; i < l; i++) {
|
|
const childVnode = vnode.children[i];
|
|
let childRect;
|
|
if (childVnode.component) {
|
|
childRect = getComponentBoundingRect(childVnode.component);
|
|
} else if (childVnode.el) {
|
|
const el = childVnode.el;
|
|
if (el.nodeType === 1 || el.getBoundingClientRect)
|
|
childRect = el.getBoundingClientRect();
|
|
else if (el.nodeType === 3 && el.data.trim())
|
|
childRect = getTextRect(el);
|
|
}
|
|
if (childRect)
|
|
mergeRects(rect, childRect);
|
|
}
|
|
return rect;
|
|
}
|
|
function mergeRects(a, b) {
|
|
if (!a.top || b.top < a.top)
|
|
a.top = b.top;
|
|
if (!a.bottom || b.bottom > a.bottom)
|
|
a.bottom = b.bottom;
|
|
if (!a.left || b.left < a.left)
|
|
a.left = b.left;
|
|
if (!a.right || b.right > a.right)
|
|
a.right = b.right;
|
|
return a;
|
|
}
|
|
var DEFAULT_RECT = {
|
|
top: 0,
|
|
left: 0,
|
|
right: 0,
|
|
bottom: 0,
|
|
width: 0,
|
|
height: 0
|
|
};
|
|
function getComponentBoundingRect(instance) {
|
|
const el = instance.subTree.el;
|
|
if (typeof window === "undefined") {
|
|
return DEFAULT_RECT;
|
|
}
|
|
if (isFragment(instance))
|
|
return getFragmentRect(instance.subTree);
|
|
else if ((el == null ? void 0 : el.nodeType) === 1)
|
|
return el == null ? void 0 : el.getBoundingClientRect();
|
|
else if (instance.subTree.component)
|
|
return getComponentBoundingRect(instance.subTree.component);
|
|
else
|
|
return DEFAULT_RECT;
|
|
}
|
|
|
|
// src/core/component/tree/el.ts
|
|
init_esm_shims();
|
|
function getRootElementsFromComponentInstance(instance) {
|
|
if (isFragment(instance))
|
|
return getFragmentRootElements(instance.subTree);
|
|
if (!instance.subTree)
|
|
return [];
|
|
return [instance.subTree.el];
|
|
}
|
|
function getFragmentRootElements(vnode) {
|
|
if (!vnode.children)
|
|
return [];
|
|
const list = [];
|
|
vnode.children.forEach((childVnode) => {
|
|
if (childVnode.component)
|
|
list.push(...getRootElementsFromComponentInstance(childVnode.component));
|
|
else if (childVnode == null ? void 0 : childVnode.el)
|
|
list.push(childVnode.el);
|
|
});
|
|
return list;
|
|
}
|
|
|
|
// src/core/component-highlighter/index.ts
|
|
var CONTAINER_ELEMENT_ID = "__vue-devtools-component-inspector__";
|
|
var CARD_ELEMENT_ID = "__vue-devtools-component-inspector__card__";
|
|
var COMPONENT_NAME_ELEMENT_ID = "__vue-devtools-component-inspector__name__";
|
|
var INDICATOR_ELEMENT_ID = "__vue-devtools-component-inspector__indicator__";
|
|
var containerStyles = {
|
|
display: "block",
|
|
zIndex: 2147483640,
|
|
position: "fixed",
|
|
backgroundColor: "#42b88325",
|
|
border: "1px solid #42b88350",
|
|
borderRadius: "5px",
|
|
transition: "all 0.1s ease-in",
|
|
pointerEvents: "none"
|
|
};
|
|
var cardStyles = {
|
|
fontFamily: "Arial, Helvetica, sans-serif",
|
|
padding: "5px 8px",
|
|
borderRadius: "4px",
|
|
textAlign: "left",
|
|
position: "absolute",
|
|
left: 0,
|
|
color: "#e9e9e9",
|
|
fontSize: "14px",
|
|
fontWeight: 600,
|
|
lineHeight: "24px",
|
|
backgroundColor: "#42b883",
|
|
boxShadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"
|
|
};
|
|
var indicatorStyles = {
|
|
display: "inline-block",
|
|
fontWeight: 400,
|
|
fontStyle: "normal",
|
|
fontSize: "12px",
|
|
opacity: 0.7
|
|
};
|
|
function getContainerElement() {
|
|
return document.getElementById(CONTAINER_ELEMENT_ID);
|
|
}
|
|
function getCardElement() {
|
|
return document.getElementById(CARD_ELEMENT_ID);
|
|
}
|
|
function getIndicatorElement() {
|
|
return document.getElementById(INDICATOR_ELEMENT_ID);
|
|
}
|
|
function getNameElement() {
|
|
return document.getElementById(COMPONENT_NAME_ELEMENT_ID);
|
|
}
|
|
function getStyles(bounds) {
|
|
return {
|
|
left: `${Math.round(bounds.left * 100) / 100}px`,
|
|
top: `${Math.round(bounds.top * 100) / 100}px`,
|
|
width: `${Math.round(bounds.width * 100) / 100}px`,
|
|
height: `${Math.round(bounds.height * 100) / 100}px`
|
|
};
|
|
}
|
|
function create(options) {
|
|
var _a25;
|
|
const containerEl = document.createElement("div");
|
|
containerEl.id = (_a25 = options.elementId) != null ? _a25 : CONTAINER_ELEMENT_ID;
|
|
Object.assign(containerEl.style, {
|
|
...containerStyles,
|
|
...getStyles(options.bounds),
|
|
...options.style
|
|
});
|
|
const cardEl = document.createElement("span");
|
|
cardEl.id = CARD_ELEMENT_ID;
|
|
Object.assign(cardEl.style, {
|
|
...cardStyles,
|
|
top: options.bounds.top < 35 ? 0 : "-35px"
|
|
});
|
|
const nameEl = document.createElement("span");
|
|
nameEl.id = COMPONENT_NAME_ELEMENT_ID;
|
|
nameEl.innerHTML = `<${options.name}> `;
|
|
const indicatorEl = document.createElement("i");
|
|
indicatorEl.id = INDICATOR_ELEMENT_ID;
|
|
indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;
|
|
Object.assign(indicatorEl.style, indicatorStyles);
|
|
cardEl.appendChild(nameEl);
|
|
cardEl.appendChild(indicatorEl);
|
|
containerEl.appendChild(cardEl);
|
|
document.body.appendChild(containerEl);
|
|
return containerEl;
|
|
}
|
|
function update(options) {
|
|
const containerEl = getContainerElement();
|
|
const cardEl = getCardElement();
|
|
const nameEl = getNameElement();
|
|
const indicatorEl = getIndicatorElement();
|
|
if (containerEl) {
|
|
Object.assign(containerEl.style, {
|
|
...containerStyles,
|
|
...getStyles(options.bounds)
|
|
});
|
|
Object.assign(cardEl.style, {
|
|
top: options.bounds.top < 35 ? 0 : "-35px"
|
|
});
|
|
nameEl.innerHTML = `<${options.name}> `;
|
|
indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;
|
|
}
|
|
}
|
|
function highlight(instance) {
|
|
const bounds = getComponentBoundingRect(instance);
|
|
if (!bounds.width && !bounds.height)
|
|
return;
|
|
const name = getInstanceName(instance);
|
|
const container = getContainerElement();
|
|
container ? update({ bounds, name }) : create({ bounds, name });
|
|
}
|
|
function unhighlight() {
|
|
const el = getContainerElement();
|
|
if (el)
|
|
el.style.display = "none";
|
|
}
|
|
var inspectInstance = null;
|
|
function inspectFn(e) {
|
|
const target22 = e.target;
|
|
if (target22) {
|
|
const instance = target22.__vueParentComponent;
|
|
if (instance) {
|
|
inspectInstance = instance;
|
|
const el = instance.vnode.el;
|
|
if (el) {
|
|
const bounds = getComponentBoundingRect(instance);
|
|
const name = getInstanceName(instance);
|
|
const container = getContainerElement();
|
|
container ? update({ bounds, name }) : create({ bounds, name });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function selectComponentFn(e, cb) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
if (inspectInstance) {
|
|
const uniqueComponentId = getUniqueComponentId(inspectInstance);
|
|
cb(uniqueComponentId);
|
|
}
|
|
}
|
|
var inspectComponentHighLighterSelectFn = null;
|
|
function cancelInspectComponentHighLighter() {
|
|
unhighlight();
|
|
window.removeEventListener("mouseover", inspectFn);
|
|
window.removeEventListener("click", inspectComponentHighLighterSelectFn, true);
|
|
inspectComponentHighLighterSelectFn = null;
|
|
}
|
|
function inspectComponentHighLighter() {
|
|
window.addEventListener("mouseover", inspectFn);
|
|
return new Promise((resolve) => {
|
|
function onSelect(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
selectComponentFn(e, (id) => {
|
|
window.removeEventListener("click", onSelect, true);
|
|
inspectComponentHighLighterSelectFn = null;
|
|
window.removeEventListener("mouseover", inspectFn);
|
|
const el = getContainerElement();
|
|
if (el)
|
|
el.style.display = "none";
|
|
resolve(JSON.stringify({ id }));
|
|
});
|
|
}
|
|
inspectComponentHighLighterSelectFn = onSelect;
|
|
window.addEventListener("click", onSelect, true);
|
|
});
|
|
}
|
|
function scrollToComponent(options) {
|
|
const instance = getComponentInstance(activeAppRecord.value, options.id);
|
|
if (instance) {
|
|
const [el] = getRootElementsFromComponentInstance(instance);
|
|
if (typeof el.scrollIntoView === "function") {
|
|
el.scrollIntoView({
|
|
behavior: "smooth"
|
|
});
|
|
} else {
|
|
const bounds = getComponentBoundingRect(instance);
|
|
const scrollTarget = document.createElement("div");
|
|
const styles = {
|
|
...getStyles(bounds),
|
|
position: "absolute"
|
|
};
|
|
Object.assign(scrollTarget.style, styles);
|
|
document.body.appendChild(scrollTarget);
|
|
scrollTarget.scrollIntoView({
|
|
behavior: "smooth"
|
|
});
|
|
setTimeout(() => {
|
|
document.body.removeChild(scrollTarget);
|
|
}, 2e3);
|
|
}
|
|
setTimeout(() => {
|
|
const bounds = getComponentBoundingRect(instance);
|
|
if (bounds.width || bounds.height) {
|
|
const name = getInstanceName(instance);
|
|
const el2 = getContainerElement();
|
|
el2 ? update({ ...options, name, bounds }) : create({ ...options, name, bounds });
|
|
setTimeout(() => {
|
|
if (el2)
|
|
el2.style.display = "none";
|
|
}, 1500);
|
|
}
|
|
}, 1200);
|
|
}
|
|
}
|
|
|
|
// src/core/component-inspector/index.ts
|
|
init_esm_shims();
|
|
import { target as target2 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var _a, _b;
|
|
(_b = (_a = target2).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__) != null ? _b : _a.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = true;
|
|
function toggleComponentInspectorEnabled(enabled) {
|
|
target2.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = enabled;
|
|
}
|
|
function waitForInspectorInit(cb) {
|
|
let total = 0;
|
|
const timer = setInterval(() => {
|
|
if (target2.__VUE_INSPECTOR__) {
|
|
clearInterval(timer);
|
|
total += 30;
|
|
cb();
|
|
}
|
|
if (total >= /* 5s */
|
|
5e3)
|
|
clearInterval(timer);
|
|
}, 30);
|
|
}
|
|
function setupInspector() {
|
|
const inspector = target2.__VUE_INSPECTOR__;
|
|
const _openInEditor = inspector.openInEditor;
|
|
inspector.openInEditor = async (...params) => {
|
|
inspector.disable();
|
|
_openInEditor(...params);
|
|
};
|
|
}
|
|
function getComponentInspector() {
|
|
return new Promise((resolve) => {
|
|
function setup() {
|
|
setupInspector();
|
|
resolve(target2.__VUE_INSPECTOR__);
|
|
}
|
|
if (!target2.__VUE_INSPECTOR__) {
|
|
waitForInspectorInit(() => {
|
|
setup();
|
|
});
|
|
} else {
|
|
setup();
|
|
}
|
|
});
|
|
}
|
|
|
|
// src/core/component/state/editor.ts
|
|
init_esm_shims();
|
|
|
|
// src/shared/stub-vue.ts
|
|
init_esm_shims();
|
|
function isReadonly(value) {
|
|
return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
|
|
}
|
|
function isReactive(value) {
|
|
if (isReadonly(value)) {
|
|
return isReactive(value["__v_raw" /* RAW */]);
|
|
}
|
|
return !!(value && value["__v_isReactive" /* IS_REACTIVE */]);
|
|
}
|
|
function isRef(r) {
|
|
return !!(r && r.__v_isRef === true);
|
|
}
|
|
function toRaw(observed) {
|
|
const raw = observed && observed["__v_raw" /* RAW */];
|
|
return raw ? toRaw(raw) : observed;
|
|
}
|
|
var Fragment = Symbol.for("v-fgt");
|
|
|
|
// src/core/component/state/editor.ts
|
|
var StateEditor = class {
|
|
constructor() {
|
|
this.refEditor = new RefStateEditor();
|
|
}
|
|
set(object, path, value, cb) {
|
|
const sections = Array.isArray(path) ? path : path.split(".");
|
|
const markRef = false;
|
|
while (sections.length > 1) {
|
|
const section = sections.shift();
|
|
if (object instanceof Map)
|
|
object = object.get(section);
|
|
else if (object instanceof Set)
|
|
object = Array.from(object.values())[section];
|
|
else object = object[section];
|
|
if (this.refEditor.isRef(object))
|
|
object = this.refEditor.get(object);
|
|
}
|
|
const field = sections[0];
|
|
const item = this.refEditor.get(object)[field];
|
|
if (cb) {
|
|
cb(object, field, value);
|
|
} else {
|
|
if (this.refEditor.isRef(item))
|
|
this.refEditor.set(item, value);
|
|
else if (markRef)
|
|
object[field] = value;
|
|
else
|
|
object[field] = value;
|
|
}
|
|
}
|
|
get(object, path) {
|
|
const sections = Array.isArray(path) ? path : path.split(".");
|
|
for (let i = 0; i < sections.length; i++) {
|
|
if (object instanceof Map)
|
|
object = object.get(sections[i]);
|
|
else
|
|
object = object[sections[i]];
|
|
if (this.refEditor.isRef(object))
|
|
object = this.refEditor.get(object);
|
|
if (!object)
|
|
return void 0;
|
|
}
|
|
return object;
|
|
}
|
|
has(object, path, parent = false) {
|
|
if (typeof object === "undefined")
|
|
return false;
|
|
const sections = Array.isArray(path) ? path.slice() : path.split(".");
|
|
const size = !parent ? 1 : 2;
|
|
while (object && sections.length > size) {
|
|
const section = sections.shift();
|
|
object = object[section];
|
|
if (this.refEditor.isRef(object))
|
|
object = this.refEditor.get(object);
|
|
}
|
|
return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);
|
|
}
|
|
createDefaultSetCallback(state) {
|
|
return (object, field, value) => {
|
|
if (state.remove || state.newKey) {
|
|
if (Array.isArray(object))
|
|
object.splice(field, 1);
|
|
else if (toRaw(object) instanceof Map)
|
|
object.delete(field);
|
|
else if (toRaw(object) instanceof Set)
|
|
object.delete(Array.from(object.values())[field]);
|
|
else Reflect.deleteProperty(object, field);
|
|
}
|
|
if (!state.remove) {
|
|
const target22 = object[state.newKey || field];
|
|
if (this.refEditor.isRef(target22))
|
|
this.refEditor.set(target22, value);
|
|
else if (toRaw(object) instanceof Map)
|
|
object.set(state.newKey || field, value);
|
|
else if (toRaw(object) instanceof Set)
|
|
object.add(value);
|
|
else
|
|
object[state.newKey || field] = value;
|
|
}
|
|
};
|
|
}
|
|
};
|
|
var RefStateEditor = class {
|
|
set(ref, value) {
|
|
if (isRef(ref)) {
|
|
ref.value = value;
|
|
} else {
|
|
if (ref instanceof Set && Array.isArray(value)) {
|
|
ref.clear();
|
|
value.forEach((v) => ref.add(v));
|
|
return;
|
|
}
|
|
const currentKeys = Object.keys(value);
|
|
if (ref instanceof Map) {
|
|
const previousKeysSet2 = new Set(ref.keys());
|
|
currentKeys.forEach((key) => {
|
|
ref.set(key, Reflect.get(value, key));
|
|
previousKeysSet2.delete(key);
|
|
});
|
|
previousKeysSet2.forEach((key) => ref.delete(key));
|
|
return;
|
|
}
|
|
const previousKeysSet = new Set(Object.keys(ref));
|
|
currentKeys.forEach((key) => {
|
|
Reflect.set(ref, key, Reflect.get(value, key));
|
|
previousKeysSet.delete(key);
|
|
});
|
|
previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key));
|
|
}
|
|
}
|
|
get(ref) {
|
|
return isRef(ref) ? ref.value : ref;
|
|
}
|
|
isRef(ref) {
|
|
return isRef(ref) || isReactive(ref);
|
|
}
|
|
};
|
|
async function editComponentState(payload, stateEditor2) {
|
|
const { path, nodeId, state, type } = payload;
|
|
const instance = getComponentInstance(activeAppRecord.value, nodeId);
|
|
if (!instance)
|
|
return;
|
|
const targetPath = path.slice();
|
|
let target22;
|
|
if (Object.keys(instance.props).includes(path[0])) {
|
|
target22 = instance.props;
|
|
} else if (instance.devtoolsRawSetupState && Object.keys(instance.devtoolsRawSetupState).includes(path[0])) {
|
|
target22 = instance.devtoolsRawSetupState;
|
|
} else if (instance.data && Object.keys(instance.data).includes(path[0])) {
|
|
target22 = instance.data;
|
|
} else {
|
|
target22 = instance.proxy;
|
|
}
|
|
if (target22 && targetPath) {
|
|
if (state.type === "object" && type === "reactive") {
|
|
}
|
|
stateEditor2.set(target22, targetPath, state.value, stateEditor2.createDefaultSetCallback(state));
|
|
}
|
|
}
|
|
var stateEditor = new StateEditor();
|
|
async function editState(payload) {
|
|
editComponentState(payload, stateEditor);
|
|
}
|
|
|
|
// src/core/open-in-editor/index.ts
|
|
init_esm_shims();
|
|
import { target as target5 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/ctx/state.ts
|
|
init_esm_shims();
|
|
import { target as global, isUrlString } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
import { debounce as debounce3 } from "/_nuxt/node_modules/perfect-debounce/dist/index.mjs?v=e4f18c29";
|
|
|
|
// src/core/timeline/storage.ts
|
|
init_esm_shims();
|
|
import { isBrowser } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var TIMELINE_LAYERS_STATE_STORAGE_ID = "__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__";
|
|
function addTimelineLayersStateToStorage(state) {
|
|
if (!isBrowser || typeof localStorage === "undefined" || localStorage === null) {
|
|
return;
|
|
}
|
|
localStorage.setItem(TIMELINE_LAYERS_STATE_STORAGE_ID, JSON.stringify(state));
|
|
}
|
|
function getTimelineLayersStateFromStorage() {
|
|
if (!isBrowser || typeof localStorage === "undefined" || localStorage === null) {
|
|
return {
|
|
recordingState: false,
|
|
mouseEventEnabled: false,
|
|
keyboardEventEnabled: false,
|
|
componentEventEnabled: false,
|
|
performanceEventEnabled: false,
|
|
selected: ""
|
|
};
|
|
}
|
|
const state = localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID);
|
|
return state ? JSON.parse(state) : {
|
|
recordingState: false,
|
|
mouseEventEnabled: false,
|
|
keyboardEventEnabled: false,
|
|
componentEventEnabled: false,
|
|
performanceEventEnabled: false,
|
|
selected: ""
|
|
};
|
|
}
|
|
|
|
// src/ctx/hook.ts
|
|
init_esm_shims();
|
|
import { createHooks } from "/_nuxt/node_modules/hookable/dist/index.mjs?v=e4f18c29";
|
|
import { debounce as debounce2 } from "/_nuxt/node_modules/perfect-debounce/dist/index.mjs?v=e4f18c29";
|
|
|
|
// src/ctx/inspector.ts
|
|
init_esm_shims();
|
|
import { target as target4 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
import { debounce } from "/_nuxt/node_modules/perfect-debounce/dist/index.mjs?v=e4f18c29";
|
|
|
|
// src/ctx/timeline.ts
|
|
init_esm_shims();
|
|
import { target as target3 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var _a2, _b2;
|
|
(_b2 = (_a2 = target3).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS) != null ? _b2 : _a2.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS = [];
|
|
var devtoolsTimelineLayers = new Proxy(target3.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, {
|
|
get(target22, prop, receiver) {
|
|
return Reflect.get(target22, prop, receiver);
|
|
}
|
|
});
|
|
function addTimelineLayer(options, descriptor) {
|
|
devtoolsState.timelineLayersState[descriptor.id] = false;
|
|
devtoolsTimelineLayers.push({
|
|
...options,
|
|
descriptorId: descriptor.id,
|
|
appRecord: getAppRecord(descriptor.app)
|
|
});
|
|
}
|
|
function updateTimelineLayersState(state) {
|
|
const updatedState = {
|
|
...devtoolsState.timelineLayersState,
|
|
...state
|
|
};
|
|
addTimelineLayersStateToStorage(updatedState);
|
|
updateDevToolsState({
|
|
timelineLayersState: updatedState
|
|
});
|
|
}
|
|
|
|
// src/ctx/inspector.ts
|
|
var _a3, _b3;
|
|
(_b3 = (_a3 = target4).__VUE_DEVTOOLS_KIT_INSPECTOR__) != null ? _b3 : _a3.__VUE_DEVTOOLS_KIT_INSPECTOR__ = [];
|
|
var devtoolsInspector = new Proxy(target4.__VUE_DEVTOOLS_KIT_INSPECTOR__, {
|
|
get(target22, prop, receiver) {
|
|
return Reflect.get(target22, prop, receiver);
|
|
}
|
|
});
|
|
var callInspectorUpdatedHook = debounce(() => {
|
|
devtoolsContext.hooks.callHook("sendInspectorToClient" /* SEND_INSPECTOR_TO_CLIENT */, getActiveInspectors());
|
|
});
|
|
function addInspector(inspector, descriptor) {
|
|
var _a25, _b25;
|
|
devtoolsInspector.push({
|
|
options: inspector,
|
|
descriptor,
|
|
treeFilterPlaceholder: (_a25 = inspector.treeFilterPlaceholder) != null ? _a25 : "Search tree...",
|
|
stateFilterPlaceholder: (_b25 = inspector.stateFilterPlaceholder) != null ? _b25 : "Search state...",
|
|
treeFilter: "",
|
|
selectedNodeId: "",
|
|
appRecord: getAppRecord(descriptor.app)
|
|
});
|
|
callInspectorUpdatedHook();
|
|
}
|
|
function getActiveInspectors() {
|
|
return devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== "components").map((inspector) => {
|
|
var _a25;
|
|
const descriptor = inspector.descriptor;
|
|
const options = inspector.options;
|
|
return {
|
|
id: options.id,
|
|
label: options.label,
|
|
logo: descriptor.logo,
|
|
icon: `custom-ic-baseline-${(_a25 = options == null ? void 0 : options.icon) == null ? void 0 : _a25.replace(/_/g, "-")}`,
|
|
packageName: descriptor.packageName,
|
|
homepage: descriptor.homepage,
|
|
pluginId: descriptor.id
|
|
};
|
|
});
|
|
}
|
|
function getInspectorInfo(id) {
|
|
const inspector = getInspector(id, activeAppRecord.value.app);
|
|
if (!inspector)
|
|
return;
|
|
const descriptor = inspector.descriptor;
|
|
const options = inspector.options;
|
|
const timelineLayers = devtoolsTimelineLayers.filter((layer) => layer.descriptorId === descriptor.id).map((item) => ({
|
|
id: item.id,
|
|
label: item.label,
|
|
color: item.color
|
|
}));
|
|
return {
|
|
id: options.id,
|
|
label: options.label,
|
|
logo: descriptor.logo,
|
|
packageName: descriptor.packageName,
|
|
homepage: descriptor.homepage,
|
|
timelineLayers,
|
|
treeFilterPlaceholder: inspector.treeFilterPlaceholder,
|
|
stateFilterPlaceholder: inspector.stateFilterPlaceholder
|
|
};
|
|
}
|
|
function getInspector(id, app) {
|
|
return devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true));
|
|
}
|
|
function getInspectorActions(id) {
|
|
const inspector = getInspector(id);
|
|
return inspector == null ? void 0 : inspector.options.actions;
|
|
}
|
|
function getInspectorNodeActions(id) {
|
|
const inspector = getInspector(id);
|
|
return inspector == null ? void 0 : inspector.options.nodeActions;
|
|
}
|
|
|
|
// src/ctx/hook.ts
|
|
var DevToolsV6PluginAPIHookKeys = /* @__PURE__ */ ((DevToolsV6PluginAPIHookKeys2) => {
|
|
DevToolsV6PluginAPIHookKeys2["VISIT_COMPONENT_TREE"] = "visitComponentTree";
|
|
DevToolsV6PluginAPIHookKeys2["INSPECT_COMPONENT"] = "inspectComponent";
|
|
DevToolsV6PluginAPIHookKeys2["EDIT_COMPONENT_STATE"] = "editComponentState";
|
|
DevToolsV6PluginAPIHookKeys2["GET_INSPECTOR_TREE"] = "getInspectorTree";
|
|
DevToolsV6PluginAPIHookKeys2["GET_INSPECTOR_STATE"] = "getInspectorState";
|
|
DevToolsV6PluginAPIHookKeys2["EDIT_INSPECTOR_STATE"] = "editInspectorState";
|
|
DevToolsV6PluginAPIHookKeys2["INSPECT_TIMELINE_EVENT"] = "inspectTimelineEvent";
|
|
DevToolsV6PluginAPIHookKeys2["TIMELINE_CLEARED"] = "timelineCleared";
|
|
DevToolsV6PluginAPIHookKeys2["SET_PLUGIN_SETTINGS"] = "setPluginSettings";
|
|
return DevToolsV6PluginAPIHookKeys2;
|
|
})(DevToolsV6PluginAPIHookKeys || {});
|
|
var DevToolsContextHookKeys = /* @__PURE__ */ ((DevToolsContextHookKeys2) => {
|
|
DevToolsContextHookKeys2["ADD_INSPECTOR"] = "addInspector";
|
|
DevToolsContextHookKeys2["SEND_INSPECTOR_TREE"] = "sendInspectorTree";
|
|
DevToolsContextHookKeys2["SEND_INSPECTOR_STATE"] = "sendInspectorState";
|
|
DevToolsContextHookKeys2["CUSTOM_INSPECTOR_SELECT_NODE"] = "customInspectorSelectNode";
|
|
DevToolsContextHookKeys2["TIMELINE_LAYER_ADDED"] = "timelineLayerAdded";
|
|
DevToolsContextHookKeys2["TIMELINE_EVENT_ADDED"] = "timelineEventAdded";
|
|
DevToolsContextHookKeys2["GET_COMPONENT_INSTANCES"] = "getComponentInstances";
|
|
DevToolsContextHookKeys2["GET_COMPONENT_BOUNDS"] = "getComponentBounds";
|
|
DevToolsContextHookKeys2["GET_COMPONENT_NAME"] = "getComponentName";
|
|
DevToolsContextHookKeys2["COMPONENT_HIGHLIGHT"] = "componentHighlight";
|
|
DevToolsContextHookKeys2["COMPONENT_UNHIGHLIGHT"] = "componentUnhighlight";
|
|
return DevToolsContextHookKeys2;
|
|
})(DevToolsContextHookKeys || {});
|
|
var DevToolsMessagingHookKeys = /* @__PURE__ */ ((DevToolsMessagingHookKeys2) => {
|
|
DevToolsMessagingHookKeys2["SEND_INSPECTOR_TREE_TO_CLIENT"] = "sendInspectorTreeToClient";
|
|
DevToolsMessagingHookKeys2["SEND_INSPECTOR_STATE_TO_CLIENT"] = "sendInspectorStateToClient";
|
|
DevToolsMessagingHookKeys2["SEND_TIMELINE_EVENT_TO_CLIENT"] = "sendTimelineEventToClient";
|
|
DevToolsMessagingHookKeys2["SEND_INSPECTOR_TO_CLIENT"] = "sendInspectorToClient";
|
|
DevToolsMessagingHookKeys2["SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT"] = "sendActiveAppUpdatedToClient";
|
|
DevToolsMessagingHookKeys2["DEVTOOLS_STATE_UPDATED"] = "devtoolsStateUpdated";
|
|
DevToolsMessagingHookKeys2["DEVTOOLS_CONNECTED_UPDATED"] = "devtoolsConnectedUpdated";
|
|
DevToolsMessagingHookKeys2["ROUTER_INFO_UPDATED"] = "routerInfoUpdated";
|
|
return DevToolsMessagingHookKeys2;
|
|
})(DevToolsMessagingHookKeys || {});
|
|
function createDevToolsCtxHooks() {
|
|
const hooks2 = createHooks();
|
|
hooks2.hook("addInspector" /* ADD_INSPECTOR */, ({ inspector, plugin }) => {
|
|
addInspector(inspector, plugin.descriptor);
|
|
});
|
|
const debounceSendInspectorTree = debounce2(async ({ inspectorId, plugin }) => {
|
|
var _a25;
|
|
if (!inspectorId || !((_a25 = plugin == null ? void 0 : plugin.descriptor) == null ? void 0 : _a25.app) || devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
const inspector = getInspector(inspectorId, plugin.descriptor.app);
|
|
const _payload = {
|
|
app: plugin.descriptor.app,
|
|
inspectorId,
|
|
filter: (inspector == null ? void 0 : inspector.treeFilter) || "",
|
|
rootNodes: []
|
|
};
|
|
await new Promise((resolve) => {
|
|
hooks2.callHookWith(async (callbacks) => {
|
|
await Promise.all(callbacks.map((cb) => cb(_payload)));
|
|
resolve();
|
|
}, "getInspectorTree" /* GET_INSPECTOR_TREE */);
|
|
});
|
|
hooks2.callHookWith(async (callbacks) => {
|
|
await Promise.all(callbacks.map((cb) => cb({
|
|
inspectorId,
|
|
rootNodes: _payload.rootNodes
|
|
})));
|
|
}, "sendInspectorTreeToClient" /* SEND_INSPECTOR_TREE_TO_CLIENT */);
|
|
}, 120);
|
|
hooks2.hook("sendInspectorTree" /* SEND_INSPECTOR_TREE */, debounceSendInspectorTree);
|
|
const debounceSendInspectorState = debounce2(async ({ inspectorId, plugin }) => {
|
|
var _a25;
|
|
if (!inspectorId || !((_a25 = plugin == null ? void 0 : plugin.descriptor) == null ? void 0 : _a25.app) || devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
const inspector = getInspector(inspectorId, plugin.descriptor.app);
|
|
const _payload = {
|
|
app: plugin.descriptor.app,
|
|
inspectorId,
|
|
nodeId: (inspector == null ? void 0 : inspector.selectedNodeId) || "",
|
|
state: null
|
|
};
|
|
const ctx = {
|
|
currentTab: `custom-inspector:${inspectorId}`
|
|
};
|
|
if (_payload.nodeId) {
|
|
await new Promise((resolve) => {
|
|
hooks2.callHookWith(async (callbacks) => {
|
|
await Promise.all(callbacks.map((cb) => cb(_payload, ctx)));
|
|
resolve();
|
|
}, "getInspectorState" /* GET_INSPECTOR_STATE */);
|
|
});
|
|
}
|
|
hooks2.callHookWith(async (callbacks) => {
|
|
await Promise.all(callbacks.map((cb) => cb({
|
|
inspectorId,
|
|
nodeId: _payload.nodeId,
|
|
state: _payload.state
|
|
})));
|
|
}, "sendInspectorStateToClient" /* SEND_INSPECTOR_STATE_TO_CLIENT */);
|
|
}, 120);
|
|
hooks2.hook("sendInspectorState" /* SEND_INSPECTOR_STATE */, debounceSendInspectorState);
|
|
hooks2.hook("customInspectorSelectNode" /* CUSTOM_INSPECTOR_SELECT_NODE */, ({ inspectorId, nodeId, plugin }) => {
|
|
const inspector = getInspector(inspectorId, plugin.descriptor.app);
|
|
if (!inspector)
|
|
return;
|
|
inspector.selectedNodeId = nodeId;
|
|
});
|
|
hooks2.hook("timelineLayerAdded" /* TIMELINE_LAYER_ADDED */, ({ options, plugin }) => {
|
|
addTimelineLayer(options, plugin.descriptor);
|
|
});
|
|
hooks2.hook("timelineEventAdded" /* TIMELINE_EVENT_ADDED */, ({ options, plugin }) => {
|
|
var _a25;
|
|
const internalLayerIds = ["performance", "component-event", "keyboard", "mouse"];
|
|
if (devtoolsState.highPerfModeEnabled || !((_a25 = devtoolsState.timelineLayersState) == null ? void 0 : _a25[plugin.descriptor.id]) && !internalLayerIds.includes(options.layerId))
|
|
return;
|
|
hooks2.callHookWith(async (callbacks) => {
|
|
await Promise.all(callbacks.map((cb) => cb(options)));
|
|
}, "sendTimelineEventToClient" /* SEND_TIMELINE_EVENT_TO_CLIENT */);
|
|
});
|
|
hooks2.hook("getComponentInstances" /* GET_COMPONENT_INSTANCES */, async ({ app }) => {
|
|
const appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
|
|
if (!appRecord)
|
|
return null;
|
|
const appId = appRecord.id.toString();
|
|
const instances = [...appRecord.instanceMap].filter(([key]) => key.split(":")[0] === appId).map(([, instance]) => instance);
|
|
return instances;
|
|
});
|
|
hooks2.hook("getComponentBounds" /* GET_COMPONENT_BOUNDS */, async ({ instance }) => {
|
|
const bounds = getComponentBoundingRect(instance);
|
|
return bounds;
|
|
});
|
|
hooks2.hook("getComponentName" /* GET_COMPONENT_NAME */, ({ instance }) => {
|
|
const name = getInstanceName(instance);
|
|
return name;
|
|
});
|
|
hooks2.hook("componentHighlight" /* COMPONENT_HIGHLIGHT */, ({ uid }) => {
|
|
const instance = activeAppRecord.value.instanceMap.get(uid);
|
|
if (instance) {
|
|
highlight(instance);
|
|
}
|
|
});
|
|
hooks2.hook("componentUnhighlight" /* COMPONENT_UNHIGHLIGHT */, () => {
|
|
unhighlight();
|
|
});
|
|
return hooks2;
|
|
}
|
|
|
|
// src/ctx/state.ts
|
|
var _a4, _b4;
|
|
(_b4 = (_a4 = global).__VUE_DEVTOOLS_KIT_APP_RECORDS__) != null ? _b4 : _a4.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [];
|
|
var _a5, _b5;
|
|
(_b5 = (_a5 = global).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__) != null ? _b5 : _a5.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = {};
|
|
var _a6, _b6;
|
|
(_b6 = (_a6 = global).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__) != null ? _b6 : _a6.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = "";
|
|
var _a7, _b7;
|
|
(_b7 = (_a7 = global).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__) != null ? _b7 : _a7.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ = [];
|
|
var _a8, _b8;
|
|
(_b8 = (_a8 = global).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__) != null ? _b8 : _a8.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ = [];
|
|
var STATE_KEY = "__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";
|
|
function initStateFactory() {
|
|
return {
|
|
connected: false,
|
|
clientConnected: false,
|
|
vitePluginDetected: true,
|
|
appRecords: [],
|
|
activeAppRecordId: "",
|
|
tabs: [],
|
|
commands: [],
|
|
highPerfModeEnabled: true,
|
|
devtoolsClientDetected: {},
|
|
perfUniqueGroupId: 0,
|
|
timelineLayersState: getTimelineLayersStateFromStorage()
|
|
};
|
|
}
|
|
var _a9, _b9;
|
|
(_b9 = (_a9 = global)[STATE_KEY]) != null ? _b9 : _a9[STATE_KEY] = initStateFactory();
|
|
var callStateUpdatedHook = debounce3((state) => {
|
|
devtoolsContext.hooks.callHook("devtoolsStateUpdated" /* DEVTOOLS_STATE_UPDATED */, { state });
|
|
});
|
|
var callConnectedUpdatedHook = debounce3((state, oldState) => {
|
|
devtoolsContext.hooks.callHook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, { state, oldState });
|
|
});
|
|
var devtoolsAppRecords = new Proxy(global.__VUE_DEVTOOLS_KIT_APP_RECORDS__, {
|
|
get(_target, prop, receiver) {
|
|
if (prop === "value")
|
|
return global.__VUE_DEVTOOLS_KIT_APP_RECORDS__;
|
|
return global.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop];
|
|
}
|
|
});
|
|
var addDevToolsAppRecord = (app) => {
|
|
global.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [
|
|
...global.__VUE_DEVTOOLS_KIT_APP_RECORDS__,
|
|
app
|
|
];
|
|
};
|
|
var removeDevToolsAppRecord = (app) => {
|
|
global.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = devtoolsAppRecords.value.filter((record) => record.app !== app);
|
|
};
|
|
var activeAppRecord = new Proxy(global.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, {
|
|
get(_target, prop, receiver) {
|
|
if (prop === "value")
|
|
return global.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__;
|
|
else if (prop === "id")
|
|
return global.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__;
|
|
return global.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop];
|
|
}
|
|
});
|
|
function updateAllStates() {
|
|
callStateUpdatedHook({
|
|
...global[STATE_KEY],
|
|
appRecords: devtoolsAppRecords.value,
|
|
activeAppRecordId: activeAppRecord.id,
|
|
tabs: global.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,
|
|
commands: global.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__
|
|
});
|
|
}
|
|
function setActiveAppRecord(app) {
|
|
global.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app;
|
|
updateAllStates();
|
|
}
|
|
function setActiveAppRecordId(id) {
|
|
global.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id;
|
|
updateAllStates();
|
|
}
|
|
var devtoolsState = new Proxy(global[STATE_KEY], {
|
|
get(target22, property) {
|
|
if (property === "appRecords") {
|
|
return devtoolsAppRecords;
|
|
} else if (property === "activeAppRecordId") {
|
|
return activeAppRecord.id;
|
|
} else if (property === "tabs") {
|
|
return global.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
|
|
} else if (property === "commands") {
|
|
return global.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
|
|
}
|
|
return global[STATE_KEY][property];
|
|
},
|
|
deleteProperty(target22, property) {
|
|
delete target22[property];
|
|
return true;
|
|
},
|
|
set(target22, property, value) {
|
|
const oldState = { ...global[STATE_KEY] };
|
|
target22[property] = value;
|
|
global[STATE_KEY][property] = value;
|
|
return true;
|
|
}
|
|
});
|
|
function resetDevToolsState() {
|
|
Object.assign(global[STATE_KEY], initStateFactory());
|
|
}
|
|
function updateDevToolsState(state) {
|
|
const oldState = {
|
|
...global[STATE_KEY],
|
|
appRecords: devtoolsAppRecords.value,
|
|
activeAppRecordId: activeAppRecord.id
|
|
};
|
|
if (oldState.connected !== state.connected && state.connected || oldState.clientConnected !== state.clientConnected && state.clientConnected) {
|
|
callConnectedUpdatedHook(global[STATE_KEY], oldState);
|
|
}
|
|
Object.assign(global[STATE_KEY], state);
|
|
updateAllStates();
|
|
}
|
|
function onDevToolsConnected(fn) {
|
|
return new Promise((resolve) => {
|
|
if (devtoolsState.connected) {
|
|
fn();
|
|
resolve();
|
|
}
|
|
devtoolsContext.hooks.hook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, ({ state }) => {
|
|
if (state.connected) {
|
|
fn();
|
|
resolve();
|
|
}
|
|
});
|
|
});
|
|
}
|
|
var resolveIcon = (icon) => {
|
|
if (!icon)
|
|
return;
|
|
if (icon.startsWith("baseline-")) {
|
|
return `custom-ic-${icon}`;
|
|
}
|
|
if (icon.startsWith("i-") || isUrlString(icon))
|
|
return icon;
|
|
return `custom-ic-baseline-${icon}`;
|
|
};
|
|
function addCustomTab(tab) {
|
|
const tabs = global.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
|
|
if (tabs.some((t) => t.name === tab.name))
|
|
return;
|
|
tabs.push({
|
|
...tab,
|
|
icon: resolveIcon(tab.icon)
|
|
});
|
|
updateAllStates();
|
|
}
|
|
function addCustomCommand(action) {
|
|
const commands = global.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
|
|
if (commands.some((t) => t.id === action.id))
|
|
return;
|
|
commands.push({
|
|
...action,
|
|
icon: resolveIcon(action.icon),
|
|
children: action.children ? action.children.map((child) => ({
|
|
...child,
|
|
icon: resolveIcon(child.icon)
|
|
})) : void 0
|
|
});
|
|
updateAllStates();
|
|
}
|
|
function removeCustomCommand(actionId) {
|
|
const commands = global.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
|
|
const index = commands.findIndex((t) => t.id === actionId);
|
|
if (index === -1)
|
|
return;
|
|
commands.splice(index, 1);
|
|
updateAllStates();
|
|
}
|
|
function toggleClientConnected(state) {
|
|
updateDevToolsState({ clientConnected: state });
|
|
}
|
|
|
|
// src/core/open-in-editor/index.ts
|
|
function setOpenInEditorBaseUrl(url) {
|
|
target5.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ = url;
|
|
}
|
|
function openInEditor(options = {}) {
|
|
var _a25, _b25, _c;
|
|
const { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options;
|
|
if (file) {
|
|
if (host === "chrome-extension") {
|
|
const fileName = file.replace(/\\/g, "\\\\");
|
|
const _baseUrl = (_b25 = (_a25 = window.VUE_DEVTOOLS_CONFIG) == null ? void 0 : _a25.openInEditorHost) != null ? _b25 : "/";
|
|
fetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => {
|
|
if (!response.ok) {
|
|
const msg = `Opening component ${fileName} failed`;
|
|
console.log(`%c${msg}`, "color:red");
|
|
}
|
|
});
|
|
} else if (devtoolsState.vitePluginDetected) {
|
|
const _baseUrl = (_c = target5.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__) != null ? _c : baseUrl;
|
|
target5.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column);
|
|
}
|
|
}
|
|
}
|
|
|
|
// src/core/plugin/index.ts
|
|
init_esm_shims();
|
|
import { target as target8 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/api/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/api/v6/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/plugin/plugin-settings.ts
|
|
init_esm_shims();
|
|
|
|
// src/ctx/plugin.ts
|
|
init_esm_shims();
|
|
import { target as target6 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var _a10, _b10;
|
|
(_b10 = (_a10 = target6).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__) != null ? _b10 : _a10.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ = [];
|
|
var devtoolsPluginBuffer = new Proxy(target6.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, {
|
|
get(target22, prop, receiver) {
|
|
return Reflect.get(target22, prop, receiver);
|
|
}
|
|
});
|
|
function addDevToolsPluginToBuffer(pluginDescriptor, setupFn) {
|
|
devtoolsPluginBuffer.push([pluginDescriptor, setupFn]);
|
|
}
|
|
|
|
// src/core/plugin/plugin-settings.ts
|
|
function _getSettings(settings) {
|
|
const _settings = {};
|
|
Object.keys(settings).forEach((key) => {
|
|
_settings[key] = settings[key].defaultValue;
|
|
});
|
|
return _settings;
|
|
}
|
|
function getPluginLocalKey(pluginId) {
|
|
return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`;
|
|
}
|
|
function getPluginSettingsOptions(pluginId) {
|
|
var _a25, _b25, _c;
|
|
const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => {
|
|
var _a26;
|
|
return item2[0].id === pluginId && !!((_a26 = item2[0]) == null ? void 0 : _a26.settings);
|
|
})) == null ? void 0 : _a25[0]) != null ? _b25 : null;
|
|
return (_c = item == null ? void 0 : item.settings) != null ? _c : null;
|
|
}
|
|
function getPluginSettings(pluginId, fallbackValue) {
|
|
var _a25, _b25, _c;
|
|
const localKey = getPluginLocalKey(pluginId);
|
|
if (localKey) {
|
|
const localSettings = localStorage.getItem(localKey);
|
|
if (localSettings) {
|
|
return JSON.parse(localSettings);
|
|
}
|
|
}
|
|
if (pluginId) {
|
|
const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => item2[0].id === pluginId)) == null ? void 0 : _a25[0]) != null ? _b25 : null;
|
|
return _getSettings((_c = item == null ? void 0 : item.settings) != null ? _c : {});
|
|
}
|
|
return _getSettings(fallbackValue);
|
|
}
|
|
function initPluginSettings(pluginId, settings) {
|
|
const localKey = getPluginLocalKey(pluginId);
|
|
const localSettings = localStorage.getItem(localKey);
|
|
if (!localSettings) {
|
|
localStorage.setItem(localKey, JSON.stringify(_getSettings(settings)));
|
|
}
|
|
}
|
|
function setPluginSettings(pluginId, key, value) {
|
|
const localKey = getPluginLocalKey(pluginId);
|
|
const localSettings = localStorage.getItem(localKey);
|
|
const parsedLocalSettings = JSON.parse(localSettings || "{}");
|
|
const updated = {
|
|
...parsedLocalSettings,
|
|
[key]: value
|
|
};
|
|
localStorage.setItem(localKey, JSON.stringify(updated));
|
|
devtoolsContext.hooks.callHookWith((callbacks) => {
|
|
callbacks.forEach((cb) => cb({
|
|
pluginId,
|
|
key,
|
|
oldValue: parsedLocalSettings[key],
|
|
newValue: value,
|
|
settings: updated
|
|
}));
|
|
}, "setPluginSettings" /* SET_PLUGIN_SETTINGS */);
|
|
}
|
|
|
|
// src/hook/index.ts
|
|
init_esm_shims();
|
|
import { target as target7 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
import { createHooks as createHooks2 } from "/_nuxt/node_modules/hookable/dist/index.mjs?v=e4f18c29";
|
|
|
|
// src/types/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/app.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/command.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/component.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/hook.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/inspector.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/plugin.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/router.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/tab.ts
|
|
init_esm_shims();
|
|
|
|
// src/types/timeline.ts
|
|
init_esm_shims();
|
|
|
|
// src/hook/index.ts
|
|
var _a11, _b11;
|
|
var devtoolsHooks = (_b11 = (_a11 = target7).__VUE_DEVTOOLS_HOOK) != null ? _b11 : _a11.__VUE_DEVTOOLS_HOOK = createHooks2();
|
|
var on = {
|
|
vueAppInit(fn) {
|
|
devtoolsHooks.hook("app:init" /* APP_INIT */, fn);
|
|
},
|
|
vueAppUnmount(fn) {
|
|
devtoolsHooks.hook("app:unmount" /* APP_UNMOUNT */, fn);
|
|
},
|
|
vueAppConnected(fn) {
|
|
devtoolsHooks.hook("app:connected" /* APP_CONNECTED */, fn);
|
|
},
|
|
componentAdded(fn) {
|
|
return devtoolsHooks.hook("component:added" /* COMPONENT_ADDED */, fn);
|
|
},
|
|
componentEmit(fn) {
|
|
return devtoolsHooks.hook("component:emit" /* COMPONENT_EMIT */, fn);
|
|
},
|
|
componentUpdated(fn) {
|
|
return devtoolsHooks.hook("component:updated" /* COMPONENT_UPDATED */, fn);
|
|
},
|
|
componentRemoved(fn) {
|
|
return devtoolsHooks.hook("component:removed" /* COMPONENT_REMOVED */, fn);
|
|
},
|
|
setupDevtoolsPlugin(fn) {
|
|
devtoolsHooks.hook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, fn);
|
|
},
|
|
perfStart(fn) {
|
|
return devtoolsHooks.hook("perf:start" /* PERFORMANCE_START */, fn);
|
|
},
|
|
perfEnd(fn) {
|
|
return devtoolsHooks.hook("perf:end" /* PERFORMANCE_END */, fn);
|
|
}
|
|
};
|
|
function createDevToolsHook() {
|
|
return {
|
|
id: "vue-devtools-next",
|
|
devtoolsVersion: "7.0",
|
|
enabled: false,
|
|
appRecords: [],
|
|
apps: [],
|
|
events: /* @__PURE__ */ new Map(),
|
|
on(event, fn) {
|
|
var _a25;
|
|
if (!this.events.has(event))
|
|
this.events.set(event, []);
|
|
(_a25 = this.events.get(event)) == null ? void 0 : _a25.push(fn);
|
|
return () => this.off(event, fn);
|
|
},
|
|
once(event, fn) {
|
|
const onceFn = (...args) => {
|
|
this.off(event, onceFn);
|
|
fn(...args);
|
|
};
|
|
this.on(event, onceFn);
|
|
return [event, onceFn];
|
|
},
|
|
off(event, fn) {
|
|
if (this.events.has(event)) {
|
|
const eventCallbacks = this.events.get(event);
|
|
const index = eventCallbacks.indexOf(fn);
|
|
if (index !== -1)
|
|
eventCallbacks.splice(index, 1);
|
|
}
|
|
},
|
|
emit(event, ...payload) {
|
|
if (this.events.has(event))
|
|
this.events.get(event).forEach((fn) => fn(...payload));
|
|
}
|
|
};
|
|
}
|
|
function subscribeDevToolsHook(hook2) {
|
|
hook2.on("app:init" /* APP_INIT */, (app, version, types) => {
|
|
var _a25, _b25, _c;
|
|
if ((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
|
|
return;
|
|
devtoolsHooks.callHook("app:init" /* APP_INIT */, app, version, types);
|
|
});
|
|
hook2.on("app:unmount" /* APP_UNMOUNT */, (app) => {
|
|
devtoolsHooks.callHook("app:unmount" /* APP_UNMOUNT */, app);
|
|
});
|
|
hook2.on("component:added" /* COMPONENT_ADDED */, async (app, uid, parentUid, component) => {
|
|
var _a25, _b25, _c;
|
|
if (((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) || devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
if (!app || typeof uid !== "number" && !uid || !component)
|
|
return;
|
|
devtoolsHooks.callHook("component:added" /* COMPONENT_ADDED */, app, uid, parentUid, component);
|
|
});
|
|
hook2.on("component:updated" /* COMPONENT_UPDATED */, (app, uid, parentUid, component) => {
|
|
if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */, app, uid, parentUid, component);
|
|
});
|
|
hook2.on("component:removed" /* COMPONENT_REMOVED */, async (app, uid, parentUid, component) => {
|
|
if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
devtoolsHooks.callHook("component:removed" /* COMPONENT_REMOVED */, app, uid, parentUid, component);
|
|
});
|
|
hook2.on("component:emit" /* COMPONENT_EMIT */, async (app, instance, event, params) => {
|
|
if (!app || !instance || devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
devtoolsHooks.callHook("component:emit" /* COMPONENT_EMIT */, app, instance, event, params);
|
|
});
|
|
hook2.on("perf:start" /* PERFORMANCE_START */, (app, uid, vm, type, time) => {
|
|
if (!app || devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
devtoolsHooks.callHook("perf:start" /* PERFORMANCE_START */, app, uid, vm, type, time);
|
|
});
|
|
hook2.on("perf:end" /* PERFORMANCE_END */, (app, uid, vm, type, time) => {
|
|
if (!app || devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
devtoolsHooks.callHook("perf:end" /* PERFORMANCE_END */, app, uid, vm, type, time);
|
|
});
|
|
hook2.on("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, (pluginDescriptor, setupFn, options) => {
|
|
if ((options == null ? void 0 : options.target) === "legacy")
|
|
return;
|
|
devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);
|
|
});
|
|
}
|
|
var hook = {
|
|
on,
|
|
setupDevToolsPlugin(pluginDescriptor, setupFn) {
|
|
return devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);
|
|
}
|
|
};
|
|
|
|
// src/api/v6/index.ts
|
|
var DevToolsV6PluginAPI = class {
|
|
constructor({ plugin, ctx }) {
|
|
this.hooks = ctx.hooks;
|
|
this.plugin = plugin;
|
|
}
|
|
get on() {
|
|
return {
|
|
// component inspector
|
|
visitComponentTree: (handler) => {
|
|
this.hooks.hook("visitComponentTree" /* VISIT_COMPONENT_TREE */, handler);
|
|
},
|
|
inspectComponent: (handler) => {
|
|
this.hooks.hook("inspectComponent" /* INSPECT_COMPONENT */, handler);
|
|
},
|
|
editComponentState: (handler) => {
|
|
this.hooks.hook("editComponentState" /* EDIT_COMPONENT_STATE */, handler);
|
|
},
|
|
// custom inspector
|
|
getInspectorTree: (handler) => {
|
|
this.hooks.hook("getInspectorTree" /* GET_INSPECTOR_TREE */, handler);
|
|
},
|
|
getInspectorState: (handler) => {
|
|
this.hooks.hook("getInspectorState" /* GET_INSPECTOR_STATE */, handler);
|
|
},
|
|
editInspectorState: (handler) => {
|
|
this.hooks.hook("editInspectorState" /* EDIT_INSPECTOR_STATE */, handler);
|
|
},
|
|
// timeline
|
|
inspectTimelineEvent: (handler) => {
|
|
this.hooks.hook("inspectTimelineEvent" /* INSPECT_TIMELINE_EVENT */, handler);
|
|
},
|
|
timelineCleared: (handler) => {
|
|
this.hooks.hook("timelineCleared" /* TIMELINE_CLEARED */, handler);
|
|
},
|
|
// settings
|
|
setPluginSettings: (handler) => {
|
|
this.hooks.hook("setPluginSettings" /* SET_PLUGIN_SETTINGS */, handler);
|
|
}
|
|
};
|
|
}
|
|
// component inspector
|
|
notifyComponentUpdate(instance) {
|
|
var _a25;
|
|
if (devtoolsState.highPerfModeEnabled) {
|
|
return;
|
|
}
|
|
const inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName);
|
|
if (inspector == null ? void 0 : inspector.id) {
|
|
if (instance) {
|
|
const args = [
|
|
instance.appContext.app,
|
|
instance.uid,
|
|
(_a25 = instance.parent) == null ? void 0 : _a25.uid,
|
|
instance
|
|
];
|
|
devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */, ...args);
|
|
} else {
|
|
devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */);
|
|
}
|
|
this.hooks.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId: inspector.id, plugin: this.plugin });
|
|
}
|
|
}
|
|
// custom inspector
|
|
addInspector(options) {
|
|
this.hooks.callHook("addInspector" /* ADD_INSPECTOR */, { inspector: options, plugin: this.plugin });
|
|
if (this.plugin.descriptor.settings) {
|
|
initPluginSettings(options.id, this.plugin.descriptor.settings);
|
|
}
|
|
}
|
|
sendInspectorTree(inspectorId) {
|
|
if (devtoolsState.highPerfModeEnabled) {
|
|
return;
|
|
}
|
|
this.hooks.callHook("sendInspectorTree" /* SEND_INSPECTOR_TREE */, { inspectorId, plugin: this.plugin });
|
|
}
|
|
sendInspectorState(inspectorId) {
|
|
if (devtoolsState.highPerfModeEnabled) {
|
|
return;
|
|
}
|
|
this.hooks.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: this.plugin });
|
|
}
|
|
selectInspectorNode(inspectorId, nodeId) {
|
|
this.hooks.callHook("customInspectorSelectNode" /* CUSTOM_INSPECTOR_SELECT_NODE */, { inspectorId, nodeId, plugin: this.plugin });
|
|
}
|
|
visitComponentTree(payload) {
|
|
return this.hooks.callHook("visitComponentTree" /* VISIT_COMPONENT_TREE */, payload);
|
|
}
|
|
// timeline
|
|
now() {
|
|
if (devtoolsState.highPerfModeEnabled) {
|
|
return 0;
|
|
}
|
|
return Date.now();
|
|
}
|
|
addTimelineLayer(options) {
|
|
this.hooks.callHook("timelineLayerAdded" /* TIMELINE_LAYER_ADDED */, { options, plugin: this.plugin });
|
|
}
|
|
addTimelineEvent(options) {
|
|
if (devtoolsState.highPerfModeEnabled) {
|
|
return;
|
|
}
|
|
this.hooks.callHook("timelineEventAdded" /* TIMELINE_EVENT_ADDED */, { options, plugin: this.plugin });
|
|
}
|
|
// settings
|
|
getSettings(pluginId) {
|
|
return getPluginSettings(pluginId != null ? pluginId : this.plugin.descriptor.id, this.plugin.descriptor.settings);
|
|
}
|
|
// utilities
|
|
getComponentInstances(app) {
|
|
return this.hooks.callHook("getComponentInstances" /* GET_COMPONENT_INSTANCES */, { app });
|
|
}
|
|
getComponentBounds(instance) {
|
|
return this.hooks.callHook("getComponentBounds" /* GET_COMPONENT_BOUNDS */, { instance });
|
|
}
|
|
getComponentName(instance) {
|
|
return this.hooks.callHook("getComponentName" /* GET_COMPONENT_NAME */, { instance });
|
|
}
|
|
highlightElement(instance) {
|
|
const uid = instance.__VUE_DEVTOOLS_NEXT_UID__;
|
|
return this.hooks.callHook("componentHighlight" /* COMPONENT_HIGHLIGHT */, { uid });
|
|
}
|
|
unhighlightElement() {
|
|
return this.hooks.callHook("componentUnhighlight" /* COMPONENT_UNHIGHLIGHT */);
|
|
}
|
|
};
|
|
|
|
// src/api/index.ts
|
|
var DevToolsPluginAPI = DevToolsV6PluginAPI;
|
|
|
|
// src/core/plugin/components.ts
|
|
init_esm_shims();
|
|
import { debounce as debounce4 } from "/_nuxt/node_modules/perfect-debounce/dist/index.mjs?v=e4f18c29";
|
|
|
|
// src/core/component/state/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/component/state/process.ts
|
|
init_esm_shims();
|
|
import { camelize } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/core/component/state/constants.ts
|
|
init_esm_shims();
|
|
var vueBuiltins = /* @__PURE__ */ new Set([
|
|
"nextTick",
|
|
"defineComponent",
|
|
"defineAsyncComponent",
|
|
"defineCustomElement",
|
|
"ref",
|
|
"computed",
|
|
"reactive",
|
|
"readonly",
|
|
"watchEffect",
|
|
"watchPostEffect",
|
|
"watchSyncEffect",
|
|
"watch",
|
|
"isRef",
|
|
"unref",
|
|
"toRef",
|
|
"toRefs",
|
|
"isProxy",
|
|
"isReactive",
|
|
"isReadonly",
|
|
"shallowRef",
|
|
"triggerRef",
|
|
"customRef",
|
|
"shallowReactive",
|
|
"shallowReadonly",
|
|
"toRaw",
|
|
"markRaw",
|
|
"effectScope",
|
|
"getCurrentScope",
|
|
"onScopeDispose",
|
|
"onMounted",
|
|
"onUpdated",
|
|
"onUnmounted",
|
|
"onBeforeMount",
|
|
"onBeforeUpdate",
|
|
"onBeforeUnmount",
|
|
"onErrorCaptured",
|
|
"onRenderTracked",
|
|
"onRenderTriggered",
|
|
"onActivated",
|
|
"onDeactivated",
|
|
"onServerPrefetch",
|
|
"provide",
|
|
"inject",
|
|
"h",
|
|
"mergeProps",
|
|
"cloneVNode",
|
|
"isVNode",
|
|
"resolveComponent",
|
|
"resolveDirective",
|
|
"withDirectives",
|
|
"withModifiers"
|
|
]);
|
|
var symbolRE = /^\[native Symbol Symbol\((.*)\)\]$/;
|
|
var rawTypeRE = /^\[object (\w+)\]$/;
|
|
var specialTypeRE = /^\[native (\w+) (.*?)(<>(([\s\S])*))?\]$/;
|
|
var fnTypeRE = /^(?:function|class) (\w+)/;
|
|
var MAX_STRING_SIZE = 1e4;
|
|
var MAX_ARRAY_SIZE = 5e3;
|
|
var UNDEFINED = "__vue_devtool_undefined__";
|
|
var INFINITY = "__vue_devtool_infinity__";
|
|
var NEGATIVE_INFINITY = "__vue_devtool_negative_infinity__";
|
|
var NAN = "__vue_devtool_nan__";
|
|
var ESC = {
|
|
"<": "<",
|
|
">": ">",
|
|
'"': """,
|
|
"&": "&"
|
|
};
|
|
|
|
// src/core/component/state/util.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/component/state/is.ts
|
|
init_esm_shims();
|
|
function isVueInstance(value) {
|
|
if (!ensurePropertyExists(value, "_")) {
|
|
return false;
|
|
}
|
|
if (!isPlainObject(value._)) {
|
|
return false;
|
|
}
|
|
return Object.keys(value._).includes("vnode");
|
|
}
|
|
function isPlainObject(obj) {
|
|
return Object.prototype.toString.call(obj) === "[object Object]";
|
|
}
|
|
function isPrimitive(data) {
|
|
if (data == null)
|
|
return true;
|
|
const type = typeof data;
|
|
return type === "string" || type === "number" || type === "boolean";
|
|
}
|
|
function isRef2(raw) {
|
|
return !!raw.__v_isRef;
|
|
}
|
|
function isComputed(raw) {
|
|
return isRef2(raw) && !!raw.effect;
|
|
}
|
|
function isReactive2(raw) {
|
|
return !!raw.__v_isReactive;
|
|
}
|
|
function isReadOnly(raw) {
|
|
return !!raw.__v_isReadonly;
|
|
}
|
|
|
|
// src/core/component/state/util.ts
|
|
var tokenMap = {
|
|
[UNDEFINED]: "undefined",
|
|
[NAN]: "NaN",
|
|
[INFINITY]: "Infinity",
|
|
[NEGATIVE_INFINITY]: "-Infinity"
|
|
};
|
|
var reversedTokenMap = Object.entries(tokenMap).reduce((acc, [key, value]) => {
|
|
acc[value] = key;
|
|
return acc;
|
|
}, {});
|
|
function internalStateTokenToString(value) {
|
|
if (value === null)
|
|
return "null";
|
|
return typeof value === "string" && tokenMap[value] || false;
|
|
}
|
|
function replaceTokenToString(value) {
|
|
const replaceRegex = new RegExp(`"(${Object.keys(tokenMap).join("|")})"`, "g");
|
|
return value.replace(replaceRegex, (_, g1) => tokenMap[g1]);
|
|
}
|
|
function replaceStringToToken(value) {
|
|
const literalValue = reversedTokenMap[value.trim()];
|
|
if (literalValue)
|
|
return `"${literalValue}"`;
|
|
const replaceRegex = new RegExp(`:\\s*(${Object.keys(reversedTokenMap).join("|")})`, "g");
|
|
return value.replace(replaceRegex, (_, g1) => `:"${reversedTokenMap[g1]}"`);
|
|
}
|
|
function getPropType(type) {
|
|
if (Array.isArray(type))
|
|
return type.map((t) => getPropType(t)).join(" or ");
|
|
if (type == null)
|
|
return "null";
|
|
const match = type.toString().match(fnTypeRE);
|
|
return typeof type === "function" ? match && match[1] || "any" : "any";
|
|
}
|
|
function sanitize(data) {
|
|
if (!isPrimitive(data) && !Array.isArray(data) && !isPlainObject(data)) {
|
|
return Object.prototype.toString.call(data);
|
|
} else {
|
|
return data;
|
|
}
|
|
}
|
|
function getSetupStateType(raw) {
|
|
try {
|
|
return {
|
|
ref: isRef2(raw),
|
|
computed: isComputed(raw),
|
|
reactive: isReactive2(raw),
|
|
readonly: isReadOnly(raw)
|
|
};
|
|
} catch (e) {
|
|
return {
|
|
ref: false,
|
|
computed: false,
|
|
reactive: false,
|
|
readonly: false
|
|
};
|
|
}
|
|
}
|
|
function toRaw2(value) {
|
|
if (value == null ? void 0 : value.__v_raw)
|
|
return value.__v_raw;
|
|
return value;
|
|
}
|
|
function escape(s) {
|
|
return s.replace(/[<>"&]/g, (s2) => {
|
|
return ESC[s2] || s2;
|
|
});
|
|
}
|
|
|
|
// src/core/component/state/process.ts
|
|
function mergeOptions(to, from, instance) {
|
|
if (typeof from === "function")
|
|
from = from.options;
|
|
if (!from)
|
|
return to;
|
|
const { mixins, extends: extendsOptions } = from;
|
|
extendsOptions && mergeOptions(to, extendsOptions, instance);
|
|
mixins && mixins.forEach(
|
|
(m) => mergeOptions(to, m, instance)
|
|
);
|
|
for (const key of ["computed", "inject"]) {
|
|
if (Object.prototype.hasOwnProperty.call(from, key)) {
|
|
if (!to[key])
|
|
to[key] = from[key];
|
|
else
|
|
Object.assign(to[key], from[key]);
|
|
}
|
|
}
|
|
return to;
|
|
}
|
|
function resolveMergedOptions(instance) {
|
|
const raw = instance == null ? void 0 : instance.type;
|
|
if (!raw)
|
|
return {};
|
|
const { mixins, extends: extendsOptions } = raw;
|
|
const globalMixins = instance.appContext.mixins;
|
|
if (!globalMixins.length && !mixins && !extendsOptions)
|
|
return raw;
|
|
const options = {};
|
|
globalMixins.forEach((m) => mergeOptions(options, m, instance));
|
|
mergeOptions(options, raw, instance);
|
|
return options;
|
|
}
|
|
function processProps(instance) {
|
|
var _a25;
|
|
const props = [];
|
|
const propDefinitions = (_a25 = instance == null ? void 0 : instance.type) == null ? void 0 : _a25.props;
|
|
for (const key in instance == null ? void 0 : instance.props) {
|
|
const propDefinition = propDefinitions ? propDefinitions[key] : null;
|
|
const camelizeKey = camelize(key);
|
|
props.push({
|
|
type: "props",
|
|
key: camelizeKey,
|
|
value: returnError(() => instance.props[key]),
|
|
editable: true,
|
|
meta: propDefinition ? {
|
|
type: propDefinition.type ? getPropType(propDefinition.type) : "any",
|
|
required: !!propDefinition.required,
|
|
...propDefinition.default ? {
|
|
default: propDefinition.default.toString()
|
|
} : {}
|
|
} : { type: "invalid" }
|
|
});
|
|
}
|
|
return props;
|
|
}
|
|
function processState(instance) {
|
|
const type = instance.type;
|
|
const props = type == null ? void 0 : type.props;
|
|
const getters = type.vuex && type.vuex.getters;
|
|
const computedDefs = type.computed;
|
|
const data = {
|
|
...instance.data,
|
|
...instance.renderContext
|
|
};
|
|
return Object.keys(data).filter((key) => !(props && key in props) && !(getters && key in getters) && !(computedDefs && key in computedDefs)).map((key) => ({
|
|
key,
|
|
type: "data",
|
|
value: returnError(() => data[key]),
|
|
editable: true
|
|
}));
|
|
}
|
|
function getStateTypeAndName(info) {
|
|
const stateType = info.computed ? "computed" : info.ref ? "ref" : info.reactive ? "reactive" : null;
|
|
const stateTypeName = stateType ? `${stateType.charAt(0).toUpperCase()}${stateType.slice(1)}` : null;
|
|
return {
|
|
stateType,
|
|
stateTypeName
|
|
};
|
|
}
|
|
function processSetupState(instance) {
|
|
const raw = instance.devtoolsRawSetupState || {};
|
|
return Object.keys(instance.setupState).filter((key) => !vueBuiltins.has(key) && key.split(/(?=[A-Z])/)[0] !== "use").map((key) => {
|
|
var _a25, _b25, _c, _d;
|
|
const value = returnError(() => toRaw2(instance.setupState[key]));
|
|
const accessError = value instanceof Error;
|
|
const rawData = raw[key];
|
|
let result;
|
|
let isOtherType = accessError || typeof value === "function" || ensurePropertyExists(value, "render") && typeof value.render === "function" || ensurePropertyExists(value, "__asyncLoader") && typeof value.__asyncLoader === "function" || typeof value === "object" && value && ("setup" in value || "props" in value) || /^v[A-Z]/.test(key);
|
|
if (rawData && !accessError) {
|
|
const info = getSetupStateType(rawData);
|
|
const { stateType, stateTypeName } = getStateTypeAndName(info);
|
|
const isState = info.ref || info.computed || info.reactive;
|
|
const raw2 = ensurePropertyExists(rawData, "effect") ? ((_b25 = (_a25 = rawData.effect) == null ? void 0 : _a25.raw) == null ? void 0 : _b25.toString()) || ((_d = (_c = rawData.effect) == null ? void 0 : _c.fn) == null ? void 0 : _d.toString()) : null;
|
|
if (stateType)
|
|
isOtherType = false;
|
|
result = {
|
|
...stateType ? { stateType, stateTypeName } : {},
|
|
...raw2 ? { raw: raw2 } : {},
|
|
editable: isState && !info.readonly
|
|
};
|
|
}
|
|
const type = isOtherType ? "setup (other)" : "setup";
|
|
return {
|
|
key,
|
|
value,
|
|
type,
|
|
// @ts-expect-error ignore
|
|
...result
|
|
};
|
|
});
|
|
}
|
|
function processComputed(instance, mergedType) {
|
|
const type = mergedType;
|
|
const computed = [];
|
|
const defs = type.computed || {};
|
|
for (const key in defs) {
|
|
const def = defs[key];
|
|
const type2 = typeof def === "function" && def.vuex ? "vuex bindings" : "computed";
|
|
computed.push({
|
|
type: type2,
|
|
key,
|
|
value: returnError(() => {
|
|
var _a25;
|
|
return (_a25 = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a25[key];
|
|
}),
|
|
editable: typeof def.set === "function"
|
|
});
|
|
}
|
|
return computed;
|
|
}
|
|
function processAttrs(instance) {
|
|
return Object.keys(instance.attrs).map((key) => ({
|
|
type: "attrs",
|
|
key,
|
|
value: returnError(() => instance.attrs[key])
|
|
}));
|
|
}
|
|
function processProvide(instance) {
|
|
return Reflect.ownKeys(instance.provides).map((key) => ({
|
|
type: "provided",
|
|
key: key.toString(),
|
|
value: returnError(() => instance.provides[key])
|
|
}));
|
|
}
|
|
function processInject(instance, mergedType) {
|
|
if (!(mergedType == null ? void 0 : mergedType.inject))
|
|
return [];
|
|
let keys = [];
|
|
let defaultValue;
|
|
if (Array.isArray(mergedType.inject)) {
|
|
keys = mergedType.inject.map((key) => ({
|
|
key,
|
|
originalKey: key
|
|
}));
|
|
} else {
|
|
keys = Reflect.ownKeys(mergedType.inject).map((key) => {
|
|
const value = mergedType.inject[key];
|
|
let originalKey;
|
|
if (typeof value === "string" || typeof value === "symbol") {
|
|
originalKey = value;
|
|
} else {
|
|
originalKey = value.from;
|
|
defaultValue = value.default;
|
|
}
|
|
return {
|
|
key,
|
|
originalKey
|
|
};
|
|
});
|
|
}
|
|
return keys.map(({ key, originalKey }) => ({
|
|
type: "injected",
|
|
key: originalKey && key !== originalKey ? `${originalKey.toString()} \u279E ${key.toString()}` : key.toString(),
|
|
// eslint-disable-next-line no-prototype-builtins
|
|
value: returnError(() => instance.ctx.hasOwnProperty(key) ? instance.ctx[key] : instance.provides.hasOwnProperty(originalKey) ? instance.provides[originalKey] : defaultValue)
|
|
}));
|
|
}
|
|
function processRefs(instance) {
|
|
return Object.keys(instance.refs).map((key) => ({
|
|
type: "template refs",
|
|
key,
|
|
value: returnError(() => instance.refs[key])
|
|
}));
|
|
}
|
|
function processEventListeners(instance) {
|
|
var _a25, _b25;
|
|
const emitsDefinition = instance.type.emits;
|
|
const declaredEmits = Array.isArray(emitsDefinition) ? emitsDefinition : Object.keys(emitsDefinition != null ? emitsDefinition : {});
|
|
const keys = Object.keys((_b25 = (_a25 = instance == null ? void 0 : instance.vnode) == null ? void 0 : _a25.props) != null ? _b25 : {});
|
|
const result = [];
|
|
for (const key of keys) {
|
|
const [prefix, ...eventNameParts] = key.split(/(?=[A-Z])/);
|
|
if (prefix === "on") {
|
|
const eventName = eventNameParts.join("-").toLowerCase();
|
|
const isDeclared = declaredEmits.includes(eventName);
|
|
result.push({
|
|
type: "event listeners",
|
|
key: eventName,
|
|
value: {
|
|
_custom: {
|
|
displayText: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared",
|
|
key: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared",
|
|
value: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared",
|
|
tooltipText: !isDeclared ? `The event <code>${eventName}</code> is not declared in the <code>emits</code> option. It will leak into the component's attributes (<code>$attrs</code>).` : null
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function processInstanceState(instance) {
|
|
const mergedType = resolveMergedOptions(instance);
|
|
return processProps(instance).concat(
|
|
processState(instance),
|
|
processSetupState(instance),
|
|
processComputed(instance, mergedType),
|
|
processAttrs(instance),
|
|
processProvide(instance),
|
|
processInject(instance, mergedType),
|
|
processRefs(instance),
|
|
processEventListeners(instance)
|
|
);
|
|
}
|
|
|
|
// src/core/component/state/index.ts
|
|
function getInstanceState(params) {
|
|
var _a25;
|
|
const instance = getComponentInstance(activeAppRecord.value, params.instanceId);
|
|
const id = getUniqueComponentId(instance);
|
|
const name = getInstanceName(instance);
|
|
const file = (_a25 = instance == null ? void 0 : instance.type) == null ? void 0 : _a25.__file;
|
|
const state = processInstanceState(instance);
|
|
return {
|
|
id,
|
|
name,
|
|
file,
|
|
state,
|
|
instance
|
|
};
|
|
}
|
|
|
|
// src/core/component/tree/walker.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/component/tree/filter.ts
|
|
init_esm_shims();
|
|
import { classify as classify2, kebabize } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var ComponentFilter = class {
|
|
constructor(filter) {
|
|
this.filter = filter || "";
|
|
}
|
|
/**
|
|
* Check if an instance is qualified.
|
|
*
|
|
* @param {Vue|Vnode} instance
|
|
* @return {boolean}
|
|
*/
|
|
isQualified(instance) {
|
|
const name = getInstanceName(instance);
|
|
return classify2(name).toLowerCase().includes(this.filter) || kebabize(name).toLowerCase().includes(this.filter);
|
|
}
|
|
};
|
|
function createComponentFilter(filterText) {
|
|
return new ComponentFilter(filterText);
|
|
}
|
|
|
|
// src/core/component/tree/walker.ts
|
|
var ComponentWalker = class {
|
|
constructor(options) {
|
|
// Dedupe instances (Some instances may be both on a component and on a child abstract/functional component)
|
|
this.captureIds = /* @__PURE__ */ new Map();
|
|
const { filterText = "", maxDepth, recursively, api } = options;
|
|
this.componentFilter = createComponentFilter(filterText);
|
|
this.maxDepth = maxDepth;
|
|
this.recursively = recursively;
|
|
this.api = api;
|
|
}
|
|
getComponentTree(instance) {
|
|
this.captureIds = /* @__PURE__ */ new Map();
|
|
return this.findQualifiedChildren(instance, 0);
|
|
}
|
|
getComponentParents(instance) {
|
|
this.captureIds = /* @__PURE__ */ new Map();
|
|
const parents = [];
|
|
this.captureId(instance);
|
|
let parent = instance;
|
|
while (parent = parent.parent) {
|
|
this.captureId(parent);
|
|
parents.push(parent);
|
|
}
|
|
return parents;
|
|
}
|
|
captureId(instance) {
|
|
if (!instance)
|
|
return null;
|
|
const id = instance.__VUE_DEVTOOLS_NEXT_UID__ != null ? instance.__VUE_DEVTOOLS_NEXT_UID__ : getUniqueComponentId(instance);
|
|
instance.__VUE_DEVTOOLS_NEXT_UID__ = id;
|
|
if (this.captureIds.has(id))
|
|
return null;
|
|
else
|
|
this.captureIds.set(id, void 0);
|
|
this.mark(instance);
|
|
return id;
|
|
}
|
|
/**
|
|
* Capture the meta information of an instance. (recursive)
|
|
*
|
|
* @param {Vue} instance
|
|
* @return {object}
|
|
*/
|
|
async capture(instance, depth) {
|
|
var _a25;
|
|
if (!instance)
|
|
return null;
|
|
const id = this.captureId(instance);
|
|
const name = getInstanceName(instance);
|
|
const children = this.getInternalInstanceChildren(instance.subTree).filter((child) => !isBeingDestroyed(child));
|
|
const parents = this.getComponentParents(instance) || [];
|
|
const inactive = !!instance.isDeactivated || parents.some((parent) => parent.isDeactivated);
|
|
const treeNode = {
|
|
uid: instance.uid,
|
|
id,
|
|
name,
|
|
renderKey: getRenderKey(instance.vnode ? instance.vnode.key : null),
|
|
inactive,
|
|
children: [],
|
|
isFragment: isFragment(instance),
|
|
tags: typeof instance.type !== "function" ? [] : [
|
|
{
|
|
label: "functional",
|
|
textColor: 5592405,
|
|
backgroundColor: 15658734
|
|
}
|
|
],
|
|
autoOpen: this.recursively,
|
|
file: instance.type.__file || ""
|
|
};
|
|
if (depth < this.maxDepth || instance.type.__isKeepAlive || parents.some((parent) => parent.type.__isKeepAlive)) {
|
|
treeNode.children = await Promise.all(children.map((child) => this.capture(child, depth + 1)).filter(Boolean));
|
|
}
|
|
if (this.isKeepAlive(instance)) {
|
|
const cachedComponents = this.getKeepAliveCachedInstances(instance);
|
|
const childrenIds = children.map((child) => child.__VUE_DEVTOOLS_NEXT_UID__);
|
|
for (const cachedChild of cachedComponents) {
|
|
if (!childrenIds.includes(cachedChild.__VUE_DEVTOOLS_NEXT_UID__)) {
|
|
const node = await this.capture({ ...cachedChild, isDeactivated: true }, depth + 1);
|
|
if (node)
|
|
treeNode.children.push(node);
|
|
}
|
|
}
|
|
}
|
|
const rootElements = getRootElementsFromComponentInstance(instance);
|
|
const firstElement = rootElements[0];
|
|
if (firstElement == null ? void 0 : firstElement.parentElement) {
|
|
const parentInstance = instance.parent;
|
|
const parentRootElements = parentInstance ? getRootElementsFromComponentInstance(parentInstance) : [];
|
|
let el = firstElement;
|
|
const indexList = [];
|
|
do {
|
|
indexList.push(Array.from(el.parentElement.childNodes).indexOf(el));
|
|
el = el.parentElement;
|
|
} while (el.parentElement && parentRootElements.length && !parentRootElements.includes(el));
|
|
treeNode.domOrder = indexList.reverse();
|
|
} else {
|
|
treeNode.domOrder = [-1];
|
|
}
|
|
if ((_a25 = instance.suspense) == null ? void 0 : _a25.suspenseKey) {
|
|
treeNode.tags.push({
|
|
label: instance.suspense.suspenseKey,
|
|
backgroundColor: 14979812,
|
|
textColor: 16777215
|
|
});
|
|
this.mark(instance, true);
|
|
}
|
|
this.api.visitComponentTree({
|
|
treeNode,
|
|
componentInstance: instance,
|
|
app: instance.appContext.app,
|
|
filter: this.componentFilter.filter
|
|
});
|
|
return treeNode;
|
|
}
|
|
/**
|
|
* Find qualified children from a single instance.
|
|
* If the instance itself is qualified, just return itself.
|
|
* This is ok because [].concat works in both cases.
|
|
*
|
|
* @param {Vue|Vnode} instance
|
|
* @return {Vue|Array}
|
|
*/
|
|
async findQualifiedChildren(instance, depth) {
|
|
var _a25;
|
|
if (this.componentFilter.isQualified(instance) && !((_a25 = instance.type.devtools) == null ? void 0 : _a25.hide)) {
|
|
return [await this.capture(instance, depth)];
|
|
} else if (instance.subTree) {
|
|
const list = this.isKeepAlive(instance) ? this.getKeepAliveCachedInstances(instance) : this.getInternalInstanceChildren(instance.subTree);
|
|
return this.findQualifiedChildrenFromList(list, depth);
|
|
} else {
|
|
return [];
|
|
}
|
|
}
|
|
/**
|
|
* Iterate through an array of instances and flatten it into
|
|
* an array of qualified instances. This is a depth-first
|
|
* traversal - e.g. if an instance is not matched, we will
|
|
* recursively go deeper until a qualified child is found.
|
|
*
|
|
* @param {Array} instances
|
|
* @return {Array}
|
|
*/
|
|
async findQualifiedChildrenFromList(instances, depth) {
|
|
instances = instances.filter((child) => {
|
|
var _a25;
|
|
return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide);
|
|
});
|
|
if (!this.componentFilter.filter)
|
|
return Promise.all(instances.map((child) => this.capture(child, depth)));
|
|
else
|
|
return Array.prototype.concat.apply([], await Promise.all(instances.map((i) => this.findQualifiedChildren(i, depth))));
|
|
}
|
|
/**
|
|
* Get children from a component instance.
|
|
*/
|
|
getInternalInstanceChildren(subTree, suspense = null) {
|
|
const list = [];
|
|
if (subTree) {
|
|
if (subTree.component) {
|
|
!suspense ? list.push(subTree.component) : list.push({ ...subTree.component, suspense });
|
|
} else if (subTree.suspense) {
|
|
const suspenseKey = !subTree.suspense.isInFallback ? "suspense default" : "suspense fallback";
|
|
list.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, { ...subTree.suspense, suspenseKey }));
|
|
} else if (Array.isArray(subTree.children)) {
|
|
subTree.children.forEach((childSubTree) => {
|
|
if (childSubTree.component)
|
|
!suspense ? list.push(childSubTree.component) : list.push({ ...childSubTree.component, suspense });
|
|
else
|
|
list.push(...this.getInternalInstanceChildren(childSubTree, suspense));
|
|
});
|
|
}
|
|
}
|
|
return list.filter((child) => {
|
|
var _a25;
|
|
return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide);
|
|
});
|
|
}
|
|
/**
|
|
* Mark an instance as captured and store it in the instance map.
|
|
*
|
|
* @param {Vue} instance
|
|
*/
|
|
mark(instance, force = false) {
|
|
const instanceMap = getAppRecord(instance).instanceMap;
|
|
if (force || !instanceMap.has(instance.__VUE_DEVTOOLS_NEXT_UID__)) {
|
|
instanceMap.set(instance.__VUE_DEVTOOLS_NEXT_UID__, instance);
|
|
activeAppRecord.value.instanceMap = instanceMap;
|
|
}
|
|
}
|
|
isKeepAlive(instance) {
|
|
return instance.type.__isKeepAlive && instance.__v_cache;
|
|
}
|
|
getKeepAliveCachedInstances(instance) {
|
|
return Array.from(instance.__v_cache.values()).map((vnode) => vnode.component).filter(Boolean);
|
|
}
|
|
};
|
|
|
|
// src/core/timeline/index.ts
|
|
init_esm_shims();
|
|
import { isBrowser as isBrowser2 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/core/timeline/perf.ts
|
|
init_esm_shims();
|
|
var markEndQueue = /* @__PURE__ */ new Map();
|
|
var PERFORMANCE_EVENT_LAYER_ID = "performance";
|
|
async function performanceMarkStart(api, app, uid, vm, type, time) {
|
|
const appRecord = await getAppRecord(app);
|
|
if (!appRecord) {
|
|
return;
|
|
}
|
|
const componentName = getInstanceName(vm) || "Unknown Component";
|
|
const groupId = devtoolsState.perfUniqueGroupId++;
|
|
const groupKey = `${uid}-${type}`;
|
|
appRecord.perfGroupIds.set(groupKey, { groupId, time });
|
|
await api.addTimelineEvent({
|
|
layerId: PERFORMANCE_EVENT_LAYER_ID,
|
|
event: {
|
|
time: Date.now(),
|
|
data: {
|
|
component: componentName,
|
|
type,
|
|
measure: "start"
|
|
},
|
|
title: componentName,
|
|
subtitle: type,
|
|
groupId
|
|
}
|
|
});
|
|
if (markEndQueue.has(groupKey)) {
|
|
const {
|
|
app: app2,
|
|
uid: uid2,
|
|
instance,
|
|
type: type2,
|
|
time: time2
|
|
} = markEndQueue.get(groupKey);
|
|
markEndQueue.delete(groupKey);
|
|
await performanceMarkEnd(
|
|
api,
|
|
app2,
|
|
uid2,
|
|
instance,
|
|
type2,
|
|
time2
|
|
);
|
|
}
|
|
}
|
|
function performanceMarkEnd(api, app, uid, vm, type, time) {
|
|
const appRecord = getAppRecord(app);
|
|
if (!appRecord)
|
|
return;
|
|
const componentName = getInstanceName(vm) || "Unknown Component";
|
|
const groupKey = `${uid}-${type}`;
|
|
const groupInfo = appRecord.perfGroupIds.get(groupKey);
|
|
if (groupInfo) {
|
|
const groupId = groupInfo.groupId;
|
|
const startTime = groupInfo.time;
|
|
const duration = time - startTime;
|
|
api.addTimelineEvent({
|
|
layerId: PERFORMANCE_EVENT_LAYER_ID,
|
|
event: {
|
|
time: Date.now(),
|
|
data: {
|
|
component: componentName,
|
|
type,
|
|
measure: "end",
|
|
duration: {
|
|
_custom: {
|
|
type: "Duration",
|
|
value: duration,
|
|
display: `${duration} ms`
|
|
}
|
|
}
|
|
},
|
|
title: componentName,
|
|
subtitle: type,
|
|
groupId
|
|
}
|
|
});
|
|
} else {
|
|
markEndQueue.set(groupKey, { app, uid, instance: vm, type, time });
|
|
}
|
|
}
|
|
|
|
// src/core/timeline/index.ts
|
|
var COMPONENT_EVENT_LAYER_ID = "component-event";
|
|
function setupBuiltinTimelineLayers(api) {
|
|
if (!isBrowser2)
|
|
return;
|
|
api.addTimelineLayer({
|
|
id: "mouse",
|
|
label: "Mouse",
|
|
color: 10768815
|
|
});
|
|
["mousedown", "mouseup", "click", "dblclick"].forEach((eventType) => {
|
|
if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.mouseEventEnabled)
|
|
return;
|
|
window.addEventListener(eventType, async (event) => {
|
|
await api.addTimelineEvent({
|
|
layerId: "mouse",
|
|
event: {
|
|
time: Date.now(),
|
|
data: {
|
|
type: eventType,
|
|
x: event.clientX,
|
|
y: event.clientY
|
|
},
|
|
title: eventType
|
|
}
|
|
});
|
|
}, {
|
|
capture: true,
|
|
passive: true
|
|
});
|
|
});
|
|
api.addTimelineLayer({
|
|
id: "keyboard",
|
|
label: "Keyboard",
|
|
color: 8475055
|
|
});
|
|
["keyup", "keydown", "keypress"].forEach((eventType) => {
|
|
window.addEventListener(eventType, async (event) => {
|
|
if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.keyboardEventEnabled)
|
|
return;
|
|
await api.addTimelineEvent({
|
|
layerId: "keyboard",
|
|
event: {
|
|
time: Date.now(),
|
|
data: {
|
|
type: eventType,
|
|
key: event.key,
|
|
ctrlKey: event.ctrlKey,
|
|
shiftKey: event.shiftKey,
|
|
altKey: event.altKey,
|
|
metaKey: event.metaKey
|
|
},
|
|
title: event.key
|
|
}
|
|
});
|
|
}, {
|
|
capture: true,
|
|
passive: true
|
|
});
|
|
});
|
|
api.addTimelineLayer({
|
|
id: COMPONENT_EVENT_LAYER_ID,
|
|
label: "Component events",
|
|
color: 5226637
|
|
});
|
|
hook.on.componentEmit(async (app, instance, event, params) => {
|
|
if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.componentEventEnabled)
|
|
return;
|
|
const appRecord = await getAppRecord(app);
|
|
if (!appRecord)
|
|
return;
|
|
const componentId = `${appRecord.id}:${instance.uid}`;
|
|
const componentName = getInstanceName(instance) || "Unknown Component";
|
|
api.addTimelineEvent({
|
|
layerId: COMPONENT_EVENT_LAYER_ID,
|
|
event: {
|
|
time: Date.now(),
|
|
data: {
|
|
component: {
|
|
_custom: {
|
|
type: "component-definition",
|
|
display: componentName
|
|
}
|
|
},
|
|
event,
|
|
params
|
|
},
|
|
title: event,
|
|
subtitle: `by ${componentName}`,
|
|
meta: {
|
|
componentId
|
|
}
|
|
}
|
|
});
|
|
});
|
|
api.addTimelineLayer({
|
|
id: "performance",
|
|
label: PERFORMANCE_EVENT_LAYER_ID,
|
|
color: 4307050
|
|
});
|
|
hook.on.perfStart((app, uid, vm, type, time) => {
|
|
if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled)
|
|
return;
|
|
performanceMarkStart(api, app, uid, vm, type, time);
|
|
});
|
|
hook.on.perfEnd((app, uid, vm, type, time) => {
|
|
if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled)
|
|
return;
|
|
performanceMarkEnd(api, app, uid, vm, type, time);
|
|
});
|
|
}
|
|
|
|
// src/core/vm/index.ts
|
|
init_esm_shims();
|
|
var MAX_$VM = 10;
|
|
var $vmQueue = [];
|
|
function exposeInstanceToWindow(componentInstance) {
|
|
if (typeof window === "undefined")
|
|
return;
|
|
const win = window;
|
|
if (!componentInstance)
|
|
return;
|
|
win.$vm = componentInstance;
|
|
if ($vmQueue[0] !== componentInstance) {
|
|
if ($vmQueue.length >= MAX_$VM) {
|
|
$vmQueue.pop();
|
|
}
|
|
for (let i = $vmQueue.length; i > 0; i--) {
|
|
win[`$vm${i}`] = $vmQueue[i] = $vmQueue[i - 1];
|
|
}
|
|
win.$vm0 = $vmQueue[0] = componentInstance;
|
|
}
|
|
}
|
|
|
|
// src/core/plugin/components.ts
|
|
var INSPECTOR_ID = "components";
|
|
function createComponentsDevToolsPlugin(app) {
|
|
const descriptor = {
|
|
id: INSPECTOR_ID,
|
|
label: "Components",
|
|
app
|
|
};
|
|
const setupFn = (api) => {
|
|
api.addInspector({
|
|
id: INSPECTOR_ID,
|
|
label: "Components",
|
|
treeFilterPlaceholder: "Search components"
|
|
});
|
|
setupBuiltinTimelineLayers(api);
|
|
api.on.getInspectorTree(async (payload) => {
|
|
if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
|
|
const instance = getComponentInstance(activeAppRecord.value, payload.instanceId);
|
|
if (instance) {
|
|
const walker2 = new ComponentWalker({
|
|
filterText: payload.filter,
|
|
// @TODO: should make this configurable?
|
|
maxDepth: 100,
|
|
recursively: false,
|
|
api
|
|
});
|
|
payload.rootNodes = await walker2.getComponentTree(instance);
|
|
}
|
|
}
|
|
});
|
|
api.on.getInspectorState(async (payload) => {
|
|
var _a25;
|
|
if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
|
|
const result = getInstanceState({
|
|
instanceId: payload.nodeId
|
|
});
|
|
const componentInstance = result.instance;
|
|
const app2 = (_a25 = result.instance) == null ? void 0 : _a25.appContext.app;
|
|
const _payload = {
|
|
componentInstance,
|
|
app: app2,
|
|
instanceData: result
|
|
};
|
|
devtoolsContext.hooks.callHookWith((callbacks) => {
|
|
callbacks.forEach((cb) => cb(_payload));
|
|
}, "inspectComponent" /* INSPECT_COMPONENT */);
|
|
payload.state = result;
|
|
exposeInstanceToWindow(componentInstance);
|
|
}
|
|
});
|
|
api.on.editInspectorState(async (payload) => {
|
|
if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
|
|
editState(payload);
|
|
await api.sendInspectorState("components");
|
|
}
|
|
});
|
|
const debounceSendInspectorTree = debounce4(() => {
|
|
api.sendInspectorTree(INSPECTOR_ID);
|
|
}, 120);
|
|
const debounceSendInspectorState = debounce4(() => {
|
|
api.sendInspectorState(INSPECTOR_ID);
|
|
}, 120);
|
|
const componentAddedCleanup = hook.on.componentAdded(async (app2, uid, parentUid, component) => {
|
|
var _a25, _b25, _c;
|
|
if (devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
|
|
return;
|
|
if (!app2 || typeof uid !== "number" && !uid || !component)
|
|
return;
|
|
const id = await getComponentId({
|
|
app: app2,
|
|
uid,
|
|
instance: component
|
|
});
|
|
const appRecord = await getAppRecord(app2);
|
|
if (component) {
|
|
if (component.__VUE_DEVTOOLS_NEXT_UID__ == null)
|
|
component.__VUE_DEVTOOLS_NEXT_UID__ = id;
|
|
if (!(appRecord == null ? void 0 : appRecord.instanceMap.has(id))) {
|
|
appRecord == null ? void 0 : appRecord.instanceMap.set(id, component);
|
|
if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id))
|
|
activeAppRecord.value.instanceMap = appRecord.instanceMap;
|
|
}
|
|
}
|
|
if (!appRecord)
|
|
return;
|
|
debounceSendInspectorTree();
|
|
});
|
|
const componentUpdatedCleanup = hook.on.componentUpdated(async (app2, uid, parentUid, component) => {
|
|
var _a25, _b25, _c;
|
|
if (devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
|
|
return;
|
|
if (!app2 || typeof uid !== "number" && !uid || !component)
|
|
return;
|
|
const id = await getComponentId({
|
|
app: app2,
|
|
uid,
|
|
instance: component
|
|
});
|
|
const appRecord = await getAppRecord(app2);
|
|
if (component) {
|
|
if (component.__VUE_DEVTOOLS_NEXT_UID__ == null)
|
|
component.__VUE_DEVTOOLS_NEXT_UID__ = id;
|
|
if (!(appRecord == null ? void 0 : appRecord.instanceMap.has(id))) {
|
|
appRecord == null ? void 0 : appRecord.instanceMap.set(id, component);
|
|
if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id))
|
|
activeAppRecord.value.instanceMap = appRecord.instanceMap;
|
|
}
|
|
}
|
|
if (!appRecord)
|
|
return;
|
|
debounceSendInspectorTree();
|
|
debounceSendInspectorState();
|
|
});
|
|
const componentRemovedCleanup = hook.on.componentRemoved(async (app2, uid, parentUid, component) => {
|
|
var _a25, _b25, _c;
|
|
if (devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
|
|
return;
|
|
if (!app2 || typeof uid !== "number" && !uid || !component)
|
|
return;
|
|
const appRecord = await getAppRecord(app2);
|
|
if (!appRecord)
|
|
return;
|
|
const id = await getComponentId({
|
|
app: app2,
|
|
uid,
|
|
instance: component
|
|
});
|
|
appRecord == null ? void 0 : appRecord.instanceMap.delete(id);
|
|
if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id))
|
|
activeAppRecord.value.instanceMap = appRecord.instanceMap;
|
|
debounceSendInspectorTree();
|
|
});
|
|
};
|
|
return [descriptor, setupFn];
|
|
}
|
|
|
|
// src/core/plugin/index.ts
|
|
var _a12, _b12;
|
|
(_b12 = (_a12 = target8).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__) != null ? _b12 : _a12.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ = /* @__PURE__ */ new Set();
|
|
function setupDevToolsPlugin(pluginDescriptor, setupFn) {
|
|
return hook.setupDevToolsPlugin(pluginDescriptor, setupFn);
|
|
}
|
|
function callDevToolsPluginSetupFn(plugin, app) {
|
|
const [pluginDescriptor, setupFn] = plugin;
|
|
if (pluginDescriptor.app !== app)
|
|
return;
|
|
const api = new DevToolsPluginAPI({
|
|
plugin: {
|
|
setupFn,
|
|
descriptor: pluginDescriptor
|
|
},
|
|
ctx: devtoolsContext
|
|
});
|
|
if (pluginDescriptor.packageName === "vuex") {
|
|
api.on.editInspectorState((payload) => {
|
|
api.sendInspectorState(payload.inspectorId);
|
|
});
|
|
}
|
|
setupFn(api);
|
|
}
|
|
function removeRegisteredPluginApp(app) {
|
|
target8.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.delete(app);
|
|
}
|
|
function registerDevToolsPlugin(app, options) {
|
|
if (target8.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) {
|
|
return;
|
|
}
|
|
if (devtoolsState.highPerfModeEnabled && !(options == null ? void 0 : options.inspectingComponent)) {
|
|
return;
|
|
}
|
|
target8.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app);
|
|
devtoolsPluginBuffer.forEach((plugin) => {
|
|
callDevToolsPluginSetupFn(plugin, app);
|
|
});
|
|
}
|
|
|
|
// src/core/router/index.ts
|
|
init_esm_shims();
|
|
import { deepClone, target as global3 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
import { debounce as debounce5 } from "/_nuxt/node_modules/perfect-debounce/dist/index.mjs?v=e4f18c29";
|
|
|
|
// src/ctx/router.ts
|
|
init_esm_shims();
|
|
import { target as global2 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__";
|
|
var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__";
|
|
var _a13, _b13;
|
|
(_b13 = (_a13 = global2)[ROUTER_INFO_KEY]) != null ? _b13 : _a13[ROUTER_INFO_KEY] = {
|
|
currentRoute: null,
|
|
routes: []
|
|
};
|
|
var _a14, _b14;
|
|
(_b14 = (_a14 = global2)[ROUTER_KEY]) != null ? _b14 : _a14[ROUTER_KEY] = {};
|
|
var devtoolsRouterInfo = new Proxy(global2[ROUTER_INFO_KEY], {
|
|
get(target22, property) {
|
|
return global2[ROUTER_INFO_KEY][property];
|
|
}
|
|
});
|
|
var devtoolsRouter = new Proxy(global2[ROUTER_KEY], {
|
|
get(target22, property) {
|
|
if (property === "value") {
|
|
return global2[ROUTER_KEY];
|
|
}
|
|
}
|
|
});
|
|
|
|
// src/core/router/index.ts
|
|
function getRoutes(router) {
|
|
const routesMap = /* @__PURE__ */ new Map();
|
|
return ((router == null ? void 0 : router.getRoutes()) || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));
|
|
}
|
|
function filterRoutes(routes) {
|
|
return routes.map((item) => {
|
|
let { path, name, children, meta } = item;
|
|
if (children == null ? void 0 : children.length)
|
|
children = filterRoutes(children);
|
|
return {
|
|
path,
|
|
name,
|
|
children,
|
|
meta
|
|
};
|
|
});
|
|
}
|
|
function filterCurrentRoute(route) {
|
|
if (route) {
|
|
const { fullPath, hash, href, path, name, matched, params, query } = route;
|
|
return {
|
|
fullPath,
|
|
hash,
|
|
href,
|
|
path,
|
|
name,
|
|
params,
|
|
query,
|
|
matched: filterRoutes(matched)
|
|
};
|
|
}
|
|
return route;
|
|
}
|
|
function normalizeRouterInfo(appRecord, activeAppRecord2) {
|
|
function init() {
|
|
var _a25;
|
|
const router = (_a25 = appRecord.app) == null ? void 0 : _a25.config.globalProperties.$router;
|
|
const currentRoute = filterCurrentRoute(router == null ? void 0 : router.currentRoute.value);
|
|
const routes = filterRoutes(getRoutes(router));
|
|
const c = console.warn;
|
|
console.warn = () => {
|
|
};
|
|
global3[ROUTER_INFO_KEY] = {
|
|
currentRoute: currentRoute ? deepClone(currentRoute) : {},
|
|
routes: deepClone(routes)
|
|
};
|
|
global3[ROUTER_KEY] = router;
|
|
console.warn = c;
|
|
}
|
|
init();
|
|
hook.on.componentUpdated(debounce5(() => {
|
|
var _a25;
|
|
if (((_a25 = activeAppRecord2.value) == null ? void 0 : _a25.app) !== appRecord.app)
|
|
return;
|
|
init();
|
|
if (devtoolsState.highPerfModeEnabled)
|
|
return;
|
|
devtoolsContext.hooks.callHook("routerInfoUpdated" /* ROUTER_INFO_UPDATED */, { state: global3[ROUTER_INFO_KEY] });
|
|
}, 200));
|
|
}
|
|
|
|
// src/ctx/api.ts
|
|
function createDevToolsApi(hooks2) {
|
|
return {
|
|
// get inspector tree
|
|
async getInspectorTree(payload) {
|
|
const _payload = {
|
|
...payload,
|
|
app: activeAppRecord.value.app,
|
|
rootNodes: []
|
|
};
|
|
await new Promise((resolve) => {
|
|
hooks2.callHookWith(async (callbacks) => {
|
|
await Promise.all(callbacks.map((cb) => cb(_payload)));
|
|
resolve();
|
|
}, "getInspectorTree" /* GET_INSPECTOR_TREE */);
|
|
});
|
|
return _payload.rootNodes;
|
|
},
|
|
// get inspector state
|
|
async getInspectorState(payload) {
|
|
const _payload = {
|
|
...payload,
|
|
app: activeAppRecord.value.app,
|
|
state: null
|
|
};
|
|
const ctx = {
|
|
currentTab: `custom-inspector:${payload.inspectorId}`
|
|
};
|
|
await new Promise((resolve) => {
|
|
hooks2.callHookWith(async (callbacks) => {
|
|
await Promise.all(callbacks.map((cb) => cb(_payload, ctx)));
|
|
resolve();
|
|
}, "getInspectorState" /* GET_INSPECTOR_STATE */);
|
|
});
|
|
return _payload.state;
|
|
},
|
|
// edit inspector state
|
|
editInspectorState(payload) {
|
|
const stateEditor2 = new StateEditor();
|
|
const _payload = {
|
|
...payload,
|
|
app: activeAppRecord.value.app,
|
|
set: (obj, path = payload.path, value = payload.state.value, cb) => {
|
|
stateEditor2.set(obj, path, value, cb || stateEditor2.createDefaultSetCallback(payload.state));
|
|
}
|
|
};
|
|
hooks2.callHookWith((callbacks) => {
|
|
callbacks.forEach((cb) => cb(_payload));
|
|
}, "editInspectorState" /* EDIT_INSPECTOR_STATE */);
|
|
},
|
|
// send inspector state
|
|
sendInspectorState(inspectorId) {
|
|
const inspector = getInspector(inspectorId);
|
|
hooks2.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: {
|
|
descriptor: inspector.descriptor,
|
|
setupFn: () => ({})
|
|
} });
|
|
},
|
|
// inspect component inspector
|
|
inspectComponentInspector() {
|
|
return inspectComponentHighLighter();
|
|
},
|
|
// cancel inspect component inspector
|
|
cancelInspectComponentInspector() {
|
|
return cancelInspectComponentHighLighter();
|
|
},
|
|
// get component render code
|
|
getComponentRenderCode(id) {
|
|
const instance = getComponentInstance(activeAppRecord.value, id);
|
|
if (instance)
|
|
return !(typeof (instance == null ? void 0 : instance.type) === "function") ? instance.render.toString() : instance.type.toString();
|
|
},
|
|
// scroll to component
|
|
scrollToComponent(id) {
|
|
return scrollToComponent({ id });
|
|
},
|
|
// open in editor
|
|
openInEditor,
|
|
// get vue inspector
|
|
getVueInspector: getComponentInspector,
|
|
// toggle app
|
|
toggleApp(id, options) {
|
|
const appRecord = devtoolsAppRecords.value.find((record) => record.id === id);
|
|
if (appRecord) {
|
|
setActiveAppRecordId(id);
|
|
setActiveAppRecord(appRecord);
|
|
normalizeRouterInfo(appRecord, activeAppRecord);
|
|
callInspectorUpdatedHook();
|
|
registerDevToolsPlugin(appRecord.app, options);
|
|
}
|
|
},
|
|
// inspect dom
|
|
inspectDOM(instanceId) {
|
|
const instance = getComponentInstance(activeAppRecord.value, instanceId);
|
|
if (instance) {
|
|
const [el] = getRootElementsFromComponentInstance(instance);
|
|
if (el) {
|
|
target9.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el;
|
|
}
|
|
}
|
|
},
|
|
updatePluginSettings(pluginId, key, value) {
|
|
setPluginSettings(pluginId, key, value);
|
|
},
|
|
getPluginSettings(pluginId) {
|
|
return {
|
|
options: getPluginSettingsOptions(pluginId),
|
|
values: getPluginSettings(pluginId)
|
|
};
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/ctx/env.ts
|
|
init_esm_shims();
|
|
import { target as target10 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var _a15, _b15;
|
|
(_b15 = (_a15 = target10).__VUE_DEVTOOLS_ENV__) != null ? _b15 : _a15.__VUE_DEVTOOLS_ENV__ = {
|
|
vitePluginDetected: false
|
|
};
|
|
function getDevToolsEnv() {
|
|
return target10.__VUE_DEVTOOLS_ENV__;
|
|
}
|
|
function setDevToolsEnv(env) {
|
|
target10.__VUE_DEVTOOLS_ENV__ = {
|
|
...target10.__VUE_DEVTOOLS_ENV__,
|
|
...env
|
|
};
|
|
}
|
|
|
|
// src/ctx/index.ts
|
|
var hooks = createDevToolsCtxHooks();
|
|
var _a16, _b16;
|
|
(_b16 = (_a16 = target11).__VUE_DEVTOOLS_KIT_CONTEXT__) != null ? _b16 : _a16.__VUE_DEVTOOLS_KIT_CONTEXT__ = {
|
|
hooks,
|
|
get state() {
|
|
return {
|
|
...devtoolsState,
|
|
activeAppRecordId: activeAppRecord.id,
|
|
activeAppRecord: activeAppRecord.value,
|
|
appRecords: devtoolsAppRecords.value
|
|
};
|
|
},
|
|
api: createDevToolsApi(hooks)
|
|
};
|
|
var devtoolsContext = target11.__VUE_DEVTOOLS_KIT_CONTEXT__;
|
|
|
|
// src/core/app/index.ts
|
|
init_esm_shims();
|
|
var import_speakingurl = __toESM(require_speakingurl2(), 1);
|
|
import { isBrowser as isBrowser3, target as target12 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var _a17, _b17;
|
|
var appRecordInfo = (_b17 = (_a17 = target12).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__) != null ? _b17 : _a17.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ = {
|
|
id: 0,
|
|
appIds: /* @__PURE__ */ new Set()
|
|
};
|
|
function getAppRecordName(app, fallbackName) {
|
|
var _a25;
|
|
return ((_a25 = app == null ? void 0 : app._component) == null ? void 0 : _a25.name) || `App ${fallbackName}`;
|
|
}
|
|
function getAppRootInstance(app) {
|
|
var _a25, _b25, _c, _d;
|
|
if (app._instance)
|
|
return app._instance;
|
|
else if ((_b25 = (_a25 = app._container) == null ? void 0 : _a25._vnode) == null ? void 0 : _b25.component)
|
|
return (_d = (_c = app._container) == null ? void 0 : _c._vnode) == null ? void 0 : _d.component;
|
|
}
|
|
function removeAppRecordId(app) {
|
|
const id = app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__;
|
|
if (id != null) {
|
|
appRecordInfo.appIds.delete(id);
|
|
appRecordInfo.id--;
|
|
}
|
|
}
|
|
function getAppRecordId(app, defaultId) {
|
|
if (app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ != null)
|
|
return app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__;
|
|
let id = defaultId != null ? defaultId : (appRecordInfo.id++).toString();
|
|
if (defaultId && appRecordInfo.appIds.has(id)) {
|
|
let count = 1;
|
|
while (appRecordInfo.appIds.has(`${defaultId}_${count}`))
|
|
count++;
|
|
id = `${defaultId}_${count}`;
|
|
}
|
|
appRecordInfo.appIds.add(id);
|
|
app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ = id;
|
|
return id;
|
|
}
|
|
function createAppRecord(app, types) {
|
|
var _a25, _b25;
|
|
const rootInstance = getAppRootInstance(app);
|
|
if (rootInstance) {
|
|
appRecordInfo.id++;
|
|
const name = getAppRecordName(app, appRecordInfo.id.toString());
|
|
const id = getAppRecordId(app, (0, import_speakingurl.default)(name));
|
|
const [el] = getRootElementsFromComponentInstance(rootInstance);
|
|
const record = {
|
|
id,
|
|
name,
|
|
types,
|
|
instanceMap: /* @__PURE__ */ new Map(),
|
|
perfGroupIds: /* @__PURE__ */ new Map(),
|
|
rootInstance,
|
|
iframe: isBrowser3 && document !== (el == null ? void 0 : el.ownerDocument) ? (_b25 = (_a25 = el == null ? void 0 : el.ownerDocument) == null ? void 0 : _a25.location) == null ? void 0 : _b25.pathname : void 0
|
|
};
|
|
app.__VUE_DEVTOOLS_NEXT_APP_RECORD__ = record;
|
|
const rootId = `${record.id}:root`;
|
|
record.instanceMap.set(rootId, record.rootInstance);
|
|
record.rootInstance.__VUE_DEVTOOLS_NEXT_UID__ = rootId;
|
|
return record;
|
|
} else {
|
|
return {};
|
|
}
|
|
}
|
|
|
|
// src/core/iframe/index.ts
|
|
init_esm_shims();
|
|
function detectIframeApp(target22, inIframe = false) {
|
|
if (inIframe) {
|
|
let sendEventToParent2 = function(cb) {
|
|
try {
|
|
const hook3 = window.parent.__VUE_DEVTOOLS_GLOBAL_HOOK__;
|
|
if (hook3) {
|
|
cb(hook3);
|
|
}
|
|
} catch (e) {
|
|
}
|
|
};
|
|
var sendEventToParent = sendEventToParent2;
|
|
const hook2 = {
|
|
id: "vue-devtools-next",
|
|
devtoolsVersion: "7.0",
|
|
on: (event, cb) => {
|
|
sendEventToParent2((hook3) => {
|
|
hook3.on(event, cb);
|
|
});
|
|
},
|
|
once: (event, cb) => {
|
|
sendEventToParent2((hook3) => {
|
|
hook3.once(event, cb);
|
|
});
|
|
},
|
|
off: (event, cb) => {
|
|
sendEventToParent2((hook3) => {
|
|
hook3.off(event, cb);
|
|
});
|
|
},
|
|
emit: (event, ...payload) => {
|
|
sendEventToParent2((hook3) => {
|
|
hook3.emit(event, ...payload);
|
|
});
|
|
}
|
|
};
|
|
Object.defineProperty(target22, "__VUE_DEVTOOLS_GLOBAL_HOOK__", {
|
|
get() {
|
|
return hook2;
|
|
},
|
|
configurable: true
|
|
});
|
|
}
|
|
function injectVueHookToIframe(iframe) {
|
|
if (iframe.__vdevtools__injected) {
|
|
return;
|
|
}
|
|
try {
|
|
iframe.__vdevtools__injected = true;
|
|
const inject = () => {
|
|
try {
|
|
iframe.contentWindow.__VUE_DEVTOOLS_IFRAME__ = iframe;
|
|
const script = iframe.contentDocument.createElement("script");
|
|
script.textContent = `;(${detectIframeApp.toString()})(window, true)`;
|
|
iframe.contentDocument.documentElement.appendChild(script);
|
|
script.parentNode.removeChild(script);
|
|
} catch (e) {
|
|
}
|
|
};
|
|
inject();
|
|
iframe.addEventListener("load", () => inject());
|
|
} catch (e) {
|
|
}
|
|
}
|
|
function injectVueHookToIframes() {
|
|
if (typeof window === "undefined") {
|
|
return;
|
|
}
|
|
const iframes = Array.from(document.querySelectorAll("iframe:not([data-vue-devtools-ignore])"));
|
|
for (const iframe of iframes) {
|
|
injectVueHookToIframe(iframe);
|
|
}
|
|
}
|
|
injectVueHookToIframes();
|
|
let iframeAppChecks = 0;
|
|
const iframeAppCheckTimer = setInterval(() => {
|
|
injectVueHookToIframes();
|
|
iframeAppChecks++;
|
|
if (iframeAppChecks >= 5) {
|
|
clearInterval(iframeAppCheckTimer);
|
|
}
|
|
}, 1e3);
|
|
}
|
|
|
|
// src/core/index.ts
|
|
function initDevTools() {
|
|
var _a25;
|
|
detectIframeApp(target13);
|
|
updateDevToolsState({
|
|
vitePluginDetected: getDevToolsEnv().vitePluginDetected
|
|
});
|
|
const isDevToolsNext = ((_a25 = target13.__VUE_DEVTOOLS_GLOBAL_HOOK__) == null ? void 0 : _a25.id) === "vue-devtools-next";
|
|
if (target13.__VUE_DEVTOOLS_GLOBAL_HOOK__ && isDevToolsNext)
|
|
return;
|
|
const _devtoolsHook = createDevToolsHook();
|
|
if (target13.__VUE_DEVTOOLS_HOOK_REPLAY__) {
|
|
try {
|
|
target13.__VUE_DEVTOOLS_HOOK_REPLAY__.forEach((cb) => cb(_devtoolsHook));
|
|
target13.__VUE_DEVTOOLS_HOOK_REPLAY__ = [];
|
|
} catch (e) {
|
|
console.error("[vue-devtools] Error during hook replay", e);
|
|
}
|
|
}
|
|
_devtoolsHook.once("init", (Vue) => {
|
|
target13.__VUE_DEVTOOLS_VUE2_APP_DETECTED__ = true;
|
|
console.log("%c[_____Vue DevTools v7 log_____]", "color: red; font-bold: 600; font-size: 16px;");
|
|
console.log("%cVue DevTools v7 detected in your Vue2 project. v7 only supports Vue3 and will not work.", "font-bold: 500; font-size: 14px;");
|
|
const legacyChromeUrl = "https://chromewebstore.google.com/detail/vuejs-devtools/iaajmlceplecbljialhhkmedjlpdblhp";
|
|
const legacyFirefoxUrl = "https://addons.mozilla.org/firefox/addon/vue-js-devtools-v6-legacy";
|
|
console.log(`%cThe legacy version of chrome extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyChromeUrl}`, "font-size: 14px;", "text-decoration: underline; cursor: pointer;font-size: 14px;");
|
|
console.log(`%cThe legacy version of firefox extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyFirefoxUrl}`, "font-size: 14px;", "text-decoration: underline; cursor: pointer;font-size: 14px;");
|
|
console.log("%cPlease install and enable only the legacy version for your Vue2 app.", "font-bold: 500; font-size: 14px;");
|
|
console.log("%c[_____Vue DevTools v7 log_____]", "color: red; font-bold: 600; font-size: 16px;");
|
|
});
|
|
hook.on.setupDevtoolsPlugin((pluginDescriptor, setupFn) => {
|
|
var _a26;
|
|
addDevToolsPluginToBuffer(pluginDescriptor, setupFn);
|
|
const { app } = (_a26 = activeAppRecord) != null ? _a26 : {};
|
|
if (pluginDescriptor.settings) {
|
|
initPluginSettings(pluginDescriptor.id, pluginDescriptor.settings);
|
|
}
|
|
if (!app)
|
|
return;
|
|
callDevToolsPluginSetupFn([pluginDescriptor, setupFn], app);
|
|
});
|
|
onLegacyDevToolsPluginApiAvailable(() => {
|
|
const normalizedPluginBuffer = devtoolsPluginBuffer.filter(([item]) => item.id !== "components");
|
|
normalizedPluginBuffer.forEach(([pluginDescriptor, setupFn]) => {
|
|
_devtoolsHook.emit("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn, { target: "legacy" });
|
|
});
|
|
});
|
|
hook.on.vueAppInit(async (app, version, types) => {
|
|
const appRecord = createAppRecord(app, types);
|
|
const normalizedAppRecord = {
|
|
...appRecord,
|
|
app,
|
|
version
|
|
};
|
|
addDevToolsAppRecord(normalizedAppRecord);
|
|
if (devtoolsAppRecords.value.length === 1) {
|
|
setActiveAppRecord(normalizedAppRecord);
|
|
setActiveAppRecordId(normalizedAppRecord.id);
|
|
normalizeRouterInfo(normalizedAppRecord, activeAppRecord);
|
|
registerDevToolsPlugin(normalizedAppRecord.app);
|
|
}
|
|
setupDevToolsPlugin(...createComponentsDevToolsPlugin(normalizedAppRecord.app));
|
|
updateDevToolsState({
|
|
connected: true
|
|
});
|
|
_devtoolsHook.apps.push(app);
|
|
});
|
|
hook.on.vueAppUnmount(async (app) => {
|
|
const activeRecords = devtoolsAppRecords.value.filter((appRecord) => appRecord.app !== app);
|
|
if (activeRecords.length === 0) {
|
|
updateDevToolsState({
|
|
connected: false
|
|
});
|
|
}
|
|
removeDevToolsAppRecord(app);
|
|
removeAppRecordId(app);
|
|
if (activeAppRecord.value.app === app) {
|
|
setActiveAppRecord(activeRecords[0]);
|
|
devtoolsContext.hooks.callHook("sendActiveAppUpdatedToClient" /* SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT */);
|
|
}
|
|
target13.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.splice(target13.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.indexOf(app), 1);
|
|
removeRegisteredPluginApp(app);
|
|
});
|
|
subscribeDevToolsHook(_devtoolsHook);
|
|
if (!target13.__VUE_DEVTOOLS_GLOBAL_HOOK__) {
|
|
Object.defineProperty(target13, "__VUE_DEVTOOLS_GLOBAL_HOOK__", {
|
|
get() {
|
|
return _devtoolsHook;
|
|
},
|
|
configurable: true
|
|
});
|
|
} else {
|
|
if (!isNuxtApp) {
|
|
Object.assign(__VUE_DEVTOOLS_GLOBAL_HOOK__, _devtoolsHook);
|
|
}
|
|
}
|
|
}
|
|
function onDevToolsClientConnected(fn) {
|
|
return new Promise((resolve) => {
|
|
if (devtoolsState.connected && devtoolsState.clientConnected) {
|
|
fn();
|
|
resolve();
|
|
return;
|
|
}
|
|
devtoolsContext.hooks.hook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, ({ state }) => {
|
|
if (state.connected && state.clientConnected) {
|
|
fn();
|
|
resolve();
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
// src/core/high-perf-mode/index.ts
|
|
init_esm_shims();
|
|
function toggleHighPerfMode(state) {
|
|
devtoolsState.highPerfModeEnabled = state != null ? state : !devtoolsState.highPerfModeEnabled;
|
|
if (!state && activeAppRecord.value) {
|
|
registerDevToolsPlugin(activeAppRecord.value.app);
|
|
}
|
|
}
|
|
|
|
// src/core/component/state/format.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/component/state/reviver.ts
|
|
init_esm_shims();
|
|
import { target as target14 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
function reviveSet(val) {
|
|
const result = /* @__PURE__ */ new Set();
|
|
const list = val._custom.value;
|
|
for (let i = 0; i < list.length; i++) {
|
|
const value = list[i];
|
|
result.add(revive(value));
|
|
}
|
|
return result;
|
|
}
|
|
function reviveMap(val) {
|
|
const result = /* @__PURE__ */ new Map();
|
|
const list = val._custom.value;
|
|
for (let i = 0; i < list.length; i++) {
|
|
const { key, value } = list[i];
|
|
result.set(key, revive(value));
|
|
}
|
|
return result;
|
|
}
|
|
function revive(val) {
|
|
if (val === UNDEFINED) {
|
|
return void 0;
|
|
} else if (val === INFINITY) {
|
|
return Number.POSITIVE_INFINITY;
|
|
} else if (val === NEGATIVE_INFINITY) {
|
|
return Number.NEGATIVE_INFINITY;
|
|
} else if (val === NAN) {
|
|
return Number.NaN;
|
|
} else if (val && val._custom) {
|
|
const { _custom: custom } = val;
|
|
if (custom.type === "component")
|
|
return activeAppRecord.value.instanceMap.get(custom.id);
|
|
else if (custom.type === "map")
|
|
return reviveMap(val);
|
|
else if (custom.type === "set")
|
|
return reviveSet(val);
|
|
else if (custom.type === "bigint")
|
|
return BigInt(custom.value);
|
|
else
|
|
return revive(custom.value);
|
|
} else if (symbolRE.test(val)) {
|
|
const [, string] = symbolRE.exec(val);
|
|
return Symbol.for(string);
|
|
} else if (specialTypeRE.test(val)) {
|
|
const [, type, string, , details] = specialTypeRE.exec(val);
|
|
const result = new target14[type](string);
|
|
if (type === "Error" && details)
|
|
result.stack = details;
|
|
return result;
|
|
} else {
|
|
return val;
|
|
}
|
|
}
|
|
function reviver(key, value) {
|
|
return revive(value);
|
|
}
|
|
|
|
// src/core/component/state/format.ts
|
|
function getInspectorStateValueType(value, raw = true) {
|
|
const type = typeof value;
|
|
if (value == null || value === UNDEFINED || value === "undefined") {
|
|
return "null";
|
|
} else if (type === "boolean" || type === "number" || value === INFINITY || value === NEGATIVE_INFINITY || value === NAN) {
|
|
return "literal";
|
|
} else if (value == null ? void 0 : value._custom) {
|
|
if (raw || value._custom.display != null || value._custom.displayText != null)
|
|
return "custom";
|
|
else
|
|
return getInspectorStateValueType(value._custom.value);
|
|
} else if (typeof value === "string") {
|
|
const typeMatch = specialTypeRE.exec(value);
|
|
if (typeMatch) {
|
|
const [, type2] = typeMatch;
|
|
return `native ${type2}`;
|
|
} else {
|
|
return "string";
|
|
}
|
|
} else if (Array.isArray(value) || (value == null ? void 0 : value._isArray)) {
|
|
return "array";
|
|
} else if (isPlainObject(value)) {
|
|
return "plain-object";
|
|
} else {
|
|
return "unknown";
|
|
}
|
|
}
|
|
function formatInspectorStateValue(value, quotes = false, options) {
|
|
var _a25, _b25, _c;
|
|
const { customClass } = options != null ? options : {};
|
|
let result;
|
|
const type = getInspectorStateValueType(value, false);
|
|
if (type !== "custom" && (value == null ? void 0 : value._custom))
|
|
value = value._custom.value;
|
|
if (result = internalStateTokenToString(value)) {
|
|
return result;
|
|
} else if (type === "custom") {
|
|
const nestedName = ((_a25 = value._custom.value) == null ? void 0 : _a25._custom) && formatInspectorStateValue(value._custom.value, quotes, options);
|
|
return nestedName || value._custom.displayText || value._custom.display;
|
|
} else if (type === "array") {
|
|
return `Array[${value.length}]`;
|
|
} else if (type === "plain-object") {
|
|
return `Object${Object.keys(value).length ? "" : " (empty)"}`;
|
|
} else if (type == null ? void 0 : type.includes("native")) {
|
|
return escape((_b25 = specialTypeRE.exec(value)) == null ? void 0 : _b25[2]);
|
|
} else if (typeof value === "string") {
|
|
const typeMatch = value.match(rawTypeRE);
|
|
if (typeMatch) {
|
|
value = escapeString(typeMatch[1]);
|
|
} else if (quotes) {
|
|
value = `<span>"</span>${(customClass == null ? void 0 : customClass.string) ? `<span class=${customClass.string}>${escapeString(value)}</span>` : escapeString(value)}<span>"</span>`;
|
|
} else {
|
|
value = (customClass == null ? void 0 : customClass.string) ? `<span class="${(_c = customClass == null ? void 0 : customClass.string) != null ? _c : ""}">${escapeString(value)}</span>` : escapeString(value);
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
function escapeString(value) {
|
|
return escape(value).replace(/ /g, " ").replace(/\n/g, "<span>\\n</span>");
|
|
}
|
|
function getRaw(value) {
|
|
var _a25, _b25, _c;
|
|
let customType;
|
|
const isCustom = getInspectorStateValueType(value) === "custom";
|
|
let inherit = {};
|
|
if (isCustom) {
|
|
const data = value;
|
|
const customValue = (_a25 = data._custom) == null ? void 0 : _a25.value;
|
|
const currentCustomType = (_b25 = data._custom) == null ? void 0 : _b25.type;
|
|
const nestedCustom = typeof customValue === "object" && customValue !== null && "_custom" in customValue ? getRaw(customValue) : { inherit: void 0, value: void 0, customType: void 0 };
|
|
inherit = nestedCustom.inherit || ((_c = data._custom) == null ? void 0 : _c.fields) || {};
|
|
value = nestedCustom.value || customValue;
|
|
customType = nestedCustom.customType || currentCustomType;
|
|
}
|
|
if (value && value._isArray)
|
|
value = value.items;
|
|
return { value, inherit, customType };
|
|
}
|
|
function toEdit(value, customType) {
|
|
if (customType === "bigint")
|
|
return value;
|
|
if (customType === "date")
|
|
return value;
|
|
return replaceTokenToString(JSON.stringify(value));
|
|
}
|
|
function toSubmit(value, customType) {
|
|
if (customType === "bigint")
|
|
return BigInt(value);
|
|
if (customType === "date")
|
|
return new Date(value);
|
|
return JSON.parse(replaceStringToToken(value), reviver);
|
|
}
|
|
|
|
// src/core/devtools-client/detected.ts
|
|
init_esm_shims();
|
|
import { target as target15 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
function updateDevToolsClientDetected(params) {
|
|
devtoolsState.devtoolsClientDetected = {
|
|
...devtoolsState.devtoolsClientDetected,
|
|
...params
|
|
};
|
|
const devtoolsClientVisible = Object.values(devtoolsState.devtoolsClientDetected).some(Boolean);
|
|
toggleHighPerfMode(!devtoolsClientVisible);
|
|
}
|
|
var _a18, _b18;
|
|
(_b18 = (_a18 = target15).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__) != null ? _b18 : _a18.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ = updateDevToolsClientDetected;
|
|
|
|
// src/messaging/index.ts
|
|
init_esm_shims();
|
|
import { target as target21 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
import { createBirpc, createBirpcGroup } from "/_nuxt/node_modules/birpc/dist/index.mjs?v=e4f18c29";
|
|
|
|
// src/messaging/presets/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/broadcast-channel/index.ts
|
|
init_esm_shims();
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js
|
|
init_esm_shims();
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js
|
|
init_esm_shims();
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js
|
|
init_esm_shims();
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js
|
|
init_esm_shims();
|
|
var DoubleIndexedKV = class {
|
|
constructor() {
|
|
this.keyToValue = /* @__PURE__ */ new Map();
|
|
this.valueToKey = /* @__PURE__ */ new Map();
|
|
}
|
|
set(key, value) {
|
|
this.keyToValue.set(key, value);
|
|
this.valueToKey.set(value, key);
|
|
}
|
|
getByKey(key) {
|
|
return this.keyToValue.get(key);
|
|
}
|
|
getByValue(value) {
|
|
return this.valueToKey.get(value);
|
|
}
|
|
clear() {
|
|
this.keyToValue.clear();
|
|
this.valueToKey.clear();
|
|
}
|
|
};
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js
|
|
var Registry = class {
|
|
constructor(generateIdentifier) {
|
|
this.generateIdentifier = generateIdentifier;
|
|
this.kv = new DoubleIndexedKV();
|
|
}
|
|
register(value, identifier) {
|
|
if (this.kv.getByValue(value)) {
|
|
return;
|
|
}
|
|
if (!identifier) {
|
|
identifier = this.generateIdentifier(value);
|
|
}
|
|
this.kv.set(identifier, value);
|
|
}
|
|
clear() {
|
|
this.kv.clear();
|
|
}
|
|
getIdentifier(value) {
|
|
return this.kv.getByValue(value);
|
|
}
|
|
getValue(identifier) {
|
|
return this.kv.getByKey(identifier);
|
|
}
|
|
};
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js
|
|
var ClassRegistry = class extends Registry {
|
|
constructor() {
|
|
super((c) => c.name);
|
|
this.classToAllowedProps = /* @__PURE__ */ new Map();
|
|
}
|
|
register(value, options) {
|
|
if (typeof options === "object") {
|
|
if (options.allowProps) {
|
|
this.classToAllowedProps.set(value, options.allowProps);
|
|
}
|
|
super.register(value, options.identifier);
|
|
} else {
|
|
super.register(value, options);
|
|
}
|
|
}
|
|
getAllowedProps(value) {
|
|
return this.classToAllowedProps.get(value);
|
|
}
|
|
};
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js
|
|
init_esm_shims();
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js
|
|
init_esm_shims();
|
|
function valuesOfObj(record) {
|
|
if ("values" in Object) {
|
|
return Object.values(record);
|
|
}
|
|
const values = [];
|
|
for (const key in record) {
|
|
if (record.hasOwnProperty(key)) {
|
|
values.push(record[key]);
|
|
}
|
|
}
|
|
return values;
|
|
}
|
|
function find(record, predicate) {
|
|
const values = valuesOfObj(record);
|
|
if ("find" in values) {
|
|
return values.find(predicate);
|
|
}
|
|
const valuesNotNever = values;
|
|
for (let i = 0; i < valuesNotNever.length; i++) {
|
|
const value = valuesNotNever[i];
|
|
if (predicate(value)) {
|
|
return value;
|
|
}
|
|
}
|
|
return void 0;
|
|
}
|
|
function forEach(record, run) {
|
|
Object.entries(record).forEach(([key, value]) => run(value, key));
|
|
}
|
|
function includes(arr, value) {
|
|
return arr.indexOf(value) !== -1;
|
|
}
|
|
function findArr(record, predicate) {
|
|
for (let i = 0; i < record.length; i++) {
|
|
const value = record[i];
|
|
if (predicate(value)) {
|
|
return value;
|
|
}
|
|
}
|
|
return void 0;
|
|
}
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js
|
|
var CustomTransformerRegistry = class {
|
|
constructor() {
|
|
this.transfomers = {};
|
|
}
|
|
register(transformer) {
|
|
this.transfomers[transformer.name] = transformer;
|
|
}
|
|
findApplicable(v) {
|
|
return find(this.transfomers, (transformer) => transformer.isApplicable(v));
|
|
}
|
|
findByName(name) {
|
|
return this.transfomers[name];
|
|
}
|
|
};
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js
|
|
init_esm_shims();
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js
|
|
init_esm_shims();
|
|
var getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1);
|
|
var isUndefined = (payload) => typeof payload === "undefined";
|
|
var isNull = (payload) => payload === null;
|
|
var isPlainObject2 = (payload) => {
|
|
if (typeof payload !== "object" || payload === null)
|
|
return false;
|
|
if (payload === Object.prototype)
|
|
return false;
|
|
if (Object.getPrototypeOf(payload) === null)
|
|
return true;
|
|
return Object.getPrototypeOf(payload) === Object.prototype;
|
|
};
|
|
var isEmptyObject = (payload) => isPlainObject2(payload) && Object.keys(payload).length === 0;
|
|
var isArray = (payload) => Array.isArray(payload);
|
|
var isString = (payload) => typeof payload === "string";
|
|
var isNumber = (payload) => typeof payload === "number" && !isNaN(payload);
|
|
var isBoolean = (payload) => typeof payload === "boolean";
|
|
var isRegExp = (payload) => payload instanceof RegExp;
|
|
var isMap = (payload) => payload instanceof Map;
|
|
var isSet = (payload) => payload instanceof Set;
|
|
var isSymbol = (payload) => getType(payload) === "Symbol";
|
|
var isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());
|
|
var isError = (payload) => payload instanceof Error;
|
|
var isNaNValue = (payload) => typeof payload === "number" && isNaN(payload);
|
|
var isPrimitive2 = (payload) => isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);
|
|
var isBigint = (payload) => typeof payload === "bigint";
|
|
var isInfinite = (payload) => payload === Infinity || payload === -Infinity;
|
|
var isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);
|
|
var isURL = (payload) => payload instanceof URL;
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js
|
|
init_esm_shims();
|
|
var escapeKey = (key) => key.replace(/\./g, "\\.");
|
|
var stringifyPath = (path) => path.map(String).map(escapeKey).join(".");
|
|
var parsePath = (string) => {
|
|
const result = [];
|
|
let segment = "";
|
|
for (let i = 0; i < string.length; i++) {
|
|
let char = string.charAt(i);
|
|
const isEscapedDot = char === "\\" && string.charAt(i + 1) === ".";
|
|
if (isEscapedDot) {
|
|
segment += ".";
|
|
i++;
|
|
continue;
|
|
}
|
|
const isEndOfSegment = char === ".";
|
|
if (isEndOfSegment) {
|
|
result.push(segment);
|
|
segment = "";
|
|
continue;
|
|
}
|
|
segment += char;
|
|
}
|
|
const lastSegment = segment;
|
|
result.push(lastSegment);
|
|
return result;
|
|
};
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js
|
|
init_esm_shims();
|
|
function simpleTransformation(isApplicable, annotation, transform, untransform) {
|
|
return {
|
|
isApplicable,
|
|
annotation,
|
|
transform,
|
|
untransform
|
|
};
|
|
}
|
|
var simpleRules = [
|
|
simpleTransformation(isUndefined, "undefined", () => null, () => void 0),
|
|
simpleTransformation(isBigint, "bigint", (v) => v.toString(), (v) => {
|
|
if (typeof BigInt !== "undefined") {
|
|
return BigInt(v);
|
|
}
|
|
console.error("Please add a BigInt polyfill.");
|
|
return v;
|
|
}),
|
|
simpleTransformation(isDate, "Date", (v) => v.toISOString(), (v) => new Date(v)),
|
|
simpleTransformation(isError, "Error", (v, superJson) => {
|
|
const baseError = {
|
|
name: v.name,
|
|
message: v.message
|
|
};
|
|
superJson.allowedErrorProps.forEach((prop) => {
|
|
baseError[prop] = v[prop];
|
|
});
|
|
return baseError;
|
|
}, (v, superJson) => {
|
|
const e = new Error(v.message);
|
|
e.name = v.name;
|
|
e.stack = v.stack;
|
|
superJson.allowedErrorProps.forEach((prop) => {
|
|
e[prop] = v[prop];
|
|
});
|
|
return e;
|
|
}),
|
|
simpleTransformation(isRegExp, "regexp", (v) => "" + v, (regex) => {
|
|
const body = regex.slice(1, regex.lastIndexOf("/"));
|
|
const flags = regex.slice(regex.lastIndexOf("/") + 1);
|
|
return new RegExp(body, flags);
|
|
}),
|
|
simpleTransformation(
|
|
isSet,
|
|
"set",
|
|
// (sets only exist in es6+)
|
|
// eslint-disable-next-line es5/no-es6-methods
|
|
(v) => [...v.values()],
|
|
(v) => new Set(v)
|
|
),
|
|
simpleTransformation(isMap, "map", (v) => [...v.entries()], (v) => new Map(v)),
|
|
simpleTransformation((v) => isNaNValue(v) || isInfinite(v), "number", (v) => {
|
|
if (isNaNValue(v)) {
|
|
return "NaN";
|
|
}
|
|
if (v > 0) {
|
|
return "Infinity";
|
|
} else {
|
|
return "-Infinity";
|
|
}
|
|
}, Number),
|
|
simpleTransformation((v) => v === 0 && 1 / v === -Infinity, "number", () => {
|
|
return "-0";
|
|
}, Number),
|
|
simpleTransformation(isURL, "URL", (v) => v.toString(), (v) => new URL(v))
|
|
];
|
|
function compositeTransformation(isApplicable, annotation, transform, untransform) {
|
|
return {
|
|
isApplicable,
|
|
annotation,
|
|
transform,
|
|
untransform
|
|
};
|
|
}
|
|
var symbolRule = compositeTransformation((s, superJson) => {
|
|
if (isSymbol(s)) {
|
|
const isRegistered = !!superJson.symbolRegistry.getIdentifier(s);
|
|
return isRegistered;
|
|
}
|
|
return false;
|
|
}, (s, superJson) => {
|
|
const identifier = superJson.symbolRegistry.getIdentifier(s);
|
|
return ["symbol", identifier];
|
|
}, (v) => v.description, (_, a, superJson) => {
|
|
const value = superJson.symbolRegistry.getValue(a[1]);
|
|
if (!value) {
|
|
throw new Error("Trying to deserialize unknown symbol");
|
|
}
|
|
return value;
|
|
});
|
|
var constructorToName = [
|
|
Int8Array,
|
|
Uint8Array,
|
|
Int16Array,
|
|
Uint16Array,
|
|
Int32Array,
|
|
Uint32Array,
|
|
Float32Array,
|
|
Float64Array,
|
|
Uint8ClampedArray
|
|
].reduce((obj, ctor) => {
|
|
obj[ctor.name] = ctor;
|
|
return obj;
|
|
}, {});
|
|
var typedArrayRule = compositeTransformation(isTypedArray, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a) => {
|
|
const ctor = constructorToName[a[1]];
|
|
if (!ctor) {
|
|
throw new Error("Trying to deserialize unknown typed array");
|
|
}
|
|
return new ctor(v);
|
|
});
|
|
function isInstanceOfRegisteredClass(potentialClass, superJson) {
|
|
if (potentialClass == null ? void 0 : potentialClass.constructor) {
|
|
const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor);
|
|
return isRegistered;
|
|
}
|
|
return false;
|
|
}
|
|
var classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {
|
|
const identifier = superJson.classRegistry.getIdentifier(clazz.constructor);
|
|
return ["class", identifier];
|
|
}, (clazz, superJson) => {
|
|
const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);
|
|
if (!allowedProps) {
|
|
return { ...clazz };
|
|
}
|
|
const result = {};
|
|
allowedProps.forEach((prop) => {
|
|
result[prop] = clazz[prop];
|
|
});
|
|
return result;
|
|
}, (v, a, superJson) => {
|
|
const clazz = superJson.classRegistry.getValue(a[1]);
|
|
if (!clazz) {
|
|
throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);
|
|
}
|
|
return Object.assign(Object.create(clazz.prototype), v);
|
|
});
|
|
var customRule = compositeTransformation((value, superJson) => {
|
|
return !!superJson.customTransformerRegistry.findApplicable(value);
|
|
}, (value, superJson) => {
|
|
const transformer = superJson.customTransformerRegistry.findApplicable(value);
|
|
return ["custom", transformer.name];
|
|
}, (value, superJson) => {
|
|
const transformer = superJson.customTransformerRegistry.findApplicable(value);
|
|
return transformer.serialize(value);
|
|
}, (v, a, superJson) => {
|
|
const transformer = superJson.customTransformerRegistry.findByName(a[1]);
|
|
if (!transformer) {
|
|
throw new Error("Trying to deserialize unknown custom value");
|
|
}
|
|
return transformer.deserialize(v);
|
|
});
|
|
var compositeRules = [classRule, symbolRule, customRule, typedArrayRule];
|
|
var transformValue = (value, superJson) => {
|
|
const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson));
|
|
if (applicableCompositeRule) {
|
|
return {
|
|
value: applicableCompositeRule.transform(value, superJson),
|
|
type: applicableCompositeRule.annotation(value, superJson)
|
|
};
|
|
}
|
|
const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson));
|
|
if (applicableSimpleRule) {
|
|
return {
|
|
value: applicableSimpleRule.transform(value, superJson),
|
|
type: applicableSimpleRule.annotation
|
|
};
|
|
}
|
|
return void 0;
|
|
};
|
|
var simpleRulesByAnnotation = {};
|
|
simpleRules.forEach((rule) => {
|
|
simpleRulesByAnnotation[rule.annotation] = rule;
|
|
});
|
|
var untransformValue = (json, type, superJson) => {
|
|
if (isArray(type)) {
|
|
switch (type[0]) {
|
|
case "symbol":
|
|
return symbolRule.untransform(json, type, superJson);
|
|
case "class":
|
|
return classRule.untransform(json, type, superJson);
|
|
case "custom":
|
|
return customRule.untransform(json, type, superJson);
|
|
case "typed-array":
|
|
return typedArrayRule.untransform(json, type, superJson);
|
|
default:
|
|
throw new Error("Unknown transformation: " + type);
|
|
}
|
|
} else {
|
|
const transformation = simpleRulesByAnnotation[type];
|
|
if (!transformation) {
|
|
throw new Error("Unknown transformation: " + type);
|
|
}
|
|
return transformation.untransform(json, superJson);
|
|
}
|
|
};
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js
|
|
init_esm_shims();
|
|
var getNthKey = (value, n) => {
|
|
if (n > value.size)
|
|
throw new Error("index out of bounds");
|
|
const keys = value.keys();
|
|
while (n > 0) {
|
|
keys.next();
|
|
n--;
|
|
}
|
|
return keys.next().value;
|
|
};
|
|
function validatePath(path) {
|
|
if (includes(path, "__proto__")) {
|
|
throw new Error("__proto__ is not allowed as a property");
|
|
}
|
|
if (includes(path, "prototype")) {
|
|
throw new Error("prototype is not allowed as a property");
|
|
}
|
|
if (includes(path, "constructor")) {
|
|
throw new Error("constructor is not allowed as a property");
|
|
}
|
|
}
|
|
var getDeep = (object, path) => {
|
|
validatePath(path);
|
|
for (let i = 0; i < path.length; i++) {
|
|
const key = path[i];
|
|
if (isSet(object)) {
|
|
object = getNthKey(object, +key);
|
|
} else if (isMap(object)) {
|
|
const row = +key;
|
|
const type = +path[++i] === 0 ? "key" : "value";
|
|
const keyOfRow = getNthKey(object, row);
|
|
switch (type) {
|
|
case "key":
|
|
object = keyOfRow;
|
|
break;
|
|
case "value":
|
|
object = object.get(keyOfRow);
|
|
break;
|
|
}
|
|
} else {
|
|
object = object[key];
|
|
}
|
|
}
|
|
return object;
|
|
};
|
|
var setDeep = (object, path, mapper) => {
|
|
validatePath(path);
|
|
if (path.length === 0) {
|
|
return mapper(object);
|
|
}
|
|
let parent = object;
|
|
for (let i = 0; i < path.length - 1; i++) {
|
|
const key = path[i];
|
|
if (isArray(parent)) {
|
|
const index = +key;
|
|
parent = parent[index];
|
|
} else if (isPlainObject2(parent)) {
|
|
parent = parent[key];
|
|
} else if (isSet(parent)) {
|
|
const row = +key;
|
|
parent = getNthKey(parent, row);
|
|
} else if (isMap(parent)) {
|
|
const isEnd = i === path.length - 2;
|
|
if (isEnd) {
|
|
break;
|
|
}
|
|
const row = +key;
|
|
const type = +path[++i] === 0 ? "key" : "value";
|
|
const keyOfRow = getNthKey(parent, row);
|
|
switch (type) {
|
|
case "key":
|
|
parent = keyOfRow;
|
|
break;
|
|
case "value":
|
|
parent = parent.get(keyOfRow);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
const lastKey = path[path.length - 1];
|
|
if (isArray(parent)) {
|
|
parent[+lastKey] = mapper(parent[+lastKey]);
|
|
} else if (isPlainObject2(parent)) {
|
|
parent[lastKey] = mapper(parent[lastKey]);
|
|
}
|
|
if (isSet(parent)) {
|
|
const oldValue = getNthKey(parent, +lastKey);
|
|
const newValue = mapper(oldValue);
|
|
if (oldValue !== newValue) {
|
|
parent.delete(oldValue);
|
|
parent.add(newValue);
|
|
}
|
|
}
|
|
if (isMap(parent)) {
|
|
const row = +path[path.length - 2];
|
|
const keyToRow = getNthKey(parent, row);
|
|
const type = +lastKey === 0 ? "key" : "value";
|
|
switch (type) {
|
|
case "key": {
|
|
const newKey = mapper(keyToRow);
|
|
parent.set(newKey, parent.get(keyToRow));
|
|
if (newKey !== keyToRow) {
|
|
parent.delete(keyToRow);
|
|
}
|
|
break;
|
|
}
|
|
case "value": {
|
|
parent.set(keyToRow, mapper(parent.get(keyToRow)));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return object;
|
|
};
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js
|
|
function traverse(tree, walker2, origin = []) {
|
|
if (!tree) {
|
|
return;
|
|
}
|
|
if (!isArray(tree)) {
|
|
forEach(tree, (subtree, key) => traverse(subtree, walker2, [...origin, ...parsePath(key)]));
|
|
return;
|
|
}
|
|
const [nodeValue, children] = tree;
|
|
if (children) {
|
|
forEach(children, (child, key) => {
|
|
traverse(child, walker2, [...origin, ...parsePath(key)]);
|
|
});
|
|
}
|
|
walker2(nodeValue, origin);
|
|
}
|
|
function applyValueAnnotations(plain, annotations, superJson) {
|
|
traverse(annotations, (type, path) => {
|
|
plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson));
|
|
});
|
|
return plain;
|
|
}
|
|
function applyReferentialEqualityAnnotations(plain, annotations) {
|
|
function apply(identicalPaths, path) {
|
|
const object = getDeep(plain, parsePath(path));
|
|
identicalPaths.map(parsePath).forEach((identicalObjectPath) => {
|
|
plain = setDeep(plain, identicalObjectPath, () => object);
|
|
});
|
|
}
|
|
if (isArray(annotations)) {
|
|
const [root, other] = annotations;
|
|
root.forEach((identicalPath) => {
|
|
plain = setDeep(plain, parsePath(identicalPath), () => plain);
|
|
});
|
|
if (other) {
|
|
forEach(other, apply);
|
|
}
|
|
} else {
|
|
forEach(annotations, apply);
|
|
}
|
|
return plain;
|
|
}
|
|
var isDeep = (object, superJson) => isPlainObject2(object) || isArray(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);
|
|
function addIdentity(object, path, identities) {
|
|
const existingSet = identities.get(object);
|
|
if (existingSet) {
|
|
existingSet.push(path);
|
|
} else {
|
|
identities.set(object, [path]);
|
|
}
|
|
}
|
|
function generateReferentialEqualityAnnotations(identitites, dedupe) {
|
|
const result = {};
|
|
let rootEqualityPaths = void 0;
|
|
identitites.forEach((paths) => {
|
|
if (paths.length <= 1) {
|
|
return;
|
|
}
|
|
if (!dedupe) {
|
|
paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length);
|
|
}
|
|
const [representativePath, ...identicalPaths] = paths;
|
|
if (representativePath.length === 0) {
|
|
rootEqualityPaths = identicalPaths.map(stringifyPath);
|
|
} else {
|
|
result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);
|
|
}
|
|
});
|
|
if (rootEqualityPaths) {
|
|
if (isEmptyObject(result)) {
|
|
return [rootEqualityPaths];
|
|
} else {
|
|
return [rootEqualityPaths, result];
|
|
}
|
|
} else {
|
|
return isEmptyObject(result) ? void 0 : result;
|
|
}
|
|
}
|
|
var walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => {
|
|
var _a25;
|
|
const primitive = isPrimitive2(object);
|
|
if (!primitive) {
|
|
addIdentity(object, path, identities);
|
|
const seen = seenObjects.get(object);
|
|
if (seen) {
|
|
return dedupe ? {
|
|
transformedValue: null
|
|
} : seen;
|
|
}
|
|
}
|
|
if (!isDeep(object, superJson)) {
|
|
const transformed2 = transformValue(object, superJson);
|
|
const result2 = transformed2 ? {
|
|
transformedValue: transformed2.value,
|
|
annotations: [transformed2.type]
|
|
} : {
|
|
transformedValue: object
|
|
};
|
|
if (!primitive) {
|
|
seenObjects.set(object, result2);
|
|
}
|
|
return result2;
|
|
}
|
|
if (includes(objectsInThisPath, object)) {
|
|
return {
|
|
transformedValue: null
|
|
};
|
|
}
|
|
const transformationResult = transformValue(object, superJson);
|
|
const transformed = (_a25 = transformationResult == null ? void 0 : transformationResult.value) != null ? _a25 : object;
|
|
const transformedValue = isArray(transformed) ? [] : {};
|
|
const innerAnnotations = {};
|
|
forEach(transformed, (value, index) => {
|
|
if (index === "__proto__" || index === "constructor" || index === "prototype") {
|
|
throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);
|
|
}
|
|
const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);
|
|
transformedValue[index] = recursiveResult.transformedValue;
|
|
if (isArray(recursiveResult.annotations)) {
|
|
innerAnnotations[index] = recursiveResult.annotations;
|
|
} else if (isPlainObject2(recursiveResult.annotations)) {
|
|
forEach(recursiveResult.annotations, (tree, key) => {
|
|
innerAnnotations[escapeKey(index) + "." + key] = tree;
|
|
});
|
|
}
|
|
});
|
|
const result = isEmptyObject(innerAnnotations) ? {
|
|
transformedValue,
|
|
annotations: !!transformationResult ? [transformationResult.type] : void 0
|
|
} : {
|
|
transformedValue,
|
|
annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations
|
|
};
|
|
if (!primitive) {
|
|
seenObjects.set(object, result);
|
|
}
|
|
return result;
|
|
};
|
|
|
|
// ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js
|
|
init_esm_shims();
|
|
|
|
// ../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js
|
|
init_esm_shims();
|
|
function getType2(payload) {
|
|
return Object.prototype.toString.call(payload).slice(8, -1);
|
|
}
|
|
function isArray2(payload) {
|
|
return getType2(payload) === "Array";
|
|
}
|
|
function isPlainObject3(payload) {
|
|
if (getType2(payload) !== "Object")
|
|
return false;
|
|
const prototype = Object.getPrototypeOf(payload);
|
|
return !!prototype && prototype.constructor === Object && prototype === Object.prototype;
|
|
}
|
|
function isNull2(payload) {
|
|
return getType2(payload) === "Null";
|
|
}
|
|
function isOneOf(a, b, c, d, e) {
|
|
return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);
|
|
}
|
|
function isUndefined2(payload) {
|
|
return getType2(payload) === "Undefined";
|
|
}
|
|
var isNullOrUndefined = isOneOf(isNull2, isUndefined2);
|
|
|
|
// ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js
|
|
function assignProp(carry, key, newVal, originalObject, includeNonenumerable) {
|
|
const propType = {}.propertyIsEnumerable.call(originalObject, key) ? "enumerable" : "nonenumerable";
|
|
if (propType === "enumerable")
|
|
carry[key] = newVal;
|
|
if (includeNonenumerable && propType === "nonenumerable") {
|
|
Object.defineProperty(carry, key, {
|
|
value: newVal,
|
|
enumerable: false,
|
|
writable: true,
|
|
configurable: true
|
|
});
|
|
}
|
|
}
|
|
function copy(target22, options = {}) {
|
|
if (isArray2(target22)) {
|
|
return target22.map((item) => copy(item, options));
|
|
}
|
|
if (!isPlainObject3(target22)) {
|
|
return target22;
|
|
}
|
|
const props = Object.getOwnPropertyNames(target22);
|
|
const symbols = Object.getOwnPropertySymbols(target22);
|
|
return [...props, ...symbols].reduce((carry, key) => {
|
|
if (isArray2(options.props) && !options.props.includes(key)) {
|
|
return carry;
|
|
}
|
|
const val = target22[key];
|
|
const newVal = copy(val, options);
|
|
assignProp(carry, key, newVal, target22, options.nonenumerable);
|
|
return carry;
|
|
}, {});
|
|
}
|
|
|
|
// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js
|
|
var SuperJSON = class {
|
|
/**
|
|
* @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.
|
|
*/
|
|
constructor({ dedupe = false } = {}) {
|
|
this.classRegistry = new ClassRegistry();
|
|
this.symbolRegistry = new Registry((s) => {
|
|
var _a25;
|
|
return (_a25 = s.description) != null ? _a25 : "";
|
|
});
|
|
this.customTransformerRegistry = new CustomTransformerRegistry();
|
|
this.allowedErrorProps = [];
|
|
this.dedupe = dedupe;
|
|
}
|
|
serialize(object) {
|
|
const identities = /* @__PURE__ */ new Map();
|
|
const output = walker(object, identities, this, this.dedupe);
|
|
const res = {
|
|
json: output.transformedValue
|
|
};
|
|
if (output.annotations) {
|
|
res.meta = {
|
|
...res.meta,
|
|
values: output.annotations
|
|
};
|
|
}
|
|
const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);
|
|
if (equalityAnnotations) {
|
|
res.meta = {
|
|
...res.meta,
|
|
referentialEqualities: equalityAnnotations
|
|
};
|
|
}
|
|
return res;
|
|
}
|
|
deserialize(payload) {
|
|
const { json, meta } = payload;
|
|
let result = copy(json);
|
|
if (meta == null ? void 0 : meta.values) {
|
|
result = applyValueAnnotations(result, meta.values, this);
|
|
}
|
|
if (meta == null ? void 0 : meta.referentialEqualities) {
|
|
result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities);
|
|
}
|
|
return result;
|
|
}
|
|
stringify(object) {
|
|
return JSON.stringify(this.serialize(object));
|
|
}
|
|
parse(string) {
|
|
return this.deserialize(JSON.parse(string));
|
|
}
|
|
registerClass(v, options) {
|
|
this.classRegistry.register(v, options);
|
|
}
|
|
registerSymbol(v, identifier) {
|
|
this.symbolRegistry.register(v, identifier);
|
|
}
|
|
registerCustom(transformer, name) {
|
|
this.customTransformerRegistry.register({
|
|
name,
|
|
...transformer
|
|
});
|
|
}
|
|
allowErrorProps(...props) {
|
|
this.allowedErrorProps.push(...props);
|
|
}
|
|
};
|
|
SuperJSON.defaultInstance = new SuperJSON();
|
|
SuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);
|
|
SuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);
|
|
SuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);
|
|
SuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);
|
|
SuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);
|
|
SuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);
|
|
SuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);
|
|
SuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);
|
|
var serialize = SuperJSON.serialize;
|
|
var deserialize = SuperJSON.deserialize;
|
|
var stringify = SuperJSON.stringify;
|
|
var parse = SuperJSON.parse;
|
|
var registerClass = SuperJSON.registerClass;
|
|
var registerCustom = SuperJSON.registerCustom;
|
|
var registerSymbol = SuperJSON.registerSymbol;
|
|
var allowErrorProps = SuperJSON.allowErrorProps;
|
|
|
|
// src/messaging/presets/broadcast-channel/context.ts
|
|
init_esm_shims();
|
|
var __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY = "__devtools-kit-broadcast-messaging-event-key__";
|
|
|
|
// src/messaging/presets/broadcast-channel/index.ts
|
|
var BROADCAST_CHANNEL_NAME = "__devtools-kit:broadcast-channel__";
|
|
function createBroadcastChannel() {
|
|
const channel = new BroadcastChannel(BROADCAST_CHANNEL_NAME);
|
|
return {
|
|
post: (data) => {
|
|
channel.postMessage(SuperJSON.stringify({
|
|
event: __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY,
|
|
data
|
|
}));
|
|
},
|
|
on: (handler) => {
|
|
channel.onmessage = (event) => {
|
|
const parsed = SuperJSON.parse(event.data);
|
|
if (parsed.event === __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY) {
|
|
handler(parsed.data);
|
|
}
|
|
};
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/electron/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/electron/client.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/electron/context.ts
|
|
init_esm_shims();
|
|
import { target as target16 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var __ELECTRON_CLIENT_CONTEXT__ = "electron:client-context";
|
|
var __ELECTRON_RPOXY_CONTEXT__ = "electron:proxy-context";
|
|
var __ELECTRON_SERVER_CONTEXT__ = "electron:server-context";
|
|
var __DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__ = {
|
|
// client
|
|
CLIENT_TO_PROXY: "client->proxy",
|
|
// on: proxy->client
|
|
// proxy
|
|
PROXY_TO_CLIENT: "proxy->client",
|
|
// on: server->proxy
|
|
PROXY_TO_SERVER: "proxy->server",
|
|
// on: client->proxy
|
|
// server
|
|
SERVER_TO_PROXY: "server->proxy"
|
|
// on: proxy->server
|
|
};
|
|
function getElectronClientContext() {
|
|
return target16[__ELECTRON_CLIENT_CONTEXT__];
|
|
}
|
|
function setElectronClientContext(context) {
|
|
target16[__ELECTRON_CLIENT_CONTEXT__] = context;
|
|
}
|
|
function getElectronProxyContext() {
|
|
return target16[__ELECTRON_RPOXY_CONTEXT__];
|
|
}
|
|
function setElectronProxyContext(context) {
|
|
target16[__ELECTRON_RPOXY_CONTEXT__] = context;
|
|
}
|
|
function getElectronServerContext() {
|
|
return target16[__ELECTRON_SERVER_CONTEXT__];
|
|
}
|
|
function setElectronServerContext(context) {
|
|
target16[__ELECTRON_SERVER_CONTEXT__] = context;
|
|
}
|
|
|
|
// src/messaging/presets/electron/client.ts
|
|
function createElectronClientChannel() {
|
|
const socket = getElectronClientContext();
|
|
return {
|
|
post: (data) => {
|
|
socket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, SuperJSON.stringify(data));
|
|
},
|
|
on: (handler) => {
|
|
socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, (e) => {
|
|
handler(SuperJSON.parse(e));
|
|
});
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/electron/proxy.ts
|
|
init_esm_shims();
|
|
function createElectronProxyChannel() {
|
|
const socket = getElectronProxyContext();
|
|
return {
|
|
post: (data) => {
|
|
},
|
|
on: (handler) => {
|
|
socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, (data) => {
|
|
socket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, data);
|
|
});
|
|
socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, (data) => {
|
|
socket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, data);
|
|
});
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/electron/server.ts
|
|
init_esm_shims();
|
|
function createElectronServerChannel() {
|
|
const socket = getElectronServerContext();
|
|
return {
|
|
post: (data) => {
|
|
socket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, SuperJSON.stringify(data));
|
|
},
|
|
on: (handler) => {
|
|
socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, (data) => {
|
|
handler(SuperJSON.parse(data));
|
|
});
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/extension/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/extension/client.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/extension/context.ts
|
|
init_esm_shims();
|
|
import { target as target17 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var __EXTENSION_CLIENT_CONTEXT__ = "electron:client-context";
|
|
var __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__ = {
|
|
// client
|
|
CLIENT_TO_PROXY: "client->proxy",
|
|
// on: proxy->client
|
|
// proxy
|
|
PROXY_TO_CLIENT: "proxy->client",
|
|
// on: server->proxy
|
|
PROXY_TO_SERVER: "proxy->server",
|
|
// on: client->proxy
|
|
// server
|
|
SERVER_TO_PROXY: "server->proxy"
|
|
// on: proxy->server
|
|
};
|
|
function getExtensionClientContext() {
|
|
return target17[__EXTENSION_CLIENT_CONTEXT__];
|
|
}
|
|
function setExtensionClientContext(context) {
|
|
target17[__EXTENSION_CLIENT_CONTEXT__] = context;
|
|
}
|
|
|
|
// src/messaging/presets/extension/client.ts
|
|
function createExtensionClientChannel() {
|
|
let disconnected = false;
|
|
let port = null;
|
|
let reconnectTimer = null;
|
|
let onMessageHandler = null;
|
|
function connect() {
|
|
try {
|
|
clearTimeout(reconnectTimer);
|
|
port = chrome.runtime.connect({
|
|
name: `${chrome.devtools.inspectedWindow.tabId}`
|
|
});
|
|
setExtensionClientContext(port);
|
|
disconnected = false;
|
|
port == null ? void 0 : port.onMessage.addListener(onMessageHandler);
|
|
port.onDisconnect.addListener(() => {
|
|
disconnected = true;
|
|
port == null ? void 0 : port.onMessage.removeListener(onMessageHandler);
|
|
reconnectTimer = setTimeout(connect, 1e3);
|
|
});
|
|
} catch (e) {
|
|
disconnected = true;
|
|
}
|
|
}
|
|
connect();
|
|
return {
|
|
post: (data) => {
|
|
if (disconnected) {
|
|
return;
|
|
}
|
|
port == null ? void 0 : port.postMessage(SuperJSON.stringify(data));
|
|
},
|
|
on: (handler) => {
|
|
onMessageHandler = (data) => {
|
|
if (disconnected) {
|
|
return;
|
|
}
|
|
handler(SuperJSON.parse(data));
|
|
};
|
|
port == null ? void 0 : port.onMessage.addListener(onMessageHandler);
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/extension/proxy.ts
|
|
init_esm_shims();
|
|
function createExtensionProxyChannel() {
|
|
const port = chrome.runtime.connect({
|
|
name: "content-script"
|
|
});
|
|
function sendMessageToUserApp(payload) {
|
|
window.postMessage({
|
|
source: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER,
|
|
payload
|
|
}, "*");
|
|
}
|
|
function sendMessageToDevToolsClient(e) {
|
|
if (e.data && e.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY) {
|
|
try {
|
|
port.postMessage(e.data.payload);
|
|
} catch (e2) {
|
|
}
|
|
}
|
|
}
|
|
port.onMessage.addListener(sendMessageToUserApp);
|
|
window.addEventListener("message", sendMessageToDevToolsClient);
|
|
port.onDisconnect.addListener(() => {
|
|
window.removeEventListener("message", sendMessageToDevToolsClient);
|
|
sendMessageToUserApp(SuperJSON.stringify({
|
|
event: "shutdown"
|
|
}));
|
|
});
|
|
sendMessageToUserApp(SuperJSON.stringify({
|
|
event: "init"
|
|
}));
|
|
return {
|
|
post: (data) => {
|
|
},
|
|
on: (handler) => {
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/extension/server.ts
|
|
init_esm_shims();
|
|
function createExtensionServerChannel() {
|
|
return {
|
|
post: (data) => {
|
|
window.postMessage({
|
|
source: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY,
|
|
payload: SuperJSON.stringify(data)
|
|
}, "*");
|
|
},
|
|
on: (handler) => {
|
|
const listener = (event) => {
|
|
if (event.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER && event.data.payload) {
|
|
handler(SuperJSON.parse(event.data.payload));
|
|
}
|
|
};
|
|
window.addEventListener("message", listener);
|
|
return () => {
|
|
window.removeEventListener("message", listener);
|
|
};
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/iframe/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/iframe/client.ts
|
|
init_esm_shims();
|
|
import { isBrowser as isBrowser4 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/messaging/presets/iframe/context.ts
|
|
init_esm_shims();
|
|
import { target as target18 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY = "__devtools-kit-iframe-messaging-event-key__";
|
|
var __IFRAME_SERVER_CONTEXT__ = "iframe:server-context";
|
|
function getIframeServerContext() {
|
|
return target18[__IFRAME_SERVER_CONTEXT__];
|
|
}
|
|
function setIframeServerContext(context) {
|
|
target18[__IFRAME_SERVER_CONTEXT__] = context;
|
|
}
|
|
|
|
// src/messaging/presets/iframe/client.ts
|
|
function createIframeClientChannel() {
|
|
if (!isBrowser4) {
|
|
return {
|
|
post: (data) => {
|
|
},
|
|
on: (handler) => {
|
|
}
|
|
};
|
|
}
|
|
return {
|
|
post: (data) => window.parent.postMessage(SuperJSON.stringify({
|
|
event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,
|
|
data
|
|
}), "*"),
|
|
on: (handler) => window.addEventListener("message", (event) => {
|
|
try {
|
|
const parsed = SuperJSON.parse(event.data);
|
|
if (event.source === window.parent && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) {
|
|
handler(parsed.data);
|
|
}
|
|
} catch (e) {
|
|
}
|
|
})
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/iframe/server.ts
|
|
init_esm_shims();
|
|
import { isBrowser as isBrowser5 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
function createIframeServerChannel() {
|
|
if (!isBrowser5) {
|
|
return {
|
|
post: (data) => {
|
|
},
|
|
on: (handler) => {
|
|
}
|
|
};
|
|
}
|
|
return {
|
|
post: (data) => {
|
|
var _a25;
|
|
const iframe = getIframeServerContext();
|
|
(_a25 = iframe == null ? void 0 : iframe.contentWindow) == null ? void 0 : _a25.postMessage(SuperJSON.stringify({
|
|
event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,
|
|
data
|
|
}), "*");
|
|
},
|
|
on: (handler) => {
|
|
window.addEventListener("message", (event) => {
|
|
const iframe = getIframeServerContext();
|
|
try {
|
|
const parsed = SuperJSON.parse(event.data);
|
|
if (event.source === (iframe == null ? void 0 : iframe.contentWindow) && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) {
|
|
handler(parsed.data);
|
|
}
|
|
} catch (e) {
|
|
}
|
|
});
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/vite/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/vite/client.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/vite/context.ts
|
|
init_esm_shims();
|
|
import { target as target19 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
var __DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY = "__devtools-kit-vite-messaging-event-key__";
|
|
var __VITE_CLIENT_CONTEXT__ = "vite:client-context";
|
|
var __VITE_SERVER_CONTEXT__ = "vite:server-context";
|
|
function getViteClientContext() {
|
|
return target19[__VITE_CLIENT_CONTEXT__];
|
|
}
|
|
function setViteClientContext(context) {
|
|
target19[__VITE_CLIENT_CONTEXT__] = context;
|
|
}
|
|
function getViteServerContext() {
|
|
return target19[__VITE_SERVER_CONTEXT__];
|
|
}
|
|
function setViteServerContext(context) {
|
|
target19[__VITE_SERVER_CONTEXT__] = context;
|
|
}
|
|
|
|
// src/messaging/presets/vite/client.ts
|
|
function createViteClientChannel() {
|
|
const client = getViteClientContext();
|
|
return {
|
|
post: (data) => {
|
|
client == null ? void 0 : client.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data));
|
|
},
|
|
on: (handler) => {
|
|
client == null ? void 0 : client.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {
|
|
handler(SuperJSON.parse(event));
|
|
});
|
|
}
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/vite/server.ts
|
|
init_esm_shims();
|
|
function createViteServerChannel() {
|
|
var _a25;
|
|
const viteServer = getViteServerContext();
|
|
const ws = (_a25 = viteServer.hot) != null ? _a25 : viteServer.ws;
|
|
return {
|
|
post: (data) => ws == null ? void 0 : ws.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data)),
|
|
on: (handler) => ws == null ? void 0 : ws.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {
|
|
handler(SuperJSON.parse(event));
|
|
})
|
|
};
|
|
}
|
|
|
|
// src/messaging/presets/ws/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/ws/client.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/presets/ws/context.ts
|
|
init_esm_shims();
|
|
import { target as target20 } from "/_nuxt/node_modules/@vue/devtools-shared/dist/index.js?v=e4f18c29";
|
|
|
|
// src/messaging/presets/ws/server.ts
|
|
init_esm_shims();
|
|
|
|
// src/messaging/index.ts
|
|
var _a19, _b19;
|
|
(_b19 = (_a19 = target21).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__) != null ? _b19 : _a19.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ = [];
|
|
var _a20, _b20;
|
|
(_b20 = (_a20 = target21).__VUE_DEVTOOLS_KIT_RPC_CLIENT__) != null ? _b20 : _a20.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = null;
|
|
var _a21, _b21;
|
|
(_b21 = (_a21 = target21).__VUE_DEVTOOLS_KIT_RPC_SERVER__) != null ? _b21 : _a21.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = null;
|
|
var _a22, _b22;
|
|
(_b22 = (_a22 = target21).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__) != null ? _b22 : _a22.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = null;
|
|
var _a23, _b23;
|
|
(_b23 = (_a23 = target21).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__) != null ? _b23 : _a23.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = null;
|
|
var _a24, _b24;
|
|
(_b24 = (_a24 = target21).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__) != null ? _b24 : _a24.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ = null;
|
|
function setRpcClientToGlobal(rpc) {
|
|
target21.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = rpc;
|
|
}
|
|
function setRpcServerToGlobal(rpc) {
|
|
target21.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = rpc;
|
|
}
|
|
function getRpcClient() {
|
|
return target21.__VUE_DEVTOOLS_KIT_RPC_CLIENT__;
|
|
}
|
|
function getRpcServer() {
|
|
return target21.__VUE_DEVTOOLS_KIT_RPC_SERVER__;
|
|
}
|
|
function setViteRpcClientToGlobal(rpc) {
|
|
target21.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = rpc;
|
|
}
|
|
function setViteRpcServerToGlobal(rpc) {
|
|
target21.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = rpc;
|
|
}
|
|
function getViteRpcClient() {
|
|
return target21.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__;
|
|
}
|
|
function getViteRpcServer() {
|
|
return target21.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__;
|
|
}
|
|
function getChannel(preset, host = "client") {
|
|
const channel = {
|
|
iframe: {
|
|
client: createIframeClientChannel,
|
|
server: createIframeServerChannel
|
|
}[host],
|
|
electron: {
|
|
client: createElectronClientChannel,
|
|
proxy: createElectronProxyChannel,
|
|
server: createElectronServerChannel
|
|
}[host],
|
|
vite: {
|
|
client: createViteClientChannel,
|
|
server: createViteServerChannel
|
|
}[host],
|
|
broadcast: {
|
|
client: createBroadcastChannel,
|
|
server: createBroadcastChannel
|
|
}[host],
|
|
extension: {
|
|
client: createExtensionClientChannel,
|
|
proxy: createExtensionProxyChannel,
|
|
server: createExtensionServerChannel
|
|
}[host]
|
|
}[preset];
|
|
return channel();
|
|
}
|
|
function createRpcClient(functions, options = {}) {
|
|
const { channel: _channel, options: _options, preset } = options;
|
|
const channel = preset ? getChannel(preset) : _channel;
|
|
const rpc = createBirpc(functions, {
|
|
..._options,
|
|
...channel,
|
|
timeout: -1
|
|
});
|
|
if (preset === "vite") {
|
|
setViteRpcClientToGlobal(rpc);
|
|
return;
|
|
}
|
|
setRpcClientToGlobal(rpc);
|
|
return rpc;
|
|
}
|
|
function createRpcServer(functions, options = {}) {
|
|
const { channel: _channel, options: _options, preset } = options;
|
|
const channel = preset ? getChannel(preset, "server") : _channel;
|
|
const rpcServer = getRpcServer();
|
|
if (!rpcServer) {
|
|
const group = createBirpcGroup(functions, [channel], {
|
|
..._options,
|
|
timeout: -1
|
|
});
|
|
if (preset === "vite") {
|
|
setViteRpcServerToGlobal(group);
|
|
return;
|
|
}
|
|
setRpcServerToGlobal(group);
|
|
} else {
|
|
rpcServer.updateChannels((channels) => {
|
|
channels.push(channel);
|
|
});
|
|
}
|
|
}
|
|
function createRpcProxy(options = {}) {
|
|
const { channel: _channel, options: _options, preset } = options;
|
|
const channel = preset ? getChannel(preset, "proxy") : _channel;
|
|
return createBirpc({}, {
|
|
..._options,
|
|
...channel,
|
|
timeout: -1
|
|
});
|
|
}
|
|
|
|
// src/shared/index.ts
|
|
init_esm_shims();
|
|
|
|
// src/shared/env.ts
|
|
init_esm_shims();
|
|
|
|
// src/shared/time.ts
|
|
init_esm_shims();
|
|
|
|
// src/shared/util.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/component/state/replacer.ts
|
|
init_esm_shims();
|
|
|
|
// src/core/component/state/custom.ts
|
|
init_esm_shims();
|
|
function getFunctionDetails(func) {
|
|
let string = "";
|
|
let matches = null;
|
|
try {
|
|
string = Function.prototype.toString.call(func);
|
|
matches = String.prototype.match.call(string, /\([\s\S]*?\)/);
|
|
} catch (e) {
|
|
}
|
|
const match = matches && matches[0];
|
|
const args = typeof match === "string" ? match : "(?)";
|
|
const name = typeof func.name === "string" ? func.name : "";
|
|
return {
|
|
_custom: {
|
|
type: "function",
|
|
displayText: `<span style="opacity:.8;margin-right:5px;">function</span> <span style="white-space:nowrap;">${escape(name)}${args}</span>`,
|
|
tooltipText: string.trim() ? `<pre>${string}</pre>` : null
|
|
}
|
|
};
|
|
}
|
|
function getBigIntDetails(val) {
|
|
const stringifiedBigInt = BigInt.prototype.toString.call(val);
|
|
return {
|
|
_custom: {
|
|
type: "bigint",
|
|
displayText: `BigInt(${stringifiedBigInt})`,
|
|
value: stringifiedBigInt
|
|
}
|
|
};
|
|
}
|
|
function getDateDetails(val) {
|
|
const date = new Date(val.getTime());
|
|
date.setMinutes(date.getMinutes() - date.getTimezoneOffset());
|
|
return {
|
|
_custom: {
|
|
type: "date",
|
|
displayText: Date.prototype.toString.call(val),
|
|
value: date.toISOString().slice(0, -1)
|
|
}
|
|
};
|
|
}
|
|
function getMapDetails(val) {
|
|
const list = Object.fromEntries(val);
|
|
return {
|
|
_custom: {
|
|
type: "map",
|
|
displayText: "Map",
|
|
value: list,
|
|
readOnly: true,
|
|
fields: {
|
|
abstract: true
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function getSetDetails(val) {
|
|
const list = Array.from(val);
|
|
return {
|
|
_custom: {
|
|
type: "set",
|
|
displayText: `Set[${list.length}]`,
|
|
value: list,
|
|
readOnly: true
|
|
}
|
|
};
|
|
}
|
|
function getCaughtGetters(store) {
|
|
const getters = {};
|
|
const origGetters = store.getters || {};
|
|
const keys = Object.keys(origGetters);
|
|
for (let i = 0; i < keys.length; i++) {
|
|
const key = keys[i];
|
|
Object.defineProperty(getters, key, {
|
|
enumerable: true,
|
|
get: () => {
|
|
try {
|
|
return origGetters[key];
|
|
} catch (e) {
|
|
return e;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return getters;
|
|
}
|
|
function reduceStateList(list) {
|
|
if (!list.length)
|
|
return void 0;
|
|
return list.reduce((map, item) => {
|
|
const key = item.type || "data";
|
|
const obj = map[key] = map[key] || {};
|
|
obj[item.key] = item.value;
|
|
return map;
|
|
}, {});
|
|
}
|
|
function namedNodeMapToObject(map) {
|
|
const result = {};
|
|
const l = map.length;
|
|
for (let i = 0; i < l; i++) {
|
|
const node = map.item(i);
|
|
result[node.name] = node.value;
|
|
}
|
|
return result;
|
|
}
|
|
function getStoreDetails(store) {
|
|
return {
|
|
_custom: {
|
|
type: "store",
|
|
displayText: "Store",
|
|
value: {
|
|
state: store.state,
|
|
getters: getCaughtGetters(store)
|
|
},
|
|
fields: {
|
|
abstract: true
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function getRouterDetails(router) {
|
|
return {
|
|
_custom: {
|
|
type: "router",
|
|
displayText: "VueRouter",
|
|
value: {
|
|
options: router.options,
|
|
currentRoute: router.currentRoute
|
|
},
|
|
fields: {
|
|
abstract: true
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function getInstanceDetails(instance) {
|
|
if (instance._)
|
|
instance = instance._;
|
|
const state = processInstanceState(instance);
|
|
return {
|
|
_custom: {
|
|
type: "component",
|
|
id: instance.__VUE_DEVTOOLS_NEXT_UID__,
|
|
displayText: getInstanceName(instance),
|
|
tooltipText: "Component instance",
|
|
value: reduceStateList(state),
|
|
fields: {
|
|
abstract: true
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function getComponentDefinitionDetails(definition) {
|
|
let display = getComponentName(definition);
|
|
if (display) {
|
|
if (definition.name && definition.__file)
|
|
display += ` <span>(${definition.__file})</span>`;
|
|
} else {
|
|
display = "<i>Unknown Component</i>";
|
|
}
|
|
return {
|
|
_custom: {
|
|
type: "component-definition",
|
|
displayText: display,
|
|
tooltipText: "Component definition",
|
|
...definition.__file ? {
|
|
file: definition.__file
|
|
} : {}
|
|
}
|
|
};
|
|
}
|
|
function getHTMLElementDetails(value) {
|
|
try {
|
|
return {
|
|
_custom: {
|
|
type: "HTMLElement",
|
|
displayText: `<span class="opacity-30"><</span><span class="text-blue-500">${value.tagName.toLowerCase()}</span><span class="opacity-30">></span>`,
|
|
value: namedNodeMapToObject(value.attributes)
|
|
}
|
|
};
|
|
} catch (e) {
|
|
return {
|
|
_custom: {
|
|
type: "HTMLElement",
|
|
displayText: `<span class="text-blue-500">${String(value)}</span>`
|
|
}
|
|
};
|
|
}
|
|
}
|
|
function tryGetRefValue(ref) {
|
|
if (ensurePropertyExists(ref, "_value", true)) {
|
|
return ref._value;
|
|
}
|
|
if (ensurePropertyExists(ref, "value", true)) {
|
|
return ref.value;
|
|
}
|
|
}
|
|
function getObjectDetails(object) {
|
|
var _a25, _b25, _c, _d;
|
|
const info = getSetupStateType(object);
|
|
const isState = info.ref || info.computed || info.reactive;
|
|
if (isState) {
|
|
const stateTypeName = info.computed ? "Computed" : info.ref ? "Ref" : info.reactive ? "Reactive" : null;
|
|
const value = toRaw2(info.reactive ? object : tryGetRefValue(object));
|
|
const raw = ensurePropertyExists(object, "effect") ? ((_b25 = (_a25 = object.effect) == null ? void 0 : _a25.raw) == null ? void 0 : _b25.toString()) || ((_d = (_c = object.effect) == null ? void 0 : _c.fn) == null ? void 0 : _d.toString()) : null;
|
|
return {
|
|
_custom: {
|
|
type: stateTypeName == null ? void 0 : stateTypeName.toLowerCase(),
|
|
stateTypeName,
|
|
value,
|
|
...raw ? { tooltipText: `<span class="font-mono">${raw}</span>` } : {}
|
|
}
|
|
};
|
|
}
|
|
if (ensurePropertyExists(object, "__asyncLoader") && typeof object.__asyncLoader === "function") {
|
|
return {
|
|
_custom: {
|
|
type: "component-definition",
|
|
display: "Async component definition"
|
|
}
|
|
};
|
|
}
|
|
}
|
|
|
|
// src/core/component/state/replacer.ts
|
|
function stringifyReplacer(key, _value, depth, seenInstance) {
|
|
var _a25;
|
|
if (key === "compilerOptions")
|
|
return;
|
|
const val = this[key];
|
|
const type = typeof val;
|
|
if (Array.isArray(val)) {
|
|
const l = val.length;
|
|
if (l > MAX_ARRAY_SIZE) {
|
|
return {
|
|
_isArray: true,
|
|
length: l,
|
|
items: val.slice(0, MAX_ARRAY_SIZE)
|
|
};
|
|
}
|
|
return val;
|
|
} else if (typeof val === "string") {
|
|
if (val.length > MAX_STRING_SIZE)
|
|
return `${val.substring(0, MAX_STRING_SIZE)}... (${val.length} total length)`;
|
|
else
|
|
return val;
|
|
} else if (type === "undefined") {
|
|
return UNDEFINED;
|
|
} else if (val === Number.POSITIVE_INFINITY) {
|
|
return INFINITY;
|
|
} else if (val === Number.NEGATIVE_INFINITY) {
|
|
return NEGATIVE_INFINITY;
|
|
} else if (typeof val === "function") {
|
|
return getFunctionDetails(val);
|
|
} else if (type === "symbol") {
|
|
return `[native Symbol ${Symbol.prototype.toString.call(val)}]`;
|
|
} else if (typeof val === "bigint") {
|
|
return getBigIntDetails(val);
|
|
} else if (val !== null && typeof val === "object") {
|
|
const proto = Object.prototype.toString.call(val);
|
|
if (proto === "[object Map]") {
|
|
return getMapDetails(val);
|
|
} else if (proto === "[object Set]") {
|
|
return getSetDetails(val);
|
|
} else if (proto === "[object RegExp]") {
|
|
return `[native RegExp ${RegExp.prototype.toString.call(val)}]`;
|
|
} else if (proto === "[object Date]") {
|
|
return getDateDetails(val);
|
|
} else if (proto === "[object Error]") {
|
|
return `[native Error ${val.message}<>${val.stack}]`;
|
|
} else if (ensurePropertyExists(val, "state", true) && ensurePropertyExists(val, "_vm", true)) {
|
|
return getStoreDetails(val);
|
|
} else if (val.constructor && val.constructor.name === "VueRouter") {
|
|
return getRouterDetails(val);
|
|
} else if (isVueInstance(val)) {
|
|
const componentVal = getInstanceDetails(val);
|
|
const parentInstanceDepth = seenInstance == null ? void 0 : seenInstance.get(val);
|
|
if (parentInstanceDepth && parentInstanceDepth < depth) {
|
|
return `[[CircularRef]] <${componentVal._custom.displayText}>`;
|
|
}
|
|
seenInstance == null ? void 0 : seenInstance.set(val, depth);
|
|
return componentVal;
|
|
} else if (ensurePropertyExists(val, "render", true) && typeof val.render === "function") {
|
|
return getComponentDefinitionDetails(val);
|
|
} else if (val.constructor && val.constructor.name === "VNode") {
|
|
return `[native VNode <${val.tag}>]`;
|
|
} else if (typeof HTMLElement !== "undefined" && val instanceof HTMLElement) {
|
|
return getHTMLElementDetails(val);
|
|
} else if (((_a25 = val.constructor) == null ? void 0 : _a25.name) === "Store" && "_wrappedGetters" in val) {
|
|
return "[object Store]";
|
|
} else if (ensurePropertyExists(val, "currentRoute", true)) {
|
|
return "[object Router]";
|
|
}
|
|
const customDetails = getObjectDetails(val);
|
|
if (customDetails != null)
|
|
return customDetails;
|
|
} else if (Number.isNaN(val)) {
|
|
return NAN;
|
|
}
|
|
return sanitize(val);
|
|
}
|
|
|
|
// src/shared/transfer.ts
|
|
init_esm_shims();
|
|
var MAX_SERIALIZED_SIZE = 2 * 1024 * 1024;
|
|
function isObject(_data, proto) {
|
|
return proto === "[object Object]";
|
|
}
|
|
function isArray3(_data, proto) {
|
|
return proto === "[object Array]";
|
|
}
|
|
function isVueReactiveLinkNode(node) {
|
|
var _a25;
|
|
const constructorName = (_a25 = node == null ? void 0 : node.constructor) == null ? void 0 : _a25.name;
|
|
return constructorName === "Dep" && "activeLink" in node || constructorName === "Link" && "dep" in node;
|
|
}
|
|
function encode(data, replacer, list, seen, depth = 0, seenVueInstance = /* @__PURE__ */ new Map()) {
|
|
let stored;
|
|
let key;
|
|
let value;
|
|
let i;
|
|
let l;
|
|
const seenIndex = seen.get(data);
|
|
if (seenIndex != null)
|
|
return seenIndex;
|
|
const index = list.length;
|
|
const proto = Object.prototype.toString.call(data);
|
|
if (isObject(data, proto)) {
|
|
if (isVueReactiveLinkNode(data)) {
|
|
return index;
|
|
}
|
|
stored = {};
|
|
seen.set(data, index);
|
|
list.push(stored);
|
|
const keys = Object.keys(data);
|
|
for (i = 0, l = keys.length; i < l; i++) {
|
|
key = keys[i];
|
|
if (key === "compilerOptions")
|
|
return index;
|
|
value = data[key];
|
|
const isVm = value != null && isObject(value, Object.prototype.toString.call(data)) && isVueInstance(value);
|
|
try {
|
|
if (replacer) {
|
|
value = replacer.call(data, key, value, depth, seenVueInstance);
|
|
}
|
|
} catch (e) {
|
|
value = e;
|
|
}
|
|
stored[key] = encode(value, replacer, list, seen, depth + 1, seenVueInstance);
|
|
if (isVm) {
|
|
seenVueInstance.delete(value);
|
|
}
|
|
}
|
|
} else if (isArray3(data, proto)) {
|
|
stored = [];
|
|
seen.set(data, index);
|
|
list.push(stored);
|
|
for (i = 0, l = data.length; i < l; i++) {
|
|
try {
|
|
value = data[i];
|
|
if (replacer)
|
|
value = replacer.call(data, i, value, depth, seenVueInstance);
|
|
} catch (e) {
|
|
value = e;
|
|
}
|
|
stored[i] = encode(value, replacer, list, seen, depth + 1, seenVueInstance);
|
|
}
|
|
} else {
|
|
list.push(data);
|
|
}
|
|
return index;
|
|
}
|
|
function decode(list, reviver2 = null) {
|
|
let i = list.length;
|
|
let j, k, data, key, value, proto;
|
|
while (i--) {
|
|
data = list[i];
|
|
proto = Object.prototype.toString.call(data);
|
|
if (proto === "[object Object]") {
|
|
const keys = Object.keys(data);
|
|
for (j = 0, k = keys.length; j < k; j++) {
|
|
key = keys[j];
|
|
value = list[data[key]];
|
|
if (reviver2)
|
|
value = reviver2.call(data, key, value);
|
|
data[key] = value;
|
|
}
|
|
} else if (proto === "[object Array]") {
|
|
for (j = 0, k = data.length; j < k; j++) {
|
|
value = list[data[j]];
|
|
if (reviver2)
|
|
value = reviver2.call(data, j, value);
|
|
data[j] = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function stringifyCircularAutoChunks(data, replacer = null, space = null) {
|
|
let result;
|
|
try {
|
|
result = arguments.length === 1 ? JSON.stringify(data) : JSON.stringify(data, (k, v) => {
|
|
var _a25;
|
|
return (_a25 = replacer == null ? void 0 : replacer(k, v)) == null ? void 0 : _a25.call(this);
|
|
}, space);
|
|
} catch (e) {
|
|
result = stringifyStrictCircularAutoChunks(data, replacer, space);
|
|
}
|
|
if (result.length > MAX_SERIALIZED_SIZE) {
|
|
const chunkCount = Math.ceil(result.length / MAX_SERIALIZED_SIZE);
|
|
const chunks = [];
|
|
for (let i = 0; i < chunkCount; i++)
|
|
chunks.push(result.slice(i * MAX_SERIALIZED_SIZE, (i + 1) * MAX_SERIALIZED_SIZE));
|
|
return chunks;
|
|
}
|
|
return result;
|
|
}
|
|
function stringifyStrictCircularAutoChunks(data, replacer = null, space = null) {
|
|
const list = [];
|
|
encode(data, replacer, list, /* @__PURE__ */ new Map());
|
|
return space ? ` ${JSON.stringify(list, null, space)}` : ` ${JSON.stringify(list)}`;
|
|
}
|
|
function parseCircularAutoChunks(data, reviver2 = null) {
|
|
if (Array.isArray(data))
|
|
data = data.join("");
|
|
const hasCircular = /^\s/.test(data);
|
|
if (!hasCircular) {
|
|
return arguments.length === 1 ? JSON.parse(data) : JSON.parse(data, reviver2);
|
|
} else {
|
|
const list = JSON.parse(data);
|
|
decode(list, reviver2);
|
|
return list[0];
|
|
}
|
|
}
|
|
|
|
// src/shared/util.ts
|
|
function stringify2(data) {
|
|
return stringifyCircularAutoChunks(data, stringifyReplacer);
|
|
}
|
|
function parse2(data, revive2 = false) {
|
|
if (data == void 0)
|
|
return {};
|
|
return revive2 ? parseCircularAutoChunks(data, reviver) : parseCircularAutoChunks(data);
|
|
}
|
|
|
|
// src/index.ts
|
|
var devtools = {
|
|
hook,
|
|
init: () => {
|
|
initDevTools();
|
|
},
|
|
get ctx() {
|
|
return devtoolsContext;
|
|
},
|
|
get api() {
|
|
return devtoolsContext.api;
|
|
}
|
|
};
|
|
export {
|
|
DevToolsContextHookKeys,
|
|
DevToolsMessagingHookKeys,
|
|
DevToolsV6PluginAPIHookKeys,
|
|
INFINITY,
|
|
NAN,
|
|
NEGATIVE_INFINITY,
|
|
ROUTER_INFO_KEY,
|
|
ROUTER_KEY,
|
|
UNDEFINED,
|
|
activeAppRecord,
|
|
addCustomCommand,
|
|
addCustomTab,
|
|
addDevToolsAppRecord,
|
|
addDevToolsPluginToBuffer,
|
|
addInspector,
|
|
callConnectedUpdatedHook,
|
|
callDevToolsPluginSetupFn,
|
|
callInspectorUpdatedHook,
|
|
callStateUpdatedHook,
|
|
createComponentsDevToolsPlugin,
|
|
createDevToolsApi,
|
|
createDevToolsCtxHooks,
|
|
createRpcClient,
|
|
createRpcProxy,
|
|
createRpcServer,
|
|
devtools,
|
|
devtoolsAppRecords,
|
|
devtoolsContext,
|
|
devtoolsInspector,
|
|
devtoolsPluginBuffer,
|
|
devtoolsRouter,
|
|
devtoolsRouterInfo,
|
|
devtoolsState,
|
|
escape,
|
|
formatInspectorStateValue,
|
|
getActiveInspectors,
|
|
getDevToolsEnv,
|
|
getExtensionClientContext,
|
|
getInspector,
|
|
getInspectorActions,
|
|
getInspectorInfo,
|
|
getInspectorNodeActions,
|
|
getInspectorStateValueType,
|
|
getRaw,
|
|
getRpcClient,
|
|
getRpcServer,
|
|
getViteRpcClient,
|
|
getViteRpcServer,
|
|
initDevTools,
|
|
isPlainObject,
|
|
onDevToolsClientConnected,
|
|
onDevToolsConnected,
|
|
parse2 as parse,
|
|
registerDevToolsPlugin,
|
|
removeCustomCommand,
|
|
removeDevToolsAppRecord,
|
|
removeRegisteredPluginApp,
|
|
resetDevToolsState,
|
|
setActiveAppRecord,
|
|
setActiveAppRecordId,
|
|
setDevToolsEnv,
|
|
setElectronClientContext,
|
|
setElectronProxyContext,
|
|
setElectronServerContext,
|
|
setExtensionClientContext,
|
|
setIframeServerContext,
|
|
setOpenInEditorBaseUrl,
|
|
setRpcServerToGlobal,
|
|
setViteClientContext,
|
|
setViteRpcClientToGlobal,
|
|
setViteRpcServerToGlobal,
|
|
setViteServerContext,
|
|
setupDevToolsPlugin,
|
|
stringify2 as stringify,
|
|
toEdit,
|
|
toSubmit,
|
|
toggleClientConnected,
|
|
toggleComponentInspectorEnabled,
|
|
toggleHighPerfMode,
|
|
updateDevToolsClientDetected,
|
|
updateDevToolsState,
|
|
updateTimelineLayersState
|
|
};
|
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzP3Y9ZTRmMThjMjkiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fY3JlYXRlID0gT2JqZWN0LmNyZWF0ZTtcbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19nZXRPd25Qcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgX19nZXRPd25Qcm9wTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBfX2dldFByb3RvT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2VzbSA9IChmbiwgcmVzKSA9PiBmdW5jdGlvbiBfX2luaXQoKSB7XG4gIHJldHVybiBmbiAmJiAocmVzID0gKDAsIGZuW19fZ2V0T3duUHJvcE5hbWVzKGZuKVswXV0pKGZuID0gMCkpLCByZXM7XG59O1xudmFyIF9fY29tbW9uSlMgPSAoY2IsIG1vZCkgPT4gZnVuY3Rpb24gX19yZXF1aXJlKCkge1xuICByZXR1cm4gbW9kIHx8ICgwLCBjYltfX2dldE93blByb3BOYW1lcyhjYilbMF1dKSgobW9kID0geyBleHBvcnRzOiB7fSB9KS5leHBvcnRzLCBtb2QpLCBtb2QuZXhwb3J0cztcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0VTTSA9IChtb2QsIGlzTm9kZU1vZGUsIHRhcmdldDIyKSA9PiAodGFyZ2V0MjIgPSBtb2QgIT0gbnVsbCA/IF9fY3JlYXRlKF9fZ2V0UHJvdG9PZihtb2QpKSA6IHt9LCBfX2NvcHlQcm9wcyhcbiAgLy8gSWYgdGhlIGltcG9ydGVyIGlzIGluIG5vZGUgY29tcGF0aWJpbGl0eSBtb2RlIG9yIHRoaXMgaXMgbm90IGFuIEVTTVxuICAvLyBmaWxlIHRoYXQgaGFzIGJlZW4gY29udmVydGVkIHRvIGEgQ29tbW9uSlMgZmlsZSB1c2luZyBhIEJhYmVsLVxuICAvLyBjb21wYXRpYmxlIHRyYW5zZm9ybSAoaS5lLiBcIl9fZXNNb2R1bGVcIiBoYXMgbm90IGJlZW4gc2V0KSwgdGhlbiBzZXRcbiAgLy8gXCJkZWZhdWx0XCIgdG8gdGhlIENvbW1vbkpTIFwibW9kdWxlLmV4cG9ydHNcIiBmb3Igbm9kZSBjb21wYXRpYmlsaXR5LlxuICBpc05vZGVNb2RlIHx8ICFtb2QgfHwgIW1vZC5fX2VzTW9kdWxlID8gX19kZWZQcm9wKHRhcmdldDIyLCBcImRlZmF1bHRcIiwgeyB2YWx1ZTogbW9kLCBlbnVtZXJhYmxlOiB0cnVlIH0pIDogdGFyZ2V0MjIsXG4gIG1vZFxuKSk7XG5cbi8vIC4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS90c3VwQDguNC4wX0BtaWNyb3NvZnQrYXBpLWV4dHJhY3RvckA3LjUxLjFfQHR5cGVzK25vZGVAMjIuMTMuMTRfX2ppdGlAMi40LjJfcG9zdGNzc0A4LjVfOTZlYjA1YTlkNjUzNDMwMjFlNTM3OTFkZDgzZjM3NzMvbm9kZV9tb2R1bGVzL3RzdXAvYXNzZXRzL2VzbV9zaGltcy5qc1xudmFyIGluaXRfZXNtX3NoaW1zID0gX19lc20oe1xuICBcIi4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS90c3VwQDguNC4wX0BtaWNyb3NvZnQrYXBpLWV4dHJhY3RvckA3LjUxLjFfQHR5cGVzK25vZGVAMjIuMTMuMTRfX2ppdGlAMi40LjJfcG9zdGNzc0A4LjVfOTZlYjA1YTlkNjUzNDMwMjFlNTM3OTFkZDgzZjM3NzMvbm9kZV9tb2R1bGVzL3RzdXAvYXNzZXRzL2VzbV9zaGltcy5qc1wiKCkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICB9XG59KTtcblxuLy8gLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3NwZWFraW5ndXJsQDE0LjAuMS9ub2RlX21vZHVsZXMvc3BlYWtpbmd1cmwvbGliL3NwZWFraW5ndXJsLmpzXG52YXIgcmVxdWlyZV9zcGVha2luZ3VybCA9IF9fY29tbW9uSlMoe1xuICBcIi4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9zcGVha2luZ3VybEAxNC4wLjEvbm9kZV9tb2R1bGVzL3NwZWFraW5ndXJsL2xpYi9zcGVha2luZ3VybC5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIGluaXRfZXNtX3NoaW1zKCk7XG4gICAgKGZ1bmN0aW9uKHJvb3QpIHtcbiAgICAgIFwidXNlIHN0cmljdFwiO1xuICAgICAgdmFyIGNoYXJNYXAgPSB7XG4gICAgICAgIC8vIGxhdGluXG4gICAgICAgIFwiXFx4QzBcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzFcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzJcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzNcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzRcIjogXCJBZVwiLFxuICAgICAgICBcIlxceEM1XCI6IFwiQVwiLFxuICAgICAgICBcIlxceEM2XCI6IFwiQUVcIixcbiAgICAgICAgXCJcXHhDN1wiOiBcIkNcIixcbiAgICAgICAgXCJcXHhDOFwiOiBcIkVcIixcbiAgICAgICAgXCJcXHhDOVwiOiBcIkVcIixcbiAgICAgICAgXCJcXHhDQVwiOiBcIkVcIixcbiAgICAgICAgXCJcXHhDQlwiOiBcIkVcIixcbiAgICAgICAgXCJcXHhDQ1wiOiBcIklcIixcbiAgICAgICAgXCJcXHhDRFwiOiBcIklcIixcbiAgICAgICAgXCJcXHhDRVwiOiBcIklcIixcbiAgICAgICAgXCJcXHhDRlwiOiBcIklcIixcbiAgICAgICAgXCJcXHhEMFwiOiBcIkRcIixcbiAgICAgICAgXCJcXHhEMVwiOiBcIk5cIixcbiAgICAgICAgXCJcXHhEMlwiOiBcIk9cIixcbiAgICAgICAgXCJcXHhEM1wiOiBcIk9cIixcbiAgICAgICAgXCJcXHhENFwiOiBcIk9cIixcbiAgICAgICAgXCJcXHhENVwiOiBcIk9cIixcbiAgICAgICAgXCJcXHhENlwiOiBcIk9lXCIsXG4gICAgICAgIFwiXFx1MDE1MFwiOiBcIk9cIixcbiAgICAgICAgXCJcXHhEOFwiOiBcIk9cIixcbiAgICAgICAgXCJcXHhEOVwiOiBcIlVcIixcbiAgICAgICAgXCJcXHhEQVwiOiBcIlVcIixcbiAgICAgICAgXCJcXHhEQlwiOiBcIlVcIixcbiAgICAgICAgXCJcXHhEQ1wiOiBcIlVlXCIsXG4gICAgICAgIFwiXFx1MDE3MFwiOiBcIlVcIixcbiAgICAgICAgXCJcXHhERFwiOiBcIllcIixcbiAgICAgICAgXCJcXHhERVwiOiBcIlRIXCIsXG4gICAgICAgIFwiXFx4REZcIjogXCJzc1wiLFxuICAgICAgICBcIlxceEUwXCI6IFwiYVwiLFxuICAgICAgICBcIlxceEUxXCI6IFwiYVwiLFxuICAgICAgICBcIlxceEUyXCI6IFwiYVwiLFxuICAgICAgICBcIlxceEUzXCI6IFwiYVwiLFxuICAgICAgICBcIlxceEU0XCI6IFwiYWVcIixcbiAgICAgICAgXCJcXHhFNVwiOiBcImFcIixcbiAgICAgICAgXCJcXHhFNlwiOiBcImFlXCIsXG4gICAgICAgIFwiXFx4RTdcIjogXCJjXCIsXG4gICAgICAgIFwiXFx4RThcIjogXCJlXCIsXG4gICAgICAgIFwiXFx4RTlcIjogXCJlXCIsXG4gICAgICAgIFwiXFx4RUFcIjogXCJlXCIsXG4gICAgICAgIFwiXFx4RUJcIjogXCJlXCIsXG4gICAgICAgIFwiXFx4RUNcIjogXCJpXCIsXG4gICAgICAgIFwiXFx4RURcIjogXCJpXCIsXG4gICAgICAgIFwiXFx4RUVcIjogXCJpXCIsXG4gICAgICAgIFwiXFx4RUZcIjogXCJpXCIsXG4gICAgICAgIFwiXFx4RjBcIjogXCJkXCIsXG4gICAgICAgIFwiXFx4RjFcIjogXCJuXCIsXG4gICAgICAgIFwiXFx4RjJcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjNcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjRcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjVcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjZcIjogXCJvZVwiLFxuICAgICAgICBcIlxcdTAxNTFcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjhcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjlcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx4RkFcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx4RkJcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx4RkNcIjogXCJ1ZVwiLFxuICAgICAgICBcIlxcdTAxNzFcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx4RkRcIjogXCJ5XCIsXG4gICAgICAgIFwiXFx4RkVcIjogXCJ0aFwiLFxuICAgICAgICBcIlxceEZGXCI6IFwieVwiLFxuICAgICAgICBcIlxcdTFFOUVcIjogXCJTU1wiLFxuICAgICAgICAvLyBsYW5ndWFnZSBzcGVjaWZpY1xuICAgICAgICAvLyBBcmFiaWNcbiAgICAgICAgXCJcXHUwNjI3XCI6IFwiYVwiLFxuICAgICAgICBcIlxcdTA2MjNcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MDYyNVwiOiBcImlcIixcbiAgICAgICAgXCJcXHUwNjIyXCI6IFwiYWFcIixcbiAgICAgICAgXCJcXHUwNjI0XCI6IFwidVwiLFxuICAgICAgICBcIlxcdTA2MjZcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MDYyMVwiOiBcImFcIixcbiAgICAgICAgXCJcXHUwNjI4XCI6IFwiYlwiLFxuICAgICAgICBcIlxcdTA2MkFcIjogXCJ0XCIsXG4gICAgICAgIFwiXFx1MDYyQlwiOiBcInRoXCIsXG4gICAgICAgIFwiXFx1MDYyQ1wiOiBcImpcIixcbiAgICAgICAgXCJcXHUwNjJEXCI6IFwiaFwiLFxuICAgICAgICBcIlxcdTA2MkVcIjogXCJraFwiLFxuICAgICAgICBcIlxcdTA2MkZcIjogXCJkXCIsXG4gICAgICAgIFwiXFx1MDYzMFwiOiBcInRoXCIsXG4gICAgICAgIFwiXFx1MDYzMVwiOiBcInJcIixcbiAgICAgICAgXCJcXHUwNjMyXCI6IFwielwiLFxuICAgICAgICBcIlxcdTA2MzNcIjogXCJzXCIsXG4gICAgICAgIFwiXFx1MDYzNFwiOiBcInNoXCIsXG4gICAgICAgIFwiXFx1MDYzNVwiOiBcInNcIixcbiAgICAgICAgXCJcXHUwNjM2XCI6IFwiZGhcIixcbiAgICAgICAgXCJcXHUwNjM3XCI6IFwidFwiLFxuICAgICAgICBcIlxcdTA2MzhcIjogXCJ6XCIsXG4gICAgICAgIFwiXFx1MDYzOVwiOiBcImFcIixcbiAgICAgICAgXCJcXHUwNjNBXCI6IFwiZ2hcIixcbiAgICAgICAgXCJcXHUwNjQxXCI6IFwiZlwiLFxuICAgICAgICBcIlxcdTA2NDJcIjogXCJxXCIsXG4gICAgICAgIFwiXFx1MDY0M1wiOiBcImtcIixcbiAgICAgICAgXCJcXHUwNjQ0XCI6IFwibFwiLFxuICAgICAgICBcIlxcdTA2NDVcIjogXCJtXCIsXG4gICAgICAgIFwiXFx1MDY0NlwiOiBcIm5cIixcbiAgICAgICAgXCJcXHUwNjQ3XCI6IFwiaFwiLFxuICAgICAgICBcIlxcdTA2NDhcIjogXCJ3XCIsXG4gICAgICAgIFwiXFx1MDY0QVwiOiBcInlcIixcbiAgICAgICAgXCJcXHUwNjQ5XCI6IFwiYVwiLFxuICAgICAgICBcIlxcdTA2MjlcIjogXCJoXCIsXG4gICAgICAgIFwiXFx1RkVGQlwiOiBcImxhXCIsXG4gICAgICAgIFwiXFx1RkVGN1wiOiBcImxhYVwiLFxuICAgICAgICBcIlxcdUZFRjlcIjogXCJsYWlcIixcbiAgICAgICAgXCJcXHVGRUY1XCI6IFwibGFhXCIsXG4gICAgICAgIC8vIFBlcnNpYW4gYWRkaXRpb25hbCBjaGFyYWN0ZXJzIHRoYW4gQXJhYmljXG4gICAgICAgIFwiXFx1MDZBRlwiOiBcImdcIixcbiAgICAgICAgXCJcXHUwNjg2XCI6IFwiY2hcIixcbiAgICAgICAgXCJcXHUwNjdFXCI6IFwicFwiLFxuICAgICAgICBcIlxcdTA2OThcIjogXCJ6aFwiLFxuICAgICAgICBcIlxcdTA2QTlcIjogXCJrXCIsXG4gICAgICAgIFwiXFx1MDZDQ1wiOiBcInlcIixcbiAgICAgICAgLy8gQXJhYmljIGRpYWN0cmljc1xuICAgICAgICBcIlxcdTA2NEVcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MDY0QlwiOiBcImFuXCIsXG4gICAgICAgIFwiXFx1MDY1MFwiOiBcImVcIixcbiAgICAgICAgXCJcXHUwNjREXCI6IFwiZW5cIixcbiAgICAgICAgXCJcXHUwNjRGXCI6IFwidVwiLFxuICAgICAgICBcIlxcdTA2NENcIjogXCJvblwiLFxuICAgICAgICBcIlxcdTA2NTJcIjogXCJcIixcbiAgICAgICAgLy8gQXJhYmljIG51bWJlcnNcbiAgICAgICAgXCJcXHUwNjYwXCI6IFwiMFwiLFxuICAgICAgICBcIlxcdTA2NjFcIjogXCIxXCIsXG4gICAgICAgIFwiXFx1MDY2MlwiOiBcIjJcIixcbiAgICAgICAgXCJcXHUwNjYzXCI6IFwiM1wiLFxuICAgICAgICBcIlxcdTA2NjRcIjogXCI0XCIsXG4gICAgICAgIFwiXFx1MDY2NVwiOiBcIjVcIixcbiAgICAgICAgXCJcXHUwNjY2XCI6IFwiNlwiLFxuICAgICAgICBcIlxcdTA2NjdcIjogXCI3XCIsXG4gICAgICAgIFwiXFx1MDY2OFwiOiBcIjhcIixcbiAgICAgICAgXCJcXHUwNjY5XCI6IFwiOVwiLFxuICAgICAgICAvLyBQZXJzaWFuIG51bWJlcnNcbiAgICAgICAgXCJcXHUwNkYwXCI6IFwiMFwiLFxuICAgICAgICBcIlxcdTA2RjFcIjogXCIxXCIsXG4gICAgICAgIFwiXFx1MDZGMlwiOiBcIjJcIixcbiAgICAgICAgXCJcXHUwNkYzXCI6IFwiM1wiLFxuICAgICAgICBcIlxcdTA2RjRcIjogXCI0XCIsXG4gICAgICAgIFwiXFx1MDZGNVwiOiBcIjVcIixcbiAgICAgICAgXCJcXHUwNkY2XCI6IFwiNlwiLFxuICAgICAgICBcIlxcdTA2RjdcIjogXCI3XCIsXG4gICAgICAgIFwiXFx1MDZGOFwiOiBcIjhcIixcbiAgICAgICAgXCJcXHUwNkY5XCI6IFwiOVwiLFxuICAgICAgICAvLyBCdXJtZXNlIGNvbnNvbmFudHNcbiAgICAgICAgXCJcXHUxMDAwXCI6IFwia1wiLFxuICAgICAgICBcIlxcdTEwMDFcIjogXCJraFwiLFxuICAgICAgICBcIlxcdTEwMDJcIjogXCJnXCIsXG4gICAgICAgIFwiXFx1MTAwM1wiOiBcImdhXCIsXG4gICAgICAgIFwiXFx1MTAwNFwiOiBcIm5nXCIsXG4gICAgICAgIFwiXFx1MTAwNVwiOiBcInNcIixcbiAgICAgICAgXCJcXHUxMDA2XCI6IFwic2FcIixcbiAgICAgICAgXCJcXHUxMDA3XCI6IFwielwiLFxuICAgICAgICBcIlxcdTEwMDVcXHUxMDNCXCI6IFwiemFcIixcbiAgICAgICAgXCJcXHUxMDBBXCI6IFwibnlcIixcbiAgICAgICAgXCJcXHUxMDBCXCI6IFwidFwiLFxuICAgICAgICBcIlxcdTEwMENcIjogXCJ0YVwiLFxuICAgICAgICBcIlxcdTEwMERcIjogXCJkXCIsXG4gICAgICAgIFwiXFx1MTAwRVwiOiBcImRhXCIsXG4gICAgICAgIFwiXFx1MTAwRlwiOiBcIm5hXCIsXG4gICAgICAgIFwiXFx1MTAxMFwiOiBcInRcIixcbiAgICAgICAgXCJcXHUxMDExXCI6IFwidGFcIixcbiAgICAgICAgXCJcXHUxMDEyXCI6IFwiZFwiLFxuICAgICAgICBcIlxcdTEwMTNcIjogXCJkYVwiLFxuICAgICAgICBcIlxcdTEwMTRcIjogXCJuXCIsXG4gICAgICAgIFwiXFx1MTAxNVwiOiBcInBcIixcbiAgICAgICAgXCJcXHUxMDE2XCI6IFwicGFcIixcbiAgICAgICAgXCJcXHUxMDE3XCI6IFwiYlwiLFxuICAgICAgICBcIlxcdTEwMThcIjogXCJiYVwiLFxuICAgICAgICBcIlxcdTEwMTlcIjogXCJtXCIsXG4gICAgICAgIFwiXFx1MTAxQVwiOiBcInlcIixcbiAgICAgICAgXCJcXHUxMDFCXCI6IFwieWFcIixcbiAgICAgICAgXCJcXHUxMDFDXCI6IFwibFwiLFxuICAgICAgICBcIlxcdTEwMURcIjogXCJ3XCIsXG4gICAgICAgIFwiXFx1MTAxRVwiOiBcInRoXCIsXG4gICAgICAgIFwiXFx1MTAxRlwiOiBcImhcIixcbiAgICAgICAgXCJcXHUxMDIwXCI6IFwibGFcIixcbiAgICAgICAgXCJcXHUxMDIxXCI6IFwiYVwiLFxuICAgICAgICAvLyBjb25zb25hbnQgY2hhcmFjdGVyIGNvbWJvc1xuICAgICAgICBcIlxcdTEwM0NcIjogXCJ5XCIsXG4gICAgICAgIFwiXFx1MTAzQlwiOiBcInlhXCIsXG4gICAgICAgIFwiXFx1MTAzRFwiOiBcIndcIixcbiAgICAgICAgXCJcXHUxMDNDXFx1MTAzRFwiOiBcInl3XCIsXG4gICAgICAgIFwiXFx1MTAzQlxcdTEwM0RcIjogXCJ5d2FcIixcbiAgICAgICAgXCJcXHUxMDNFXCI6IFwiaFwiLFxuICAgICAgICAvLyBpbmRlcGVuZGVudCB2b3dlbHNcbiAgICAgICAgXCJcXHUxMDI3XCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTEwNEZcIjogXCItZVwiLFxuICAgICAgICBcIlxcdTEwMjNcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MTAyNFwiOiBcIi1pXCIsXG4gICAgICAgIFwiXFx1MTAwOVwiOiBcInVcIixcbiAgICAgICAgXCJcXHUxMDI2XCI6IFwiLXVcIixcbiAgICAgICAgXCJcXHUxMDI5XCI6IFwiYXdcIixcbiAgICAgICAgXCJcXHUxMDFFXFx1MTAzQ1xcdTEwMzFcXHUxMDJDXCI6IFwiYXdcIixcbiAgICAgICAgXCJcXHUxMDJBXCI6IFwiYXdcIixcbiAgICAgICAgLy8gbnVtYmVyc1xuICAgICAgICBcIlxcdTEwNDBcIjogXCIwXCIsXG4gICAgICAgIFwiXFx1MTA0MVwiOiBcIjFcIixcbiAgICAgICAgXCJcXHUxMDQyXCI6IFwiMlwiLFxuICAgICAgICBcIlxcdTEwNDNcIjogXCIzXCIsXG4gICAgICAgIFwiXFx1MTA0NFwiOiBcIjRcIixcbiAgICAgICAgXCJcXHUxMDQ1XCI6IFwiNVwiLFxuICAgICAgICBcIlxcdTEwNDZcIjogXCI2XCIsXG4gICAgICAgIFwiXFx1MTA0N1wiOiBcIjdcIixcbiAgICAgICAgXCJcXHUxMDQ4XCI6IFwiOFwiLFxuICAgICAgICBcIlxcdTEwNDlcIjogXCI5XCIsXG4gICAgICAgIC8vIHZpcmFtYSBhbmQgdG9uZSBtYXJrcyB3aGljaCBhcmUgc2lsZW50IGluIHRyYW5zbGl0ZXJhdGlvblxuICAgICAgICBcIlxcdTEwMzlcIjogXCJcIixcbiAgICAgICAgXCJcXHUxMDM3XCI6IFwiXCIsXG4gICAgICAgIFwiXFx1MTAzOFwiOiBcIlwiLFxuICAgICAgICAvLyBDemVjaFxuICAgICAgICBcIlxcdTAxMERcIjogXCJjXCIsXG4gICAgICAgIFwiXFx1MDEwRlwiOiBcImRcIixcbiAgICAgICAgXCJcXHUwMTFCXCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTAxNDhcIjogXCJuXCIsXG4gICAgICAgIFwiXFx1MDE1OVwiOiBcInJcIixcbiAgICAgICAgXCJcXHUwMTYxXCI6IFwic1wiLFxuICAgICAgICBcIlxcdTAxNjVcIjogXCJ0XCIsXG4gICAgICAgIFwiXFx1MDE2RlwiOiBcInVcIixcbiAgICAgICAgXCJcXHUwMTdFXCI6IFwielwiLFxuICAgICAgICBcIlxcdTAxMENcIjogXCJDXCIsXG4gICAgICAgIFwiXFx1MDEwRVwiOiBcIkRcIixcbiAgICAgICAgXCJcXHUwMTFBXCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTAxNDdcIjogXCJOXCIsXG4gICAgICAgIFwiXFx1MDE1OFwiOiBcIlJcIixcbiAgICAgICAgXCJcXHUwMTYwXCI6IFwiU1wiLFxuICAgICAgICBcIlxcdTAxNjRcIjogXCJUXCIsXG4gICAgICAgIFwiXFx1MDE2RVwiOiBcIlVcIixcbiAgICAgICAgXCJcXHUwMTdEXCI6IFwiWlwiLFxuICAgICAgICAvLyBEaGl2ZWhpXG4gICAgICAgIFwiXFx1MDc4MFwiOiBcImhcIixcbiAgICAgICAgXCJcXHUwNzgxXCI6IFwic2hcIixcbiAgICAgICAgXCJcXHUwNzgyXCI6IFwiblwiLFxuICAgICAgICBcIlxcdTA3ODNcIjogXCJyXCIsXG4gICAgICAgIFwiXFx1MDc4NFwiOiBcImJcIixcbiAgICAgICAgXCJcXHUwNzg1XCI6IFwibGhcIixcbiAgICAgICAgXCJcXHUwNzg2XCI6IFwia1wiLFxuICAgICAgICBcIlxcdTA3ODdcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MDc4OFwiOiBcInZcIixcbiAgICAgICAgXCJcXHUwNzg5XCI6IFwibVwiLFxuICAgICAgICBcIlxcdTA3OEFcIjogXCJmXCIsXG4gICAgICAgIFwiXFx1MDc4QlwiOiBcImRoXCIsXG4gICAgICAgIFwiXFx1MDc4Q1wiOiBcInRoXCIsXG4gICAgICAgIFwiXFx1MDc4RFwiOiBcImxcIixcbiAgICAgICAgXCJcXHUwNzhFXCI6IFwiZ1wiLFxuICAgICAgICBcIlxcdTA3OEZcIjogXCJnblwiLFxuICAgICAgICBcIlxcdTA3OTBcIjogXCJzXCIsXG4gICAgICAgIFwiXFx1MDc5MVwiOiBcImRcIixcbiAgICAgICAgXCJcXHUwNzkyXCI6IFwielwiLFxuICAgICAgICBcIlxcdTA3OTNcIjogXCJ0XCIsXG4gICAgICAgIFwiXFx1MDc5NFwiOiBcInlcIixcbiAgICAgICAgXCJcXHUwNzk1XCI6IFwicFwiLFxuICAgICAgICBcIlxcdTA3OTZcIjogXCJqXCIsXG4gICAgICAgIFwiXFx1MDc5N1wiOiBcImNoXCIsXG4gICAgICAgIFwiXFx1MDc5OFwiOiBcInR0XCIsXG4gICAgICAgIFwiXFx1MDc5OVwiOiBcImhoXCIsXG4gICAgICAgIFwiXFx1MDc5QVwiOiBcImtoXCIsXG4gICAgICAgIFwiXFx1MDc5QlwiOiBcInRoXCIsXG4gICAgICAgIFwiXFx1MDc5Q1wiOiBcInpcIixcbiAgICAgICAgXCJcXHUwNzlEXCI6IFwic2hcIixcbiAgICAgICAgXCJcXHUwNzlFXCI6IFwic1wiLFxuICAgICAgICBcIlxcdTA3OUZcIjogXCJkXCIsXG4gICAgICAgIFwiXFx1MDdBMFwiOiBcInRcIixcbiAgICAgICAgXCJcXHUwN0ExXCI6IFwielwiLFxuICAgICAgICBcIlxcdTA3QTJcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MDdBM1wiOiBcImdoXCIsXG4gICAgICAgIFwiXFx1MDdBNFwiOiBcInFcIixcbiAgICAgICAgXCJcXHUwN0E1XCI6IFwid1wiLFxuICAgICAgICBcIlxcdTA3QTZcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MDdBN1wiOiBcImFhXCIsXG4gICAgICAgIFwiXFx1MDdBOFwiOiBcImlcIixcbiAgICAgICAgXCJcXHUwN0E5XCI6IFwiZWVcIixcbiAgICAgICAgXCJcXHUwN0FBXCI6IFwidVwiLFxuICAgICAgICBcIlxcdTA3QUJcIjogXCJvb1wiLFxuICAgICAgICBcIlxcdTA3QUNcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MDdBRFwiOiBcImV5XCIsXG4gICAgICAgIFwiXFx1MDdBRVwiOiBcIm9cIixcbiAgICAgICAgXCJcXHUwN0FGXCI6IFwib2FcIixcbiAgICAgICAgXCJcXHUwN0IwXCI6IFwiXCIsXG4gICAgICAgIC8vIEdlb3JnaWFuIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1JvbWFuaXphdGlvbl9vZl9HZW9yZ2lhblxuICAgICAgICAvLyBOYXRpb25hbCBzeXN0ZW0gKDIwMDIpXG4gICAgICAgIFwiXFx1MTBEMFwiOiBcImFcIixcbiAgICAgICAgXCJcXHUxMEQxXCI6IFwiYlwiLFxuICAgICAgICBcIlxcdTEwRDJcIjogXCJnXCIsXG4gICAgICAgIFwiXFx1MTBEM1wiOiBcImRcIixcbiAgICAgICAgXCJcXHUxMEQ0XCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTEwRDVcIjogXCJ2XCIsXG4gICAgICAgIFwiXFx1MTBENlwiOiBcInpcIixcbiAgICAgICAgXCJcXHUxMEQ3XCI6IFwidFwiLFxuICAgICAgICBcIlxcdTEwRDhcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MTBEOVwiOiBcImtcIixcbiAgICAgICAgXCJcXHUxMERBXCI6IFwibFwiLFxuICAgICAgICBcIlxcdTEwREJcIjogXCJtXCIsXG4gICAgICAgIFwiXFx1MTBEQ1wiOiBcIm5cIixcbiAgICAgICAgXCJcXHUxMEREXCI6IFwib1wiLFxuICAgICAgICBcIlxcdTEwREVcIjogXCJwXCIsXG4gICAgICAgIFwiXFx1MTBERlwiOiBcInpoXCIsXG4gICAgICAgIFwiXFx1MTBFMFwiOiBcInJcIixcbiAgICAgICAgXCJcXHUxMEUxXCI6IFwic1wiLFxuICAgICAgICBcIlxcdTEwRTJcIjogXCJ0XCIsXG4gICAgICAgIFwiXFx1MTBFM1wiOiBcInVcIixcbiAgICAgICAgXCJcXHUxMEU0XCI6IFwicFwiLFxuICAgICAgICBcIlxcdTEwRTVcIjogXCJrXCIsXG4gICAgICAgIFwiXFx1MTBFNlwiOiBcImdoXCIsXG4gICAgICAgIFwiXFx1MTBFN1wiOiBcInFcIixcbiAgICAgICAgXCJcXHUxMEU4XCI6IFwic2hcIixcbiAgICAgICAgXCJcXHUxMEU5XCI6IFwiY2hcIixcbiAgICAgICAgXCJcXHUxMEVBXCI6IFwidHNcIixcbiAgICAgICAgXCJcXHUxMEVCXCI6IFwiZHpcIixcbiAgICAgICAgXCJcXHUxMEVDXCI6IFwidHNcIixcbiAgICAgICAgXCJcXHUxMEVEXCI6IFwiY2hcIixcbiAgICAgICAgXCJcXHUxMEVFXCI6IFwia2hcIixcbiAgICAgICAgXCJcXHUxMEVGXCI6IFwialwiLFxuICAgICAgICBcIlxcdTEwRjBcIjogXCJoXCIsXG4gICAgICAgIC8vIEdyZWVrXG4gICAgICAgIFwiXFx1MDNCMVwiOiBcImFcIixcbiAgICAgICAgXCJcXHUwM0IyXCI6IFwidlwiLFxuICAgICAgICBcIlxcdTAzQjNcIjogXCJnXCIsXG4gICAgICAgIFwiXFx1MDNCNFwiOiBcImRcIixcbiAgICAgICAgXCJcXHUwM0I1XCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTAzQjZcIjogXCJ6XCIsXG4gICAgICAgIFwiXFx1MDNCN1wiOiBcImlcIixcbiAgICAgICAgXCJcXHUwM0I4XCI6IFwidGhcIixcbiAgICAgICAgXCJcXHUwM0I5XCI6IFwiaVwiLFxuICAgICAgICBcIlxcdTAzQkFcIjogXCJrXCIsXG4gICAgICAgIFwiXFx1MDNCQlwiOiBcImxcIixcbiAgICAgICAgXCJcXHUwM0JDXCI6IFwibVwiLFxuICAgICAgICBcIlxcdTAzQkRcIjogXCJuXCIsXG4gICAgICAgIFwiXFx1MDNCRVwiOiBcImtzXCIsXG4gICAgICAgIFwiXFx1MDNCRlwiOiBcIm9cIixcbiAgICAgICAgXCJcXHUwM0MwXCI6IFwicFwiLFxuICAgICAgICBcIlxcdTAzQzFcIjogXCJyXCIsXG4gICAgICAgIFwiXFx1MDNDM1wiOiBcInNcIixcbiAgICAgICAgXCJcXHUwM0M0XCI6IFwidFwiLFxuICAgICAgICBcIlxcdTAzQzVcIjogXCJ5XCIsXG4gICAgICAgIFwiXFx1MDNDNlwiOiBcImZcIixcbiAgICAgICAgXCJcXHUwM0M3XCI6IFwieFwiLFxuICAgICAgICBcIlxcdTAzQzhcIjogXCJwc1wiLFxuICAgICAgICBcIlxcdTAzQzlcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MDNBQ1wiOiBcImFcIixcbiAgICAgICAgXCJcXHUwM0FEXCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTAzQUZcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDNDQ1wiOiBcIm9cIixcbiAgICAgICAgXCJcXHUwM0NEXCI6IFwieVwiLFxuICAgICAgICBcIlxcdTAzQUVcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDNDRVwiOiBcIm9cIixcbiAgICAgICAgXCJcXHUwM0MyXCI6IFwic1wiLFxuICAgICAgICBcIlxcdTAzQ0FcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDNCMFwiOiBcInlcIixcbiAgICAgICAgXCJcXHUwM0NCXCI6IFwieVwiLFxuICAgICAgICBcIlxcdTAzOTBcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDM5MVwiOiBcIkFcIixcbiAgICAgICAgXCJcXHUwMzkyXCI6IFwiQlwiLFxuICAgICAgICBcIlxcdTAzOTNcIjogXCJHXCIsXG4gICAgICAgIFwiXFx1MDM5NFwiOiBcIkRcIixcbiAgICAgICAgXCJcXHUwMzk1XCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTAzOTZcIjogXCJaXCIsXG4gICAgICAgIFwiXFx1MDM5N1wiOiBcIklcIixcbiAgICAgICAgXCJcXHUwMzk4XCI6IFwiVEhcIixcbiAgICAgICAgXCJcXHUwMzk5XCI6IFwiSVwiLFxuICAgICAgICBcIlxcdTAzOUFcIjogXCJLXCIsXG4gICAgICAgIFwiXFx1MDM5QlwiOiBcIkxcIixcbiAgICAgICAgXCJcXHUwMzlDXCI6IFwiTVwiLFxuICAgICAgICBcIlxcdTAzOURcIjogXCJOXCIsXG4gICAgICAgIFwiXFx1MDM5RVwiOiBcIktTXCIsXG4gICAgICAgIFwiXFx1MDM5RlwiOiBcIk9cIixcbiAgICAgICAgXCJcXHUwM0EwXCI6IFwiUFwiLFxuICAgICAgICBcIlxcdTAzQTFcIjogXCJSXCIsXG4gICAgICAgIFwiXFx1MDNBM1wiOiBcIlNcIixcbiAgICAgICAgXCJcXHUwM0E0XCI6IFwiVFwiLFxuICAgICAgICBcIlxcdTAzQTVcIjogXCJZXCIsXG4gICAgICAgIFwiXFx1MDNBNlwiOiBcIkZcIixcbiAgICAgICAgXCJcXHUwM0E3XCI6IFwiWFwiLFxuICAgICAgICBcIlxcdTAzQThcIjogXCJQU1wiLFxuICAgICAgICBcIlxcdTAzQTlcIjogXCJPXCIsXG4gICAgICAgIFwiXFx1MDM4NlwiOiBcIkFcIixcbiAgICAgICAgXCJcXHUwMzg4XCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTAzOEFcIjogXCJJXCIsXG4gICAgICAgIFwiXFx1MDM4Q1wiOiBcIk9cIixcbiAgICAgICAgXCJcXHUwMzhFXCI6IFwiWVwiLFxuICAgICAgICBcIlxcdTAzODlcIjogXCJJXCIsXG4gICAgICAgIFwiXFx1MDM4RlwiOiBcIk9cIixcbiAgICAgICAgXCJcXHUwM0FBXCI6IFwiSVwiLFxuICAgICAgICBcIlxcdTAzQUJcIjogXCJZXCIsXG4gICAgICAgIC8vIExhdHZpYW5cbiAgICAgICAgXCJcXHUwMTAxXCI6IFwiYVwiLFxuICAgICAgICAvLyAnxI0nOiAnYycsIC8vIGR1cGxpY2F0ZVxuICAgICAgICBcIlxcdTAxMTNcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MDEyM1wiOiBcImdcIixcbiAgICAgICAgXCJcXHUwMTJCXCI6IFwiaVwiLFxuICAgICAgICBcIlxcdTAxMzdcIjogXCJrXCIsXG4gICAgICAgIFwiXFx1MDEzQ1wiOiBcImxcIixcbiAgICAgICAgXCJcXHUwMTQ2XCI6IFwiblwiLFxuICAgICAgICAvLyAnxaEnOiAncycsIC8vIGR1cGxpY2F0ZVxuICAgICAgICBcIlxcdTAxNkJcIjogXCJ1XCIsXG4gICAgICAgIC8vICfFvic6ICd6JywgLy8gZHVwbGljYXRlXG4gICAgICAgIFwiXFx1MDEwMFwiOiBcIkFcIixcbiAgICAgICAgLy8gJ8SMJzogJ0MnLCAvLyBkdXBsaWNhdGVcbiAgICAgICAgXCJcXHUwMTEyXCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTAxMjJcIjogXCJHXCIsXG4gICAgICAgIFwiXFx1MDEyQVwiOiBcIklcIixcbiAgICAgICAgXCJcXHUwMTM2XCI6IFwia1wiLFxuICAgICAgICBcIlxcdTAxM0JcIjogXCJMXCIsXG4gICAgICAgIFwiXFx1MDE0NVwiOiBcIk5cIixcbiAgICAgICAgLy8gJ8WgJzogJ1MnLCAvLyBkdXBsaWNhdGVcbiAgICAgICAgXCJcXHUwMTZBXCI6IFwiVVwiLFxuICAgICAgICAvLyAnxb0nOiAnWicsIC8vIGR1cGxpY2F0ZVxuICAgICAgICAvLyBNYWNlZG9uaWFuXG4gICAgICAgIFwiXFx1MDQwQ1wiOiBcIktqXCIsXG4gICAgICAgIFwiXFx1MDQ1Q1wiOiBcImtqXCIsXG4gICAgICAgIFwiXFx1MDQwOVwiOiBcIkxqXCIsXG4gICAgICAgIFwiXFx1MDQ1OVwiOiBcImxqXCIsXG4gICAgICAgIFwiXFx1MDQwQVwiOiBcIk5qXCIsXG4gICAgICAgIFwiXFx1MDQ1QVwiOiBcIm5qXCIsXG4gICAgICAgIFwiXFx1MDQyMlxcdTA0NDFcIjogXCJUc1wiLFxuICAgICAgICBcIlxcdTA0NDJcXHUwNDQxXCI6IFwidHNcIixcbiAgICAgICAgLy8gUG9saXNoXG4gICAgICAgIFwiXFx1MDEwNVwiOiBcImFcIixcbiAgICAgICAgXCJcXHUwMTA3XCI6IFwiY1wiLFxuICAgICAgICBcIlxcdTAxMTlcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MDE0MlwiOiBcImxcIixcbiAgICAgICAgXCJcXHUwMTQ0XCI6IFwiblwiLFxuICAgICAgICAvLyAnw7MnOiAnbycsIC8vIGR1cGxpY2F0ZVxuICAgICAgICBcIlxcdTAxNUJcIjogXCJzXCIsXG4gICAgICAgIFwiXFx1MDE3QVwiOiBcInpcIixcbiAgICAgICAgXCJcXHUwMTdDXCI6IFwielwiLFxuICAgICAgICBcIlxcdTAxMDRcIjogXCJBXCIsXG4gICAgICAgIFwiXFx1MDEwNlwiOiBcIkNcIixcbiAgICAgICAgXCJcXHUwMTE4XCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTAxNDFcIjogXCJMXCIsXG4gICAgICAgIFwiXFx1MDE0M1wiOiBcIk5cIixcbiAgICAgICAgXCJcXHUwMTVBXCI6IFwiU1wiLFxuICAgICAgICBcIlxcdTAxNzlcIjogXCJaXCIsXG4gICAgICAgIFwiXFx1MDE3QlwiOiBcIlpcIixcbiAgICAgICAgLy8gVWtyYW5pYW5cbiAgICAgICAgXCJcXHUwNDA0XCI6IFwiWWVcIixcbiAgICAgICAgXCJcXHUwNDA2XCI6IFwiSVwiLFxuICAgICAgICBcIlxcdTA0MDdcIjogXCJZaVwiLFxuICAgICAgICBcIlxcdTA0OTBcIjogXCJHXCIsXG4gICAgICAgIFwiXFx1MDQ1NFwiOiBcInllXCIsXG4gICAgICAgIFwiXFx1MDQ1NlwiOiBcImlcIixcbiAgICAgICAgXCJcXHUwNDU3XCI6IFwieWlcIixcbiAgICAgICAgXCJcXHUwNDkxXCI6IFwiZ1wiLFxuICAgICAgICAvLyBSb21hbmlhblxuICAgICAgICBcIlxcdTAxMDNcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MDEwMlwiOiBcIkFcIixcbiAgICAgICAgXCJcXHUwMjE5XCI6IFwic1wiLFxuICAgICAgICBcIlxcdTAyMThcIjogXCJTXCIsXG4gICAgICAgIC8vICfFnyc6ICdzJywgLy8gZHVwbGljYXRlXG4gICAgICAgIC8vICfFnic6ICdTJywgLy8gZHVwbGljYXRlXG4gICAgICAgIFwiXFx1MDIxQlwiOiBcInRcIixcbiAgICAgICAgXCJcXHUwMjFBXCI6IFwiVFwiLFxuICAgICAgICBcIlxcdTAxNjNcIjogXCJ0XCIsXG4gICAgICAgIFwiXFx1MDE2MlwiOiBcIlRcIixcbiAgICAgICAgLy8gUnVzc2lhbiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Sb21hbml6YXRpb25fb2ZfUnVzc2lhblxuICAgICAgICAvLyBJQ0FPXG4gICAgICAgIFwiXFx1MDQzMFwiOiBcImFcIixcbiAgICAgICAgXCJcXHUwNDMxXCI6IFwiYlwiLFxuICAgICAgICBcIlxcdTA0MzJcIjogXCJ2XCIsXG4gICAgICAgIFwiXFx1MDQzM1wiOiBcImdcIixcbiAgICAgICAgXCJcXHUwNDM0XCI6IFwiZFwiLFxuICAgICAgICBcIlxcdTA0MzVcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MDQ1MVwiOiBcInlvXCIsXG4gICAgICAgIFwiXFx1MDQzNlwiOiBcInpoXCIsXG4gICAgICAgIFwiXFx1MDQzN1wiOiBcInpcIixcbiAgICAgICAgXCJcXHUwNDM4XCI6IFwiaVwiLFxuICAgICAgICBcIlxcdTA0MzlcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDQzQVwiOiBcImtcIixcbiAgICAgICAgXCJcXHUwNDNCXCI6IFwibFwiLFxuICAgICAgICBcIlxcdTA0M0NcIjogXCJtXCIsXG4gICAgICAgIFwiXFx1MDQzRFwiOiBcIm5cIixcbiAgICAgICAgXCJcXHUwNDNFXCI6IFwib1wiLFxuICAgICAgICBcIlxcdTA0M0ZcIjogXCJwXCIsXG4gICAgICAgIFwiXFx1MDQ0MFwiOiBcInJcIixcbiAgICAgICAgXCJcXHUwNDQxXCI6IFwic1wiLFxuICAgICAgICBcIlxcdTA0NDJcIjogXCJ0XCIsXG4gICAgICAgIFwiXFx1MDQ0M1wiOiBcInVcIixcbiAgICAgICAgXCJcXHUwNDQ0XCI6IFwiZlwiLFxuICAgICAgICBcIlxcdTA0NDVcIjogXCJraFwiLFxuICAgICAgICBcIlxcdTA0NDZcIjogXCJjXCIsXG4gICAgICAgIFwiXFx1MDQ0N1wiOiBcImNoXCIsXG4gICAgICAgIFwiXFx1MDQ0OFwiOiBcInNoXCIsXG4gICAgICAgIFwiXFx1MDQ0OVwiOiBcInNoXCIsXG4gICAgICAgIFwiXFx1MDQ0QVwiOiBcIlwiLFxuICAgICAgICBcIlxcdTA0NEJcIjogXCJ5XCIsXG4gICAgICAgIFwiXFx1MDQ0Q1wiOiBcIlwiLFxuICAgICAgICBcIlxcdTA0NERcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MDQ0RVwiOiBcInl1XCIsXG4gICAgICAgIFwiXFx1MDQ0RlwiOiBcInlhXCIsXG4gICAgICAgIFwiXFx1MDQxMFwiOiBcIkFcIixcbiAgICAgICAgXCJcXHUwNDExXCI6IFwiQlwiLFxuICAgICAgICBcIlxcdTA0MTJcIjogXCJWXCIsXG4gICAgICAgIFwiXFx1MDQxM1wiOiBcIkdcIixcbiAgICAgICAgXCJcXHUwNDE0XCI6IFwiRFwiLFxuICAgICAgICBcIlxcdTA0MTVcIjogXCJFXCIsXG4gICAgICAgIFwiXFx1MDQwMVwiOiBcIllvXCIsXG4gICAgICAgIFwiXFx1MDQxNlwiOiBcIlpoXCIsXG4gICAgICAgIFwiXFx1MDQxN1wiOiBcIlpcIixcbiAgICAgICAgXCJcXHUwNDE4XCI6IFwiSVwiLFxuICAgICAgICBcIlxcdTA0MTlcIjogXCJJXCIsXG4gICAgICAgIFwiXFx1MDQxQVwiOiBcIktcIixcbiAgICAgICAgXCJcXHUwNDFCXCI6IFwiTFwiLFxuICAgICAgICBcIlxcdTA0MUNcIjogXCJNXCIsXG4gICAgICAgIFwiXFx1MDQxRFwiOiBcIk5cIixcbiAgICAgICAgXCJcXHUwNDFFXCI6IFwiT1wiLFxuICAgICAgICBcIlxcdTA0MUZcIjogXCJQXCIsXG4gICAgICAgIFwiXFx1MDQyMFwiOiBcIlJcIixcbiAgICAgICAgXCJcXHUwNDIxXCI6IFwiU1wiLFxuICAgICAgICBcIlxcdTA0MjJcIjogXCJUXCIsXG4gICAgICAgIFwiXFx1MDQyM1wiOiBcIlVcIixcbiAgICAgICAgXCJcXHUwNDI0XCI6IFwiRlwiLFxuICAgICAgICBcIlxcdTA0MjVcIjogXCJLaFwiLFxuICAgICAgICBcIlxcdTA0MjZcIjogXCJDXCIsXG4gICAgICAgIFwiXFx1MDQyN1wiOiBcIkNoXCIsXG4gICAgICAgIFwiXFx1MDQyOFwiOiBcIlNoXCIsXG4gICAgICAgIFwiXFx1MDQyOVwiOiBcIlNoXCIsXG4gICAgICAgIFwiXFx1MDQyQVwiOiBcIlwiLFxuICAgICAgICBcIlxcdTA0MkJcIjogXCJZXCIsXG4gICAgICAgIFwiXFx1MDQyQ1wiOiBcIlwiLFxuICAgICAgICBcIlxcdTA0MkRcIjogXCJFXCIsXG4gICAgICAgIFwiXFx1MDQyRVwiOiBcIll1XCIsXG4gICAgICAgIFwiXFx1MDQyRlwiOiBcIllhXCIsXG4gICAgICAgIC8vIFNlcmJpYW5cbiAgICAgICAgXCJcXHUwNDUyXCI6IFwiZGpcIixcbiAgICAgICAgXCJcXHUwNDU4XCI6IFwialwiLFxuICAgICAgICAvLyAn0ZknOiAnbGonLCAgLy8gZHVwbGljYXRlXG4gICAgICAgIC8vICfRmic6ICduaicsIC8vIGR1cGxpY2F0ZVxuICAgICAgICBcIlxcdTA0NUJcIjogXCJjXCIsXG4gICAgICAgIFwiXFx1MDQ1RlwiOiBcImR6XCIsXG4gICAgICAgIFwiXFx1MDQwMlwiOiBcIkRqXCIsXG4gICAgICAgIFwiXFx1MDQwOFwiOiBcImpcIixcbiAgICAgICAgLy8gJ9CJJzogJ0xqJywgLy8gZHVwbGljYXRlXG4gICAgICAgIC8vICfQiic6ICdOaicsIC8vIGR1cGxpY2F0ZVxuICAgICAgICBcIlxcdTA0MEJcIjogXCJDXCIsXG4gICAgICAgIFwiXFx1MDQwRlwiOiBcIkR6XCIsXG4gICAgICAgIC8vIFNsb3Zha1xuICAgICAgICBcIlxcdTAxM0VcIjogXCJsXCIsXG4gICAgICAgIFwiXFx1MDEzQVwiOiBcImxcIixcbiAgICAgICAgXCJcXHUwMTU1XCI6IFwiclwiLFxuICAgICAgICBcIlxcdTAxM0RcIjogXCJMXCIsXG4gICAgICAgIFwiXFx1MDEzOVwiOiBcIkxcIixcbiAgICAgICAgXCJcXHUwMTU0XCI6IFwiUlwiLFxuICAgICAgICAvLyBUdXJraXNoXG4gICAgICAgIFwiXFx1MDE1RlwiOiBcInNcIixcbiAgICAgICAgXCJcXHUwMTVFXCI6IFwiU1wiLFxuICAgICAgICBcIlxcdTAxMzFcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDEzMFwiOiBcIklcIixcbiAgICAgICAgLy8gJ8OnJzogJ2MnLCAvLyBkdXBsaWNhdGVcbiAgICAgICAgLy8gJ8OHJzogJ0MnLCAvLyBkdXBsaWNhdGVcbiAgICAgICAgLy8gJ8O8JzogJ3UnLCAvLyBkdXBsaWNhdGUsIHNlZSBsYW5nQ2hhck1hcFxuICAgICAgICAvLyAnw5wnOiAnVScsIC8vIGR1cGxpY2F0ZSwgc2VlIGxhbmdDaGFyTWFwXG4gICAgICAgIC8vICfDtic6ICdvJywgLy8gZHVwbGljYXRlLCBzZWUgbGFuZ0NoYXJNYXBcbiAgICAgICAgLy8gJ8OWJzogJ08nLCAvLyBkdXBsaWNhdGUsIHNlZSBsYW5nQ2hhck1hcFxuICAgICAgICBcIlxcdTAxMUZcIjogXCJnXCIsXG4gICAgICAgIFwiXFx1MDExRVwiOiBcIkdcIixcbiAgICAgICAgLy8gVmlldG5hbWVzZVxuICAgICAgICBcIlxcdTFFQTNcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MUVBMlwiOiBcIkFcIixcbiAgICAgICAgXCJcXHUxRUIzXCI6IFwiYVwiLFxuICAgICAgICBcIlxcdTFFQjJcIjogXCJBXCIsXG4gICAgICAgIFwiXFx1MUVBOVwiOiBcImFcIixcbiAgICAgICAgXCJcXHUxRUE4XCI6IFwiQVwiLFxuICAgICAgICBcIlxcdTAxMTFcIjogXCJkXCIsXG4gICAgICAgIFwiXFx1MDExMFwiOiBcIkRcIixcbiAgICAgICAgXCJcXHUxRUI5XCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTFFQjhcIjogXCJFXCIsXG4gICAgICAgIFwiXFx1MUVCRFwiOiBcImVcIixcbiAgICAgICAgXCJcXHUxRUJDXCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTFFQkJcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MUVCQVwiOiBcIkVcIixcbiAgICAgICAgXCJcXHUxRUJGXCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTFFQkVcIjogXCJFXCIsXG4gICAgICAgIFwiXFx1MUVDMVwiOiBcImVcIixcbiAgICAgICAgXCJcXHUxRUMwXCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTFFQzdcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MUVDNlwiOiBcIkVcIixcbiAgICAgICAgXCJcXHUxRUM1XCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTFFQzRcIjogXCJFXCIsXG4gICAgICAgIFwiXFx1MUVDM1wiOiBcImVcIixcbiAgICAgICAgXCJcXHUxRUMyXCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTFFQ0ZcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MUVDRFwiOiBcIm9cIixcbiAgICAgICAgXCJcXHUxRUNDXCI6IFwib1wiLFxuICAgICAgICBcIlxcdTFFRDFcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MUVEMFwiOiBcIk9cIixcbiAgICAgICAgXCJcXHUxRUQzXCI6IFwib1wiLFxuICAgICAgICBcIlxcdTFFRDJcIjogXCJPXCIsXG4gICAgICAgIFwiXFx1MUVENVwiOiBcIm9cIixcbiAgICAgICAgXCJcXHUxRUQ0XCI6IFwiT1wiLFxuICAgICAgICBcIlxcdTFFRDlcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MUVEOFwiOiBcIk9cIixcbiAgICAgICAgXCJcXHUxRUQ3XCI6IFwib1wiLFxuICAgICAgICBcIlxcdTFFRDZcIjogXCJPXCIsXG4gICAgICAgIFwiXFx1MDFBMVwiOiBcIm9cIixcbiAgICAgICAgXCJcXHUwMUEwXCI6IFwiT1wiLFxuICAgICAgICBcIlxcdTFFREJcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MUVEQVwiOiBcIk9cIixcbiAgICAgICAgXCJcXHUxRUREXCI6IFwib1wiLFxuICAgICAgICBcIlxcdTFFRENcIjogXCJPXCIsXG4gICAgICAgIFwiXFx1MUVFM1wiOiBcIm9cIixcbiAgICAgICAgXCJcXHUxRUUyXCI6IFwiT1wiLFxuICAgICAgICBcIlxcdTFFRTFcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MUVFMFwiOiBcIk9cIixcbiAgICAgICAgXCJcXHUxRURFXCI6IFwib1wiLFxuICAgICAgICBcIlxcdTFFREZcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MUVDQlwiOiBcImlcIixcbiAgICAgICAgXCJcXHUxRUNBXCI6IFwiSVwiLFxuICAgICAgICBcIlxcdTAxMjlcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDEyOFwiOiBcIklcIixcbiAgICAgICAgXCJcXHUxRUM5XCI6IFwiaVwiLFxuICAgICAgICBcIlxcdTFFQzhcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MUVFN1wiOiBcInVcIixcbiAgICAgICAgXCJcXHUxRUU2XCI6IFwiVVwiLFxuICAgICAgICBcIlxcdTFFRTVcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx1MUVFNFwiOiBcIlVcIixcbiAgICAgICAgXCJcXHUwMTY5XCI6IFwidVwiLFxuICAgICAgICBcIlxcdTAxNjhcIjogXCJVXCIsXG4gICAgICAgIFwiXFx1MDFCMFwiOiBcInVcIixcbiAgICAgICAgXCJcXHUwMUFGXCI6IFwiVVwiLFxuICAgICAgICBcIlxcdTFFRTlcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx1MUVFOFwiOiBcIlVcIixcbiAgICAgICAgXCJcXHUxRUVCXCI6IFwidVwiLFxuICAgICAgICBcIlxcdTFFRUFcIjogXCJVXCIsXG4gICAgICAgIFwiXFx1MUVGMVwiOiBcInVcIixcbiAgICAgICAgXCJcXHUxRUYwXCI6IFwiVVwiLFxuICAgICAgICBcIlxcdTFFRUZcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx1MUVFRVwiOiBcIlVcIixcbiAgICAgICAgXCJcXHUxRUVEXCI6IFwidVwiLFxuICAgICAgICBcIlxcdTFFRUNcIjogXCJcXHUwMUIwXCIsXG4gICAgICAgIFwiXFx1MUVGN1wiOiBcInlcIixcbiAgICAgICAgXCJcXHUxRUY2XCI6IFwieVwiLFxuICAgICAgICBcIlxcdTFFRjNcIjogXCJ5XCIsXG4gICAgICAgIFwiXFx1MUVGMlwiOiBcIllcIixcbiAgICAgICAgXCJcXHUxRUY1XCI6IFwieVwiLFxuICAgICAgICBcIlxcdTFFRjRcIjogXCJZXCIsXG4gICAgICAgIFwiXFx1MUVGOVwiOiBcInlcIixcbiAgICAgICAgXCJcXHUxRUY4XCI6IFwiWVwiLFxuICAgICAgICBcIlxcdTFFQTFcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MUVBMFwiOiBcIkFcIixcbiAgICAgICAgXCJcXHUxRUE1XCI6IFwiYVwiLFxuICAgICAgICBcIlxcdTFFQTRcIjogXCJBXCIsXG4gICAgICAgIFwiXFx1MUVBN1wiOiBcImFcIixcbiAgICAgICAgXCJcXHUxRUE2XCI6IFwiQVwiLFxuICAgICAgICBcIlxcdTFFQURcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MUVBQ1wiOiBcIkFcIixcbiAgICAgICAgXCJcXHUxRUFCXCI6IFwiYVwiLFxuICAgICAgICBcIlxcdTFFQUFcIjogXCJBXCIsXG4gICAgICAgIC8vICfEgyc6ICdhJywgLy8gZHVwbGljYXRlXG4gICAgICAgIC8vICfEgic6ICdBJywgLy8gZHVwbGljYXRlXG4gICAgICAgIFwiXFx1MUVBRlwiOiBcImFcIixcbiAgICAgICAgXCJcXHUxRUFFXCI6IFwiQVwiLFxuICAgICAgICBcIlxcdTFFQjFcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MUVCMFwiOiBcIkFcIixcbiAgICAgICAgXCJcXHUxRUI3XCI6IFwiYVwiLFxuICAgICAgICBcIlxcdTFFQjZcIjogXCJBXCIsXG4gICAgICAgIFwiXFx1MUVCNVwiOiBcImFcIixcbiAgICAgICAgXCJcXHUxRUI0XCI6IFwiQVwiLFxuICAgICAgICBcIlxcdTI0RUFcIjogXCIwXCIsXG4gICAgICAgIFwiXFx1MjQ2MFwiOiBcIjFcIixcbiAgICAgICAgXCJcXHUyNDYxXCI6IFwiMlwiLFxuICAgICAgICBcIlxcdTI0NjJcIjogXCIzXCIsXG4gICAgICAgIFwiXFx1MjQ2M1wiOiBcIjRcIixcbiAgICAgICAgXCJcXHUyNDY0XCI6IFwiNVwiLFxuICAgICAgICBcIlxcdTI0NjVcIjogXCI2XCIsXG4gICAgICAgIFwiXFx1MjQ2NlwiOiBcIjdcIixcbiAgICAgICAgXCJcXHUyNDY3XCI6IFwiOFwiLFxuICAgICAgICBcIlxcdTI0NjhcIjogXCI5XCIsXG4gICAgICAgIFwiXFx1MjQ2OVwiOiBcIjEwXCIsXG4gICAgICAgIFwiXFx1MjQ2QVwiOiBcIjExXCIsXG4gICAgICAgIFwiXFx1MjQ2QlwiOiBcIjEyXCIsXG4gICAgICAgIFwiXFx1MjQ2Q1wiOiBcIjEzXCIsXG4gICAgICAgIFwiXFx1MjQ2RFwiOiBcIjE0XCIsXG4gICAgICAgIFwiXFx1MjQ2RVwiOiBcIjE1XCIsXG4gICAgICAgIFwiXFx1MjQ2RlwiOiBcIjE2XCIsXG4gICAgICAgIFwiXFx1MjQ3MFwiOiBcIjE3XCIsXG4gICAgICAgIFwiXFx1MjQ3MVwiOiBcIjE4XCIsXG4gICAgICAgIFwiXFx1MjQ3MlwiOiBcIjE4XCIsXG4gICAgICAgIFwiXFx1MjQ3M1wiOiBcIjE4XCIsXG4gICAgICAgIFwiXFx1MjRGNVwiOiBcIjFcIixcbiAgICAgICAgXCJcXHUyNEY2XCI6IFwiMlwiLFxuICAgICAgICBcIlxcdTI0RjdcIjogXCIzXCIsXG4gICAgICAgIFwiXFx1MjRGOFwiOiBcIjRcIixcbiAgICAgICAgXCJcXHUyNEY5XCI6IFwiNVwiLFxuICAgICAgICBcIlxcdTI0RkFcIjogXCI2XCIsXG4gICAgICAgIFwiXFx1MjRGQlwiOiBcIjdcIixcbiAgICAgICAgXCJcXHUyNEZDXCI6IFwiOFwiLFxuICAgICAgICBcIlxcdTI0RkRcIjogXCI5XCIsXG4gICAgICAgIFwiXFx1MjRGRVwiOiBcIjEwXCIsXG4gICAgICAgIFwiXFx1MjRGRlwiOiBcIjBcIixcbiAgICAgICAgXCJcXHUyNEVCXCI6IFwiMTFcIixcbiAgICAgICAgXCJcXHUyNEVDXCI6IFwiMTJcIixcbiAgICAgICAgXCJcXHUyNEVEXCI6IFwiMTNcIixcbiAgICAgICAgXCJcXHUyNEVFXCI6IFwiMTRcIixcbiAgICAgICAgXCJcXHUyNEVGXCI6IFwiMTVcIixcbiAgICAgICAgXCJcXHUyNEYwXCI6IFwiMTZcIixcbiAgICAgICAgXCJcXHUyNEYxXCI6IFwiMTdcIixcbiAgICAgICAgXCJcXHUyNEYyXCI6IFwiMThcIixcbiAgICAgICAgXCJcXHUyNEYzXCI6IFwiMTlcIixcbiAgICAgICAgXCJcXHUyNEY0XCI6IFwiMjBcIixcbiAgICAgICAgXCJcXHUyNEI2XCI6IFwiQVwiLFxuICAgICAgICBcIlxcdTI0QjdcIjogXCJCXCIsXG4gICAgICAgIFwiXFx1MjRCOFwiOiBcIkNcIixcbiAgICAgICAgXCJcXHUyNEI5XCI6IFwiRFwiLFxuICAgICAgICBcIlxcdTI0QkFcIjogXCJFXCIsXG4gICAgICAgIFwiXFx1MjRCQlwiOiBcIkZcIixcbiAgICAgICAgXCJcXHUyNEJDXCI6IFwiR1wiLFxuICAgICAgICBcIlxcdTI0QkRcIjogXCJIXCIsXG4gICAgICAgIFwiXFx1MjRCRVwiOiBcIklcIixcbiAgICAgICAgXCJcXHUyNEJGXCI6IFwiSlwiLFxuICAgICAgICBcIlxcdTI0QzBcIjogXCJLXCIsXG4gICAgICAgIFwiXFx1MjRDMVwiOiBcIkxcIixcbiAgICAgICAgXCJcXHUyNEMyXCI6IFwiTVwiLFxuICAgICAgICBcIlxcdTI0QzNcIjogXCJOXCIsXG4gICAgICAgIFwiXFx1MjRDNFwiOiBcIk9cIixcbiAgICAgICAgXCJcXHUyNEM1XCI6IFwiUFwiLFxuICAgICAgICBcIlxcdTI0QzZcIjogXCJRXCIsXG4gICAgICAgIFwiXFx1MjRDN1wiOiBcIlJcIixcbiAgICAgICAgXCJcXHUyNEM4XCI6IFwiU1wiLFxuICAgICAgICBcIlxcdTI0QzlcIjogXCJUXCIsXG4gICAgICAgIFwiXFx1MjRDQVwiOiBcIlVcIixcbiAgICAgICAgXCJcXHUyNENCXCI6IFwiVlwiLFxuICAgICAgICBcIlxcdTI0Q0NcIjogXCJXXCIsXG4gICAgICAgIFwiXFx1MjRDRFwiOiBcIlhcIixcbiAgICAgICAgXCJcXHUyNENFXCI6IFwiWVwiLFxuICAgICAgICBcIlxcdTI0Q0ZcIjogXCJaXCIsXG4gICAgICAgIFwiXFx1MjREMFwiOiBcImFcIixcbiAgICAgICAgXCJcXHUyNEQxXCI6IFwiYlwiLFxuICAgICAgICBcIlxcdTI0RDJcIjogXCJjXCIsXG4gICAgICAgIFwiXFx1MjREM1wiOiBcImRcIixcbiAgICAgICAgXCJcXHUyNEQ0XCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTI0RDVcIjogXCJmXCIsXG4gICAgICAgIFwiXFx1MjRENlwiOiBcImdcIixcbiAgICAgICAgXCJcXHUyNEQ3XCI6IFwiaFwiLFxuICAgICAgICBcIlxcdTI0RDhcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MjREOVwiOiBcImpcIixcbiAgICAgICAgXCJcXHUyNERBXCI6IFwia1wiLFxuICAgICAgICBcIlxcdTI0REJcIjogXCJsXCIsXG4gICAgICAgIFwiXFx1MjREQ1wiOiBcIm1cIixcbiAgICAgICAgXCJcXHUyNEREXCI6IFwiblwiLFxuICAgICAgICBcIlxcdTI0REVcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MjRERlwiOiBcInBcIixcbiAgICAgICAgXCJcXHUyNEUwXCI6IFwicVwiLFxuICAgICAgICBcIlxcdTI0RTFcIjogXCJyXCIsXG4gICAgICAgIFwiXFx1MjRFMlwiOiBcInNcIixcbiAgICAgICAgXCJcXHUyNEUzXCI6IFwidFwiLFxuICAgICAgICBcIlxcdTI0RTRcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx1MjRFNlwiOiBcInZcIixcbiAgICAgICAgXCJcXHUyNEU1XCI6IFwid1wiLFxuICAgICAgICBcIlxcdTI0RTdcIjogXCJ4XCIsXG4gICAgICAgIFwiXFx1MjRFOFwiOiBcInlcIixcbiAgICAgICAgXCJcXHUyNEU5XCI6IFwielwiLFxuICAgICAgICAvLyBzeW1ib2xzXG4gICAgICAgIFwiXFx1MjAxQ1wiOiAnXCInLFxuICAgICAgICBcIlxcdTIwMURcIjogJ1wiJyxcbiAgICAgICAgXCJcXHUyMDE4XCI6IFwiJ1wiLFxuICAgICAgICBcIlxcdTIwMTlcIjogXCInXCIsXG4gICAgICAgIFwiXFx1MjIwMlwiOiBcImRcIixcbiAgICAgICAgXCJcXHUwMTkyXCI6IFwiZlwiLFxuICAgICAgICBcIlxcdTIxMjJcIjogXCIoVE0pXCIsXG4gICAgICAgIFwiXFx4QTlcIjogXCIoQylcIixcbiAgICAgICAgXCJcXHUwMTUzXCI6IFwib2VcIixcbiAgICAgICAgXCJcXHUwMTUyXCI6IFwiT0VcIixcbiAgICAgICAgXCJcXHhBRVwiOiBcIihSKVwiLFxuICAgICAgICBcIlxcdTIwMjBcIjogXCIrXCIsXG4gICAgICAgIFwiXFx1MjEyMFwiOiBcIihTTSlcIixcbiAgICAgICAgXCJcXHUyMDI2XCI6IFwiLi4uXCIsXG4gICAgICAgIFwiXFx1MDJEQVwiOiBcIm9cIixcbiAgICAgICAgXCJcXHhCQVwiOiBcIm9cIixcbiAgICAgICAgXCJcXHhBQVwiOiBcImFcIixcbiAgICAgICAgXCJcXHUyMDIyXCI6IFwiKlwiLFxuICAgICAgICBcIlxcdTEwNEFcIjogXCIsXCIsXG4gICAgICAgIFwiXFx1MTA0QlwiOiBcIi5cIixcbiAgICAgICAgLy8gY3VycmVuY3lcbiAgICAgICAgXCIkXCI6IFwiVVNEXCIsXG4gICAgICAgIFwiXFx1MjBBQ1wiOiBcIkVVUlwiLFxuICAgICAgICBcIlxcdTIwQTJcIjogXCJCUk5cIixcbiAgICAgICAgXCJcXHUyMEEzXCI6IFwiRlJGXCIsXG4gICAgICAgIFwiXFx4QTNcIjogXCJHQlBcIixcbiAgICAgICAgXCJcXHUyMEE0XCI6IFwiSVRMXCIsXG4gICAgICAgIFwiXFx1MjBBNlwiOiBcIk5HTlwiLFxuICAgICAgICBcIlxcdTIwQTdcIjogXCJFU1BcIixcbiAgICAgICAgXCJcXHUyMEE5XCI6IFwiS1JXXCIsXG4gICAgICAgIFwiXFx1MjBBQVwiOiBcIklMU1wiLFxuICAgICAgICBcIlxcdTIwQUJcIjogXCJWTkRcIixcbiAgICAgICAgXCJcXHUyMEFEXCI6IFwiTEFLXCIsXG4gICAgICAgIFwiXFx1MjBBRVwiOiBcIk1OVFwiLFxuICAgICAgICBcIlxcdTIwQUZcIjogXCJHUkRcIixcbiAgICAgICAgXCJcXHUyMEIxXCI6IFwiQVJTXCIsXG4gICAgICAgIFwiXFx1MjBCMlwiOiBcIlBZR1wiLFxuICAgICAgICBcIlxcdTIwQjNcIjogXCJBUkFcIixcbiAgICAgICAgXCJcXHUyMEI0XCI6IFwiVUFIXCIsXG4gICAgICAgIFwiXFx1MjBCNVwiOiBcIkdIU1wiLFxuICAgICAgICBcIlxceEEyXCI6IFwiY2VudFwiLFxuICAgICAgICBcIlxceEE1XCI6IFwiQ05ZXCIsXG4gICAgICAgIFwiXFx1NTE0M1wiOiBcIkNOWVwiLFxuICAgICAgICBcIlxcdTUxODZcIjogXCJZRU5cIixcbiAgICAgICAgXCJcXHVGREZDXCI6IFwiSVJSXCIsXG4gICAgICAgIFwiXFx1MjBBMFwiOiBcIkVXRVwiLFxuICAgICAgICBcIlxcdTBFM0ZcIjogXCJUSEJcIixcbiAgICAgICAgXCJcXHUyMEE4XCI6IFwiSU5SXCIsXG4gICAgICAgIFwiXFx1MjBCOVwiOiBcIklOUlwiLFxuICAgICAgICBcIlxcdTIwQjBcIjogXCJQRlwiLFxuICAgICAgICBcIlxcdTIwQkFcIjogXCJUUllcIixcbiAgICAgICAgXCJcXHUwNjBCXCI6IFwiQUZOXCIsXG4gICAgICAgIFwiXFx1MjBCQ1wiOiBcIkFaTlwiLFxuICAgICAgICBcIlxcdTA0M0JcXHUwNDMyXCI6IFwiQkdOXCIsXG4gICAgICAgIFwiXFx1MTdEQlwiOiBcIktIUlwiLFxuICAgICAgICBcIlxcdTIwQTFcIjogXCJDUkNcIixcbiAgICAgICAgXCJcXHUyMEI4XCI6IFwiS1pUXCIsXG4gICAgICAgIFwiXFx1MDQzNFxcdTA0MzVcXHUwNDNEXCI6IFwiTUtEXCIsXG4gICAgICAgIFwielxcdTAxNDJcIjogXCJQTE5cIixcbiAgICAgICAgXCJcXHUyMEJEXCI6IFwiUlVCXCIsXG4gICAgICAgIFwiXFx1MjBCRVwiOiBcIkdFTFwiXG4gICAgICB9O1xuICAgICAgdmFyIGxvb2tBaGVhZENoYXJBcnJheSA9IFtcbiAgICAgICAgLy8gYnVybWVzZVxuICAgICAgICBcIlxcdTEwM0FcIixcbiAgICAgICAgLy8gRGhpdmVoaVxuICAgICAgICBcIlxcdTA3QjBcIlxuICAgICAgXTtcbiAgICAgIHZhciBkaWF0cmljTWFwID0ge1xuICAgICAgICAvLyBCdXJtZXNlXG4gICAgICAgIC8vIGRlcGVuZGVudCB2b3dlbHNcbiAgICAgICAgXCJcXHUxMDJDXCI6IFwiYVwiLFxuICAgICAgICBcIlxcdTEwMkJcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MTAzMVwiOiBcImVcIixcbiAgICAgICAgXCJcXHUxMDMyXCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTEwMkRcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MTAyRVwiOiBcImlcIixcbiAgICAgICAgXCJcXHUxMDJEXFx1MTAyRlwiOiBcIm9cIixcbiAgICAgICAgXCJcXHUxMDJGXCI6IFwidVwiLFxuICAgICAgICBcIlxcdTEwMzBcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx1MTAzMVxcdTEwMkJcXHUxMDA0XFx1MTAzQVwiOiBcImF1bmdcIixcbiAgICAgICAgXCJcXHUxMDMxXFx1MTAyQ1wiOiBcImF3XCIsXG4gICAgICAgIFwiXFx1MTAzMVxcdTEwMkNcXHUxMDNBXCI6IFwiYXdcIixcbiAgICAgICAgXCJcXHUxMDMxXFx1MTAyQlwiOiBcImF3XCIsXG4gICAgICAgIFwiXFx1MTAzMVxcdTEwMkJcXHUxMDNBXCI6IFwiYXdcIixcbiAgICAgICAgXCJcXHUxMDNBXCI6IFwiXFx1MTAzQVwiLFxuICAgICAgICAvLyB0aGlzIGlzIHNwZWNpYWwgY2FzZSBidXQgdGhlIGNoYXJhY3RlciB3aWxsIGJlIGNvbnZlcnRlZCB0byBsYXRpbiBpbiB0aGUgY29kZVxuICAgICAgICBcIlxcdTEwMDBcXHUxMDNBXCI6IFwiZXRcIixcbiAgICAgICAgXCJcXHUxMDJEXFx1MTAyRlxcdTEwMDBcXHUxMDNBXCI6IFwiYWlrXCIsXG4gICAgICAgIFwiXFx1MTAzMVxcdTEwMkNcXHUxMDAwXFx1MTAzQVwiOiBcImF1a1wiLFxuICAgICAgICBcIlxcdTEwMDRcXHUxMDNBXCI6IFwiaW5cIixcbiAgICAgICAgXCJcXHUxMDJEXFx1MTAyRlxcdTEwMDRcXHUxMDNBXCI6IFwiYWluZ1wiLFxuICAgICAgICBcIlxcdTEwMzFcXHUxMDJDXFx1MTAwNFxcdTEwM0FcIjogXCJhdW5nXCIsXG4gICAgICAgIFwiXFx1MTAwNVxcdTEwM0FcIjogXCJpdFwiLFxuICAgICAgICBcIlxcdTEwMEFcXHUxMDNBXCI6IFwiaVwiLFxuICAgICAgICBcIlxcdTEwMTBcXHUxMDNBXCI6IFwiYXRcIixcbiAgICAgICAgXCJcXHUxMDJEXFx1MTAxMFxcdTEwM0FcIjogXCJlaWtcIixcbiAgICAgICAgXCJcXHUxMDJGXFx1MTAxMFxcdTEwM0FcIjogXCJva1wiLFxuICAgICAgICBcIlxcdTEwM0RcXHUxMDEwXFx1MTAzQVwiOiBcInV0XCIsXG4gICAgICAgIFwiXFx1MTAzMVxcdTEwMTBcXHUxMDNBXCI6IFwiaXRcIixcbiAgICAgICAgXCJcXHUxMDEyXFx1MTAzQVwiOiBcImRcIixcbiAgICAgICAgXCJcXHUxMDJEXFx1MTAyRlxcdTEwMTJcXHUxMDNBXCI6IFwib2tcIixcbiAgICAgICAgXCJcXHUxMDJGXFx1MTAxMlxcdTEwM0FcIjogXCJhaXRcIixcbiAgICAgICAgXCJcXHUxMDE0XFx1MTAzQVwiOiBcImFuXCIsXG4gICAgICAgIFwiXFx1MTAyQ1xcdTEwMTRcXHUxMDNBXCI6IFwiYW5cIixcbiAgICAgICAgXCJcXHUxMDJEXFx1MTAxNFxcdTEwM0FcIjogXCJlaW5cIixcbiAgICAgICAgXCJcXHUxMDJGXFx1MTAxNFxcdTEwM0FcIjogXCJvblwiLFxuICAgICAgICBcIlxcdTEwM0RcXHUxMDE0XFx1MTAzQVwiOiBcInVuXCIsXG4gICAgICAgIFwiXFx1MTAxNVxcdTEwM0FcIjogXCJhdFwiLFxuICAgICAgICBcIlxcdTEwMkRcXHUxMDE1XFx1MTAzQVwiOiBcImVpa1wiLFxuICAgICAgICBcIlxcdTEwMkZcXHUxMDE1XFx1MTAzQVwiOiBcIm9rXCIsXG4gICAgICAgIFwiXFx1MTAzRFxcdTEwMTVcXHUxMDNBXCI6IFwidXRcIixcbiAgICAgICAgXCJcXHUxMDE0XFx1MTAzQVxcdTEwMkZcXHUxMDE1XFx1MTAzQVwiOiBcIm51YlwiLFxuICAgICAgICBcIlxcdTEwMTlcXHUxMDNBXCI6IFwiYW5cIixcbiAgICAgICAgXCJcXHUxMDJEXFx1MTAxOVxcdTEwM0FcIjogXCJlaW5cIixcbiAgICAgICAgXCJcXHUxMDJGXFx1MTAxOVxcdTEwM0FcIjogXCJvblwiLFxuICAgICAgICBcIlxcdTEwM0RcXHUxMDE5XFx1MTAzQVwiOiBcInVuXCIsXG4gICAgICAgIFwiXFx1MTAxQVxcdTEwM0FcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MTAyRFxcdTEwMkZcXHUxMDFDXFx1MTAzQVwiOiBcIm9sXCIsXG4gICAgICAgIFwiXFx1MTAwOVxcdTEwM0FcIjogXCJpblwiLFxuICAgICAgICBcIlxcdTEwMzZcIjogXCJhblwiLFxuICAgICAgICBcIlxcdTEwMkRcXHUxMDM2XCI6IFwiZWluXCIsXG4gICAgICAgIFwiXFx1MTAyRlxcdTEwMzZcIjogXCJvblwiLFxuICAgICAgICAvLyBEaGl2ZWhpXG4gICAgICAgIFwiXFx1MDdBNlxcdTA3ODdcXHUwN0IwXCI6IFwiYWhcIixcbiAgICAgICAgXCJcXHUwN0E2XFx1MDc4MVxcdTA3QjBcIjogXCJhaFwiXG4gICAgICB9O1xuICAgICAgdmFyIGxhbmdDaGFyTWFwID0ge1xuICAgICAgICBcImVuXCI6IHt9LFxuICAgICAgICAvLyBkZWZhdWx0IGxhbmd1YWdlXG4gICAgICAgIFwiYXpcIjoge1xuICAgICAgICAgIC8vIEF6ZXJiYWlqYW5pXG4gICAgICAgICAgXCJcXHhFN1wiOiBcImNcIixcbiAgICAgICAgICBcIlxcdTAyNTlcIjogXCJlXCIsXG4gICAgICAgICAgXCJcXHUwMTFGXCI6IFwiZ1wiLFxuICAgICAgICAgIFwiXFx1MDEzMVwiOiBcImlcIixcbiAgICAgICAgICBcIlxceEY2XCI6IFwib1wiLFxuICAgICAgICAgIFwiXFx1MDE1RlwiOiBcInNcIixcbiAgICAgICAgICBcIlxceEZDXCI6IFwidVwiLFxuICAgICAgICAgIFwiXFx4QzdcIjogXCJDXCIsXG4gICAgICAgICAgXCJcXHUwMThGXCI6IFwiRVwiLFxuICAgICAgICAgIFwiXFx1MDExRVwiOiBcIkdcIixcbiAgICAgICAgICBcIlxcdTAxMzBcIjogXCJJXCIsXG4gICAgICAgICAgXCJcXHhENlwiOiBcIk9cIixcbiAgICAgICAgICBcIlxcdTAxNUVcIjogXCJTXCIsXG4gICAgICAgICAgXCJcXHhEQ1wiOiBcIlVcIlxuICAgICAgICB9LFxuICAgICAgICBcImNzXCI6IHtcbiAgICAgICAgICAvLyBDemVjaFxuICAgICAgICAgIFwiXFx1MDEwRFwiOiBcImNcIixcbiAgICAgICAgICBcIlxcdTAxMEZcIjogXCJkXCIsXG4gICAgICAgICAgXCJcXHUwMTFCXCI6IFwiZVwiLFxuICAgICAgICAgIFwiXFx1MDE0OFwiOiBcIm5cIixcbiAgICAgICAgICBcIlxcdTAxNTlcIjogXCJyXCIsXG4gICAgICAgICAgXCJcXHUwMTYxXCI6IFwic1wiLFxuICAgICAgICAgIFwiXFx1MDE2NVwiOiBcInRcIixcbiAgICAgICAgICBcIlxcdTAxNkZcIjogXCJ1XCIsXG4gICAgICAgICAgXCJcXHUwMTdFXCI6IFwielwiLFxuICAgICAgICAgIFwiXFx1MDEwQ1wiOiBcIkNcIixcbiAgICAgICAgICBcIlxcdTAxMEVcIjogXCJEXCIsXG4gICAgICAgICAgXCJcXHUwMTFBXCI6IFwiRVwiLFxuICAgICAgICAgIFwiXFx1MDE0N1wiOiBcIk5cIixcbiAgICAgICAgICBcIlxcdTAxNThcIjogXCJSXCIsXG4gICAgICAgICAgXCJcXHUwMTYwXCI6IFwiU1wiLFxuICAgICAgICAgIFwiXFx1MDE2NFwiOiBcIlRcIixcbiAgICAgICAgICBcIlxcdTAxNkVcIjogXCJVXCIsXG4gICAgICAgICAgXCJcXHUwMTdEXCI6IFwiWlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZmlcIjoge1xuICAgICAgICAgIC8vIEZpbm5pc2hcbiAgICAgICAgICAvLyAnw6UnOiAnYScsIGR1cGxpY2F0ZSBzZWUgY2hhck1hcC9sYXRpblxuICAgICAgICAgIC8vICfDhSc6ICdBJywgZHVwbGljYXRlIHNlZSBjaGFyTWFwL2xhdGluXG4gICAgICAgICAgXCJcXHhFNFwiOiBcImFcIixcbiAgICAgICAgICAvLyBva1xuICAgICAgICAgIFwiXFx4QzRcIjogXCJBXCIsXG4gICAgICAgICAgLy8gb2tcbiAgICAgICAgICBcIlxceEY2XCI6IFwib1wiLFxuICAgICAgICAgIC8vIG9rXG4gICAgICAgICAgXCJcXHhENlwiOiBcIk9cIlxuICAgICAgICAgIC8vIG9rXG4gICAgICAgIH0sXG4gICAgICAgIFwiaHVcIjoge1xuICAgICAgICAgIC8vIEh1bmdhcmlhblxuICAgICAgICAgIFwiXFx4RTRcIjogXCJhXCIsXG4gICAgICAgICAgLy8gb2tcbiAgICAgICAgICBcIlxceEM0XCI6IFwiQVwiLFxuICAgICAgICAgIC8vIG9rXG4gICAgICAgICAgLy8gJ8OhJzogJ2EnLCBkdXBsaWNhdGUgc2VlIGNoYXJNYXAvbGF0aW5cbiAgICAgICAgICAvLyAnw4EnOiAnQScsIGR1cGxpY2F0ZSBzZWUgY2hhck1hcC9sYXRpblxuICAgICAgICAgIFwiXFx4RjZcIjogXCJvXCIsXG4gICAgICAgICAgLy8gb2tcbiAgICAgICAgICBcIlxceEQ2XCI6IFwiT1wiLFxuICAgICAgICAgIC8vIG9rXG4gICAgICAgICAgLy8gJ8WRJzogJ28nLCBkdXBsaWNhdGUgc2VlIGNoYXJNYXAvbGF0aW5cbiAgICAgICAgICAvLyAnxZAnOiAnTycsIGR1cGxpY2F0ZSBzZWUgY2hhck1hcC9sYXRpblxuICAgICAgICAgIFwiXFx4RkNcIjogXCJ1XCIsXG4gICAgICAgICAgXCJcXHhEQ1wiOiBcIlVcIixcbiAgICAgICAgICBcIlxcdTAxNzFcIjogXCJ1XCIsXG4gICAgICAgICAgXCJcXHUwMTcwXCI6IFwiVVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibHRcIjoge1xuICAgICAgICAgIC8vIExpdGh1YW5pYW5cbiAgICAgICAgICBcIlxcdTAxMDVcIjogXCJhXCIsXG4gICAgICAgICAgXCJcXHUwMTBEXCI6IFwiY1wiLFxuICAgICAgICAgIFwiXFx1MDExOVwiOiBcImVcIixcbiAgICAgICAgICBcIlxcdTAxMTdcIjogXCJlXCIsXG4gICAgICAgICAgXCJcXHUwMTJGXCI6IFwiaVwiLFxuICAgICAgICAgIFwiXFx1MDE2MVwiOiBcInNcIixcbiAgICAgICAgICBcIlxcdTAxNzNcIjogXCJ1XCIsXG4gICAgICAgICAgXCJcXHUwMTZCXCI6IFwidVwiLFxuICAgICAgICAgIFwiXFx1MDE3RVwiOiBcInpcIixcbiAgICAgICAgICBcIlxcdTAxMDRcIjogXCJBXCIsXG4gICAgICAgICAgXCJcXHUwMTBDXCI6IFwiQ1wiLFxuICAgICAgICAgIFwiXFx1MDExOFwiOiBcIkVcIixcbiAgICAgICAgICBcIlxcdTAxMTZcIjogXCJFXCIsXG4gICAgICAgICAgXCJcXHUwMTJFXCI6IFwiSVwiLFxuICAgICAgICAgIFwiXFx1MDE2MFwiOiBcIlNcIixcbiAgICAgICAgICBcIlxcdTAxNzJcIjogXCJVXCIsXG4gICAgICAgICAgXCJcXHUwMTZBXCI6IFwiVVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibHZcIjoge1xuICAgICAgICAgIC8vIExhdHZpYW5cbiAgICAgICAgICBcIlxcdTAxMDFcIjogXCJhXCIsXG4gICAgICAgICAgXCJcXHUwMTBEXCI6IFwiY1wiLFxuICAgICAgICAgIFwiXFx1MDExM1wiOiBcImVcIixcbiAgICAgICAgICBcIlxcdTAxMjNcIjogXCJnXCIsXG4gICAgICAgICAgXCJcXHUwMTJCXCI6IFwiaVwiLFxuICAgICAgICAgIFwiXFx1MDEzN1wiOiBcImtcIixcbiAgICAgICAgICBcIlxcdTAxM0NcIjogXCJsXCIsXG4gICAgICAgICAgXCJcXHUwMTQ2XCI6IFwiblwiLFxuICAgICAgICAgIFwiXFx1MDE2MVwiOiBcInNcIixcbiAgICAgICAgICBcIlxcdTAxNkJcIjogXCJ1XCIsXG4gICAgICAgICAgXCJcXHUwMTdFXCI6IFwielwiLFxuICAgICAgICAgIFwiXFx1MDEwMFwiOiBcIkFcIixcbiAgICAgICAgICBcIlxcdTAxMENcIjogXCJDXCIsXG4gICAgICAgICAgXCJcXHUwMTEyXCI6IFwiRVwiLFxuICAgICAgICAgIFwiXFx1MDEyMlwiOiBcIkdcIixcbiAgICAgICAgICBcIlxcdTAxMkFcIjogXCJpXCIsXG4gICAgICAgICAgXCJcXHUwMTM2XCI6IFwia1wiLFxuICAgICAgICAgIFwiXFx1MDEzQlwiOiBcIkxcIixcbiAgICAgICAgICBcIlxcdTAxNDVcIjogXCJOXCIsXG4gICAgICAgICAgXCJcXHUwMTYwXCI6IFwiU1wiLFxuICAgICAgICAgIFwiXFx1MDE2QVwiOiBcInVcIixcbiAgICAgICAgICBcIlxcdTAxN0RcIjogXCJaXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwbFwiOiB7XG4gICAgICAgICAgLy8gUG9saXNoXG4gICAgICAgICAgXCJcXHUwMTA1XCI6IFwiYVwiLFxuICAgICAgICAgIFwiXFx1MDEwN1wiOiBcImNcIixcbiAgICAgICAgICBcIlxcdTAxMTlcIjogXCJlXCIsXG4gICAgICAgICAgXCJcXHUwMTQyXCI6IFwibFwiLFxuICAgICAgICAgIFwiXFx1MDE0NFwiOiBcIm5cIixcbiAgICAgICAgICBcIlxceEYzXCI6IFwib1wiLFxuICAgICAgICAgIFwiXFx1MDE1QlwiOiBcInNcIixcbiAgICAgICAgICBcIlxcdTAxN0FcIjogXCJ6XCIsXG4gICAgICAgICAgXCJcXHUwMTdDXCI6IFwielwiLFxuICAgICAgICAgIFwiXFx1MDEwNFwiOiBcIkFcIixcbiAgICAgICAgICBcIlxcdTAxMDZcIjogXCJDXCIsXG4gICAgICAgICAgXCJcXHUwMTE4XCI6IFwiZVwiLFxuICAgICAgICAgIFwiXFx1MDE0MVwiOiBcIkxcIixcbiAgICAgICAgICBcIlxcdTAxNDNcIjogXCJOXCIsXG4gICAgICAgICAgXCJcXHhEM1wiOiBcIk9cIixcbiAgICAgICAgICBcIlxcdTAxNUFcIjogXCJTXCIsXG4gICAgICAgICAgXCJcXHUwMTc5XCI6IFwiWlwiLFxuICAgICAgICAgIFwiXFx1MDE3QlwiOiBcIlpcIlxuICAgICAgICB9LFxuICAgICAgICBcInN2XCI6IHtcbiAgICAgICAgICAvLyBTd2VkaXNoXG4gICAgICAgICAgLy8gJ8OlJzogJ2EnLCBkdXBsaWNhdGUgc2VlIGNoYXJNYXAvbGF0aW5cbiAgICAgICAgICAvLyAnw4UnOiAnQScsIGR1cGxpY2F0ZSBzZWUgY2hhck1hcC9sYXRpblxuICAgICAgICAgIFwiXFx4RTRcIjogXCJhXCIsXG4gICAgICAgICAgLy8gb2tcbiAgICAgICAgICBcIlxceEM0XCI6IFwiQVwiLFxuICAgICAgICAgIC8vIG9rXG4gICAgICAgICAgXCJcXHhGNlwiOiBcIm9cIixcbiAgICAgICAgICAvLyBva1xuICAgICAgICAgIFwiXFx4RDZcIjogXCJPXCJcbiAgICAgICAgICAvLyBva1xuICAgICAgICB9LFxuICAgICAgICBcInNrXCI6IHtcbiAgICAgICAgICAvLyBTbG92YWtcbiAgICAgICAgICBcIlxceEU0XCI6IFwiYVwiLFxuICAgICAgICAgIFwiXFx4QzRcIjogXCJBXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzclwiOiB7XG4gICAgICAgICAgLy8gU2VyYmlhblxuICAgICAgICAgIFwiXFx1MDQ1OVwiOiBcImxqXCIsXG4gICAgICAgICAgXCJcXHUwNDVBXCI6IFwibmpcIixcbiAgICAgICAgICBcIlxcdTA0MDlcIjogXCJMalwiLFxuICAgICAgICAgIFwiXFx1MDQwQVwiOiBcIk5qXCIsXG4gICAgICAgICAgXCJcXHUwMTExXCI6IFwiZGpcIixcbiAgICAgICAgICBcIlxcdTAxMTBcIjogXCJEalwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHJcIjoge1xuICAgICAgICAgIC8vIFR1cmtpc2hcbiAgICAgICAgICBcIlxceERDXCI6IFwiVVwiLFxuICAgICAgICAgIFwiXFx4RDZcIjogXCJPXCIsXG4gICAgICAgICAgXCJcXHhGQ1wiOiBcInVcIixcbiAgICAgICAgICBcIlxceEY2XCI6IFwib1wiXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICB2YXIgc3ltYm9sTWFwID0ge1xuICAgICAgICBcImFyXCI6IHtcbiAgICAgICAgICBcIlxcdTIyMDZcIjogXCJkZWx0YVwiLFxuICAgICAgICAgIFwiXFx1MjIxRVwiOiBcImxhLW5paGF5YVwiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcImhvYlwiLFxuICAgICAgICAgIFwiJlwiOiBcIndhXCIsXG4gICAgICAgICAgXCJ8XCI6IFwiYXdcIixcbiAgICAgICAgICBcIjxcIjogXCJhcWFsLW1lblwiLFxuICAgICAgICAgIFwiPlwiOiBcImFrYmFyLW1lblwiLFxuICAgICAgICAgIFwiXFx1MjIxMVwiOiBcIm1ham1vdVwiLFxuICAgICAgICAgIFwiXFx4QTRcIjogXCJvbWxhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJhelwiOiB7fSxcbiAgICAgICAgXCJjYVwiOiB7XG4gICAgICAgICAgXCJcXHUyMjA2XCI6IFwiZGVsdGFcIixcbiAgICAgICAgICBcIlxcdTIyMUVcIjogXCJpbmZpbml0XCIsXG4gICAgICAgICAgXCJcXHUyNjY1XCI6IFwiYW1vclwiLFxuICAgICAgICAgIFwiJlwiOiBcImlcIixcbiAgICAgICAgICBcInxcIjogXCJvXCIsXG4gICAgICAgICAgXCI8XCI6IFwibWVueXMgcXVlXCIsXG4gICAgICAgICAgXCI+XCI6IFwibWVzIHF1ZVwiLFxuICAgICAgICAgIFwiXFx1MjIxMVwiOiBcInN1bWEgZGVsc1wiLFxuICAgICAgICAgIFwiXFx4QTRcIjogXCJtb25lZGFcIlxuICAgICAgICB9LFxuICAgICAgICBcImNzXCI6IHtcbiAgICAgICAgICBcIlxcdTIyMDZcIjogXCJkZWx0YVwiLFxuICAgICAgICAgIFwiXFx1MjIxRVwiOiBcIm5la29uZWNub1wiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcImxhc2thXCIsXG4gICAgICAgICAgXCImXCI6IFwiYVwiLFxuICAgICAgICAgIFwifFwiOiBcIm5lYm9cIixcbiAgICAgICAgICBcIjxcIjogXCJtZW5zaSBuZXpcIixcbiAgICAgICAgICBcIj5cIjogXCJ2ZXRzaSBuZXpcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzb3VjZXRcIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwibWVuYVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZGVcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwidW5lbmRsaWNoXCIsXG4gICAgICAgICAgXCJcXHUyNjY1XCI6IFwiTGllYmVcIixcbiAgICAgICAgICBcIiZcIjogXCJ1bmRcIixcbiAgICAgICAgICBcInxcIjogXCJvZGVyXCIsXG4gICAgICAgICAgXCI8XCI6IFwia2xlaW5lciBhbHNcIixcbiAgICAgICAgICBcIj5cIjogXCJncm9lc3NlciBhbHNcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJTdW1tZSB2b25cIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwiV2FlaHJ1bmdcIlxuICAgICAgICB9LFxuICAgICAgICBcImR2XCI6IHtcbiAgICAgICAgICBcIlxcdTIyMDZcIjogXCJkZWx0YVwiLFxuICAgICAgICAgIFwiXFx1MjIxRVwiOiBcImtvbHVudWxhYVwiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcImxvYWJpXCIsXG4gICAgICAgICAgXCImXCI6IFwiYWFpXCIsXG4gICAgICAgICAgXCJ8XCI6IFwibm9vbmVlXCIsXG4gICAgICAgICAgXCI8XCI6IFwiYWggdnVyZSBrdWRhXCIsXG4gICAgICAgICAgXCI+XCI6IFwiYWggdnVyZSBib2R1XCIsXG4gICAgICAgICAgXCJcXHUyMjExXCI6IFwianVtdWxhXCIsXG4gICAgICAgICAgXCJcXHhBNFwiOiBcImZhaXNhYVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZW5cIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwiaW5maW5pdHlcIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJsb3ZlXCIsXG4gICAgICAgICAgXCImXCI6IFwiYW5kXCIsXG4gICAgICAgICAgXCJ8XCI6IFwib3JcIixcbiAgICAgICAgICBcIjxcIjogXCJsZXNzIHRoYW5cIixcbiAgICAgICAgICBcIj5cIjogXCJncmVhdGVyIHRoYW5cIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzdW1cIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwiY3VycmVuY3lcIlxuICAgICAgICB9LFxuICAgICAgICBcImVzXCI6IHtcbiAgICAgICAgICBcIlxcdTIyMDZcIjogXCJkZWx0YVwiLFxuICAgICAgICAgIFwiXFx1MjIxRVwiOiBcImluZmluaXRvXCIsXG4gICAgICAgICAgXCJcXHUyNjY1XCI6IFwiYW1vclwiLFxuICAgICAgICAgIFwiJlwiOiBcInlcIixcbiAgICAgICAgICBcInxcIjogXCJ1XCIsXG4gICAgICAgICAgXCI8XCI6IFwibWVub3MgcXVlXCIsXG4gICAgICAgICAgXCI+XCI6IFwibWFzIHF1ZVwiLFxuICAgICAgICAgIFwiXFx1MjIxMVwiOiBcInN1bWEgZGUgbG9zXCIsXG4gICAgICAgICAgXCJcXHhBNFwiOiBcIm1vbmVkYVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZmFcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwiYmktbmFoYXlhdFwiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcImVzaGdoXCIsXG4gICAgICAgICAgXCImXCI6IFwidmFcIixcbiAgICAgICAgICBcInxcIjogXCJ5YVwiLFxuICAgICAgICAgIFwiPFwiOiBcImthbXRhci1helwiLFxuICAgICAgICAgIFwiPlwiOiBcImJpc2h0YXItYXpcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJtYWptb29lXCIsXG4gICAgICAgICAgXCJcXHhBNFwiOiBcInZhaGVkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJmaVwiOiB7XG4gICAgICAgICAgXCJcXHUyMjA2XCI6IFwiZGVsdGFcIixcbiAgICAgICAgICBcIlxcdTIyMUVcIjogXCJhYXJldHRvbXl5c1wiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcInJha2thdXNcIixcbiAgICAgICAgICBcIiZcIjogXCJqYVwiLFxuICAgICAgICAgIFwifFwiOiBcInRhaVwiLFxuICAgICAgICAgIFwiPFwiOiBcInBpZW5lbXBpIGt1aW5cIixcbiAgICAgICAgICBcIj5cIjogXCJzdXVyZW1waSBrdWluXCIsXG4gICAgICAgICAgXCJcXHUyMjExXCI6IFwic3VtbWFcIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwidmFsdXV0dGFcIlxuICAgICAgICB9LFxuICAgICAgICBcImZyXCI6IHtcbiAgICAgICAgICBcIlxcdTIyMDZcIjogXCJkZWx0YVwiLFxuICAgICAgICAgIFwiXFx1MjIxRVwiOiBcImluZmluaW1lbnRcIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJBbW91clwiLFxuICAgICAgICAgIFwiJlwiOiBcImV0XCIsXG4gICAgICAgICAgXCJ8XCI6IFwib3VcIixcbiAgICAgICAgICBcIjxcIjogXCJtb2lucyBxdWVcIixcbiAgICAgICAgICBcIj5cIjogXCJzdXBlcmlldXJlIGFcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzb21tZSBkZXNcIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwibW9ubmFpZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2VcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwidXNhc3J1bG9iYVwiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcInNpcXZhcnVsaVwiLFxuICAgICAgICAgIFwiJlwiOiBcImRhXCIsXG4gICAgICAgICAgXCJ8XCI6IFwiYW5cIixcbiAgICAgICAgICBcIjxcIjogXCJuYWtsZWJpXCIsXG4gICAgICAgICAgXCI+XCI6IFwibWV0aVwiLFxuICAgICAgICAgIFwiXFx1MjIxMVwiOiBcImphbWlcIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwidmFsdXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJnclwiOiB7fSxcbiAgICAgICAgXCJodVwiOiB7XG4gICAgICAgICAgXCJcXHUyMjA2XCI6IFwiZGVsdGFcIixcbiAgICAgICAgICBcIlxcdTIyMUVcIjogXCJ2ZWd0ZWxlblwiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcInN6ZXJlbGVtXCIsXG4gICAgICAgICAgXCImXCI6IFwiZXNcIixcbiAgICAgICAgICBcInxcIjogXCJ2YWd5XCIsXG4gICAgICAgICAgXCI8XCI6IFwia2lzZWJiIG1pbnRcIixcbiAgICAgICAgICBcIj5cIjogXCJuYWd5b2JiIG1pbnRcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzenVtbWFcIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwicGVuem5lbVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwiaW5maW5pdG9cIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJhbW9yZVwiLFxuICAgICAgICAgIFwiJlwiOiBcImVcIixcbiAgICAgICAgICBcInxcIjogXCJvXCIsXG4gICAgICAgICAgXCI8XCI6IFwibWlub3JlIGRpXCIsXG4gICAgICAgICAgXCI+XCI6IFwibWFnZ2lvcmUgZGlcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzb21tYVwiLFxuICAgICAgICAgIFwiXFx4QTRcIjogXCJtb25ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcImx0XCI6IHtcbiAgICAgICAgICBcIlxcdTIyMDZcIjogXCJkZWx0YVwiLFxuICAgICAgICAgIFwiXFx1MjIxRVwiOiBcImJlZ2FseWJlXCIsXG4gICAgICAgICAgXCJcXHUyNjY1XCI6IFwibWVpbGVcIixcbiAgICAgICAgICBcIiZcIjogXCJpclwiLFxuICAgICAgICAgIFwifFwiOiBcImFyXCIsXG4gICAgICAgICAgXCI8XCI6IFwibWF6aWF1IG5laVwiLFxuICAgICAgICAgIFwiPlwiOiBcImRhdWdpYXUgbmVpXCIsXG4gICAgICAgICAgXCJcXHUyMjExXCI6IFwic3VtYVwiLFxuICAgICAgICAgIFwiXFx4QTRcIjogXCJ2YWxpdXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJsdlwiOiB7XG4gICAgICAgICAgXCJcXHUyMjA2XCI6IFwiZGVsdGFcIixcbiAgICAgICAgICBcIlxcdTIyMUVcIjogXCJiZXpnYWxpYmFcIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJtaWxlc3RpYmFcIixcbiAgICAgICAgICBcIiZcIjogXCJ1blwiLFxuICAgICAgICAgIFwifFwiOiBcInZhaVwiLFxuICAgICAgICAgIFwiPFwiOiBcIm1hemFrIG5la2FcIixcbiAgICAgICAgICBcIj5cIjogXCJsaWVsYWtzIG5la2FcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzdW1tYVwiLFxuICAgICAgICAgIFwiXFx4QTRcIjogXCJ2YWx1dGFcIlxuICAgICAgICB9LFxuICAgICAgICBcIm15XCI6IHtcbiAgICAgICAgICBcIlxcdTIyMDZcIjogXCJrd2Foa2h5YWV0XCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwiYXNhb25hc21lXCIsXG4gICAgICAgICAgXCJcXHUyNjY1XCI6IFwiYWtoeWFpdFwiLFxuICAgICAgICAgIFwiJlwiOiBcIm5oaW5cIixcbiAgICAgICAgICBcInxcIjogXCJ0aG9cIixcbiAgICAgICAgICBcIjxcIjogXCJuZ2V0aGF3XCIsXG4gICAgICAgICAgXCI+XCI6IFwia3lpdGhhd1wiLFxuICAgICAgICAgIFwiXFx1MjIxMVwiOiBcInBhdW5nbGRcIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwibmd3ZWt5ZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWtcIjoge30sXG4gICAgICAgIFwibmxcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwib25laW5kaWdcIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJsaWVmZGVcIixcbiAgICAgICAgICBcIiZcIjogXCJlblwiLFxuICAgICAgICAgIFwifFwiOiBcIm9mXCIsXG4gICAgICAgICAgXCI8XCI6IFwia2xlaW5lciBkYW5cIixcbiAgICAgICAgICBcIj5cIjogXCJncm90ZXIgZGFuXCIsXG4gICAgICAgICAgXCJcXHUyMjExXCI6IFwic29tXCIsXG4gICAgICAgICAgXCJcXHhBNFwiOiBcInZhbHV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicGxcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwibmllc2tvbmN6b25vc2NcIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJtaWxvc2NcIixcbiAgICAgICAgICBcIiZcIjogXCJpXCIsXG4gICAgICAgICAgXCJ8XCI6IFwibHViXCIsXG4gICAgICAgICAgXCI8XCI6IFwibW5pZWpzemUgbml6XCIsXG4gICAgICAgICAgXCI+XCI6IFwid2lla3N6ZSBuaXpcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzdW1hXCIsXG4gICAgICAgICAgXCJcXHhBNFwiOiBcIndhbHV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicHRcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwiaW5maW5pdG9cIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJhbW9yXCIsXG4gICAgICAgICAgXCImXCI6IFwiZVwiLFxuICAgICAgICAgIFwifFwiOiBcIm91XCIsXG4gICAgICAgICAgXCI8XCI6IFwibWVub3IgcXVlXCIsXG4gICAgICAgICAgXCI+XCI6IFwibWFpb3IgcXVlXCIsXG4gICAgICAgICAgXCJcXHUyMjExXCI6IFwic29tYVwiLFxuICAgICAgICAgIFwiXFx4QTRcIjogXCJtb2VkYVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicm9cIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwiaW5maW5pdFwiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcImRyYWdvc3RlXCIsXG4gICAgICAgICAgXCImXCI6IFwic2lcIixcbiAgICAgICAgICBcInxcIjogXCJzYXVcIixcbiAgICAgICAgICBcIjxcIjogXCJtYWkgbWljIGNhXCIsXG4gICAgICAgICAgXCI+XCI6IFwibWFpIG1hcmUgY2FcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzdW1hXCIsXG4gICAgICAgICAgXCJcXHhBNFwiOiBcInZhbHV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicnVcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwiYmVza29uZWNobm9cIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJsdWJvdlwiLFxuICAgICAgICAgIFwiJlwiOiBcImlcIixcbiAgICAgICAgICBcInxcIjogXCJpbGlcIixcbiAgICAgICAgICBcIjxcIjogXCJtZW5zaGVcIixcbiAgICAgICAgICBcIj5cIjogXCJib2xzaGVcIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJzdW1tYVwiLFxuICAgICAgICAgIFwiXFx4QTRcIjogXCJ2YWxqdXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJza1wiOiB7XG4gICAgICAgICAgXCJcXHUyMjA2XCI6IFwiZGVsdGFcIixcbiAgICAgICAgICBcIlxcdTIyMUVcIjogXCJuZWtvbmVjbm9cIixcbiAgICAgICAgICBcIlxcdTI2NjVcIjogXCJsYXNrYVwiLFxuICAgICAgICAgIFwiJlwiOiBcImFcIixcbiAgICAgICAgICBcInxcIjogXCJhbGVib1wiLFxuICAgICAgICAgIFwiPFwiOiBcIm1lbmVqIGFrb1wiLFxuICAgICAgICAgIFwiPlwiOiBcInZpYWMgYWtvXCIsXG4gICAgICAgICAgXCJcXHUyMjExXCI6IFwic3VjZXRcIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwibWVuYVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3JcIjoge30sXG4gICAgICAgIFwidHJcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwic29uc3V6bHVrXCIsXG4gICAgICAgICAgXCJcXHUyNjY1XCI6IFwiYXNrXCIsXG4gICAgICAgICAgXCImXCI6IFwidmVcIixcbiAgICAgICAgICBcInxcIjogXCJ2ZXlhXCIsXG4gICAgICAgICAgXCI8XCI6IFwia3VjdWt0dXJcIixcbiAgICAgICAgICBcIj5cIjogXCJidXl1a3R1clwiLFxuICAgICAgICAgIFwiXFx1MjIxMVwiOiBcInRvcGxhbVwiLFxuICAgICAgICAgIFwiXFx4QTRcIjogXCJwYXJhIGJpcmltaVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidWtcIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwiYmV6a2luZWNobmlzdFwiLFxuICAgICAgICAgIFwiXFx1MjY2NVwiOiBcImx1Ym92XCIsXG4gICAgICAgICAgXCImXCI6IFwiaVwiLFxuICAgICAgICAgIFwifFwiOiBcImFib1wiLFxuICAgICAgICAgIFwiPFwiOiBcIm1lbnNoZVwiLFxuICAgICAgICAgIFwiPlwiOiBcImJpbHNoZVwiLFxuICAgICAgICAgIFwiXFx1MjIxMVwiOiBcInN1bWFcIixcbiAgICAgICAgICBcIlxceEE0XCI6IFwidmFsanV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidm5cIjoge1xuICAgICAgICAgIFwiXFx1MjIwNlwiOiBcImRlbHRhXCIsXG4gICAgICAgICAgXCJcXHUyMjFFXCI6IFwidm8gY3VjXCIsXG4gICAgICAgICAgXCJcXHUyNjY1XCI6IFwieWV1XCIsXG4gICAgICAgICAgXCImXCI6IFwidmFcIixcbiAgICAgICAgICBcInxcIjogXCJob2FjXCIsXG4gICAgICAgICAgXCI8XCI6IFwibmhvIGhvblwiLFxuICAgICAgICAgIFwiPlwiOiBcImxvbiBob25cIixcbiAgICAgICAgICBcIlxcdTIyMTFcIjogXCJ0b25nXCIsXG4gICAgICAgICAgXCJcXHhBNFwiOiBcInRpZW4gdGVcIlxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgdmFyIHVyaWNDaGFycyA9IFtcIjtcIiwgXCI/XCIsIFwiOlwiLCBcIkBcIiwgXCImXCIsIFwiPVwiLCBcIitcIiwgXCIkXCIsIFwiLFwiLCBcIi9cIl0uam9pbihcIlwiKTtcbiAgICAgIHZhciB1cmljTm9TbGFzaENoYXJzID0gW1wiO1wiLCBcIj9cIiwgXCI6XCIsIFwiQFwiLCBcIiZcIiwgXCI9XCIsIFwiK1wiLCBcIiRcIiwgXCIsXCJdLmpvaW4oXCJcIik7XG4gICAgICB2YXIgbWFya0NoYXJzID0gW1wiLlwiLCBcIiFcIiwgXCJ+XCIsIFwiKlwiLCBcIidcIiwgXCIoXCIsIFwiKVwiXS5qb2luKFwiXCIpO1xuICAgICAgdmFyIGdldFNsdWcgPSBmdW5jdGlvbiBnZXRTbHVnMihpbnB1dCwgb3B0cykge1xuICAgICAgICB2YXIgc2VwYXJhdG9yID0gXCItXCI7XG4gICAgICAgIHZhciByZXN1bHQgPSBcIlwiO1xuICAgICAgICB2YXIgZGlhdHJpY1N0cmluZyA9IFwiXCI7XG4gICAgICAgIHZhciBjb252ZXJ0U3ltYm9scyA9IHRydWU7XG4gICAgICAgIHZhciBjdXN0b21SZXBsYWNlbWVudHMgPSB7fTtcbiAgICAgICAgdmFyIG1haW50YWluQ2FzZTtcbiAgICAgICAgdmFyIHRpdGxlQ2FzZTtcbiAgICAgICAgdmFyIHRydW5jYXRlO1xuICAgICAgICB2YXIgdXJpY0ZsYWc7XG4gICAgICAgIHZhciB1cmljTm9TbGFzaEZsYWc7XG4gICAgICAgIHZhciBtYXJrRmxhZztcbiAgICAgICAgdmFyIHN5bWJvbDtcbiAgICAgICAgdmFyIGxhbmdDaGFyO1xuICAgICAgICB2YXIgbHVja3k7XG4gICAgICAgIHZhciBpO1xuICAgICAgICB2YXIgY2g7XG4gICAgICAgIHZhciBsO1xuICAgICAgICB2YXIgbGFzdENoYXJXYXNTeW1ib2w7XG4gICAgICAgIHZhciBsYXN0Q2hhcldhc0RpYXRyaWM7XG4gICAgICAgIHZhciBhbGxvd2VkQ2hhcnMgPSBcIlwiO1xuICAgICAgICBpZiAodHlwZW9mIGlucHV0ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBvcHRzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgc2VwYXJhdG9yID0gb3B0cztcbiAgICAgICAgfVxuICAgICAgICBzeW1ib2wgPSBzeW1ib2xNYXAuZW47XG4gICAgICAgIGxhbmdDaGFyID0gbGFuZ0NoYXJNYXAuZW47XG4gICAgICAgIGlmICh0eXBlb2Ygb3B0cyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgIG1haW50YWluQ2FzZSA9IG9wdHMubWFpbnRhaW5DYXNlIHx8IGZhbHNlO1xuICAgICAgICAgIGN1c3RvbVJlcGxhY2VtZW50cyA9IG9wdHMuY3VzdG9tICYmIHR5cGVvZiBvcHRzLmN1c3RvbSA9PT0gXCJvYmplY3RcIiA/IG9wdHMuY3VzdG9tIDogY3VzdG9tUmVwbGFjZW1lbnRzO1xuICAgICAgICAgIHRydW5jYXRlID0gK29wdHMudHJ1bmNhdGUgPiAxICYmIG9wdHMudHJ1bmNhdGUgfHwgZmFsc2U7XG4gICAgICAgICAgdXJpY0ZsYWcgPSBvcHRzLnVyaWMgfHwgZmFsc2U7XG4gICAgICAgICAgdXJpY05vU2xhc2hGbGFnID0gb3B0cy51cmljTm9TbGFzaCB8fCBmYWxzZTtcbiAgICAgICAgICBtYXJrRmxhZyA9IG9wdHMubWFyayB8fCBmYWxzZTtcbiAgICAgICAgICBjb252ZXJ0U3ltYm9scyA9IG9wdHMuc3ltYm9scyA9PT0gZmFsc2UgfHwgb3B0cy5sYW5nID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgICAgICBzZXBhcmF0b3IgPSBvcHRzLnNlcGFyYXRvciB8fCBzZXBhcmF0b3I7XG4gICAgICAgICAgaWYgKHVyaWNGbGFnKSB7XG4gICAgICAgICAgICBhbGxvd2VkQ2hhcnMgKz0gdXJpY0NoYXJzO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodXJpY05vU2xhc2hGbGFnKSB7XG4gICAgICAgICAgICBhbGxvd2VkQ2hhcnMgKz0gdXJpY05vU2xhc2hDaGFycztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1hcmtGbGFnKSB7XG4gICAgICAgICAgICBhbGxvd2VkQ2hhcnMgKz0gbWFya0NoYXJzO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzeW1ib2wgPSBvcHRzLmxhbmcgJiYgc3ltYm9sTWFwW29wdHMubGFuZ10gJiYgY29udmVydFN5bWJvbHMgPyBzeW1ib2xNYXBbb3B0cy5sYW5nXSA6IGNvbnZlcnRTeW1ib2xzID8gc3ltYm9sTWFwLmVuIDoge307XG4gICAgICAgICAgbGFuZ0NoYXIgPSBvcHRzLmxhbmcgJiYgbGFuZ0NoYXJNYXBbb3B0cy5sYW5nXSA/IGxhbmdDaGFyTWFwW29wdHMubGFuZ10gOiBvcHRzLmxhbmcgPT09IGZhbHNlIHx8IG9wdHMubGFuZyA9PT0gdHJ1ZSA/IHt9IDogbGFuZ0NoYXJNYXAuZW47XG4gICAgICAgICAgaWYgKG9wdHMudGl0bGVDYXNlICYmIHR5cGVvZiBvcHRzLnRpdGxlQ2FzZS5sZW5ndGggPT09IFwibnVtYmVyXCIgJiYgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob3B0cy50aXRsZUNhc2UpKSB7XG4gICAgICAgICAgICBvcHRzLnRpdGxlQ2FzZS5mb3JFYWNoKGZ1bmN0aW9uKHYpIHtcbiAgICAgICAgICAgICAgY3VzdG9tUmVwbGFjZW1lbnRzW3YgKyBcIlwiXSA9IHYgKyBcIlwiO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aXRsZUNhc2UgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aXRsZUNhc2UgPSAhIW9wdHMudGl0bGVDYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob3B0cy5jdXN0b20gJiYgdHlwZW9mIG9wdHMuY3VzdG9tLmxlbmd0aCA9PT0gXCJudW1iZXJcIiAmJiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvcHRzLmN1c3RvbSkpIHtcbiAgICAgICAgICAgIG9wdHMuY3VzdG9tLmZvckVhY2goZnVuY3Rpb24odikge1xuICAgICAgICAgICAgICBjdXN0b21SZXBsYWNlbWVudHNbdiArIFwiXCJdID0gdiArIFwiXCI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgT2JqZWN0LmtleXMoY3VzdG9tUmVwbGFjZW1lbnRzKS5mb3JFYWNoKGZ1bmN0aW9uKHYpIHtcbiAgICAgICAgICAgIHZhciByO1xuICAgICAgICAgICAgaWYgKHYubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICByID0gbmV3IFJlZ0V4cChcIlxcXFxiXCIgKyBlc2NhcGVDaGFycyh2KSArIFwiXFxcXGJcIiwgXCJnaVwiKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHIgPSBuZXcgUmVnRXhwKGVzY2FwZUNoYXJzKHYpLCBcImdpXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQgPSBpbnB1dC5yZXBsYWNlKHIsIGN1c3RvbVJlcGxhY2VtZW50c1t2XSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZm9yIChjaCBpbiBjdXN0b21SZXBsYWNlbWVudHMpIHtcbiAgICAgICAgICAgIGFsbG93ZWRDaGFycyArPSBjaDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYWxsb3dlZENoYXJzICs9IHNlcGFyYXRvcjtcbiAgICAgICAgYWxsb3dlZENoYXJzID0gZXNjYXBlQ2hhcnMoYWxsb3dlZENoYXJzKTtcbiAgICAgICAgaW5wdXQgPSBpbnB1dC5yZXBsYWNlKC8oXlxccyt8XFxzKyQpL2csIFwiXCIpO1xuICAgICAgICBsYXN0Q2hhcldhc1N5bWJvbCA9IGZhbHNlO1xuICAgICAgICBsYXN0Q2hhcldhc0RpYXRyaWMgPSBmYWxzZTtcbiAgICAgICAgZm9yIChpID0gMCwgbCA9IGlucHV0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgIGNoID0gaW5wdXRbaV07XG4gICAgICAgICAgaWYgKGlzUmVwbGFjZWRDdXN0b21DaGFyKGNoLCBjdXN0b21SZXBsYWNlbWVudHMpKSB7XG4gICAgICAgICAgICBsYXN0Q2hhcldhc1N5bWJvbCA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSBpZiAobGFuZ0NoYXJbY2hdKSB7XG4gICAgICAgICAgICBjaCA9IGxhc3RDaGFyV2FzU3ltYm9sICYmIGxhbmdDaGFyW2NoXS5tYXRjaCgvW0EtWmEtejAtOV0vKSA/IFwiIFwiICsgbGFuZ0NoYXJbY2hdIDogbGFuZ0NoYXJbY2hdO1xuICAgICAgICAgICAgbGFzdENoYXJXYXNTeW1ib2wgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNoIGluIGNoYXJNYXApIHtcbiAgICAgICAgICAgIGlmIChpICsgMSA8IGwgJiYgbG9va0FoZWFkQ2hhckFycmF5LmluZGV4T2YoaW5wdXRbaSArIDFdKSA+PSAwKSB7XG4gICAgICAgICAgICAgIGRpYXRyaWNTdHJpbmcgKz0gY2g7XG4gICAgICAgICAgICAgIGNoID0gXCJcIjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobGFzdENoYXJXYXNEaWF0cmljID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgIGNoID0gZGlhdHJpY01hcFtkaWF0cmljU3RyaW5nXSArIGNoYXJNYXBbY2hdO1xuICAgICAgICAgICAgICBkaWF0cmljU3RyaW5nID0gXCJcIjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNoID0gbGFzdENoYXJXYXNTeW1ib2wgJiYgY2hhck1hcFtjaF0ubWF0Y2goL1tBLVphLXowLTldLykgPyBcIiBcIiArIGNoYXJNYXBbY2hdIDogY2hhck1hcFtjaF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsYXN0Q2hhcldhc1N5bWJvbCA9IGZhbHNlO1xuICAgICAgICAgICAgbGFzdENoYXJXYXNEaWF0cmljID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIGlmIChjaCBpbiBkaWF0cmljTWFwKSB7XG4gICAgICAgICAgICBkaWF0cmljU3RyaW5nICs9IGNoO1xuICAgICAgICAgICAgY2ggPSBcIlwiO1xuICAgICAgICAgICAgaWYgKGkgPT09IGwgLSAxKSB7XG4gICAgICAgICAgICAgIGNoID0gZGlhdHJpY01hcFtkaWF0cmljU3RyaW5nXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhc3RDaGFyV2FzRGlhdHJpYyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIC8vIHByb2Nlc3Mgc3ltYm9sIGNoYXJzXG4gICAgICAgICAgICBzeW1ib2xbY2hdICYmICEodXJpY0ZsYWcgJiYgdXJpY0NoYXJzLmluZGV4T2YoY2gpICE9PSAtMSkgJiYgISh1cmljTm9TbGFzaEZsYWcgJiYgdXJpY05vU2xhc2hDaGFycy5pbmRleE9mKGNoKSAhPT0gLTEpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjaCA9IGxhc3RDaGFyV2FzU3ltYm9sIHx8IHJlc3VsdC5zdWJzdHIoLTEpLm1hdGNoKC9bQS1aYS16MC05XS8pID8gc2VwYXJhdG9yICsgc3ltYm9sW2NoXSA6IHN5bWJvbFtjaF07XG4gICAgICAgICAgICBjaCArPSBpbnB1dFtpICsgMV0gIT09IHZvaWQgMCAmJiBpbnB1dFtpICsgMV0ubWF0Y2goL1tBLVphLXowLTldLykgPyBzZXBhcmF0b3IgOiBcIlwiO1xuICAgICAgICAgICAgbGFzdENoYXJXYXNTeW1ib2wgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobGFzdENoYXJXYXNEaWF0cmljID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgIGNoID0gZGlhdHJpY01hcFtkaWF0cmljU3RyaW5nXSArIGNoO1xuICAgICAgICAgICAgICBkaWF0cmljU3RyaW5nID0gXCJcIjtcbiAgICAgICAgICAgICAgbGFzdENoYXJXYXNEaWF0cmljID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGxhc3RDaGFyV2FzU3ltYm9sICYmICgvW0EtWmEtejAtOV0vLnRlc3QoY2gpIHx8IHJlc3VsdC5zdWJzdHIoLTEpLm1hdGNoKC9BLVphLXowLTldLykpKSB7XG4gICAgICAgICAgICAgIGNoID0gXCIgXCIgKyBjaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhc3RDaGFyV2FzU3ltYm9sID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdCArPSBjaC5yZXBsYWNlKG5ldyBSZWdFeHAoXCJbXlxcXFx3XFxcXHNcIiArIGFsbG93ZWRDaGFycyArIFwiXy1dXCIsIFwiZ1wiKSwgc2VwYXJhdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGl0bGVDYXNlKSB7XG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoLyhcXHcpKFxcUyopL2csIGZ1bmN0aW9uKF8sIGkyLCByKSB7XG4gICAgICAgICAgICB2YXIgaiA9IGkyLnRvVXBwZXJDYXNlKCkgKyAociAhPT0gbnVsbCA/IHIgOiBcIlwiKTtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhjdXN0b21SZXBsYWNlbWVudHMpLmluZGV4T2Yoai50b0xvd2VyQ2FzZSgpKSA8IDAgPyBqIDogai50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9cXHMrL2csIHNlcGFyYXRvcikucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXFwiICsgc2VwYXJhdG9yICsgXCIrXCIsIFwiZ1wiKSwgc2VwYXJhdG9yKS5yZXBsYWNlKG5ldyBSZWdFeHAoXCIoXlxcXFxcIiArIHNlcGFyYXRvciArIFwiK3xcXFxcXCIgKyBzZXBhcmF0b3IgKyBcIiskKVwiLCBcImdcIiksIFwiXCIpO1xuICAgICAgICBpZiAodHJ1bmNhdGUgJiYgcmVzdWx0Lmxlbmd0aCA+IHRydW5jYXRlKSB7XG4gICAgICAgICAgbHVja3kgPSByZXN1bHQuY2hhckF0KHRydW5jYXRlKSA9PT0gc2VwYXJhdG9yO1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zbGljZSgwLCB0cnVuY2F0ZSk7XG4gICAgICAgICAgaWYgKCFsdWNreSkge1xuICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnNsaWNlKDAsIHJlc3VsdC5sYXN0SW5kZXhPZihzZXBhcmF0b3IpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtYWludGFpbkNhc2UgJiYgIXRpdGxlQ2FzZSkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgICAgdmFyIGNyZWF0ZVNsdWcgPSBmdW5jdGlvbiBjcmVhdGVTbHVnMihvcHRzKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBnZXRTbHVnV2l0aENvbmZpZyhpbnB1dCkge1xuICAgICAgICAgIHJldHVybiBnZXRTbHVnKGlucHV0LCBvcHRzKTtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICB2YXIgZXNjYXBlQ2hhcnMgPSBmdW5jdGlvbiBlc2NhcGVDaGFyczIoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0LnJlcGxhY2UoL1stXFxcXF4kKis/LigpfFtcXF17fVxcL10vZywgXCJcXFxcJCZcIik7XG4gICAgICB9O1xuICAgICAgdmFyIGlzUmVwbGFjZWRDdXN0b21DaGFyID0gZnVuY3Rpb24oY2gsIGN1c3RvbVJlcGxhY2VtZW50cykge1xuICAgICAgICBmb3IgKHZhciBjIGluIGN1c3RvbVJlcGxhY2VtZW50cykge1xuICAgICAgICAgIGlmIChjdXN0b21SZXBsYWNlbWVudHNbY10gPT09IGNoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBtb2R1bGUuZXhwb3J0cykge1xuICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IGdldFNsdWc7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzLmNyZWF0ZVNsdWcgPSBjcmVhdGVTbHVnO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lICE9PSBcInVuZGVmaW5lZFwiICYmIGRlZmluZS5hbWQpIHtcbiAgICAgICAgZGVmaW5lKFtdLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gZ2V0U2x1ZztcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChyb290LmdldFNsdWcgfHwgcm9vdC5jcmVhdGVTbHVnKSB7XG4gICAgICAgICAgICB0aHJvdyBcInNwZWFraW5ndXJsOiBnbG9iYWxzIGV4aXN0cyAvKGdldFNsdWd8Y3JlYXRlU2x1ZykvXCI7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvb3QuZ2V0U2x1ZyA9IGdldFNsdWc7XG4gICAgICAgICAgICByb290LmNyZWF0ZVNsdWcgPSBjcmVhdGVTbHVnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoZXhwb3J0cyk7XG4gIH1cbn0pO1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vc3BlYWtpbmd1cmxAMTQuMC4xL25vZGVfbW9kdWxlcy9zcGVha2luZ3VybC9pbmRleC5qc1xudmFyIHJlcXVpcmVfc3BlYWtpbmd1cmwyID0gX19jb21tb25KUyh7XG4gIFwiLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3NwZWFraW5ndXJsQDE0LjAuMS9ub2RlX21vZHVsZXMvc3BlYWtpbmd1cmwvaW5kZXguanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBpbml0X2VzbV9zaGltcygpO1xuICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZV9zcGVha2luZ3VybCgpO1xuICB9XG59KTtcblxuLy8gc3JjL2luZGV4LnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyBzcmMvY29yZS9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IGlzTnV4dEFwcCwgdGFyZ2V0IGFzIHRhcmdldDEzIH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9jb21wYXQvaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyB0YXJnZXQgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbmZ1bmN0aW9uIG9uTGVnYWN5RGV2VG9vbHNQbHVnaW5BcGlBdmFpbGFibGUoY2IpIHtcbiAgaWYgKHRhcmdldC5fX1ZVRV9ERVZUT09MU19QTFVHSU5fQVBJX0FWQUlMQUJMRV9fKSB7XG4gICAgY2IoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgXCJfX1ZVRV9ERVZUT09MU19QTFVHSU5fQVBJX0FWQUlMQUJMRV9fXCIsIHtcbiAgICBzZXQodmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSlcbiAgICAgICAgY2IoKTtcbiAgICB9LFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuLy8gc3JjL2N0eC9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IHRhcmdldCBhcyB0YXJnZXQxMSB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL0B2dWUvZGV2dG9vbHMtc2hhcmVkL2Rpc3QvaW5kZXguanM/dj1lNGYxOGMyOVwiO1xuXG4vLyBzcmMvY3R4L2FwaS50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IHRhcmdldCBhcyB0YXJnZXQ5IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC1oaWdobGlnaHRlci9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3N0YXRlL2JvdW5kaW5nLXJlY3QudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC91dGlscy9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IGJhc2VuYW1lLCBjbGFzc2lmeSB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL0B2dWUvZGV2dG9vbHMtc2hhcmVkL2Rpc3QvaW5kZXguanM/dj1lNGYxOGMyOVwiO1xuZnVuY3Rpb24gZ2V0Q29tcG9uZW50VHlwZU5hbWUob3B0aW9ucykge1xuICB2YXIgX2EyNTtcbiAgY29uc3QgbmFtZSA9IG9wdGlvbnMubmFtZSB8fCBvcHRpb25zLl9jb21wb25lbnRUYWcgfHwgb3B0aW9ucy5fX1ZVRV9ERVZUT09MU19DT01QT05FTlRfR1VTU0VEX05BTUVfXyB8fCBvcHRpb25zLl9fbmFtZTtcbiAgaWYgKG5hbWUgPT09IFwiaW5kZXhcIiAmJiAoKF9hMjUgPSBvcHRpb25zLl9fZmlsZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUuZW5kc1dpdGgoXCJpbmRleC52dWVcIikpKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cbiAgcmV0dXJuIG5hbWU7XG59XG5mdW5jdGlvbiBnZXRDb21wb25lbnRGaWxlTmFtZShvcHRpb25zKSB7XG4gIGNvbnN0IGZpbGUgPSBvcHRpb25zLl9fZmlsZTtcbiAgaWYgKGZpbGUpXG4gICAgcmV0dXJuIGNsYXNzaWZ5KGJhc2VuYW1lKGZpbGUsIFwiLnZ1ZVwiKSk7XG59XG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lKG9wdGlvbnMpIHtcbiAgY29uc3QgbmFtZSA9IG9wdGlvbnMuZGlzcGxheU5hbWUgfHwgb3B0aW9ucy5uYW1lIHx8IG9wdGlvbnMuX2NvbXBvbmVudFRhZztcbiAgaWYgKG5hbWUpXG4gICAgcmV0dXJuIG5hbWU7XG4gIHJldHVybiBnZXRDb21wb25lbnRGaWxlTmFtZShvcHRpb25zKTtcbn1cbmZ1bmN0aW9uIHNhdmVDb21wb25lbnRHdXNzZWROYW1lKGluc3RhbmNlLCBuYW1lKSB7XG4gIGluc3RhbmNlLnR5cGUuX19WVUVfREVWVE9PTFNfQ09NUE9ORU5UX0dVU1NFRF9OQU1FX18gPSBuYW1lO1xuICByZXR1cm4gbmFtZTtcbn1cbmZ1bmN0aW9uIGdldEFwcFJlY29yZChpbnN0YW5jZSkge1xuICBpZiAoaW5zdGFuY2UuX19WVUVfREVWVE9PTFNfTkVYVF9BUFBfUkVDT1JEX18pXG4gICAgcmV0dXJuIGluc3RhbmNlLl9fVlVFX0RFVlRPT0xTX05FWFRfQVBQX1JFQ09SRF9fO1xuICBlbHNlIGlmIChpbnN0YW5jZS5yb290KVxuICAgIHJldHVybiBpbnN0YW5jZS5hcHBDb250ZXh0LmFwcC5fX1ZVRV9ERVZUT09MU19ORVhUX0FQUF9SRUNPUkRfXztcbn1cbmFzeW5jIGZ1bmN0aW9uIGdldENvbXBvbmVudElkKG9wdGlvbnMpIHtcbiAgY29uc3QgeyBhcHAsIHVpZCwgaW5zdGFuY2UgfSA9IG9wdGlvbnM7XG4gIHRyeSB7XG4gICAgaWYgKGluc3RhbmNlLl9fVlVFX0RFVlRPT0xTX05FWFRfVUlEX18pXG4gICAgICByZXR1cm4gaW5zdGFuY2UuX19WVUVfREVWVE9PTFNfTkVYVF9VSURfXztcbiAgICBjb25zdCBhcHBSZWNvcmQgPSBhd2FpdCBnZXRBcHBSZWNvcmQoYXBwKTtcbiAgICBpZiAoIWFwcFJlY29yZClcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGlzUm9vdCA9IGFwcFJlY29yZC5yb290SW5zdGFuY2UgPT09IGluc3RhbmNlO1xuICAgIHJldHVybiBgJHthcHBSZWNvcmQuaWR9OiR7aXNSb290ID8gXCJyb290XCIgOiB1aWR9YDtcbiAgfSBjYXRjaCAoZSkge1xuICB9XG59XG5mdW5jdGlvbiBpc0ZyYWdtZW50KGluc3RhbmNlKSB7XG4gIHZhciBfYTI1LCBfYjI1O1xuICBjb25zdCBzdWJUcmVlVHlwZSA9IChfYTI1ID0gaW5zdGFuY2Uuc3ViVHJlZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUudHlwZTtcbiAgY29uc3QgYXBwUmVjb3JkID0gZ2V0QXBwUmVjb3JkKGluc3RhbmNlKTtcbiAgaWYgKGFwcFJlY29yZCkge1xuICAgIHJldHVybiAoKF9iMjUgPSBhcHBSZWNvcmQgPT0gbnVsbCA/IHZvaWQgMCA6IGFwcFJlY29yZC50eXBlcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9iMjUuRnJhZ21lbnQpID09PSBzdWJUcmVlVHlwZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBpc0JlaW5nRGVzdHJveWVkKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZS5faXNCZWluZ0Rlc3Ryb3llZCB8fCBpbnN0YW5jZS5pc1VubW91bnRlZDtcbn1cbmZ1bmN0aW9uIGdldEluc3RhbmNlTmFtZShpbnN0YW5jZSkge1xuICB2YXIgX2EyNSwgX2IyNSwgX2M7XG4gIGNvbnN0IG5hbWUgPSBnZXRDb21wb25lbnRUeXBlTmFtZSgoaW5zdGFuY2UgPT0gbnVsbCA/IHZvaWQgMCA6IGluc3RhbmNlLnR5cGUpIHx8IHt9KTtcbiAgaWYgKG5hbWUpXG4gICAgcmV0dXJuIG5hbWU7XG4gIGlmICgoaW5zdGFuY2UgPT0gbnVsbCA/IHZvaWQgMCA6IGluc3RhbmNlLnJvb3QpID09PSBpbnN0YW5jZSlcbiAgICByZXR1cm4gXCJSb290XCI7XG4gIGZvciAoY29uc3Qga2V5IGluIChfYjI1ID0gKF9hMjUgPSBpbnN0YW5jZS5wYXJlbnQpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1LnR5cGUpID09IG51bGwgPyB2b2lkIDAgOiBfYjI1LmNvbXBvbmVudHMpIHtcbiAgICBpZiAoaW5zdGFuY2UucGFyZW50LnR5cGUuY29tcG9uZW50c1trZXldID09PSAoaW5zdGFuY2UgPT0gbnVsbCA/IHZvaWQgMCA6IGluc3RhbmNlLnR5cGUpKVxuICAgICAgcmV0dXJuIHNhdmVDb21wb25lbnRHdXNzZWROYW1lKGluc3RhbmNlLCBrZXkpO1xuICB9XG4gIGZvciAoY29uc3Qga2V5IGluIChfYyA9IGluc3RhbmNlLmFwcENvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfYy5jb21wb25lbnRzKSB7XG4gICAgaWYgKGluc3RhbmNlLmFwcENvbnRleHQuY29tcG9uZW50c1trZXldID09PSAoaW5zdGFuY2UgPT0gbnVsbCA/IHZvaWQgMCA6IGluc3RhbmNlLnR5cGUpKVxuICAgICAgcmV0dXJuIHNhdmVDb21wb25lbnRHdXNzZWROYW1lKGluc3RhbmNlLCBrZXkpO1xuICB9XG4gIGNvbnN0IGZpbGVOYW1lID0gZ2V0Q29tcG9uZW50RmlsZU5hbWUoKGluc3RhbmNlID09IG51bGwgPyB2b2lkIDAgOiBpbnN0YW5jZS50eXBlKSB8fCB7fSk7XG4gIGlmIChmaWxlTmFtZSlcbiAgICByZXR1cm4gZmlsZU5hbWU7XG4gIHJldHVybiBcIkFub255bW91cyBDb21wb25lbnRcIjtcbn1cbmZ1bmN0aW9uIGdldFVuaXF1ZUNvbXBvbmVudElkKGluc3RhbmNlKSB7XG4gIHZhciBfYTI1LCBfYjI1LCBfYztcbiAgY29uc3QgYXBwSWQgPSAoX2MgPSAoX2IyNSA9IChfYTI1ID0gaW5zdGFuY2UgPT0gbnVsbCA/IHZvaWQgMCA6IGluc3RhbmNlLmFwcENvbnRleHQpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1LmFwcCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iMjUuX19WVUVfREVWVE9PTFNfTkVYVF9BUFBfUkVDT1JEX0lEX18pICE9IG51bGwgPyBfYyA6IDA7XG4gIGNvbnN0IGluc3RhbmNlSWQgPSBpbnN0YW5jZSA9PT0gKGluc3RhbmNlID09IG51bGwgPyB2b2lkIDAgOiBpbnN0YW5jZS5yb290KSA/IFwicm9vdFwiIDogaW5zdGFuY2UudWlkO1xuICByZXR1cm4gYCR7YXBwSWR9OiR7aW5zdGFuY2VJZH1gO1xufVxuZnVuY3Rpb24gZ2V0UmVuZGVyS2V5KHZhbHVlKSB7XG4gIGlmICh2YWx1ZSA9PSBudWxsKVxuICAgIHJldHVybiBcIlwiO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKVxuICAgIHJldHVybiB2YWx1ZTtcbiAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBgJyR7dmFsdWV9J2A7XG4gIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgIHJldHVybiBcIkFycmF5XCI7XG4gIGVsc2VcbiAgICByZXR1cm4gXCJPYmplY3RcIjtcbn1cbmZ1bmN0aW9uIHJldHVybkVycm9yKGNiKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGNiKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50SW5zdGFuY2UoYXBwUmVjb3JkLCBpbnN0YW5jZUlkKSB7XG4gIGluc3RhbmNlSWQgPSBpbnN0YW5jZUlkIHx8IGAke2FwcFJlY29yZC5pZH06cm9vdGA7XG4gIGNvbnN0IGluc3RhbmNlID0gYXBwUmVjb3JkLmluc3RhbmNlTWFwLmdldChpbnN0YW5jZUlkKTtcbiAgcmV0dXJuIGluc3RhbmNlIHx8IGFwcFJlY29yZC5pbnN0YW5jZU1hcC5nZXQoXCI6cm9vdFwiKTtcbn1cbmZ1bmN0aW9uIGVuc3VyZVByb3BlcnR5RXhpc3RzKG9iaiwga2V5LCBza2lwT2JqQ2hlY2sgPSBmYWxzZSkge1xuICByZXR1cm4gc2tpcE9iakNoZWNrID8ga2V5IGluIG9iaiA6IHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgJiYgb2JqICE9PSBudWxsID8ga2V5IGluIG9iaiA6IGZhbHNlO1xufVxuXG4vLyBzcmMvY29yZS9jb21wb25lbnQvc3RhdGUvYm91bmRpbmctcmVjdC50c1xuZnVuY3Rpb24gY3JlYXRlUmVjdCgpIHtcbiAgY29uc3QgcmVjdCA9IHtcbiAgICB0b3A6IDAsXG4gICAgYm90dG9tOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgcmlnaHQ6IDAsXG4gICAgZ2V0IHdpZHRoKCkge1xuICAgICAgcmV0dXJuIHJlY3QucmlnaHQgLSByZWN0LmxlZnQ7XG4gICAgfSxcbiAgICBnZXQgaGVpZ2h0KCkge1xuICAgICAgcmV0dXJuIHJlY3QuYm90dG9tIC0gcmVjdC50b3A7XG4gICAgfVxuICB9O1xuICByZXR1cm4gcmVjdDtcbn1cbnZhciByYW5nZTtcbmZ1bmN0aW9uIGdldFRleHRSZWN0KG5vZGUpIHtcbiAgaWYgKCFyYW5nZSlcbiAgICByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gIHJhbmdlLnNlbGVjdE5vZGUobm9kZSk7XG4gIHJldHVybiByYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbn1cbmZ1bmN0aW9uIGdldEZyYWdtZW50UmVjdCh2bm9kZSkge1xuICBjb25zdCByZWN0ID0gY3JlYXRlUmVjdCgpO1xuICBpZiAoIXZub2RlLmNoaWxkcmVuKVxuICAgIHJldHVybiByZWN0O1xuICBmb3IgKGxldCBpID0gMCwgbCA9IHZub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGNvbnN0IGNoaWxkVm5vZGUgPSB2bm9kZS5jaGlsZHJlbltpXTtcbiAgICBsZXQgY2hpbGRSZWN0O1xuICAgIGlmIChjaGlsZFZub2RlLmNvbXBvbmVudCkge1xuICAgICAgY2hpbGRSZWN0ID0gZ2V0Q29tcG9uZW50Qm91bmRpbmdSZWN0KGNoaWxkVm5vZGUuY29tcG9uZW50KTtcbiAgICB9IGVsc2UgaWYgKGNoaWxkVm5vZGUuZWwpIHtcbiAgICAgIGNvbnN0IGVsID0gY2hpbGRWbm9kZS5lbDtcbiAgICAgIGlmIChlbC5ub2RlVHlwZSA9PT0gMSB8fCBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QpXG4gICAgICAgIGNoaWxkUmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgZWxzZSBpZiAoZWwubm9kZVR5cGUgPT09IDMgJiYgZWwuZGF0YS50cmltKCkpXG4gICAgICAgIGNoaWxkUmVjdCA9IGdldFRleHRSZWN0KGVsKTtcbiAgICB9XG4gICAgaWYgKGNoaWxkUmVjdClcbiAgICAgIG1lcmdlUmVjdHMocmVjdCwgY2hpbGRSZWN0KTtcbiAgfVxuICByZXR1cm4gcmVjdDtcbn1cbmZ1bmN0aW9uIG1lcmdlUmVjdHMoYSwgYikge1xuICBpZiAoIWEudG9wIHx8IGIudG9wIDwgYS50b3ApXG4gICAgYS50b3AgPSBiLnRvcDtcbiAgaWYgKCFhLmJvdHRvbSB8fCBiLmJvdHRvbSA+IGEuYm90dG9tKVxuICAgIGEuYm90dG9tID0gYi5ib3R0b207XG4gIGlmICghYS5sZWZ0IHx8IGIubGVmdCA8IGEubGVmdClcbiAgICBhLmxlZnQgPSBiLmxlZnQ7XG4gIGlmICghYS5yaWdodCB8fCBiLnJpZ2h0ID4gYS5yaWdodClcbiAgICBhLnJpZ2h0ID0gYi5yaWdodDtcbiAgcmV0dXJuIGE7XG59XG52YXIgREVGQVVMVF9SRUNUID0ge1xuICB0b3A6IDAsXG4gIGxlZnQ6IDAsXG4gIHJpZ2h0OiAwLFxuICBib3R0b206IDAsXG4gIHdpZHRoOiAwLFxuICBoZWlnaHQ6IDBcbn07XG5mdW5jdGlvbiBnZXRDb21wb25lbnRCb3VuZGluZ1JlY3QoaW5zdGFuY2UpIHtcbiAgY29uc3QgZWwgPSBpbnN0YW5jZS5zdWJUcmVlLmVsO1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHJldHVybiBERUZBVUxUX1JFQ1Q7XG4gIH1cbiAgaWYgKGlzRnJhZ21lbnQoaW5zdGFuY2UpKVxuICAgIHJldHVybiBnZXRGcmFnbWVudFJlY3QoaW5zdGFuY2Uuc3ViVHJlZSk7XG4gIGVsc2UgaWYgKChlbCA9PSBudWxsID8gdm9pZCAwIDogZWwubm9kZVR5cGUpID09PSAxKVxuICAgIHJldHVybiBlbCA9PSBudWxsID8gdm9pZCAwIDogZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGVsc2UgaWYgKGluc3RhbmNlLnN1YlRyZWUuY29tcG9uZW50KVxuICAgIHJldHVybiBnZXRDb21wb25lbnRCb3VuZGluZ1JlY3QoaW5zdGFuY2Uuc3ViVHJlZS5jb21wb25lbnQpO1xuICBlbHNlXG4gICAgcmV0dXJuIERFRkFVTFRfUkVDVDtcbn1cblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3RyZWUvZWwudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5mdW5jdGlvbiBnZXRSb290RWxlbWVudHNGcm9tQ29tcG9uZW50SW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgaWYgKGlzRnJhZ21lbnQoaW5zdGFuY2UpKVxuICAgIHJldHVybiBnZXRGcmFnbWVudFJvb3RFbGVtZW50cyhpbnN0YW5jZS5zdWJUcmVlKTtcbiAgaWYgKCFpbnN0YW5jZS5zdWJUcmVlKVxuICAgIHJldHVybiBbXTtcbiAgcmV0dXJuIFtpbnN0YW5jZS5zdWJUcmVlLmVsXTtcbn1cbmZ1bmN0aW9uIGdldEZyYWdtZW50Um9vdEVsZW1lbnRzKHZub2RlKSB7XG4gIGlmICghdm5vZGUuY2hpbGRyZW4pXG4gICAgcmV0dXJuIFtdO1xuICBjb25zdCBsaXN0ID0gW107XG4gIHZub2RlLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkVm5vZGUpID0+IHtcbiAgICBpZiAoY2hpbGRWbm9kZS5jb21wb25lbnQpXG4gICAgICBsaXN0LnB1c2goLi4uZ2V0Um9vdEVsZW1lbnRzRnJvbUNvbXBvbmVudEluc3RhbmNlKGNoaWxkVm5vZGUuY29tcG9uZW50KSk7XG4gICAgZWxzZSBpZiAoY2hpbGRWbm9kZSA9PSBudWxsID8gdm9pZCAwIDogY2hpbGRWbm9kZS5lbClcbiAgICAgIGxpc3QucHVzaChjaGlsZFZub2RlLmVsKTtcbiAgfSk7XG4gIHJldHVybiBsaXN0O1xufVxuXG4vLyBzcmMvY29yZS9jb21wb25lbnQtaGlnaGxpZ2h0ZXIvaW5kZXgudHNcbnZhciBDT05UQUlORVJfRUxFTUVOVF9JRCA9IFwiX192dWUtZGV2dG9vbHMtY29tcG9uZW50LWluc3BlY3Rvcl9fXCI7XG52YXIgQ0FSRF9FTEVNRU5UX0lEID0gXCJfX3Z1ZS1kZXZ0b29scy1jb21wb25lbnQtaW5zcGVjdG9yX19jYXJkX19cIjtcbnZhciBDT01QT05FTlRfTkFNRV9FTEVNRU5UX0lEID0gXCJfX3Z1ZS1kZXZ0b29scy1jb21wb25lbnQtaW5zcGVjdG9yX19uYW1lX19cIjtcbnZhciBJTkRJQ0FUT1JfRUxFTUVOVF9JRCA9IFwiX192dWUtZGV2dG9vbHMtY29tcG9uZW50LWluc3BlY3Rvcl9faW5kaWNhdG9yX19cIjtcbnZhciBjb250YWluZXJTdHlsZXMgPSB7XG4gIGRpc3BsYXk6IFwiYmxvY2tcIixcbiAgekluZGV4OiAyMTQ3NDgzNjQwLFxuICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFwiIzQyYjg4MzI1XCIsXG4gIGJvcmRlcjogXCIxcHggc29saWQgIzQyYjg4MzUwXCIsXG4gIGJvcmRlclJhZGl1czogXCI1cHhcIixcbiAgdHJhbnNpdGlvbjogXCJhbGwgMC4xcyBlYXNlLWluXCIsXG4gIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiXG59O1xudmFyIGNhcmRTdHlsZXMgPSB7XG4gIGZvbnRGYW1pbHk6IFwiQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZlwiLFxuICBwYWRkaW5nOiBcIjVweCA4cHhcIixcbiAgYm9yZGVyUmFkaXVzOiBcIjRweFwiLFxuICB0ZXh0QWxpZ246IFwibGVmdFwiLFxuICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICBsZWZ0OiAwLFxuICBjb2xvcjogXCIjZTllOWU5XCIsXG4gIGZvbnRTaXplOiBcIjE0cHhcIixcbiAgZm9udFdlaWdodDogNjAwLFxuICBsaW5lSGVpZ2h0OiBcIjI0cHhcIixcbiAgYmFja2dyb3VuZENvbG9yOiBcIiM0MmI4ODNcIixcbiAgYm94U2hhZG93OiBcIjAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxcHggMnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpXCJcbn07XG52YXIgaW5kaWNhdG9yU3R5bGVzID0ge1xuICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiLFxuICBmb250V2VpZ2h0OiA0MDAsXG4gIGZvbnRTdHlsZTogXCJub3JtYWxcIixcbiAgZm9udFNpemU6IFwiMTJweFwiLFxuICBvcGFjaXR5OiAwLjdcbn07XG5mdW5jdGlvbiBnZXRDb250YWluZXJFbGVtZW50KCkge1xuICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoQ09OVEFJTkVSX0VMRU1FTlRfSUQpO1xufVxuZnVuY3Rpb24gZ2V0Q2FyZEVsZW1lbnQoKSB7XG4gIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChDQVJEX0VMRU1FTlRfSUQpO1xufVxuZnVuY3Rpb24gZ2V0SW5kaWNhdG9yRWxlbWVudCgpIHtcbiAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKElORElDQVRPUl9FTEVNRU5UX0lEKTtcbn1cbmZ1bmN0aW9uIGdldE5hbWVFbGVtZW50KCkge1xuICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoQ09NUE9ORU5UX05BTUVfRUxFTUVOVF9JRCk7XG59XG5mdW5jdGlvbiBnZXRTdHlsZXMoYm91bmRzKSB7XG4gIHJldHVybiB7XG4gICAgbGVmdDogYCR7TWF0aC5yb3VuZChib3VuZHMubGVmdCAqIDEwMCkgLyAxMDB9cHhgLFxuICAgIHRvcDogYCR7TWF0aC5yb3VuZChib3VuZHMudG9wICogMTAwKSAvIDEwMH1weGAsXG4gICAgd2lkdGg6IGAke01hdGgucm91bmQoYm91bmRzLndpZHRoICogMTAwKSAvIDEwMH1weGAsXG4gICAgaGVpZ2h0OiBgJHtNYXRoLnJvdW5kKGJvdW5kcy5oZWlnaHQgKiAxMDApIC8gMTAwfXB4YFxuICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlKG9wdGlvbnMpIHtcbiAgdmFyIF9hMjU7XG4gIGNvbnN0IGNvbnRhaW5lckVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgY29udGFpbmVyRWwuaWQgPSAoX2EyNSA9IG9wdGlvbnMuZWxlbWVudElkKSAhPSBudWxsID8gX2EyNSA6IENPTlRBSU5FUl9FTEVNRU5UX0lEO1xuICBPYmplY3QuYXNzaWduKGNvbnRhaW5lckVsLnN0eWxlLCB7XG4gICAgLi4uY29udGFpbmVyU3R5bGVzLFxuICAgIC4uLmdldFN0eWxlcyhvcHRpb25zLmJvdW5kcyksXG4gICAgLi4ub3B0aW9ucy5zdHlsZVxuICB9KTtcbiAgY29uc3QgY2FyZEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gIGNhcmRFbC5pZCA9IENBUkRfRUxFTUVOVF9JRDtcbiAgT2JqZWN0LmFzc2lnbihjYXJkRWwuc3R5bGUsIHtcbiAgICAuLi5jYXJkU3R5bGVzLFxuICAgIHRvcDogb3B0aW9ucy5ib3VuZHMudG9wIDwgMzUgPyAwIDogXCItMzVweFwiXG4gIH0pO1xuICBjb25zdCBuYW1lRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtcbiAgbmFtZUVsLmlkID0gQ09NUE9ORU5UX05BTUVfRUxFTUVOVF9JRDtcbiAgbmFtZUVsLmlubmVySFRNTCA9IGAmbHQ7JHtvcHRpb25zLm5hbWV9Jmd0OyZuYnNwOyZuYnNwO2A7XG4gIGNvbnN0IGluZGljYXRvckVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlcIik7XG4gIGluZGljYXRvckVsLmlkID0gSU5ESUNBVE9SX0VMRU1FTlRfSUQ7XG4gIGluZGljYXRvckVsLmlubmVySFRNTCA9IGAke01hdGgucm91bmQob3B0aW9ucy5ib3VuZHMud2lkdGggKiAxMDApIC8gMTAwfSB4ICR7TWF0aC5yb3VuZChvcHRpb25zLmJvdW5kcy5oZWlnaHQgKiAxMDApIC8gMTAwfWA7XG4gIE9iamVjdC5hc3NpZ24oaW5kaWNhdG9yRWwuc3R5bGUsIGluZGljYXRvclN0eWxlcyk7XG4gIGNhcmRFbC5hcHBlbmRDaGlsZChuYW1lRWwpO1xuICBjYXJkRWwuYXBwZW5kQ2hpbGQoaW5kaWNhdG9yRWwpO1xuICBjb250YWluZXJFbC5hcHBlbmRDaGlsZChjYXJkRWwpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lckVsKTtcbiAgcmV0dXJuIGNvbnRhaW5lckVsO1xufVxuZnVuY3Rpb24gdXBkYXRlKG9wdGlvbnMpIHtcbiAgY29uc3QgY29udGFpbmVyRWwgPSBnZXRDb250YWluZXJFbGVtZW50KCk7XG4gIGNvbnN0IGNhcmRFbCA9IGdldENhcmRFbGVtZW50KCk7XG4gIGNvbnN0IG5hbWVFbCA9IGdldE5hbWVFbGVtZW50KCk7XG4gIGNvbnN0IGluZGljYXRvckVsID0gZ2V0SW5kaWNhdG9yRWxlbWVudCgpO1xuICBpZiAoY29udGFpbmVyRWwpIHtcbiAgICBPYmplY3QuYXNzaWduKGNvbnRhaW5lckVsLnN0eWxlLCB7XG4gICAgICAuLi5jb250YWluZXJTdHlsZXMsXG4gICAgICAuLi5nZXRTdHlsZXMob3B0aW9ucy5ib3VuZHMpXG4gICAgfSk7XG4gICAgT2JqZWN0LmFzc2lnbihjYXJkRWwuc3R5bGUsIHtcbiAgICAgIHRvcDogb3B0aW9ucy5ib3VuZHMudG9wIDwgMzUgPyAwIDogXCItMzVweFwiXG4gICAgfSk7XG4gICAgbmFtZUVsLmlubmVySFRNTCA9IGAmbHQ7JHtvcHRpb25zLm5hbWV9Jmd0OyZuYnNwOyZuYnNwO2A7XG4gICAgaW5kaWNhdG9yRWwuaW5uZXJIVE1MID0gYCR7TWF0aC5yb3VuZChvcHRpb25zLmJvdW5kcy53aWR0aCAqIDEwMCkgLyAxMDB9IHggJHtNYXRoLnJvdW5kKG9wdGlvbnMuYm91bmRzLmhlaWdodCAqIDEwMCkgLyAxMDB9YDtcbiAgfVxufVxuZnVuY3Rpb24gaGlnaGxpZ2h0KGluc3RhbmNlKSB7XG4gIGNvbnN0IGJvdW5kcyA9IGdldENvbXBvbmVudEJvdW5kaW5nUmVjdChpbnN0YW5jZSk7XG4gIGlmICghYm91bmRzLndpZHRoICYmICFib3VuZHMuaGVpZ2h0KVxuICAgIHJldHVybjtcbiAgY29uc3QgbmFtZSA9IGdldEluc3RhbmNlTmFtZShpbnN0YW5jZSk7XG4gIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lckVsZW1lbnQoKTtcbiAgY29udGFpbmVyID8gdXBkYXRlKHsgYm91bmRzLCBuYW1lIH0pIDogY3JlYXRlKHsgYm91bmRzLCBuYW1lIH0pO1xufVxuZnVuY3Rpb24gdW5oaWdobGlnaHQoKSB7XG4gIGNvbnN0IGVsID0gZ2V0Q29udGFpbmVyRWxlbWVudCgpO1xuICBpZiAoZWwpXG4gICAgZWwuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xufVxudmFyIGluc3BlY3RJbnN0YW5jZSA9IG51bGw7XG5mdW5jdGlvbiBpbnNwZWN0Rm4oZSkge1xuICBjb25zdCB0YXJnZXQyMiA9IGUudGFyZ2V0O1xuICBpZiAodGFyZ2V0MjIpIHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IHRhcmdldDIyLl9fdnVlUGFyZW50Q29tcG9uZW50O1xuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgaW5zcGVjdEluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICBjb25zdCBlbCA9IGluc3RhbmNlLnZub2RlLmVsO1xuICAgICAgaWYgKGVsKSB7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IGdldENvbXBvbmVudEJvdW5kaW5nUmVjdChpbnN0YW5jZSk7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBnZXRJbnN0YW5jZU5hbWUoaW5zdGFuY2UpO1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBnZXRDb250YWluZXJFbGVtZW50KCk7XG4gICAgICAgIGNvbnRhaW5lciA/IHVwZGF0ZSh7IGJvdW5kcywgbmFtZSB9KSA6IGNyZWF0ZSh7IGJvdW5kcywgbmFtZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHNlbGVjdENvbXBvbmVudEZuKGUsIGNiKSB7XG4gIGUucHJldmVudERlZmF1bHQoKTtcbiAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgaWYgKGluc3BlY3RJbnN0YW5jZSkge1xuICAgIGNvbnN0IHVuaXF1ZUNvbXBvbmVudElkID0gZ2V0VW5pcXVlQ29tcG9uZW50SWQoaW5zcGVjdEluc3RhbmNlKTtcbiAgICBjYih1bmlxdWVDb21wb25lbnRJZCk7XG4gIH1cbn1cbnZhciBpbnNwZWN0Q29tcG9uZW50SGlnaExpZ2h0ZXJTZWxlY3RGbiA9IG51bGw7XG5mdW5jdGlvbiBjYW5jZWxJbnNwZWN0Q29tcG9uZW50SGlnaExpZ2h0ZXIoKSB7XG4gIHVuaGlnaGxpZ2h0KCk7XG4gIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2VvdmVyXCIsIGluc3BlY3RGbik7XG4gIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaW5zcGVjdENvbXBvbmVudEhpZ2hMaWdodGVyU2VsZWN0Rm4sIHRydWUpO1xuICBpbnNwZWN0Q29tcG9uZW50SGlnaExpZ2h0ZXJTZWxlY3RGbiA9IG51bGw7XG59XG5mdW5jdGlvbiBpbnNwZWN0Q29tcG9uZW50SGlnaExpZ2h0ZXIoKSB7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibW91c2VvdmVyXCIsIGluc3BlY3RGbik7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGZ1bmN0aW9uIG9uU2VsZWN0KGUpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBzZWxlY3RDb21wb25lbnRGbihlLCAoaWQpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBvblNlbGVjdCwgdHJ1ZSk7XG4gICAgICAgIGluc3BlY3RDb21wb25lbnRIaWdoTGlnaHRlclNlbGVjdEZuID0gbnVsbDtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW92ZXJcIiwgaW5zcGVjdEZuKTtcbiAgICAgICAgY29uc3QgZWwgPSBnZXRDb250YWluZXJFbGVtZW50KCk7XG4gICAgICAgIGlmIChlbClcbiAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgICAgIHJlc29sdmUoSlNPTi5zdHJpbmdpZnkoeyBpZCB9KSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaW5zcGVjdENvbXBvbmVudEhpZ2hMaWdodGVyU2VsZWN0Rm4gPSBvblNlbGVjdDtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIG9uU2VsZWN0LCB0cnVlKTtcbiAgfSk7XG59XG5mdW5jdGlvbiBzY3JvbGxUb0NvbXBvbmVudChvcHRpb25zKSB7XG4gIGNvbnN0IGluc3RhbmNlID0gZ2V0Q29tcG9uZW50SW5zdGFuY2UoYWN0aXZlQXBwUmVjb3JkLnZhbHVlLCBvcHRpb25zLmlkKTtcbiAgaWYgKGluc3RhbmNlKSB7XG4gICAgY29uc3QgW2VsXSA9IGdldFJvb3RFbGVtZW50c0Zyb21Db21wb25lbnRJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgaWYgKHR5cGVvZiBlbC5zY3JvbGxJbnRvVmlldyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBlbC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYm91bmRzID0gZ2V0Q29tcG9uZW50Qm91bmRpbmdSZWN0KGluc3RhbmNlKTtcbiAgICAgIGNvbnN0IHNjcm9sbFRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICBjb25zdCBzdHlsZXMgPSB7XG4gICAgICAgIC4uLmdldFN0eWxlcyhib3VuZHMpLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiXG4gICAgICB9O1xuICAgICAgT2JqZWN0LmFzc2lnbihzY3JvbGxUYXJnZXQuc3R5bGUsIHN0eWxlcyk7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcm9sbFRhcmdldCk7XG4gICAgICBzY3JvbGxUYXJnZXQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIlxuICAgICAgfSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JvbGxUYXJnZXQpO1xuICAgICAgfSwgMmUzKTtcbiAgICB9XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBib3VuZHMgPSBnZXRDb21wb25lbnRCb3VuZGluZ1JlY3QoaW5zdGFuY2UpO1xuICAgICAgaWYgKGJvdW5kcy53aWR0aCB8fCBib3VuZHMuaGVpZ2h0KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBnZXRJbnN0YW5jZU5hbWUoaW5zdGFuY2UpO1xuICAgICAgICBjb25zdCBlbDIgPSBnZXRDb250YWluZXJFbGVtZW50KCk7XG4gICAgICAgIGVsMiA/IHVwZGF0ZSh7IC4uLm9wdGlvbnMsIG5hbWUsIGJvdW5kcyB9KSA6IGNyZWF0ZSh7IC4uLm9wdGlvbnMsIG5hbWUsIGJvdW5kcyB9KTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKGVsMilcbiAgICAgICAgICAgIGVsMi5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgICAgIH0sIDE1MDApO1xuICAgICAgfVxuICAgIH0sIDEyMDApO1xuICB9XG59XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC1pbnNwZWN0b3IvaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyB0YXJnZXQgYXMgdGFyZ2V0MiB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL0B2dWUvZGV2dG9vbHMtc2hhcmVkL2Rpc3QvaW5kZXguanM/dj1lNGYxOGMyOVwiO1xudmFyIF9hLCBfYjtcbihfYiA9IChfYSA9IHRhcmdldDIpLl9fVlVFX0RFVlRPT0xTX0NPTVBPTkVOVF9JTlNQRUNUT1JfRU5BQkxFRF9fKSAhPSBudWxsID8gX2IgOiBfYS5fX1ZVRV9ERVZUT09MU19DT01QT05FTlRfSU5TUEVDVE9SX0VOQUJMRURfXyA9IHRydWU7XG5mdW5jdGlvbiB0b2dnbGVDb21wb25lbnRJbnNwZWN0b3JFbmFibGVkKGVuYWJsZWQpIHtcbiAgdGFyZ2V0Mi5fX1ZVRV9ERVZUT09MU19DT01QT05FTlRfSU5TUEVDVE9SX0VOQUJMRURfXyA9IGVuYWJsZWQ7XG59XG5mdW5jdGlvbiB3YWl0Rm9ySW5zcGVjdG9ySW5pdChjYikge1xuICBsZXQgdG90YWwgPSAwO1xuICBjb25zdCB0aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICBpZiAodGFyZ2V0Mi5fX1ZVRV9JTlNQRUNUT1JfXykge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcik7XG4gICAgICB0b3RhbCArPSAzMDtcbiAgICAgIGNiKCk7XG4gICAgfVxuICAgIGlmICh0b3RhbCA+PSAvKiA1cyAqL1xuICAgIDVlMylcbiAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpO1xuICB9LCAzMCk7XG59XG5mdW5jdGlvbiBzZXR1cEluc3BlY3RvcigpIHtcbiAgY29uc3QgaW5zcGVjdG9yID0gdGFyZ2V0Mi5fX1ZVRV9JTlNQRUNUT1JfXztcbiAgY29uc3QgX29wZW5JbkVkaXRvciA9IGluc3BlY3Rvci5vcGVuSW5FZGl0b3I7XG4gIGluc3BlY3Rvci5vcGVuSW5FZGl0b3IgPSBhc3luYyAoLi4ucGFyYW1zKSA9PiB7XG4gICAgaW5zcGVjdG9yLmRpc2FibGUoKTtcbiAgICBfb3BlbkluRWRpdG9yKC4uLnBhcmFtcyk7XG4gIH07XG59XG5mdW5jdGlvbiBnZXRDb21wb25lbnRJbnNwZWN0b3IoKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGZ1bmN0aW9uIHNldHVwKCkge1xuICAgICAgc2V0dXBJbnNwZWN0b3IoKTtcbiAgICAgIHJlc29sdmUodGFyZ2V0Mi5fX1ZVRV9JTlNQRUNUT1JfXyk7XG4gICAgfVxuICAgIGlmICghdGFyZ2V0Mi5fX1ZVRV9JTlNQRUNUT1JfXykge1xuICAgICAgd2FpdEZvckluc3BlY3RvckluaXQoKCkgPT4ge1xuICAgICAgICBzZXR1cCgpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldHVwKCk7XG4gICAgfVxuICB9KTtcbn1cblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3N0YXRlL2VkaXRvci50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL3NoYXJlZC9zdHViLXZ1ZS50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmZ1bmN0aW9uIGlzUmVhZG9ubHkodmFsdWUpIHtcbiAgcmV0dXJuICEhKHZhbHVlICYmIHZhbHVlW1wiX192X2lzUmVhZG9ubHlcIiAvKiBJU19SRUFET05MWSAqL10pO1xufVxuZnVuY3Rpb24gaXNSZWFjdGl2ZSh2YWx1ZSkge1xuICBpZiAoaXNSZWFkb25seSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gaXNSZWFjdGl2ZSh2YWx1ZVtcIl9fdl9yYXdcIiAvKiBSQVcgKi9dKTtcbiAgfVxuICByZXR1cm4gISEodmFsdWUgJiYgdmFsdWVbXCJfX3ZfaXNSZWFjdGl2ZVwiIC8qIElTX1JFQUNUSVZFICovXSk7XG59XG5mdW5jdGlvbiBpc1JlZihyKSB7XG4gIHJldHVybiAhIShyICYmIHIuX192X2lzUmVmID09PSB0cnVlKTtcbn1cbmZ1bmN0aW9uIHRvUmF3KG9ic2VydmVkKSB7XG4gIGNvbnN0IHJhdyA9IG9ic2VydmVkICYmIG9ic2VydmVkW1wiX192X3Jhd1wiIC8qIFJBVyAqL107XG4gIHJldHVybiByYXcgPyB0b1JhdyhyYXcpIDogb2JzZXJ2ZWQ7XG59XG52YXIgRnJhZ21lbnQgPSBTeW1ib2wuZm9yKFwidi1mZ3RcIik7XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC9zdGF0ZS9lZGl0b3IudHNcbnZhciBTdGF0ZUVkaXRvciA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5yZWZFZGl0b3IgPSBuZXcgUmVmU3RhdGVFZGl0b3IoKTtcbiAgfVxuICBzZXQob2JqZWN0LCBwYXRoLCB2YWx1ZSwgY2IpIHtcbiAgICBjb25zdCBzZWN0aW9ucyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogcGF0aC5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgbWFya1JlZiA9IGZhbHNlO1xuICAgIHdoaWxlIChzZWN0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBzZWN0aW9uID0gc2VjdGlvbnMuc2hpZnQoKTtcbiAgICAgIGlmIChvYmplY3QgaW5zdGFuY2VvZiBNYXApXG4gICAgICAgIG9iamVjdCA9IG9iamVjdC5nZXQoc2VjdGlvbik7XG4gICAgICBlbHNlIGlmIChvYmplY3QgaW5zdGFuY2VvZiBTZXQpXG4gICAgICAgIG9iamVjdCA9IEFycmF5LmZyb20ob2JqZWN0LnZhbHVlcygpKVtzZWN0aW9uXTtcbiAgICAgIGVsc2Ugb2JqZWN0ID0gb2JqZWN0W3NlY3Rpb25dO1xuICAgICAgaWYgKHRoaXMucmVmRWRpdG9yLmlzUmVmKG9iamVjdCkpXG4gICAgICAgIG9iamVjdCA9IHRoaXMucmVmRWRpdG9yLmdldChvYmplY3QpO1xuICAgIH1cbiAgICBjb25zdCBmaWVsZCA9IHNlY3Rpb25zWzBdO1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnJlZkVkaXRvci5nZXQob2JqZWN0KVtmaWVsZF07XG4gICAgaWYgKGNiKSB7XG4gICAgICBjYihvYmplY3QsIGZpZWxkLCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnJlZkVkaXRvci5pc1JlZihpdGVtKSlcbiAgICAgICAgdGhpcy5yZWZFZGl0b3Iuc2V0KGl0ZW0sIHZhbHVlKTtcbiAgICAgIGVsc2UgaWYgKG1hcmtSZWYpXG4gICAgICAgIG9iamVjdFtmaWVsZF0gPSB2YWx1ZTtcbiAgICAgIGVsc2VcbiAgICAgICAgb2JqZWN0W2ZpZWxkXSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICBnZXQob2JqZWN0LCBwYXRoKSB7XG4gICAgY29uc3Qgc2VjdGlvbnMgPSBBcnJheS5pc0FycmF5KHBhdGgpID8gcGF0aCA6IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChvYmplY3QgaW5zdGFuY2VvZiBNYXApXG4gICAgICAgIG9iamVjdCA9IG9iamVjdC5nZXQoc2VjdGlvbnNbaV0pO1xuICAgICAgZWxzZVxuICAgICAgICBvYmplY3QgPSBvYmplY3Rbc2VjdGlvbnNbaV1dO1xuICAgICAgaWYgKHRoaXMucmVmRWRpdG9yLmlzUmVmKG9iamVjdCkpXG4gICAgICAgIG9iamVjdCA9IHRoaXMucmVmRWRpdG9yLmdldChvYmplY3QpO1xuICAgICAgaWYgKCFvYmplY3QpXG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cbiAgaGFzKG9iamVjdCwgcGF0aCwgcGFyZW50ID0gZmFsc2UpIHtcbiAgICBpZiAodHlwZW9mIG9iamVjdCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBzZWN0aW9ucyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoLnNsaWNlKCkgOiBwYXRoLnNwbGl0KFwiLlwiKTtcbiAgICBjb25zdCBzaXplID0gIXBhcmVudCA/IDEgOiAyO1xuICAgIHdoaWxlIChvYmplY3QgJiYgc2VjdGlvbnMubGVuZ3RoID4gc2l6ZSkge1xuICAgICAgY29uc3Qgc2VjdGlvbiA9IHNlY3Rpb25zLnNoaWZ0KCk7XG4gICAgICBvYmplY3QgPSBvYmplY3Rbc2VjdGlvbl07XG4gICAgICBpZiAodGhpcy5yZWZFZGl0b3IuaXNSZWYob2JqZWN0KSlcbiAgICAgICAgb2JqZWN0ID0gdGhpcy5yZWZFZGl0b3IuZ2V0KG9iamVjdCk7XG4gICAgfVxuICAgIHJldHVybiBvYmplY3QgIT0gbnVsbCAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBzZWN0aW9uc1swXSk7XG4gIH1cbiAgY3JlYXRlRGVmYXVsdFNldENhbGxiYWNrKHN0YXRlKSB7XG4gICAgcmV0dXJuIChvYmplY3QsIGZpZWxkLCB2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHN0YXRlLnJlbW92ZSB8fCBzdGF0ZS5uZXdLZXkpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqZWN0KSlcbiAgICAgICAgICBvYmplY3Quc3BsaWNlKGZpZWxkLCAxKTtcbiAgICAgICAgZWxzZSBpZiAodG9SYXcob2JqZWN0KSBpbnN0YW5jZW9mIE1hcClcbiAgICAgICAgICBvYmplY3QuZGVsZXRlKGZpZWxkKTtcbiAgICAgICAgZWxzZSBpZiAodG9SYXcob2JqZWN0KSBpbnN0YW5jZW9mIFNldClcbiAgICAgICAgICBvYmplY3QuZGVsZXRlKEFycmF5LmZyb20ob2JqZWN0LnZhbHVlcygpKVtmaWVsZF0pO1xuICAgICAgICBlbHNlIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkob2JqZWN0LCBmaWVsZCk7XG4gICAgICB9XG4gICAgICBpZiAoIXN0YXRlLnJlbW92ZSkge1xuICAgICAgICBjb25zdCB0YXJnZXQyMiA9IG9iamVjdFtzdGF0ZS5uZXdLZXkgfHwgZmllbGRdO1xuICAgICAgICBpZiAodGhpcy5yZWZFZGl0b3IuaXNSZWYodGFyZ2V0MjIpKVxuICAgICAgICAgIHRoaXMucmVmRWRpdG9yLnNldCh0YXJnZXQyMiwgdmFsdWUpO1xuICAgICAgICBlbHNlIGlmICh0b1JhdyhvYmplY3QpIGluc3RhbmNlb2YgTWFwKVxuICAgICAgICAgIG9iamVjdC5zZXQoc3RhdGUubmV3S2V5IHx8IGZpZWxkLCB2YWx1ZSk7XG4gICAgICAgIGVsc2UgaWYgKHRvUmF3KG9iamVjdCkgaW5zdGFuY2VvZiBTZXQpXG4gICAgICAgICAgb2JqZWN0LmFkZCh2YWx1ZSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBvYmplY3Rbc3RhdGUubmV3S2V5IHx8IGZpZWxkXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn07XG52YXIgUmVmU3RhdGVFZGl0b3IgPSBjbGFzcyB7XG4gIHNldChyZWYsIHZhbHVlKSB7XG4gICAgaWYgKGlzUmVmKHJlZikpIHtcbiAgICAgIHJlZi52YWx1ZSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocmVmIGluc3RhbmNlb2YgU2V0ICYmIEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJlZi5jbGVhcigpO1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2KSA9PiByZWYuYWRkKHYpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY3VycmVudEtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSk7XG4gICAgICBpZiAocmVmIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzS2V5c1NldDIgPSBuZXcgU2V0KHJlZi5rZXlzKCkpO1xuICAgICAgICBjdXJyZW50S2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICByZWYuc2V0KGtleSwgUmVmbGVjdC5nZXQodmFsdWUsIGtleSkpO1xuICAgICAgICAgIHByZXZpb3VzS2V5c1NldDIuZGVsZXRlKGtleSk7XG4gICAgICAgIH0pO1xuICAgICAgICBwcmV2aW91c0tleXNTZXQyLmZvckVhY2goKGtleSkgPT4gcmVmLmRlbGV0ZShrZXkpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgcHJldmlvdXNLZXlzU2V0ID0gbmV3IFNldChPYmplY3Qua2V5cyhyZWYpKTtcbiAgICAgIGN1cnJlbnRLZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBSZWZsZWN0LnNldChyZWYsIGtleSwgUmVmbGVjdC5nZXQodmFsdWUsIGtleSkpO1xuICAgICAgICBwcmV2aW91c0tleXNTZXQuZGVsZXRlKGtleSk7XG4gICAgICB9KTtcbiAgICAgIHByZXZpb3VzS2V5c1NldC5mb3JFYWNoKChrZXkpID0+IFJlZmxlY3QuZGVsZXRlUHJvcGVydHkocmVmLCBrZXkpKTtcbiAgICB9XG4gIH1cbiAgZ2V0KHJlZikge1xuICAgIHJldHVybiBpc1JlZihyZWYpID8gcmVmLnZhbHVlIDogcmVmO1xuICB9XG4gIGlzUmVmKHJlZikge1xuICAgIHJldHVybiBpc1JlZihyZWYpIHx8IGlzUmVhY3RpdmUocmVmKTtcbiAgfVxufTtcbmFzeW5jIGZ1bmN0aW9uIGVkaXRDb21wb25lbnRTdGF0ZShwYXlsb2FkLCBzdGF0ZUVkaXRvcjIpIHtcbiAgY29uc3QgeyBwYXRoLCBub2RlSWQsIHN0YXRlLCB0eXBlIH0gPSBwYXlsb2FkO1xuICBjb25zdCBpbnN0YW5jZSA9IGdldENvbXBvbmVudEluc3RhbmNlKGFjdGl2ZUFwcFJlY29yZC52YWx1ZSwgbm9kZUlkKTtcbiAgaWYgKCFpbnN0YW5jZSlcbiAgICByZXR1cm47XG4gIGNvbnN0IHRhcmdldFBhdGggPSBwYXRoLnNsaWNlKCk7XG4gIGxldCB0YXJnZXQyMjtcbiAgaWYgKE9iamVjdC5rZXlzKGluc3RhbmNlLnByb3BzKS5pbmNsdWRlcyhwYXRoWzBdKSkge1xuICAgIHRhcmdldDIyID0gaW5zdGFuY2UucHJvcHM7XG4gIH0gZWxzZSBpZiAoaW5zdGFuY2UuZGV2dG9vbHNSYXdTZXR1cFN0YXRlICYmIE9iamVjdC5rZXlzKGluc3RhbmNlLmRldnRvb2xzUmF3U2V0dXBTdGF0ZSkuaW5jbHVkZXMocGF0aFswXSkpIHtcbiAgICB0YXJnZXQyMiA9IGluc3RhbmNlLmRldnRvb2xzUmF3U2V0dXBTdGF0ZTtcbiAgfSBlbHNlIGlmIChpbnN0YW5jZS5kYXRhICYmIE9iamVjdC5rZXlzKGluc3RhbmNlLmRhdGEpLmluY2x1ZGVzKHBhdGhbMF0pKSB7XG4gICAgdGFyZ2V0MjIgPSBpbnN0YW5jZS5kYXRhO1xuICB9IGVsc2Uge1xuICAgIHRhcmdldDIyID0gaW5zdGFuY2UucHJveHk7XG4gIH1cbiAgaWYgKHRhcmdldDIyICYmIHRhcmdldFBhdGgpIHtcbiAgICBpZiAoc3RhdGUudHlwZSA9PT0gXCJvYmplY3RcIiAmJiB0eXBlID09PSBcInJlYWN0aXZlXCIpIHtcbiAgICB9XG4gICAgc3RhdGVFZGl0b3IyLnNldCh0YXJnZXQyMiwgdGFyZ2V0UGF0aCwgc3RhdGUudmFsdWUsIHN0YXRlRWRpdG9yMi5jcmVhdGVEZWZhdWx0U2V0Q2FsbGJhY2soc3RhdGUpKTtcbiAgfVxufVxudmFyIHN0YXRlRWRpdG9yID0gbmV3IFN0YXRlRWRpdG9yKCk7XG5hc3luYyBmdW5jdGlvbiBlZGl0U3RhdGUocGF5bG9hZCkge1xuICBlZGl0Q29tcG9uZW50U3RhdGUocGF5bG9hZCwgc3RhdGVFZGl0b3IpO1xufVxuXG4vLyBzcmMvY29yZS9vcGVuLWluLWVkaXRvci9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IHRhcmdldCBhcyB0YXJnZXQ1IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9jdHgvc3RhdGUudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyB0YXJnZXQgYXMgZ2xvYmFsLCBpc1VybFN0cmluZyB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL0B2dWUvZGV2dG9vbHMtc2hhcmVkL2Rpc3QvaW5kZXguanM/dj1lNGYxOGMyOVwiO1xuaW1wb3J0IHsgZGVib3VuY2UgYXMgZGVib3VuY2UzIH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvcGVyZmVjdC1kZWJvdW5jZS9kaXN0L2luZGV4Lm1qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9jb3JlL3RpbWVsaW5lL3N0b3JhZ2UudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyBpc0Jyb3dzZXIgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbnZhciBUSU1FTElORV9MQVlFUlNfU1RBVEVfU1RPUkFHRV9JRCA9IFwiX19WVUVfREVWVE9PTFNfS0lUX1RJTUVMSU5FX0xBWUVSU19TVEFURV9fXCI7XG5mdW5jdGlvbiBhZGRUaW1lbGluZUxheWVyc1N0YXRlVG9TdG9yYWdlKHN0YXRlKSB7XG4gIGlmICghaXNCcm93c2VyIHx8IHR5cGVvZiBsb2NhbFN0b3JhZ2UgPT09IFwidW5kZWZpbmVkXCIgfHwgbG9jYWxTdG9yYWdlID09PSBudWxsKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFRJTUVMSU5FX0xBWUVSU19TVEFURV9TVE9SQUdFX0lELCBKU09OLnN0cmluZ2lmeShzdGF0ZSkpO1xufVxuZnVuY3Rpb24gZ2V0VGltZWxpbmVMYXllcnNTdGF0ZUZyb21TdG9yYWdlKCkge1xuICBpZiAoIWlzQnJvd3NlciB8fCB0eXBlb2YgbG9jYWxTdG9yYWdlID09PSBcInVuZGVmaW5lZFwiIHx8IGxvY2FsU3RvcmFnZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiB7XG4gICAgICByZWNvcmRpbmdTdGF0ZTogZmFsc2UsXG4gICAgICBtb3VzZUV2ZW50RW5hYmxlZDogZmFsc2UsXG4gICAgICBrZXlib2FyZEV2ZW50RW5hYmxlZDogZmFsc2UsXG4gICAgICBjb21wb25lbnRFdmVudEVuYWJsZWQ6IGZhbHNlLFxuICAgICAgcGVyZm9ybWFuY2VFdmVudEVuYWJsZWQ6IGZhbHNlLFxuICAgICAgc2VsZWN0ZWQ6IFwiXCJcbiAgICB9O1xuICB9XG4gIGNvbnN0IHN0YXRlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oVElNRUxJTkVfTEFZRVJTX1NUQVRFX1NUT1JBR0VfSUQpO1xuICByZXR1cm4gc3RhdGUgPyBKU09OLnBhcnNlKHN0YXRlKSA6IHtcbiAgICByZWNvcmRpbmdTdGF0ZTogZmFsc2UsXG4gICAgbW91c2VFdmVudEVuYWJsZWQ6IGZhbHNlLFxuICAgIGtleWJvYXJkRXZlbnRFbmFibGVkOiBmYWxzZSxcbiAgICBjb21wb25lbnRFdmVudEVuYWJsZWQ6IGZhbHNlLFxuICAgIHBlcmZvcm1hbmNlRXZlbnRFbmFibGVkOiBmYWxzZSxcbiAgICBzZWxlY3RlZDogXCJcIlxuICB9O1xufVxuXG4vLyBzcmMvY3R4L2hvb2sudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyBjcmVhdGVIb29rcyB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2hvb2thYmxlL2Rpc3QvaW5kZXgubWpzP3Y9ZTRmMThjMjlcIjtcbmltcG9ydCB7IGRlYm91bmNlIGFzIGRlYm91bmNlMiB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL3BlcmZlY3QtZGVib3VuY2UvZGlzdC9pbmRleC5tanM/dj1lNGYxOGMyOVwiO1xuXG4vLyBzcmMvY3R4L2luc3BlY3Rvci50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IHRhcmdldCBhcyB0YXJnZXQ0IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL3BlcmZlY3QtZGVib3VuY2UvZGlzdC9pbmRleC5tanM/dj1lNGYxOGMyOVwiO1xuXG4vLyBzcmMvY3R4L3RpbWVsaW5lLnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgdGFyZ2V0IGFzIHRhcmdldDMgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbnZhciBfYTIsIF9iMjtcbihfYjIgPSAoX2EyID0gdGFyZ2V0MykuX19WVUVfREVWVE9PTFNfS0lUX1RJTUVMSU5FX0xBWUVSUykgIT0gbnVsbCA/IF9iMiA6IF9hMi5fX1ZVRV9ERVZUT09MU19LSVRfVElNRUxJTkVfTEFZRVJTID0gW107XG52YXIgZGV2dG9vbHNUaW1lbGluZUxheWVycyA9IG5ldyBQcm94eSh0YXJnZXQzLl9fVlVFX0RFVlRPT0xTX0tJVF9USU1FTElORV9MQVlFUlMsIHtcbiAgZ2V0KHRhcmdldDIyLCBwcm9wLCByZWNlaXZlcikge1xuICAgIHJldHVybiBSZWZsZWN0LmdldCh0YXJnZXQyMiwgcHJvcCwgcmVjZWl2ZXIpO1xuICB9XG59KTtcbmZ1bmN0aW9uIGFkZFRpbWVsaW5lTGF5ZXIob3B0aW9ucywgZGVzY3JpcHRvcikge1xuICBkZXZ0b29sc1N0YXRlLnRpbWVsaW5lTGF5ZXJzU3RhdGVbZGVzY3JpcHRvci5pZF0gPSBmYWxzZTtcbiAgZGV2dG9vbHNUaW1lbGluZUxheWVycy5wdXNoKHtcbiAgICAuLi5vcHRpb25zLFxuICAgIGRlc2NyaXB0b3JJZDogZGVzY3JpcHRvci5pZCxcbiAgICBhcHBSZWNvcmQ6IGdldEFwcFJlY29yZChkZXNjcmlwdG9yLmFwcClcbiAgfSk7XG59XG5mdW5jdGlvbiB1cGRhdGVUaW1lbGluZUxheWVyc1N0YXRlKHN0YXRlKSB7XG4gIGNvbnN0IHVwZGF0ZWRTdGF0ZSA9IHtcbiAgICAuLi5kZXZ0b29sc1N0YXRlLnRpbWVsaW5lTGF5ZXJzU3RhdGUsXG4gICAgLi4uc3RhdGVcbiAgfTtcbiAgYWRkVGltZWxpbmVMYXllcnNTdGF0ZVRvU3RvcmFnZSh1cGRhdGVkU3RhdGUpO1xuICB1cGRhdGVEZXZUb29sc1N0YXRlKHtcbiAgICB0aW1lbGluZUxheWVyc1N0YXRlOiB1cGRhdGVkU3RhdGVcbiAgfSk7XG59XG5cbi8vIHNyYy9jdHgvaW5zcGVjdG9yLnRzXG52YXIgX2EzLCBfYjM7XG4oX2IzID0gKF9hMyA9IHRhcmdldDQpLl9fVlVFX0RFVlRPT0xTX0tJVF9JTlNQRUNUT1JfXykgIT0gbnVsbCA/IF9iMyA6IF9hMy5fX1ZVRV9ERVZUT09MU19LSVRfSU5TUEVDVE9SX18gPSBbXTtcbnZhciBkZXZ0b29sc0luc3BlY3RvciA9IG5ldyBQcm94eSh0YXJnZXQ0Ll9fVlVFX0RFVlRPT0xTX0tJVF9JTlNQRUNUT1JfXywge1xuICBnZXQodGFyZ2V0MjIsIHByb3AsIHJlY2VpdmVyKSB7XG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldDIyLCBwcm9wLCByZWNlaXZlcik7XG4gIH1cbn0pO1xudmFyIGNhbGxJbnNwZWN0b3JVcGRhdGVkSG9vayA9IGRlYm91bmNlKCgpID0+IHtcbiAgZGV2dG9vbHNDb250ZXh0Lmhvb2tzLmNhbGxIb29rKFwic2VuZEluc3BlY3RvclRvQ2xpZW50XCIgLyogU0VORF9JTlNQRUNUT1JfVE9fQ0xJRU5UICovLCBnZXRBY3RpdmVJbnNwZWN0b3JzKCkpO1xufSk7XG5mdW5jdGlvbiBhZGRJbnNwZWN0b3IoaW5zcGVjdG9yLCBkZXNjcmlwdG9yKSB7XG4gIHZhciBfYTI1LCBfYjI1O1xuICBkZXZ0b29sc0luc3BlY3Rvci5wdXNoKHtcbiAgICBvcHRpb25zOiBpbnNwZWN0b3IsXG4gICAgZGVzY3JpcHRvcixcbiAgICB0cmVlRmlsdGVyUGxhY2Vob2xkZXI6IChfYTI1ID0gaW5zcGVjdG9yLnRyZWVGaWx0ZXJQbGFjZWhvbGRlcikgIT0gbnVsbCA/IF9hMjUgOiBcIlNlYXJjaCB0cmVlLi4uXCIsXG4gICAgc3RhdGVGaWx0ZXJQbGFjZWhvbGRlcjogKF9iMjUgPSBpbnNwZWN0b3Iuc3RhdGVGaWx0ZXJQbGFjZWhvbGRlcikgIT0gbnVsbCA/IF9iMjUgOiBcIlNlYXJjaCBzdGF0ZS4uLlwiLFxuICAgIHRyZWVGaWx0ZXI6IFwiXCIsXG4gICAgc2VsZWN0ZWROb2RlSWQ6IFwiXCIsXG4gICAgYXBwUmVjb3JkOiBnZXRBcHBSZWNvcmQoZGVzY3JpcHRvci5hcHApXG4gIH0pO1xuICBjYWxsSW5zcGVjdG9yVXBkYXRlZEhvb2soKTtcbn1cbmZ1bmN0aW9uIGdldEFjdGl2ZUluc3BlY3RvcnMoKSB7XG4gIHJldHVybiBkZXZ0b29sc0luc3BlY3Rvci5maWx0ZXIoKGluc3BlY3RvcikgPT4gaW5zcGVjdG9yLmRlc2NyaXB0b3IuYXBwID09PSBhY3RpdmVBcHBSZWNvcmQudmFsdWUuYXBwKS5maWx0ZXIoKGluc3BlY3RvcikgPT4gaW5zcGVjdG9yLmRlc2NyaXB0b3IuaWQgIT09IFwiY29tcG9uZW50c1wiKS5tYXAoKGluc3BlY3RvcikgPT4ge1xuICAgIHZhciBfYTI1O1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBpbnNwZWN0b3IuZGVzY3JpcHRvcjtcbiAgICBjb25zdCBvcHRpb25zID0gaW5zcGVjdG9yLm9wdGlvbnM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBvcHRpb25zLmlkLFxuICAgICAgbGFiZWw6IG9wdGlvbnMubGFiZWwsXG4gICAgICBsb2dvOiBkZXNjcmlwdG9yLmxvZ28sXG4gICAgICBpY29uOiBgY3VzdG9tLWljLWJhc2VsaW5lLSR7KF9hMjUgPSBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLmljb24pID09IG51bGwgPyB2b2lkIDAgOiBfYTI1LnJlcGxhY2UoL18vZywgXCItXCIpfWAsXG4gICAgICBwYWNrYWdlTmFtZTogZGVzY3JpcHRvci5wYWNrYWdlTmFtZSxcbiAgICAgIGhvbWVwYWdlOiBkZXNjcmlwdG9yLmhvbWVwYWdlLFxuICAgICAgcGx1Z2luSWQ6IGRlc2NyaXB0b3IuaWRcbiAgICB9O1xuICB9KTtcbn1cbmZ1bmN0aW9uIGdldEluc3BlY3RvckluZm8oaWQpIHtcbiAgY29uc3QgaW5zcGVjdG9yID0gZ2V0SW5zcGVjdG9yKGlkLCBhY3RpdmVBcHBSZWNvcmQudmFsdWUuYXBwKTtcbiAgaWYgKCFpbnNwZWN0b3IpXG4gICAgcmV0dXJuO1xuICBjb25zdCBkZXNjcmlwdG9yID0gaW5zcGVjdG9yLmRlc2NyaXB0b3I7XG4gIGNvbnN0IG9wdGlvbnMgPSBpbnNwZWN0b3Iub3B0aW9ucztcbiAgY29uc3QgdGltZWxpbmVMYXllcnMgPSBkZXZ0b29sc1RpbWVsaW5lTGF5ZXJzLmZpbHRlcigobGF5ZXIpID0+IGxheWVyLmRlc2NyaXB0b3JJZCA9PT0gZGVzY3JpcHRvci5pZCkubWFwKChpdGVtKSA9PiAoe1xuICAgIGlkOiBpdGVtLmlkLFxuICAgIGxhYmVsOiBpdGVtLmxhYmVsLFxuICAgIGNvbG9yOiBpdGVtLmNvbG9yXG4gIH0pKTtcbiAgcmV0dXJuIHtcbiAgICBpZDogb3B0aW9ucy5pZCxcbiAgICBsYWJlbDogb3B0aW9ucy5sYWJlbCxcbiAgICBsb2dvOiBkZXNjcmlwdG9yLmxvZ28sXG4gICAgcGFja2FnZU5hbWU6IGRlc2NyaXB0b3IucGFja2FnZU5hbWUsXG4gICAgaG9tZXBhZ2U6IGRlc2NyaXB0b3IuaG9tZXBhZ2UsXG4gICAgdGltZWxpbmVMYXllcnMsXG4gICAgdHJlZUZpbHRlclBsYWNlaG9sZGVyOiBpbnNwZWN0b3IudHJlZUZpbHRlclBsYWNlaG9sZGVyLFxuICAgIHN0YXRlRmlsdGVyUGxhY2Vob2xkZXI6IGluc3BlY3Rvci5zdGF0ZUZpbHRlclBsYWNlaG9sZGVyXG4gIH07XG59XG5mdW5jdGlvbiBnZXRJbnNwZWN0b3IoaWQsIGFwcCkge1xuICByZXR1cm4gZGV2dG9vbHNJbnNwZWN0b3IuZmluZCgoaW5zcGVjdG9yKSA9PiBpbnNwZWN0b3Iub3B0aW9ucy5pZCA9PT0gaWQgJiYgKGFwcCA/IGluc3BlY3Rvci5kZXNjcmlwdG9yLmFwcCA9PT0gYXBwIDogdHJ1ZSkpO1xufVxuZnVuY3Rpb24gZ2V0SW5zcGVjdG9yQWN0aW9ucyhpZCkge1xuICBjb25zdCBpbnNwZWN0b3IgPSBnZXRJbnNwZWN0b3IoaWQpO1xuICByZXR1cm4gaW5zcGVjdG9yID09IG51bGwgPyB2b2lkIDAgOiBpbnNwZWN0b3Iub3B0aW9ucy5hY3Rpb25zO1xufVxuZnVuY3Rpb24gZ2V0SW5zcGVjdG9yTm9kZUFjdGlvbnMoaWQpIHtcbiAgY29uc3QgaW5zcGVjdG9yID0gZ2V0SW5zcGVjdG9yKGlkKTtcbiAgcmV0dXJuIGluc3BlY3RvciA9PSBudWxsID8gdm9pZCAwIDogaW5zcGVjdG9yLm9wdGlvbnMubm9kZUFjdGlvbnM7XG59XG5cbi8vIHNyYy9jdHgvaG9vay50c1xudmFyIERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5cyA9IC8qIEBfX1BVUkVfXyAqLyAoKERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5czIpID0+IHtcbiAgRGV2VG9vbHNWNlBsdWdpbkFQSUhvb2tLZXlzMltcIlZJU0lUX0NPTVBPTkVOVF9UUkVFXCJdID0gXCJ2aXNpdENvbXBvbmVudFRyZWVcIjtcbiAgRGV2VG9vbHNWNlBsdWdpbkFQSUhvb2tLZXlzMltcIklOU1BFQ1RfQ09NUE9ORU5UXCJdID0gXCJpbnNwZWN0Q29tcG9uZW50XCI7XG4gIERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5czJbXCJFRElUX0NPTVBPTkVOVF9TVEFURVwiXSA9IFwiZWRpdENvbXBvbmVudFN0YXRlXCI7XG4gIERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5czJbXCJHRVRfSU5TUEVDVE9SX1RSRUVcIl0gPSBcImdldEluc3BlY3RvclRyZWVcIjtcbiAgRGV2VG9vbHNWNlBsdWdpbkFQSUhvb2tLZXlzMltcIkdFVF9JTlNQRUNUT1JfU1RBVEVcIl0gPSBcImdldEluc3BlY3RvclN0YXRlXCI7XG4gIERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5czJbXCJFRElUX0lOU1BFQ1RPUl9TVEFURVwiXSA9IFwiZWRpdEluc3BlY3RvclN0YXRlXCI7XG4gIERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5czJbXCJJTlNQRUNUX1RJTUVMSU5FX0VWRU5UXCJdID0gXCJpbnNwZWN0VGltZWxpbmVFdmVudFwiO1xuICBEZXZUb29sc1Y2UGx1Z2luQVBJSG9va0tleXMyW1wiVElNRUxJTkVfQ0xFQVJFRFwiXSA9IFwidGltZWxpbmVDbGVhcmVkXCI7XG4gIERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5czJbXCJTRVRfUExVR0lOX1NFVFRJTkdTXCJdID0gXCJzZXRQbHVnaW5TZXR0aW5nc1wiO1xuICByZXR1cm4gRGV2VG9vbHNWNlBsdWdpbkFQSUhvb2tLZXlzMjtcbn0pKERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5cyB8fCB7fSk7XG52YXIgRGV2VG9vbHNDb250ZXh0SG9va0tleXMgPSAvKiBAX19QVVJFX18gKi8gKChEZXZUb29sc0NvbnRleHRIb29rS2V5czIpID0+IHtcbiAgRGV2VG9vbHNDb250ZXh0SG9va0tleXMyW1wiQUREX0lOU1BFQ1RPUlwiXSA9IFwiYWRkSW5zcGVjdG9yXCI7XG4gIERldlRvb2xzQ29udGV4dEhvb2tLZXlzMltcIlNFTkRfSU5TUEVDVE9SX1RSRUVcIl0gPSBcInNlbmRJbnNwZWN0b3JUcmVlXCI7XG4gIERldlRvb2xzQ29udGV4dEhvb2tLZXlzMltcIlNFTkRfSU5TUEVDVE9SX1NUQVRFXCJdID0gXCJzZW5kSW5zcGVjdG9yU3RhdGVcIjtcbiAgRGV2VG9vbHNDb250ZXh0SG9va0tleXMyW1wiQ1VTVE9NX0lOU1BFQ1RPUl9TRUxFQ1RfTk9ERVwiXSA9IFwiY3VzdG9tSW5zcGVjdG9yU2VsZWN0Tm9kZVwiO1xuICBEZXZUb29sc0NvbnRleHRIb29rS2V5czJbXCJUSU1FTElORV9MQVlFUl9BRERFRFwiXSA9IFwidGltZWxpbmVMYXllckFkZGVkXCI7XG4gIERldlRvb2xzQ29udGV4dEhvb2tLZXlzMltcIlRJTUVMSU5FX0VWRU5UX0FEREVEXCJdID0gXCJ0aW1lbGluZUV2ZW50QWRkZWRcIjtcbiAgRGV2VG9vbHNDb250ZXh0SG9va0tleXMyW1wiR0VUX0NPTVBPTkVOVF9JTlNUQU5DRVNcIl0gPSBcImdldENvbXBvbmVudEluc3RhbmNlc1wiO1xuICBEZXZUb29sc0NvbnRleHRIb29rS2V5czJbXCJHRVRfQ09NUE9ORU5UX0JPVU5EU1wiXSA9IFwiZ2V0Q29tcG9uZW50Qm91bmRzXCI7XG4gIERldlRvb2xzQ29udGV4dEhvb2tLZXlzMltcIkdFVF9DT01QT05FTlRfTkFNRVwiXSA9IFwiZ2V0Q29tcG9uZW50TmFtZVwiO1xuICBEZXZUb29sc0NvbnRleHRIb29rS2V5czJbXCJDT01QT05FTlRfSElHSExJR0hUXCJdID0gXCJjb21wb25lbnRIaWdobGlnaHRcIjtcbiAgRGV2VG9vbHNDb250ZXh0SG9va0tleXMyW1wiQ09NUE9ORU5UX1VOSElHSExJR0hUXCJdID0gXCJjb21wb25lbnRVbmhpZ2hsaWdodFwiO1xuICByZXR1cm4gRGV2VG9vbHNDb250ZXh0SG9va0tleXMyO1xufSkoRGV2VG9vbHNDb250ZXh0SG9va0tleXMgfHwge30pO1xudmFyIERldlRvb2xzTWVzc2FnaW5nSG9va0tleXMgPSAvKiBAX19QVVJFX18gKi8gKChEZXZUb29sc01lc3NhZ2luZ0hvb2tLZXlzMikgPT4ge1xuICBEZXZUb29sc01lc3NhZ2luZ0hvb2tLZXlzMltcIlNFTkRfSU5TUEVDVE9SX1RSRUVfVE9fQ0xJRU5UXCJdID0gXCJzZW5kSW5zcGVjdG9yVHJlZVRvQ2xpZW50XCI7XG4gIERldlRvb2xzTWVzc2FnaW5nSG9va0tleXMyW1wiU0VORF9JTlNQRUNUT1JfU1RBVEVfVE9fQ0xJRU5UXCJdID0gXCJzZW5kSW5zcGVjdG9yU3RhdGVUb0NsaWVudFwiO1xuICBEZXZUb29sc01lc3NhZ2luZ0hvb2tLZXlzMltcIlNFTkRfVElNRUxJTkVfRVZFTlRfVE9fQ0xJRU5UXCJdID0gXCJzZW5kVGltZWxpbmVFdmVudFRvQ2xpZW50XCI7XG4gIERldlRvb2xzTWVzc2FnaW5nSG9va0tleXMyW1wiU0VORF9JTlNQRUNUT1JfVE9fQ0xJRU5UXCJdID0gXCJzZW5kSW5zcGVjdG9yVG9DbGllbnRcIjtcbiAgRGV2VG9vbHNNZXNzYWdpbmdIb29rS2V5czJbXCJTRU5EX0FDVElWRV9BUFBfVU5NT1VOVEVEX1RPX0NMSUVOVFwiXSA9IFwic2VuZEFjdGl2ZUFwcFVwZGF0ZWRUb0NsaWVudFwiO1xuICBEZXZUb29sc01lc3NhZ2luZ0hvb2tLZXlzMltcIkRFVlRPT0xTX1NUQVRFX1VQREFURURcIl0gPSBcImRldnRvb2xzU3RhdGVVcGRhdGVkXCI7XG4gIERldlRvb2xzTWVzc2FnaW5nSG9va0tleXMyW1wiREVWVE9PTFNfQ09OTkVDVEVEX1VQREFURURcIl0gPSBcImRldnRvb2xzQ29ubmVjdGVkVXBkYXRlZFwiO1xuICBEZXZUb29sc01lc3NhZ2luZ0hvb2tLZXlzMltcIlJPVVRFUl9JTkZPX1VQREFURURcIl0gPSBcInJvdXRlckluZm9VcGRhdGVkXCI7XG4gIHJldHVybiBEZXZUb29sc01lc3NhZ2luZ0hvb2tLZXlzMjtcbn0pKERldlRvb2xzTWVzc2FnaW5nSG9va0tleXMgfHwge30pO1xuZnVuY3Rpb24gY3JlYXRlRGV2VG9vbHNDdHhIb29rcygpIHtcbiAgY29uc3QgaG9va3MyID0gY3JlYXRlSG9va3MoKTtcbiAgaG9va3MyLmhvb2soXCJhZGRJbnNwZWN0b3JcIiAvKiBBRERfSU5TUEVDVE9SICovLCAoeyBpbnNwZWN0b3IsIHBsdWdpbiB9KSA9PiB7XG4gICAgYWRkSW5zcGVjdG9yKGluc3BlY3RvciwgcGx1Z2luLmRlc2NyaXB0b3IpO1xuICB9KTtcbiAgY29uc3QgZGVib3VuY2VTZW5kSW5zcGVjdG9yVHJlZSA9IGRlYm91bmNlMihhc3luYyAoeyBpbnNwZWN0b3JJZCwgcGx1Z2luIH0pID0+IHtcbiAgICB2YXIgX2EyNTtcbiAgICBpZiAoIWluc3BlY3RvcklkIHx8ICEoKF9hMjUgPSBwbHVnaW4gPT0gbnVsbCA/IHZvaWQgMCA6IHBsdWdpbi5kZXNjcmlwdG9yKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5hcHApIHx8IGRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZClcbiAgICAgIHJldHVybjtcbiAgICBjb25zdCBpbnNwZWN0b3IgPSBnZXRJbnNwZWN0b3IoaW5zcGVjdG9ySWQsIHBsdWdpbi5kZXNjcmlwdG9yLmFwcCk7XG4gICAgY29uc3QgX3BheWxvYWQgPSB7XG4gICAgICBhcHA6IHBsdWdpbi5kZXNjcmlwdG9yLmFwcCxcbiAgICAgIGluc3BlY3RvcklkLFxuICAgICAgZmlsdGVyOiAoaW5zcGVjdG9yID09IG51bGwgPyB2b2lkIDAgOiBpbnNwZWN0b3IudHJlZUZpbHRlcikgfHwgXCJcIixcbiAgICAgIHJvb3ROb2RlczogW11cbiAgICB9O1xuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBob29rczIuY2FsbEhvb2tXaXRoKGFzeW5jIChjYWxsYmFja3MpID0+IHtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoY2FsbGJhY2tzLm1hcCgoY2IpID0+IGNiKF9wYXlsb2FkKSkpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9LCBcImdldEluc3BlY3RvclRyZWVcIiAvKiBHRVRfSU5TUEVDVE9SX1RSRUUgKi8pO1xuICAgIH0pO1xuICAgIGhvb2tzMi5jYWxsSG9va1dpdGgoYXN5bmMgKGNhbGxiYWNrcykgPT4ge1xuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoY2FsbGJhY2tzLm1hcCgoY2IpID0+IGNiKHtcbiAgICAgICAgaW5zcGVjdG9ySWQsXG4gICAgICAgIHJvb3ROb2RlczogX3BheWxvYWQucm9vdE5vZGVzXG4gICAgICB9KSkpO1xuICAgIH0sIFwic2VuZEluc3BlY3RvclRyZWVUb0NsaWVudFwiIC8qIFNFTkRfSU5TUEVDVE9SX1RSRUVfVE9fQ0xJRU5UICovKTtcbiAgfSwgMTIwKTtcbiAgaG9va3MyLmhvb2soXCJzZW5kSW5zcGVjdG9yVHJlZVwiIC8qIFNFTkRfSU5TUEVDVE9SX1RSRUUgKi8sIGRlYm91bmNlU2VuZEluc3BlY3RvclRyZWUpO1xuICBjb25zdCBkZWJvdW5jZVNlbmRJbnNwZWN0b3JTdGF0ZSA9IGRlYm91bmNlMihhc3luYyAoeyBpbnNwZWN0b3JJZCwgcGx1Z2luIH0pID0+IHtcbiAgICB2YXIgX2EyNTtcbiAgICBpZiAoIWluc3BlY3RvcklkIHx8ICEoKF9hMjUgPSBwbHVnaW4gPT0gbnVsbCA/IHZvaWQgMCA6IHBsdWdpbi5kZXNjcmlwdG9yKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5hcHApIHx8IGRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZClcbiAgICAgIHJldHVybjtcbiAgICBjb25zdCBpbnNwZWN0b3IgPSBnZXRJbnNwZWN0b3IoaW5zcGVjdG9ySWQsIHBsdWdpbi5kZXNjcmlwdG9yLmFwcCk7XG4gICAgY29uc3QgX3BheWxvYWQgPSB7XG4gICAgICBhcHA6IHBsdWdpbi5kZXNjcmlwdG9yLmFwcCxcbiAgICAgIGluc3BlY3RvcklkLFxuICAgICAgbm9kZUlkOiAoaW5zcGVjdG9yID09IG51bGwgPyB2b2lkIDAgOiBpbnNwZWN0b3Iuc2VsZWN0ZWROb2RlSWQpIHx8IFwiXCIsXG4gICAgICBzdGF0ZTogbnVsbFxuICAgIH07XG4gICAgY29uc3QgY3R4ID0ge1xuICAgICAgY3VycmVudFRhYjogYGN1c3RvbS1pbnNwZWN0b3I6JHtpbnNwZWN0b3JJZH1gXG4gICAgfTtcbiAgICBpZiAoX3BheWxvYWQubm9kZUlkKSB7XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICBob29rczIuY2FsbEhvb2tXaXRoKGFzeW5jIChjYWxsYmFja3MpID0+IHtcbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChjYWxsYmFja3MubWFwKChjYikgPT4gY2IoX3BheWxvYWQsIGN0eCkpKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0sIFwiZ2V0SW5zcGVjdG9yU3RhdGVcIiAvKiBHRVRfSU5TUEVDVE9SX1NUQVRFICovKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBob29rczIuY2FsbEhvb2tXaXRoKGFzeW5jIChjYWxsYmFja3MpID0+IHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKGNhbGxiYWNrcy5tYXAoKGNiKSA9PiBjYih7XG4gICAgICAgIGluc3BlY3RvcklkLFxuICAgICAgICBub2RlSWQ6IF9wYXlsb2FkLm5vZGVJZCxcbiAgICAgICAgc3RhdGU6IF9wYXlsb2FkLnN0YXRlXG4gICAgICB9KSkpO1xuICAgIH0sIFwic2VuZEluc3BlY3RvclN0YXRlVG9DbGllbnRcIiAvKiBTRU5EX0lOU1BFQ1RPUl9TVEFURV9UT19DTElFTlQgKi8pO1xuICB9LCAxMjApO1xuICBob29rczIuaG9vayhcInNlbmRJbnNwZWN0b3JTdGF0ZVwiIC8qIFNFTkRfSU5TUEVDVE9SX1NUQVRFICovLCBkZWJvdW5jZVNlbmRJbnNwZWN0b3JTdGF0ZSk7XG4gIGhvb2tzMi5ob29rKFwiY3VzdG9tSW5zcGVjdG9yU2VsZWN0Tm9kZVwiIC8qIENVU1RPTV9JTlNQRUNUT1JfU0VMRUNUX05PREUgKi8sICh7IGluc3BlY3RvcklkLCBub2RlSWQsIHBsdWdpbiB9KSA9PiB7XG4gICAgY29uc3QgaW5zcGVjdG9yID0gZ2V0SW5zcGVjdG9yKGluc3BlY3RvcklkLCBwbHVnaW4uZGVzY3JpcHRvci5hcHApO1xuICAgIGlmICghaW5zcGVjdG9yKVxuICAgICAgcmV0dXJuO1xuICAgIGluc3BlY3Rvci5zZWxlY3RlZE5vZGVJZCA9IG5vZGVJZDtcbiAgfSk7XG4gIGhvb2tzMi5ob29rKFwidGltZWxpbmVMYXllckFkZGVkXCIgLyogVElNRUxJTkVfTEFZRVJfQURERUQgKi8sICh7IG9wdGlvbnMsIHBsdWdpbiB9KSA9PiB7XG4gICAgYWRkVGltZWxpbmVMYXllcihvcHRpb25zLCBwbHVnaW4uZGVzY3JpcHRvcik7XG4gIH0pO1xuICBob29rczIuaG9vayhcInRpbWVsaW5lRXZlbnRBZGRlZFwiIC8qIFRJTUVMSU5FX0VWRU5UX0FEREVEICovLCAoeyBvcHRpb25zLCBwbHVnaW4gfSkgPT4ge1xuICAgIHZhciBfYTI1O1xuICAgIGNvbnN0IGludGVybmFsTGF5ZXJJZHMgPSBbXCJwZXJmb3JtYW5jZVwiLCBcImNvbXBvbmVudC1ldmVudFwiLCBcImtleWJvYXJkXCIsIFwibW91c2VcIl07XG4gICAgaWYgKGRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZCB8fCAhKChfYTI1ID0gZGV2dG9vbHNTdGF0ZS50aW1lbGluZUxheWVyc1N0YXRlKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNVtwbHVnaW4uZGVzY3JpcHRvci5pZF0pICYmICFpbnRlcm5hbExheWVySWRzLmluY2x1ZGVzKG9wdGlvbnMubGF5ZXJJZCkpXG4gICAgICByZXR1cm47XG4gICAgaG9va3MyLmNhbGxIb29rV2l0aChhc3luYyAoY2FsbGJhY2tzKSA9PiB7XG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChjYWxsYmFja3MubWFwKChjYikgPT4gY2Iob3B0aW9ucykpKTtcbiAgICB9LCBcInNlbmRUaW1lbGluZUV2ZW50VG9DbGllbnRcIiAvKiBTRU5EX1RJTUVMSU5FX0VWRU5UX1RPX0NMSUVOVCAqLyk7XG4gIH0pO1xuICBob29rczIuaG9vayhcImdldENvbXBvbmVudEluc3RhbmNlc1wiIC8qIEdFVF9DT01QT05FTlRfSU5TVEFOQ0VTICovLCBhc3luYyAoeyBhcHAgfSkgPT4ge1xuICAgIGNvbnN0IGFwcFJlY29yZCA9IGFwcC5fX1ZVRV9ERVZUT09MU19ORVhUX0FQUF9SRUNPUkRfXztcbiAgICBpZiAoIWFwcFJlY29yZClcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGFwcElkID0gYXBwUmVjb3JkLmlkLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgaW5zdGFuY2VzID0gWy4uLmFwcFJlY29yZC5pbnN0YW5jZU1hcF0uZmlsdGVyKChba2V5XSkgPT4ga2V5LnNwbGl0KFwiOlwiKVswXSA9PT0gYXBwSWQpLm1hcCgoWywgaW5zdGFuY2VdKSA9PiBpbnN0YW5jZSk7XG4gICAgcmV0dXJuIGluc3RhbmNlcztcbiAgfSk7XG4gIGhvb2tzMi5ob29rKFwiZ2V0Q29tcG9uZW50Qm91bmRzXCIgLyogR0VUX0NPTVBPTkVOVF9CT1VORFMgKi8sIGFzeW5jICh7IGluc3RhbmNlIH0pID0+IHtcbiAgICBjb25zdCBib3VuZHMgPSBnZXRDb21wb25lbnRCb3VuZGluZ1JlY3QoaW5zdGFuY2UpO1xuICAgIHJldHVybiBib3VuZHM7XG4gIH0pO1xuICBob29rczIuaG9vayhcImdldENvbXBvbmVudE5hbWVcIiAvKiBHRVRfQ09NUE9ORU5UX05BTUUgKi8sICh7IGluc3RhbmNlIH0pID0+IHtcbiAgICBjb25zdCBuYW1lID0gZ2V0SW5zdGFuY2VOYW1lKGluc3RhbmNlKTtcbiAgICByZXR1cm4gbmFtZTtcbiAgfSk7XG4gIGhvb2tzMi5ob29rKFwiY29tcG9uZW50SGlnaGxpZ2h0XCIgLyogQ09NUE9ORU5UX0hJR0hMSUdIVCAqLywgKHsgdWlkIH0pID0+IHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5pbnN0YW5jZU1hcC5nZXQodWlkKTtcbiAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgIGhpZ2hsaWdodChpbnN0YW5jZSk7XG4gICAgfVxuICB9KTtcbiAgaG9va3MyLmhvb2soXCJjb21wb25lbnRVbmhpZ2hsaWdodFwiIC8qIENPTVBPTkVOVF9VTkhJR0hMSUdIVCAqLywgKCkgPT4ge1xuICAgIHVuaGlnaGxpZ2h0KCk7XG4gIH0pO1xuICByZXR1cm4gaG9va3MyO1xufVxuXG4vLyBzcmMvY3R4L3N0YXRlLnRzXG52YXIgX2E0LCBfYjQ7XG4oX2I0ID0gKF9hNCA9IGdsb2JhbCkuX19WVUVfREVWVE9PTFNfS0lUX0FQUF9SRUNPUkRTX18pICE9IG51bGwgPyBfYjQgOiBfYTQuX19WVUVfREVWVE9PTFNfS0lUX0FQUF9SRUNPUkRTX18gPSBbXTtcbnZhciBfYTUsIF9iNTtcbihfYjUgPSAoX2E1ID0gZ2xvYmFsKS5fX1ZVRV9ERVZUT09MU19LSVRfQUNUSVZFX0FQUF9SRUNPUkRfXykgIT0gbnVsbCA/IF9iNSA6IF9hNS5fX1ZVRV9ERVZUT09MU19LSVRfQUNUSVZFX0FQUF9SRUNPUkRfXyA9IHt9O1xudmFyIF9hNiwgX2I2O1xuKF9iNiA9IChfYTYgPSBnbG9iYWwpLl9fVlVFX0RFVlRPT0xTX0tJVF9BQ1RJVkVfQVBQX1JFQ09SRF9JRF9fKSAhPSBudWxsID8gX2I2IDogX2E2Ll9fVlVFX0RFVlRPT0xTX0tJVF9BQ1RJVkVfQVBQX1JFQ09SRF9JRF9fID0gXCJcIjtcbnZhciBfYTcsIF9iNztcbihfYjcgPSAoX2E3ID0gZ2xvYmFsKS5fX1ZVRV9ERVZUT09MU19LSVRfQ1VTVE9NX1RBQlNfXykgIT0gbnVsbCA/IF9iNyA6IF9hNy5fX1ZVRV9ERVZUT09MU19LSVRfQ1VTVE9NX1RBQlNfXyA9IFtdO1xudmFyIF9hOCwgX2I4O1xuKF9iOCA9IChfYTggPSBnbG9iYWwpLl9fVlVFX0RFVlRPT0xTX0tJVF9DVVNUT01fQ09NTUFORFNfXykgIT0gbnVsbCA/IF9iOCA6IF9hOC5fX1ZVRV9ERVZUT09MU19LSVRfQ1VTVE9NX0NPTU1BTkRTX18gPSBbXTtcbnZhciBTVEFURV9LRVkgPSBcIl9fVlVFX0RFVlRPT0xTX0tJVF9HTE9CQUxfU1RBVEVfX1wiO1xuZnVuY3Rpb24gaW5pdFN0YXRlRmFjdG9yeSgpIHtcbiAgcmV0dXJuIHtcbiAgICBjb25uZWN0ZWQ6IGZhbHNlLFxuICAgIGNsaWVudENvbm5lY3RlZDogZmFsc2UsXG4gICAgdml0ZVBsdWdpbkRldGVjdGVkOiB0cnVlLFxuICAgIGFwcFJlY29yZHM6IFtdLFxuICAgIGFjdGl2ZUFwcFJlY29yZElkOiBcIlwiLFxuICAgIHRhYnM6IFtdLFxuICAgIGNvbW1hbmRzOiBbXSxcbiAgICBoaWdoUGVyZk1vZGVFbmFibGVkOiB0cnVlLFxuICAgIGRldnRvb2xzQ2xpZW50RGV0ZWN0ZWQ6IHt9LFxuICAgIHBlcmZVbmlxdWVHcm91cElkOiAwLFxuICAgIHRpbWVsaW5lTGF5ZXJzU3RhdGU6IGdldFRpbWVsaW5lTGF5ZXJzU3RhdGVGcm9tU3RvcmFnZSgpXG4gIH07XG59XG52YXIgX2E5LCBfYjk7XG4oX2I5ID0gKF9hOSA9IGdsb2JhbClbU1RBVEVfS0VZXSkgIT0gbnVsbCA/IF9iOSA6IF9hOVtTVEFURV9LRVldID0gaW5pdFN0YXRlRmFjdG9yeSgpO1xudmFyIGNhbGxTdGF0ZVVwZGF0ZWRIb29rID0gZGVib3VuY2UzKChzdGF0ZSkgPT4ge1xuICBkZXZ0b29sc0NvbnRleHQuaG9va3MuY2FsbEhvb2soXCJkZXZ0b29sc1N0YXRlVXBkYXRlZFwiIC8qIERFVlRPT0xTX1NUQVRFX1VQREFURUQgKi8sIHsgc3RhdGUgfSk7XG59KTtcbnZhciBjYWxsQ29ubmVjdGVkVXBkYXRlZEhvb2sgPSBkZWJvdW5jZTMoKHN0YXRlLCBvbGRTdGF0ZSkgPT4ge1xuICBkZXZ0b29sc0NvbnRleHQuaG9va3MuY2FsbEhvb2soXCJkZXZ0b29sc0Nvbm5lY3RlZFVwZGF0ZWRcIiAvKiBERVZUT09MU19DT05ORUNURURfVVBEQVRFRCAqLywgeyBzdGF0ZSwgb2xkU3RhdGUgfSk7XG59KTtcbnZhciBkZXZ0b29sc0FwcFJlY29yZHMgPSBuZXcgUHJveHkoZ2xvYmFsLl9fVlVFX0RFVlRPT0xTX0tJVF9BUFBfUkVDT1JEU19fLCB7XG4gIGdldChfdGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuICAgIGlmIChwcm9wID09PSBcInZhbHVlXCIpXG4gICAgICByZXR1cm4gZ2xvYmFsLl9fVlVFX0RFVlRPT0xTX0tJVF9BUFBfUkVDT1JEU19fO1xuICAgIHJldHVybiBnbG9iYWwuX19WVUVfREVWVE9PTFNfS0lUX0FQUF9SRUNPUkRTX19bcHJvcF07XG4gIH1cbn0pO1xudmFyIGFkZERldlRvb2xzQXBwUmVjb3JkID0gKGFwcCkgPT4ge1xuICBnbG9iYWwuX19WVUVfREVWVE9PTFNfS0lUX0FQUF9SRUNPUkRTX18gPSBbXG4gICAgLi4uZ2xvYmFsLl9fVlVFX0RFVlRPT0xTX0tJVF9BUFBfUkVDT1JEU19fLFxuICAgIGFwcFxuICBdO1xufTtcbnZhciByZW1vdmVEZXZUb29sc0FwcFJlY29yZCA9IChhcHApID0+IHtcbiAgZ2xvYmFsLl9fVlVFX0RFVlRPT0xTX0tJVF9BUFBfUkVDT1JEU19fID0gZGV2dG9vbHNBcHBSZWNvcmRzLnZhbHVlLmZpbHRlcigocmVjb3JkKSA9PiByZWNvcmQuYXBwICE9PSBhcHApO1xufTtcbnZhciBhY3RpdmVBcHBSZWNvcmQgPSBuZXcgUHJveHkoZ2xvYmFsLl9fVlVFX0RFVlRPT0xTX0tJVF9BQ1RJVkVfQVBQX1JFQ09SRF9fLCB7XG4gIGdldChfdGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuICAgIGlmIChwcm9wID09PSBcInZhbHVlXCIpXG4gICAgICByZXR1cm4gZ2xvYmFsLl9fVlVFX0RFVlRPT0xTX0tJVF9BQ1RJVkVfQVBQX1JFQ09SRF9fO1xuICAgIGVsc2UgaWYgKHByb3AgPT09IFwiaWRcIilcbiAgICAgIHJldHVybiBnbG9iYWwuX19WVUVfREVWVE9PTFNfS0lUX0FDVElWRV9BUFBfUkVDT1JEX0lEX187XG4gICAgcmV0dXJuIGdsb2JhbC5fX1ZVRV9ERVZUT09MU19LSVRfQUNUSVZFX0FQUF9SRUNPUkRfX1twcm9wXTtcbiAgfVxufSk7XG5mdW5jdGlvbiB1cGRhdGVBbGxTdGF0ZXMoKSB7XG4gIGNhbGxTdGF0ZVVwZGF0ZWRIb29rKHtcbiAgICAuLi5nbG9iYWxbU1RBVEVfS0VZXSxcbiAgICBhcHBSZWNvcmRzOiBkZXZ0b29sc0FwcFJlY29yZHMudmFsdWUsXG4gICAgYWN0aXZlQXBwUmVjb3JkSWQ6IGFjdGl2ZUFwcFJlY29yZC5pZCxcbiAgICB0YWJzOiBnbG9iYWwuX19WVUVfREVWVE9PTFNfS0lUX0NVU1RPTV9UQUJTX18sXG4gICAgY29tbWFuZHM6IGdsb2JhbC5fX1ZVRV9ERVZUT09MU19LSVRfQ1VTVE9NX0NPTU1BTkRTX19cbiAgfSk7XG59XG5mdW5jdGlvbiBzZXRBY3RpdmVBcHBSZWNvcmQoYXBwKSB7XG4gIGdsb2JhbC5fX1ZVRV9ERVZUT09MU19LSVRfQUNUSVZFX0FQUF9SRUNPUkRfXyA9IGFwcDtcbiAgdXBkYXRlQWxsU3RhdGVzKCk7XG59XG5mdW5jdGlvbiBzZXRBY3RpdmVBcHBSZWNvcmRJZChpZCkge1xuICBnbG9iYWwuX19WVUVfREVWVE9PTFNfS0lUX0FDVElWRV9BUFBfUkVDT1JEX0lEX18gPSBpZDtcbiAgdXBkYXRlQWxsU3RhdGVzKCk7XG59XG52YXIgZGV2dG9vbHNTdGF0ZSA9IG5ldyBQcm94eShnbG9iYWxbU1RBVEVfS0VZXSwge1xuICBnZXQodGFyZ2V0MjIsIHByb3BlcnR5KSB7XG4gICAgaWYgKHByb3BlcnR5ID09PSBcImFwcFJlY29yZHNcIikge1xuICAgICAgcmV0dXJuIGRldnRvb2xzQXBwUmVjb3JkcztcbiAgICB9IGVsc2UgaWYgKHByb3BlcnR5ID09PSBcImFjdGl2ZUFwcFJlY29yZElkXCIpIHtcbiAgICAgIHJldHVybiBhY3RpdmVBcHBSZWNvcmQuaWQ7XG4gICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gXCJ0YWJzXCIpIHtcbiAgICAgIHJldHVybiBnbG9iYWwuX19WVUVfREVWVE9PTFNfS0lUX0NVU1RPTV9UQUJTX187XG4gICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gXCJjb21tYW5kc1wiKSB7XG4gICAgICByZXR1cm4gZ2xvYmFsLl9fVlVFX0RFVlRPT0xTX0tJVF9DVVNUT01fQ09NTUFORFNfXztcbiAgICB9XG4gICAgcmV0dXJuIGdsb2JhbFtTVEFURV9LRVldW3Byb3BlcnR5XTtcbiAgfSxcbiAgZGVsZXRlUHJvcGVydHkodGFyZ2V0MjIsIHByb3BlcnR5KSB7XG4gICAgZGVsZXRlIHRhcmdldDIyW3Byb3BlcnR5XTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSxcbiAgc2V0KHRhcmdldDIyLCBwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgICBjb25zdCBvbGRTdGF0ZSA9IHsgLi4uZ2xvYmFsW1NUQVRFX0tFWV0gfTtcbiAgICB0YXJnZXQyMltwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICBnbG9iYWxbU1RBVEVfS0VZXVtwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufSk7XG5mdW5jdGlvbiByZXNldERldlRvb2xzU3RhdGUoKSB7XG4gIE9iamVjdC5hc3NpZ24oZ2xvYmFsW1NUQVRFX0tFWV0sIGluaXRTdGF0ZUZhY3RvcnkoKSk7XG59XG5mdW5jdGlvbiB1cGRhdGVEZXZUb29sc1N0YXRlKHN0YXRlKSB7XG4gIGNvbnN0IG9sZFN0YXRlID0ge1xuICAgIC4uLmdsb2JhbFtTVEFURV9LRVldLFxuICAgIGFwcFJlY29yZHM6IGRldnRvb2xzQXBwUmVjb3Jkcy52YWx1ZSxcbiAgICBhY3RpdmVBcHBSZWNvcmRJZDogYWN0aXZlQXBwUmVjb3JkLmlkXG4gIH07XG4gIGlmIChvbGRTdGF0ZS5jb25uZWN0ZWQgIT09IHN0YXRlLmNvbm5lY3RlZCAmJiBzdGF0ZS5jb25uZWN0ZWQgfHwgb2xkU3RhdGUuY2xpZW50Q29ubmVjdGVkICE9PSBzdGF0ZS5jbGllbnRDb25uZWN0ZWQgJiYgc3RhdGUuY2xpZW50Q29ubmVjdGVkKSB7XG4gICAgY2FsbENvbm5lY3RlZFVwZGF0ZWRIb29rKGdsb2JhbFtTVEFURV9LRVldLCBvbGRTdGF0ZSk7XG4gIH1cbiAgT2JqZWN0LmFzc2lnbihnbG9iYWxbU1RBVEVfS0VZXSwgc3RhdGUpO1xuICB1cGRhdGVBbGxTdGF0ZXMoKTtcbn1cbmZ1bmN0aW9uIG9uRGV2VG9vbHNDb25uZWN0ZWQoZm4pIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKGRldnRvb2xzU3RhdGUuY29ubmVjdGVkKSB7XG4gICAgICBmbigpO1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH1cbiAgICBkZXZ0b29sc0NvbnRleHQuaG9va3MuaG9vayhcImRldnRvb2xzQ29ubmVjdGVkVXBkYXRlZFwiIC8qIERFVlRPT0xTX0NPTk5FQ1RFRF9VUERBVEVEICovLCAoeyBzdGF0ZSB9KSA9PiB7XG4gICAgICBpZiAoc3RhdGUuY29ubmVjdGVkKSB7XG4gICAgICAgIGZuKCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG52YXIgcmVzb2x2ZUljb24gPSAoaWNvbikgPT4ge1xuICBpZiAoIWljb24pXG4gICAgcmV0dXJuO1xuICBpZiAoaWNvbi5zdGFydHNXaXRoKFwiYmFzZWxpbmUtXCIpKSB7XG4gICAgcmV0dXJuIGBjdXN0b20taWMtJHtpY29ufWA7XG4gIH1cbiAgaWYgKGljb24uc3RhcnRzV2l0aChcImktXCIpIHx8IGlzVXJsU3RyaW5nKGljb24pKVxuICAgIHJldHVybiBpY29uO1xuICByZXR1cm4gYGN1c3RvbS1pYy1iYXNlbGluZS0ke2ljb259YDtcbn07XG5mdW5jdGlvbiBhZGRDdXN0b21UYWIodGFiKSB7XG4gIGNvbnN0IHRhYnMgPSBnbG9iYWwuX19WVUVfREVWVE9PTFNfS0lUX0NVU1RPTV9UQUJTX187XG4gIGlmICh0YWJzLnNvbWUoKHQpID0+IHQubmFtZSA9PT0gdGFiLm5hbWUpKVxuICAgIHJldHVybjtcbiAgdGFicy5wdXNoKHtcbiAgICAuLi50YWIsXG4gICAgaWNvbjogcmVzb2x2ZUljb24odGFiLmljb24pXG4gIH0pO1xuICB1cGRhdGVBbGxTdGF0ZXMoKTtcbn1cbmZ1bmN0aW9uIGFkZEN1c3RvbUNvbW1hbmQoYWN0aW9uKSB7XG4gIGNvbnN0IGNvbW1hbmRzID0gZ2xvYmFsLl9fVlVFX0RFVlRPT0xTX0tJVF9DVVNUT01fQ09NTUFORFNfXztcbiAgaWYgKGNvbW1hbmRzLnNvbWUoKHQpID0+IHQuaWQgPT09IGFjdGlvbi5pZCkpXG4gICAgcmV0dXJuO1xuICBjb21tYW5kcy5wdXNoKHtcbiAgICAuLi5hY3Rpb24sXG4gICAgaWNvbjogcmVzb2x2ZUljb24oYWN0aW9uLmljb24pLFxuICAgIGNoaWxkcmVuOiBhY3Rpb24uY2hpbGRyZW4gPyBhY3Rpb24uY2hpbGRyZW4ubWFwKChjaGlsZCkgPT4gKHtcbiAgICAgIC4uLmNoaWxkLFxuICAgICAgaWNvbjogcmVzb2x2ZUljb24oY2hpbGQuaWNvbilcbiAgICB9KSkgOiB2b2lkIDBcbiAgfSk7XG4gIHVwZGF0ZUFsbFN0YXRlcygpO1xufVxuZnVuY3Rpb24gcmVtb3ZlQ3VzdG9tQ29tbWFuZChhY3Rpb25JZCkge1xuICBjb25zdCBjb21tYW5kcyA9IGdsb2JhbC5fX1ZVRV9ERVZUT09MU19LSVRfQ1VTVE9NX0NPTU1BTkRTX187XG4gIGNvbnN0IGluZGV4ID0gY29tbWFuZHMuZmluZEluZGV4KCh0KSA9PiB0LmlkID09PSBhY3Rpb25JZCk7XG4gIGlmIChpbmRleCA9PT0gLTEpXG4gICAgcmV0dXJuO1xuICBjb21tYW5kcy5zcGxpY2UoaW5kZXgsIDEpO1xuICB1cGRhdGVBbGxTdGF0ZXMoKTtcbn1cbmZ1bmN0aW9uIHRvZ2dsZUNsaWVudENvbm5lY3RlZChzdGF0ZSkge1xuICB1cGRhdGVEZXZUb29sc1N0YXRlKHsgY2xpZW50Q29ubmVjdGVkOiBzdGF0ZSB9KTtcbn1cblxuLy8gc3JjL2NvcmUvb3Blbi1pbi1lZGl0b3IvaW5kZXgudHNcbmZ1bmN0aW9uIHNldE9wZW5JbkVkaXRvckJhc2VVcmwodXJsKSB7XG4gIHRhcmdldDUuX19WVUVfREVWVE9PTFNfT1BFTl9JTl9FRElUT1JfQkFTRV9VUkxfXyA9IHVybDtcbn1cbmZ1bmN0aW9uIG9wZW5JbkVkaXRvcihvcHRpb25zID0ge30pIHtcbiAgdmFyIF9hMjUsIF9iMjUsIF9jO1xuICBjb25zdCB7IGZpbGUsIGhvc3QsIGJhc2VVcmwgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luLCBsaW5lID0gMCwgY29sdW1uID0gMCB9ID0gb3B0aW9ucztcbiAgaWYgKGZpbGUpIHtcbiAgICBpZiAoaG9zdCA9PT0gXCJjaHJvbWUtZXh0ZW5zaW9uXCIpIHtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gZmlsZS5yZXBsYWNlKC9cXFxcL2csIFwiXFxcXFxcXFxcIik7XG4gICAgICBjb25zdCBfYmFzZVVybCA9IChfYjI1ID0gKF9hMjUgPSB3aW5kb3cuVlVFX0RFVlRPT0xTX0NPTkZJRykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUub3BlbkluRWRpdG9ySG9zdCkgIT0gbnVsbCA/IF9iMjUgOiBcIi9cIjtcbiAgICAgIGZldGNoKGAke19iYXNlVXJsfV9fb3Blbi1pbi1lZGl0b3I/ZmlsZT0ke2VuY29kZVVSSShmaWxlKX1gKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgY29uc3QgbXNnID0gYE9wZW5pbmcgY29tcG9uZW50ICR7ZmlsZU5hbWV9IGZhaWxlZGA7XG4gICAgICAgICAgY29uc29sZS5sb2coYCVjJHttc2d9YCwgXCJjb2xvcjpyZWRcIik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZGV2dG9vbHNTdGF0ZS52aXRlUGx1Z2luRGV0ZWN0ZWQpIHtcbiAgICAgIGNvbnN0IF9iYXNlVXJsID0gKF9jID0gdGFyZ2V0NS5fX1ZVRV9ERVZUT09MU19PUEVOX0lOX0VESVRPUl9CQVNFX1VSTF9fKSAhPSBudWxsID8gX2MgOiBiYXNlVXJsO1xuICAgICAgdGFyZ2V0NS5fX1ZVRV9JTlNQRUNUT1JfXy5vcGVuSW5FZGl0b3IoX2Jhc2VVcmwsIGZpbGUsIGxpbmUsIGNvbHVtbik7XG4gICAgfVxuICB9XG59XG5cbi8vIHNyYy9jb3JlL3BsdWdpbi9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IHRhcmdldCBhcyB0YXJnZXQ4IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9hcGkvaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9hcGkvdjYvaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9jb3JlL3BsdWdpbi9wbHVnaW4tc2V0dGluZ3MudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9jdHgvcGx1Z2luLnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgdGFyZ2V0IGFzIHRhcmdldDYgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbnZhciBfYTEwLCBfYjEwO1xuKF9iMTAgPSAoX2ExMCA9IHRhcmdldDYpLl9fVlVFX0RFVlRPT0xTX0tJVF9QTFVHSU5fQlVGRkVSX18pICE9IG51bGwgPyBfYjEwIDogX2ExMC5fX1ZVRV9ERVZUT09MU19LSVRfUExVR0lOX0JVRkZFUl9fID0gW107XG52YXIgZGV2dG9vbHNQbHVnaW5CdWZmZXIgPSBuZXcgUHJveHkodGFyZ2V0Ni5fX1ZVRV9ERVZUT09MU19LSVRfUExVR0lOX0JVRkZFUl9fLCB7XG4gIGdldCh0YXJnZXQyMiwgcHJvcCwgcmVjZWl2ZXIpIHtcbiAgICByZXR1cm4gUmVmbGVjdC5nZXQodGFyZ2V0MjIsIHByb3AsIHJlY2VpdmVyKTtcbiAgfVxufSk7XG5mdW5jdGlvbiBhZGREZXZUb29sc1BsdWdpblRvQnVmZmVyKHBsdWdpbkRlc2NyaXB0b3IsIHNldHVwRm4pIHtcbiAgZGV2dG9vbHNQbHVnaW5CdWZmZXIucHVzaChbcGx1Z2luRGVzY3JpcHRvciwgc2V0dXBGbl0pO1xufVxuXG4vLyBzcmMvY29yZS9wbHVnaW4vcGx1Z2luLXNldHRpbmdzLnRzXG5mdW5jdGlvbiBfZ2V0U2V0dGluZ3Moc2V0dGluZ3MpIHtcbiAgY29uc3QgX3NldHRpbmdzID0ge307XG4gIE9iamVjdC5rZXlzKHNldHRpbmdzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBfc2V0dGluZ3Nba2V5XSA9IHNldHRpbmdzW2tleV0uZGVmYXVsdFZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIF9zZXR0aW5ncztcbn1cbmZ1bmN0aW9uIGdldFBsdWdpbkxvY2FsS2V5KHBsdWdpbklkKSB7XG4gIHJldHVybiBgX19WVUVfREVWVE9PTFNfTkVYVF9QTFVHSU5fU0VUVElOR1NfXyR7cGx1Z2luSWR9X19gO1xufVxuZnVuY3Rpb24gZ2V0UGx1Z2luU2V0dGluZ3NPcHRpb25zKHBsdWdpbklkKSB7XG4gIHZhciBfYTI1LCBfYjI1LCBfYztcbiAgY29uc3QgaXRlbSA9IChfYjI1ID0gKF9hMjUgPSBkZXZ0b29sc1BsdWdpbkJ1ZmZlci5maW5kKChpdGVtMikgPT4ge1xuICAgIHZhciBfYTI2O1xuICAgIHJldHVybiBpdGVtMlswXS5pZCA9PT0gcGx1Z2luSWQgJiYgISEoKF9hMjYgPSBpdGVtMlswXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjYuc2V0dGluZ3MpO1xuICB9KSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjVbMF0pICE9IG51bGwgPyBfYjI1IDogbnVsbDtcbiAgcmV0dXJuIChfYyA9IGl0ZW0gPT0gbnVsbCA/IHZvaWQgMCA6IGl0ZW0uc2V0dGluZ3MpICE9IG51bGwgPyBfYyA6IG51bGw7XG59XG5mdW5jdGlvbiBnZXRQbHVnaW5TZXR0aW5ncyhwbHVnaW5JZCwgZmFsbGJhY2tWYWx1ZSkge1xuICB2YXIgX2EyNSwgX2IyNSwgX2M7XG4gIGNvbnN0IGxvY2FsS2V5ID0gZ2V0UGx1Z2luTG9jYWxLZXkocGx1Z2luSWQpO1xuICBpZiAobG9jYWxLZXkpIHtcbiAgICBjb25zdCBsb2NhbFNldHRpbmdzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obG9jYWxLZXkpO1xuICAgIGlmIChsb2NhbFNldHRpbmdzKSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFNldHRpbmdzKTtcbiAgICB9XG4gIH1cbiAgaWYgKHBsdWdpbklkKSB7XG4gICAgY29uc3QgaXRlbSA9IChfYjI1ID0gKF9hMjUgPSBkZXZ0b29sc1BsdWdpbkJ1ZmZlci5maW5kKChpdGVtMikgPT4gaXRlbTJbMF0uaWQgPT09IHBsdWdpbklkKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjVbMF0pICE9IG51bGwgPyBfYjI1IDogbnVsbDtcbiAgICByZXR1cm4gX2dldFNldHRpbmdzKChfYyA9IGl0ZW0gPT0gbnVsbCA/IHZvaWQgMCA6IGl0ZW0uc2V0dGluZ3MpICE9IG51bGwgPyBfYyA6IHt9KTtcbiAgfVxuICByZXR1cm4gX2dldFNldHRpbmdzKGZhbGxiYWNrVmFsdWUpO1xufVxuZnVuY3Rpb24gaW5pdFBsdWdpblNldHRpbmdzKHBsdWdpbklkLCBzZXR0aW5ncykge1xuICBjb25zdCBsb2NhbEtleSA9IGdldFBsdWdpbkxvY2FsS2V5KHBsdWdpbklkKTtcbiAgY29uc3QgbG9jYWxTZXR0aW5ncyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGxvY2FsS2V5KTtcbiAgaWYgKCFsb2NhbFNldHRpbmdzKSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obG9jYWxLZXksIEpTT04uc3RyaW5naWZ5KF9nZXRTZXR0aW5ncyhzZXR0aW5ncykpKTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0UGx1Z2luU2V0dGluZ3MocGx1Z2luSWQsIGtleSwgdmFsdWUpIHtcbiAgY29uc3QgbG9jYWxLZXkgPSBnZXRQbHVnaW5Mb2NhbEtleShwbHVnaW5JZCk7XG4gIGNvbnN0IGxvY2FsU2V0dGluZ3MgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShsb2NhbEtleSk7XG4gIGNvbnN0IHBhcnNlZExvY2FsU2V0dGluZ3MgPSBKU09OLnBhcnNlKGxvY2FsU2V0dGluZ3MgfHwgXCJ7fVwiKTtcbiAgY29uc3QgdXBkYXRlZCA9IHtcbiAgICAuLi5wYXJzZWRMb2NhbFNldHRpbmdzLFxuICAgIFtrZXldOiB2YWx1ZVxuICB9O1xuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbEtleSwgSlNPTi5zdHJpbmdpZnkodXBkYXRlZCkpO1xuICBkZXZ0b29sc0NvbnRleHQuaG9va3MuY2FsbEhvb2tXaXRoKChjYWxsYmFja3MpID0+IHtcbiAgICBjYWxsYmFja3MuZm9yRWFjaCgoY2IpID0+IGNiKHtcbiAgICAgIHBsdWdpbklkLFxuICAgICAga2V5LFxuICAgICAgb2xkVmFsdWU6IHBhcnNlZExvY2FsU2V0dGluZ3Nba2V5XSxcbiAgICAgIG5ld1ZhbHVlOiB2YWx1ZSxcbiAgICAgIHNldHRpbmdzOiB1cGRhdGVkXG4gICAgfSkpO1xuICB9LCBcInNldFBsdWdpblNldHRpbmdzXCIgLyogU0VUX1BMVUdJTl9TRVRUSU5HUyAqLyk7XG59XG5cbi8vIHNyYy9ob29rL2luZGV4LnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgdGFyZ2V0IGFzIHRhcmdldDcgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbmltcG9ydCB7IGNyZWF0ZUhvb2tzIGFzIGNyZWF0ZUhvb2tzMiB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2hvb2thYmxlL2Rpc3QvaW5kZXgubWpzP3Y9ZTRmMThjMjlcIjtcblxuLy8gc3JjL3R5cGVzL2luZGV4LnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyBzcmMvdHlwZXMvYXBwLnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyBzcmMvdHlwZXMvY29tbWFuZC50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL3R5cGVzL2NvbXBvbmVudC50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL3R5cGVzL2hvb2sudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy90eXBlcy9pbnNwZWN0b3IudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy90eXBlcy9wbHVnaW4udHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy90eXBlcy9yb3V0ZXIudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy90eXBlcy90YWIudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy90eXBlcy90aW1lbGluZS50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL2hvb2svaW5kZXgudHNcbnZhciBfYTExLCBfYjExO1xudmFyIGRldnRvb2xzSG9va3MgPSAoX2IxMSA9IChfYTExID0gdGFyZ2V0NykuX19WVUVfREVWVE9PTFNfSE9PSykgIT0gbnVsbCA/IF9iMTEgOiBfYTExLl9fVlVFX0RFVlRPT0xTX0hPT0sgPSBjcmVhdGVIb29rczIoKTtcbnZhciBvbiA9IHtcbiAgdnVlQXBwSW5pdChmbikge1xuICAgIGRldnRvb2xzSG9va3MuaG9vayhcImFwcDppbml0XCIgLyogQVBQX0lOSVQgKi8sIGZuKTtcbiAgfSxcbiAgdnVlQXBwVW5tb3VudChmbikge1xuICAgIGRldnRvb2xzSG9va3MuaG9vayhcImFwcDp1bm1vdW50XCIgLyogQVBQX1VOTU9VTlQgKi8sIGZuKTtcbiAgfSxcbiAgdnVlQXBwQ29ubmVjdGVkKGZuKSB7XG4gICAgZGV2dG9vbHNIb29rcy5ob29rKFwiYXBwOmNvbm5lY3RlZFwiIC8qIEFQUF9DT05ORUNURUQgKi8sIGZuKTtcbiAgfSxcbiAgY29tcG9uZW50QWRkZWQoZm4pIHtcbiAgICByZXR1cm4gZGV2dG9vbHNIb29rcy5ob29rKFwiY29tcG9uZW50OmFkZGVkXCIgLyogQ09NUE9ORU5UX0FEREVEICovLCBmbik7XG4gIH0sXG4gIGNvbXBvbmVudEVtaXQoZm4pIHtcbiAgICByZXR1cm4gZGV2dG9vbHNIb29rcy5ob29rKFwiY29tcG9uZW50OmVtaXRcIiAvKiBDT01QT05FTlRfRU1JVCAqLywgZm4pO1xuICB9LFxuICBjb21wb25lbnRVcGRhdGVkKGZuKSB7XG4gICAgcmV0dXJuIGRldnRvb2xzSG9va3MuaG9vayhcImNvbXBvbmVudDp1cGRhdGVkXCIgLyogQ09NUE9ORU5UX1VQREFURUQgKi8sIGZuKTtcbiAgfSxcbiAgY29tcG9uZW50UmVtb3ZlZChmbikge1xuICAgIHJldHVybiBkZXZ0b29sc0hvb2tzLmhvb2soXCJjb21wb25lbnQ6cmVtb3ZlZFwiIC8qIENPTVBPTkVOVF9SRU1PVkVEICovLCBmbik7XG4gIH0sXG4gIHNldHVwRGV2dG9vbHNQbHVnaW4oZm4pIHtcbiAgICBkZXZ0b29sc0hvb2tzLmhvb2soXCJkZXZ0b29scy1wbHVnaW46c2V0dXBcIiAvKiBTRVRVUF9ERVZUT09MU19QTFVHSU4gKi8sIGZuKTtcbiAgfSxcbiAgcGVyZlN0YXJ0KGZuKSB7XG4gICAgcmV0dXJuIGRldnRvb2xzSG9va3MuaG9vayhcInBlcmY6c3RhcnRcIiAvKiBQRVJGT1JNQU5DRV9TVEFSVCAqLywgZm4pO1xuICB9LFxuICBwZXJmRW5kKGZuKSB7XG4gICAgcmV0dXJuIGRldnRvb2xzSG9va3MuaG9vayhcInBlcmY6ZW5kXCIgLyogUEVSRk9STUFOQ0VfRU5EICovLCBmbik7XG4gIH1cbn07XG5mdW5jdGlvbiBjcmVhdGVEZXZUb29sc0hvb2soKSB7XG4gIHJldHVybiB7XG4gICAgaWQ6IFwidnVlLWRldnRvb2xzLW5leHRcIixcbiAgICBkZXZ0b29sc1ZlcnNpb246IFwiNy4wXCIsXG4gICAgZW5hYmxlZDogZmFsc2UsXG4gICAgYXBwUmVjb3JkczogW10sXG4gICAgYXBwczogW10sXG4gICAgZXZlbnRzOiAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpLFxuICAgIG9uKGV2ZW50LCBmbikge1xuICAgICAgdmFyIF9hMjU7XG4gICAgICBpZiAoIXRoaXMuZXZlbnRzLmhhcyhldmVudCkpXG4gICAgICAgIHRoaXMuZXZlbnRzLnNldChldmVudCwgW10pO1xuICAgICAgKF9hMjUgPSB0aGlzLmV2ZW50cy5nZXQoZXZlbnQpKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5wdXNoKGZuKTtcbiAgICAgIHJldHVybiAoKSA9PiB0aGlzLm9mZihldmVudCwgZm4pO1xuICAgIH0sXG4gICAgb25jZShldmVudCwgZm4pIHtcbiAgICAgIGNvbnN0IG9uY2VGbiA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHRoaXMub2ZmKGV2ZW50LCBvbmNlRm4pO1xuICAgICAgICBmbiguLi5hcmdzKTtcbiAgICAgIH07XG4gICAgICB0aGlzLm9uKGV2ZW50LCBvbmNlRm4pO1xuICAgICAgcmV0dXJuIFtldmVudCwgb25jZUZuXTtcbiAgICB9LFxuICAgIG9mZihldmVudCwgZm4pIHtcbiAgICAgIGlmICh0aGlzLmV2ZW50cy5oYXMoZXZlbnQpKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50Q2FsbGJhY2tzID0gdGhpcy5ldmVudHMuZ2V0KGV2ZW50KTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBldmVudENhbGxiYWNrcy5pbmRleE9mKGZuKTtcbiAgICAgICAgaWYgKGluZGV4ICE9PSAtMSlcbiAgICAgICAgICBldmVudENhbGxiYWNrcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH0sXG4gICAgZW1pdChldmVudCwgLi4ucGF5bG9hZCkge1xuICAgICAgaWYgKHRoaXMuZXZlbnRzLmhhcyhldmVudCkpXG4gICAgICAgIHRoaXMuZXZlbnRzLmdldChldmVudCkuZm9yRWFjaCgoZm4pID0+IGZuKC4uLnBheWxvYWQpKTtcbiAgICB9XG4gIH07XG59XG5mdW5jdGlvbiBzdWJzY3JpYmVEZXZUb29sc0hvb2soaG9vazIpIHtcbiAgaG9vazIub24oXCJhcHA6aW5pdFwiIC8qIEFQUF9JTklUICovLCAoYXBwLCB2ZXJzaW9uLCB0eXBlcykgPT4ge1xuICAgIHZhciBfYTI1LCBfYjI1LCBfYztcbiAgICBpZiAoKF9jID0gKF9iMjUgPSAoX2EyNSA9IGFwcCA9PSBudWxsID8gdm9pZCAwIDogYXBwLl9pbnN0YW5jZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iMjUuZGV2dG9vbHMpID09IG51bGwgPyB2b2lkIDAgOiBfYy5oaWRlKVxuICAgICAgcmV0dXJuO1xuICAgIGRldnRvb2xzSG9va3MuY2FsbEhvb2soXCJhcHA6aW5pdFwiIC8qIEFQUF9JTklUICovLCBhcHAsIHZlcnNpb24sIHR5cGVzKTtcbiAgfSk7XG4gIGhvb2syLm9uKFwiYXBwOnVubW91bnRcIiAvKiBBUFBfVU5NT1VOVCAqLywgKGFwcCkgPT4ge1xuICAgIGRldnRvb2xzSG9va3MuY2FsbEhvb2soXCJhcHA6dW5tb3VudFwiIC8qIEFQUF9VTk1PVU5UICovLCBhcHApO1xuICB9KTtcbiAgaG9vazIub24oXCJjb21wb25lbnQ6YWRkZWRcIiAvKiBDT01QT05FTlRfQURERUQgKi8sIGFzeW5jIChhcHAsIHVpZCwgcGFyZW50VWlkLCBjb21wb25lbnQpID0+IHtcbiAgICB2YXIgX2EyNSwgX2IyNSwgX2M7XG4gICAgaWYgKCgoX2MgPSAoX2IyNSA9IChfYTI1ID0gYXBwID09IG51bGwgPyB2b2lkIDAgOiBhcHAuX2luc3RhbmNlKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS50eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX2IyNS5kZXZ0b29scykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLmhpZGUpIHx8IGRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZClcbiAgICAgIHJldHVybjtcbiAgICBpZiAoIWFwcCB8fCB0eXBlb2YgdWlkICE9PSBcIm51bWJlclwiICYmICF1aWQgfHwgIWNvbXBvbmVudClcbiAgICAgIHJldHVybjtcbiAgICBkZXZ0b29sc0hvb2tzLmNhbGxIb29rKFwiY29tcG9uZW50OmFkZGVkXCIgLyogQ09NUE9ORU5UX0FEREVEICovLCBhcHAsIHVpZCwgcGFyZW50VWlkLCBjb21wb25lbnQpO1xuICB9KTtcbiAgaG9vazIub24oXCJjb21wb25lbnQ6dXBkYXRlZFwiIC8qIENPTVBPTkVOVF9VUERBVEVEICovLCAoYXBwLCB1aWQsIHBhcmVudFVpZCwgY29tcG9uZW50KSA9PiB7XG4gICAgaWYgKCFhcHAgfHwgdHlwZW9mIHVpZCAhPT0gXCJudW1iZXJcIiAmJiAhdWlkIHx8ICFjb21wb25lbnQgfHwgZGV2dG9vbHNTdGF0ZS5oaWdoUGVyZk1vZGVFbmFibGVkKVxuICAgICAgcmV0dXJuO1xuICAgIGRldnRvb2xzSG9va3MuY2FsbEhvb2soXCJjb21wb25lbnQ6dXBkYXRlZFwiIC8qIENPTVBPTkVOVF9VUERBVEVEICovLCBhcHAsIHVpZCwgcGFyZW50VWlkLCBjb21wb25lbnQpO1xuICB9KTtcbiAgaG9vazIub24oXCJjb21wb25lbnQ6cmVtb3ZlZFwiIC8qIENPTVBPTkVOVF9SRU1PVkVEICovLCBhc3luYyAoYXBwLCB1aWQsIHBhcmVudFVpZCwgY29tcG9uZW50KSA9PiB7XG4gICAgaWYgKCFhcHAgfHwgdHlwZW9mIHVpZCAhPT0gXCJudW1iZXJcIiAmJiAhdWlkIHx8ICFjb21wb25lbnQgfHwgZGV2dG9vbHNTdGF0ZS5oaWdoUGVyZk1vZGVFbmFibGVkKVxuICAgICAgcmV0dXJuO1xuICAgIGRldnRvb2xzSG9va3MuY2FsbEhvb2soXCJjb21wb25lbnQ6cmVtb3ZlZFwiIC8qIENPTVBPTkVOVF9SRU1PVkVEICovLCBhcHAsIHVpZCwgcGFyZW50VWlkLCBjb21wb25lbnQpO1xuICB9KTtcbiAgaG9vazIub24oXCJjb21wb25lbnQ6ZW1pdFwiIC8qIENPTVBPTkVOVF9FTUlUICovLCBhc3luYyAoYXBwLCBpbnN0YW5jZSwgZXZlbnQsIHBhcmFtcykgPT4ge1xuICAgIGlmICghYXBwIHx8ICFpbnN0YW5jZSB8fCBkZXZ0b29sc1N0YXRlLmhpZ2hQZXJmTW9kZUVuYWJsZWQpXG4gICAgICByZXR1cm47XG4gICAgZGV2dG9vbHNIb29rcy5jYWxsSG9vayhcImNvbXBvbmVudDplbWl0XCIgLyogQ09NUE9ORU5UX0VNSVQgKi8sIGFwcCwgaW5zdGFuY2UsIGV2ZW50LCBwYXJhbXMpO1xuICB9KTtcbiAgaG9vazIub24oXCJwZXJmOnN0YXJ0XCIgLyogUEVSRk9STUFOQ0VfU1RBUlQgKi8sIChhcHAsIHVpZCwgdm0sIHR5cGUsIHRpbWUpID0+IHtcbiAgICBpZiAoIWFwcCB8fCBkZXZ0b29sc1N0YXRlLmhpZ2hQZXJmTW9kZUVuYWJsZWQpXG4gICAgICByZXR1cm47XG4gICAgZGV2dG9vbHNIb29rcy5jYWxsSG9vayhcInBlcmY6c3RhcnRcIiAvKiBQRVJGT1JNQU5DRV9TVEFSVCAqLywgYXBwLCB1aWQsIHZtLCB0eXBlLCB0aW1lKTtcbiAgfSk7XG4gIGhvb2syLm9uKFwicGVyZjplbmRcIiAvKiBQRVJGT1JNQU5DRV9FTkQgKi8sIChhcHAsIHVpZCwgdm0sIHR5cGUsIHRpbWUpID0+IHtcbiAgICBpZiAoIWFwcCB8fCBkZXZ0b29sc1N0YXRlLmhpZ2hQZXJmTW9kZUVuYWJsZWQpXG4gICAgICByZXR1cm47XG4gICAgZGV2dG9vbHNIb29rcy5jYWxsSG9vayhcInBlcmY6ZW5kXCIgLyogUEVSRk9STUFOQ0VfRU5EICovLCBhcHAsIHVpZCwgdm0sIHR5cGUsIHRpbWUpO1xuICB9KTtcbiAgaG9vazIub24oXCJkZXZ0b29scy1wbHVnaW46c2V0dXBcIiAvKiBTRVRVUF9ERVZUT09MU19QTFVHSU4gKi8sIChwbHVnaW5EZXNjcmlwdG9yLCBzZXR1cEZuLCBvcHRpb25zKSA9PiB7XG4gICAgaWYgKChvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLnRhcmdldCkgPT09IFwibGVnYWN5XCIpXG4gICAgICByZXR1cm47XG4gICAgZGV2dG9vbHNIb29rcy5jYWxsSG9vayhcImRldnRvb2xzLXBsdWdpbjpzZXR1cFwiIC8qIFNFVFVQX0RFVlRPT0xTX1BMVUdJTiAqLywgcGx1Z2luRGVzY3JpcHRvciwgc2V0dXBGbik7XG4gIH0pO1xufVxudmFyIGhvb2sgPSB7XG4gIG9uLFxuICBzZXR1cERldlRvb2xzUGx1Z2luKHBsdWdpbkRlc2NyaXB0b3IsIHNldHVwRm4pIHtcbiAgICByZXR1cm4gZGV2dG9vbHNIb29rcy5jYWxsSG9vayhcImRldnRvb2xzLXBsdWdpbjpzZXR1cFwiIC8qIFNFVFVQX0RFVlRPT0xTX1BMVUdJTiAqLywgcGx1Z2luRGVzY3JpcHRvciwgc2V0dXBGbik7XG4gIH1cbn07XG5cbi8vIHNyYy9hcGkvdjYvaW5kZXgudHNcbnZhciBEZXZUb29sc1Y2UGx1Z2luQVBJID0gY2xhc3Mge1xuICBjb25zdHJ1Y3Rvcih7IHBsdWdpbiwgY3R4IH0pIHtcbiAgICB0aGlzLmhvb2tzID0gY3R4Lmhvb2tzO1xuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICB9XG4gIGdldCBvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gY29tcG9uZW50IGluc3BlY3RvclxuICAgICAgdmlzaXRDb21wb25lbnRUcmVlOiAoaGFuZGxlcikgPT4ge1xuICAgICAgICB0aGlzLmhvb2tzLmhvb2soXCJ2aXNpdENvbXBvbmVudFRyZWVcIiAvKiBWSVNJVF9DT01QT05FTlRfVFJFRSAqLywgaGFuZGxlcik7XG4gICAgICB9LFxuICAgICAgaW5zcGVjdENvbXBvbmVudDogKGhhbmRsZXIpID0+IHtcbiAgICAgICAgdGhpcy5ob29rcy5ob29rKFwiaW5zcGVjdENvbXBvbmVudFwiIC8qIElOU1BFQ1RfQ09NUE9ORU5UICovLCBoYW5kbGVyKTtcbiAgICAgIH0sXG4gICAgICBlZGl0Q29tcG9uZW50U3RhdGU6IChoYW5kbGVyKSA9PiB7XG4gICAgICAgIHRoaXMuaG9va3MuaG9vayhcImVkaXRDb21wb25lbnRTdGF0ZVwiIC8qIEVESVRfQ09NUE9ORU5UX1NUQVRFICovLCBoYW5kbGVyKTtcbiAgICAgIH0sXG4gICAgICAvLyBjdXN0b20gaW5zcGVjdG9yXG4gICAgICBnZXRJbnNwZWN0b3JUcmVlOiAoaGFuZGxlcikgPT4ge1xuICAgICAgICB0aGlzLmhvb2tzLmhvb2soXCJnZXRJbnNwZWN0b3JUcmVlXCIgLyogR0VUX0lOU1BFQ1RPUl9UUkVFICovLCBoYW5kbGVyKTtcbiAgICAgIH0sXG4gICAgICBnZXRJbnNwZWN0b3JTdGF0ZTogKGhhbmRsZXIpID0+IHtcbiAgICAgICAgdGhpcy5ob29rcy5ob29rKFwiZ2V0SW5zcGVjdG9yU3RhdGVcIiAvKiBHRVRfSU5TUEVDVE9SX1NUQVRFICovLCBoYW5kbGVyKTtcbiAgICAgIH0sXG4gICAgICBlZGl0SW5zcGVjdG9yU3RhdGU6IChoYW5kbGVyKSA9PiB7XG4gICAgICAgIHRoaXMuaG9va3MuaG9vayhcImVkaXRJbnNwZWN0b3JTdGF0ZVwiIC8qIEVESVRfSU5TUEVDVE9SX1NUQVRFICovLCBoYW5kbGVyKTtcbiAgICAgIH0sXG4gICAgICAvLyB0aW1lbGluZVxuICAgICAgaW5zcGVjdFRpbWVsaW5lRXZlbnQ6IChoYW5kbGVyKSA9PiB7XG4gICAgICAgIHRoaXMuaG9va3MuaG9vayhcImluc3BlY3RUaW1lbGluZUV2ZW50XCIgLyogSU5TUEVDVF9USU1FTElORV9FVkVOVCAqLywgaGFuZGxlcik7XG4gICAgICB9LFxuICAgICAgdGltZWxpbmVDbGVhcmVkOiAoaGFuZGxlcikgPT4ge1xuICAgICAgICB0aGlzLmhvb2tzLmhvb2soXCJ0aW1lbGluZUNsZWFyZWRcIiAvKiBUSU1FTElORV9DTEVBUkVEICovLCBoYW5kbGVyKTtcbiAgICAgIH0sXG4gICAgICAvLyBzZXR0aW5nc1xuICAgICAgc2V0UGx1Z2luU2V0dGluZ3M6IChoYW5kbGVyKSA9PiB7XG4gICAgICAgIHRoaXMuaG9va3MuaG9vayhcInNldFBsdWdpblNldHRpbmdzXCIgLyogU0VUX1BMVUdJTl9TRVRUSU5HUyAqLywgaGFuZGxlcik7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICAvLyBjb21wb25lbnQgaW5zcGVjdG9yXG4gIG5vdGlmeUNvbXBvbmVudFVwZGF0ZShpbnN0YW5jZSkge1xuICAgIHZhciBfYTI1O1xuICAgIGlmIChkZXZ0b29sc1N0YXRlLmhpZ2hQZXJmTW9kZUVuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaW5zcGVjdG9yID0gZ2V0QWN0aXZlSW5zcGVjdG9ycygpLmZpbmQoKGkpID0+IGkucGFja2FnZU5hbWUgPT09IHRoaXMucGx1Z2luLmRlc2NyaXB0b3IucGFja2FnZU5hbWUpO1xuICAgIGlmIChpbnNwZWN0b3IgPT0gbnVsbCA/IHZvaWQgMCA6IGluc3BlY3Rvci5pZCkge1xuICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBbXG4gICAgICAgICAgaW5zdGFuY2UuYXBwQ29udGV4dC5hcHAsXG4gICAgICAgICAgaW5zdGFuY2UudWlkLFxuICAgICAgICAgIChfYTI1ID0gaW5zdGFuY2UucGFyZW50KSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS51aWQsXG4gICAgICAgICAgaW5zdGFuY2VcbiAgICAgICAgXTtcbiAgICAgICAgZGV2dG9vbHNIb29rcy5jYWxsSG9vayhcImNvbXBvbmVudDp1cGRhdGVkXCIgLyogQ09NUE9ORU5UX1VQREFURUQgKi8sIC4uLmFyZ3MpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGV2dG9vbHNIb29rcy5jYWxsSG9vayhcImNvbXBvbmVudDp1cGRhdGVkXCIgLyogQ09NUE9ORU5UX1VQREFURUQgKi8pO1xuICAgICAgfVxuICAgICAgdGhpcy5ob29rcy5jYWxsSG9vayhcInNlbmRJbnNwZWN0b3JTdGF0ZVwiIC8qIFNFTkRfSU5TUEVDVE9SX1NUQVRFICovLCB7IGluc3BlY3RvcklkOiBpbnNwZWN0b3IuaWQsIHBsdWdpbjogdGhpcy5wbHVnaW4gfSk7XG4gICAgfVxuICB9XG4gIC8vIGN1c3RvbSBpbnNwZWN0b3JcbiAgYWRkSW5zcGVjdG9yKG9wdGlvbnMpIHtcbiAgICB0aGlzLmhvb2tzLmNhbGxIb29rKFwiYWRkSW5zcGVjdG9yXCIgLyogQUREX0lOU1BFQ1RPUiAqLywgeyBpbnNwZWN0b3I6IG9wdGlvbnMsIHBsdWdpbjogdGhpcy5wbHVnaW4gfSk7XG4gICAgaWYgKHRoaXMucGx1Z2luLmRlc2NyaXB0b3Iuc2V0dGluZ3MpIHtcbiAgICAgIGluaXRQbHVnaW5TZXR0aW5ncyhvcHRpb25zLmlkLCB0aGlzLnBsdWdpbi5kZXNjcmlwdG9yLnNldHRpbmdzKTtcbiAgICB9XG4gIH1cbiAgc2VuZEluc3BlY3RvclRyZWUoaW5zcGVjdG9ySWQpIHtcbiAgICBpZiAoZGV2dG9vbHNTdGF0ZS5oaWdoUGVyZk1vZGVFbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaG9va3MuY2FsbEhvb2soXCJzZW5kSW5zcGVjdG9yVHJlZVwiIC8qIFNFTkRfSU5TUEVDVE9SX1RSRUUgKi8sIHsgaW5zcGVjdG9ySWQsIHBsdWdpbjogdGhpcy5wbHVnaW4gfSk7XG4gIH1cbiAgc2VuZEluc3BlY3RvclN0YXRlKGluc3BlY3RvcklkKSB7XG4gICAgaWYgKGRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhvb2tzLmNhbGxIb29rKFwic2VuZEluc3BlY3RvclN0YXRlXCIgLyogU0VORF9JTlNQRUNUT1JfU1RBVEUgKi8sIHsgaW5zcGVjdG9ySWQsIHBsdWdpbjogdGhpcy5wbHVnaW4gfSk7XG4gIH1cbiAgc2VsZWN0SW5zcGVjdG9yTm9kZShpbnNwZWN0b3JJZCwgbm9kZUlkKSB7XG4gICAgdGhpcy5ob29rcy5jYWxsSG9vayhcImN1c3RvbUluc3BlY3RvclNlbGVjdE5vZGVcIiAvKiBDVVNUT01fSU5TUEVDVE9SX1NFTEVDVF9OT0RFICovLCB7IGluc3BlY3RvcklkLCBub2RlSWQsIHBsdWdpbjogdGhpcy5wbHVnaW4gfSk7XG4gIH1cbiAgdmlzaXRDb21wb25lbnRUcmVlKHBheWxvYWQpIHtcbiAgICByZXR1cm4gdGhpcy5ob29rcy5jYWxsSG9vayhcInZpc2l0Q29tcG9uZW50VHJlZVwiIC8qIFZJU0lUX0NPTVBPTkVOVF9UUkVFICovLCBwYXlsb2FkKTtcbiAgfVxuICAvLyB0aW1lbGluZVxuICBub3coKSB7XG4gICAgaWYgKGRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBEYXRlLm5vdygpO1xuICB9XG4gIGFkZFRpbWVsaW5lTGF5ZXIob3B0aW9ucykge1xuICAgIHRoaXMuaG9va3MuY2FsbEhvb2soXCJ0aW1lbGluZUxheWVyQWRkZWRcIiAvKiBUSU1FTElORV9MQVlFUl9BRERFRCAqLywgeyBvcHRpb25zLCBwbHVnaW46IHRoaXMucGx1Z2luIH0pO1xuICB9XG4gIGFkZFRpbWVsaW5lRXZlbnQob3B0aW9ucykge1xuICAgIGlmIChkZXZ0b29sc1N0YXRlLmhpZ2hQZXJmTW9kZUVuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5ob29rcy5jYWxsSG9vayhcInRpbWVsaW5lRXZlbnRBZGRlZFwiIC8qIFRJTUVMSU5FX0VWRU5UX0FEREVEICovLCB7IG9wdGlvbnMsIHBsdWdpbjogdGhpcy5wbHVnaW4gfSk7XG4gIH1cbiAgLy8gc2V0dGluZ3NcbiAgZ2V0U2V0dGluZ3MocGx1Z2luSWQpIHtcbiAgICByZXR1cm4gZ2V0UGx1Z2luU2V0dGluZ3MocGx1Z2luSWQgIT0gbnVsbCA/IHBsdWdpbklkIDogdGhpcy5wbHVnaW4uZGVzY3JpcHRvci5pZCwgdGhpcy5wbHVnaW4uZGVzY3JpcHRvci5zZXR0aW5ncyk7XG4gIH1cbiAgLy8gdXRpbGl0aWVzXG4gIGdldENvbXBvbmVudEluc3RhbmNlcyhhcHApIHtcbiAgICByZXR1cm4gdGhpcy5ob29rcy5jYWxsSG9vayhcImdldENvbXBvbmVudEluc3RhbmNlc1wiIC8qIEdFVF9DT01QT05FTlRfSU5TVEFOQ0VTICovLCB7IGFwcCB9KTtcbiAgfVxuICBnZXRDb21wb25lbnRCb3VuZHMoaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gdGhpcy5ob29rcy5jYWxsSG9vayhcImdldENvbXBvbmVudEJvdW5kc1wiIC8qIEdFVF9DT01QT05FTlRfQk9VTkRTICovLCB7IGluc3RhbmNlIH0pO1xuICB9XG4gIGdldENvbXBvbmVudE5hbWUoaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gdGhpcy5ob29rcy5jYWxsSG9vayhcImdldENvbXBvbmVudE5hbWVcIiAvKiBHRVRfQ09NUE9ORU5UX05BTUUgKi8sIHsgaW5zdGFuY2UgfSk7XG4gIH1cbiAgaGlnaGxpZ2h0RWxlbWVudChpbnN0YW5jZSkge1xuICAgIGNvbnN0IHVpZCA9IGluc3RhbmNlLl9fVlVFX0RFVlRPT0xTX05FWFRfVUlEX187XG4gICAgcmV0dXJuIHRoaXMuaG9va3MuY2FsbEhvb2soXCJjb21wb25lbnRIaWdobGlnaHRcIiAvKiBDT01QT05FTlRfSElHSExJR0hUICovLCB7IHVpZCB9KTtcbiAgfVxuICB1bmhpZ2hsaWdodEVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9va3MuY2FsbEhvb2soXCJjb21wb25lbnRVbmhpZ2hsaWdodFwiIC8qIENPTVBPTkVOVF9VTkhJR0hMSUdIVCAqLyk7XG4gIH1cbn07XG5cbi8vIHNyYy9hcGkvaW5kZXgudHNcbnZhciBEZXZUb29sc1BsdWdpbkFQSSA9IERldlRvb2xzVjZQbHVnaW5BUEk7XG5cbi8vIHNyYy9jb3JlL3BsdWdpbi9jb21wb25lbnRzLnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgZGVib3VuY2UgYXMgZGVib3VuY2U0IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvcGVyZmVjdC1kZWJvdW5jZS9kaXN0L2luZGV4Lm1qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC9zdGF0ZS9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3N0YXRlL3Byb2Nlc3MudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyBjYW1lbGl6ZSB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL0B2dWUvZGV2dG9vbHMtc2hhcmVkL2Rpc3QvaW5kZXguanM/dj1lNGYxOGMyOVwiO1xuXG4vLyBzcmMvY29yZS9jb21wb25lbnQvc3RhdGUvY29uc3RhbnRzLnRzXG5pbml0X2VzbV9zaGltcygpO1xudmFyIHZ1ZUJ1aWx0aW5zID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoW1xuICBcIm5leHRUaWNrXCIsXG4gIFwiZGVmaW5lQ29tcG9uZW50XCIsXG4gIFwiZGVmaW5lQXN5bmNDb21wb25lbnRcIixcbiAgXCJkZWZpbmVDdXN0b21FbGVtZW50XCIsXG4gIFwicmVmXCIsXG4gIFwiY29tcHV0ZWRcIixcbiAgXCJyZWFjdGl2ZVwiLFxuICBcInJlYWRvbmx5XCIsXG4gIFwid2F0Y2hFZmZlY3RcIixcbiAgXCJ3YXRjaFBvc3RFZmZlY3RcIixcbiAgXCJ3YXRjaFN5bmNFZmZlY3RcIixcbiAgXCJ3YXRjaFwiLFxuICBcImlzUmVmXCIsXG4gIFwidW5yZWZcIixcbiAgXCJ0b1JlZlwiLFxuICBcInRvUmVmc1wiLFxuICBcImlzUHJveHlcIixcbiAgXCJpc1JlYWN0aXZlXCIsXG4gIFwiaXNSZWFkb25seVwiLFxuICBcInNoYWxsb3dSZWZcIixcbiAgXCJ0cmlnZ2VyUmVmXCIsXG4gIFwiY3VzdG9tUmVmXCIsXG4gIFwic2hhbGxvd1JlYWN0aXZlXCIsXG4gIFwic2hhbGxvd1JlYWRvbmx5XCIsXG4gIFwidG9SYXdcIixcbiAgXCJtYXJrUmF3XCIsXG4gIFwiZWZmZWN0U2NvcGVcIixcbiAgXCJnZXRDdXJyZW50U2NvcGVcIixcbiAgXCJvblNjb3BlRGlzcG9zZVwiLFxuICBcIm9uTW91bnRlZFwiLFxuICBcIm9uVXBkYXRlZFwiLFxuICBcIm9uVW5tb3VudGVkXCIsXG4gIFwib25CZWZvcmVNb3VudFwiLFxuICBcIm9uQmVmb3JlVXBkYXRlXCIsXG4gIFwib25CZWZvcmVVbm1vdW50XCIsXG4gIFwib25FcnJvckNhcHR1cmVkXCIsXG4gIFwib25SZW5kZXJUcmFja2VkXCIsXG4gIFwib25SZW5kZXJUcmlnZ2VyZWRcIixcbiAgXCJvbkFjdGl2YXRlZFwiLFxuICBcIm9uRGVhY3RpdmF0ZWRcIixcbiAgXCJvblNlcnZlclByZWZldGNoXCIsXG4gIFwicHJvdmlkZVwiLFxuICBcImluamVjdFwiLFxuICBcImhcIixcbiAgXCJtZXJnZVByb3BzXCIsXG4gIFwiY2xvbmVWTm9kZVwiLFxuICBcImlzVk5vZGVcIixcbiAgXCJyZXNvbHZlQ29tcG9uZW50XCIsXG4gIFwicmVzb2x2ZURpcmVjdGl2ZVwiLFxuICBcIndpdGhEaXJlY3RpdmVzXCIsXG4gIFwid2l0aE1vZGlmaWVyc1wiXG5dKTtcbnZhciBzeW1ib2xSRSA9IC9eXFxbbmF0aXZlIFN5bWJvbCBTeW1ib2xcXCgoLiopXFwpXFxdJC87XG52YXIgcmF3VHlwZVJFID0gL15cXFtvYmplY3QgKFxcdyspXFxdJC87XG52YXIgc3BlY2lhbFR5cGVSRSA9IC9eXFxbbmF0aXZlIChcXHcrKSAoLio/KSg8PigoW1xcc1xcU10pKikpP1xcXSQvO1xudmFyIGZuVHlwZVJFID0gL14oPzpmdW5jdGlvbnxjbGFzcykgKFxcdyspLztcbnZhciBNQVhfU1RSSU5HX1NJWkUgPSAxZTQ7XG52YXIgTUFYX0FSUkFZX1NJWkUgPSA1ZTM7XG52YXIgVU5ERUZJTkVEID0gXCJfX3Z1ZV9kZXZ0b29sX3VuZGVmaW5lZF9fXCI7XG52YXIgSU5GSU5JVFkgPSBcIl9fdnVlX2RldnRvb2xfaW5maW5pdHlfX1wiO1xudmFyIE5FR0FUSVZFX0lORklOSVRZID0gXCJfX3Z1ZV9kZXZ0b29sX25lZ2F0aXZlX2luZmluaXR5X19cIjtcbnZhciBOQU4gPSBcIl9fdnVlX2RldnRvb2xfbmFuX19cIjtcbnZhciBFU0MgPSB7XG4gIFwiPFwiOiBcIiZsdDtcIixcbiAgXCI+XCI6IFwiJmd0O1wiLFxuICAnXCInOiBcIiZxdW90O1wiLFxuICBcIiZcIjogXCImYW1wO1wiXG59O1xuXG4vLyBzcmMvY29yZS9jb21wb25lbnQvc3RhdGUvdXRpbC50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3N0YXRlL2lzLnRzXG5pbml0X2VzbV9zaGltcygpO1xuZnVuY3Rpb24gaXNWdWVJbnN0YW5jZSh2YWx1ZSkge1xuICBpZiAoIWVuc3VyZVByb3BlcnR5RXhpc3RzKHZhbHVlLCBcIl9cIikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKCFpc1BsYWluT2JqZWN0KHZhbHVlLl8pKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZS5fKS5pbmNsdWRlcyhcInZub2RlXCIpO1xufVxuZnVuY3Rpb24gaXNQbGFpbk9iamVjdChvYmopIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopID09PSBcIltvYmplY3QgT2JqZWN0XVwiO1xufVxuZnVuY3Rpb24gaXNQcmltaXRpdmUoZGF0YSkge1xuICBpZiAoZGF0YSA9PSBudWxsKVxuICAgIHJldHVybiB0cnVlO1xuICBjb25zdCB0eXBlID0gdHlwZW9mIGRhdGE7XG4gIHJldHVybiB0eXBlID09PSBcInN0cmluZ1wiIHx8IHR5cGUgPT09IFwibnVtYmVyXCIgfHwgdHlwZSA9PT0gXCJib29sZWFuXCI7XG59XG5mdW5jdGlvbiBpc1JlZjIocmF3KSB7XG4gIHJldHVybiAhIXJhdy5fX3ZfaXNSZWY7XG59XG5mdW5jdGlvbiBpc0NvbXB1dGVkKHJhdykge1xuICByZXR1cm4gaXNSZWYyKHJhdykgJiYgISFyYXcuZWZmZWN0O1xufVxuZnVuY3Rpb24gaXNSZWFjdGl2ZTIocmF3KSB7XG4gIHJldHVybiAhIXJhdy5fX3ZfaXNSZWFjdGl2ZTtcbn1cbmZ1bmN0aW9uIGlzUmVhZE9ubHkocmF3KSB7XG4gIHJldHVybiAhIXJhdy5fX3ZfaXNSZWFkb25seTtcbn1cblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3N0YXRlL3V0aWwudHNcbnZhciB0b2tlbk1hcCA9IHtcbiAgW1VOREVGSU5FRF06IFwidW5kZWZpbmVkXCIsXG4gIFtOQU5dOiBcIk5hTlwiLFxuICBbSU5GSU5JVFldOiBcIkluZmluaXR5XCIsXG4gIFtORUdBVElWRV9JTkZJTklUWV06IFwiLUluZmluaXR5XCJcbn07XG52YXIgcmV2ZXJzZWRUb2tlbk1hcCA9IE9iamVjdC5lbnRyaWVzKHRva2VuTWFwKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gIGFjY1t2YWx1ZV0gPSBrZXk7XG4gIHJldHVybiBhY2M7XG59LCB7fSk7XG5mdW5jdGlvbiBpbnRlcm5hbFN0YXRlVG9rZW5Ub1N0cmluZyh2YWx1ZSkge1xuICBpZiAodmFsdWUgPT09IG51bGwpXG4gICAgcmV0dXJuIFwibnVsbFwiO1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHRva2VuTWFwW3ZhbHVlXSB8fCBmYWxzZTtcbn1cbmZ1bmN0aW9uIHJlcGxhY2VUb2tlblRvU3RyaW5nKHZhbHVlKSB7XG4gIGNvbnN0IHJlcGxhY2VSZWdleCA9IG5ldyBSZWdFeHAoYFwiKCR7T2JqZWN0LmtleXModG9rZW5NYXApLmpvaW4oXCJ8XCIpfSlcImAsIFwiZ1wiKTtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UocmVwbGFjZVJlZ2V4LCAoXywgZzEpID0+IHRva2VuTWFwW2cxXSk7XG59XG5mdW5jdGlvbiByZXBsYWNlU3RyaW5nVG9Ub2tlbih2YWx1ZSkge1xuICBjb25zdCBsaXRlcmFsVmFsdWUgPSByZXZlcnNlZFRva2VuTWFwW3ZhbHVlLnRyaW0oKV07XG4gIGlmIChsaXRlcmFsVmFsdWUpXG4gICAgcmV0dXJuIGBcIiR7bGl0ZXJhbFZhbHVlfVwiYDtcbiAgY29uc3QgcmVwbGFjZVJlZ2V4ID0gbmV3IFJlZ0V4cChgOlxcXFxzKigke09iamVjdC5rZXlzKHJldmVyc2VkVG9rZW5NYXApLmpvaW4oXCJ8XCIpfSlgLCBcImdcIik7XG4gIHJldHVybiB2YWx1ZS5yZXBsYWNlKHJlcGxhY2VSZWdleCwgKF8sIGcxKSA9PiBgOlwiJHtyZXZlcnNlZFRva2VuTWFwW2cxXX1cImApO1xufVxuZnVuY3Rpb24gZ2V0UHJvcFR5cGUodHlwZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh0eXBlKSlcbiAgICByZXR1cm4gdHlwZS5tYXAoKHQpID0+IGdldFByb3BUeXBlKHQpKS5qb2luKFwiIG9yIFwiKTtcbiAgaWYgKHR5cGUgPT0gbnVsbClcbiAgICByZXR1cm4gXCJudWxsXCI7XG4gIGNvbnN0IG1hdGNoID0gdHlwZS50b1N0cmluZygpLm1hdGNoKGZuVHlwZVJFKTtcbiAgcmV0dXJuIHR5cGVvZiB0eXBlID09PSBcImZ1bmN0aW9uXCIgPyBtYXRjaCAmJiBtYXRjaFsxXSB8fCBcImFueVwiIDogXCJhbnlcIjtcbn1cbmZ1bmN0aW9uIHNhbml0aXplKGRhdGEpIHtcbiAgaWYgKCFpc1ByaW1pdGl2ZShkYXRhKSAmJiAhQXJyYXkuaXNBcnJheShkYXRhKSAmJiAhaXNQbGFpbk9iamVjdChkYXRhKSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZGF0YSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFNldHVwU3RhdGVUeXBlKHJhdykge1xuICB0cnkge1xuICAgIHJldHVybiB7XG4gICAgICByZWY6IGlzUmVmMihyYXcpLFxuICAgICAgY29tcHV0ZWQ6IGlzQ29tcHV0ZWQocmF3KSxcbiAgICAgIHJlYWN0aXZlOiBpc1JlYWN0aXZlMihyYXcpLFxuICAgICAgcmVhZG9ubHk6IGlzUmVhZE9ubHkocmF3KVxuICAgIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVmOiBmYWxzZSxcbiAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgIHJlYWN0aXZlOiBmYWxzZSxcbiAgICAgIHJlYWRvbmx5OiBmYWxzZVxuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIHRvUmF3Mih2YWx1ZSkge1xuICBpZiAodmFsdWUgPT0gbnVsbCA/IHZvaWQgMCA6IHZhbHVlLl9fdl9yYXcpXG4gICAgcmV0dXJuIHZhbHVlLl9fdl9yYXc7XG4gIHJldHVybiB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGVzY2FwZShzKSB7XG4gIHJldHVybiBzLnJlcGxhY2UoL1s8PlwiJl0vZywgKHMyKSA9PiB7XG4gICAgcmV0dXJuIEVTQ1tzMl0gfHwgczI7XG4gIH0pO1xufVxuXG4vLyBzcmMvY29yZS9jb21wb25lbnQvc3RhdGUvcHJvY2Vzcy50c1xuZnVuY3Rpb24gbWVyZ2VPcHRpb25zKHRvLCBmcm9tLCBpbnN0YW5jZSkge1xuICBpZiAodHlwZW9mIGZyb20gPT09IFwiZnVuY3Rpb25cIilcbiAgICBmcm9tID0gZnJvbS5vcHRpb25zO1xuICBpZiAoIWZyb20pXG4gICAgcmV0dXJuIHRvO1xuICBjb25zdCB7IG1peGlucywgZXh0ZW5kczogZXh0ZW5kc09wdGlvbnMgfSA9IGZyb207XG4gIGV4dGVuZHNPcHRpb25zICYmIG1lcmdlT3B0aW9ucyh0bywgZXh0ZW5kc09wdGlvbnMsIGluc3RhbmNlKTtcbiAgbWl4aW5zICYmIG1peGlucy5mb3JFYWNoKFxuICAgIChtKSA9PiBtZXJnZU9wdGlvbnModG8sIG0sIGluc3RhbmNlKVxuICApO1xuICBmb3IgKGNvbnN0IGtleSBvZiBbXCJjb21wdXRlZFwiLCBcImluamVjdFwiXSkge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZnJvbSwga2V5KSkge1xuICAgICAgaWYgKCF0b1trZXldKVxuICAgICAgICB0b1trZXldID0gZnJvbVtrZXldO1xuICAgICAgZWxzZVxuICAgICAgICBPYmplY3QuYXNzaWduKHRvW2tleV0sIGZyb21ba2V5XSk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0bztcbn1cbmZ1bmN0aW9uIHJlc29sdmVNZXJnZWRPcHRpb25zKGluc3RhbmNlKSB7XG4gIGNvbnN0IHJhdyA9IGluc3RhbmNlID09IG51bGwgPyB2b2lkIDAgOiBpbnN0YW5jZS50eXBlO1xuICBpZiAoIXJhdylcbiAgICByZXR1cm4ge307XG4gIGNvbnN0IHsgbWl4aW5zLCBleHRlbmRzOiBleHRlbmRzT3B0aW9ucyB9ID0gcmF3O1xuICBjb25zdCBnbG9iYWxNaXhpbnMgPSBpbnN0YW5jZS5hcHBDb250ZXh0Lm1peGlucztcbiAgaWYgKCFnbG9iYWxNaXhpbnMubGVuZ3RoICYmICFtaXhpbnMgJiYgIWV4dGVuZHNPcHRpb25zKVxuICAgIHJldHVybiByYXc7XG4gIGNvbnN0IG9wdGlvbnMgPSB7fTtcbiAgZ2xvYmFsTWl4aW5zLmZvckVhY2goKG0pID0+IG1lcmdlT3B0aW9ucyhvcHRpb25zLCBtLCBpbnN0YW5jZSkpO1xuICBtZXJnZU9wdGlvbnMob3B0aW9ucywgcmF3LCBpbnN0YW5jZSk7XG4gIHJldHVybiBvcHRpb25zO1xufVxuZnVuY3Rpb24gcHJvY2Vzc1Byb3BzKGluc3RhbmNlKSB7XG4gIHZhciBfYTI1O1xuICBjb25zdCBwcm9wcyA9IFtdO1xuICBjb25zdCBwcm9wRGVmaW5pdGlvbnMgPSAoX2EyNSA9IGluc3RhbmNlID09IG51bGwgPyB2b2lkIDAgOiBpbnN0YW5jZS50eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5wcm9wcztcbiAgZm9yIChjb25zdCBrZXkgaW4gaW5zdGFuY2UgPT0gbnVsbCA/IHZvaWQgMCA6IGluc3RhbmNlLnByb3BzKSB7XG4gICAgY29uc3QgcHJvcERlZmluaXRpb24gPSBwcm9wRGVmaW5pdGlvbnMgPyBwcm9wRGVmaW5pdGlvbnNba2V5XSA6IG51bGw7XG4gICAgY29uc3QgY2FtZWxpemVLZXkgPSBjYW1lbGl6ZShrZXkpO1xuICAgIHByb3BzLnB1c2goe1xuICAgICAgdHlwZTogXCJwcm9wc1wiLFxuICAgICAga2V5OiBjYW1lbGl6ZUtleSxcbiAgICAgIHZhbHVlOiByZXR1cm5FcnJvcigoKSA9PiBpbnN0YW5jZS5wcm9wc1trZXldKSxcbiAgICAgIGVkaXRhYmxlOiB0cnVlLFxuICAgICAgbWV0YTogcHJvcERlZmluaXRpb24gPyB7XG4gICAgICAgIHR5cGU6IHByb3BEZWZpbml0aW9uLnR5cGUgPyBnZXRQcm9wVHlwZShwcm9wRGVmaW5pdGlvbi50eXBlKSA6IFwiYW55XCIsXG4gICAgICAgIHJlcXVpcmVkOiAhIXByb3BEZWZpbml0aW9uLnJlcXVpcmVkLFxuICAgICAgICAuLi5wcm9wRGVmaW5pdGlvbi5kZWZhdWx0ID8ge1xuICAgICAgICAgIGRlZmF1bHQ6IHByb3BEZWZpbml0aW9uLmRlZmF1bHQudG9TdHJpbmcoKVxuICAgICAgICB9IDoge31cbiAgICAgIH0gOiB7IHR5cGU6IFwiaW52YWxpZFwiIH1cbiAgICB9KTtcbiAgfVxuICByZXR1cm4gcHJvcHM7XG59XG5mdW5jdGlvbiBwcm9jZXNzU3RhdGUoaW5zdGFuY2UpIHtcbiAgY29uc3QgdHlwZSA9IGluc3RhbmNlLnR5cGU7XG4gIGNvbnN0IHByb3BzID0gdHlwZSA9PSBudWxsID8gdm9pZCAwIDogdHlwZS5wcm9wcztcbiAgY29uc3QgZ2V0dGVycyA9IHR5cGUudnVleCAmJiB0eXBlLnZ1ZXguZ2V0dGVycztcbiAgY29uc3QgY29tcHV0ZWREZWZzID0gdHlwZS5jb21wdXRlZDtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICAuLi5pbnN0YW5jZS5kYXRhLFxuICAgIC4uLmluc3RhbmNlLnJlbmRlckNvbnRleHRcbiAgfTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEpLmZpbHRlcigoa2V5KSA9PiAhKHByb3BzICYmIGtleSBpbiBwcm9wcykgJiYgIShnZXR0ZXJzICYmIGtleSBpbiBnZXR0ZXJzKSAmJiAhKGNvbXB1dGVkRGVmcyAmJiBrZXkgaW4gY29tcHV0ZWREZWZzKSkubWFwKChrZXkpID0+ICh7XG4gICAga2V5LFxuICAgIHR5cGU6IFwiZGF0YVwiLFxuICAgIHZhbHVlOiByZXR1cm5FcnJvcigoKSA9PiBkYXRhW2tleV0pLFxuICAgIGVkaXRhYmxlOiB0cnVlXG4gIH0pKTtcbn1cbmZ1bmN0aW9uIGdldFN0YXRlVHlwZUFuZE5hbWUoaW5mbykge1xuICBjb25zdCBzdGF0ZVR5cGUgPSBpbmZvLmNvbXB1dGVkID8gXCJjb21wdXRlZFwiIDogaW5mby5yZWYgPyBcInJlZlwiIDogaW5mby5yZWFjdGl2ZSA/IFwicmVhY3RpdmVcIiA6IG51bGw7XG4gIGNvbnN0IHN0YXRlVHlwZU5hbWUgPSBzdGF0ZVR5cGUgPyBgJHtzdGF0ZVR5cGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtzdGF0ZVR5cGUuc2xpY2UoMSl9YCA6IG51bGw7XG4gIHJldHVybiB7XG4gICAgc3RhdGVUeXBlLFxuICAgIHN0YXRlVHlwZU5hbWVcbiAgfTtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NTZXR1cFN0YXRlKGluc3RhbmNlKSB7XG4gIGNvbnN0IHJhdyA9IGluc3RhbmNlLmRldnRvb2xzUmF3U2V0dXBTdGF0ZSB8fCB7fTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGluc3RhbmNlLnNldHVwU3RhdGUpLmZpbHRlcigoa2V5KSA9PiAhdnVlQnVpbHRpbnMuaGFzKGtleSkgJiYga2V5LnNwbGl0KC8oPz1bQS1aXSkvKVswXSAhPT0gXCJ1c2VcIikubWFwKChrZXkpID0+IHtcbiAgICB2YXIgX2EyNSwgX2IyNSwgX2MsIF9kO1xuICAgIGNvbnN0IHZhbHVlID0gcmV0dXJuRXJyb3IoKCkgPT4gdG9SYXcyKGluc3RhbmNlLnNldHVwU3RhdGVba2V5XSkpO1xuICAgIGNvbnN0IGFjY2Vzc0Vycm9yID0gdmFsdWUgaW5zdGFuY2VvZiBFcnJvcjtcbiAgICBjb25zdCByYXdEYXRhID0gcmF3W2tleV07XG4gICAgbGV0IHJlc3VsdDtcbiAgICBsZXQgaXNPdGhlclR5cGUgPSBhY2Nlc3NFcnJvciB8fCB0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIiB8fCBlbnN1cmVQcm9wZXJ0eUV4aXN0cyh2YWx1ZSwgXCJyZW5kZXJcIikgJiYgdHlwZW9mIHZhbHVlLnJlbmRlciA9PT0gXCJmdW5jdGlvblwiIHx8IGVuc3VyZVByb3BlcnR5RXhpc3RzKHZhbHVlLCBcIl9fYXN5bmNMb2FkZXJcIikgJiYgdHlwZW9mIHZhbHVlLl9fYXN5bmNMb2FkZXIgPT09IFwiZnVuY3Rpb25cIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgJiYgKFwic2V0dXBcIiBpbiB2YWx1ZSB8fCBcInByb3BzXCIgaW4gdmFsdWUpIHx8IC9edltBLVpdLy50ZXN0KGtleSk7XG4gICAgaWYgKHJhd0RhdGEgJiYgIWFjY2Vzc0Vycm9yKSB7XG4gICAgICBjb25zdCBpbmZvID0gZ2V0U2V0dXBTdGF0ZVR5cGUocmF3RGF0YSk7XG4gICAgICBjb25zdCB7IHN0YXRlVHlwZSwgc3RhdGVUeXBlTmFtZSB9ID0gZ2V0U3RhdGVUeXBlQW5kTmFtZShpbmZvKTtcbiAgICAgIGNvbnN0IGlzU3RhdGUgPSBpbmZvLnJlZiB8fCBpbmZvLmNvbXB1dGVkIHx8IGluZm8ucmVhY3RpdmU7XG4gICAgICBjb25zdCByYXcyID0gZW5zdXJlUHJvcGVydHlFeGlzdHMocmF3RGF0YSwgXCJlZmZlY3RcIikgPyAoKF9iMjUgPSAoX2EyNSA9IHJhd0RhdGEuZWZmZWN0KSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5yYXcpID09IG51bGwgPyB2b2lkIDAgOiBfYjI1LnRvU3RyaW5nKCkpIHx8ICgoX2QgPSAoX2MgPSByYXdEYXRhLmVmZmVjdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLmZuKSA9PSBudWxsID8gdm9pZCAwIDogX2QudG9TdHJpbmcoKSkgOiBudWxsO1xuICAgICAgaWYgKHN0YXRlVHlwZSlcbiAgICAgICAgaXNPdGhlclR5cGUgPSBmYWxzZTtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4uc3RhdGVUeXBlID8geyBzdGF0ZVR5cGUsIHN0YXRlVHlwZU5hbWUgfSA6IHt9LFxuICAgICAgICAuLi5yYXcyID8geyByYXc6IHJhdzIgfSA6IHt9LFxuICAgICAgICBlZGl0YWJsZTogaXNTdGF0ZSAmJiAhaW5mby5yZWFkb25seVxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgdHlwZSA9IGlzT3RoZXJUeXBlID8gXCJzZXR1cCAob3RoZXIpXCIgOiBcInNldHVwXCI7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleSxcbiAgICAgIHZhbHVlLFxuICAgICAgdHlwZSxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgaWdub3JlXG4gICAgICAuLi5yZXN1bHRcbiAgICB9O1xuICB9KTtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NDb21wdXRlZChpbnN0YW5jZSwgbWVyZ2VkVHlwZSkge1xuICBjb25zdCB0eXBlID0gbWVyZ2VkVHlwZTtcbiAgY29uc3QgY29tcHV0ZWQgPSBbXTtcbiAgY29uc3QgZGVmcyA9IHR5cGUuY29tcHV0ZWQgfHwge307XG4gIGZvciAoY29uc3Qga2V5IGluIGRlZnMpIHtcbiAgICBjb25zdCBkZWYgPSBkZWZzW2tleV07XG4gICAgY29uc3QgdHlwZTIgPSB0eXBlb2YgZGVmID09PSBcImZ1bmN0aW9uXCIgJiYgZGVmLnZ1ZXggPyBcInZ1ZXggYmluZGluZ3NcIiA6IFwiY29tcHV0ZWRcIjtcbiAgICBjb21wdXRlZC5wdXNoKHtcbiAgICAgIHR5cGU6IHR5cGUyLFxuICAgICAga2V5LFxuICAgICAgdmFsdWU6IHJldHVybkVycm9yKCgpID0+IHtcbiAgICAgICAgdmFyIF9hMjU7XG4gICAgICAgIHJldHVybiAoX2EyNSA9IGluc3RhbmNlID09IG51bGwgPyB2b2lkIDAgOiBpbnN0YW5jZS5wcm94eSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjVba2V5XTtcbiAgICAgIH0pLFxuICAgICAgZWRpdGFibGU6IHR5cGVvZiBkZWYuc2V0ID09PSBcImZ1bmN0aW9uXCJcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gY29tcHV0ZWQ7XG59XG5mdW5jdGlvbiBwcm9jZXNzQXR0cnMoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGluc3RhbmNlLmF0dHJzKS5tYXAoKGtleSkgPT4gKHtcbiAgICB0eXBlOiBcImF0dHJzXCIsXG4gICAga2V5LFxuICAgIHZhbHVlOiByZXR1cm5FcnJvcigoKSA9PiBpbnN0YW5jZS5hdHRyc1trZXldKVxuICB9KSk7XG59XG5mdW5jdGlvbiBwcm9jZXNzUHJvdmlkZShpbnN0YW5jZSkge1xuICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKGluc3RhbmNlLnByb3ZpZGVzKS5tYXAoKGtleSkgPT4gKHtcbiAgICB0eXBlOiBcInByb3ZpZGVkXCIsXG4gICAga2V5OiBrZXkudG9TdHJpbmcoKSxcbiAgICB2YWx1ZTogcmV0dXJuRXJyb3IoKCkgPT4gaW5zdGFuY2UucHJvdmlkZXNba2V5XSlcbiAgfSkpO1xufVxuZnVuY3Rpb24gcHJvY2Vzc0luamVjdChpbnN0YW5jZSwgbWVyZ2VkVHlwZSkge1xuICBpZiAoIShtZXJnZWRUeXBlID09IG51bGwgPyB2b2lkIDAgOiBtZXJnZWRUeXBlLmluamVjdCkpXG4gICAgcmV0dXJuIFtdO1xuICBsZXQga2V5cyA9IFtdO1xuICBsZXQgZGVmYXVsdFZhbHVlO1xuICBpZiAoQXJyYXkuaXNBcnJheShtZXJnZWRUeXBlLmluamVjdCkpIHtcbiAgICBrZXlzID0gbWVyZ2VkVHlwZS5pbmplY3QubWFwKChrZXkpID0+ICh7XG4gICAgICBrZXksXG4gICAgICBvcmlnaW5hbEtleToga2V5XG4gICAgfSkpO1xuICB9IGVsc2Uge1xuICAgIGtleXMgPSBSZWZsZWN0Lm93bktleXMobWVyZ2VkVHlwZS5pbmplY3QpLm1hcCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG1lcmdlZFR5cGUuaW5qZWN0W2tleV07XG4gICAgICBsZXQgb3JpZ2luYWxLZXk7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJzeW1ib2xcIikge1xuICAgICAgICBvcmlnaW5hbEtleSA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3JpZ2luYWxLZXkgPSB2YWx1ZS5mcm9tO1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSB2YWx1ZS5kZWZhdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5LFxuICAgICAgICBvcmlnaW5hbEtleVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4ga2V5cy5tYXAoKHsga2V5LCBvcmlnaW5hbEtleSB9KSA9PiAoe1xuICAgIHR5cGU6IFwiaW5qZWN0ZWRcIixcbiAgICBrZXk6IG9yaWdpbmFsS2V5ICYmIGtleSAhPT0gb3JpZ2luYWxLZXkgPyBgJHtvcmlnaW5hbEtleS50b1N0cmluZygpfSBcXHUyNzlFICR7a2V5LnRvU3RyaW5nKCl9YCA6IGtleS50b1N0cmluZygpLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgICB2YWx1ZTogcmV0dXJuRXJyb3IoKCkgPT4gaW5zdGFuY2UuY3R4Lmhhc093blByb3BlcnR5KGtleSkgPyBpbnN0YW5jZS5jdHhba2V5XSA6IGluc3RhbmNlLnByb3ZpZGVzLmhhc093blByb3BlcnR5KG9yaWdpbmFsS2V5KSA/IGluc3RhbmNlLnByb3ZpZGVzW29yaWdpbmFsS2V5XSA6IGRlZmF1bHRWYWx1ZSlcbiAgfSkpO1xufVxuZnVuY3Rpb24gcHJvY2Vzc1JlZnMoaW5zdGFuY2UpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGluc3RhbmNlLnJlZnMpLm1hcCgoa2V5KSA9PiAoe1xuICAgIHR5cGU6IFwidGVtcGxhdGUgcmVmc1wiLFxuICAgIGtleSxcbiAgICB2YWx1ZTogcmV0dXJuRXJyb3IoKCkgPT4gaW5zdGFuY2UucmVmc1trZXldKVxuICB9KSk7XG59XG5mdW5jdGlvbiBwcm9jZXNzRXZlbnRMaXN0ZW5lcnMoaW5zdGFuY2UpIHtcbiAgdmFyIF9hMjUsIF9iMjU7XG4gIGNvbnN0IGVtaXRzRGVmaW5pdGlvbiA9IGluc3RhbmNlLnR5cGUuZW1pdHM7XG4gIGNvbnN0IGRlY2xhcmVkRW1pdHMgPSBBcnJheS5pc0FycmF5KGVtaXRzRGVmaW5pdGlvbikgPyBlbWl0c0RlZmluaXRpb24gOiBPYmplY3Qua2V5cyhlbWl0c0RlZmluaXRpb24gIT0gbnVsbCA/IGVtaXRzRGVmaW5pdGlvbiA6IHt9KTtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKChfYjI1ID0gKF9hMjUgPSBpbnN0YW5jZSA9PSBudWxsID8gdm9pZCAwIDogaW5zdGFuY2Uudm5vZGUpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1LnByb3BzKSAhPSBudWxsID8gX2IyNSA6IHt9KTtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBjb25zdCBbcHJlZml4LCAuLi5ldmVudE5hbWVQYXJ0c10gPSBrZXkuc3BsaXQoLyg/PVtBLVpdKS8pO1xuICAgIGlmIChwcmVmaXggPT09IFwib25cIikge1xuICAgICAgY29uc3QgZXZlbnROYW1lID0gZXZlbnROYW1lUGFydHMuam9pbihcIi1cIikudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IGlzRGVjbGFyZWQgPSBkZWNsYXJlZEVtaXRzLmluY2x1ZGVzKGV2ZW50TmFtZSk7XG4gICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgIHR5cGU6IFwiZXZlbnQgbGlzdGVuZXJzXCIsXG4gICAgICAgIGtleTogZXZlbnROYW1lLFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIF9jdXN0b206IHtcbiAgICAgICAgICAgIGRpc3BsYXlUZXh0OiBpc0RlY2xhcmVkID8gXCJcXHUyNzA1IERlY2xhcmVkXCIgOiBcIlxcdTI2QTBcXHVGRTBGIE5vdCBkZWNsYXJlZFwiLFxuICAgICAgICAgICAga2V5OiBpc0RlY2xhcmVkID8gXCJcXHUyNzA1IERlY2xhcmVkXCIgOiBcIlxcdTI2QTBcXHVGRTBGIE5vdCBkZWNsYXJlZFwiLFxuICAgICAgICAgICAgdmFsdWU6IGlzRGVjbGFyZWQgPyBcIlxcdTI3MDUgRGVjbGFyZWRcIiA6IFwiXFx1MjZBMFxcdUZFMEYgTm90IGRlY2xhcmVkXCIsXG4gICAgICAgICAgICB0b29sdGlwVGV4dDogIWlzRGVjbGFyZWQgPyBgVGhlIGV2ZW50IDxjb2RlPiR7ZXZlbnROYW1lfTwvY29kZT4gaXMgbm90IGRlY2xhcmVkIGluIHRoZSA8Y29kZT5lbWl0czwvY29kZT4gb3B0aW9uLiBJdCB3aWxsIGxlYWsgaW50byB0aGUgY29tcG9uZW50J3MgYXR0cmlidXRlcyAoPGNvZGU+JGF0dHJzPC9jb2RlPikuYCA6IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gcHJvY2Vzc0luc3RhbmNlU3RhdGUoaW5zdGFuY2UpIHtcbiAgY29uc3QgbWVyZ2VkVHlwZSA9IHJlc29sdmVNZXJnZWRPcHRpb25zKGluc3RhbmNlKTtcbiAgcmV0dXJuIHByb2Nlc3NQcm9wcyhpbnN0YW5jZSkuY29uY2F0KFxuICAgIHByb2Nlc3NTdGF0ZShpbnN0YW5jZSksXG4gICAgcHJvY2Vzc1NldHVwU3RhdGUoaW5zdGFuY2UpLFxuICAgIHByb2Nlc3NDb21wdXRlZChpbnN0YW5jZSwgbWVyZ2VkVHlwZSksXG4gICAgcHJvY2Vzc0F0dHJzKGluc3RhbmNlKSxcbiAgICBwcm9jZXNzUHJvdmlkZShpbnN0YW5jZSksXG4gICAgcHJvY2Vzc0luamVjdChpbnN0YW5jZSwgbWVyZ2VkVHlwZSksXG4gICAgcHJvY2Vzc1JlZnMoaW5zdGFuY2UpLFxuICAgIHByb2Nlc3NFdmVudExpc3RlbmVycyhpbnN0YW5jZSlcbiAgKTtcbn1cblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3N0YXRlL2luZGV4LnRzXG5mdW5jdGlvbiBnZXRJbnN0YW5jZVN0YXRlKHBhcmFtcykge1xuICB2YXIgX2EyNTtcbiAgY29uc3QgaW5zdGFuY2UgPSBnZXRDb21wb25lbnRJbnN0YW5jZShhY3RpdmVBcHBSZWNvcmQudmFsdWUsIHBhcmFtcy5pbnN0YW5jZUlkKTtcbiAgY29uc3QgaWQgPSBnZXRVbmlxdWVDb21wb25lbnRJZChpbnN0YW5jZSk7XG4gIGNvbnN0IG5hbWUgPSBnZXRJbnN0YW5jZU5hbWUoaW5zdGFuY2UpO1xuICBjb25zdCBmaWxlID0gKF9hMjUgPSBpbnN0YW5jZSA9PSBudWxsID8gdm9pZCAwIDogaW5zdGFuY2UudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUuX19maWxlO1xuICBjb25zdCBzdGF0ZSA9IHByb2Nlc3NJbnN0YW5jZVN0YXRlKGluc3RhbmNlKTtcbiAgcmV0dXJuIHtcbiAgICBpZCxcbiAgICBuYW1lLFxuICAgIGZpbGUsXG4gICAgc3RhdGUsXG4gICAgaW5zdGFuY2VcbiAgfTtcbn1cblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3RyZWUvd2Fsa2VyLnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyBzcmMvY29yZS9jb21wb25lbnQvdHJlZS9maWx0ZXIudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyBjbGFzc2lmeSBhcyBjbGFzc2lmeTIsIGtlYmFiaXplIH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG52YXIgQ29tcG9uZW50RmlsdGVyID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcihmaWx0ZXIpIHtcbiAgICB0aGlzLmZpbHRlciA9IGZpbHRlciB8fCBcIlwiO1xuICB9XG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBpbnN0YW5jZSBpcyBxdWFsaWZpZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7VnVlfFZub2RlfSBpbnN0YW5jZVxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNRdWFsaWZpZWQoaW5zdGFuY2UpIHtcbiAgICBjb25zdCBuYW1lID0gZ2V0SW5zdGFuY2VOYW1lKGluc3RhbmNlKTtcbiAgICByZXR1cm4gY2xhc3NpZnkyKG5hbWUpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXIpIHx8IGtlYmFiaXplKG5hbWUpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXIpO1xuICB9XG59O1xuZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50RmlsdGVyKGZpbHRlclRleHQpIHtcbiAgcmV0dXJuIG5ldyBDb21wb25lbnRGaWx0ZXIoZmlsdGVyVGV4dCk7XG59XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC90cmVlL3dhbGtlci50c1xudmFyIENvbXBvbmVudFdhbGtlciA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIC8vIERlZHVwZSBpbnN0YW5jZXMgKFNvbWUgaW5zdGFuY2VzIG1heSBiZSBib3RoIG9uIGEgY29tcG9uZW50IGFuZCBvbiBhIGNoaWxkIGFic3RyYWN0L2Z1bmN0aW9uYWwgY29tcG9uZW50KVxuICAgIHRoaXMuY2FwdHVyZUlkcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgY29uc3QgeyBmaWx0ZXJUZXh0ID0gXCJcIiwgbWF4RGVwdGgsIHJlY3Vyc2l2ZWx5LCBhcGkgfSA9IG9wdGlvbnM7XG4gICAgdGhpcy5jb21wb25lbnRGaWx0ZXIgPSBjcmVhdGVDb21wb25lbnRGaWx0ZXIoZmlsdGVyVGV4dCk7XG4gICAgdGhpcy5tYXhEZXB0aCA9IG1heERlcHRoO1xuICAgIHRoaXMucmVjdXJzaXZlbHkgPSByZWN1cnNpdmVseTtcbiAgICB0aGlzLmFwaSA9IGFwaTtcbiAgfVxuICBnZXRDb21wb25lbnRUcmVlKGluc3RhbmNlKSB7XG4gICAgdGhpcy5jYXB0dXJlSWRzID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICByZXR1cm4gdGhpcy5maW5kUXVhbGlmaWVkQ2hpbGRyZW4oaW5zdGFuY2UsIDApO1xuICB9XG4gIGdldENvbXBvbmVudFBhcmVudHMoaW5zdGFuY2UpIHtcbiAgICB0aGlzLmNhcHR1cmVJZHMgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgIGNvbnN0IHBhcmVudHMgPSBbXTtcbiAgICB0aGlzLmNhcHR1cmVJZChpbnN0YW5jZSk7XG4gICAgbGV0IHBhcmVudCA9IGluc3RhbmNlO1xuICAgIHdoaWxlIChwYXJlbnQgPSBwYXJlbnQucGFyZW50KSB7XG4gICAgICB0aGlzLmNhcHR1cmVJZChwYXJlbnQpO1xuICAgICAgcGFyZW50cy5wdXNoKHBhcmVudCk7XG4gICAgfVxuICAgIHJldHVybiBwYXJlbnRzO1xuICB9XG4gIGNhcHR1cmVJZChpbnN0YW5jZSkge1xuICAgIGlmICghaW5zdGFuY2UpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBpZCA9IGluc3RhbmNlLl9fVlVFX0RFVlRPT0xTX05FWFRfVUlEX18gIT0gbnVsbCA/IGluc3RhbmNlLl9fVlVFX0RFVlRPT0xTX05FWFRfVUlEX18gOiBnZXRVbmlxdWVDb21wb25lbnRJZChpbnN0YW5jZSk7XG4gICAgaW5zdGFuY2UuX19WVUVfREVWVE9PTFNfTkVYVF9VSURfXyA9IGlkO1xuICAgIGlmICh0aGlzLmNhcHR1cmVJZHMuaGFzKGlkKSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGVsc2VcbiAgICAgIHRoaXMuY2FwdHVyZUlkcy5zZXQoaWQsIHZvaWQgMCk7XG4gICAgdGhpcy5tYXJrKGluc3RhbmNlKTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cbiAgLyoqXG4gICAqIENhcHR1cmUgdGhlIG1ldGEgaW5mb3JtYXRpb24gb2YgYW4gaW5zdGFuY2UuIChyZWN1cnNpdmUpXG4gICAqXG4gICAqIEBwYXJhbSB7VnVlfSBpbnN0YW5jZVxuICAgKiBAcmV0dXJuIHtvYmplY3R9XG4gICAqL1xuICBhc3luYyBjYXB0dXJlKGluc3RhbmNlLCBkZXB0aCkge1xuICAgIHZhciBfYTI1O1xuICAgIGlmICghaW5zdGFuY2UpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBpZCA9IHRoaXMuY2FwdHVyZUlkKGluc3RhbmNlKTtcbiAgICBjb25zdCBuYW1lID0gZ2V0SW5zdGFuY2VOYW1lKGluc3RhbmNlKTtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuZ2V0SW50ZXJuYWxJbnN0YW5jZUNoaWxkcmVuKGluc3RhbmNlLnN1YlRyZWUpLmZpbHRlcigoY2hpbGQpID0+ICFpc0JlaW5nRGVzdHJveWVkKGNoaWxkKSk7XG4gICAgY29uc3QgcGFyZW50cyA9IHRoaXMuZ2V0Q29tcG9uZW50UGFyZW50cyhpbnN0YW5jZSkgfHwgW107XG4gICAgY29uc3QgaW5hY3RpdmUgPSAhIWluc3RhbmNlLmlzRGVhY3RpdmF0ZWQgfHwgcGFyZW50cy5zb21lKChwYXJlbnQpID0+IHBhcmVudC5pc0RlYWN0aXZhdGVkKTtcbiAgICBjb25zdCB0cmVlTm9kZSA9IHtcbiAgICAgIHVpZDogaW5zdGFuY2UudWlkLFxuICAgICAgaWQsXG4gICAgICBuYW1lLFxuICAgICAgcmVuZGVyS2V5OiBnZXRSZW5kZXJLZXkoaW5zdGFuY2Uudm5vZGUgPyBpbnN0YW5jZS52bm9kZS5rZXkgOiBudWxsKSxcbiAgICAgIGluYWN0aXZlLFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgaXNGcmFnbWVudDogaXNGcmFnbWVudChpbnN0YW5jZSksXG4gICAgICB0YWdzOiB0eXBlb2YgaW5zdGFuY2UudHlwZSAhPT0gXCJmdW5jdGlvblwiID8gW10gOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogXCJmdW5jdGlvbmFsXCIsXG4gICAgICAgICAgdGV4dENvbG9yOiA1NTkyNDA1LFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogMTU2NTg3MzRcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGF1dG9PcGVuOiB0aGlzLnJlY3Vyc2l2ZWx5LFxuICAgICAgZmlsZTogaW5zdGFuY2UudHlwZS5fX2ZpbGUgfHwgXCJcIlxuICAgIH07XG4gICAgaWYgKGRlcHRoIDwgdGhpcy5tYXhEZXB0aCB8fCBpbnN0YW5jZS50eXBlLl9faXNLZWVwQWxpdmUgfHwgcGFyZW50cy5zb21lKChwYXJlbnQpID0+IHBhcmVudC50eXBlLl9faXNLZWVwQWxpdmUpKSB7XG4gICAgICB0cmVlTm9kZS5jaGlsZHJlbiA9IGF3YWl0IFByb21pc2UuYWxsKGNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IHRoaXMuY2FwdHVyZShjaGlsZCwgZGVwdGggKyAxKSkuZmlsdGVyKEJvb2xlYW4pKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNLZWVwQWxpdmUoaW5zdGFuY2UpKSB7XG4gICAgICBjb25zdCBjYWNoZWRDb21wb25lbnRzID0gdGhpcy5nZXRLZWVwQWxpdmVDYWNoZWRJbnN0YW5jZXMoaW5zdGFuY2UpO1xuICAgICAgY29uc3QgY2hpbGRyZW5JZHMgPSBjaGlsZHJlbi5tYXAoKGNoaWxkKSA9PiBjaGlsZC5fX1ZVRV9ERVZUT09MU19ORVhUX1VJRF9fKTtcbiAgICAgIGZvciAoY29uc3QgY2FjaGVkQ2hpbGQgb2YgY2FjaGVkQ29tcG9uZW50cykge1xuICAgICAgICBpZiAoIWNoaWxkcmVuSWRzLmluY2x1ZGVzKGNhY2hlZENoaWxkLl9fVlVFX0RFVlRPT0xTX05FWFRfVUlEX18pKSB7XG4gICAgICAgICAgY29uc3Qgbm9kZSA9IGF3YWl0IHRoaXMuY2FwdHVyZSh7IC4uLmNhY2hlZENoaWxkLCBpc0RlYWN0aXZhdGVkOiB0cnVlIH0sIGRlcHRoICsgMSk7XG4gICAgICAgICAgaWYgKG5vZGUpXG4gICAgICAgICAgICB0cmVlTm9kZS5jaGlsZHJlbi5wdXNoKG5vZGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJvb3RFbGVtZW50cyA9IGdldFJvb3RFbGVtZW50c0Zyb21Db21wb25lbnRJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgY29uc3QgZmlyc3RFbGVtZW50ID0gcm9vdEVsZW1lbnRzWzBdO1xuICAgIGlmIChmaXJzdEVsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IGZpcnN0RWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnRJbnN0YW5jZSA9IGluc3RhbmNlLnBhcmVudDtcbiAgICAgIGNvbnN0IHBhcmVudFJvb3RFbGVtZW50cyA9IHBhcmVudEluc3RhbmNlID8gZ2V0Um9vdEVsZW1lbnRzRnJvbUNvbXBvbmVudEluc3RhbmNlKHBhcmVudEluc3RhbmNlKSA6IFtdO1xuICAgICAgbGV0IGVsID0gZmlyc3RFbGVtZW50O1xuICAgICAgY29uc3QgaW5kZXhMaXN0ID0gW107XG4gICAgICBkbyB7XG4gICAgICAgIGluZGV4TGlzdC5wdXNoKEFycmF5LmZyb20oZWwucGFyZW50RWxlbWVudC5jaGlsZE5vZGVzKS5pbmRleE9mKGVsKSk7XG4gICAgICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgICAgIH0gd2hpbGUgKGVsLnBhcmVudEVsZW1lbnQgJiYgcGFyZW50Um9vdEVsZW1lbnRzLmxlbmd0aCAmJiAhcGFyZW50Um9vdEVsZW1lbnRzLmluY2x1ZGVzKGVsKSk7XG4gICAgICB0cmVlTm9kZS5kb21PcmRlciA9IGluZGV4TGlzdC5yZXZlcnNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyZWVOb2RlLmRvbU9yZGVyID0gWy0xXTtcbiAgICB9XG4gICAgaWYgKChfYTI1ID0gaW5zdGFuY2Uuc3VzcGVuc2UpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1LnN1c3BlbnNlS2V5KSB7XG4gICAgICB0cmVlTm9kZS50YWdzLnB1c2goe1xuICAgICAgICBsYWJlbDogaW5zdGFuY2Uuc3VzcGVuc2Uuc3VzcGVuc2VLZXksXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogMTQ5Nzk4MTIsXG4gICAgICAgIHRleHRDb2xvcjogMTY3NzcyMTVcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tYXJrKGluc3RhbmNlLCB0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5hcGkudmlzaXRDb21wb25lbnRUcmVlKHtcbiAgICAgIHRyZWVOb2RlLFxuICAgICAgY29tcG9uZW50SW5zdGFuY2U6IGluc3RhbmNlLFxuICAgICAgYXBwOiBpbnN0YW5jZS5hcHBDb250ZXh0LmFwcCxcbiAgICAgIGZpbHRlcjogdGhpcy5jb21wb25lbnRGaWx0ZXIuZmlsdGVyXG4gICAgfSk7XG4gICAgcmV0dXJuIHRyZWVOb2RlO1xuICB9XG4gIC8qKlxuICAgKiBGaW5kIHF1YWxpZmllZCBjaGlsZHJlbiBmcm9tIGEgc2luZ2xlIGluc3RhbmNlLlxuICAgKiBJZiB0aGUgaW5zdGFuY2UgaXRzZWxmIGlzIHF1YWxpZmllZCwganVzdCByZXR1cm4gaXRzZWxmLlxuICAgKiBUaGlzIGlzIG9rIGJlY2F1c2UgW10uY29uY2F0IHdvcmtzIGluIGJvdGggY2FzZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7VnVlfFZub2RlfSBpbnN0YW5jZVxuICAgKiBAcmV0dXJuIHtWdWV8QXJyYXl9XG4gICAqL1xuICBhc3luYyBmaW5kUXVhbGlmaWVkQ2hpbGRyZW4oaW5zdGFuY2UsIGRlcHRoKSB7XG4gICAgdmFyIF9hMjU7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50RmlsdGVyLmlzUXVhbGlmaWVkKGluc3RhbmNlKSAmJiAhKChfYTI1ID0gaW5zdGFuY2UudHlwZS5kZXZ0b29scykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUuaGlkZSkpIHtcbiAgICAgIHJldHVybiBbYXdhaXQgdGhpcy5jYXB0dXJlKGluc3RhbmNlLCBkZXB0aCldO1xuICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uuc3ViVHJlZSkge1xuICAgICAgY29uc3QgbGlzdCA9IHRoaXMuaXNLZWVwQWxpdmUoaW5zdGFuY2UpID8gdGhpcy5nZXRLZWVwQWxpdmVDYWNoZWRJbnN0YW5jZXMoaW5zdGFuY2UpIDogdGhpcy5nZXRJbnRlcm5hbEluc3RhbmNlQ2hpbGRyZW4oaW5zdGFuY2Uuc3ViVHJlZSk7XG4gICAgICByZXR1cm4gdGhpcy5maW5kUXVhbGlmaWVkQ2hpbGRyZW5Gcm9tTGlzdChsaXN0LCBkZXB0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIEl0ZXJhdGUgdGhyb3VnaCBhbiBhcnJheSBvZiBpbnN0YW5jZXMgYW5kIGZsYXR0ZW4gaXQgaW50b1xuICAgKiBhbiBhcnJheSBvZiBxdWFsaWZpZWQgaW5zdGFuY2VzLiBUaGlzIGlzIGEgZGVwdGgtZmlyc3RcbiAgICogdHJhdmVyc2FsIC0gZS5nLiBpZiBhbiBpbnN0YW5jZSBpcyBub3QgbWF0Y2hlZCwgd2Ugd2lsbFxuICAgKiByZWN1cnNpdmVseSBnbyBkZWVwZXIgdW50aWwgYSBxdWFsaWZpZWQgY2hpbGQgaXMgZm91bmQuXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXl9IGluc3RhbmNlc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIGFzeW5jIGZpbmRRdWFsaWZpZWRDaGlsZHJlbkZyb21MaXN0KGluc3RhbmNlcywgZGVwdGgpIHtcbiAgICBpbnN0YW5jZXMgPSBpbnN0YW5jZXMuZmlsdGVyKChjaGlsZCkgPT4ge1xuICAgICAgdmFyIF9hMjU7XG4gICAgICByZXR1cm4gIWlzQmVpbmdEZXN0cm95ZWQoY2hpbGQpICYmICEoKF9hMjUgPSBjaGlsZC50eXBlLmRldnRvb2xzKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5oaWRlKTtcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50RmlsdGVyLmZpbHRlcilcbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChpbnN0YW5jZXMubWFwKChjaGlsZCkgPT4gdGhpcy5jYXB0dXJlKGNoaWxkLCBkZXB0aCkpKTtcbiAgICBlbHNlXG4gICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSwgYXdhaXQgUHJvbWlzZS5hbGwoaW5zdGFuY2VzLm1hcCgoaSkgPT4gdGhpcy5maW5kUXVhbGlmaWVkQ2hpbGRyZW4oaSwgZGVwdGgpKSkpO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgY2hpbGRyZW4gZnJvbSBhIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICovXG4gIGdldEludGVybmFsSW5zdGFuY2VDaGlsZHJlbihzdWJUcmVlLCBzdXNwZW5zZSA9IG51bGwpIHtcbiAgICBjb25zdCBsaXN0ID0gW107XG4gICAgaWYgKHN1YlRyZWUpIHtcbiAgICAgIGlmIChzdWJUcmVlLmNvbXBvbmVudCkge1xuICAgICAgICAhc3VzcGVuc2UgPyBsaXN0LnB1c2goc3ViVHJlZS5jb21wb25lbnQpIDogbGlzdC5wdXNoKHsgLi4uc3ViVHJlZS5jb21wb25lbnQsIHN1c3BlbnNlIH0pO1xuICAgICAgfSBlbHNlIGlmIChzdWJUcmVlLnN1c3BlbnNlKSB7XG4gICAgICAgIGNvbnN0IHN1c3BlbnNlS2V5ID0gIXN1YlRyZWUuc3VzcGVuc2UuaXNJbkZhbGxiYWNrID8gXCJzdXNwZW5zZSBkZWZhdWx0XCIgOiBcInN1c3BlbnNlIGZhbGxiYWNrXCI7XG4gICAgICAgIGxpc3QucHVzaCguLi50aGlzLmdldEludGVybmFsSW5zdGFuY2VDaGlsZHJlbihzdWJUcmVlLnN1c3BlbnNlLmFjdGl2ZUJyYW5jaCwgeyAuLi5zdWJUcmVlLnN1c3BlbnNlLCBzdXNwZW5zZUtleSB9KSk7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc3ViVHJlZS5jaGlsZHJlbikpIHtcbiAgICAgICAgc3ViVHJlZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZFN1YlRyZWUpID0+IHtcbiAgICAgICAgICBpZiAoY2hpbGRTdWJUcmVlLmNvbXBvbmVudClcbiAgICAgICAgICAgICFzdXNwZW5zZSA/IGxpc3QucHVzaChjaGlsZFN1YlRyZWUuY29tcG9uZW50KSA6IGxpc3QucHVzaCh7IC4uLmNoaWxkU3ViVHJlZS5jb21wb25lbnQsIHN1c3BlbnNlIH0pO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIGxpc3QucHVzaCguLi50aGlzLmdldEludGVybmFsSW5zdGFuY2VDaGlsZHJlbihjaGlsZFN1YlRyZWUsIHN1c3BlbnNlKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGlzdC5maWx0ZXIoKGNoaWxkKSA9PiB7XG4gICAgICB2YXIgX2EyNTtcbiAgICAgIHJldHVybiAhaXNCZWluZ0Rlc3Ryb3llZChjaGlsZCkgJiYgISgoX2EyNSA9IGNoaWxkLnR5cGUuZGV2dG9vbHMpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1LmhpZGUpO1xuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBNYXJrIGFuIGluc3RhbmNlIGFzIGNhcHR1cmVkIGFuZCBzdG9yZSBpdCBpbiB0aGUgaW5zdGFuY2UgbWFwLlxuICAgKlxuICAgKiBAcGFyYW0ge1Z1ZX0gaW5zdGFuY2VcbiAgICovXG4gIG1hcmsoaW5zdGFuY2UsIGZvcmNlID0gZmFsc2UpIHtcbiAgICBjb25zdCBpbnN0YW5jZU1hcCA9IGdldEFwcFJlY29yZChpbnN0YW5jZSkuaW5zdGFuY2VNYXA7XG4gICAgaWYgKGZvcmNlIHx8ICFpbnN0YW5jZU1hcC5oYXMoaW5zdGFuY2UuX19WVUVfREVWVE9PTFNfTkVYVF9VSURfXykpIHtcbiAgICAgIGluc3RhbmNlTWFwLnNldChpbnN0YW5jZS5fX1ZVRV9ERVZUT09MU19ORVhUX1VJRF9fLCBpbnN0YW5jZSk7XG4gICAgICBhY3RpdmVBcHBSZWNvcmQudmFsdWUuaW5zdGFuY2VNYXAgPSBpbnN0YW5jZU1hcDtcbiAgICB9XG4gIH1cbiAgaXNLZWVwQWxpdmUoaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gaW5zdGFuY2UudHlwZS5fX2lzS2VlcEFsaXZlICYmIGluc3RhbmNlLl9fdl9jYWNoZTtcbiAgfVxuICBnZXRLZWVwQWxpdmVDYWNoZWRJbnN0YW5jZXMoaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShpbnN0YW5jZS5fX3ZfY2FjaGUudmFsdWVzKCkpLm1hcCgodm5vZGUpID0+IHZub2RlLmNvbXBvbmVudCkuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG59O1xuXG4vLyBzcmMvY29yZS90aW1lbGluZS9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IGlzQnJvd3NlciBhcyBpc0Jyb3dzZXIyIH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9jb3JlL3RpbWVsaW5lL3BlcmYudHNcbmluaXRfZXNtX3NoaW1zKCk7XG52YXIgbWFya0VuZFF1ZXVlID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbnZhciBQRVJGT1JNQU5DRV9FVkVOVF9MQVlFUl9JRCA9IFwicGVyZm9ybWFuY2VcIjtcbmFzeW5jIGZ1bmN0aW9uIHBlcmZvcm1hbmNlTWFya1N0YXJ0KGFwaSwgYXBwLCB1aWQsIHZtLCB0eXBlLCB0aW1lKSB7XG4gIGNvbnN0IGFwcFJlY29yZCA9IGF3YWl0IGdldEFwcFJlY29yZChhcHApO1xuICBpZiAoIWFwcFJlY29yZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBjb21wb25lbnROYW1lID0gZ2V0SW5zdGFuY2VOYW1lKHZtKSB8fCBcIlVua25vd24gQ29tcG9uZW50XCI7XG4gIGNvbnN0IGdyb3VwSWQgPSBkZXZ0b29sc1N0YXRlLnBlcmZVbmlxdWVHcm91cElkKys7XG4gIGNvbnN0IGdyb3VwS2V5ID0gYCR7dWlkfS0ke3R5cGV9YDtcbiAgYXBwUmVjb3JkLnBlcmZHcm91cElkcy5zZXQoZ3JvdXBLZXksIHsgZ3JvdXBJZCwgdGltZSB9KTtcbiAgYXdhaXQgYXBpLmFkZFRpbWVsaW5lRXZlbnQoe1xuICAgIGxheWVySWQ6IFBFUkZPUk1BTkNFX0VWRU5UX0xBWUVSX0lELFxuICAgIGV2ZW50OiB7XG4gICAgICB0aW1lOiBEYXRlLm5vdygpLFxuICAgICAgZGF0YToge1xuICAgICAgICBjb21wb25lbnQ6IGNvbXBvbmVudE5hbWUsXG4gICAgICAgIHR5cGUsXG4gICAgICAgIG1lYXN1cmU6IFwic3RhcnRcIlxuICAgICAgfSxcbiAgICAgIHRpdGxlOiBjb21wb25lbnROYW1lLFxuICAgICAgc3VidGl0bGU6IHR5cGUsXG4gICAgICBncm91cElkXG4gICAgfVxuICB9KTtcbiAgaWYgKG1hcmtFbmRRdWV1ZS5oYXMoZ3JvdXBLZXkpKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXBwOiBhcHAyLFxuICAgICAgdWlkOiB1aWQyLFxuICAgICAgaW5zdGFuY2UsXG4gICAgICB0eXBlOiB0eXBlMixcbiAgICAgIHRpbWU6IHRpbWUyXG4gICAgfSA9IG1hcmtFbmRRdWV1ZS5nZXQoZ3JvdXBLZXkpO1xuICAgIG1hcmtFbmRRdWV1ZS5kZWxldGUoZ3JvdXBLZXkpO1xuICAgIGF3YWl0IHBlcmZvcm1hbmNlTWFya0VuZChcbiAgICAgIGFwaSxcbiAgICAgIGFwcDIsXG4gICAgICB1aWQyLFxuICAgICAgaW5zdGFuY2UsXG4gICAgICB0eXBlMixcbiAgICAgIHRpbWUyXG4gICAgKTtcbiAgfVxufVxuZnVuY3Rpb24gcGVyZm9ybWFuY2VNYXJrRW5kKGFwaSwgYXBwLCB1aWQsIHZtLCB0eXBlLCB0aW1lKSB7XG4gIGNvbnN0IGFwcFJlY29yZCA9IGdldEFwcFJlY29yZChhcHApO1xuICBpZiAoIWFwcFJlY29yZClcbiAgICByZXR1cm47XG4gIGNvbnN0IGNvbXBvbmVudE5hbWUgPSBnZXRJbnN0YW5jZU5hbWUodm0pIHx8IFwiVW5rbm93biBDb21wb25lbnRcIjtcbiAgY29uc3QgZ3JvdXBLZXkgPSBgJHt1aWR9LSR7dHlwZX1gO1xuICBjb25zdCBncm91cEluZm8gPSBhcHBSZWNvcmQucGVyZkdyb3VwSWRzLmdldChncm91cEtleSk7XG4gIGlmIChncm91cEluZm8pIHtcbiAgICBjb25zdCBncm91cElkID0gZ3JvdXBJbmZvLmdyb3VwSWQ7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gZ3JvdXBJbmZvLnRpbWU7XG4gICAgY29uc3QgZHVyYXRpb24gPSB0aW1lIC0gc3RhcnRUaW1lO1xuICAgIGFwaS5hZGRUaW1lbGluZUV2ZW50KHtcbiAgICAgIGxheWVySWQ6IFBFUkZPUk1BTkNFX0VWRU5UX0xBWUVSX0lELFxuICAgICAgZXZlbnQ6IHtcbiAgICAgICAgdGltZTogRGF0ZS5ub3coKSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50TmFtZSxcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIG1lYXN1cmU6IFwiZW5kXCIsXG4gICAgICAgICAgZHVyYXRpb246IHtcbiAgICAgICAgICAgIF9jdXN0b206IHtcbiAgICAgICAgICAgICAgdHlwZTogXCJEdXJhdGlvblwiLFxuICAgICAgICAgICAgICB2YWx1ZTogZHVyYXRpb24sXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGAke2R1cmF0aW9ufSBtc2BcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiBjb21wb25lbnROYW1lLFxuICAgICAgICBzdWJ0aXRsZTogdHlwZSxcbiAgICAgICAgZ3JvdXBJZFxuICAgICAgfVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG1hcmtFbmRRdWV1ZS5zZXQoZ3JvdXBLZXksIHsgYXBwLCB1aWQsIGluc3RhbmNlOiB2bSwgdHlwZSwgdGltZSB9KTtcbiAgfVxufVxuXG4vLyBzcmMvY29yZS90aW1lbGluZS9pbmRleC50c1xudmFyIENPTVBPTkVOVF9FVkVOVF9MQVlFUl9JRCA9IFwiY29tcG9uZW50LWV2ZW50XCI7XG5mdW5jdGlvbiBzZXR1cEJ1aWx0aW5UaW1lbGluZUxheWVycyhhcGkpIHtcbiAgaWYgKCFpc0Jyb3dzZXIyKVxuICAgIHJldHVybjtcbiAgYXBpLmFkZFRpbWVsaW5lTGF5ZXIoe1xuICAgIGlkOiBcIm1vdXNlXCIsXG4gICAgbGFiZWw6IFwiTW91c2VcIixcbiAgICBjb2xvcjogMTA3Njg4MTVcbiAgfSk7XG4gIFtcIm1vdXNlZG93blwiLCBcIm1vdXNldXBcIiwgXCJjbGlja1wiLCBcImRibGNsaWNrXCJdLmZvckVhY2goKGV2ZW50VHlwZSkgPT4ge1xuICAgIGlmICghZGV2dG9vbHNTdGF0ZS50aW1lbGluZUxheWVyc1N0YXRlLnJlY29yZGluZ1N0YXRlIHx8ICFkZXZ0b29sc1N0YXRlLnRpbWVsaW5lTGF5ZXJzU3RhdGUubW91c2VFdmVudEVuYWJsZWQpXG4gICAgICByZXR1cm47XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBhc3luYyAoZXZlbnQpID0+IHtcbiAgICAgIGF3YWl0IGFwaS5hZGRUaW1lbGluZUV2ZW50KHtcbiAgICAgICAgbGF5ZXJJZDogXCJtb3VzZVwiLFxuICAgICAgICBldmVudDoge1xuICAgICAgICAgIHRpbWU6IERhdGUubm93KCksXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdHlwZTogZXZlbnRUeXBlLFxuICAgICAgICAgICAgeDogZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICAgIHk6IGV2ZW50LmNsaWVudFlcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiBldmVudFR5cGVcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwge1xuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgIHBhc3NpdmU6IHRydWVcbiAgICB9KTtcbiAgfSk7XG4gIGFwaS5hZGRUaW1lbGluZUxheWVyKHtcbiAgICBpZDogXCJrZXlib2FyZFwiLFxuICAgIGxhYmVsOiBcIktleWJvYXJkXCIsXG4gICAgY29sb3I6IDg0NzUwNTVcbiAgfSk7XG4gIFtcImtleXVwXCIsIFwia2V5ZG93blwiLCBcImtleXByZXNzXCJdLmZvckVhY2goKGV2ZW50VHlwZSkgPT4ge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWRldnRvb2xzU3RhdGUudGltZWxpbmVMYXllcnNTdGF0ZS5yZWNvcmRpbmdTdGF0ZSB8fCAhZGV2dG9vbHNTdGF0ZS50aW1lbGluZUxheWVyc1N0YXRlLmtleWJvYXJkRXZlbnRFbmFibGVkKVxuICAgICAgICByZXR1cm47XG4gICAgICBhd2FpdCBhcGkuYWRkVGltZWxpbmVFdmVudCh7XG4gICAgICAgIGxheWVySWQ6IFwia2V5Ym9hcmRcIixcbiAgICAgICAgZXZlbnQ6IHtcbiAgICAgICAgICB0aW1lOiBEYXRlLm5vdygpLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHR5cGU6IGV2ZW50VHlwZSxcbiAgICAgICAgICAgIGtleTogZXZlbnQua2V5LFxuICAgICAgICAgICAgY3RybEtleTogZXZlbnQuY3RybEtleSxcbiAgICAgICAgICAgIHNoaWZ0S2V5OiBldmVudC5zaGlmdEtleSxcbiAgICAgICAgICAgIGFsdEtleTogZXZlbnQuYWx0S2V5LFxuICAgICAgICAgICAgbWV0YUtleTogZXZlbnQubWV0YUtleVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6IGV2ZW50LmtleVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCB7XG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgcGFzc2l2ZTogdHJ1ZVxuICAgIH0pO1xuICB9KTtcbiAgYXBpLmFkZFRpbWVsaW5lTGF5ZXIoe1xuICAgIGlkOiBDT01QT05FTlRfRVZFTlRfTEFZRVJfSUQsXG4gICAgbGFiZWw6IFwiQ29tcG9uZW50IGV2ZW50c1wiLFxuICAgIGNvbG9yOiA1MjI2NjM3XG4gIH0pO1xuICBob29rLm9uLmNvbXBvbmVudEVtaXQoYXN5bmMgKGFwcCwgaW5zdGFuY2UsIGV2ZW50LCBwYXJhbXMpID0+IHtcbiAgICBpZiAoIWRldnRvb2xzU3RhdGUudGltZWxpbmVMYXllcnNTdGF0ZS5yZWNvcmRpbmdTdGF0ZSB8fCAhZGV2dG9vbHNTdGF0ZS50aW1lbGluZUxheWVyc1N0YXRlLmNvbXBvbmVudEV2ZW50RW5hYmxlZClcbiAgICAgIHJldHVybjtcbiAgICBjb25zdCBhcHBSZWNvcmQgPSBhd2FpdCBnZXRBcHBSZWNvcmQoYXBwKTtcbiAgICBpZiAoIWFwcFJlY29yZClcbiAgICAgIHJldHVybjtcbiAgICBjb25zdCBjb21wb25lbnRJZCA9IGAke2FwcFJlY29yZC5pZH06JHtpbnN0YW5jZS51aWR9YDtcbiAgICBjb25zdCBjb21wb25lbnROYW1lID0gZ2V0SW5zdGFuY2VOYW1lKGluc3RhbmNlKSB8fCBcIlVua25vd24gQ29tcG9uZW50XCI7XG4gICAgYXBpLmFkZFRpbWVsaW5lRXZlbnQoe1xuICAgICAgbGF5ZXJJZDogQ09NUE9ORU5UX0VWRU5UX0xBWUVSX0lELFxuICAgICAgZXZlbnQ6IHtcbiAgICAgICAgdGltZTogRGF0ZS5ub3coKSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICAgICAgX2N1c3RvbToge1xuICAgICAgICAgICAgICB0eXBlOiBcImNvbXBvbmVudC1kZWZpbml0aW9uXCIsXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGNvbXBvbmVudE5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgIHBhcmFtc1xuICAgICAgICB9LFxuICAgICAgICB0aXRsZTogZXZlbnQsXG4gICAgICAgIHN1YnRpdGxlOiBgYnkgJHtjb21wb25lbnROYW1lfWAsXG4gICAgICAgIG1ldGE6IHtcbiAgICAgICAgICBjb21wb25lbnRJZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBhcGkuYWRkVGltZWxpbmVMYXllcih7XG4gICAgaWQ6IFwicGVyZm9ybWFuY2VcIixcbiAgICBsYWJlbDogUEVSRk9STUFOQ0VfRVZFTlRfTEFZRVJfSUQsXG4gICAgY29sb3I6IDQzMDcwNTBcbiAgfSk7XG4gIGhvb2sub24ucGVyZlN0YXJ0KChhcHAsIHVpZCwgdm0sIHR5cGUsIHRpbWUpID0+IHtcbiAgICBpZiAoIWRldnRvb2xzU3RhdGUudGltZWxpbmVMYXllcnNTdGF0ZS5yZWNvcmRpbmdTdGF0ZSB8fCAhZGV2dG9vbHNTdGF0ZS50aW1lbGluZUxheWVyc1N0YXRlLnBlcmZvcm1hbmNlRXZlbnRFbmFibGVkKVxuICAgICAgcmV0dXJuO1xuICAgIHBlcmZvcm1hbmNlTWFya1N0YXJ0KGFwaSwgYXBwLCB1aWQsIHZtLCB0eXBlLCB0aW1lKTtcbiAgfSk7XG4gIGhvb2sub24ucGVyZkVuZCgoYXBwLCB1aWQsIHZtLCB0eXBlLCB0aW1lKSA9PiB7XG4gICAgaWYgKCFkZXZ0b29sc1N0YXRlLnRpbWVsaW5lTGF5ZXJzU3RhdGUucmVjb3JkaW5nU3RhdGUgfHwgIWRldnRvb2xzU3RhdGUudGltZWxpbmVMYXllcnNTdGF0ZS5wZXJmb3JtYW5jZUV2ZW50RW5hYmxlZClcbiAgICAgIHJldHVybjtcbiAgICBwZXJmb3JtYW5jZU1hcmtFbmQoYXBpLCBhcHAsIHVpZCwgdm0sIHR5cGUsIHRpbWUpO1xuICB9KTtcbn1cblxuLy8gc3JjL2NvcmUvdm0vaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG52YXIgTUFYXyRWTSA9IDEwO1xudmFyICR2bVF1ZXVlID0gW107XG5mdW5jdGlvbiBleHBvc2VJbnN0YW5jZVRvV2luZG93KGNvbXBvbmVudEluc3RhbmNlKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKVxuICAgIHJldHVybjtcbiAgY29uc3Qgd2luID0gd2luZG93O1xuICBpZiAoIWNvbXBvbmVudEluc3RhbmNlKVxuICAgIHJldHVybjtcbiAgd2luLiR2bSA9IGNvbXBvbmVudEluc3RhbmNlO1xuICBpZiAoJHZtUXVldWVbMF0gIT09IGNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgaWYgKCR2bVF1ZXVlLmxlbmd0aCA+PSBNQVhfJFZNKSB7XG4gICAgICAkdm1RdWV1ZS5wb3AoKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9ICR2bVF1ZXVlLmxlbmd0aDsgaSA+IDA7IGktLSkge1xuICAgICAgd2luW2Akdm0ke2l9YF0gPSAkdm1RdWV1ZVtpXSA9ICR2bVF1ZXVlW2kgLSAxXTtcbiAgICB9XG4gICAgd2luLiR2bTAgPSAkdm1RdWV1ZVswXSA9IGNvbXBvbmVudEluc3RhbmNlO1xuICB9XG59XG5cbi8vIHNyYy9jb3JlL3BsdWdpbi9jb21wb25lbnRzLnRzXG52YXIgSU5TUEVDVE9SX0lEID0gXCJjb21wb25lbnRzXCI7XG5mdW5jdGlvbiBjcmVhdGVDb21wb25lbnRzRGV2VG9vbHNQbHVnaW4oYXBwKSB7XG4gIGNvbnN0IGRlc2NyaXB0b3IgPSB7XG4gICAgaWQ6IElOU1BFQ1RPUl9JRCxcbiAgICBsYWJlbDogXCJDb21wb25lbnRzXCIsXG4gICAgYXBwXG4gIH07XG4gIGNvbnN0IHNldHVwRm4gPSAoYXBpKSA9PiB7XG4gICAgYXBpLmFkZEluc3BlY3Rvcih7XG4gICAgICBpZDogSU5TUEVDVE9SX0lELFxuICAgICAgbGFiZWw6IFwiQ29tcG9uZW50c1wiLFxuICAgICAgdHJlZUZpbHRlclBsYWNlaG9sZGVyOiBcIlNlYXJjaCBjb21wb25lbnRzXCJcbiAgICB9KTtcbiAgICBzZXR1cEJ1aWx0aW5UaW1lbGluZUxheWVycyhhcGkpO1xuICAgIGFwaS5vbi5nZXRJbnNwZWN0b3JUcmVlKGFzeW5jIChwYXlsb2FkKSA9PiB7XG4gICAgICBpZiAocGF5bG9hZC5hcHAgPT09IGFwcCAmJiBwYXlsb2FkLmluc3BlY3RvcklkID09PSBJTlNQRUNUT1JfSUQpIHtcbiAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBnZXRDb21wb25lbnRJbnN0YW5jZShhY3RpdmVBcHBSZWNvcmQudmFsdWUsIHBheWxvYWQuaW5zdGFuY2VJZCk7XG4gICAgICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgICAgIGNvbnN0IHdhbGtlcjIgPSBuZXcgQ29tcG9uZW50V2Fsa2VyKHtcbiAgICAgICAgICAgIGZpbHRlclRleHQ6IHBheWxvYWQuZmlsdGVyLFxuICAgICAgICAgICAgLy8gQFRPRE86IHNob3VsZCBtYWtlIHRoaXMgY29uZmlndXJhYmxlP1xuICAgICAgICAgICAgbWF4RGVwdGg6IDEwMCxcbiAgICAgICAgICAgIHJlY3Vyc2l2ZWx5OiBmYWxzZSxcbiAgICAgICAgICAgIGFwaVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHBheWxvYWQucm9vdE5vZGVzID0gYXdhaXQgd2Fsa2VyMi5nZXRDb21wb25lbnRUcmVlKGluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGFwaS5vbi5nZXRJbnNwZWN0b3JTdGF0ZShhc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgdmFyIF9hMjU7XG4gICAgICBpZiAocGF5bG9hZC5hcHAgPT09IGFwcCAmJiBwYXlsb2FkLmluc3BlY3RvcklkID09PSBJTlNQRUNUT1JfSUQpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0SW5zdGFuY2VTdGF0ZSh7XG4gICAgICAgICAgaW5zdGFuY2VJZDogcGF5bG9hZC5ub2RlSWRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gcmVzdWx0Lmluc3RhbmNlO1xuICAgICAgICBjb25zdCBhcHAyID0gKF9hMjUgPSByZXN1bHQuaW5zdGFuY2UpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1LmFwcENvbnRleHQuYXBwO1xuICAgICAgICBjb25zdCBfcGF5bG9hZCA9IHtcbiAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZSxcbiAgICAgICAgICBhcHA6IGFwcDIsXG4gICAgICAgICAgaW5zdGFuY2VEYXRhOiByZXN1bHRcbiAgICAgICAgfTtcbiAgICAgICAgZGV2dG9vbHNDb250ZXh0Lmhvb2tzLmNhbGxIb29rV2l0aCgoY2FsbGJhY2tzKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2tzLmZvckVhY2goKGNiKSA9PiBjYihfcGF5bG9hZCkpO1xuICAgICAgICB9LCBcImluc3BlY3RDb21wb25lbnRcIiAvKiBJTlNQRUNUX0NPTVBPTkVOVCAqLyk7XG4gICAgICAgIHBheWxvYWQuc3RhdGUgPSByZXN1bHQ7XG4gICAgICAgIGV4cG9zZUluc3RhbmNlVG9XaW5kb3coY29tcG9uZW50SW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGFwaS5vbi5lZGl0SW5zcGVjdG9yU3RhdGUoYXN5bmMgKHBheWxvYWQpID0+IHtcbiAgICAgIGlmIChwYXlsb2FkLmFwcCA9PT0gYXBwICYmIHBheWxvYWQuaW5zcGVjdG9ySWQgPT09IElOU1BFQ1RPUl9JRCkge1xuICAgICAgICBlZGl0U3RhdGUocGF5bG9hZCk7XG4gICAgICAgIGF3YWl0IGFwaS5zZW5kSW5zcGVjdG9yU3RhdGUoXCJjb21wb25lbnRzXCIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGRlYm91bmNlU2VuZEluc3BlY3RvclRyZWUgPSBkZWJvdW5jZTQoKCkgPT4ge1xuICAgICAgYXBpLnNlbmRJbnNwZWN0b3JUcmVlKElOU1BFQ1RPUl9JRCk7XG4gICAgfSwgMTIwKTtcbiAgICBjb25zdCBkZWJvdW5jZVNlbmRJbnNwZWN0b3JTdGF0ZSA9IGRlYm91bmNlNCgoKSA9PiB7XG4gICAgICBhcGkuc2VuZEluc3BlY3RvclN0YXRlKElOU1BFQ1RPUl9JRCk7XG4gICAgfSwgMTIwKTtcbiAgICBjb25zdCBjb21wb25lbnRBZGRlZENsZWFudXAgPSBob29rLm9uLmNvbXBvbmVudEFkZGVkKGFzeW5jIChhcHAyLCB1aWQsIHBhcmVudFVpZCwgY29tcG9uZW50KSA9PiB7XG4gICAgICB2YXIgX2EyNSwgX2IyNSwgX2M7XG4gICAgICBpZiAoZGV2dG9vbHNTdGF0ZS5oaWdoUGVyZk1vZGVFbmFibGVkKVxuICAgICAgICByZXR1cm47XG4gICAgICBpZiAoKF9jID0gKF9iMjUgPSAoX2EyNSA9IGFwcDIgPT0gbnVsbCA/IHZvaWQgMCA6IGFwcDIuX2luc3RhbmNlKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS50eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX2IyNS5kZXZ0b29scykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLmhpZGUpXG4gICAgICAgIHJldHVybjtcbiAgICAgIGlmICghYXBwMiB8fCB0eXBlb2YgdWlkICE9PSBcIm51bWJlclwiICYmICF1aWQgfHwgIWNvbXBvbmVudClcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY29uc3QgaWQgPSBhd2FpdCBnZXRDb21wb25lbnRJZCh7XG4gICAgICAgIGFwcDogYXBwMixcbiAgICAgICAgdWlkLFxuICAgICAgICBpbnN0YW5jZTogY29tcG9uZW50XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGFwcFJlY29yZCA9IGF3YWl0IGdldEFwcFJlY29yZChhcHAyKTtcbiAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgaWYgKGNvbXBvbmVudC5fX1ZVRV9ERVZUT09MU19ORVhUX1VJRF9fID09IG51bGwpXG4gICAgICAgICAgY29tcG9uZW50Ll9fVlVFX0RFVlRPT0xTX05FWFRfVUlEX18gPSBpZDtcbiAgICAgICAgaWYgKCEoYXBwUmVjb3JkID09IG51bGwgPyB2b2lkIDAgOiBhcHBSZWNvcmQuaW5zdGFuY2VNYXAuaGFzKGlkKSkpIHtcbiAgICAgICAgICBhcHBSZWNvcmQgPT0gbnVsbCA/IHZvaWQgMCA6IGFwcFJlY29yZC5pbnN0YW5jZU1hcC5zZXQoaWQsIGNvbXBvbmVudCk7XG4gICAgICAgICAgaWYgKGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5pZCA9PT0gKGFwcFJlY29yZCA9PSBudWxsID8gdm9pZCAwIDogYXBwUmVjb3JkLmlkKSlcbiAgICAgICAgICAgIGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5pbnN0YW5jZU1hcCA9IGFwcFJlY29yZC5pbnN0YW5jZU1hcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFhcHBSZWNvcmQpXG4gICAgICAgIHJldHVybjtcbiAgICAgIGRlYm91bmNlU2VuZEluc3BlY3RvclRyZWUoKTtcbiAgICB9KTtcbiAgICBjb25zdCBjb21wb25lbnRVcGRhdGVkQ2xlYW51cCA9IGhvb2sub24uY29tcG9uZW50VXBkYXRlZChhc3luYyAoYXBwMiwgdWlkLCBwYXJlbnRVaWQsIGNvbXBvbmVudCkgPT4ge1xuICAgICAgdmFyIF9hMjUsIF9iMjUsIF9jO1xuICAgICAgaWYgKGRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZClcbiAgICAgICAgcmV0dXJuO1xuICAgICAgaWYgKChfYyA9IChfYjI1ID0gKF9hMjUgPSBhcHAyID09IG51bGwgPyB2b2lkIDAgOiBhcHAyLl9pbnN0YW5jZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iMjUuZGV2dG9vbHMpID09IG51bGwgPyB2b2lkIDAgOiBfYy5oaWRlKVxuICAgICAgICByZXR1cm47XG4gICAgICBpZiAoIWFwcDIgfHwgdHlwZW9mIHVpZCAhPT0gXCJudW1iZXJcIiAmJiAhdWlkIHx8ICFjb21wb25lbnQpXG4gICAgICAgIHJldHVybjtcbiAgICAgIGNvbnN0IGlkID0gYXdhaXQgZ2V0Q29tcG9uZW50SWQoe1xuICAgICAgICBhcHA6IGFwcDIsXG4gICAgICAgIHVpZCxcbiAgICAgICAgaW5zdGFuY2U6IGNvbXBvbmVudFxuICAgICAgfSk7XG4gICAgICBjb25zdCBhcHBSZWNvcmQgPSBhd2FpdCBnZXRBcHBSZWNvcmQoYXBwMik7XG4gICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgIGlmIChjb21wb25lbnQuX19WVUVfREVWVE9PTFNfTkVYVF9VSURfXyA9PSBudWxsKVxuICAgICAgICAgIGNvbXBvbmVudC5fX1ZVRV9ERVZUT09MU19ORVhUX1VJRF9fID0gaWQ7XG4gICAgICAgIGlmICghKGFwcFJlY29yZCA9PSBudWxsID8gdm9pZCAwIDogYXBwUmVjb3JkLmluc3RhbmNlTWFwLmhhcyhpZCkpKSB7XG4gICAgICAgICAgYXBwUmVjb3JkID09IG51bGwgPyB2b2lkIDAgOiBhcHBSZWNvcmQuaW5zdGFuY2VNYXAuc2V0KGlkLCBjb21wb25lbnQpO1xuICAgICAgICAgIGlmIChhY3RpdmVBcHBSZWNvcmQudmFsdWUuaWQgPT09IChhcHBSZWNvcmQgPT0gbnVsbCA/IHZvaWQgMCA6IGFwcFJlY29yZC5pZCkpXG4gICAgICAgICAgICBhY3RpdmVBcHBSZWNvcmQudmFsdWUuaW5zdGFuY2VNYXAgPSBhcHBSZWNvcmQuaW5zdGFuY2VNYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghYXBwUmVjb3JkKVxuICAgICAgICByZXR1cm47XG4gICAgICBkZWJvdW5jZVNlbmRJbnNwZWN0b3JUcmVlKCk7XG4gICAgICBkZWJvdW5jZVNlbmRJbnNwZWN0b3JTdGF0ZSgpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlbW92ZWRDbGVhbnVwID0gaG9vay5vbi5jb21wb25lbnRSZW1vdmVkKGFzeW5jIChhcHAyLCB1aWQsIHBhcmVudFVpZCwgY29tcG9uZW50KSA9PiB7XG4gICAgICB2YXIgX2EyNSwgX2IyNSwgX2M7XG4gICAgICBpZiAoZGV2dG9vbHNTdGF0ZS5oaWdoUGVyZk1vZGVFbmFibGVkKVxuICAgICAgICByZXR1cm47XG4gICAgICBpZiAoKF9jID0gKF9iMjUgPSAoX2EyNSA9IGFwcDIgPT0gbnVsbCA/IHZvaWQgMCA6IGFwcDIuX2luc3RhbmNlKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS50eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX2IyNS5kZXZ0b29scykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLmhpZGUpXG4gICAgICAgIHJldHVybjtcbiAgICAgIGlmICghYXBwMiB8fCB0eXBlb2YgdWlkICE9PSBcIm51bWJlclwiICYmICF1aWQgfHwgIWNvbXBvbmVudClcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY29uc3QgYXBwUmVjb3JkID0gYXdhaXQgZ2V0QXBwUmVjb3JkKGFwcDIpO1xuICAgICAgaWYgKCFhcHBSZWNvcmQpXG4gICAgICAgIHJldHVybjtcbiAgICAgIGNvbnN0IGlkID0gYXdhaXQgZ2V0Q29tcG9uZW50SWQoe1xuICAgICAgICBhcHA6IGFwcDIsXG4gICAgICAgIHVpZCxcbiAgICAgICAgaW5zdGFuY2U6IGNvbXBvbmVudFxuICAgICAgfSk7XG4gICAgICBhcHBSZWNvcmQgPT0gbnVsbCA/IHZvaWQgMCA6IGFwcFJlY29yZC5pbnN0YW5jZU1hcC5kZWxldGUoaWQpO1xuICAgICAgaWYgKGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5pZCA9PT0gKGFwcFJlY29yZCA9PSBudWxsID8gdm9pZCAwIDogYXBwUmVjb3JkLmlkKSlcbiAgICAgICAgYWN0aXZlQXBwUmVjb3JkLnZhbHVlLmluc3RhbmNlTWFwID0gYXBwUmVjb3JkLmluc3RhbmNlTWFwO1xuICAgICAgZGVib3VuY2VTZW5kSW5zcGVjdG9yVHJlZSgpO1xuICAgIH0pO1xuICB9O1xuICByZXR1cm4gW2Rlc2NyaXB0b3IsIHNldHVwRm5dO1xufVxuXG4vLyBzcmMvY29yZS9wbHVnaW4vaW5kZXgudHNcbnZhciBfYTEyLCBfYjEyO1xuKF9iMTIgPSAoX2ExMiA9IHRhcmdldDgpLl9fVlVFX0RFVlRPT0xTX0tJVF9fUkVHSVNURVJFRF9QTFVHSU5fQVBQU19fKSAhPSBudWxsID8gX2IxMiA6IF9hMTIuX19WVUVfREVWVE9PTFNfS0lUX19SRUdJU1RFUkVEX1BMVUdJTl9BUFBTX18gPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuZnVuY3Rpb24gc2V0dXBEZXZUb29sc1BsdWdpbihwbHVnaW5EZXNjcmlwdG9yLCBzZXR1cEZuKSB7XG4gIHJldHVybiBob29rLnNldHVwRGV2VG9vbHNQbHVnaW4ocGx1Z2luRGVzY3JpcHRvciwgc2V0dXBGbik7XG59XG5mdW5jdGlvbiBjYWxsRGV2VG9vbHNQbHVnaW5TZXR1cEZuKHBsdWdpbiwgYXBwKSB7XG4gIGNvbnN0IFtwbHVnaW5EZXNjcmlwdG9yLCBzZXR1cEZuXSA9IHBsdWdpbjtcbiAgaWYgKHBsdWdpbkRlc2NyaXB0b3IuYXBwICE9PSBhcHApXG4gICAgcmV0dXJuO1xuICBjb25zdCBhcGkgPSBuZXcgRGV2VG9vbHNQbHVnaW5BUEkoe1xuICAgIHBsdWdpbjoge1xuICAgICAgc2V0dXBGbixcbiAgICAgIGRlc2NyaXB0b3I6IHBsdWdpbkRlc2NyaXB0b3JcbiAgICB9LFxuICAgIGN0eDogZGV2dG9vbHNDb250ZXh0XG4gIH0pO1xuICBpZiAocGx1Z2luRGVzY3JpcHRvci5wYWNrYWdlTmFtZSA9PT0gXCJ2dWV4XCIpIHtcbiAgICBhcGkub24uZWRpdEluc3BlY3RvclN0YXRlKChwYXlsb2FkKSA9PiB7XG4gICAgICBhcGkuc2VuZEluc3BlY3RvclN0YXRlKHBheWxvYWQuaW5zcGVjdG9ySWQpO1xuICAgIH0pO1xuICB9XG4gIHNldHVwRm4oYXBpKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZVJlZ2lzdGVyZWRQbHVnaW5BcHAoYXBwKSB7XG4gIHRhcmdldDguX19WVUVfREVWVE9PTFNfS0lUX19SRUdJU1RFUkVEX1BMVUdJTl9BUFBTX18uZGVsZXRlKGFwcCk7XG59XG5mdW5jdGlvbiByZWdpc3RlckRldlRvb2xzUGx1Z2luKGFwcCwgb3B0aW9ucykge1xuICBpZiAodGFyZ2V0OC5fX1ZVRV9ERVZUT09MU19LSVRfX1JFR0lTVEVSRURfUExVR0lOX0FQUFNfXy5oYXMoYXBwKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoZGV2dG9vbHNTdGF0ZS5oaWdoUGVyZk1vZGVFbmFibGVkICYmICEob3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb3B0aW9ucy5pbnNwZWN0aW5nQ29tcG9uZW50KSkge1xuICAgIHJldHVybjtcbiAgfVxuICB0YXJnZXQ4Ll9fVlVFX0RFVlRPT0xTX0tJVF9fUkVHSVNURVJFRF9QTFVHSU5fQVBQU19fLmFkZChhcHApO1xuICBkZXZ0b29sc1BsdWdpbkJ1ZmZlci5mb3JFYWNoKChwbHVnaW4pID0+IHtcbiAgICBjYWxsRGV2VG9vbHNQbHVnaW5TZXR1cEZuKHBsdWdpbiwgYXBwKTtcbiAgfSk7XG59XG5cbi8vIHNyYy9jb3JlL3JvdXRlci9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IGRlZXBDbG9uZSwgdGFyZ2V0IGFzIGdsb2JhbDMgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbmltcG9ydCB7IGRlYm91bmNlIGFzIGRlYm91bmNlNSB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL3BlcmZlY3QtZGVib3VuY2UvZGlzdC9pbmRleC5tanM/dj1lNGYxOGMyOVwiO1xuXG4vLyBzcmMvY3R4L3JvdXRlci50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IHRhcmdldCBhcyBnbG9iYWwyIH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG52YXIgUk9VVEVSX0tFWSA9IFwiX19WVUVfREVWVE9PTFNfUk9VVEVSX19cIjtcbnZhciBST1VURVJfSU5GT19LRVkgPSBcIl9fVlVFX0RFVlRPT0xTX1JPVVRFUl9JTkZPX19cIjtcbnZhciBfYTEzLCBfYjEzO1xuKF9iMTMgPSAoX2ExMyA9IGdsb2JhbDIpW1JPVVRFUl9JTkZPX0tFWV0pICE9IG51bGwgPyBfYjEzIDogX2ExM1tST1VURVJfSU5GT19LRVldID0ge1xuICBjdXJyZW50Um91dGU6IG51bGwsXG4gIHJvdXRlczogW11cbn07XG52YXIgX2ExNCwgX2IxNDtcbihfYjE0ID0gKF9hMTQgPSBnbG9iYWwyKVtST1VURVJfS0VZXSkgIT0gbnVsbCA/IF9iMTQgOiBfYTE0W1JPVVRFUl9LRVldID0ge307XG52YXIgZGV2dG9vbHNSb3V0ZXJJbmZvID0gbmV3IFByb3h5KGdsb2JhbDJbUk9VVEVSX0lORk9fS0VZXSwge1xuICBnZXQodGFyZ2V0MjIsIHByb3BlcnR5KSB7XG4gICAgcmV0dXJuIGdsb2JhbDJbUk9VVEVSX0lORk9fS0VZXVtwcm9wZXJ0eV07XG4gIH1cbn0pO1xudmFyIGRldnRvb2xzUm91dGVyID0gbmV3IFByb3h5KGdsb2JhbDJbUk9VVEVSX0tFWV0sIHtcbiAgZ2V0KHRhcmdldDIyLCBwcm9wZXJ0eSkge1xuICAgIGlmIChwcm9wZXJ0eSA9PT0gXCJ2YWx1ZVwiKSB7XG4gICAgICByZXR1cm4gZ2xvYmFsMltST1VURVJfS0VZXTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBzcmMvY29yZS9yb3V0ZXIvaW5kZXgudHNcbmZ1bmN0aW9uIGdldFJvdXRlcyhyb3V0ZXIpIHtcbiAgY29uc3Qgcm91dGVzTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgcmV0dXJuICgocm91dGVyID09IG51bGwgPyB2b2lkIDAgOiByb3V0ZXIuZ2V0Um91dGVzKCkpIHx8IFtdKS5maWx0ZXIoKGkpID0+ICFyb3V0ZXNNYXAuaGFzKGkucGF0aCkgJiYgcm91dGVzTWFwLnNldChpLnBhdGgsIDEpKTtcbn1cbmZ1bmN0aW9uIGZpbHRlclJvdXRlcyhyb3V0ZXMpIHtcbiAgcmV0dXJuIHJvdXRlcy5tYXAoKGl0ZW0pID0+IHtcbiAgICBsZXQgeyBwYXRoLCBuYW1lLCBjaGlsZHJlbiwgbWV0YSB9ID0gaXRlbTtcbiAgICBpZiAoY2hpbGRyZW4gPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkcmVuLmxlbmd0aClcbiAgICAgIGNoaWxkcmVuID0gZmlsdGVyUm91dGVzKGNoaWxkcmVuKTtcbiAgICByZXR1cm4ge1xuICAgICAgcGF0aCxcbiAgICAgIG5hbWUsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIG1ldGFcbiAgICB9O1xuICB9KTtcbn1cbmZ1bmN0aW9uIGZpbHRlckN1cnJlbnRSb3V0ZShyb3V0ZSkge1xuICBpZiAocm91dGUpIHtcbiAgICBjb25zdCB7IGZ1bGxQYXRoLCBoYXNoLCBocmVmLCBwYXRoLCBuYW1lLCBtYXRjaGVkLCBwYXJhbXMsIHF1ZXJ5IH0gPSByb3V0ZTtcbiAgICByZXR1cm4ge1xuICAgICAgZnVsbFBhdGgsXG4gICAgICBoYXNoLFxuICAgICAgaHJlZixcbiAgICAgIHBhdGgsXG4gICAgICBuYW1lLFxuICAgICAgcGFyYW1zLFxuICAgICAgcXVlcnksXG4gICAgICBtYXRjaGVkOiBmaWx0ZXJSb3V0ZXMobWF0Y2hlZClcbiAgICB9O1xuICB9XG4gIHJldHVybiByb3V0ZTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJvdXRlckluZm8oYXBwUmVjb3JkLCBhY3RpdmVBcHBSZWNvcmQyKSB7XG4gIGZ1bmN0aW9uIGluaXQoKSB7XG4gICAgdmFyIF9hMjU7XG4gICAgY29uc3Qgcm91dGVyID0gKF9hMjUgPSBhcHBSZWNvcmQuYXBwKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5jb25maWcuZ2xvYmFsUHJvcGVydGllcy4kcm91dGVyO1xuICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IGZpbHRlckN1cnJlbnRSb3V0ZShyb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHJvdXRlci5jdXJyZW50Um91dGUudmFsdWUpO1xuICAgIGNvbnN0IHJvdXRlcyA9IGZpbHRlclJvdXRlcyhnZXRSb3V0ZXMocm91dGVyKSk7XG4gICAgY29uc3QgYyA9IGNvbnNvbGUud2FybjtcbiAgICBjb25zb2xlLndhcm4gPSAoKSA9PiB7XG4gICAgfTtcbiAgICBnbG9iYWwzW1JPVVRFUl9JTkZPX0tFWV0gPSB7XG4gICAgICBjdXJyZW50Um91dGU6IGN1cnJlbnRSb3V0ZSA/IGRlZXBDbG9uZShjdXJyZW50Um91dGUpIDoge30sXG4gICAgICByb3V0ZXM6IGRlZXBDbG9uZShyb3V0ZXMpXG4gICAgfTtcbiAgICBnbG9iYWwzW1JPVVRFUl9LRVldID0gcm91dGVyO1xuICAgIGNvbnNvbGUud2FybiA9IGM7XG4gIH1cbiAgaW5pdCgpO1xuICBob29rLm9uLmNvbXBvbmVudFVwZGF0ZWQoZGVib3VuY2U1KCgpID0+IHtcbiAgICB2YXIgX2EyNTtcbiAgICBpZiAoKChfYTI1ID0gYWN0aXZlQXBwUmVjb3JkMi52YWx1ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUuYXBwKSAhPT0gYXBwUmVjb3JkLmFwcClcbiAgICAgIHJldHVybjtcbiAgICBpbml0KCk7XG4gICAgaWYgKGRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZClcbiAgICAgIHJldHVybjtcbiAgICBkZXZ0b29sc0NvbnRleHQuaG9va3MuY2FsbEhvb2soXCJyb3V0ZXJJbmZvVXBkYXRlZFwiIC8qIFJPVVRFUl9JTkZPX1VQREFURUQgKi8sIHsgc3RhdGU6IGdsb2JhbDNbUk9VVEVSX0lORk9fS0VZXSB9KTtcbiAgfSwgMjAwKSk7XG59XG5cbi8vIHNyYy9jdHgvYXBpLnRzXG5mdW5jdGlvbiBjcmVhdGVEZXZUb29sc0FwaShob29rczIpIHtcbiAgcmV0dXJuIHtcbiAgICAvLyBnZXQgaW5zcGVjdG9yIHRyZWVcbiAgICBhc3luYyBnZXRJbnNwZWN0b3JUcmVlKHBheWxvYWQpIHtcbiAgICAgIGNvbnN0IF9wYXlsb2FkID0ge1xuICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICBhcHA6IGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5hcHAsXG4gICAgICAgIHJvb3ROb2RlczogW11cbiAgICAgIH07XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICBob29rczIuY2FsbEhvb2tXaXRoKGFzeW5jIChjYWxsYmFja3MpID0+IHtcbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChjYWxsYmFja3MubWFwKChjYikgPT4gY2IoX3BheWxvYWQpKSk7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9LCBcImdldEluc3BlY3RvclRyZWVcIiAvKiBHRVRfSU5TUEVDVE9SX1RSRUUgKi8pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gX3BheWxvYWQucm9vdE5vZGVzO1xuICAgIH0sXG4gICAgLy8gZ2V0IGluc3BlY3RvciBzdGF0ZVxuICAgIGFzeW5jIGdldEluc3BlY3RvclN0YXRlKHBheWxvYWQpIHtcbiAgICAgIGNvbnN0IF9wYXlsb2FkID0ge1xuICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICBhcHA6IGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5hcHAsXG4gICAgICAgIHN0YXRlOiBudWxsXG4gICAgICB9O1xuICAgICAgY29uc3QgY3R4ID0ge1xuICAgICAgICBjdXJyZW50VGFiOiBgY3VzdG9tLWluc3BlY3Rvcjoke3BheWxvYWQuaW5zcGVjdG9ySWR9YFxuICAgICAgfTtcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIGhvb2tzMi5jYWxsSG9va1dpdGgoYXN5bmMgKGNhbGxiYWNrcykgPT4ge1xuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKGNhbGxiYWNrcy5tYXAoKGNiKSA9PiBjYihfcGF5bG9hZCwgY3R4KSkpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSwgXCJnZXRJbnNwZWN0b3JTdGF0ZVwiIC8qIEdFVF9JTlNQRUNUT1JfU1RBVEUgKi8pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gX3BheWxvYWQuc3RhdGU7XG4gICAgfSxcbiAgICAvLyBlZGl0IGluc3BlY3RvciBzdGF0ZVxuICAgIGVkaXRJbnNwZWN0b3JTdGF0ZShwYXlsb2FkKSB7XG4gICAgICBjb25zdCBzdGF0ZUVkaXRvcjIgPSBuZXcgU3RhdGVFZGl0b3IoKTtcbiAgICAgIGNvbnN0IF9wYXlsb2FkID0ge1xuICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICBhcHA6IGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5hcHAsXG4gICAgICAgIHNldDogKG9iaiwgcGF0aCA9IHBheWxvYWQucGF0aCwgdmFsdWUgPSBwYXlsb2FkLnN0YXRlLnZhbHVlLCBjYikgPT4ge1xuICAgICAgICAgIHN0YXRlRWRpdG9yMi5zZXQob2JqLCBwYXRoLCB2YWx1ZSwgY2IgfHwgc3RhdGVFZGl0b3IyLmNyZWF0ZURlZmF1bHRTZXRDYWxsYmFjayhwYXlsb2FkLnN0YXRlKSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBob29rczIuY2FsbEhvb2tXaXRoKChjYWxsYmFja3MpID0+IHtcbiAgICAgICAgY2FsbGJhY2tzLmZvckVhY2goKGNiKSA9PiBjYihfcGF5bG9hZCkpO1xuICAgICAgfSwgXCJlZGl0SW5zcGVjdG9yU3RhdGVcIiAvKiBFRElUX0lOU1BFQ1RPUl9TVEFURSAqLyk7XG4gICAgfSxcbiAgICAvLyBzZW5kIGluc3BlY3RvciBzdGF0ZVxuICAgIHNlbmRJbnNwZWN0b3JTdGF0ZShpbnNwZWN0b3JJZCkge1xuICAgICAgY29uc3QgaW5zcGVjdG9yID0gZ2V0SW5zcGVjdG9yKGluc3BlY3RvcklkKTtcbiAgICAgIGhvb2tzMi5jYWxsSG9vayhcInNlbmRJbnNwZWN0b3JTdGF0ZVwiIC8qIFNFTkRfSU5TUEVDVE9SX1NUQVRFICovLCB7IGluc3BlY3RvcklkLCBwbHVnaW46IHtcbiAgICAgICAgZGVzY3JpcHRvcjogaW5zcGVjdG9yLmRlc2NyaXB0b3IsXG4gICAgICAgIHNldHVwRm46ICgpID0+ICh7fSlcbiAgICAgIH0gfSk7XG4gICAgfSxcbiAgICAvLyBpbnNwZWN0IGNvbXBvbmVudCBpbnNwZWN0b3JcbiAgICBpbnNwZWN0Q29tcG9uZW50SW5zcGVjdG9yKCkge1xuICAgICAgcmV0dXJuIGluc3BlY3RDb21wb25lbnRIaWdoTGlnaHRlcigpO1xuICAgIH0sXG4gICAgLy8gY2FuY2VsIGluc3BlY3QgY29tcG9uZW50IGluc3BlY3RvclxuICAgIGNhbmNlbEluc3BlY3RDb21wb25lbnRJbnNwZWN0b3IoKSB7XG4gICAgICByZXR1cm4gY2FuY2VsSW5zcGVjdENvbXBvbmVudEhpZ2hMaWdodGVyKCk7XG4gICAgfSxcbiAgICAvLyBnZXQgY29tcG9uZW50IHJlbmRlciBjb2RlXG4gICAgZ2V0Q29tcG9uZW50UmVuZGVyQ29kZShpZCkge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBnZXRDb21wb25lbnRJbnN0YW5jZShhY3RpdmVBcHBSZWNvcmQudmFsdWUsIGlkKTtcbiAgICAgIGlmIChpbnN0YW5jZSlcbiAgICAgICAgcmV0dXJuICEodHlwZW9mIChpbnN0YW5jZSA9PSBudWxsID8gdm9pZCAwIDogaW5zdGFuY2UudHlwZSkgPT09IFwiZnVuY3Rpb25cIikgPyBpbnN0YW5jZS5yZW5kZXIudG9TdHJpbmcoKSA6IGluc3RhbmNlLnR5cGUudG9TdHJpbmcoKTtcbiAgICB9LFxuICAgIC8vIHNjcm9sbCB0byBjb21wb25lbnRcbiAgICBzY3JvbGxUb0NvbXBvbmVudChpZCkge1xuICAgICAgcmV0dXJuIHNjcm9sbFRvQ29tcG9uZW50KHsgaWQgfSk7XG4gICAgfSxcbiAgICAvLyBvcGVuIGluIGVkaXRvclxuICAgIG9wZW5JbkVkaXRvcixcbiAgICAvLyBnZXQgdnVlIGluc3BlY3RvclxuICAgIGdldFZ1ZUluc3BlY3RvcjogZ2V0Q29tcG9uZW50SW5zcGVjdG9yLFxuICAgIC8vIHRvZ2dsZSBhcHBcbiAgICB0b2dnbGVBcHAoaWQsIG9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGFwcFJlY29yZCA9IGRldnRvb2xzQXBwUmVjb3Jkcy52YWx1ZS5maW5kKChyZWNvcmQpID0+IHJlY29yZC5pZCA9PT0gaWQpO1xuICAgICAgaWYgKGFwcFJlY29yZCkge1xuICAgICAgICBzZXRBY3RpdmVBcHBSZWNvcmRJZChpZCk7XG4gICAgICAgIHNldEFjdGl2ZUFwcFJlY29yZChhcHBSZWNvcmQpO1xuICAgICAgICBub3JtYWxpemVSb3V0ZXJJbmZvKGFwcFJlY29yZCwgYWN0aXZlQXBwUmVjb3JkKTtcbiAgICAgICAgY2FsbEluc3BlY3RvclVwZGF0ZWRIb29rKCk7XG4gICAgICAgIHJlZ2lzdGVyRGV2VG9vbHNQbHVnaW4oYXBwUmVjb3JkLmFwcCwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBpbnNwZWN0IGRvbVxuICAgIGluc3BlY3RET00oaW5zdGFuY2VJZCkge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBnZXRDb21wb25lbnRJbnN0YW5jZShhY3RpdmVBcHBSZWNvcmQudmFsdWUsIGluc3RhbmNlSWQpO1xuICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgIGNvbnN0IFtlbF0gPSBnZXRSb290RWxlbWVudHNGcm9tQ29tcG9uZW50SW5zdGFuY2UoaW5zdGFuY2UpO1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICB0YXJnZXQ5Ll9fVlVFX0RFVlRPT0xTX0lOU1BFQ1RfRE9NX1RBUkdFVF9fID0gZWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHVwZGF0ZVBsdWdpblNldHRpbmdzKHBsdWdpbklkLCBrZXksIHZhbHVlKSB7XG4gICAgICBzZXRQbHVnaW5TZXR0aW5ncyhwbHVnaW5JZCwga2V5LCB2YWx1ZSk7XG4gICAgfSxcbiAgICBnZXRQbHVnaW5TZXR0aW5ncyhwbHVnaW5JZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3B0aW9uczogZ2V0UGx1Z2luU2V0dGluZ3NPcHRpb25zKHBsdWdpbklkKSxcbiAgICAgICAgdmFsdWVzOiBnZXRQbHVnaW5TZXR0aW5ncyhwbHVnaW5JZClcbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvY3R4L2Vudi50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IHRhcmdldCBhcyB0YXJnZXQxMCB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL0B2dWUvZGV2dG9vbHMtc2hhcmVkL2Rpc3QvaW5kZXguanM/dj1lNGYxOGMyOVwiO1xudmFyIF9hMTUsIF9iMTU7XG4oX2IxNSA9IChfYTE1ID0gdGFyZ2V0MTApLl9fVlVFX0RFVlRPT0xTX0VOVl9fKSAhPSBudWxsID8gX2IxNSA6IF9hMTUuX19WVUVfREVWVE9PTFNfRU5WX18gPSB7XG4gIHZpdGVQbHVnaW5EZXRlY3RlZDogZmFsc2Vcbn07XG5mdW5jdGlvbiBnZXREZXZUb29sc0VudigpIHtcbiAgcmV0dXJuIHRhcmdldDEwLl9fVlVFX0RFVlRPT0xTX0VOVl9fO1xufVxuZnVuY3Rpb24gc2V0RGV2VG9vbHNFbnYoZW52KSB7XG4gIHRhcmdldDEwLl9fVlVFX0RFVlRPT0xTX0VOVl9fID0ge1xuICAgIC4uLnRhcmdldDEwLl9fVlVFX0RFVlRPT0xTX0VOVl9fLFxuICAgIC4uLmVudlxuICB9O1xufVxuXG4vLyBzcmMvY3R4L2luZGV4LnRzXG52YXIgaG9va3MgPSBjcmVhdGVEZXZUb29sc0N0eEhvb2tzKCk7XG52YXIgX2ExNiwgX2IxNjtcbihfYjE2ID0gKF9hMTYgPSB0YXJnZXQxMSkuX19WVUVfREVWVE9PTFNfS0lUX0NPTlRFWFRfXykgIT0gbnVsbCA/IF9iMTYgOiBfYTE2Ll9fVlVFX0RFVlRPT0xTX0tJVF9DT05URVhUX18gPSB7XG4gIGhvb2tzLFxuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRldnRvb2xzU3RhdGUsXG4gICAgICBhY3RpdmVBcHBSZWNvcmRJZDogYWN0aXZlQXBwUmVjb3JkLmlkLFxuICAgICAgYWN0aXZlQXBwUmVjb3JkOiBhY3RpdmVBcHBSZWNvcmQudmFsdWUsXG4gICAgICBhcHBSZWNvcmRzOiBkZXZ0b29sc0FwcFJlY29yZHMudmFsdWVcbiAgICB9O1xuICB9LFxuICBhcGk6IGNyZWF0ZURldlRvb2xzQXBpKGhvb2tzKVxufTtcbnZhciBkZXZ0b29sc0NvbnRleHQgPSB0YXJnZXQxMS5fX1ZVRV9ERVZUT09MU19LSVRfQ09OVEVYVF9fO1xuXG4vLyBzcmMvY29yZS9hcHAvaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG52YXIgaW1wb3J0X3NwZWFraW5ndXJsID0gX190b0VTTShyZXF1aXJlX3NwZWFraW5ndXJsMigpLCAxKTtcbmltcG9ydCB7IGlzQnJvd3NlciBhcyBpc0Jyb3dzZXIzLCB0YXJnZXQgYXMgdGFyZ2V0MTIgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbnZhciBfYTE3LCBfYjE3O1xudmFyIGFwcFJlY29yZEluZm8gPSAoX2IxNyA9IChfYTE3ID0gdGFyZ2V0MTIpLl9fVlVFX0RFVlRPT0xTX05FWFRfQVBQX1JFQ09SRF9JTkZPX18pICE9IG51bGwgPyBfYjE3IDogX2ExNy5fX1ZVRV9ERVZUT09MU19ORVhUX0FQUF9SRUNPUkRfSU5GT19fID0ge1xuICBpZDogMCxcbiAgYXBwSWRzOiAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpXG59O1xuZnVuY3Rpb24gZ2V0QXBwUmVjb3JkTmFtZShhcHAsIGZhbGxiYWNrTmFtZSkge1xuICB2YXIgX2EyNTtcbiAgcmV0dXJuICgoX2EyNSA9IGFwcCA9PSBudWxsID8gdm9pZCAwIDogYXBwLl9jb21wb25lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1Lm5hbWUpIHx8IGBBcHAgJHtmYWxsYmFja05hbWV9YDtcbn1cbmZ1bmN0aW9uIGdldEFwcFJvb3RJbnN0YW5jZShhcHApIHtcbiAgdmFyIF9hMjUsIF9iMjUsIF9jLCBfZDtcbiAgaWYgKGFwcC5faW5zdGFuY2UpXG4gICAgcmV0dXJuIGFwcC5faW5zdGFuY2U7XG4gIGVsc2UgaWYgKChfYjI1ID0gKF9hMjUgPSBhcHAuX2NvbnRhaW5lcikgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUuX3Zub2RlKSA9PSBudWxsID8gdm9pZCAwIDogX2IyNS5jb21wb25lbnQpXG4gICAgcmV0dXJuIChfZCA9IChfYyA9IGFwcC5fY29udGFpbmVyKSA9PSBudWxsID8gdm9pZCAwIDogX2MuX3Zub2RlKSA9PSBudWxsID8gdm9pZCAwIDogX2QuY29tcG9uZW50O1xufVxuZnVuY3Rpb24gcmVtb3ZlQXBwUmVjb3JkSWQoYXBwKSB7XG4gIGNvbnN0IGlkID0gYXBwLl9fVlVFX0RFVlRPT0xTX05FWFRfQVBQX1JFQ09SRF9JRF9fO1xuICBpZiAoaWQgIT0gbnVsbCkge1xuICAgIGFwcFJlY29yZEluZm8uYXBwSWRzLmRlbGV0ZShpZCk7XG4gICAgYXBwUmVjb3JkSW5mby5pZC0tO1xuICB9XG59XG5mdW5jdGlvbiBnZXRBcHBSZWNvcmRJZChhcHAsIGRlZmF1bHRJZCkge1xuICBpZiAoYXBwLl9fVlVFX0RFVlRPT0xTX05FWFRfQVBQX1JFQ09SRF9JRF9fICE9IG51bGwpXG4gICAgcmV0dXJuIGFwcC5fX1ZVRV9ERVZUT09MU19ORVhUX0FQUF9SRUNPUkRfSURfXztcbiAgbGV0IGlkID0gZGVmYXVsdElkICE9IG51bGwgPyBkZWZhdWx0SWQgOiAoYXBwUmVjb3JkSW5mby5pZCsrKS50b1N0cmluZygpO1xuICBpZiAoZGVmYXVsdElkICYmIGFwcFJlY29yZEluZm8uYXBwSWRzLmhhcyhpZCkpIHtcbiAgICBsZXQgY291bnQgPSAxO1xuICAgIHdoaWxlIChhcHBSZWNvcmRJbmZvLmFwcElkcy5oYXMoYCR7ZGVmYXVsdElkfV8ke2NvdW50fWApKVxuICAgICAgY291bnQrKztcbiAgICBpZCA9IGAke2RlZmF1bHRJZH1fJHtjb3VudH1gO1xuICB9XG4gIGFwcFJlY29yZEluZm8uYXBwSWRzLmFkZChpZCk7XG4gIGFwcC5fX1ZVRV9ERVZUT09MU19ORVhUX0FQUF9SRUNPUkRfSURfXyA9IGlkO1xuICByZXR1cm4gaWQ7XG59XG5mdW5jdGlvbiBjcmVhdGVBcHBSZWNvcmQoYXBwLCB0eXBlcykge1xuICB2YXIgX2EyNSwgX2IyNTtcbiAgY29uc3Qgcm9vdEluc3RhbmNlID0gZ2V0QXBwUm9vdEluc3RhbmNlKGFwcCk7XG4gIGlmIChyb290SW5zdGFuY2UpIHtcbiAgICBhcHBSZWNvcmRJbmZvLmlkKys7XG4gICAgY29uc3QgbmFtZSA9IGdldEFwcFJlY29yZE5hbWUoYXBwLCBhcHBSZWNvcmRJbmZvLmlkLnRvU3RyaW5nKCkpO1xuICAgIGNvbnN0IGlkID0gZ2V0QXBwUmVjb3JkSWQoYXBwLCAoMCwgaW1wb3J0X3NwZWFraW5ndXJsLmRlZmF1bHQpKG5hbWUpKTtcbiAgICBjb25zdCBbZWxdID0gZ2V0Um9vdEVsZW1lbnRzRnJvbUNvbXBvbmVudEluc3RhbmNlKHJvb3RJbnN0YW5jZSk7XG4gICAgY29uc3QgcmVjb3JkID0ge1xuICAgICAgaWQsXG4gICAgICBuYW1lLFxuICAgICAgdHlwZXMsXG4gICAgICBpbnN0YW5jZU1hcDogLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKSxcbiAgICAgIHBlcmZHcm91cElkczogLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKSxcbiAgICAgIHJvb3RJbnN0YW5jZSxcbiAgICAgIGlmcmFtZTogaXNCcm93c2VyMyAmJiBkb2N1bWVudCAhPT0gKGVsID09IG51bGwgPyB2b2lkIDAgOiBlbC5vd25lckRvY3VtZW50KSA/IChfYjI1ID0gKF9hMjUgPSBlbCA9PSBudWxsID8gdm9pZCAwIDogZWwub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUubG9jYXRpb24pID09IG51bGwgPyB2b2lkIDAgOiBfYjI1LnBhdGhuYW1lIDogdm9pZCAwXG4gICAgfTtcbiAgICBhcHAuX19WVUVfREVWVE9PTFNfTkVYVF9BUFBfUkVDT1JEX18gPSByZWNvcmQ7XG4gICAgY29uc3Qgcm9vdElkID0gYCR7cmVjb3JkLmlkfTpyb290YDtcbiAgICByZWNvcmQuaW5zdGFuY2VNYXAuc2V0KHJvb3RJZCwgcmVjb3JkLnJvb3RJbnN0YW5jZSk7XG4gICAgcmVjb3JkLnJvb3RJbnN0YW5jZS5fX1ZVRV9ERVZUT09MU19ORVhUX1VJRF9fID0gcm9vdElkO1xuICAgIHJldHVybiByZWNvcmQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG5cbi8vIHNyYy9jb3JlL2lmcmFtZS9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmZ1bmN0aW9uIGRldGVjdElmcmFtZUFwcCh0YXJnZXQyMiwgaW5JZnJhbWUgPSBmYWxzZSkge1xuICBpZiAoaW5JZnJhbWUpIHtcbiAgICBsZXQgc2VuZEV2ZW50VG9QYXJlbnQyID0gZnVuY3Rpb24oY2IpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGhvb2szID0gd2luZG93LnBhcmVudC5fX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fO1xuICAgICAgICBpZiAoaG9vazMpIHtcbiAgICAgICAgICBjYihob29rMyk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBzZW5kRXZlbnRUb1BhcmVudCA9IHNlbmRFdmVudFRvUGFyZW50MjtcbiAgICBjb25zdCBob29rMiA9IHtcbiAgICAgIGlkOiBcInZ1ZS1kZXZ0b29scy1uZXh0XCIsXG4gICAgICBkZXZ0b29sc1ZlcnNpb246IFwiNy4wXCIsXG4gICAgICBvbjogKGV2ZW50LCBjYikgPT4ge1xuICAgICAgICBzZW5kRXZlbnRUb1BhcmVudDIoKGhvb2szKSA9PiB7XG4gICAgICAgICAgaG9vazMub24oZXZlbnQsIGNiKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgb25jZTogKGV2ZW50LCBjYikgPT4ge1xuICAgICAgICBzZW5kRXZlbnRUb1BhcmVudDIoKGhvb2szKSA9PiB7XG4gICAgICAgICAgaG9vazMub25jZShldmVudCwgY2IpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBvZmY6IChldmVudCwgY2IpID0+IHtcbiAgICAgICAgc2VuZEV2ZW50VG9QYXJlbnQyKChob29rMykgPT4ge1xuICAgICAgICAgIGhvb2szLm9mZihldmVudCwgY2IpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBlbWl0OiAoZXZlbnQsIC4uLnBheWxvYWQpID0+IHtcbiAgICAgICAgc2VuZEV2ZW50VG9QYXJlbnQyKChob29rMykgPT4ge1xuICAgICAgICAgIGhvb2szLmVtaXQoZXZlbnQsIC4uLnBheWxvYWQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQyMiwgXCJfX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fXCIsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGhvb2syO1xuICAgICAgfSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG4gIGZ1bmN0aW9uIGluamVjdFZ1ZUhvb2tUb0lmcmFtZShpZnJhbWUpIHtcbiAgICBpZiAoaWZyYW1lLl9fdmRldnRvb2xzX19pbmplY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgaWZyYW1lLl9fdmRldnRvb2xzX19pbmplY3RlZCA9IHRydWU7XG4gICAgICBjb25zdCBpbmplY3QgPSAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cuX19WVUVfREVWVE9PTFNfSUZSQU1FX18gPSBpZnJhbWU7XG4gICAgICAgICAgY29uc3Qgc2NyaXB0ID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgICAgICAgIHNjcmlwdC50ZXh0Q29udGVudCA9IGA7KCR7ZGV0ZWN0SWZyYW1lQXBwLnRvU3RyaW5nKCl9KSh3aW5kb3csIHRydWUpYDtcbiAgICAgICAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgICAgICAgIHNjcmlwdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHNjcmlwdCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGluamVjdCgpO1xuICAgICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsICgpID0+IGluamVjdCgpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGluamVjdFZ1ZUhvb2tUb0lmcmFtZXMoKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaWZyYW1lcyA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcImlmcmFtZTpub3QoW2RhdGEtdnVlLWRldnRvb2xzLWlnbm9yZV0pXCIpKTtcbiAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBpZnJhbWVzKSB7XG4gICAgICBpbmplY3RWdWVIb29rVG9JZnJhbWUoaWZyYW1lKTtcbiAgICB9XG4gIH1cbiAgaW5qZWN0VnVlSG9va1RvSWZyYW1lcygpO1xuICBsZXQgaWZyYW1lQXBwQ2hlY2tzID0gMDtcbiAgY29uc3QgaWZyYW1lQXBwQ2hlY2tUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICBpbmplY3RWdWVIb29rVG9JZnJhbWVzKCk7XG4gICAgaWZyYW1lQXBwQ2hlY2tzKys7XG4gICAgaWYgKGlmcmFtZUFwcENoZWNrcyA+PSA1KSB7XG4gICAgICBjbGVhckludGVydmFsKGlmcmFtZUFwcENoZWNrVGltZXIpO1xuICAgIH1cbiAgfSwgMWUzKTtcbn1cblxuLy8gc3JjL2NvcmUvaW5kZXgudHNcbmZ1bmN0aW9uIGluaXREZXZUb29scygpIHtcbiAgdmFyIF9hMjU7XG4gIGRldGVjdElmcmFtZUFwcCh0YXJnZXQxMyk7XG4gIHVwZGF0ZURldlRvb2xzU3RhdGUoe1xuICAgIHZpdGVQbHVnaW5EZXRlY3RlZDogZ2V0RGV2VG9vbHNFbnYoKS52aXRlUGx1Z2luRGV0ZWN0ZWRcbiAgfSk7XG4gIGNvbnN0IGlzRGV2VG9vbHNOZXh0ID0gKChfYTI1ID0gdGFyZ2V0MTMuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUuaWQpID09PSBcInZ1ZS1kZXZ0b29scy1uZXh0XCI7XG4gIGlmICh0YXJnZXQxMy5fX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fICYmIGlzRGV2VG9vbHNOZXh0KVxuICAgIHJldHVybjtcbiAgY29uc3QgX2RldnRvb2xzSG9vayA9IGNyZWF0ZURldlRvb2xzSG9vaygpO1xuICBpZiAodGFyZ2V0MTMuX19WVUVfREVWVE9PTFNfSE9PS19SRVBMQVlfXykge1xuICAgIHRyeSB7XG4gICAgICB0YXJnZXQxMy5fX1ZVRV9ERVZUT09MU19IT09LX1JFUExBWV9fLmZvckVhY2goKGNiKSA9PiBjYihfZGV2dG9vbHNIb29rKSk7XG4gICAgICB0YXJnZXQxMy5fX1ZVRV9ERVZUT09MU19IT09LX1JFUExBWV9fID0gW107XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihcIlt2dWUtZGV2dG9vbHNdIEVycm9yIGR1cmluZyBob29rIHJlcGxheVwiLCBlKTtcbiAgICB9XG4gIH1cbiAgX2RldnRvb2xzSG9vay5vbmNlKFwiaW5pdFwiLCAoVnVlKSA9PiB7XG4gICAgdGFyZ2V0MTMuX19WVUVfREVWVE9PTFNfVlVFMl9BUFBfREVURUNURURfXyA9IHRydWU7XG4gICAgY29uc29sZS5sb2coXCIlY1tfX19fX1Z1ZSBEZXZUb29scyB2NyBsb2dfX19fX11cIiwgXCJjb2xvcjogcmVkOyBmb250LWJvbGQ6IDYwMDsgZm9udC1zaXplOiAxNnB4O1wiKTtcbiAgICBjb25zb2xlLmxvZyhcIiVjVnVlIERldlRvb2xzIHY3IGRldGVjdGVkIGluIHlvdXIgVnVlMiBwcm9qZWN0LiB2NyBvbmx5IHN1cHBvcnRzIFZ1ZTMgYW5kIHdpbGwgbm90IHdvcmsuXCIsIFwiZm9udC1ib2xkOiA1MDA7IGZvbnQtc2l6ZTogMTRweDtcIik7XG4gICAgY29uc3QgbGVnYWN5Q2hyb21lVXJsID0gXCJodHRwczovL2Nocm9tZXdlYnN0b3JlLmdvb2dsZS5jb20vZGV0YWlsL3Z1ZWpzLWRldnRvb2xzL2lhYWptbGNlcGxlY2JsamlhbGhoa21lZGpscGRibGhwXCI7XG4gICAgY29uc3QgbGVnYWN5RmlyZWZveFVybCA9IFwiaHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZmlyZWZveC9hZGRvbi92dWUtanMtZGV2dG9vbHMtdjYtbGVnYWN5XCI7XG4gICAgY29uc29sZS5sb2coYCVjVGhlIGxlZ2FjeSB2ZXJzaW9uIG9mIGNocm9tZSBleHRlbnNpb24gdGhhdCBzdXBwb3J0cyBib3RoIFZ1ZSAyIGFuZCBWdWUgMyBoYXMgYmVlbiBtb3ZlZCB0byAlYyAke2xlZ2FjeUNocm9tZVVybH1gLCBcImZvbnQtc2l6ZTogMTRweDtcIiwgXCJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgY3Vyc29yOiBwb2ludGVyO2ZvbnQtc2l6ZTogMTRweDtcIik7XG4gICAgY29uc29sZS5sb2coYCVjVGhlIGxlZ2FjeSB2ZXJzaW9uIG9mIGZpcmVmb3ggZXh0ZW5zaW9uIHRoYXQgc3VwcG9ydHMgYm90aCBWdWUgMiBhbmQgVnVlIDMgaGFzIGJlZW4gbW92ZWQgdG8gJWMgJHtsZWdhY3lGaXJlZm94VXJsfWAsIFwiZm9udC1zaXplOiAxNHB4O1wiLCBcInRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBjdXJzb3I6IHBvaW50ZXI7Zm9udC1zaXplOiAxNHB4O1wiKTtcbiAgICBjb25zb2xlLmxvZyhcIiVjUGxlYXNlIGluc3RhbGwgYW5kIGVuYWJsZSBvbmx5IHRoZSBsZWdhY3kgdmVyc2lvbiBmb3IgeW91ciBWdWUyIGFwcC5cIiwgXCJmb250LWJvbGQ6IDUwMDsgZm9udC1zaXplOiAxNHB4O1wiKTtcbiAgICBjb25zb2xlLmxvZyhcIiVjW19fX19fVnVlIERldlRvb2xzIHY3IGxvZ19fX19fXVwiLCBcImNvbG9yOiByZWQ7IGZvbnQtYm9sZDogNjAwOyBmb250LXNpemU6IDE2cHg7XCIpO1xuICB9KTtcbiAgaG9vay5vbi5zZXR1cERldnRvb2xzUGx1Z2luKChwbHVnaW5EZXNjcmlwdG9yLCBzZXR1cEZuKSA9PiB7XG4gICAgdmFyIF9hMjY7XG4gICAgYWRkRGV2VG9vbHNQbHVnaW5Ub0J1ZmZlcihwbHVnaW5EZXNjcmlwdG9yLCBzZXR1cEZuKTtcbiAgICBjb25zdCB7IGFwcCB9ID0gKF9hMjYgPSBhY3RpdmVBcHBSZWNvcmQpICE9IG51bGwgPyBfYTI2IDoge307XG4gICAgaWYgKHBsdWdpbkRlc2NyaXB0b3Iuc2V0dGluZ3MpIHtcbiAgICAgIGluaXRQbHVnaW5TZXR0aW5ncyhwbHVnaW5EZXNjcmlwdG9yLmlkLCBwbHVnaW5EZXNjcmlwdG9yLnNldHRpbmdzKTtcbiAgICB9XG4gICAgaWYgKCFhcHApXG4gICAgICByZXR1cm47XG4gICAgY2FsbERldlRvb2xzUGx1Z2luU2V0dXBGbihbcGx1Z2luRGVzY3JpcHRvciwgc2V0dXBGbl0sIGFwcCk7XG4gIH0pO1xuICBvbkxlZ2FjeURldlRvb2xzUGx1Z2luQXBpQXZhaWxhYmxlKCgpID0+IHtcbiAgICBjb25zdCBub3JtYWxpemVkUGx1Z2luQnVmZmVyID0gZGV2dG9vbHNQbHVnaW5CdWZmZXIuZmlsdGVyKChbaXRlbV0pID0+IGl0ZW0uaWQgIT09IFwiY29tcG9uZW50c1wiKTtcbiAgICBub3JtYWxpemVkUGx1Z2luQnVmZmVyLmZvckVhY2goKFtwbHVnaW5EZXNjcmlwdG9yLCBzZXR1cEZuXSkgPT4ge1xuICAgICAgX2RldnRvb2xzSG9vay5lbWl0KFwiZGV2dG9vbHMtcGx1Z2luOnNldHVwXCIgLyogU0VUVVBfREVWVE9PTFNfUExVR0lOICovLCBwbHVnaW5EZXNjcmlwdG9yLCBzZXR1cEZuLCB7IHRhcmdldDogXCJsZWdhY3lcIiB9KTtcbiAgICB9KTtcbiAgfSk7XG4gIGhvb2sub24udnVlQXBwSW5pdChhc3luYyAoYXBwLCB2ZXJzaW9uLCB0eXBlcykgPT4ge1xuICAgIGNvbnN0IGFwcFJlY29yZCA9IGNyZWF0ZUFwcFJlY29yZChhcHAsIHR5cGVzKTtcbiAgICBjb25zdCBub3JtYWxpemVkQXBwUmVjb3JkID0ge1xuICAgICAgLi4uYXBwUmVjb3JkLFxuICAgICAgYXBwLFxuICAgICAgdmVyc2lvblxuICAgIH07XG4gICAgYWRkRGV2VG9vbHNBcHBSZWNvcmQobm9ybWFsaXplZEFwcFJlY29yZCk7XG4gICAgaWYgKGRldnRvb2xzQXBwUmVjb3Jkcy52YWx1ZS5sZW5ndGggPT09IDEpIHtcbiAgICAgIHNldEFjdGl2ZUFwcFJlY29yZChub3JtYWxpemVkQXBwUmVjb3JkKTtcbiAgICAgIHNldEFjdGl2ZUFwcFJlY29yZElkKG5vcm1hbGl6ZWRBcHBSZWNvcmQuaWQpO1xuICAgICAgbm9ybWFsaXplUm91dGVySW5mbyhub3JtYWxpemVkQXBwUmVjb3JkLCBhY3RpdmVBcHBSZWNvcmQpO1xuICAgICAgcmVnaXN0ZXJEZXZUb29sc1BsdWdpbihub3JtYWxpemVkQXBwUmVjb3JkLmFwcCk7XG4gICAgfVxuICAgIHNldHVwRGV2VG9vbHNQbHVnaW4oLi4uY3JlYXRlQ29tcG9uZW50c0RldlRvb2xzUGx1Z2luKG5vcm1hbGl6ZWRBcHBSZWNvcmQuYXBwKSk7XG4gICAgdXBkYXRlRGV2VG9vbHNTdGF0ZSh7XG4gICAgICBjb25uZWN0ZWQ6IHRydWVcbiAgICB9KTtcbiAgICBfZGV2dG9vbHNIb29rLmFwcHMucHVzaChhcHApO1xuICB9KTtcbiAgaG9vay5vbi52dWVBcHBVbm1vdW50KGFzeW5jIChhcHApID0+IHtcbiAgICBjb25zdCBhY3RpdmVSZWNvcmRzID0gZGV2dG9vbHNBcHBSZWNvcmRzLnZhbHVlLmZpbHRlcigoYXBwUmVjb3JkKSA9PiBhcHBSZWNvcmQuYXBwICE9PSBhcHApO1xuICAgIGlmIChhY3RpdmVSZWNvcmRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdXBkYXRlRGV2VG9vbHNTdGF0ZSh7XG4gICAgICAgIGNvbm5lY3RlZDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZW1vdmVEZXZUb29sc0FwcFJlY29yZChhcHApO1xuICAgIHJlbW92ZUFwcFJlY29yZElkKGFwcCk7XG4gICAgaWYgKGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5hcHAgPT09IGFwcCkge1xuICAgICAgc2V0QWN0aXZlQXBwUmVjb3JkKGFjdGl2ZVJlY29yZHNbMF0pO1xuICAgICAgZGV2dG9vbHNDb250ZXh0Lmhvb2tzLmNhbGxIb29rKFwic2VuZEFjdGl2ZUFwcFVwZGF0ZWRUb0NsaWVudFwiIC8qIFNFTkRfQUNUSVZFX0FQUF9VTk1PVU5URURfVE9fQ0xJRU5UICovKTtcbiAgICB9XG4gICAgdGFyZ2V0MTMuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5hcHBzLnNwbGljZSh0YXJnZXQxMy5fX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fLmFwcHMuaW5kZXhPZihhcHApLCAxKTtcbiAgICByZW1vdmVSZWdpc3RlcmVkUGx1Z2luQXBwKGFwcCk7XG4gIH0pO1xuICBzdWJzY3JpYmVEZXZUb29sc0hvb2soX2RldnRvb2xzSG9vayk7XG4gIGlmICghdGFyZ2V0MTMuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQxMywgXCJfX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fXCIsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIF9kZXZ0b29sc0hvb2s7XG4gICAgICB9LFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFpc051eHRBcHApIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXywgX2RldnRvb2xzSG9vayk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBvbkRldlRvb2xzQ2xpZW50Q29ubmVjdGVkKGZuKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmIChkZXZ0b29sc1N0YXRlLmNvbm5lY3RlZCAmJiBkZXZ0b29sc1N0YXRlLmNsaWVudENvbm5lY3RlZCkge1xuICAgICAgZm4oKTtcbiAgICAgIHJlc29sdmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZGV2dG9vbHNDb250ZXh0Lmhvb2tzLmhvb2soXCJkZXZ0b29sc0Nvbm5lY3RlZFVwZGF0ZWRcIiAvKiBERVZUT09MU19DT05ORUNURURfVVBEQVRFRCAqLywgKHsgc3RhdGUgfSkgPT4ge1xuICAgICAgaWYgKHN0YXRlLmNvbm5lY3RlZCAmJiBzdGF0ZS5jbGllbnRDb25uZWN0ZWQpIHtcbiAgICAgICAgZm4oKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuLy8gc3JjL2NvcmUvaGlnaC1wZXJmLW1vZGUvaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5mdW5jdGlvbiB0b2dnbGVIaWdoUGVyZk1vZGUoc3RhdGUpIHtcbiAgZGV2dG9vbHNTdGF0ZS5oaWdoUGVyZk1vZGVFbmFibGVkID0gc3RhdGUgIT0gbnVsbCA/IHN0YXRlIDogIWRldnRvb2xzU3RhdGUuaGlnaFBlcmZNb2RlRW5hYmxlZDtcbiAgaWYgKCFzdGF0ZSAmJiBhY3RpdmVBcHBSZWNvcmQudmFsdWUpIHtcbiAgICByZWdpc3RlckRldlRvb2xzUGx1Z2luKGFjdGl2ZUFwcFJlY29yZC52YWx1ZS5hcHApO1xuICB9XG59XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC9zdGF0ZS9mb3JtYXQudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC9zdGF0ZS9yZXZpdmVyLnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgdGFyZ2V0IGFzIHRhcmdldDE0IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5mdW5jdGlvbiByZXZpdmVTZXQodmFsKSB7XG4gIGNvbnN0IHJlc3VsdCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gIGNvbnN0IGxpc3QgPSB2YWwuX2N1c3RvbS52YWx1ZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWUgPSBsaXN0W2ldO1xuICAgIHJlc3VsdC5hZGQocmV2aXZlKHZhbHVlKSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIHJldml2ZU1hcCh2YWwpIHtcbiAgY29uc3QgcmVzdWx0ID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgY29uc3QgbGlzdCA9IHZhbC5fY3VzdG9tLnZhbHVlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB7IGtleSwgdmFsdWUgfSA9IGxpc3RbaV07XG4gICAgcmVzdWx0LnNldChrZXksIHJldml2ZSh2YWx1ZSkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiByZXZpdmUodmFsKSB7XG4gIGlmICh2YWwgPT09IFVOREVGSU5FRCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH0gZWxzZSBpZiAodmFsID09PSBJTkZJTklUWSkge1xuICAgIHJldHVybiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7XG4gIH0gZWxzZSBpZiAodmFsID09PSBORUdBVElWRV9JTkZJTklUWSkge1xuICAgIHJldHVybiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7XG4gIH0gZWxzZSBpZiAodmFsID09PSBOQU4pIHtcbiAgICByZXR1cm4gTnVtYmVyLk5hTjtcbiAgfSBlbHNlIGlmICh2YWwgJiYgdmFsLl9jdXN0b20pIHtcbiAgICBjb25zdCB7IF9jdXN0b206IGN1c3RvbSB9ID0gdmFsO1xuICAgIGlmIChjdXN0b20udHlwZSA9PT0gXCJjb21wb25lbnRcIilcbiAgICAgIHJldHVybiBhY3RpdmVBcHBSZWNvcmQudmFsdWUuaW5zdGFuY2VNYXAuZ2V0KGN1c3RvbS5pZCk7XG4gICAgZWxzZSBpZiAoY3VzdG9tLnR5cGUgPT09IFwibWFwXCIpXG4gICAgICByZXR1cm4gcmV2aXZlTWFwKHZhbCk7XG4gICAgZWxzZSBpZiAoY3VzdG9tLnR5cGUgPT09IFwic2V0XCIpXG4gICAgICByZXR1cm4gcmV2aXZlU2V0KHZhbCk7XG4gICAgZWxzZSBpZiAoY3VzdG9tLnR5cGUgPT09IFwiYmlnaW50XCIpXG4gICAgICByZXR1cm4gQmlnSW50KGN1c3RvbS52YWx1ZSk7XG4gICAgZWxzZVxuICAgICAgcmV0dXJuIHJldml2ZShjdXN0b20udmFsdWUpO1xuICB9IGVsc2UgaWYgKHN5bWJvbFJFLnRlc3QodmFsKSkge1xuICAgIGNvbnN0IFssIHN0cmluZ10gPSBzeW1ib2xSRS5leGVjKHZhbCk7XG4gICAgcmV0dXJuIFN5bWJvbC5mb3Ioc3RyaW5nKTtcbiAgfSBlbHNlIGlmIChzcGVjaWFsVHlwZVJFLnRlc3QodmFsKSkge1xuICAgIGNvbnN0IFssIHR5cGUsIHN0cmluZywgLCBkZXRhaWxzXSA9IHNwZWNpYWxUeXBlUkUuZXhlYyh2YWwpO1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyB0YXJnZXQxNFt0eXBlXShzdHJpbmcpO1xuICAgIGlmICh0eXBlID09PSBcIkVycm9yXCIgJiYgZGV0YWlscylcbiAgICAgIHJlc3VsdC5zdGFjayA9IGRldGFpbHM7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsO1xuICB9XG59XG5mdW5jdGlvbiByZXZpdmVyKGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIHJldml2ZSh2YWx1ZSk7XG59XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC9zdGF0ZS9mb3JtYXQudHNcbmZ1bmN0aW9uIGdldEluc3BlY3RvclN0YXRlVmFsdWVUeXBlKHZhbHVlLCByYXcgPSB0cnVlKSB7XG4gIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSBVTkRFRklORUQgfHwgdmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXR1cm4gXCJudWxsXCI7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJib29sZWFuXCIgfHwgdHlwZSA9PT0gXCJudW1iZXJcIiB8fCB2YWx1ZSA9PT0gSU5GSU5JVFkgfHwgdmFsdWUgPT09IE5FR0FUSVZFX0lORklOSVRZIHx8IHZhbHVlID09PSBOQU4pIHtcbiAgICByZXR1cm4gXCJsaXRlcmFsXCI7XG4gIH0gZWxzZSBpZiAodmFsdWUgPT0gbnVsbCA/IHZvaWQgMCA6IHZhbHVlLl9jdXN0b20pIHtcbiAgICBpZiAocmF3IHx8IHZhbHVlLl9jdXN0b20uZGlzcGxheSAhPSBudWxsIHx8IHZhbHVlLl9jdXN0b20uZGlzcGxheVRleHQgIT0gbnVsbClcbiAgICAgIHJldHVybiBcImN1c3RvbVwiO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiBnZXRJbnNwZWN0b3JTdGF0ZVZhbHVlVHlwZSh2YWx1ZS5fY3VzdG9tLnZhbHVlKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25zdCB0eXBlTWF0Y2ggPSBzcGVjaWFsVHlwZVJFLmV4ZWModmFsdWUpO1xuICAgIGlmICh0eXBlTWF0Y2gpIHtcbiAgICAgIGNvbnN0IFssIHR5cGUyXSA9IHR5cGVNYXRjaDtcbiAgICAgIHJldHVybiBgbmF0aXZlICR7dHlwZTJ9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgfVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICh2YWx1ZSA9PSBudWxsID8gdm9pZCAwIDogdmFsdWUuX2lzQXJyYXkpKSB7XG4gICAgcmV0dXJuIFwiYXJyYXlcIjtcbiAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0KHZhbHVlKSkge1xuICAgIHJldHVybiBcInBsYWluLW9iamVjdFwiO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBcInVua25vd25cIjtcbiAgfVxufVxuZnVuY3Rpb24gZm9ybWF0SW5zcGVjdG9yU3RhdGVWYWx1ZSh2YWx1ZSwgcXVvdGVzID0gZmFsc2UsIG9wdGlvbnMpIHtcbiAgdmFyIF9hMjUsIF9iMjUsIF9jO1xuICBjb25zdCB7IGN1c3RvbUNsYXNzIH0gPSBvcHRpb25zICE9IG51bGwgPyBvcHRpb25zIDoge307XG4gIGxldCByZXN1bHQ7XG4gIGNvbnN0IHR5cGUgPSBnZXRJbnNwZWN0b3JTdGF0ZVZhbHVlVHlwZSh2YWx1ZSwgZmFsc2UpO1xuICBpZiAodHlwZSAhPT0gXCJjdXN0b21cIiAmJiAodmFsdWUgPT0gbnVsbCA/IHZvaWQgMCA6IHZhbHVlLl9jdXN0b20pKVxuICAgIHZhbHVlID0gdmFsdWUuX2N1c3RvbS52YWx1ZTtcbiAgaWYgKHJlc3VsdCA9IGludGVybmFsU3RhdGVUb2tlblRvU3RyaW5nKHZhbHVlKSkge1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJjdXN0b21cIikge1xuICAgIGNvbnN0IG5lc3RlZE5hbWUgPSAoKF9hMjUgPSB2YWx1ZS5fY3VzdG9tLnZhbHVlKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5fY3VzdG9tKSAmJiBmb3JtYXRJbnNwZWN0b3JTdGF0ZVZhbHVlKHZhbHVlLl9jdXN0b20udmFsdWUsIHF1b3Rlcywgb3B0aW9ucyk7XG4gICAgcmV0dXJuIG5lc3RlZE5hbWUgfHwgdmFsdWUuX2N1c3RvbS5kaXNwbGF5VGV4dCB8fCB2YWx1ZS5fY3VzdG9tLmRpc3BsYXk7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJhcnJheVwiKSB7XG4gICAgcmV0dXJuIGBBcnJheVske3ZhbHVlLmxlbmd0aH1dYDtcbiAgfSBlbHNlIGlmICh0eXBlID09PSBcInBsYWluLW9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGBPYmplY3Qke09iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPyBcIlwiIDogXCIgKGVtcHR5KVwifWA7XG4gIH0gZWxzZSBpZiAodHlwZSA9PSBudWxsID8gdm9pZCAwIDogdHlwZS5pbmNsdWRlcyhcIm5hdGl2ZVwiKSkge1xuICAgIHJldHVybiBlc2NhcGUoKF9iMjUgPSBzcGVjaWFsVHlwZVJFLmV4ZWModmFsdWUpKSA9PSBudWxsID8gdm9pZCAwIDogX2IyNVsyXSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29uc3QgdHlwZU1hdGNoID0gdmFsdWUubWF0Y2gocmF3VHlwZVJFKTtcbiAgICBpZiAodHlwZU1hdGNoKSB7XG4gICAgICB2YWx1ZSA9IGVzY2FwZVN0cmluZyh0eXBlTWF0Y2hbMV0pO1xuICAgIH0gZWxzZSBpZiAocXVvdGVzKSB7XG4gICAgICB2YWx1ZSA9IGA8c3Bhbj5cIjwvc3Bhbj4keyhjdXN0b21DbGFzcyA9PSBudWxsID8gdm9pZCAwIDogY3VzdG9tQ2xhc3Muc3RyaW5nKSA/IGA8c3BhbiBjbGFzcz0ke2N1c3RvbUNsYXNzLnN0cmluZ30+JHtlc2NhcGVTdHJpbmcodmFsdWUpfTwvc3Bhbj5gIDogZXNjYXBlU3RyaW5nKHZhbHVlKX08c3Bhbj5cIjwvc3Bhbj5gO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IChjdXN0b21DbGFzcyA9PSBudWxsID8gdm9pZCAwIDogY3VzdG9tQ2xhc3Muc3RyaW5nKSA/IGA8c3BhbiBjbGFzcz1cIiR7KF9jID0gY3VzdG9tQ2xhc3MgPT0gbnVsbCA/IHZvaWQgMCA6IGN1c3RvbUNsYXNzLnN0cmluZykgIT0gbnVsbCA/IF9jIDogXCJcIn1cIj4ke2VzY2FwZVN0cmluZyh2YWx1ZSl9PC9zcGFuPmAgOiBlc2NhcGVTdHJpbmcodmFsdWUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG5mdW5jdGlvbiBlc2NhcGVTdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIGVzY2FwZSh2YWx1ZSkucmVwbGFjZSgvIC9nLCBcIiZuYnNwO1wiKS5yZXBsYWNlKC9cXG4vZywgXCI8c3Bhbj5cXFxcbjwvc3Bhbj5cIik7XG59XG5mdW5jdGlvbiBnZXRSYXcodmFsdWUpIHtcbiAgdmFyIF9hMjUsIF9iMjUsIF9jO1xuICBsZXQgY3VzdG9tVHlwZTtcbiAgY29uc3QgaXNDdXN0b20gPSBnZXRJbnNwZWN0b3JTdGF0ZVZhbHVlVHlwZSh2YWx1ZSkgPT09IFwiY3VzdG9tXCI7XG4gIGxldCBpbmhlcml0ID0ge307XG4gIGlmIChpc0N1c3RvbSkge1xuICAgIGNvbnN0IGRhdGEgPSB2YWx1ZTtcbiAgICBjb25zdCBjdXN0b21WYWx1ZSA9IChfYTI1ID0gZGF0YS5fY3VzdG9tKSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS52YWx1ZTtcbiAgICBjb25zdCBjdXJyZW50Q3VzdG9tVHlwZSA9IChfYjI1ID0gZGF0YS5fY3VzdG9tKSA9PSBudWxsID8gdm9pZCAwIDogX2IyNS50eXBlO1xuICAgIGNvbnN0IG5lc3RlZEN1c3RvbSA9IHR5cGVvZiBjdXN0b21WYWx1ZSA9PT0gXCJvYmplY3RcIiAmJiBjdXN0b21WYWx1ZSAhPT0gbnVsbCAmJiBcIl9jdXN0b21cIiBpbiBjdXN0b21WYWx1ZSA/IGdldFJhdyhjdXN0b21WYWx1ZSkgOiB7IGluaGVyaXQ6IHZvaWQgMCwgdmFsdWU6IHZvaWQgMCwgY3VzdG9tVHlwZTogdm9pZCAwIH07XG4gICAgaW5oZXJpdCA9IG5lc3RlZEN1c3RvbS5pbmhlcml0IHx8ICgoX2MgPSBkYXRhLl9jdXN0b20pID09IG51bGwgPyB2b2lkIDAgOiBfYy5maWVsZHMpIHx8IHt9O1xuICAgIHZhbHVlID0gbmVzdGVkQ3VzdG9tLnZhbHVlIHx8IGN1c3RvbVZhbHVlO1xuICAgIGN1c3RvbVR5cGUgPSBuZXN0ZWRDdXN0b20uY3VzdG9tVHlwZSB8fCBjdXJyZW50Q3VzdG9tVHlwZTtcbiAgfVxuICBpZiAodmFsdWUgJiYgdmFsdWUuX2lzQXJyYXkpXG4gICAgdmFsdWUgPSB2YWx1ZS5pdGVtcztcbiAgcmV0dXJuIHsgdmFsdWUsIGluaGVyaXQsIGN1c3RvbVR5cGUgfTtcbn1cbmZ1bmN0aW9uIHRvRWRpdCh2YWx1ZSwgY3VzdG9tVHlwZSkge1xuICBpZiAoY3VzdG9tVHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgICByZXR1cm4gdmFsdWU7XG4gIGlmIChjdXN0b21UeXBlID09PSBcImRhdGVcIilcbiAgICByZXR1cm4gdmFsdWU7XG4gIHJldHVybiByZXBsYWNlVG9rZW5Ub1N0cmluZyhKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xufVxuZnVuY3Rpb24gdG9TdWJtaXQodmFsdWUsIGN1c3RvbVR5cGUpIHtcbiAgaWYgKGN1c3RvbVR5cGUgPT09IFwiYmlnaW50XCIpXG4gICAgcmV0dXJuIEJpZ0ludCh2YWx1ZSk7XG4gIGlmIChjdXN0b21UeXBlID09PSBcImRhdGVcIilcbiAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICByZXR1cm4gSlNPTi5wYXJzZShyZXBsYWNlU3RyaW5nVG9Ub2tlbih2YWx1ZSksIHJldml2ZXIpO1xufVxuXG4vLyBzcmMvY29yZS9kZXZ0b29scy1jbGllbnQvZGV0ZWN0ZWQudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyB0YXJnZXQgYXMgdGFyZ2V0MTUgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbmZ1bmN0aW9uIHVwZGF0ZURldlRvb2xzQ2xpZW50RGV0ZWN0ZWQocGFyYW1zKSB7XG4gIGRldnRvb2xzU3RhdGUuZGV2dG9vbHNDbGllbnREZXRlY3RlZCA9IHtcbiAgICAuLi5kZXZ0b29sc1N0YXRlLmRldnRvb2xzQ2xpZW50RGV0ZWN0ZWQsXG4gICAgLi4ucGFyYW1zXG4gIH07XG4gIGNvbnN0IGRldnRvb2xzQ2xpZW50VmlzaWJsZSA9IE9iamVjdC52YWx1ZXMoZGV2dG9vbHNTdGF0ZS5kZXZ0b29sc0NsaWVudERldGVjdGVkKS5zb21lKEJvb2xlYW4pO1xuICB0b2dnbGVIaWdoUGVyZk1vZGUoIWRldnRvb2xzQ2xpZW50VmlzaWJsZSk7XG59XG52YXIgX2ExOCwgX2IxODtcbihfYjE4ID0gKF9hMTggPSB0YXJnZXQxNSkuX19WVUVfREVWVE9PTFNfVVBEQVRFX0NMSUVOVF9ERVRFQ1RFRF9fKSAhPSBudWxsID8gX2IxOCA6IF9hMTguX19WVUVfREVWVE9PTFNfVVBEQVRFX0NMSUVOVF9ERVRFQ1RFRF9fID0gdXBkYXRlRGV2VG9vbHNDbGllbnREZXRlY3RlZDtcblxuLy8gc3JjL21lc3NhZ2luZy9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IHRhcmdldCBhcyB0YXJnZXQyMSB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL0B2dWUvZGV2dG9vbHMtc2hhcmVkL2Rpc3QvaW5kZXguanM/dj1lNGYxOGMyOVwiO1xuaW1wb3J0IHsgY3JlYXRlQmlycGMsIGNyZWF0ZUJpcnBjR3JvdXAgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9iaXJwYy9kaXN0L2luZGV4Lm1qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9pbmRleC50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL21lc3NhZ2luZy9wcmVzZXRzL2Jyb2FkY2FzdC1jaGFubmVsL2luZGV4LnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vc3VwZXJqc29uQDIuMi4yL25vZGVfbW9kdWxlcy9zdXBlcmpzb24vZGlzdC9pbmRleC5qc1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3N1cGVyanNvbkAyLjIuMi9ub2RlX21vZHVsZXMvc3VwZXJqc29uL2Rpc3QvY2xhc3MtcmVnaXN0cnkuanNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIC4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9zdXBlcmpzb25AMi4yLjIvbm9kZV9tb2R1bGVzL3N1cGVyanNvbi9kaXN0L3JlZ2lzdHJ5LmpzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vc3VwZXJqc29uQDIuMi4yL25vZGVfbW9kdWxlcy9zdXBlcmpzb24vZGlzdC9kb3VibGUtaW5kZXhlZC1rdi5qc1xuaW5pdF9lc21fc2hpbXMoKTtcbnZhciBEb3VibGVJbmRleGVkS1YgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMua2V5VG9WYWx1ZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgdGhpcy52YWx1ZVRvS2V5ID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgfVxuICBzZXQoa2V5LCB2YWx1ZSkge1xuICAgIHRoaXMua2V5VG9WYWx1ZS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZVRvS2V5LnNldCh2YWx1ZSwga2V5KTtcbiAgfVxuICBnZXRCeUtleShrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlUb1ZhbHVlLmdldChrZXkpO1xuICB9XG4gIGdldEJ5VmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZVRvS2V5LmdldCh2YWx1ZSk7XG4gIH1cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5rZXlUb1ZhbHVlLmNsZWFyKCk7XG4gICAgdGhpcy52YWx1ZVRvS2V5LmNsZWFyKCk7XG4gIH1cbn07XG5cbi8vIC4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9zdXBlcmpzb25AMi4yLjIvbm9kZV9tb2R1bGVzL3N1cGVyanNvbi9kaXN0L3JlZ2lzdHJ5LmpzXG52YXIgUmVnaXN0cnkgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKGdlbmVyYXRlSWRlbnRpZmllcikge1xuICAgIHRoaXMuZ2VuZXJhdGVJZGVudGlmaWVyID0gZ2VuZXJhdGVJZGVudGlmaWVyO1xuICAgIHRoaXMua3YgPSBuZXcgRG91YmxlSW5kZXhlZEtWKCk7XG4gIH1cbiAgcmVnaXN0ZXIodmFsdWUsIGlkZW50aWZpZXIpIHtcbiAgICBpZiAodGhpcy5rdi5nZXRCeVZhbHVlKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWlkZW50aWZpZXIpIHtcbiAgICAgIGlkZW50aWZpZXIgPSB0aGlzLmdlbmVyYXRlSWRlbnRpZmllcih2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMua3Yuc2V0KGlkZW50aWZpZXIsIHZhbHVlKTtcbiAgfVxuICBjbGVhcigpIHtcbiAgICB0aGlzLmt2LmNsZWFyKCk7XG4gIH1cbiAgZ2V0SWRlbnRpZmllcih2YWx1ZSkge1xuICAgIHJldHVybiB0aGlzLmt2LmdldEJ5VmFsdWUodmFsdWUpO1xuICB9XG4gIGdldFZhbHVlKGlkZW50aWZpZXIpIHtcbiAgICByZXR1cm4gdGhpcy5rdi5nZXRCeUtleShpZGVudGlmaWVyKTtcbiAgfVxufTtcblxuLy8gLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3N1cGVyanNvbkAyLjIuMi9ub2RlX21vZHVsZXMvc3VwZXJqc29uL2Rpc3QvY2xhc3MtcmVnaXN0cnkuanNcbnZhciBDbGFzc1JlZ2lzdHJ5ID0gY2xhc3MgZXh0ZW5kcyBSZWdpc3RyeSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKChjKSA9PiBjLm5hbWUpO1xuICAgIHRoaXMuY2xhc3NUb0FsbG93ZWRQcm9wcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gIH1cbiAgcmVnaXN0ZXIodmFsdWUsIG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGlmIChvcHRpb25zLmFsbG93UHJvcHMpIHtcbiAgICAgICAgdGhpcy5jbGFzc1RvQWxsb3dlZFByb3BzLnNldCh2YWx1ZSwgb3B0aW9ucy5hbGxvd1Byb3BzKTtcbiAgICAgIH1cbiAgICAgIHN1cGVyLnJlZ2lzdGVyKHZhbHVlLCBvcHRpb25zLmlkZW50aWZpZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBlci5yZWdpc3Rlcih2YWx1ZSwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG4gIGdldEFsbG93ZWRQcm9wcyh2YWx1ZSkge1xuICAgIHJldHVybiB0aGlzLmNsYXNzVG9BbGxvd2VkUHJvcHMuZ2V0KHZhbHVlKTtcbiAgfVxufTtcblxuLy8gLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3N1cGVyanNvbkAyLjIuMi9ub2RlX21vZHVsZXMvc3VwZXJqc29uL2Rpc3QvY3VzdG9tLXRyYW5zZm9ybWVyLXJlZ2lzdHJ5LmpzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vc3VwZXJqc29uQDIuMi4yL25vZGVfbW9kdWxlcy9zdXBlcmpzb24vZGlzdC91dGlsLmpzXG5pbml0X2VzbV9zaGltcygpO1xuZnVuY3Rpb24gdmFsdWVzT2ZPYmoocmVjb3JkKSB7XG4gIGlmIChcInZhbHVlc1wiIGluIE9iamVjdCkge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHJlY29yZCk7XG4gIH1cbiAgY29uc3QgdmFsdWVzID0gW107XG4gIGZvciAoY29uc3Qga2V5IGluIHJlY29yZCkge1xuICAgIGlmIChyZWNvcmQuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgdmFsdWVzLnB1c2gocmVjb3JkW2tleV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdmFsdWVzO1xufVxuZnVuY3Rpb24gZmluZChyZWNvcmQsIHByZWRpY2F0ZSkge1xuICBjb25zdCB2YWx1ZXMgPSB2YWx1ZXNPZk9iaihyZWNvcmQpO1xuICBpZiAoXCJmaW5kXCIgaW4gdmFsdWVzKSB7XG4gICAgcmV0dXJuIHZhbHVlcy5maW5kKHByZWRpY2F0ZSk7XG4gIH1cbiAgY29uc3QgdmFsdWVzTm90TmV2ZXIgPSB2YWx1ZXM7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzTm90TmV2ZXIubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc05vdE5ldmVyW2ldO1xuICAgIGlmIChwcmVkaWNhdGUodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiB2b2lkIDA7XG59XG5mdW5jdGlvbiBmb3JFYWNoKHJlY29yZCwgcnVuKSB7XG4gIE9iamVjdC5lbnRyaWVzKHJlY29yZCkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiBydW4odmFsdWUsIGtleSkpO1xufVxuZnVuY3Rpb24gaW5jbHVkZXMoYXJyLCB2YWx1ZSkge1xuICByZXR1cm4gYXJyLmluZGV4T2YodmFsdWUpICE9PSAtMTtcbn1cbmZ1bmN0aW9uIGZpbmRBcnIocmVjb3JkLCBwcmVkaWNhdGUpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByZWNvcmQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB2YWx1ZSA9IHJlY29yZFtpXTtcbiAgICBpZiAocHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdm9pZCAwO1xufVxuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vc3VwZXJqc29uQDIuMi4yL25vZGVfbW9kdWxlcy9zdXBlcmpzb24vZGlzdC9jdXN0b20tdHJhbnNmb3JtZXItcmVnaXN0cnkuanNcbnZhciBDdXN0b21UcmFuc2Zvcm1lclJlZ2lzdHJ5ID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRyYW5zZm9tZXJzID0ge307XG4gIH1cbiAgcmVnaXN0ZXIodHJhbnNmb3JtZXIpIHtcbiAgICB0aGlzLnRyYW5zZm9tZXJzW3RyYW5zZm9ybWVyLm5hbWVdID0gdHJhbnNmb3JtZXI7XG4gIH1cbiAgZmluZEFwcGxpY2FibGUodikge1xuICAgIHJldHVybiBmaW5kKHRoaXMudHJhbnNmb21lcnMsICh0cmFuc2Zvcm1lcikgPT4gdHJhbnNmb3JtZXIuaXNBcHBsaWNhYmxlKHYpKTtcbiAgfVxuICBmaW5kQnlOYW1lKG5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2ZvbWVyc1tuYW1lXTtcbiAgfVxufTtcblxuLy8gLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3N1cGVyanNvbkAyLjIuMi9ub2RlX21vZHVsZXMvc3VwZXJqc29uL2Rpc3QvcGxhaW5lci5qc1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3N1cGVyanNvbkAyLjIuMi9ub2RlX21vZHVsZXMvc3VwZXJqc29uL2Rpc3QvaXMuanNcbmluaXRfZXNtX3NoaW1zKCk7XG52YXIgZ2V0VHlwZSA9IChwYXlsb2FkKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocGF5bG9hZCkuc2xpY2UoOCwgLTEpO1xudmFyIGlzVW5kZWZpbmVkID0gKHBheWxvYWQpID0+IHR5cGVvZiBwYXlsb2FkID09PSBcInVuZGVmaW5lZFwiO1xudmFyIGlzTnVsbCA9IChwYXlsb2FkKSA9PiBwYXlsb2FkID09PSBudWxsO1xudmFyIGlzUGxhaW5PYmplY3QyID0gKHBheWxvYWQpID0+IHtcbiAgaWYgKHR5cGVvZiBwYXlsb2FkICE9PSBcIm9iamVjdFwiIHx8IHBheWxvYWQgPT09IG51bGwpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAocGF5bG9hZCA9PT0gT2JqZWN0LnByb3RvdHlwZSlcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YocGF5bG9hZCkgPT09IG51bGwpXG4gICAgcmV0dXJuIHRydWU7XG4gIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YocGF5bG9hZCkgPT09IE9iamVjdC5wcm90b3R5cGU7XG59O1xudmFyIGlzRW1wdHlPYmplY3QgPSAocGF5bG9hZCkgPT4gaXNQbGFpbk9iamVjdDIocGF5bG9hZCkgJiYgT2JqZWN0LmtleXMocGF5bG9hZCkubGVuZ3RoID09PSAwO1xudmFyIGlzQXJyYXkgPSAocGF5bG9hZCkgPT4gQXJyYXkuaXNBcnJheShwYXlsb2FkKTtcbnZhciBpc1N0cmluZyA9IChwYXlsb2FkKSA9PiB0eXBlb2YgcGF5bG9hZCA9PT0gXCJzdHJpbmdcIjtcbnZhciBpc051bWJlciA9IChwYXlsb2FkKSA9PiB0eXBlb2YgcGF5bG9hZCA9PT0gXCJudW1iZXJcIiAmJiAhaXNOYU4ocGF5bG9hZCk7XG52YXIgaXNCb29sZWFuID0gKHBheWxvYWQpID0+IHR5cGVvZiBwYXlsb2FkID09PSBcImJvb2xlYW5cIjtcbnZhciBpc1JlZ0V4cCA9IChwYXlsb2FkKSA9PiBwYXlsb2FkIGluc3RhbmNlb2YgUmVnRXhwO1xudmFyIGlzTWFwID0gKHBheWxvYWQpID0+IHBheWxvYWQgaW5zdGFuY2VvZiBNYXA7XG52YXIgaXNTZXQgPSAocGF5bG9hZCkgPT4gcGF5bG9hZCBpbnN0YW5jZW9mIFNldDtcbnZhciBpc1N5bWJvbCA9IChwYXlsb2FkKSA9PiBnZXRUeXBlKHBheWxvYWQpID09PSBcIlN5bWJvbFwiO1xudmFyIGlzRGF0ZSA9IChwYXlsb2FkKSA9PiBwYXlsb2FkIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4ocGF5bG9hZC52YWx1ZU9mKCkpO1xudmFyIGlzRXJyb3IgPSAocGF5bG9hZCkgPT4gcGF5bG9hZCBpbnN0YW5jZW9mIEVycm9yO1xudmFyIGlzTmFOVmFsdWUgPSAocGF5bG9hZCkgPT4gdHlwZW9mIHBheWxvYWQgPT09IFwibnVtYmVyXCIgJiYgaXNOYU4ocGF5bG9hZCk7XG52YXIgaXNQcmltaXRpdmUyID0gKHBheWxvYWQpID0+IGlzQm9vbGVhbihwYXlsb2FkKSB8fCBpc051bGwocGF5bG9hZCkgfHwgaXNVbmRlZmluZWQocGF5bG9hZCkgfHwgaXNOdW1iZXIocGF5bG9hZCkgfHwgaXNTdHJpbmcocGF5bG9hZCkgfHwgaXNTeW1ib2wocGF5bG9hZCk7XG52YXIgaXNCaWdpbnQgPSAocGF5bG9hZCkgPT4gdHlwZW9mIHBheWxvYWQgPT09IFwiYmlnaW50XCI7XG52YXIgaXNJbmZpbml0ZSA9IChwYXlsb2FkKSA9PiBwYXlsb2FkID09PSBJbmZpbml0eSB8fCBwYXlsb2FkID09PSAtSW5maW5pdHk7XG52YXIgaXNUeXBlZEFycmF5ID0gKHBheWxvYWQpID0+IEFycmF5QnVmZmVyLmlzVmlldyhwYXlsb2FkKSAmJiAhKHBheWxvYWQgaW5zdGFuY2VvZiBEYXRhVmlldyk7XG52YXIgaXNVUkwgPSAocGF5bG9hZCkgPT4gcGF5bG9hZCBpbnN0YW5jZW9mIFVSTDtcblxuLy8gLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL3N1cGVyanNvbkAyLjIuMi9ub2RlX21vZHVsZXMvc3VwZXJqc29uL2Rpc3QvcGF0aHN0cmluZ2lmaWVyLmpzXG5pbml0X2VzbV9zaGltcygpO1xudmFyIGVzY2FwZUtleSA9IChrZXkpID0+IGtleS5yZXBsYWNlKC9cXC4vZywgXCJcXFxcLlwiKTtcbnZhciBzdHJpbmdpZnlQYXRoID0gKHBhdGgpID0+IHBhdGgubWFwKFN0cmluZykubWFwKGVzY2FwZUtleSkuam9pbihcIi5cIik7XG52YXIgcGFyc2VQYXRoID0gKHN0cmluZykgPT4ge1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgbGV0IHNlZ21lbnQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0cmluZy5sZW5ndGg7IGkrKykge1xuICAgIGxldCBjaGFyID0gc3RyaW5nLmNoYXJBdChpKTtcbiAgICBjb25zdCBpc0VzY2FwZWREb3QgPSBjaGFyID09PSBcIlxcXFxcIiAmJiBzdHJpbmcuY2hhckF0KGkgKyAxKSA9PT0gXCIuXCI7XG4gICAgaWYgKGlzRXNjYXBlZERvdCkge1xuICAgICAgc2VnbWVudCArPSBcIi5cIjtcbiAgICAgIGkrKztcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBpc0VuZE9mU2VnbWVudCA9IGNoYXIgPT09IFwiLlwiO1xuICAgIGlmIChpc0VuZE9mU2VnbWVudCkge1xuICAgICAgcmVzdWx0LnB1c2goc2VnbWVudCk7XG4gICAgICBzZWdtZW50ID0gXCJcIjtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBzZWdtZW50ICs9IGNoYXI7XG4gIH1cbiAgY29uc3QgbGFzdFNlZ21lbnQgPSBzZWdtZW50O1xuICByZXN1bHQucHVzaChsYXN0U2VnbWVudCk7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vc3VwZXJqc29uQDIuMi4yL25vZGVfbW9kdWxlcy9zdXBlcmpzb24vZGlzdC90cmFuc2Zvcm1lci5qc1xuaW5pdF9lc21fc2hpbXMoKTtcbmZ1bmN0aW9uIHNpbXBsZVRyYW5zZm9ybWF0aW9uKGlzQXBwbGljYWJsZSwgYW5ub3RhdGlvbiwgdHJhbnNmb3JtLCB1bnRyYW5zZm9ybSkge1xuICByZXR1cm4ge1xuICAgIGlzQXBwbGljYWJsZSxcbiAgICBhbm5vdGF0aW9uLFxuICAgIHRyYW5zZm9ybSxcbiAgICB1bnRyYW5zZm9ybVxuICB9O1xufVxudmFyIHNpbXBsZVJ1bGVzID0gW1xuICBzaW1wbGVUcmFuc2Zvcm1hdGlvbihpc1VuZGVmaW5lZCwgXCJ1bmRlZmluZWRcIiwgKCkgPT4gbnVsbCwgKCkgPT4gdm9pZCAwKSxcbiAgc2ltcGxlVHJhbnNmb3JtYXRpb24oaXNCaWdpbnQsIFwiYmlnaW50XCIsICh2KSA9PiB2LnRvU3RyaW5nKCksICh2KSA9PiB7XG4gICAgaWYgKHR5cGVvZiBCaWdJbnQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHJldHVybiBCaWdJbnQodik7XG4gICAgfVxuICAgIGNvbnNvbGUuZXJyb3IoXCJQbGVhc2UgYWRkIGEgQmlnSW50IHBvbHlmaWxsLlwiKTtcbiAgICByZXR1cm4gdjtcbiAgfSksXG4gIHNpbXBsZVRyYW5zZm9ybWF0aW9uKGlzRGF0ZSwgXCJEYXRlXCIsICh2KSA9PiB2LnRvSVNPU3RyaW5nKCksICh2KSA9PiBuZXcgRGF0ZSh2KSksXG4gIHNpbXBsZVRyYW5zZm9ybWF0aW9uKGlzRXJyb3IsIFwiRXJyb3JcIiwgKHYsIHN1cGVySnNvbikgPT4ge1xuICAgIGNvbnN0IGJhc2VFcnJvciA9IHtcbiAgICAgIG5hbWU6IHYubmFtZSxcbiAgICAgIG1lc3NhZ2U6IHYubWVzc2FnZVxuICAgIH07XG4gICAgc3VwZXJKc29uLmFsbG93ZWRFcnJvclByb3BzLmZvckVhY2goKHByb3ApID0+IHtcbiAgICAgIGJhc2VFcnJvcltwcm9wXSA9IHZbcHJvcF07XG4gICAgfSk7XG4gICAgcmV0dXJuIGJhc2VFcnJvcjtcbiAgfSwgKHYsIHN1cGVySnNvbikgPT4ge1xuICAgIGNvbnN0IGUgPSBuZXcgRXJyb3Iodi5tZXNzYWdlKTtcbiAgICBlLm5hbWUgPSB2Lm5hbWU7XG4gICAgZS5zdGFjayA9IHYuc3RhY2s7XG4gICAgc3VwZXJKc29uLmFsbG93ZWRFcnJvclByb3BzLmZvckVhY2goKHByb3ApID0+IHtcbiAgICAgIGVbcHJvcF0gPSB2W3Byb3BdO1xuICAgIH0pO1xuICAgIHJldHVybiBlO1xuICB9KSxcbiAgc2ltcGxlVHJhbnNmb3JtYXRpb24oaXNSZWdFeHAsIFwicmVnZXhwXCIsICh2KSA9PiBcIlwiICsgdiwgKHJlZ2V4KSA9PiB7XG4gICAgY29uc3QgYm9keSA9IHJlZ2V4LnNsaWNlKDEsIHJlZ2V4Lmxhc3RJbmRleE9mKFwiL1wiKSk7XG4gICAgY29uc3QgZmxhZ3MgPSByZWdleC5zbGljZShyZWdleC5sYXN0SW5kZXhPZihcIi9cIikgKyAxKTtcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChib2R5LCBmbGFncyk7XG4gIH0pLFxuICBzaW1wbGVUcmFuc2Zvcm1hdGlvbihcbiAgICBpc1NldCxcbiAgICBcInNldFwiLFxuICAgIC8vIChzZXRzIG9ubHkgZXhpc3QgaW4gZXM2KylcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXM1L25vLWVzNi1tZXRob2RzXG4gICAgKHYpID0+IFsuLi52LnZhbHVlcygpXSxcbiAgICAodikgPT4gbmV3IFNldCh2KVxuICApLFxuICBzaW1wbGVUcmFuc2Zvcm1hdGlvbihpc01hcCwgXCJtYXBcIiwgKHYpID0+IFsuLi52LmVudHJpZXMoKV0sICh2KSA9PiBuZXcgTWFwKHYpKSxcbiAgc2ltcGxlVHJhbnNmb3JtYXRpb24oKHYpID0+IGlzTmFOVmFsdWUodikgfHwgaXNJbmZpbml0ZSh2KSwgXCJudW1iZXJcIiwgKHYpID0+IHtcbiAgICBpZiAoaXNOYU5WYWx1ZSh2KSkge1xuICAgICAgcmV0dXJuIFwiTmFOXCI7XG4gICAgfVxuICAgIGlmICh2ID4gMCkge1xuICAgICAgcmV0dXJuIFwiSW5maW5pdHlcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwiLUluZmluaXR5XCI7XG4gICAgfVxuICB9LCBOdW1iZXIpLFxuICBzaW1wbGVUcmFuc2Zvcm1hdGlvbigodikgPT4gdiA9PT0gMCAmJiAxIC8gdiA9PT0gLUluZmluaXR5LCBcIm51bWJlclwiLCAoKSA9PiB7XG4gICAgcmV0dXJuIFwiLTBcIjtcbiAgfSwgTnVtYmVyKSxcbiAgc2ltcGxlVHJhbnNmb3JtYXRpb24oaXNVUkwsIFwiVVJMXCIsICh2KSA9PiB2LnRvU3RyaW5nKCksICh2KSA9PiBuZXcgVVJMKHYpKVxuXTtcbmZ1bmN0aW9uIGNvbXBvc2l0ZVRyYW5zZm9ybWF0aW9uKGlzQXBwbGljYWJsZSwgYW5ub3RhdGlvbiwgdHJhbnNmb3JtLCB1bnRyYW5zZm9ybSkge1xuICByZXR1cm4ge1xuICAgIGlzQXBwbGljYWJsZSxcbiAgICBhbm5vdGF0aW9uLFxuICAgIHRyYW5zZm9ybSxcbiAgICB1bnRyYW5zZm9ybVxuICB9O1xufVxudmFyIHN5bWJvbFJ1bGUgPSBjb21wb3NpdGVUcmFuc2Zvcm1hdGlvbigocywgc3VwZXJKc29uKSA9PiB7XG4gIGlmIChpc1N5bWJvbChzKSkge1xuICAgIGNvbnN0IGlzUmVnaXN0ZXJlZCA9ICEhc3VwZXJKc29uLnN5bWJvbFJlZ2lzdHJ5LmdldElkZW50aWZpZXIocyk7XG4gICAgcmV0dXJuIGlzUmVnaXN0ZXJlZDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59LCAocywgc3VwZXJKc29uKSA9PiB7XG4gIGNvbnN0IGlkZW50aWZpZXIgPSBzdXBlckpzb24uc3ltYm9sUmVnaXN0cnkuZ2V0SWRlbnRpZmllcihzKTtcbiAgcmV0dXJuIFtcInN5bWJvbFwiLCBpZGVudGlmaWVyXTtcbn0sICh2KSA9PiB2LmRlc2NyaXB0aW9uLCAoXywgYSwgc3VwZXJKc29uKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gc3VwZXJKc29uLnN5bWJvbFJlZ2lzdHJ5LmdldFZhbHVlKGFbMV0pO1xuICBpZiAoIXZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVHJ5aW5nIHRvIGRlc2VyaWFsaXplIHVua25vd24gc3ltYm9sXCIpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn0pO1xudmFyIGNvbnN0cnVjdG9yVG9OYW1lID0gW1xuICBJbnQ4QXJyYXksXG4gIFVpbnQ4QXJyYXksXG4gIEludDE2QXJyYXksXG4gIFVpbnQxNkFycmF5LFxuICBJbnQzMkFycmF5LFxuICBVaW50MzJBcnJheSxcbiAgRmxvYXQzMkFycmF5LFxuICBGbG9hdDY0QXJyYXksXG4gIFVpbnQ4Q2xhbXBlZEFycmF5XG5dLnJlZHVjZSgob2JqLCBjdG9yKSA9PiB7XG4gIG9ialtjdG9yLm5hbWVdID0gY3RvcjtcbiAgcmV0dXJuIG9iajtcbn0sIHt9KTtcbnZhciB0eXBlZEFycmF5UnVsZSA9IGNvbXBvc2l0ZVRyYW5zZm9ybWF0aW9uKGlzVHlwZWRBcnJheSwgKHYpID0+IFtcInR5cGVkLWFycmF5XCIsIHYuY29uc3RydWN0b3IubmFtZV0sICh2KSA9PiBbLi4udl0sICh2LCBhKSA9PiB7XG4gIGNvbnN0IGN0b3IgPSBjb25zdHJ1Y3RvclRvTmFtZVthWzFdXTtcbiAgaWYgKCFjdG9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVHJ5aW5nIHRvIGRlc2VyaWFsaXplIHVua25vd24gdHlwZWQgYXJyYXlcIik7XG4gIH1cbiAgcmV0dXJuIG5ldyBjdG9yKHYpO1xufSk7XG5mdW5jdGlvbiBpc0luc3RhbmNlT2ZSZWdpc3RlcmVkQ2xhc3MocG90ZW50aWFsQ2xhc3MsIHN1cGVySnNvbikge1xuICBpZiAocG90ZW50aWFsQ2xhc3MgPT0gbnVsbCA/IHZvaWQgMCA6IHBvdGVudGlhbENsYXNzLmNvbnN0cnVjdG9yKSB7XG4gICAgY29uc3QgaXNSZWdpc3RlcmVkID0gISFzdXBlckpzb24uY2xhc3NSZWdpc3RyeS5nZXRJZGVudGlmaWVyKHBvdGVudGlhbENsYXNzLmNvbnN0cnVjdG9yKTtcbiAgICByZXR1cm4gaXNSZWdpc3RlcmVkO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbnZhciBjbGFzc1J1bGUgPSBjb21wb3NpdGVUcmFuc2Zvcm1hdGlvbihpc0luc3RhbmNlT2ZSZWdpc3RlcmVkQ2xhc3MsIChjbGF6eiwgc3VwZXJKc29uKSA9PiB7XG4gIGNvbnN0IGlkZW50aWZpZXIgPSBzdXBlckpzb24uY2xhc3NSZWdpc3RyeS5nZXRJZGVudGlmaWVyKGNsYXp6LmNvbnN0cnVjdG9yKTtcbiAgcmV0dXJuIFtcImNsYXNzXCIsIGlkZW50aWZpZXJdO1xufSwgKGNsYXp6LCBzdXBlckpzb24pID0+IHtcbiAgY29uc3QgYWxsb3dlZFByb3BzID0gc3VwZXJKc29uLmNsYXNzUmVnaXN0cnkuZ2V0QWxsb3dlZFByb3BzKGNsYXp6LmNvbnN0cnVjdG9yKTtcbiAgaWYgKCFhbGxvd2VkUHJvcHMpIHtcbiAgICByZXR1cm4geyAuLi5jbGF6eiB9O1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHt9O1xuICBhbGxvd2VkUHJvcHMuZm9yRWFjaCgocHJvcCkgPT4ge1xuICAgIHJlc3VsdFtwcm9wXSA9IGNsYXp6W3Byb3BdO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn0sICh2LCBhLCBzdXBlckpzb24pID0+IHtcbiAgY29uc3QgY2xhenogPSBzdXBlckpzb24uY2xhc3NSZWdpc3RyeS5nZXRWYWx1ZShhWzFdKTtcbiAgaWYgKCFjbGF6eikge1xuICAgIHRocm93IG5ldyBFcnJvcihgVHJ5aW5nIHRvIGRlc2VyaWFsaXplIHVua25vd24gY2xhc3MgJyR7YVsxXX0nIC0gY2hlY2sgaHR0cHM6Ly9naXRodWIuY29tL2JsaXR6LWpzL3N1cGVyanNvbi9pc3N1ZXMvMTE2I2lzc3VlY29tbWVudC03NzM5OTY1NjRgKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGNsYXp6LnByb3RvdHlwZSksIHYpO1xufSk7XG52YXIgY3VzdG9tUnVsZSA9IGNvbXBvc2l0ZVRyYW5zZm9ybWF0aW9uKCh2YWx1ZSwgc3VwZXJKc29uKSA9PiB7XG4gIHJldHVybiAhIXN1cGVySnNvbi5jdXN0b21UcmFuc2Zvcm1lclJlZ2lzdHJ5LmZpbmRBcHBsaWNhYmxlKHZhbHVlKTtcbn0sICh2YWx1ZSwgc3VwZXJKc29uKSA9PiB7XG4gIGNvbnN0IHRyYW5zZm9ybWVyID0gc3VwZXJKc29uLmN1c3RvbVRyYW5zZm9ybWVyUmVnaXN0cnkuZmluZEFwcGxpY2FibGUodmFsdWUpO1xuICByZXR1cm4gW1wiY3VzdG9tXCIsIHRyYW5zZm9ybWVyLm5hbWVdO1xufSwgKHZhbHVlLCBzdXBlckpzb24pID0+IHtcbiAgY29uc3QgdHJhbnNmb3JtZXIgPSBzdXBlckpzb24uY3VzdG9tVHJhbnNmb3JtZXJSZWdpc3RyeS5maW5kQXBwbGljYWJsZSh2YWx1ZSk7XG4gIHJldHVybiB0cmFuc2Zvcm1lci5zZXJpYWxpemUodmFsdWUpO1xufSwgKHYsIGEsIHN1cGVySnNvbikgPT4ge1xuICBjb25zdCB0cmFuc2Zvcm1lciA9IHN1cGVySnNvbi5jdXN0b21UcmFuc2Zvcm1lclJlZ2lzdHJ5LmZpbmRCeU5hbWUoYVsxXSk7XG4gIGlmICghdHJhbnNmb3JtZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJUcnlpbmcgdG8gZGVzZXJpYWxpemUgdW5rbm93biBjdXN0b20gdmFsdWVcIik7XG4gIH1cbiAgcmV0dXJuIHRyYW5zZm9ybWVyLmRlc2VyaWFsaXplKHYpO1xufSk7XG52YXIgY29tcG9zaXRlUnVsZXMgPSBbY2xhc3NSdWxlLCBzeW1ib2xSdWxlLCBjdXN0b21SdWxlLCB0eXBlZEFycmF5UnVsZV07XG52YXIgdHJhbnNmb3JtVmFsdWUgPSAodmFsdWUsIHN1cGVySnNvbikgPT4ge1xuICBjb25zdCBhcHBsaWNhYmxlQ29tcG9zaXRlUnVsZSA9IGZpbmRBcnIoY29tcG9zaXRlUnVsZXMsIChydWxlKSA9PiBydWxlLmlzQXBwbGljYWJsZSh2YWx1ZSwgc3VwZXJKc29uKSk7XG4gIGlmIChhcHBsaWNhYmxlQ29tcG9zaXRlUnVsZSkge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogYXBwbGljYWJsZUNvbXBvc2l0ZVJ1bGUudHJhbnNmb3JtKHZhbHVlLCBzdXBlckpzb24pLFxuICAgICAgdHlwZTogYXBwbGljYWJsZUNvbXBvc2l0ZVJ1bGUuYW5ub3RhdGlvbih2YWx1ZSwgc3VwZXJKc29uKVxuICAgIH07XG4gIH1cbiAgY29uc3QgYXBwbGljYWJsZVNpbXBsZVJ1bGUgPSBmaW5kQXJyKHNpbXBsZVJ1bGVzLCAocnVsZSkgPT4gcnVsZS5pc0FwcGxpY2FibGUodmFsdWUsIHN1cGVySnNvbikpO1xuICBpZiAoYXBwbGljYWJsZVNpbXBsZVJ1bGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IGFwcGxpY2FibGVTaW1wbGVSdWxlLnRyYW5zZm9ybSh2YWx1ZSwgc3VwZXJKc29uKSxcbiAgICAgIHR5cGU6IGFwcGxpY2FibGVTaW1wbGVSdWxlLmFubm90YXRpb25cbiAgICB9O1xuICB9XG4gIHJldHVybiB2b2lkIDA7XG59O1xudmFyIHNpbXBsZVJ1bGVzQnlBbm5vdGF0aW9uID0ge307XG5zaW1wbGVSdWxlcy5mb3JFYWNoKChydWxlKSA9PiB7XG4gIHNpbXBsZVJ1bGVzQnlBbm5vdGF0aW9uW3J1bGUuYW5ub3RhdGlvbl0gPSBydWxlO1xufSk7XG52YXIgdW50cmFuc2Zvcm1WYWx1ZSA9IChqc29uLCB0eXBlLCBzdXBlckpzb24pID0+IHtcbiAgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICBzd2l0Y2ggKHR5cGVbMF0pIHtcbiAgICAgIGNhc2UgXCJzeW1ib2xcIjpcbiAgICAgICAgcmV0dXJuIHN5bWJvbFJ1bGUudW50cmFuc2Zvcm0oanNvbiwgdHlwZSwgc3VwZXJKc29uKTtcbiAgICAgIGNhc2UgXCJjbGFzc1wiOlxuICAgICAgICByZXR1cm4gY2xhc3NSdWxlLnVudHJhbnNmb3JtKGpzb24sIHR5cGUsIHN1cGVySnNvbik7XG4gICAgICBjYXNlIFwiY3VzdG9tXCI6XG4gICAgICAgIHJldHVybiBjdXN0b21SdWxlLnVudHJhbnNmb3JtKGpzb24sIHR5cGUsIHN1cGVySnNvbik7XG4gICAgICBjYXNlIFwidHlwZWQtYXJyYXlcIjpcbiAgICAgICAgcmV0dXJuIHR5cGVkQXJyYXlSdWxlLnVudHJhbnNmb3JtKGpzb24sIHR5cGUsIHN1cGVySnNvbik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIHRyYW5zZm9ybWF0aW9uOiBcIiArIHR5cGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0cmFuc2Zvcm1hdGlvbiA9IHNpbXBsZVJ1bGVzQnlBbm5vdGF0aW9uW3R5cGVdO1xuICAgIGlmICghdHJhbnNmb3JtYXRpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gdHJhbnNmb3JtYXRpb246IFwiICsgdHlwZSk7XG4gICAgfVxuICAgIHJldHVybiB0cmFuc2Zvcm1hdGlvbi51bnRyYW5zZm9ybShqc29uLCBzdXBlckpzb24pO1xuICB9XG59O1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vc3VwZXJqc29uQDIuMi4yL25vZGVfbW9kdWxlcy9zdXBlcmpzb24vZGlzdC9hY2Nlc3NEZWVwLmpzXG5pbml0X2VzbV9zaGltcygpO1xudmFyIGdldE50aEtleSA9ICh2YWx1ZSwgbikgPT4ge1xuICBpZiAobiA+IHZhbHVlLnNpemUpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiaW5kZXggb3V0IG9mIGJvdW5kc1wiKTtcbiAgY29uc3Qga2V5cyA9IHZhbHVlLmtleXMoKTtcbiAgd2hpbGUgKG4gPiAwKSB7XG4gICAga2V5cy5uZXh0KCk7XG4gICAgbi0tO1xuICB9XG4gIHJldHVybiBrZXlzLm5leHQoKS52YWx1ZTtcbn07XG5mdW5jdGlvbiB2YWxpZGF0ZVBhdGgocGF0aCkge1xuICBpZiAoaW5jbHVkZXMocGF0aCwgXCJfX3Byb3RvX19cIikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJfX3Byb3RvX18gaXMgbm90IGFsbG93ZWQgYXMgYSBwcm9wZXJ0eVwiKTtcbiAgfVxuICBpZiAoaW5jbHVkZXMocGF0aCwgXCJwcm90b3R5cGVcIikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJwcm90b3R5cGUgaXMgbm90IGFsbG93ZWQgYXMgYSBwcm9wZXJ0eVwiKTtcbiAgfVxuICBpZiAoaW5jbHVkZXMocGF0aCwgXCJjb25zdHJ1Y3RvclwiKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImNvbnN0cnVjdG9yIGlzIG5vdCBhbGxvd2VkIGFzIGEgcHJvcGVydHlcIik7XG4gIH1cbn1cbnZhciBnZXREZWVwID0gKG9iamVjdCwgcGF0aCkgPT4ge1xuICB2YWxpZGF0ZVBhdGgocGF0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGtleSA9IHBhdGhbaV07XG4gICAgaWYgKGlzU2V0KG9iamVjdCkpIHtcbiAgICAgIG9iamVjdCA9IGdldE50aEtleShvYmplY3QsICtrZXkpO1xuICAgIH0gZWxzZSBpZiAoaXNNYXAob2JqZWN0KSkge1xuICAgICAgY29uc3Qgcm93ID0gK2tleTtcbiAgICAgIGNvbnN0IHR5cGUgPSArcGF0aFsrK2ldID09PSAwID8gXCJrZXlcIiA6IFwidmFsdWVcIjtcbiAgICAgIGNvbnN0IGtleU9mUm93ID0gZ2V0TnRoS2V5KG9iamVjdCwgcm93KTtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFwia2V5XCI6XG4gICAgICAgICAgb2JqZWN0ID0ga2V5T2ZSb3c7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJ2YWx1ZVwiOlxuICAgICAgICAgIG9iamVjdCA9IG9iamVjdC5nZXQoa2V5T2ZSb3cpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvYmplY3QgPSBvYmplY3Rba2V5XTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9iamVjdDtcbn07XG52YXIgc2V0RGVlcCA9IChvYmplY3QsIHBhdGgsIG1hcHBlcikgPT4ge1xuICB2YWxpZGF0ZVBhdGgocGF0aCk7XG4gIGlmIChwYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBwZXIob2JqZWN0KTtcbiAgfVxuICBsZXQgcGFyZW50ID0gb2JqZWN0O1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGgubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgY29uc3Qga2V5ID0gcGF0aFtpXTtcbiAgICBpZiAoaXNBcnJheShwYXJlbnQpKSB7XG4gICAgICBjb25zdCBpbmRleCA9ICtrZXk7XG4gICAgICBwYXJlbnQgPSBwYXJlbnRbaW5kZXhdO1xuICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdDIocGFyZW50KSkge1xuICAgICAgcGFyZW50ID0gcGFyZW50W2tleV07XG4gICAgfSBlbHNlIGlmIChpc1NldChwYXJlbnQpKSB7XG4gICAgICBjb25zdCByb3cgPSAra2V5O1xuICAgICAgcGFyZW50ID0gZ2V0TnRoS2V5KHBhcmVudCwgcm93KTtcbiAgICB9IGVsc2UgaWYgKGlzTWFwKHBhcmVudCkpIHtcbiAgICAgIGNvbnN0IGlzRW5kID0gaSA9PT0gcGF0aC5sZW5ndGggLSAyO1xuICAgICAgaWYgKGlzRW5kKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY29uc3Qgcm93ID0gK2tleTtcbiAgICAgIGNvbnN0IHR5cGUgPSArcGF0aFsrK2ldID09PSAwID8gXCJrZXlcIiA6IFwidmFsdWVcIjtcbiAgICAgIGNvbnN0IGtleU9mUm93ID0gZ2V0TnRoS2V5KHBhcmVudCwgcm93KTtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFwia2V5XCI6XG4gICAgICAgICAgcGFyZW50ID0ga2V5T2ZSb3c7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJ2YWx1ZVwiOlxuICAgICAgICAgIHBhcmVudCA9IHBhcmVudC5nZXQoa2V5T2ZSb3cpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBjb25zdCBsYXN0S2V5ID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdO1xuICBpZiAoaXNBcnJheShwYXJlbnQpKSB7XG4gICAgcGFyZW50WytsYXN0S2V5XSA9IG1hcHBlcihwYXJlbnRbK2xhc3RLZXldKTtcbiAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0MihwYXJlbnQpKSB7XG4gICAgcGFyZW50W2xhc3RLZXldID0gbWFwcGVyKHBhcmVudFtsYXN0S2V5XSk7XG4gIH1cbiAgaWYgKGlzU2V0KHBhcmVudCkpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IGdldE50aEtleShwYXJlbnQsICtsYXN0S2V5KTtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG1hcHBlcihvbGRWYWx1ZSk7XG4gICAgaWYgKG9sZFZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgcGFyZW50LmRlbGV0ZShvbGRWYWx1ZSk7XG4gICAgICBwYXJlbnQuYWRkKG5ld1ZhbHVlKTtcbiAgICB9XG4gIH1cbiAgaWYgKGlzTWFwKHBhcmVudCkpIHtcbiAgICBjb25zdCByb3cgPSArcGF0aFtwYXRoLmxlbmd0aCAtIDJdO1xuICAgIGNvbnN0IGtleVRvUm93ID0gZ2V0TnRoS2V5KHBhcmVudCwgcm93KTtcbiAgICBjb25zdCB0eXBlID0gK2xhc3RLZXkgPT09IDAgPyBcImtleVwiIDogXCJ2YWx1ZVwiO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcImtleVwiOiB7XG4gICAgICAgIGNvbnN0IG5ld0tleSA9IG1hcHBlcihrZXlUb1Jvdyk7XG4gICAgICAgIHBhcmVudC5zZXQobmV3S2V5LCBwYXJlbnQuZ2V0KGtleVRvUm93KSk7XG4gICAgICAgIGlmIChuZXdLZXkgIT09IGtleVRvUm93KSB7XG4gICAgICAgICAgcGFyZW50LmRlbGV0ZShrZXlUb1Jvdyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFwidmFsdWVcIjoge1xuICAgICAgICBwYXJlbnQuc2V0KGtleVRvUm93LCBtYXBwZXIocGFyZW50LmdldChrZXlUb1JvdykpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBvYmplY3Q7XG59O1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vc3VwZXJqc29uQDIuMi4yL25vZGVfbW9kdWxlcy9zdXBlcmpzb24vZGlzdC9wbGFpbmVyLmpzXG5mdW5jdGlvbiB0cmF2ZXJzZSh0cmVlLCB3YWxrZXIyLCBvcmlnaW4gPSBbXSkge1xuICBpZiAoIXRyZWUpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKCFpc0FycmF5KHRyZWUpKSB7XG4gICAgZm9yRWFjaCh0cmVlLCAoc3VidHJlZSwga2V5KSA9PiB0cmF2ZXJzZShzdWJ0cmVlLCB3YWxrZXIyLCBbLi4ub3JpZ2luLCAuLi5wYXJzZVBhdGgoa2V5KV0pKTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgW25vZGVWYWx1ZSwgY2hpbGRyZW5dID0gdHJlZTtcbiAgaWYgKGNoaWxkcmVuKSB7XG4gICAgZm9yRWFjaChjaGlsZHJlbiwgKGNoaWxkLCBrZXkpID0+IHtcbiAgICAgIHRyYXZlcnNlKGNoaWxkLCB3YWxrZXIyLCBbLi4ub3JpZ2luLCAuLi5wYXJzZVBhdGgoa2V5KV0pO1xuICAgIH0pO1xuICB9XG4gIHdhbGtlcjIobm9kZVZhbHVlLCBvcmlnaW4pO1xufVxuZnVuY3Rpb24gYXBwbHlWYWx1ZUFubm90YXRpb25zKHBsYWluLCBhbm5vdGF0aW9ucywgc3VwZXJKc29uKSB7XG4gIHRyYXZlcnNlKGFubm90YXRpb25zLCAodHlwZSwgcGF0aCkgPT4ge1xuICAgIHBsYWluID0gc2V0RGVlcChwbGFpbiwgcGF0aCwgKHYpID0+IHVudHJhbnNmb3JtVmFsdWUodiwgdHlwZSwgc3VwZXJKc29uKSk7XG4gIH0pO1xuICByZXR1cm4gcGxhaW47XG59XG5mdW5jdGlvbiBhcHBseVJlZmVyZW50aWFsRXF1YWxpdHlBbm5vdGF0aW9ucyhwbGFpbiwgYW5ub3RhdGlvbnMpIHtcbiAgZnVuY3Rpb24gYXBwbHkoaWRlbnRpY2FsUGF0aHMsIHBhdGgpIHtcbiAgICBjb25zdCBvYmplY3QgPSBnZXREZWVwKHBsYWluLCBwYXJzZVBhdGgocGF0aCkpO1xuICAgIGlkZW50aWNhbFBhdGhzLm1hcChwYXJzZVBhdGgpLmZvckVhY2goKGlkZW50aWNhbE9iamVjdFBhdGgpID0+IHtcbiAgICAgIHBsYWluID0gc2V0RGVlcChwbGFpbiwgaWRlbnRpY2FsT2JqZWN0UGF0aCwgKCkgPT4gb2JqZWN0KTtcbiAgICB9KTtcbiAgfVxuICBpZiAoaXNBcnJheShhbm5vdGF0aW9ucykpIHtcbiAgICBjb25zdCBbcm9vdCwgb3RoZXJdID0gYW5ub3RhdGlvbnM7XG4gICAgcm9vdC5mb3JFYWNoKChpZGVudGljYWxQYXRoKSA9PiB7XG4gICAgICBwbGFpbiA9IHNldERlZXAocGxhaW4sIHBhcnNlUGF0aChpZGVudGljYWxQYXRoKSwgKCkgPT4gcGxhaW4pO1xuICAgIH0pO1xuICAgIGlmIChvdGhlcikge1xuICAgICAgZm9yRWFjaChvdGhlciwgYXBwbHkpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3JFYWNoKGFubm90YXRpb25zLCBhcHBseSk7XG4gIH1cbiAgcmV0dXJuIHBsYWluO1xufVxudmFyIGlzRGVlcCA9IChvYmplY3QsIHN1cGVySnNvbikgPT4gaXNQbGFpbk9iamVjdDIob2JqZWN0KSB8fCBpc0FycmF5KG9iamVjdCkgfHwgaXNNYXAob2JqZWN0KSB8fCBpc1NldChvYmplY3QpIHx8IGlzSW5zdGFuY2VPZlJlZ2lzdGVyZWRDbGFzcyhvYmplY3QsIHN1cGVySnNvbik7XG5mdW5jdGlvbiBhZGRJZGVudGl0eShvYmplY3QsIHBhdGgsIGlkZW50aXRpZXMpIHtcbiAgY29uc3QgZXhpc3RpbmdTZXQgPSBpZGVudGl0aWVzLmdldChvYmplY3QpO1xuICBpZiAoZXhpc3RpbmdTZXQpIHtcbiAgICBleGlzdGluZ1NldC5wdXNoKHBhdGgpO1xuICB9IGVsc2Uge1xuICAgIGlkZW50aXRpZXMuc2V0KG9iamVjdCwgW3BhdGhdKTtcbiAgfVxufVxuZnVuY3Rpb24gZ2VuZXJhdGVSZWZlcmVudGlhbEVxdWFsaXR5QW5ub3RhdGlvbnMoaWRlbnRpdGl0ZXMsIGRlZHVwZSkge1xuICBjb25zdCByZXN1bHQgPSB7fTtcbiAgbGV0IHJvb3RFcXVhbGl0eVBhdGhzID0gdm9pZCAwO1xuICBpZGVudGl0aXRlcy5mb3JFYWNoKChwYXRocykgPT4ge1xuICAgIGlmIChwYXRocy5sZW5ndGggPD0gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWRlZHVwZSkge1xuICAgICAgcGF0aHMgPSBwYXRocy5tYXAoKHBhdGgpID0+IHBhdGgubWFwKFN0cmluZykpLnNvcnQoKGEsIGIpID0+IGEubGVuZ3RoIC0gYi5sZW5ndGgpO1xuICAgIH1cbiAgICBjb25zdCBbcmVwcmVzZW50YXRpdmVQYXRoLCAuLi5pZGVudGljYWxQYXRoc10gPSBwYXRocztcbiAgICBpZiAocmVwcmVzZW50YXRpdmVQYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcm9vdEVxdWFsaXR5UGF0aHMgPSBpZGVudGljYWxQYXRocy5tYXAoc3RyaW5naWZ5UGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtzdHJpbmdpZnlQYXRoKHJlcHJlc2VudGF0aXZlUGF0aCldID0gaWRlbnRpY2FsUGF0aHMubWFwKHN0cmluZ2lmeVBhdGgpO1xuICAgIH1cbiAgfSk7XG4gIGlmIChyb290RXF1YWxpdHlQYXRocykge1xuICAgIGlmIChpc0VtcHR5T2JqZWN0KHJlc3VsdCkpIHtcbiAgICAgIHJldHVybiBbcm9vdEVxdWFsaXR5UGF0aHNdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW3Jvb3RFcXVhbGl0eVBhdGhzLCByZXN1bHRdO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaXNFbXB0eU9iamVjdChyZXN1bHQpID8gdm9pZCAwIDogcmVzdWx0O1xuICB9XG59XG52YXIgd2Fsa2VyID0gKG9iamVjdCwgaWRlbnRpdGllcywgc3VwZXJKc29uLCBkZWR1cGUsIHBhdGggPSBbXSwgb2JqZWN0c0luVGhpc1BhdGggPSBbXSwgc2Vlbk9iamVjdHMgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpKSA9PiB7XG4gIHZhciBfYTI1O1xuICBjb25zdCBwcmltaXRpdmUgPSBpc1ByaW1pdGl2ZTIob2JqZWN0KTtcbiAgaWYgKCFwcmltaXRpdmUpIHtcbiAgICBhZGRJZGVudGl0eShvYmplY3QsIHBhdGgsIGlkZW50aXRpZXMpO1xuICAgIGNvbnN0IHNlZW4gPSBzZWVuT2JqZWN0cy5nZXQob2JqZWN0KTtcbiAgICBpZiAoc2Vlbikge1xuICAgICAgcmV0dXJuIGRlZHVwZSA/IHtcbiAgICAgICAgdHJhbnNmb3JtZWRWYWx1ZTogbnVsbFxuICAgICAgfSA6IHNlZW47XG4gICAgfVxuICB9XG4gIGlmICghaXNEZWVwKG9iamVjdCwgc3VwZXJKc29uKSkge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkMiA9IHRyYW5zZm9ybVZhbHVlKG9iamVjdCwgc3VwZXJKc29uKTtcbiAgICBjb25zdCByZXN1bHQyID0gdHJhbnNmb3JtZWQyID8ge1xuICAgICAgdHJhbnNmb3JtZWRWYWx1ZTogdHJhbnNmb3JtZWQyLnZhbHVlLFxuICAgICAgYW5ub3RhdGlvbnM6IFt0cmFuc2Zvcm1lZDIudHlwZV1cbiAgICB9IDoge1xuICAgICAgdHJhbnNmb3JtZWRWYWx1ZTogb2JqZWN0XG4gICAgfTtcbiAgICBpZiAoIXByaW1pdGl2ZSkge1xuICAgICAgc2Vlbk9iamVjdHMuc2V0KG9iamVjdCwgcmVzdWx0Mik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQyO1xuICB9XG4gIGlmIChpbmNsdWRlcyhvYmplY3RzSW5UaGlzUGF0aCwgb2JqZWN0KSkge1xuICAgIHJldHVybiB7XG4gICAgICB0cmFuc2Zvcm1lZFZhbHVlOiBudWxsXG4gICAgfTtcbiAgfVxuICBjb25zdCB0cmFuc2Zvcm1hdGlvblJlc3VsdCA9IHRyYW5zZm9ybVZhbHVlKG9iamVjdCwgc3VwZXJKc29uKTtcbiAgY29uc3QgdHJhbnNmb3JtZWQgPSAoX2EyNSA9IHRyYW5zZm9ybWF0aW9uUmVzdWx0ID09IG51bGwgPyB2b2lkIDAgOiB0cmFuc2Zvcm1hdGlvblJlc3VsdC52YWx1ZSkgIT0gbnVsbCA/IF9hMjUgOiBvYmplY3Q7XG4gIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWUgPSBpc0FycmF5KHRyYW5zZm9ybWVkKSA/IFtdIDoge307XG4gIGNvbnN0IGlubmVyQW5ub3RhdGlvbnMgPSB7fTtcbiAgZm9yRWFjaCh0cmFuc2Zvcm1lZCwgKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gXCJfX3Byb3RvX19cIiB8fCBpbmRleCA9PT0gXCJjb25zdHJ1Y3RvclwiIHx8IGluZGV4ID09PSBcInByb3RvdHlwZVwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYERldGVjdGVkIHByb3BlcnR5ICR7aW5kZXh9LiBUaGlzIGlzIGEgcHJvdG90eXBlIHBvbGx1dGlvbiByaXNrLCBwbGVhc2UgcmVtb3ZlIGl0IGZyb20geW91ciBvYmplY3QuYCk7XG4gICAgfVxuICAgIGNvbnN0IHJlY3Vyc2l2ZVJlc3VsdCA9IHdhbGtlcih2YWx1ZSwgaWRlbnRpdGllcywgc3VwZXJKc29uLCBkZWR1cGUsIFsuLi5wYXRoLCBpbmRleF0sIFsuLi5vYmplY3RzSW5UaGlzUGF0aCwgb2JqZWN0XSwgc2Vlbk9iamVjdHMpO1xuICAgIHRyYW5zZm9ybWVkVmFsdWVbaW5kZXhdID0gcmVjdXJzaXZlUmVzdWx0LnRyYW5zZm9ybWVkVmFsdWU7XG4gICAgaWYgKGlzQXJyYXkocmVjdXJzaXZlUmVzdWx0LmFubm90YXRpb25zKSkge1xuICAgICAgaW5uZXJBbm5vdGF0aW9uc1tpbmRleF0gPSByZWN1cnNpdmVSZXN1bHQuYW5ub3RhdGlvbnM7XG4gICAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0MihyZWN1cnNpdmVSZXN1bHQuYW5ub3RhdGlvbnMpKSB7XG4gICAgICBmb3JFYWNoKHJlY3Vyc2l2ZVJlc3VsdC5hbm5vdGF0aW9ucywgKHRyZWUsIGtleSkgPT4ge1xuICAgICAgICBpbm5lckFubm90YXRpb25zW2VzY2FwZUtleShpbmRleCkgKyBcIi5cIiArIGtleV0gPSB0cmVlO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbiAgY29uc3QgcmVzdWx0ID0gaXNFbXB0eU9iamVjdChpbm5lckFubm90YXRpb25zKSA/IHtcbiAgICB0cmFuc2Zvcm1lZFZhbHVlLFxuICAgIGFubm90YXRpb25zOiAhIXRyYW5zZm9ybWF0aW9uUmVzdWx0ID8gW3RyYW5zZm9ybWF0aW9uUmVzdWx0LnR5cGVdIDogdm9pZCAwXG4gIH0gOiB7XG4gICAgdHJhbnNmb3JtZWRWYWx1ZSxcbiAgICBhbm5vdGF0aW9uczogISF0cmFuc2Zvcm1hdGlvblJlc3VsdCA/IFt0cmFuc2Zvcm1hdGlvblJlc3VsdC50eXBlLCBpbm5lckFubm90YXRpb25zXSA6IGlubmVyQW5ub3RhdGlvbnNcbiAgfTtcbiAgaWYgKCFwcmltaXRpdmUpIHtcbiAgICBzZWVuT2JqZWN0cy5zZXQob2JqZWN0LCByZXN1bHQpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vY29weS1hbnl0aGluZ0AzLjAuNS9ub2RlX21vZHVsZXMvY29weS1hbnl0aGluZy9kaXN0L2luZGV4LmpzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyAuLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vaXMtd2hhdEA0LjEuMTYvbm9kZV9tb2R1bGVzL2lzLXdoYXQvZGlzdC9pbmRleC5qc1xuaW5pdF9lc21fc2hpbXMoKTtcbmZ1bmN0aW9uIGdldFR5cGUyKHBheWxvYWQpIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwYXlsb2FkKS5zbGljZSg4LCAtMSk7XG59XG5mdW5jdGlvbiBpc0FycmF5MihwYXlsb2FkKSB7XG4gIHJldHVybiBnZXRUeXBlMihwYXlsb2FkKSA9PT0gXCJBcnJheVwiO1xufVxuZnVuY3Rpb24gaXNQbGFpbk9iamVjdDMocGF5bG9hZCkge1xuICBpZiAoZ2V0VHlwZTIocGF5bG9hZCkgIT09IFwiT2JqZWN0XCIpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocGF5bG9hZCk7XG4gIHJldHVybiAhIXByb3RvdHlwZSAmJiBwcm90b3R5cGUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBwcm90b3R5cGUgPT09IE9iamVjdC5wcm90b3R5cGU7XG59XG5mdW5jdGlvbiBpc051bGwyKHBheWxvYWQpIHtcbiAgcmV0dXJuIGdldFR5cGUyKHBheWxvYWQpID09PSBcIk51bGxcIjtcbn1cbmZ1bmN0aW9uIGlzT25lT2YoYSwgYiwgYywgZCwgZSkge1xuICByZXR1cm4gKHZhbHVlKSA9PiBhKHZhbHVlKSB8fCBiKHZhbHVlKSB8fCAhIWMgJiYgYyh2YWx1ZSkgfHwgISFkICYmIGQodmFsdWUpIHx8ICEhZSAmJiBlKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIGlzVW5kZWZpbmVkMihwYXlsb2FkKSB7XG4gIHJldHVybiBnZXRUeXBlMihwYXlsb2FkKSA9PT0gXCJVbmRlZmluZWRcIjtcbn1cbnZhciBpc051bGxPclVuZGVmaW5lZCA9IGlzT25lT2YoaXNOdWxsMiwgaXNVbmRlZmluZWQyKTtcblxuLy8gLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2NvcHktYW55dGhpbmdAMy4wLjUvbm9kZV9tb2R1bGVzL2NvcHktYW55dGhpbmcvZGlzdC9pbmRleC5qc1xuZnVuY3Rpb24gYXNzaWduUHJvcChjYXJyeSwga2V5LCBuZXdWYWwsIG9yaWdpbmFsT2JqZWN0LCBpbmNsdWRlTm9uZW51bWVyYWJsZSkge1xuICBjb25zdCBwcm9wVHlwZSA9IHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob3JpZ2luYWxPYmplY3QsIGtleSkgPyBcImVudW1lcmFibGVcIiA6IFwibm9uZW51bWVyYWJsZVwiO1xuICBpZiAocHJvcFR5cGUgPT09IFwiZW51bWVyYWJsZVwiKVxuICAgIGNhcnJ5W2tleV0gPSBuZXdWYWw7XG4gIGlmIChpbmNsdWRlTm9uZW51bWVyYWJsZSAmJiBwcm9wVHlwZSA9PT0gXCJub25lbnVtZXJhYmxlXCIpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2FycnksIGtleSwge1xuICAgICAgdmFsdWU6IG5ld1ZhbCxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuZnVuY3Rpb24gY29weSh0YXJnZXQyMiwgb3B0aW9ucyA9IHt9KSB7XG4gIGlmIChpc0FycmF5Mih0YXJnZXQyMikpIHtcbiAgICByZXR1cm4gdGFyZ2V0MjIubWFwKChpdGVtKSA9PiBjb3B5KGl0ZW0sIG9wdGlvbnMpKTtcbiAgfVxuICBpZiAoIWlzUGxhaW5PYmplY3QzKHRhcmdldDIyKSkge1xuICAgIHJldHVybiB0YXJnZXQyMjtcbiAgfVxuICBjb25zdCBwcm9wcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRhcmdldDIyKTtcbiAgY29uc3Qgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModGFyZ2V0MjIpO1xuICByZXR1cm4gWy4uLnByb3BzLCAuLi5zeW1ib2xzXS5yZWR1Y2UoKGNhcnJ5LCBrZXkpID0+IHtcbiAgICBpZiAoaXNBcnJheTIob3B0aW9ucy5wcm9wcykgJiYgIW9wdGlvbnMucHJvcHMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgcmV0dXJuIGNhcnJ5O1xuICAgIH1cbiAgICBjb25zdCB2YWwgPSB0YXJnZXQyMltrZXldO1xuICAgIGNvbnN0IG5ld1ZhbCA9IGNvcHkodmFsLCBvcHRpb25zKTtcbiAgICBhc3NpZ25Qcm9wKGNhcnJ5LCBrZXksIG5ld1ZhbCwgdGFyZ2V0MjIsIG9wdGlvbnMubm9uZW51bWVyYWJsZSk7XG4gICAgcmV0dXJuIGNhcnJ5O1xuICB9LCB7fSk7XG59XG5cbi8vIC4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9zdXBlcmpzb25AMi4yLjIvbm9kZV9tb2R1bGVzL3N1cGVyanNvbi9kaXN0L2luZGV4LmpzXG52YXIgU3VwZXJKU09OID0gY2xhc3Mge1xuICAvKipcbiAgICogQHBhcmFtIGRlZHVwZVJlZmVyZW50aWFsRXF1YWxpdGllcyAgSWYgdHJ1ZSwgU3VwZXJKU09OIHdpbGwgbWFrZSBzdXJlIG9ubHkgb25lIGluc3RhbmNlIG9mIHJlZmVyZW50aWFsbHkgZXF1YWwgb2JqZWN0cyBhcmUgc2VyaWFsaXplZCBhbmQgdGhlIHJlc3QgYXJlIHJlcGxhY2VkIHdpdGggYG51bGxgLlxuICAgKi9cbiAgY29uc3RydWN0b3IoeyBkZWR1cGUgPSBmYWxzZSB9ID0ge30pIHtcbiAgICB0aGlzLmNsYXNzUmVnaXN0cnkgPSBuZXcgQ2xhc3NSZWdpc3RyeSgpO1xuICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkgPSBuZXcgUmVnaXN0cnkoKHMpID0+IHtcbiAgICAgIHZhciBfYTI1O1xuICAgICAgcmV0dXJuIChfYTI1ID0gcy5kZXNjcmlwdGlvbikgIT0gbnVsbCA/IF9hMjUgOiBcIlwiO1xuICAgIH0pO1xuICAgIHRoaXMuY3VzdG9tVHJhbnNmb3JtZXJSZWdpc3RyeSA9IG5ldyBDdXN0b21UcmFuc2Zvcm1lclJlZ2lzdHJ5KCk7XG4gICAgdGhpcy5hbGxvd2VkRXJyb3JQcm9wcyA9IFtdO1xuICAgIHRoaXMuZGVkdXBlID0gZGVkdXBlO1xuICB9XG4gIHNlcmlhbGl6ZShvYmplY3QpIHtcbiAgICBjb25zdCBpZGVudGl0aWVzID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICBjb25zdCBvdXRwdXQgPSB3YWxrZXIob2JqZWN0LCBpZGVudGl0aWVzLCB0aGlzLCB0aGlzLmRlZHVwZSk7XG4gICAgY29uc3QgcmVzID0ge1xuICAgICAganNvbjogb3V0cHV0LnRyYW5zZm9ybWVkVmFsdWVcbiAgICB9O1xuICAgIGlmIChvdXRwdXQuYW5ub3RhdGlvbnMpIHtcbiAgICAgIHJlcy5tZXRhID0ge1xuICAgICAgICAuLi5yZXMubWV0YSxcbiAgICAgICAgdmFsdWVzOiBvdXRwdXQuYW5ub3RhdGlvbnNcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGVxdWFsaXR5QW5ub3RhdGlvbnMgPSBnZW5lcmF0ZVJlZmVyZW50aWFsRXF1YWxpdHlBbm5vdGF0aW9ucyhpZGVudGl0aWVzLCB0aGlzLmRlZHVwZSk7XG4gICAgaWYgKGVxdWFsaXR5QW5ub3RhdGlvbnMpIHtcbiAgICAgIHJlcy5tZXRhID0ge1xuICAgICAgICAuLi5yZXMubWV0YSxcbiAgICAgICAgcmVmZXJlbnRpYWxFcXVhbGl0aWVzOiBlcXVhbGl0eUFubm90YXRpb25zXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG4gIGRlc2VyaWFsaXplKHBheWxvYWQpIHtcbiAgICBjb25zdCB7IGpzb24sIG1ldGEgfSA9IHBheWxvYWQ7XG4gICAgbGV0IHJlc3VsdCA9IGNvcHkoanNvbik7XG4gICAgaWYgKG1ldGEgPT0gbnVsbCA/IHZvaWQgMCA6IG1ldGEudmFsdWVzKSB7XG4gICAgICByZXN1bHQgPSBhcHBseVZhbHVlQW5ub3RhdGlvbnMocmVzdWx0LCBtZXRhLnZhbHVlcywgdGhpcyk7XG4gICAgfVxuICAgIGlmIChtZXRhID09IG51bGwgPyB2b2lkIDAgOiBtZXRhLnJlZmVyZW50aWFsRXF1YWxpdGllcykge1xuICAgICAgcmVzdWx0ID0gYXBwbHlSZWZlcmVudGlhbEVxdWFsaXR5QW5ub3RhdGlvbnMocmVzdWx0LCBtZXRhLnJlZmVyZW50aWFsRXF1YWxpdGllcyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgc3RyaW5naWZ5KG9iamVjdCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLnNlcmlhbGl6ZShvYmplY3QpKTtcbiAgfVxuICBwYXJzZShzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZShKU09OLnBhcnNlKHN0cmluZykpO1xuICB9XG4gIHJlZ2lzdGVyQ2xhc3Modiwgb3B0aW9ucykge1xuICAgIHRoaXMuY2xhc3NSZWdpc3RyeS5yZWdpc3Rlcih2LCBvcHRpb25zKTtcbiAgfVxuICByZWdpc3RlclN5bWJvbCh2LCBpZGVudGlmaWVyKSB7XG4gICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3Rlcih2LCBpZGVudGlmaWVyKTtcbiAgfVxuICByZWdpc3RlckN1c3RvbSh0cmFuc2Zvcm1lciwgbmFtZSkge1xuICAgIHRoaXMuY3VzdG9tVHJhbnNmb3JtZXJSZWdpc3RyeS5yZWdpc3Rlcih7XG4gICAgICBuYW1lLFxuICAgICAgLi4udHJhbnNmb3JtZXJcbiAgICB9KTtcbiAgfVxuICBhbGxvd0Vycm9yUHJvcHMoLi4ucHJvcHMpIHtcbiAgICB0aGlzLmFsbG93ZWRFcnJvclByb3BzLnB1c2goLi4ucHJvcHMpO1xuICB9XG59O1xuU3VwZXJKU09OLmRlZmF1bHRJbnN0YW5jZSA9IG5ldyBTdXBlckpTT04oKTtcblN1cGVySlNPTi5zZXJpYWxpemUgPSBTdXBlckpTT04uZGVmYXVsdEluc3RhbmNlLnNlcmlhbGl6ZS5iaW5kKFN1cGVySlNPTi5kZWZhdWx0SW5zdGFuY2UpO1xuU3VwZXJKU09OLmRlc2VyaWFsaXplID0gU3VwZXJKU09OLmRlZmF1bHRJbnN0YW5jZS5kZXNlcmlhbGl6ZS5iaW5kKFN1cGVySlNPTi5kZWZhdWx0SW5zdGFuY2UpO1xuU3VwZXJKU09OLnN0cmluZ2lmeSA9IFN1cGVySlNPTi5kZWZhdWx0SW5zdGFuY2Uuc3RyaW5naWZ5LmJpbmQoU3VwZXJKU09OLmRlZmF1bHRJbnN0YW5jZSk7XG5TdXBlckpTT04ucGFyc2UgPSBTdXBlckpTT04uZGVmYXVsdEluc3RhbmNlLnBhcnNlLmJpbmQoU3VwZXJKU09OLmRlZmF1bHRJbnN0YW5jZSk7XG5TdXBlckpTT04ucmVnaXN0ZXJDbGFzcyA9IFN1cGVySlNPTi5kZWZhdWx0SW5zdGFuY2UucmVnaXN0ZXJDbGFzcy5iaW5kKFN1cGVySlNPTi5kZWZhdWx0SW5zdGFuY2UpO1xuU3VwZXJKU09OLnJlZ2lzdGVyU3ltYm9sID0gU3VwZXJKU09OLmRlZmF1bHRJbnN0YW5jZS5yZWdpc3RlclN5bWJvbC5iaW5kKFN1cGVySlNPTi5kZWZhdWx0SW5zdGFuY2UpO1xuU3VwZXJKU09OLnJlZ2lzdGVyQ3VzdG9tID0gU3VwZXJKU09OLmRlZmF1bHRJbnN0YW5jZS5yZWdpc3RlckN1c3RvbS5iaW5kKFN1cGVySlNPTi5kZWZhdWx0SW5zdGFuY2UpO1xuU3VwZXJKU09OLmFsbG93RXJyb3JQcm9wcyA9IFN1cGVySlNPTi5kZWZhdWx0SW5zdGFuY2UuYWxsb3dFcnJvclByb3BzLmJpbmQoU3VwZXJKU09OLmRlZmF1bHRJbnN0YW5jZSk7XG52YXIgc2VyaWFsaXplID0gU3VwZXJKU09OLnNlcmlhbGl6ZTtcbnZhciBkZXNlcmlhbGl6ZSA9IFN1cGVySlNPTi5kZXNlcmlhbGl6ZTtcbnZhciBzdHJpbmdpZnkgPSBTdXBlckpTT04uc3RyaW5naWZ5O1xudmFyIHBhcnNlID0gU3VwZXJKU09OLnBhcnNlO1xudmFyIHJlZ2lzdGVyQ2xhc3MgPSBTdXBlckpTT04ucmVnaXN0ZXJDbGFzcztcbnZhciByZWdpc3RlckN1c3RvbSA9IFN1cGVySlNPTi5yZWdpc3RlckN1c3RvbTtcbnZhciByZWdpc3RlclN5bWJvbCA9IFN1cGVySlNPTi5yZWdpc3RlclN5bWJvbDtcbnZhciBhbGxvd0Vycm9yUHJvcHMgPSBTdXBlckpTT04uYWxsb3dFcnJvclByb3BzO1xuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvYnJvYWRjYXN0LWNoYW5uZWwvY29udGV4dC50c1xuaW5pdF9lc21fc2hpbXMoKTtcbnZhciBfX0RFVlRPT0xTX0tJVF9CUk9BRENBU1RfTUVTU0FHSU5HX0VWRU5UX0tFWSA9IFwiX19kZXZ0b29scy1raXQtYnJvYWRjYXN0LW1lc3NhZ2luZy1ldmVudC1rZXlfX1wiO1xuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvYnJvYWRjYXN0LWNoYW5uZWwvaW5kZXgudHNcbnZhciBCUk9BRENBU1RfQ0hBTk5FTF9OQU1FID0gXCJfX2RldnRvb2xzLWtpdDpicm9hZGNhc3QtY2hhbm5lbF9fXCI7XG5mdW5jdGlvbiBjcmVhdGVCcm9hZGNhc3RDaGFubmVsKCkge1xuICBjb25zdCBjaGFubmVsID0gbmV3IEJyb2FkY2FzdENoYW5uZWwoQlJPQURDQVNUX0NIQU5ORUxfTkFNRSk7XG4gIHJldHVybiB7XG4gICAgcG9zdDogKGRhdGEpID0+IHtcbiAgICAgIGNoYW5uZWwucG9zdE1lc3NhZ2UoU3VwZXJKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGV2ZW50OiBfX0RFVlRPT0xTX0tJVF9CUk9BRENBU1RfTUVTU0FHSU5HX0VWRU5UX0tFWSxcbiAgICAgICAgZGF0YVxuICAgICAgfSkpO1xuICAgIH0sXG4gICAgb246IChoYW5kbGVyKSA9PiB7XG4gICAgICBjaGFubmVsLm9ubWVzc2FnZSA9IChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBTdXBlckpTT04ucGFyc2UoZXZlbnQuZGF0YSk7XG4gICAgICAgIGlmIChwYXJzZWQuZXZlbnQgPT09IF9fREVWVE9PTFNfS0lUX0JST0FEQ0FTVF9NRVNTQUdJTkdfRVZFTlRfS0VZKSB7XG4gICAgICAgICAgaGFuZGxlcihwYXJzZWQuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvZWxlY3Ryb24vaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9lbGVjdHJvbi9jbGllbnQudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9lbGVjdHJvbi9jb250ZXh0LnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgdGFyZ2V0IGFzIHRhcmdldDE2IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG52YXIgX19FTEVDVFJPTl9DTElFTlRfQ09OVEVYVF9fID0gXCJlbGVjdHJvbjpjbGllbnQtY29udGV4dFwiO1xudmFyIF9fRUxFQ1RST05fUlBPWFlfQ09OVEVYVF9fID0gXCJlbGVjdHJvbjpwcm94eS1jb250ZXh0XCI7XG52YXIgX19FTEVDVFJPTl9TRVJWRVJfQ09OVEVYVF9fID0gXCJlbGVjdHJvbjpzZXJ2ZXItY29udGV4dFwiO1xudmFyIF9fREVWVE9PTFNfS0lUX0VMRUNUUk9OX01FU1NBR0lOR19FVkVOVF9LRVlfXyA9IHtcbiAgLy8gY2xpZW50XG4gIENMSUVOVF9UT19QUk9YWTogXCJjbGllbnQtPnByb3h5XCIsXG4gIC8vIG9uOiBwcm94eS0+Y2xpZW50XG4gIC8vIHByb3h5XG4gIFBST1hZX1RPX0NMSUVOVDogXCJwcm94eS0+Y2xpZW50XCIsXG4gIC8vIG9uOiBzZXJ2ZXItPnByb3h5XG4gIFBST1hZX1RPX1NFUlZFUjogXCJwcm94eS0+c2VydmVyXCIsXG4gIC8vIG9uOiBjbGllbnQtPnByb3h5XG4gIC8vIHNlcnZlclxuICBTRVJWRVJfVE9fUFJPWFk6IFwic2VydmVyLT5wcm94eVwiXG4gIC8vIG9uOiBwcm94eS0+c2VydmVyXG59O1xuZnVuY3Rpb24gZ2V0RWxlY3Ryb25DbGllbnRDb250ZXh0KCkge1xuICByZXR1cm4gdGFyZ2V0MTZbX19FTEVDVFJPTl9DTElFTlRfQ09OVEVYVF9fXTtcbn1cbmZ1bmN0aW9uIHNldEVsZWN0cm9uQ2xpZW50Q29udGV4dChjb250ZXh0KSB7XG4gIHRhcmdldDE2W19fRUxFQ1RST05fQ0xJRU5UX0NPTlRFWFRfX10gPSBjb250ZXh0O1xufVxuZnVuY3Rpb24gZ2V0RWxlY3Ryb25Qcm94eUNvbnRleHQoKSB7XG4gIHJldHVybiB0YXJnZXQxNltfX0VMRUNUUk9OX1JQT1hZX0NPTlRFWFRfX107XG59XG5mdW5jdGlvbiBzZXRFbGVjdHJvblByb3h5Q29udGV4dChjb250ZXh0KSB7XG4gIHRhcmdldDE2W19fRUxFQ1RST05fUlBPWFlfQ09OVEVYVF9fXSA9IGNvbnRleHQ7XG59XG5mdW5jdGlvbiBnZXRFbGVjdHJvblNlcnZlckNvbnRleHQoKSB7XG4gIHJldHVybiB0YXJnZXQxNltfX0VMRUNUUk9OX1NFUlZFUl9DT05URVhUX19dO1xufVxuZnVuY3Rpb24gc2V0RWxlY3Ryb25TZXJ2ZXJDb250ZXh0KGNvbnRleHQpIHtcbiAgdGFyZ2V0MTZbX19FTEVDVFJPTl9TRVJWRVJfQ09OVEVYVF9fXSA9IGNvbnRleHQ7XG59XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9lbGVjdHJvbi9jbGllbnQudHNcbmZ1bmN0aW9uIGNyZWF0ZUVsZWN0cm9uQ2xpZW50Q2hhbm5lbCgpIHtcbiAgY29uc3Qgc29ja2V0ID0gZ2V0RWxlY3Ryb25DbGllbnRDb250ZXh0KCk7XG4gIHJldHVybiB7XG4gICAgcG9zdDogKGRhdGEpID0+IHtcbiAgICAgIHNvY2tldC5lbWl0KF9fREVWVE9PTFNfS0lUX0VMRUNUUk9OX01FU1NBR0lOR19FVkVOVF9LRVlfXy5DTElFTlRfVE9fUFJPWFksIFN1cGVySlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIH0sXG4gICAgb246IChoYW5kbGVyKSA9PiB7XG4gICAgICBzb2NrZXQub24oX19ERVZUT09MU19LSVRfRUxFQ1RST05fTUVTU0FHSU5HX0VWRU5UX0tFWV9fLlBST1hZX1RPX0NMSUVOVCwgKGUpID0+IHtcbiAgICAgICAgaGFuZGxlcihTdXBlckpTT04ucGFyc2UoZSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvZWxlY3Ryb24vcHJveHkudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5mdW5jdGlvbiBjcmVhdGVFbGVjdHJvblByb3h5Q2hhbm5lbCgpIHtcbiAgY29uc3Qgc29ja2V0ID0gZ2V0RWxlY3Ryb25Qcm94eUNvbnRleHQoKTtcbiAgcmV0dXJuIHtcbiAgICBwb3N0OiAoZGF0YSkgPT4ge1xuICAgIH0sXG4gICAgb246IChoYW5kbGVyKSA9PiB7XG4gICAgICBzb2NrZXQub24oX19ERVZUT09MU19LSVRfRUxFQ1RST05fTUVTU0FHSU5HX0VWRU5UX0tFWV9fLlNFUlZFUl9UT19QUk9YWSwgKGRhdGEpID0+IHtcbiAgICAgICAgc29ja2V0LmJyb2FkY2FzdC5lbWl0KF9fREVWVE9PTFNfS0lUX0VMRUNUUk9OX01FU1NBR0lOR19FVkVOVF9LRVlfXy5QUk9YWV9UT19DTElFTlQsIGRhdGEpO1xuICAgICAgfSk7XG4gICAgICBzb2NrZXQub24oX19ERVZUT09MU19LSVRfRUxFQ1RST05fTUVTU0FHSU5HX0VWRU5UX0tFWV9fLkNMSUVOVF9UT19QUk9YWSwgKGRhdGEpID0+IHtcbiAgICAgICAgc29ja2V0LmJyb2FkY2FzdC5lbWl0KF9fREVWVE9PTFNfS0lUX0VMRUNUUk9OX01FU1NBR0lOR19FVkVOVF9LRVlfXy5QUk9YWV9UT19TRVJWRVIsIGRhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvZWxlY3Ryb24vc2VydmVyLnRzXG5pbml0X2VzbV9zaGltcygpO1xuZnVuY3Rpb24gY3JlYXRlRWxlY3Ryb25TZXJ2ZXJDaGFubmVsKCkge1xuICBjb25zdCBzb2NrZXQgPSBnZXRFbGVjdHJvblNlcnZlckNvbnRleHQoKTtcbiAgcmV0dXJuIHtcbiAgICBwb3N0OiAoZGF0YSkgPT4ge1xuICAgICAgc29ja2V0LmVtaXQoX19ERVZUT09MU19LSVRfRUxFQ1RST05fTUVTU0FHSU5HX0VWRU5UX0tFWV9fLlNFUlZFUl9UT19QUk9YWSwgU3VwZXJKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgfSxcbiAgICBvbjogKGhhbmRsZXIpID0+IHtcbiAgICAgIHNvY2tldC5vbihfX0RFVlRPT0xTX0tJVF9FTEVDVFJPTl9NRVNTQUdJTkdfRVZFTlRfS0VZX18uUFJPWFlfVE9fU0VSVkVSLCAoZGF0YSkgPT4ge1xuICAgICAgICBoYW5kbGVyKFN1cGVySlNPTi5wYXJzZShkYXRhKSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9leHRlbnNpb24vaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9leHRlbnNpb24vY2xpZW50LnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvZXh0ZW5zaW9uL2NvbnRleHQudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyB0YXJnZXQgYXMgdGFyZ2V0MTcgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbnZhciBfX0VYVEVOU0lPTl9DTElFTlRfQ09OVEVYVF9fID0gXCJlbGVjdHJvbjpjbGllbnQtY29udGV4dFwiO1xudmFyIF9fREVWVE9PTFNfS0lUX0VYVEVOU0lPTl9NRVNTQUdJTkdfRVZFTlRfS0VZX18gPSB7XG4gIC8vIGNsaWVudFxuICBDTElFTlRfVE9fUFJPWFk6IFwiY2xpZW50LT5wcm94eVwiLFxuICAvLyBvbjogcHJveHktPmNsaWVudFxuICAvLyBwcm94eVxuICBQUk9YWV9UT19DTElFTlQ6IFwicHJveHktPmNsaWVudFwiLFxuICAvLyBvbjogc2VydmVyLT5wcm94eVxuICBQUk9YWV9UT19TRVJWRVI6IFwicHJveHktPnNlcnZlclwiLFxuICAvLyBvbjogY2xpZW50LT5wcm94eVxuICAvLyBzZXJ2ZXJcbiAgU0VSVkVSX1RPX1BST1hZOiBcInNlcnZlci0+cHJveHlcIlxuICAvLyBvbjogcHJveHktPnNlcnZlclxufTtcbmZ1bmN0aW9uIGdldEV4dGVuc2lvbkNsaWVudENvbnRleHQoKSB7XG4gIHJldHVybiB0YXJnZXQxN1tfX0VYVEVOU0lPTl9DTElFTlRfQ09OVEVYVF9fXTtcbn1cbmZ1bmN0aW9uIHNldEV4dGVuc2lvbkNsaWVudENvbnRleHQoY29udGV4dCkge1xuICB0YXJnZXQxN1tfX0VYVEVOU0lPTl9DTElFTlRfQ09OVEVYVF9fXSA9IGNvbnRleHQ7XG59XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9leHRlbnNpb24vY2xpZW50LnRzXG5mdW5jdGlvbiBjcmVhdGVFeHRlbnNpb25DbGllbnRDaGFubmVsKCkge1xuICBsZXQgZGlzY29ubmVjdGVkID0gZmFsc2U7XG4gIGxldCBwb3J0ID0gbnVsbDtcbiAgbGV0IHJlY29ubmVjdFRpbWVyID0gbnVsbDtcbiAgbGV0IG9uTWVzc2FnZUhhbmRsZXIgPSBudWxsO1xuICBmdW5jdGlvbiBjb25uZWN0KCkge1xuICAgIHRyeSB7XG4gICAgICBjbGVhclRpbWVvdXQocmVjb25uZWN0VGltZXIpO1xuICAgICAgcG9ydCA9IGNocm9tZS5ydW50aW1lLmNvbm5lY3Qoe1xuICAgICAgICBuYW1lOiBgJHtjaHJvbWUuZGV2dG9vbHMuaW5zcGVjdGVkV2luZG93LnRhYklkfWBcbiAgICAgIH0pO1xuICAgICAgc2V0RXh0ZW5zaW9uQ2xpZW50Q29udGV4dChwb3J0KTtcbiAgICAgIGRpc2Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgICAgcG9ydCA9PSBudWxsID8gdm9pZCAwIDogcG9ydC5vbk1lc3NhZ2UuYWRkTGlzdGVuZXIob25NZXNzYWdlSGFuZGxlcik7XG4gICAgICBwb3J0Lm9uRGlzY29ubmVjdC5hZGRMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgIGRpc2Nvbm5lY3RlZCA9IHRydWU7XG4gICAgICAgIHBvcnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBvcnQub25NZXNzYWdlLnJlbW92ZUxpc3RlbmVyKG9uTWVzc2FnZUhhbmRsZXIpO1xuICAgICAgICByZWNvbm5lY3RUaW1lciA9IHNldFRpbWVvdXQoY29ubmVjdCwgMWUzKTtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGRpc2Nvbm5lY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG4gIGNvbm5lY3QoKTtcbiAgcmV0dXJuIHtcbiAgICBwb3N0OiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKGRpc2Nvbm5lY3RlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBwb3J0ID09IG51bGwgPyB2b2lkIDAgOiBwb3J0LnBvc3RNZXNzYWdlKFN1cGVySlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIH0sXG4gICAgb246IChoYW5kbGVyKSA9PiB7XG4gICAgICBvbk1lc3NhZ2VIYW5kbGVyID0gKGRhdGEpID0+IHtcbiAgICAgICAgaWYgKGRpc2Nvbm5lY3RlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBoYW5kbGVyKFN1cGVySlNPTi5wYXJzZShkYXRhKSk7XG4gICAgICB9O1xuICAgICAgcG9ydCA9PSBudWxsID8gdm9pZCAwIDogcG9ydC5vbk1lc3NhZ2UuYWRkTGlzdGVuZXIob25NZXNzYWdlSGFuZGxlcik7XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvZXh0ZW5zaW9uL3Byb3h5LnRzXG5pbml0X2VzbV9zaGltcygpO1xuZnVuY3Rpb24gY3JlYXRlRXh0ZW5zaW9uUHJveHlDaGFubmVsKCkge1xuICBjb25zdCBwb3J0ID0gY2hyb21lLnJ1bnRpbWUuY29ubmVjdCh7XG4gICAgbmFtZTogXCJjb250ZW50LXNjcmlwdFwiXG4gIH0pO1xuICBmdW5jdGlvbiBzZW5kTWVzc2FnZVRvVXNlckFwcChwYXlsb2FkKSB7XG4gICAgd2luZG93LnBvc3RNZXNzYWdlKHtcbiAgICAgIHNvdXJjZTogX19ERVZUT09MU19LSVRfRVhURU5TSU9OX01FU1NBR0lOR19FVkVOVF9LRVlfXy5QUk9YWV9UT19TRVJWRVIsXG4gICAgICBwYXlsb2FkXG4gICAgfSwgXCIqXCIpO1xuICB9XG4gIGZ1bmN0aW9uIHNlbmRNZXNzYWdlVG9EZXZUb29sc0NsaWVudChlKSB7XG4gICAgaWYgKGUuZGF0YSAmJiBlLmRhdGEuc291cmNlID09PSBfX0RFVlRPT0xTX0tJVF9FWFRFTlNJT05fTUVTU0FHSU5HX0VWRU5UX0tFWV9fLlNFUlZFUl9UT19QUk9YWSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShlLmRhdGEucGF5bG9hZCk7XG4gICAgICB9IGNhdGNoIChlMikge1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwb3J0Lm9uTWVzc2FnZS5hZGRMaXN0ZW5lcihzZW5kTWVzc2FnZVRvVXNlckFwcCk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBzZW5kTWVzc2FnZVRvRGV2VG9vbHNDbGllbnQpO1xuICBwb3J0Lm9uRGlzY29ubmVjdC5hZGRMaXN0ZW5lcigoKSA9PiB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIHNlbmRNZXNzYWdlVG9EZXZUb29sc0NsaWVudCk7XG4gICAgc2VuZE1lc3NhZ2VUb1VzZXJBcHAoU3VwZXJKU09OLnN0cmluZ2lmeSh7XG4gICAgICBldmVudDogXCJzaHV0ZG93blwiXG4gICAgfSkpO1xuICB9KTtcbiAgc2VuZE1lc3NhZ2VUb1VzZXJBcHAoU3VwZXJKU09OLnN0cmluZ2lmeSh7XG4gICAgZXZlbnQ6IFwiaW5pdFwiXG4gIH0pKTtcbiAgcmV0dXJuIHtcbiAgICBwb3N0OiAoZGF0YSkgPT4ge1xuICAgIH0sXG4gICAgb246IChoYW5kbGVyKSA9PiB7XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvZXh0ZW5zaW9uL3NlcnZlci50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmZ1bmN0aW9uIGNyZWF0ZUV4dGVuc2lvblNlcnZlckNoYW5uZWwoKSB7XG4gIHJldHVybiB7XG4gICAgcG9zdDogKGRhdGEpID0+IHtcbiAgICAgIHdpbmRvdy5wb3N0TWVzc2FnZSh7XG4gICAgICAgIHNvdXJjZTogX19ERVZUT09MU19LSVRfRVhURU5TSU9OX01FU1NBR0lOR19FVkVOVF9LRVlfXy5TRVJWRVJfVE9fUFJPWFksXG4gICAgICAgIHBheWxvYWQ6IFN1cGVySlNPTi5zdHJpbmdpZnkoZGF0YSlcbiAgICAgIH0sIFwiKlwiKTtcbiAgICB9LFxuICAgIG9uOiAoaGFuZGxlcikgPT4ge1xuICAgICAgY29uc3QgbGlzdGVuZXIgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LmRhdGEuc291cmNlID09PSBfX0RFVlRPT0xTX0tJVF9FWFRFTlNJT05fTUVTU0FHSU5HX0VWRU5UX0tFWV9fLlBST1hZX1RPX1NFUlZFUiAmJiBldmVudC5kYXRhLnBheWxvYWQpIHtcbiAgICAgICAgICBoYW5kbGVyKFN1cGVySlNPTi5wYXJzZShldmVudC5kYXRhLnBheWxvYWQpKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBsaXN0ZW5lcik7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgbGlzdGVuZXIpO1xuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9pZnJhbWUvaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9pZnJhbWUvY2xpZW50LnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgaXNCcm93c2VyIGFzIGlzQnJvd3NlcjQgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcblxuLy8gc3JjL21lc3NhZ2luZy9wcmVzZXRzL2lmcmFtZS9jb250ZXh0LnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgdGFyZ2V0IGFzIHRhcmdldDE4IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG52YXIgX19ERVZUT09MU19LSVRfSUZSQU1FX01FU1NBR0lOR19FVkVOVF9LRVkgPSBcIl9fZGV2dG9vbHMta2l0LWlmcmFtZS1tZXNzYWdpbmctZXZlbnQta2V5X19cIjtcbnZhciBfX0lGUkFNRV9TRVJWRVJfQ09OVEVYVF9fID0gXCJpZnJhbWU6c2VydmVyLWNvbnRleHRcIjtcbmZ1bmN0aW9uIGdldElmcmFtZVNlcnZlckNvbnRleHQoKSB7XG4gIHJldHVybiB0YXJnZXQxOFtfX0lGUkFNRV9TRVJWRVJfQ09OVEVYVF9fXTtcbn1cbmZ1bmN0aW9uIHNldElmcmFtZVNlcnZlckNvbnRleHQoY29udGV4dCkge1xuICB0YXJnZXQxOFtfX0lGUkFNRV9TRVJWRVJfQ09OVEVYVF9fXSA9IGNvbnRleHQ7XG59XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy9pZnJhbWUvY2xpZW50LnRzXG5mdW5jdGlvbiBjcmVhdGVJZnJhbWVDbGllbnRDaGFubmVsKCkge1xuICBpZiAoIWlzQnJvd3NlcjQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zdDogKGRhdGEpID0+IHtcbiAgICAgIH0sXG4gICAgICBvbjogKGhhbmRsZXIpID0+IHtcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgcG9zdDogKGRhdGEpID0+IHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoU3VwZXJKU09OLnN0cmluZ2lmeSh7XG4gICAgICBldmVudDogX19ERVZUT09MU19LSVRfSUZSQU1FX01FU1NBR0lOR19FVkVOVF9LRVksXG4gICAgICBkYXRhXG4gICAgfSksIFwiKlwiKSxcbiAgICBvbjogKGhhbmRsZXIpID0+IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCAoZXZlbnQpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IFN1cGVySlNPTi5wYXJzZShldmVudC5kYXRhKTtcbiAgICAgICAgaWYgKGV2ZW50LnNvdXJjZSA9PT0gd2luZG93LnBhcmVudCAmJiBwYXJzZWQuZXZlbnQgPT09IF9fREVWVE9PTFNfS0lUX0lGUkFNRV9NRVNTQUdJTkdfRVZFTlRfS0VZKSB7XG4gICAgICAgICAgaGFuZGxlcihwYXJzZWQuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIH1cbiAgICB9KVxuICB9O1xufVxuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvaWZyYW1lL3NlcnZlci50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmltcG9ydCB7IGlzQnJvd3NlciBhcyBpc0Jyb3dzZXI1IH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5mdW5jdGlvbiBjcmVhdGVJZnJhbWVTZXJ2ZXJDaGFubmVsKCkge1xuICBpZiAoIWlzQnJvd3NlcjUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zdDogKGRhdGEpID0+IHtcbiAgICAgIH0sXG4gICAgICBvbjogKGhhbmRsZXIpID0+IHtcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgcG9zdDogKGRhdGEpID0+IHtcbiAgICAgIHZhciBfYTI1O1xuICAgICAgY29uc3QgaWZyYW1lID0gZ2V0SWZyYW1lU2VydmVyQ29udGV4dCgpO1xuICAgICAgKF9hMjUgPSBpZnJhbWUgPT0gbnVsbCA/IHZvaWQgMCA6IGlmcmFtZS5jb250ZW50V2luZG93KSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5wb3N0TWVzc2FnZShTdXBlckpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgZXZlbnQ6IF9fREVWVE9PTFNfS0lUX0lGUkFNRV9NRVNTQUdJTkdfRVZFTlRfS0VZLFxuICAgICAgICBkYXRhXG4gICAgICB9KSwgXCIqXCIpO1xuICAgIH0sXG4gICAgb246IChoYW5kbGVyKSA9PiB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGlmcmFtZSA9IGdldElmcmFtZVNlcnZlckNvbnRleHQoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXJzZWQgPSBTdXBlckpTT04ucGFyc2UoZXZlbnQuZGF0YSk7XG4gICAgICAgICAgaWYgKGV2ZW50LnNvdXJjZSA9PT0gKGlmcmFtZSA9PSBudWxsID8gdm9pZCAwIDogaWZyYW1lLmNvbnRlbnRXaW5kb3cpICYmIHBhcnNlZC5ldmVudCA9PT0gX19ERVZUT09MU19LSVRfSUZSQU1FX01FU1NBR0lOR19FVkVOVF9LRVkpIHtcbiAgICAgICAgICAgIGhhbmRsZXIocGFyc2VkLmRhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy92aXRlL2luZGV4LnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvdml0ZS9jbGllbnQudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy92aXRlL2NvbnRleHQudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5pbXBvcnQgeyB0YXJnZXQgYXMgdGFyZ2V0MTkgfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9AdnVlL2RldnRvb2xzLXNoYXJlZC9kaXN0L2luZGV4LmpzP3Y9ZTRmMThjMjlcIjtcbnZhciBfX0RFVlRPT0xTX0tJVF9WSVRFX01FU1NBR0lOR19FVkVOVF9LRVkgPSBcIl9fZGV2dG9vbHMta2l0LXZpdGUtbWVzc2FnaW5nLWV2ZW50LWtleV9fXCI7XG52YXIgX19WSVRFX0NMSUVOVF9DT05URVhUX18gPSBcInZpdGU6Y2xpZW50LWNvbnRleHRcIjtcbnZhciBfX1ZJVEVfU0VSVkVSX0NPTlRFWFRfXyA9IFwidml0ZTpzZXJ2ZXItY29udGV4dFwiO1xuZnVuY3Rpb24gZ2V0Vml0ZUNsaWVudENvbnRleHQoKSB7XG4gIHJldHVybiB0YXJnZXQxOVtfX1ZJVEVfQ0xJRU5UX0NPTlRFWFRfX107XG59XG5mdW5jdGlvbiBzZXRWaXRlQ2xpZW50Q29udGV4dChjb250ZXh0KSB7XG4gIHRhcmdldDE5W19fVklURV9DTElFTlRfQ09OVEVYVF9fXSA9IGNvbnRleHQ7XG59XG5mdW5jdGlvbiBnZXRWaXRlU2VydmVyQ29udGV4dCgpIHtcbiAgcmV0dXJuIHRhcmdldDE5W19fVklURV9TRVJWRVJfQ09OVEVYVF9fXTtcbn1cbmZ1bmN0aW9uIHNldFZpdGVTZXJ2ZXJDb250ZXh0KGNvbnRleHQpIHtcbiAgdGFyZ2V0MTlbX19WSVRFX1NFUlZFUl9DT05URVhUX19dID0gY29udGV4dDtcbn1cblxuLy8gc3JjL21lc3NhZ2luZy9wcmVzZXRzL3ZpdGUvY2xpZW50LnRzXG5mdW5jdGlvbiBjcmVhdGVWaXRlQ2xpZW50Q2hhbm5lbCgpIHtcbiAgY29uc3QgY2xpZW50ID0gZ2V0Vml0ZUNsaWVudENvbnRleHQoKTtcbiAgcmV0dXJuIHtcbiAgICBwb3N0OiAoZGF0YSkgPT4ge1xuICAgICAgY2xpZW50ID09IG51bGwgPyB2b2lkIDAgOiBjbGllbnQuc2VuZChfX0RFVlRPT0xTX0tJVF9WSVRFX01FU1NBR0lOR19FVkVOVF9LRVksIFN1cGVySlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIH0sXG4gICAgb246IChoYW5kbGVyKSA9PiB7XG4gICAgICBjbGllbnQgPT0gbnVsbCA/IHZvaWQgMCA6IGNsaWVudC5vbihfX0RFVlRPT0xTX0tJVF9WSVRFX01FU1NBR0lOR19FVkVOVF9LRVksIChldmVudCkgPT4ge1xuICAgICAgICBoYW5kbGVyKFN1cGVySlNPTi5wYXJzZShldmVudCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvdml0ZS9zZXJ2ZXIudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5mdW5jdGlvbiBjcmVhdGVWaXRlU2VydmVyQ2hhbm5lbCgpIHtcbiAgdmFyIF9hMjU7XG4gIGNvbnN0IHZpdGVTZXJ2ZXIgPSBnZXRWaXRlU2VydmVyQ29udGV4dCgpO1xuICBjb25zdCB3cyA9IChfYTI1ID0gdml0ZVNlcnZlci5ob3QpICE9IG51bGwgPyBfYTI1IDogdml0ZVNlcnZlci53cztcbiAgcmV0dXJuIHtcbiAgICBwb3N0OiAoZGF0YSkgPT4gd3MgPT0gbnVsbCA/IHZvaWQgMCA6IHdzLnNlbmQoX19ERVZUT09MU19LSVRfVklURV9NRVNTQUdJTkdfRVZFTlRfS0VZLCBTdXBlckpTT04uc3RyaW5naWZ5KGRhdGEpKSxcbiAgICBvbjogKGhhbmRsZXIpID0+IHdzID09IG51bGwgPyB2b2lkIDAgOiB3cy5vbihfX0RFVlRPT0xTX0tJVF9WSVRFX01FU1NBR0lOR19FVkVOVF9LRVksIChldmVudCkgPT4ge1xuICAgICAgaGFuZGxlcihTdXBlckpTT04ucGFyc2UoZXZlbnQpKTtcbiAgICB9KVxuICB9O1xufVxuXG4vLyBzcmMvbWVzc2FnaW5nL3ByZXNldHMvd3MvaW5kZXgudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy93cy9jbGllbnQudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy93cy9jb250ZXh0LnRzXG5pbml0X2VzbV9zaGltcygpO1xuaW1wb3J0IHsgdGFyZ2V0IGFzIHRhcmdldDIwIH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvQHZ1ZS9kZXZ0b29scy1zaGFyZWQvZGlzdC9pbmRleC5qcz92PWU0ZjE4YzI5XCI7XG5cbi8vIHNyYy9tZXNzYWdpbmcvcHJlc2V0cy93cy9zZXJ2ZXIudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9tZXNzYWdpbmcvaW5kZXgudHNcbnZhciBfYTE5LCBfYjE5O1xuKF9iMTkgPSAoX2ExOSA9IHRhcmdldDIxKS5fX1ZVRV9ERVZUT09MU19LSVRfTUVTU0FHRV9DSEFOTkVMU19fKSAhPSBudWxsID8gX2IxOSA6IF9hMTkuX19WVUVfREVWVE9PTFNfS0lUX01FU1NBR0VfQ0hBTk5FTFNfXyA9IFtdO1xudmFyIF9hMjAsIF9iMjA7XG4oX2IyMCA9IChfYTIwID0gdGFyZ2V0MjEpLl9fVlVFX0RFVlRPT0xTX0tJVF9SUENfQ0xJRU5UX18pICE9IG51bGwgPyBfYjIwIDogX2EyMC5fX1ZVRV9ERVZUT09MU19LSVRfUlBDX0NMSUVOVF9fID0gbnVsbDtcbnZhciBfYTIxLCBfYjIxO1xuKF9iMjEgPSAoX2EyMSA9IHRhcmdldDIxKS5fX1ZVRV9ERVZUT09MU19LSVRfUlBDX1NFUlZFUl9fKSAhPSBudWxsID8gX2IyMSA6IF9hMjEuX19WVUVfREVWVE9PTFNfS0lUX1JQQ19TRVJWRVJfXyA9IG51bGw7XG52YXIgX2EyMiwgX2IyMjtcbihfYjIyID0gKF9hMjIgPSB0YXJnZXQyMSkuX19WVUVfREVWVE9PTFNfS0lUX1ZJVEVfUlBDX0NMSUVOVF9fKSAhPSBudWxsID8gX2IyMiA6IF9hMjIuX19WVUVfREVWVE9PTFNfS0lUX1ZJVEVfUlBDX0NMSUVOVF9fID0gbnVsbDtcbnZhciBfYTIzLCBfYjIzO1xuKF9iMjMgPSAoX2EyMyA9IHRhcmdldDIxKS5fX1ZVRV9ERVZUT09MU19LSVRfVklURV9SUENfU0VSVkVSX18pICE9IG51bGwgPyBfYjIzIDogX2EyMy5fX1ZVRV9ERVZUT09MU19LSVRfVklURV9SUENfU0VSVkVSX18gPSBudWxsO1xudmFyIF9hMjQsIF9iMjQ7XG4oX2IyNCA9IChfYTI0ID0gdGFyZ2V0MjEpLl9fVlVFX0RFVlRPT0xTX0tJVF9CUk9BRENBU1RfUlBDX1NFUlZFUl9fKSAhPSBudWxsID8gX2IyNCA6IF9hMjQuX19WVUVfREVWVE9PTFNfS0lUX0JST0FEQ0FTVF9SUENfU0VSVkVSX18gPSBudWxsO1xuZnVuY3Rpb24gc2V0UnBjQ2xpZW50VG9HbG9iYWwocnBjKSB7XG4gIHRhcmdldDIxLl9fVlVFX0RFVlRPT0xTX0tJVF9SUENfQ0xJRU5UX18gPSBycGM7XG59XG5mdW5jdGlvbiBzZXRScGNTZXJ2ZXJUb0dsb2JhbChycGMpIHtcbiAgdGFyZ2V0MjEuX19WVUVfREVWVE9PTFNfS0lUX1JQQ19TRVJWRVJfXyA9IHJwYztcbn1cbmZ1bmN0aW9uIGdldFJwY0NsaWVudCgpIHtcbiAgcmV0dXJuIHRhcmdldDIxLl9fVlVFX0RFVlRPT0xTX0tJVF9SUENfQ0xJRU5UX187XG59XG5mdW5jdGlvbiBnZXRScGNTZXJ2ZXIoKSB7XG4gIHJldHVybiB0YXJnZXQyMS5fX1ZVRV9ERVZUT09MU19LSVRfUlBDX1NFUlZFUl9fO1xufVxuZnVuY3Rpb24gc2V0Vml0ZVJwY0NsaWVudFRvR2xvYmFsKHJwYykge1xuICB0YXJnZXQyMS5fX1ZVRV9ERVZUT09MU19LSVRfVklURV9SUENfQ0xJRU5UX18gPSBycGM7XG59XG5mdW5jdGlvbiBzZXRWaXRlUnBjU2VydmVyVG9HbG9iYWwocnBjKSB7XG4gIHRhcmdldDIxLl9fVlVFX0RFVlRPT0xTX0tJVF9WSVRFX1JQQ19TRVJWRVJfXyA9IHJwYztcbn1cbmZ1bmN0aW9uIGdldFZpdGVScGNDbGllbnQoKSB7XG4gIHJldHVybiB0YXJnZXQyMS5fX1ZVRV9ERVZUT09MU19LSVRfVklURV9SUENfQ0xJRU5UX187XG59XG5mdW5jdGlvbiBnZXRWaXRlUnBjU2VydmVyKCkge1xuICByZXR1cm4gdGFyZ2V0MjEuX19WVUVfREVWVE9PTFNfS0lUX1ZJVEVfUlBDX1NFUlZFUl9fO1xufVxuZnVuY3Rpb24gZ2V0Q2hhbm5lbChwcmVzZXQsIGhvc3QgPSBcImNsaWVudFwiKSB7XG4gIGNvbnN0IGNoYW5uZWwgPSB7XG4gICAgaWZyYW1lOiB7XG4gICAgICBjbGllbnQ6IGNyZWF0ZUlmcmFtZUNsaWVudENoYW5uZWwsXG4gICAgICBzZXJ2ZXI6IGNyZWF0ZUlmcmFtZVNlcnZlckNoYW5uZWxcbiAgICB9W2hvc3RdLFxuICAgIGVsZWN0cm9uOiB7XG4gICAgICBjbGllbnQ6IGNyZWF0ZUVsZWN0cm9uQ2xpZW50Q2hhbm5lbCxcbiAgICAgIHByb3h5OiBjcmVhdGVFbGVjdHJvblByb3h5Q2hhbm5lbCxcbiAgICAgIHNlcnZlcjogY3JlYXRlRWxlY3Ryb25TZXJ2ZXJDaGFubmVsXG4gICAgfVtob3N0XSxcbiAgICB2aXRlOiB7XG4gICAgICBjbGllbnQ6IGNyZWF0ZVZpdGVDbGllbnRDaGFubmVsLFxuICAgICAgc2VydmVyOiBjcmVhdGVWaXRlU2VydmVyQ2hhbm5lbFxuICAgIH1baG9zdF0sXG4gICAgYnJvYWRjYXN0OiB7XG4gICAgICBjbGllbnQ6IGNyZWF0ZUJyb2FkY2FzdENoYW5uZWwsXG4gICAgICBzZXJ2ZXI6IGNyZWF0ZUJyb2FkY2FzdENoYW5uZWxcbiAgICB9W2hvc3RdLFxuICAgIGV4dGVuc2lvbjoge1xuICAgICAgY2xpZW50OiBjcmVhdGVFeHRlbnNpb25DbGllbnRDaGFubmVsLFxuICAgICAgcHJveHk6IGNyZWF0ZUV4dGVuc2lvblByb3h5Q2hhbm5lbCxcbiAgICAgIHNlcnZlcjogY3JlYXRlRXh0ZW5zaW9uU2VydmVyQ2hhbm5lbFxuICAgIH1baG9zdF1cbiAgfVtwcmVzZXRdO1xuICByZXR1cm4gY2hhbm5lbCgpO1xufVxuZnVuY3Rpb24gY3JlYXRlUnBjQ2xpZW50KGZ1bmN0aW9ucywgb3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHsgY2hhbm5lbDogX2NoYW5uZWwsIG9wdGlvbnM6IF9vcHRpb25zLCBwcmVzZXQgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGNoYW5uZWwgPSBwcmVzZXQgPyBnZXRDaGFubmVsKHByZXNldCkgOiBfY2hhbm5lbDtcbiAgY29uc3QgcnBjID0gY3JlYXRlQmlycGMoZnVuY3Rpb25zLCB7XG4gICAgLi4uX29wdGlvbnMsXG4gICAgLi4uY2hhbm5lbCxcbiAgICB0aW1lb3V0OiAtMVxuICB9KTtcbiAgaWYgKHByZXNldCA9PT0gXCJ2aXRlXCIpIHtcbiAgICBzZXRWaXRlUnBjQ2xpZW50VG9HbG9iYWwocnBjKTtcbiAgICByZXR1cm47XG4gIH1cbiAgc2V0UnBjQ2xpZW50VG9HbG9iYWwocnBjKTtcbiAgcmV0dXJuIHJwYztcbn1cbmZ1bmN0aW9uIGNyZWF0ZVJwY1NlcnZlcihmdW5jdGlvbnMsIG9wdGlvbnMgPSB7fSkge1xuICBjb25zdCB7IGNoYW5uZWw6IF9jaGFubmVsLCBvcHRpb25zOiBfb3B0aW9ucywgcHJlc2V0IH0gPSBvcHRpb25zO1xuICBjb25zdCBjaGFubmVsID0gcHJlc2V0ID8gZ2V0Q2hhbm5lbChwcmVzZXQsIFwic2VydmVyXCIpIDogX2NoYW5uZWw7XG4gIGNvbnN0IHJwY1NlcnZlciA9IGdldFJwY1NlcnZlcigpO1xuICBpZiAoIXJwY1NlcnZlcikge1xuICAgIGNvbnN0IGdyb3VwID0gY3JlYXRlQmlycGNHcm91cChmdW5jdGlvbnMsIFtjaGFubmVsXSwge1xuICAgICAgLi4uX29wdGlvbnMsXG4gICAgICB0aW1lb3V0OiAtMVxuICAgIH0pO1xuICAgIGlmIChwcmVzZXQgPT09IFwidml0ZVwiKSB7XG4gICAgICBzZXRWaXRlUnBjU2VydmVyVG9HbG9iYWwoZ3JvdXApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzZXRScGNTZXJ2ZXJUb0dsb2JhbChncm91cCk7XG4gIH0gZWxzZSB7XG4gICAgcnBjU2VydmVyLnVwZGF0ZUNoYW5uZWxzKChjaGFubmVscykgPT4ge1xuICAgICAgY2hhbm5lbHMucHVzaChjaGFubmVsKTtcbiAgICB9KTtcbiAgfVxufVxuZnVuY3Rpb24gY3JlYXRlUnBjUHJveHkob3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHsgY2hhbm5lbDogX2NoYW5uZWwsIG9wdGlvbnM6IF9vcHRpb25zLCBwcmVzZXQgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGNoYW5uZWwgPSBwcmVzZXQgPyBnZXRDaGFubmVsKHByZXNldCwgXCJwcm94eVwiKSA6IF9jaGFubmVsO1xuICByZXR1cm4gY3JlYXRlQmlycGMoe30sIHtcbiAgICAuLi5fb3B0aW9ucyxcbiAgICAuLi5jaGFubmVsLFxuICAgIHRpbWVvdXQ6IC0xXG4gIH0pO1xufVxuXG4vLyBzcmMvc2hhcmVkL2luZGV4LnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyBzcmMvc2hhcmVkL2Vudi50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL3NoYXJlZC90aW1lLnRzXG5pbml0X2VzbV9zaGltcygpO1xuXG4vLyBzcmMvc2hhcmVkL3V0aWwudHNcbmluaXRfZXNtX3NoaW1zKCk7XG5cbi8vIHNyYy9jb3JlL2NvbXBvbmVudC9zdGF0ZS9yZXBsYWNlci50c1xuaW5pdF9lc21fc2hpbXMoKTtcblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3N0YXRlL2N1c3RvbS50c1xuaW5pdF9lc21fc2hpbXMoKTtcbmZ1bmN0aW9uIGdldEZ1bmN0aW9uRGV0YWlscyhmdW5jKSB7XG4gIGxldCBzdHJpbmcgPSBcIlwiO1xuICBsZXQgbWF0Y2hlcyA9IG51bGw7XG4gIHRyeSB7XG4gICAgc3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZnVuYyk7XG4gICAgbWF0Y2hlcyA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2guY2FsbChzdHJpbmcsIC9cXChbXFxzXFxTXSo/XFwpLyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgfVxuICBjb25zdCBtYXRjaCA9IG1hdGNoZXMgJiYgbWF0Y2hlc1swXTtcbiAgY29uc3QgYXJncyA9IHR5cGVvZiBtYXRjaCA9PT0gXCJzdHJpbmdcIiA/IG1hdGNoIDogXCIoPylcIjtcbiAgY29uc3QgbmFtZSA9IHR5cGVvZiBmdW5jLm5hbWUgPT09IFwic3RyaW5nXCIgPyBmdW5jLm5hbWUgOiBcIlwiO1xuICByZXR1cm4ge1xuICAgIF9jdXN0b206IHtcbiAgICAgIHR5cGU6IFwiZnVuY3Rpb25cIixcbiAgICAgIGRpc3BsYXlUZXh0OiBgPHNwYW4gc3R5bGU9XCJvcGFjaXR5Oi44O21hcmdpbi1yaWdodDo1cHg7XCI+ZnVuY3Rpb248L3NwYW4+IDxzcGFuIHN0eWxlPVwid2hpdGUtc3BhY2U6bm93cmFwO1wiPiR7ZXNjYXBlKG5hbWUpfSR7YXJnc308L3NwYW4+YCxcbiAgICAgIHRvb2x0aXBUZXh0OiBzdHJpbmcudHJpbSgpID8gYDxwcmU+JHtzdHJpbmd9PC9wcmU+YCA6IG51bGxcbiAgICB9XG4gIH07XG59XG5mdW5jdGlvbiBnZXRCaWdJbnREZXRhaWxzKHZhbCkge1xuICBjb25zdCBzdHJpbmdpZmllZEJpZ0ludCA9IEJpZ0ludC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpO1xuICByZXR1cm4ge1xuICAgIF9jdXN0b206IHtcbiAgICAgIHR5cGU6IFwiYmlnaW50XCIsXG4gICAgICBkaXNwbGF5VGV4dDogYEJpZ0ludCgke3N0cmluZ2lmaWVkQmlnSW50fSlgLFxuICAgICAgdmFsdWU6IHN0cmluZ2lmaWVkQmlnSW50XG4gICAgfVxuICB9O1xufVxuZnVuY3Rpb24gZ2V0RGF0ZURldGFpbHModmFsKSB7XG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWwuZ2V0VGltZSgpKTtcbiAgZGF0ZS5zZXRNaW51dGVzKGRhdGUuZ2V0TWludXRlcygpIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpKTtcbiAgcmV0dXJuIHtcbiAgICBfY3VzdG9tOiB7XG4gICAgICB0eXBlOiBcImRhdGVcIixcbiAgICAgIGRpc3BsYXlUZXh0OiBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCksXG4gICAgICB2YWx1ZTogZGF0ZS50b0lTT1N0cmluZygpLnNsaWNlKDAsIC0xKVxuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIGdldE1hcERldGFpbHModmFsKSB7XG4gIGNvbnN0IGxpc3QgPSBPYmplY3QuZnJvbUVudHJpZXModmFsKTtcbiAgcmV0dXJuIHtcbiAgICBfY3VzdG9tOiB7XG4gICAgICB0eXBlOiBcIm1hcFwiLFxuICAgICAgZGlzcGxheVRleHQ6IFwiTWFwXCIsXG4gICAgICB2YWx1ZTogbGlzdCxcbiAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIGFic3RyYWN0OiB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuZnVuY3Rpb24gZ2V0U2V0RGV0YWlscyh2YWwpIHtcbiAgY29uc3QgbGlzdCA9IEFycmF5LmZyb20odmFsKTtcbiAgcmV0dXJuIHtcbiAgICBfY3VzdG9tOiB7XG4gICAgICB0eXBlOiBcInNldFwiLFxuICAgICAgZGlzcGxheVRleHQ6IGBTZXRbJHtsaXN0Lmxlbmd0aH1dYCxcbiAgICAgIHZhbHVlOiBsaXN0LFxuICAgICAgcmVhZE9ubHk6IHRydWVcbiAgICB9XG4gIH07XG59XG5mdW5jdGlvbiBnZXRDYXVnaHRHZXR0ZXJzKHN0b3JlKSB7XG4gIGNvbnN0IGdldHRlcnMgPSB7fTtcbiAgY29uc3Qgb3JpZ0dldHRlcnMgPSBzdG9yZS5nZXR0ZXJzIHx8IHt9O1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob3JpZ0dldHRlcnMpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBrZXkgPSBrZXlzW2ldO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShnZXR0ZXJzLCBrZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gb3JpZ0dldHRlcnNba2V5XTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHJldHVybiBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGdldHRlcnM7XG59XG5mdW5jdGlvbiByZWR1Y2VTdGF0ZUxpc3QobGlzdCkge1xuICBpZiAoIWxpc3QubGVuZ3RoKVxuICAgIHJldHVybiB2b2lkIDA7XG4gIHJldHVybiBsaXN0LnJlZHVjZSgobWFwLCBpdGVtKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gaXRlbS50eXBlIHx8IFwiZGF0YVwiO1xuICAgIGNvbnN0IG9iaiA9IG1hcFtrZXldID0gbWFwW2tleV0gfHwge307XG4gICAgb2JqW2l0ZW0ua2V5XSA9IGl0ZW0udmFsdWU7XG4gICAgcmV0dXJuIG1hcDtcbiAgfSwge30pO1xufVxuZnVuY3Rpb24gbmFtZWROb2RlTWFwVG9PYmplY3QobWFwKSB7XG4gIGNvbnN0IHJlc3VsdCA9IHt9O1xuICBjb25zdCBsID0gbWFwLmxlbmd0aDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICBjb25zdCBub2RlID0gbWFwLml0ZW0oaSk7XG4gICAgcmVzdWx0W25vZGUubmFtZV0gPSBub2RlLnZhbHVlO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBnZXRTdG9yZURldGFpbHMoc3RvcmUpIHtcbiAgcmV0dXJuIHtcbiAgICBfY3VzdG9tOiB7XG4gICAgICB0eXBlOiBcInN0b3JlXCIsXG4gICAgICBkaXNwbGF5VGV4dDogXCJTdG9yZVwiLFxuICAgICAgdmFsdWU6IHtcbiAgICAgICAgc3RhdGU6IHN0b3JlLnN0YXRlLFxuICAgICAgICBnZXR0ZXJzOiBnZXRDYXVnaHRHZXR0ZXJzKHN0b3JlKVxuICAgICAgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBhYnN0cmFjdDogdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFJvdXRlckRldGFpbHMocm91dGVyKSB7XG4gIHJldHVybiB7XG4gICAgX2N1c3RvbToge1xuICAgICAgdHlwZTogXCJyb3V0ZXJcIixcbiAgICAgIGRpc3BsYXlUZXh0OiBcIlZ1ZVJvdXRlclwiLFxuICAgICAgdmFsdWU6IHtcbiAgICAgICAgb3B0aW9uczogcm91dGVyLm9wdGlvbnMsXG4gICAgICAgIGN1cnJlbnRSb3V0ZTogcm91dGVyLmN1cnJlbnRSb3V0ZVxuICAgICAgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBhYnN0cmFjdDogdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIGdldEluc3RhbmNlRGV0YWlscyhpbnN0YW5jZSkge1xuICBpZiAoaW5zdGFuY2UuXylcbiAgICBpbnN0YW5jZSA9IGluc3RhbmNlLl87XG4gIGNvbnN0IHN0YXRlID0gcHJvY2Vzc0luc3RhbmNlU3RhdGUoaW5zdGFuY2UpO1xuICByZXR1cm4ge1xuICAgIF9jdXN0b206IHtcbiAgICAgIHR5cGU6IFwiY29tcG9uZW50XCIsXG4gICAgICBpZDogaW5zdGFuY2UuX19WVUVfREVWVE9PTFNfTkVYVF9VSURfXyxcbiAgICAgIGRpc3BsYXlUZXh0OiBnZXRJbnN0YW5jZU5hbWUoaW5zdGFuY2UpLFxuICAgICAgdG9vbHRpcFRleHQ6IFwiQ29tcG9uZW50IGluc3RhbmNlXCIsXG4gICAgICB2YWx1ZTogcmVkdWNlU3RhdGVMaXN0KHN0YXRlKSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBhYnN0cmFjdDogdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIGdldENvbXBvbmVudERlZmluaXRpb25EZXRhaWxzKGRlZmluaXRpb24pIHtcbiAgbGV0IGRpc3BsYXkgPSBnZXRDb21wb25lbnROYW1lKGRlZmluaXRpb24pO1xuICBpZiAoZGlzcGxheSkge1xuICAgIGlmIChkZWZpbml0aW9uLm5hbWUgJiYgZGVmaW5pdGlvbi5fX2ZpbGUpXG4gICAgICBkaXNwbGF5ICs9IGAgPHNwYW4+KCR7ZGVmaW5pdGlvbi5fX2ZpbGV9KTwvc3Bhbj5gO1xuICB9IGVsc2Uge1xuICAgIGRpc3BsYXkgPSBcIjxpPlVua25vd24gQ29tcG9uZW50PC9pPlwiO1xuICB9XG4gIHJldHVybiB7XG4gICAgX2N1c3RvbToge1xuICAgICAgdHlwZTogXCJjb21wb25lbnQtZGVmaW5pdGlvblwiLFxuICAgICAgZGlzcGxheVRleHQ6IGRpc3BsYXksXG4gICAgICB0b29sdGlwVGV4dDogXCJDb21wb25lbnQgZGVmaW5pdGlvblwiLFxuICAgICAgLi4uZGVmaW5pdGlvbi5fX2ZpbGUgPyB7XG4gICAgICAgIGZpbGU6IGRlZmluaXRpb24uX19maWxlXG4gICAgICB9IDoge31cbiAgICB9XG4gIH07XG59XG5mdW5jdGlvbiBnZXRIVE1MRWxlbWVudERldGFpbHModmFsdWUpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4ge1xuICAgICAgX2N1c3RvbToge1xuICAgICAgICB0eXBlOiBcIkhUTUxFbGVtZW50XCIsXG4gICAgICAgIGRpc3BsYXlUZXh0OiBgPHNwYW4gY2xhc3M9XCJvcGFjaXR5LTMwXCI+Jmx0Ozwvc3Bhbj48c3BhbiBjbGFzcz1cInRleHQtYmx1ZS01MDBcIj4ke3ZhbHVlLnRhZ05hbWUudG9Mb3dlckNhc2UoKX08L3NwYW4+PHNwYW4gY2xhc3M9XCJvcGFjaXR5LTMwXCI+Jmd0Ozwvc3Bhbj5gLFxuICAgICAgICB2YWx1ZTogbmFtZWROb2RlTWFwVG9PYmplY3QodmFsdWUuYXR0cmlidXRlcylcbiAgICAgIH1cbiAgICB9O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9jdXN0b206IHtcbiAgICAgICAgdHlwZTogXCJIVE1MRWxlbWVudFwiLFxuICAgICAgICBkaXNwbGF5VGV4dDogYDxzcGFuIGNsYXNzPVwidGV4dC1ibHVlLTUwMFwiPiR7U3RyaW5nKHZhbHVlKX08L3NwYW4+YFxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIHRyeUdldFJlZlZhbHVlKHJlZikge1xuICBpZiAoZW5zdXJlUHJvcGVydHlFeGlzdHMocmVmLCBcIl92YWx1ZVwiLCB0cnVlKSkge1xuICAgIHJldHVybiByZWYuX3ZhbHVlO1xuICB9XG4gIGlmIChlbnN1cmVQcm9wZXJ0eUV4aXN0cyhyZWYsIFwidmFsdWVcIiwgdHJ1ZSkpIHtcbiAgICByZXR1cm4gcmVmLnZhbHVlO1xuICB9XG59XG5mdW5jdGlvbiBnZXRPYmplY3REZXRhaWxzKG9iamVjdCkge1xuICB2YXIgX2EyNSwgX2IyNSwgX2MsIF9kO1xuICBjb25zdCBpbmZvID0gZ2V0U2V0dXBTdGF0ZVR5cGUob2JqZWN0KTtcbiAgY29uc3QgaXNTdGF0ZSA9IGluZm8ucmVmIHx8IGluZm8uY29tcHV0ZWQgfHwgaW5mby5yZWFjdGl2ZTtcbiAgaWYgKGlzU3RhdGUpIHtcbiAgICBjb25zdCBzdGF0ZVR5cGVOYW1lID0gaW5mby5jb21wdXRlZCA/IFwiQ29tcHV0ZWRcIiA6IGluZm8ucmVmID8gXCJSZWZcIiA6IGluZm8ucmVhY3RpdmUgPyBcIlJlYWN0aXZlXCIgOiBudWxsO1xuICAgIGNvbnN0IHZhbHVlID0gdG9SYXcyKGluZm8ucmVhY3RpdmUgPyBvYmplY3QgOiB0cnlHZXRSZWZWYWx1ZShvYmplY3QpKTtcbiAgICBjb25zdCByYXcgPSBlbnN1cmVQcm9wZXJ0eUV4aXN0cyhvYmplY3QsIFwiZWZmZWN0XCIpID8gKChfYjI1ID0gKF9hMjUgPSBvYmplY3QuZWZmZWN0KSA9PSBudWxsID8gdm9pZCAwIDogX2EyNS5yYXcpID09IG51bGwgPyB2b2lkIDAgOiBfYjI1LnRvU3RyaW5nKCkpIHx8ICgoX2QgPSAoX2MgPSBvYmplY3QuZWZmZWN0KSA9PSBudWxsID8gdm9pZCAwIDogX2MuZm4pID09IG51bGwgPyB2b2lkIDAgOiBfZC50b1N0cmluZygpKSA6IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9jdXN0b206IHtcbiAgICAgICAgdHlwZTogc3RhdGVUeXBlTmFtZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGVUeXBlTmFtZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICBzdGF0ZVR5cGVOYW1lLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgLi4ucmF3ID8geyB0b29sdGlwVGV4dDogYDxzcGFuIGNsYXNzPVwiZm9udC1tb25vXCI+JHtyYXd9PC9zcGFuPmAgfSA6IHt9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICBpZiAoZW5zdXJlUHJvcGVydHlFeGlzdHMob2JqZWN0LCBcIl9fYXN5bmNMb2FkZXJcIikgJiYgdHlwZW9mIG9iamVjdC5fX2FzeW5jTG9hZGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgX2N1c3RvbToge1xuICAgICAgICB0eXBlOiBcImNvbXBvbmVudC1kZWZpbml0aW9uXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiQXN5bmMgY29tcG9uZW50IGRlZmluaXRpb25cIlxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cblxuLy8gc3JjL2NvcmUvY29tcG9uZW50L3N0YXRlL3JlcGxhY2VyLnRzXG5mdW5jdGlvbiBzdHJpbmdpZnlSZXBsYWNlcihrZXksIF92YWx1ZSwgZGVwdGgsIHNlZW5JbnN0YW5jZSkge1xuICB2YXIgX2EyNTtcbiAgaWYgKGtleSA9PT0gXCJjb21waWxlck9wdGlvbnNcIilcbiAgICByZXR1cm47XG4gIGNvbnN0IHZhbCA9IHRoaXNba2V5XTtcbiAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWw7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICBjb25zdCBsID0gdmFsLmxlbmd0aDtcbiAgICBpZiAobCA+IE1BWF9BUlJBWV9TSVpFKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfaXNBcnJheTogdHJ1ZSxcbiAgICAgICAgbGVuZ3RoOiBsLFxuICAgICAgICBpdGVtczogdmFsLnNsaWNlKDAsIE1BWF9BUlJBWV9TSVpFKVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKHZhbC5sZW5ndGggPiBNQVhfU1RSSU5HX1NJWkUpXG4gICAgICByZXR1cm4gYCR7dmFsLnN1YnN0cmluZygwLCBNQVhfU1RSSU5HX1NJWkUpfS4uLiAoJHt2YWwubGVuZ3RofSB0b3RhbCBsZW5ndGgpYDtcbiAgICBlbHNlXG4gICAgICByZXR1cm4gdmFsO1xuICB9IGVsc2UgaWYgKHR5cGUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXR1cm4gVU5ERUZJTkVEO1xuICB9IGVsc2UgaWYgKHZhbCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7XG4gICAgcmV0dXJuIElORklOSVRZO1xuICB9IGVsc2UgaWYgKHZhbCA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7XG4gICAgcmV0dXJuIE5FR0FUSVZFX0lORklOSVRZO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBnZXRGdW5jdGlvbkRldGFpbHModmFsKTtcbiAgfSBlbHNlIGlmICh0eXBlID09PSBcInN5bWJvbFwiKSB7XG4gICAgcmV0dXJuIGBbbmF0aXZlIFN5bWJvbCAke1N5bWJvbC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpfV1gO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09IFwiYmlnaW50XCIpIHtcbiAgICByZXR1cm4gZ2V0QmlnSW50RGV0YWlscyh2YWwpO1xuICB9IGVsc2UgaWYgKHZhbCAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcHJvdG8gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKTtcbiAgICBpZiAocHJvdG8gPT09IFwiW29iamVjdCBNYXBdXCIpIHtcbiAgICAgIHJldHVybiBnZXRNYXBEZXRhaWxzKHZhbCk7XG4gICAgfSBlbHNlIGlmIChwcm90byA9PT0gXCJbb2JqZWN0IFNldF1cIikge1xuICAgICAgcmV0dXJuIGdldFNldERldGFpbHModmFsKTtcbiAgICB9IGVsc2UgaWYgKHByb3RvID09PSBcIltvYmplY3QgUmVnRXhwXVwiKSB7XG4gICAgICByZXR1cm4gYFtuYXRpdmUgUmVnRXhwICR7UmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCl9XWA7XG4gICAgfSBlbHNlIGlmIChwcm90byA9PT0gXCJbb2JqZWN0IERhdGVdXCIpIHtcbiAgICAgIHJldHVybiBnZXREYXRlRGV0YWlscyh2YWwpO1xuICAgIH0gZWxzZSBpZiAocHJvdG8gPT09IFwiW29iamVjdCBFcnJvcl1cIikge1xuICAgICAgcmV0dXJuIGBbbmF0aXZlIEVycm9yICR7dmFsLm1lc3NhZ2V9PD4ke3ZhbC5zdGFja31dYDtcbiAgICB9IGVsc2UgaWYgKGVuc3VyZVByb3BlcnR5RXhpc3RzKHZhbCwgXCJzdGF0ZVwiLCB0cnVlKSAmJiBlbnN1cmVQcm9wZXJ0eUV4aXN0cyh2YWwsIFwiX3ZtXCIsIHRydWUpKSB7XG4gICAgICByZXR1cm4gZ2V0U3RvcmVEZXRhaWxzKHZhbCk7XG4gICAgfSBlbHNlIGlmICh2YWwuY29uc3RydWN0b3IgJiYgdmFsLmNvbnN0cnVjdG9yLm5hbWUgPT09IFwiVnVlUm91dGVyXCIpIHtcbiAgICAgIHJldHVybiBnZXRSb3V0ZXJEZXRhaWxzKHZhbCk7XG4gICAgfSBlbHNlIGlmIChpc1Z1ZUluc3RhbmNlKHZhbCkpIHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFZhbCA9IGdldEluc3RhbmNlRGV0YWlscyh2YWwpO1xuICAgICAgY29uc3QgcGFyZW50SW5zdGFuY2VEZXB0aCA9IHNlZW5JbnN0YW5jZSA9PSBudWxsID8gdm9pZCAwIDogc2Vlbkluc3RhbmNlLmdldCh2YWwpO1xuICAgICAgaWYgKHBhcmVudEluc3RhbmNlRGVwdGggJiYgcGFyZW50SW5zdGFuY2VEZXB0aCA8IGRlcHRoKSB7XG4gICAgICAgIHJldHVybiBgW1tDaXJjdWxhclJlZl1dIDwke2NvbXBvbmVudFZhbC5fY3VzdG9tLmRpc3BsYXlUZXh0fT5gO1xuICAgICAgfVxuICAgICAgc2Vlbkluc3RhbmNlID09IG51bGwgPyB2b2lkIDAgOiBzZWVuSW5zdGFuY2Uuc2V0KHZhbCwgZGVwdGgpO1xuICAgICAgcmV0dXJuIGNvbXBvbmVudFZhbDtcbiAgICB9IGVsc2UgaWYgKGVuc3VyZVByb3BlcnR5RXhpc3RzKHZhbCwgXCJyZW5kZXJcIiwgdHJ1ZSkgJiYgdHlwZW9mIHZhbC5yZW5kZXIgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuIGdldENvbXBvbmVudERlZmluaXRpb25EZXRhaWxzKHZhbCk7XG4gICAgfSBlbHNlIGlmICh2YWwuY29uc3RydWN0b3IgJiYgdmFsLmNvbnN0cnVjdG9yLm5hbWUgPT09IFwiVk5vZGVcIikge1xuICAgICAgcmV0dXJuIGBbbmF0aXZlIFZOb2RlIDwke3ZhbC50YWd9Pl1gO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIEhUTUxFbGVtZW50ICE9PSBcInVuZGVmaW5lZFwiICYmIHZhbCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICByZXR1cm4gZ2V0SFRNTEVsZW1lbnREZXRhaWxzKHZhbCk7XG4gICAgfSBlbHNlIGlmICgoKF9hMjUgPSB2YWwuY29uc3RydWN0b3IpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1Lm5hbWUpID09PSBcIlN0b3JlXCIgJiYgXCJfd3JhcHBlZEdldHRlcnNcIiBpbiB2YWwpIHtcbiAgICAgIHJldHVybiBcIltvYmplY3QgU3RvcmVdXCI7XG4gICAgfSBlbHNlIGlmIChlbnN1cmVQcm9wZXJ0eUV4aXN0cyh2YWwsIFwiY3VycmVudFJvdXRlXCIsIHRydWUpKSB7XG4gICAgICByZXR1cm4gXCJbb2JqZWN0IFJvdXRlcl1cIjtcbiAgICB9XG4gICAgY29uc3QgY3VzdG9tRGV0YWlscyA9IGdldE9iamVjdERldGFpbHModmFsKTtcbiAgICBpZiAoY3VzdG9tRGV0YWlscyAhPSBudWxsKVxuICAgICAgcmV0dXJuIGN1c3RvbURldGFpbHM7XG4gIH0gZWxzZSBpZiAoTnVtYmVyLmlzTmFOKHZhbCkpIHtcbiAgICByZXR1cm4gTkFOO1xuICB9XG4gIHJldHVybiBzYW5pdGl6ZSh2YWwpO1xufVxuXG4vLyBzcmMvc2hhcmVkL3RyYW5zZmVyLnRzXG5pbml0X2VzbV9zaGltcygpO1xudmFyIE1BWF9TRVJJQUxJWkVEX1NJWkUgPSAyICogMTAyNCAqIDEwMjQ7XG5mdW5jdGlvbiBpc09iamVjdChfZGF0YSwgcHJvdG8pIHtcbiAgcmV0dXJuIHByb3RvID09PSBcIltvYmplY3QgT2JqZWN0XVwiO1xufVxuZnVuY3Rpb24gaXNBcnJheTMoX2RhdGEsIHByb3RvKSB7XG4gIHJldHVybiBwcm90byA9PT0gXCJbb2JqZWN0IEFycmF5XVwiO1xufVxuZnVuY3Rpb24gaXNWdWVSZWFjdGl2ZUxpbmtOb2RlKG5vZGUpIHtcbiAgdmFyIF9hMjU7XG4gIGNvbnN0IGNvbnN0cnVjdG9yTmFtZSA9IChfYTI1ID0gbm9kZSA9PSBudWxsID8gdm9pZCAwIDogbm9kZS5jb25zdHJ1Y3RvcikgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMjUubmFtZTtcbiAgcmV0dXJuIGNvbnN0cnVjdG9yTmFtZSA9PT0gXCJEZXBcIiAmJiBcImFjdGl2ZUxpbmtcIiBpbiBub2RlIHx8IGNvbnN0cnVjdG9yTmFtZSA9PT0gXCJMaW5rXCIgJiYgXCJkZXBcIiBpbiBub2RlO1xufVxuZnVuY3Rpb24gZW5jb2RlKGRhdGEsIHJlcGxhY2VyLCBsaXN0LCBzZWVuLCBkZXB0aCA9IDAsIHNlZW5WdWVJbnN0YW5jZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCkpIHtcbiAgbGV0IHN0b3JlZDtcbiAgbGV0IGtleTtcbiAgbGV0IHZhbHVlO1xuICBsZXQgaTtcbiAgbGV0IGw7XG4gIGNvbnN0IHNlZW5JbmRleCA9IHNlZW4uZ2V0KGRhdGEpO1xuICBpZiAoc2VlbkluZGV4ICE9IG51bGwpXG4gICAgcmV0dXJuIHNlZW5JbmRleDtcbiAgY29uc3QgaW5kZXggPSBsaXN0Lmxlbmd0aDtcbiAgY29uc3QgcHJvdG8gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZGF0YSk7XG4gIGlmIChpc09iamVjdChkYXRhLCBwcm90bykpIHtcbiAgICBpZiAoaXNWdWVSZWFjdGl2ZUxpbmtOb2RlKGRhdGEpKSB7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICAgIHN0b3JlZCA9IHt9O1xuICAgIHNlZW4uc2V0KGRhdGEsIGluZGV4KTtcbiAgICBsaXN0LnB1c2goc3RvcmVkKTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoZGF0YSk7XG4gICAgZm9yIChpID0gMCwgbCA9IGtleXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgaWYgKGtleSA9PT0gXCJjb21waWxlck9wdGlvbnNcIilcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgdmFsdWUgPSBkYXRhW2tleV07XG4gICAgICBjb25zdCBpc1ZtID0gdmFsdWUgIT0gbnVsbCAmJiBpc09iamVjdCh2YWx1ZSwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRhdGEpKSAmJiBpc1Z1ZUluc3RhbmNlKHZhbHVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChyZXBsYWNlcikge1xuICAgICAgICAgIHZhbHVlID0gcmVwbGFjZXIuY2FsbChkYXRhLCBrZXksIHZhbHVlLCBkZXB0aCwgc2VlblZ1ZUluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB2YWx1ZSA9IGU7XG4gICAgICB9XG4gICAgICBzdG9yZWRba2V5XSA9IGVuY29kZSh2YWx1ZSwgcmVwbGFjZXIsIGxpc3QsIHNlZW4sIGRlcHRoICsgMSwgc2VlblZ1ZUluc3RhbmNlKTtcbiAgICAgIGlmIChpc1ZtKSB7XG4gICAgICAgIHNlZW5WdWVJbnN0YW5jZS5kZWxldGUodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc0FycmF5MyhkYXRhLCBwcm90bykpIHtcbiAgICBzdG9yZWQgPSBbXTtcbiAgICBzZWVuLnNldChkYXRhLCBpbmRleCk7XG4gICAgbGlzdC5wdXNoKHN0b3JlZCk7XG4gICAgZm9yIChpID0gMCwgbCA9IGRhdGEubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB0cnkge1xuICAgICAgICB2YWx1ZSA9IGRhdGFbaV07XG4gICAgICAgIGlmIChyZXBsYWNlcilcbiAgICAgICAgICB2YWx1ZSA9IHJlcGxhY2VyLmNhbGwoZGF0YSwgaSwgdmFsdWUsIGRlcHRoLCBzZWVuVnVlSW5zdGFuY2UpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB2YWx1ZSA9IGU7XG4gICAgICB9XG4gICAgICBzdG9yZWRbaV0gPSBlbmNvZGUodmFsdWUsIHJlcGxhY2VyLCBsaXN0LCBzZWVuLCBkZXB0aCArIDEsIHNlZW5WdWVJbnN0YW5jZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxpc3QucHVzaChkYXRhKTtcbiAgfVxuICByZXR1cm4gaW5kZXg7XG59XG5mdW5jdGlvbiBkZWNvZGUobGlzdCwgcmV2aXZlcjIgPSBudWxsKSB7XG4gIGxldCBpID0gbGlzdC5sZW5ndGg7XG4gIGxldCBqLCBrLCBkYXRhLCBrZXksIHZhbHVlLCBwcm90bztcbiAgd2hpbGUgKGktLSkge1xuICAgIGRhdGEgPSBsaXN0W2ldO1xuICAgIHByb3RvID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRhdGEpO1xuICAgIGlmIChwcm90byA9PT0gXCJbb2JqZWN0IE9iamVjdF1cIikge1xuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGRhdGEpO1xuICAgICAgZm9yIChqID0gMCwgayA9IGtleXMubGVuZ3RoOyBqIDwgazsgaisrKSB7XG4gICAgICAgIGtleSA9IGtleXNbal07XG4gICAgICAgIHZhbHVlID0gbGlzdFtkYXRhW2tleV1dO1xuICAgICAgICBpZiAocmV2aXZlcjIpXG4gICAgICAgICAgdmFsdWUgPSByZXZpdmVyMi5jYWxsKGRhdGEsIGtleSwgdmFsdWUpO1xuICAgICAgICBkYXRhW2tleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb3RvID09PSBcIltvYmplY3QgQXJyYXldXCIpIHtcbiAgICAgIGZvciAoaiA9IDAsIGsgPSBkYXRhLmxlbmd0aDsgaiA8IGs7IGorKykge1xuICAgICAgICB2YWx1ZSA9IGxpc3RbZGF0YVtqXV07XG4gICAgICAgIGlmIChyZXZpdmVyMilcbiAgICAgICAgICB2YWx1ZSA9IHJldml2ZXIyLmNhbGwoZGF0YSwgaiwgdmFsdWUpO1xuICAgICAgICBkYXRhW2pdID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlDaXJjdWxhckF1dG9DaHVua3MoZGF0YSwgcmVwbGFjZXIgPSBudWxsLCBzcGFjZSA9IG51bGwpIHtcbiAgbGV0IHJlc3VsdDtcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gSlNPTi5zdHJpbmdpZnkoZGF0YSkgOiBKU09OLnN0cmluZ2lmeShkYXRhLCAoaywgdikgPT4ge1xuICAgICAgdmFyIF9hMjU7XG4gICAgICByZXR1cm4gKF9hMjUgPSByZXBsYWNlciA9PSBudWxsID8gdm9pZCAwIDogcmVwbGFjZXIoaywgdikpID09IG51bGwgPyB2b2lkIDAgOiBfYTI1LmNhbGwodGhpcyk7XG4gICAgfSwgc3BhY2UpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmVzdWx0ID0gc3RyaW5naWZ5U3RyaWN0Q2lyY3VsYXJBdXRvQ2h1bmtzKGRhdGEsIHJlcGxhY2VyLCBzcGFjZSk7XG4gIH1cbiAgaWYgKHJlc3VsdC5sZW5ndGggPiBNQVhfU0VSSUFMSVpFRF9TSVpFKSB7XG4gICAgY29uc3QgY2h1bmtDb3VudCA9IE1hdGguY2VpbChyZXN1bHQubGVuZ3RoIC8gTUFYX1NFUklBTElaRURfU0laRSk7XG4gICAgY29uc3QgY2h1bmtzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaHVua0NvdW50OyBpKyspXG4gICAgICBjaHVua3MucHVzaChyZXN1bHQuc2xpY2UoaSAqIE1BWF9TRVJJQUxJWkVEX1NJWkUsIChpICsgMSkgKiBNQVhfU0VSSUFMSVpFRF9TSVpFKSk7XG4gICAgcmV0dXJuIGNodW5rcztcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5U3RyaWN0Q2lyY3VsYXJBdXRvQ2h1bmtzKGRhdGEsIHJlcGxhY2VyID0gbnVsbCwgc3BhY2UgPSBudWxsKSB7XG4gIGNvbnN0IGxpc3QgPSBbXTtcbiAgZW5jb2RlKGRhdGEsIHJlcGxhY2VyLCBsaXN0LCAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpKTtcbiAgcmV0dXJuIHNwYWNlID8gYCAke0pTT04uc3RyaW5naWZ5KGxpc3QsIG51bGwsIHNwYWNlKX1gIDogYCAke0pTT04uc3RyaW5naWZ5KGxpc3QpfWA7XG59XG5mdW5jdGlvbiBwYXJzZUNpcmN1bGFyQXV0b0NodW5rcyhkYXRhLCByZXZpdmVyMiA9IG51bGwpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpXG4gICAgZGF0YSA9IGRhdGEuam9pbihcIlwiKTtcbiAgY29uc3QgaGFzQ2lyY3VsYXIgPSAvXlxccy8udGVzdChkYXRhKTtcbiAgaWYgKCFoYXNDaXJjdWxhcikge1xuICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gSlNPTi5wYXJzZShkYXRhKSA6IEpTT04ucGFyc2UoZGF0YSwgcmV2aXZlcjIpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGxpc3QgPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgIGRlY29kZShsaXN0LCByZXZpdmVyMik7XG4gICAgcmV0dXJuIGxpc3RbMF07XG4gIH1cbn1cblxuLy8gc3JjL3NoYXJlZC91dGlsLnRzXG5mdW5jdGlvbiBzdHJpbmdpZnkyKGRhdGEpIHtcbiAgcmV0dXJuIHN0cmluZ2lmeUNpcmN1bGFyQXV0b0NodW5rcyhkYXRhLCBzdHJpbmdpZnlSZXBsYWNlcik7XG59XG5mdW5jdGlvbiBwYXJzZTIoZGF0YSwgcmV2aXZlMiA9IGZhbHNlKSB7XG4gIGlmIChkYXRhID09IHZvaWQgMClcbiAgICByZXR1cm4ge307XG4gIHJldHVybiByZXZpdmUyID8gcGFyc2VDaXJjdWxhckF1dG9DaHVua3MoZGF0YSwgcmV2aXZlcikgOiBwYXJzZUNpcmN1bGFyQXV0b0NodW5rcyhkYXRhKTtcbn1cblxuLy8gc3JjL2luZGV4LnRzXG52YXIgZGV2dG9vbHMgPSB7XG4gIGhvb2ssXG4gIGluaXQ6ICgpID0+IHtcbiAgICBpbml0RGV2VG9vbHMoKTtcbiAgfSxcbiAgZ2V0IGN0eCgpIHtcbiAgICByZXR1cm4gZGV2dG9vbHNDb250ZXh0O1xuICB9LFxuICBnZXQgYXBpKCkge1xuICAgIHJldHVybiBkZXZ0b29sc0NvbnRleHQuYXBpO1xuICB9XG59O1xuZXhwb3J0IHtcbiAgRGV2VG9vbHNDb250ZXh0SG9va0tleXMsXG4gIERldlRvb2xzTWVzc2FnaW5nSG9va0tleXMsXG4gIERldlRvb2xzVjZQbHVnaW5BUElIb29rS2V5cyxcbiAgSU5GSU5JVFksXG4gIE5BTixcbiAgTkVHQVRJVkVfSU5GSU5JVFksXG4gIFJPVVRFUl9JTkZPX0tFWSxcbiAgUk9VVEVSX0tFWSxcbiAgVU5ERUZJTkVELFxuICBhY3RpdmVBcHBSZWNvcmQsXG4gIGFkZEN1c3RvbUNvbW1hbmQsXG4gIGFkZEN1c3RvbVRhYixcbiAgYWRkRGV2VG9vbHNBcHBSZWNvcmQsXG4gIGFkZERldlRvb2xzUGx1Z2luVG9CdWZmZXIsXG4gIGFkZEluc3BlY3RvcixcbiAgY2FsbENvbm5lY3RlZFVwZGF0ZWRIb29rLFxuICBjYWxsRGV2VG9vbHNQbHVnaW5TZXR1cEZuLFxuICBjYWxsSW5zcGVjdG9yVXBkYXRlZEhvb2ssXG4gIGNhbGxTdGF0ZVVwZGF0ZWRIb29rLFxuICBjcmVhdGVDb21wb25lbnRzRGV2VG9vbHNQbHVnaW4sXG4gIGNyZWF0ZURldlRvb2xzQXBpLFxuICBjcmVhdGVEZXZUb29sc0N0eEhvb2tzLFxuICBjcmVhdGVScGNDbGllbnQsXG4gIGNyZWF0ZVJwY1Byb3h5LFxuICBjcmVhdGVScGNTZXJ2ZXIsXG4gIGRldnRvb2xzLFxuICBkZXZ0b29sc0FwcFJlY29yZHMsXG4gIGRldnRvb2xzQ29udGV4dCxcbiAgZGV2dG9vbHNJbnNwZWN0b3IsXG4gIGRldnRvb2xzUGx1Z2luQnVmZmVyLFxuICBkZXZ0b29sc1JvdXRlcixcbiAgZGV2dG9vbHNSb3V0ZXJJbmZvLFxuICBkZXZ0b29sc1N0YXRlLFxuICBlc2NhcGUsXG4gIGZvcm1hdEluc3BlY3RvclN0YXRlVmFsdWUsXG4gIGdldEFjdGl2ZUluc3BlY3RvcnMsXG4gIGdldERldlRvb2xzRW52LFxuICBnZXRFeHRlbnNpb25DbGllbnRDb250ZXh0LFxuICBnZXRJbnNwZWN0b3IsXG4gIGdldEluc3BlY3RvckFjdGlvbnMsXG4gIGdldEluc3BlY3RvckluZm8sXG4gIGdldEluc3BlY3Rvck5vZGVBY3Rpb25zLFxuICBnZXRJbnNwZWN0b3JTdGF0ZVZhbHVlVHlwZSxcbiAgZ2V0UmF3LFxuICBnZXRScGNDbGllbnQsXG4gIGdldFJwY1NlcnZlcixcbiAgZ2V0Vml0ZVJwY0NsaWVudCxcbiAgZ2V0Vml0ZVJwY1NlcnZlcixcbiAgaW5pdERldlRvb2xzLFxuICBpc1BsYWluT2JqZWN0LFxuICBvbkRldlRvb2xzQ2xpZW50Q29ubmVjdGVkLFxuICBvbkRldlRvb2xzQ29ubmVjdGVkLFxuICBwYXJzZTIgYXMgcGFyc2UsXG4gIHJlZ2lzdGVyRGV2VG9vbHNQbHVnaW4sXG4gIHJlbW92ZUN1c3RvbUNvbW1hbmQsXG4gIHJlbW92ZURldlRvb2xzQXBwUmVjb3JkLFxuICByZW1vdmVSZWdpc3RlcmVkUGx1Z2luQXBwLFxuICByZXNldERldlRvb2xzU3RhdGUsXG4gIHNldEFjdGl2ZUFwcFJlY29yZCxcbiAgc2V0QWN0aXZlQXBwUmVjb3JkSWQsXG4gIHNldERldlRvb2xzRW52LFxuICBzZXRFbGVjdHJvbkNsaWVudENvbnRleHQsXG4gIHNldEVsZWN0cm9uUHJveHlDb250ZXh0LFxuICBzZXRFbGVjdHJvblNlcnZlckNvbnRleHQsXG4gIHNldEV4dGVuc2lvbkNsaWVudENvbnRleHQsXG4gIHNldElmcmFtZVNlcnZlckNvbnRleHQsXG4gIHNldE9wZW5JbkVkaXRvckJhc2VVcmwsXG4gIHNldFJwY1NlcnZlclRvR2xvYmFsLFxuICBzZXRWaXRlQ2xpZW50Q29udGV4dCxcbiAgc2V0Vml0ZVJwY0NsaWVudFRvR2xvYmFsLFxuICBzZXRWaXRlUnBjU2VydmVyVG9HbG9iYWwsXG4gIHNldFZpdGVTZXJ2ZXJDb250ZXh0LFxuICBzZXR1cERldlRvb2xzUGx1Z2luLFxuICBzdHJpbmdpZnkyIGFzIHN0cmluZ2lmeSxcbiAgdG9FZGl0LFxuICB0b1N1Ym1pdCxcbiAgdG9nZ2xlQ2xpZW50Q29ubmVjdGVkLFxuICB0b2dnbGVDb21wb25lbnRJbnNwZWN0b3JFbmFibGVkLFxuICB0b2dnbGVIaWdoUGVyZk1vZGUsXG4gIHVwZGF0ZURldlRvb2xzQ2xpZW50RGV0ZWN0ZWQsXG4gIHVwZGF0ZURldlRvb2xzU3RhdGUsXG4gIHVwZGF0ZVRpbWVsaW5lTGF5ZXJzU3RhdGVcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU07QUFDNUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWM7QUFDckMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsd0JBQXdCO0FBQ3RELEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtBQUNsRCxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYztBQUN4QyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWM7QUFDbEQsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7QUFDckUsQ0FBQztBQUNELEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTztBQUNwRyxDQUFDO0FBQ0QsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUMxSCxDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDWCxDQUFDO0FBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7QUFDcEgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ2xFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhO0FBQ3RFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFL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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7QUFDckQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSTtBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztBQUNwRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRTtBQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ25ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxrQkFBa0I7QUFDaEgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUNqRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDckQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDdkYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRTtBQUNuSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDNUgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNuSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0FBQ2pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7QUFDM0csQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7QUFDMUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7QUFDMUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7QUFDbEgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQ2pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDN0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDckcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0FBQ3ZELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVTtBQUM5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU87QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVTtBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDOztBQUVGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7QUFDOUUsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFDRixDQUFDLENBQUM7O0FBRUYsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztBQUNiLGNBQWMsQ0FBQyxDQUFDOztBQUVoQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztBQUNsQixjQUFjLENBQUMsQ0FBQztBQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDOztBQUVqSCxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUNwQixjQUFjLENBQUMsQ0FBQztBQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUMxRixRQUFRLENBQUMsa0NBQWtDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDVixDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUs7QUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSjs7QUFFQSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztBQUNqQixjQUFjLENBQUMsQ0FBQztBQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDOztBQUV0RyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztBQUNmLGNBQWMsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7O0FBRXJHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7QUFDeEMsY0FBYyxDQUFDLENBQUM7O0FBRWhCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0FBQzFDLGNBQWMsQ0FBQyxDQUFDOztBQUVoQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQ2xDLGNBQWMsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ3RHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7QUFDVixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtBQUN4SCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25HLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtBQUNiO0FBQ0EsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtBQUM3QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0M7QUFDQSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYTtBQUMzRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7QUFDZixDQUFDLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztBQUN0QztBQUNBLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUM3RCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7QUFDYjtBQUNBLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQ0FBZ0M7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGdDQUFnQztBQUNwRCxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGdDQUFnQztBQUNuRTtBQUNBLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87QUFDeEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLHlCQUF5QjtBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHlCQUF5QjtBQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7QUFDdEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUM7QUFDRjtBQUNBLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJO0FBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7QUFDNUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7QUFDMUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7QUFDbkgsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLO0FBQ2Q7QUFDQSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVc7QUFDM0Q7QUFDQSxRQUFRLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtBQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEYsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUk7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO0FBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtBQUM5RCxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNqQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdkgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7QUFDNUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNuRCxDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNqRixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0FBQzNGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDbkQsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUTtBQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUM5QjtBQUNBLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7QUFDcEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pNLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUc7QUFDckcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakM7QUFDQSxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7QUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFD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SztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDdEM7QUFDQSxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUTtBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO0FBQ2YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQXFCO0FBQ3ZELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO0FBQ2I7QUFDQSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMs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LENBQUM7QUFDM0Q7QUFDQSxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO0FBQ3ZELENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxD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QUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUc7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTTtBQUNqQixDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RixDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDdEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUc7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsQ0FBQztBQUNELEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLHFCQUFxQjtBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSTtBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSztBQUM3QixDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxR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QUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU87QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSTtBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMs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QUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUI7QUFDaEosQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO0FBQ3RFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNo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LENBQUMsQ0FBQyxJQUFJO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtBQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUNELFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQ0FBZ0M7QUFDdEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDVixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcs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Q0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUN4RixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQzVELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU87QUFDckcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDbEosQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZGLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztBQUNwQztBQUNBLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDO0FBQzlDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFD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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDdEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztBQUNoRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSTtBQUM5SixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLG1CQUFtQjtBQUNyTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7QUFDN0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDbkcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUI7QUFDbEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUN2RyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUI7QUFDbEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUN2RyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsbUJBQW1CO0FBQzlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9GLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsbUJBQW1CO0FBQ2pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJ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QUFDO0FBQzdFO0FBQ0EsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDakIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7QUFDL0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUN4RTtBQUNBLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FB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R0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3SixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0w7QUFDQSxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDckcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUN0RyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSztBQUM5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTTtBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ25WLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO0FBQ3BFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQ2pRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN4RCxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0o7QUFDQSxRQUFRLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVO0FBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDdEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUs7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUMvRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixD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LENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVc7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSTtBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTztBQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWTtBQUNqTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTDtBQUNBLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0EsUUFBUSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSTtBQUNoQixDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLO0FBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0SSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztBQUMxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDckYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0FBQzdFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUMv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QyxNQUFNLENBQUMsYUFBYSxDQUFDO0FBQy9GLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUc7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU87QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVc7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQ3JILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDcEgsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDO0FBQ2xGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUk7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsb0NBQW9DLENBQUMsUUFBUSxDQUFDO0FBQ3ZFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTTtBQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsb0NBQW9DLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNqRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVc7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVE7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUTtBQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUc7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVE7QUFDbkIsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRO0FBQ25ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLO0FBQ3JELENBQUMsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3ZILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztBQUMvSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7QUFDMUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDdEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUs7QUFDM0QsQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ3JHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTTtBQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUgsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVE7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ2hHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0FBQ3JHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDOUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2xGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFD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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVE7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYTtBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSTtBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FB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QUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsMEJBQTBCO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsdUJBQXVCO0FBQ3ZILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN2RCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsdUJBQXVCO0FBQ3ZILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0o7O0FBRUEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO0FBQ3JCLGNBQWMsQ0FBQyxDQUFDO0FBQ2hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQ2hCLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pCLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ1YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDcEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUNWLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtBQUM3QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtBQUM5QyxDQUFDLENBQUM7QUFDRjs7QUFFQSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDOUIsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDL0IsUUFBUSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVk7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWTtBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVU7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQ3hGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU07QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO0FBQ25ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUc7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztBQUN0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUTtBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztBQUNwRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLG1CQUFtQjtBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJO0FBQ2xLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSTtBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztBQUNoRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztBQUN0RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVc7QUFDckUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7QUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLG1CQUFtQjtBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJO0FBQ2xLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSTtBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztBQUNoRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztBQUN0RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVc7QUFDckUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtBQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsbUJBQW1CO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUk7QUFDbEssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7QUFDaEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDZCxDQUFDLENBQUMs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QyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakk7QUFDQSxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU07QUFDbkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0o7QUFDQSxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDOUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU87QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxD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LENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUc7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7QUFDNUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVM7QUFDcEc7QUFDQSxRQUFRLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUM7QUFDcEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFDRjtBQUNBLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUM7QUFDbEQsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUM5QixDQUFDLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQzlDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUNYO0FBQ0EsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7QUFDaEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztBQUM5QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFL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QUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDL0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7QUFDcEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FB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QUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDcEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNoSixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQ0FBZ0MsQ0FBQztBQUN0SCxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUNqRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUMxTixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVOLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8s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LENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQy9ELENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRztBQUNkLENBQUMsQ0FBQztBQUNGO0FBQ0EsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDdEI7O0FBRUEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUNuQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7QUFDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVILENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNqRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFN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LENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1TCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztBQUNyTixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLO0FBQ2Q7QUFDQSxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakY7QUFDQSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtBQUNwQixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVU7QUFDaEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDakUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLO0FBQzNFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7QUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzTCxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlGLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO0FBQzdELENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVE7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLO0FBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3ZDO0FBQ0EsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztBQUNoQixDQUFDLENBQUMs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TSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2Y7QUFDQSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkU7QUFDQSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQztBQUNBLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNmOztBQUVBLENBQUMsQ0FB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S0FBSztBQUNoQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztBQUNoQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtBQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTO0FBQzVELENBQUM7QUFDRCxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUNqRCxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN2RCxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUMxRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN6RCxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTTtBQUNyRCxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRztBQUMvQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRztBQUMvQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ3pELEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDOUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUs7QUFDbkQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQzNFLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0FBQzVKLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ3ZELEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtBQUMzRSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO0FBQzdGLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFD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LElBQUk7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLG9CQUFvQjtBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQztBQUNILENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFD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QUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQUNGO0FBQ0EsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztBQUNwQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVE7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTTtBQUNmLENBQUM7QUFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUN6QixDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTtBQUNyQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVE7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztB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LE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLEVBQUUsQ0FB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LENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7QUFDbEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVM7QUFDMUY7QUFDQSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckM7QUFDQSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNqRztBQUNBLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENB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QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDaEwsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSTtBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENB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QUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7QUFDekYsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7QUFDakYsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7QUFDakcsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7QUFDbkcsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7QUFDbkcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7QUFDckcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVM7QUFDbkMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVc7QUFDdkMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVM7QUFDbkMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUs7QUFDM0IsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWE7QUFDM0MsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWM7QUFDN0MsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWM7QUFDN0MsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWU7O0FBRS9DLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBQ25ELGNBQWMsQ0FBQyxDQUFDO0FBQ2hCLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQzs7QUFFbkcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDakQsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUNqRSxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7QUFDOUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLDRDQUE0QztBQUMzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUNIOztBQUVBLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDeEMsY0FBYyxDQUFDLENBQUM7O0FBRWhCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFDekMsY0FBYyxDQUFDLENBQUM7O0FBRWhCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7QUFDMUMsY0FBYyxDQUFDLENBQUM7QUFDaEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUN0RyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDM0QsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ3pELEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUMzRCxHQUFHLENBQUMsNkNBQTZDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUs7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUM7QUFDRCxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDO0FBQzlDO0FBQ0EsUUFBUSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUNqRDtBQUNBLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUM7QUFDN0M7QUFDQSxRQUFRLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO0FBQ2hEO0FBQ0EsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQztBQUM5QztBQUNBLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87QUFDakQ7O0FBRUEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztBQUN6QyxRQUFRLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2Q0FBNkMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLDZDQUE2QyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUNIOztBQUVBLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDeEMsY0FBYyxDQUFDLENBQUM7QUFDaEIsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLDZDQUE2QyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNsRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLDZDQUE2QyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNsRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFDSDs7QUFFQSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0FBQ3pDLGNBQWMsQ0FBQyxDQUFDO0FBQ2hCLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0csQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsNkNBQTZDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0g7O0FBRUEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztBQUN6QyxjQUFjLENBQUMsQ0FBQzs7QUFFaEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztBQUMxQyxjQUFjLENBQUMsQ0FBQzs7QUFFaEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztBQUMzQyxjQUFjLENBQUMsQ0FBQztBQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ3RHLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUM1RCxHQUFHLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUs7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUM7QUFDRCxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDO0FBQy9DO0FBQ0EsUUFBUSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUNsRDs7QUFFQSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0FBQzFDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDMUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDakIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDM0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUM3QixDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztBQUN2RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDO0FBQzFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDO0FBQy9FLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07QUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztBQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFDSDs7QUFFQSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0FBQ3pDLGNBQWMsQ0FBQyxDQUFDO0FBQ2hCLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsOENBQThDLENBQUMsZUFBZTtBQUM1RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsOENBQThDLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDcEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztBQUNsRCxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztBQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDO0FBQ3RFLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVE7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFDSDs7QUFFQSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0FBQzFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2hCLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyw4Q0FBOEMsQ0FBQyxlQUFlO0FBQzlFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUk7QUFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhDQUE4QyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3hILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUN2RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0g7O0FBRUEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUN0QyxjQUFjLENBQUMsQ0FBQzs7QUFFaEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUN2QyxjQUFjLENBQUMsQ0FBQztBQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDOztBQUUzRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0FBQ3hDLGNBQWMsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDdEcsR0FBRyxDQUFDLHlDQUF5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQzdGLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUN2RCxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDO0FBQzVDO0FBQ0EsUUFBUSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUMvQzs7QUFFQSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQ3ZDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0FBQ2xFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLHlDQUF5QztBQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUMxRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0g7O0FBRUEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUN2QyxjQUFjLENBQUMsQ0FBQztBQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQzNHLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSTtBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUN0SCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMseUNBQXlDO0FBQ3hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDL0MsQ0FBQyxD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QUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUNIOztBQUVBLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7QUFDbEMsY0FBYyxDQUFDLENBQUM7O0FBRWhCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7QUFDbkMsY0FBYyxDQUFDLENBQUM7O0FBRWhCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7QUFDcEMsY0FBYyxDQUFDLENBQUM7QUFDaEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQzs7QUFFdEcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUNuQyxjQUFjLENBQUMsQ0FBQzs7QUFFaEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7QUFDdkIsR0FB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUk7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNaLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU87QUFDaEI7QUFDQSxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUc7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUjtBQUNBLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTTtBQUN0QixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLO0FBQ2xDLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTTtBQUNmO0FBQ0EsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDOUIsQ0FBQyxD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QUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDM0csQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUk7QUFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUc7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZTtBQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbkYsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVE7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDckQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDeEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFDdkYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWTtBQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzlGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWE7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUc7QUFDZCxDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7QUFDdEI7O0FBRUEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUFDdkIsY0FBYyxDQUFDLENBQUM7QUFDaEIsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTtBQUN6QyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwQztBQUNBLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DO0FBQ0EsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSTtBQUNWLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7QUFDeEcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUk7QUFDekc7QUFDQSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTTtBQUNaLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRztBQUNULENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSztBQUNYLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUztBQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07QUFDM0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDcEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0FBQ2pILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUM7QUFDekUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztBQUNuRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUTtBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztBQUNqRixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztBQUNkO0FBQ0EsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtBQUNyQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUs7QUFDbkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVE7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ2pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUNGO0FBQ0EsUUFBUSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMxRSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU07QUFDWixDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSTtBQUNkLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUNuRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztBQUNyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFD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 |